mirror of
https://github.com/freebsd/freebsd-src.git
synced 2024-12-04 05:58:57 +00:00
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:
parent
e2fad09954
commit
6d7a71ba59
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=32383
@ -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. */
|
||||
|
Loading…
Reference in New Issue
Block a user