From f2a59297e3f0c47415d108a8c19842ff79ffd3fd Mon Sep 17 00:00:00 2001 From: mycroft Date: Tue, 24 Nov 1998 18:13:19 +0000 Subject: [PATCH] Also avoid frobbing the EXT bit. --- gnu/usr.bin/gas/config/obj-aout.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/gnu/usr.bin/gas/config/obj-aout.c b/gnu/usr.bin/gas/config/obj-aout.c index d67442b3d1e8..f87a7e7b6e57 100644 --- a/gnu/usr.bin/gas/config/obj-aout.c +++ b/gnu/usr.bin/gas/config/obj-aout.c @@ -472,18 +472,19 @@ object_headers *headers; if (symbolP->sy_symbol.n_type != N_SETA && symbolP->sy_symbol.n_type != N_SETT && symbolP->sy_symbol.n_type != N_SETD && - symbolP->sy_symbol.n_type != N_SETB) + symbolP->sy_symbol.n_type != N_SETB) { S_SET_SEGMENT(symbolP, S_GET_SEGMENT(symbolP->sy_forward)); + if (S_IS_EXTERNAL(symbolP->sy_forward) + && !S_IS_DEBUG(symbolP)) + S_SET_EXTERNAL(symbolP); + } S_SET_VALUE(symbolP, S_GET_VALUE(symbolP) + S_GET_VALUE(symbolP->sy_forward) + symbolP->sy_forward->sy_frag->fr_address); symbolP->sy_aux |= symbolP->sy_forward->sy_aux; symbolP->sy_sizexp = symbolP->sy_forward->sy_sizexp; - if (S_IS_EXTERNAL(symbolP->sy_forward) - && !S_IS_DEBUG(symbolP)) - S_SET_EXTERNAL(symbolP); } /* if it has a forward reference */ symbolP->sy_forward=0; } /* walk the symbol chain */