From 2c5c299f93769794343d9dc535a3d73a2c3cdb58 Mon Sep 17 00:00:00 2001 From: Ian Lance Taylor Date: Wed, 21 Jul 1993 19:26:20 +0000 Subject: [PATCH] * config/obj-aout.c: Include aout/aout64.h. (obj_aout_frob_symbol): Set BSF_DEBUGGING for a constructor symbol, so that BFD doesn't tamper with the type. --- gas/ChangeLog | 4 ++++ gas/config/obj-aout.c | 17 +++++++++++++++-- 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/gas/ChangeLog b/gas/ChangeLog index 5d911f70fb5..e90abb12219 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,5 +1,9 @@ Wed Jul 21 12:47:51 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + * config/obj-aout.c: Include aout/aout64.h. + (obj_aout_frob_symbol): Set BSF_DEBUGGING for a constructor + symbol, so that BFD doesn't tamper with the type. + * read.c (read_a_source_file): If NO_PSEUDO_DOT is defined, look up opcodes as pseudo-ops even if they don't start with '.'. * config/tc-m88k.h (NO_PSEUDO_DOT): Define. diff --git a/gas/config/obj-aout.c b/gas/config/obj-aout.c index 9b293fc2aa6..b43826fc015 100644 --- a/gas/config/obj-aout.c +++ b/gas/config/obj-aout.c @@ -19,6 +19,7 @@ to the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ #include "as.h" #include "aout/stab_gnu.h" +#include "aout/aout64.h" #include "obstack.h" #ifndef BFD_ASSEMBLER @@ -114,13 +115,25 @@ obj_aout_frob_symbol (sym, punt) sec = sym->bsym->section; /* Only frob simple symbols this way right now. */ - if (! (type & ~0x1f)) + if (! (type & ~ (N_TYPE | N_EXT))) { if (sec == &bfd_abs_section || sec == &bfd_und_section) return; if (flags & BSF_EXPORT) - type |= 1; + type |= N_EXT; + + /* Set the debugging flag for constructor symbols so that BFD + leaves them alone. */ + switch (type & N_TYPE) + { + case N_SETA: + case N_SETT: + case N_SETD: + case N_SETB: + sym->bsym->flags |= BSF_DEBUGGING; + break; + } } else { -- 2.30.2