Make the ".set" directive copy the aux field when the expression

reduces to a relocatable symbol plus an offset.  This preserves
the symbol type information (function vs. object).  It is important
for SVR4-style weak symbols, e.g., "#pragma weak foo=bar".  Without
this change, the linker complains that the jmpslot entry is not a
function.
This commit is contained in:
John Polstra 1998-01-10 05:36:35 +00:00
parent e2fad09954
commit 6d7a71ba59
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=32383

View File

@ -19,7 +19,7 @@
the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
#ifndef lint
static char rcsid[] = "$Id: read.c,v 1.10 1997/03/29 02:16:44 jdp Exp $";
static char rcsid[] = "$Id: read.c,v 1.11 1997/04/29 02:11:48 jdp Exp $";
#endif
#define MASK_CHAR (0xFF) /* If your chars aren't 8 bits, you will
@ -1446,6 +1446,7 @@ symbolS * symbolP;
S_SET_VALUE(symbolP, exp.X_add_number + S_GET_VALUE(exp.X_add_symbol));
symbolP->sy_frag = exp.X_add_symbol->sy_frag;
symbolP->sy_aux = exp.X_add_symbol->sy_aux;
break;
case SEG_PASS1: /* Not an error. Just try another pass. */