aboutsummaryrefslogtreecommitdiff
path: root/gas/config
diff options
context:
space:
mode:
authorIan Lance Taylor <ian@airs.com>1993-07-21 19:26:20 +0000
committerIan Lance Taylor <ian@airs.com>1993-07-21 19:26:20 +0000
commit2c5c299f93769794343d9dc535a3d73a2c3cdb58 (patch)
tree7a5eb942017fd7de6f3756d0d37119f7aa0eb374 /gas/config
parent6702e216f0f2efe2936cb5b0fbe4b18d9cae80d0 (diff)
downloadfsf-binutils-gdb-2c5c299f93769794343d9dc535a3d73a2c3cdb58.zip
fsf-binutils-gdb-2c5c299f93769794343d9dc535a3d73a2c3cdb58.tar.gz
fsf-binutils-gdb-2c5c299f93769794343d9dc535a3d73a2c3cdb58.tar.bz2
* 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.
Diffstat (limited to 'gas/config')
-rw-r--r--gas/config/obj-aout.c17
1 files changed, 15 insertions, 2 deletions
diff --git a/gas/config/obj-aout.c b/gas/config/obj-aout.c
index 9b293fc..b43826f 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
{