diff options
author | Jan Beulich <jbeulich@novell.com> | 2005-10-27 07:40:07 +0000 |
---|---|---|
committer | Jan Beulich <jbeulich@novell.com> | 2005-10-27 07:40:07 +0000 |
commit | 6a2b6326c21eb3e45d366676e81935ad660a7101 (patch) | |
tree | e4b9e2834db9605456d62788952e5b4efbd194ba /gas/config | |
parent | 95560129db4891eb3341c02aedb2087e99176a76 (diff) | |
download | gdb-6a2b6326c21eb3e45d366676e81935ad660a7101.zip gdb-6a2b6326c21eb3e45d366676e81935ad660a7101.tar.gz gdb-6a2b6326c21eb3e45d366676e81935ad660a7101.tar.bz2 |
gas/
2005-10-27 Jan Beulich <jbeulich@novell.com>
* read.c (assign_symbol): Also consider equates already defined.
* symbols.c (symbol_clone): Also clone the underlying BFD symbol.
* config/obj-coff.h (obj_symbol_clone_hook): New.
(coff_obj_symbol_clone_hook): Declare.
* config/obj-coff.c (coff_obj_symbol_clone_hook): New.
gas/testsuite/
2005-10-27 Jan Beulich <jbeulich@novell.com>
* gas/all/gas.exp: Don't xfail equiv1 test anymore.
Diffstat (limited to 'gas/config')
-rw-r--r-- | gas/config/obj-coff.c | 12 | ||||
-rw-r--r-- | gas/config/obj-coff.h | 2 |
2 files changed, 14 insertions, 0 deletions
diff --git a/gas/config/obj-coff.c b/gas/config/obj-coff.c index f1446c0..ce4d6f5 100644 --- a/gas/config/obj-coff.c +++ b/gas/config/obj-coff.c @@ -329,6 +329,18 @@ coff_obj_symbol_new_hook (symbolS *symbolP) SF_SET_LOCAL (symbolP); } +void +coff_obj_symbol_clone_hook (symbolS *newsymP, symbolS *orgsymP) +{ + long sz = (OBJ_COFF_MAX_AUXENTRIES + 1) * sizeof (combined_entry_type); + combined_entry_type * s = xmalloc (sz); + + memcpy (s, coffsymbol (symbol_get_bfdsym (orgsymP))->native, sz); + coffsymbol (symbol_get_bfdsym (newsymP))->native = s; + + SF_SET (newsymP, SF_GET (orgsymP)); +} + /* Handle .ln directives. */ diff --git a/gas/config/obj-coff.h b/gas/config/obj-coff.h index 4c7c68d..6fcbc9f 100644 --- a/gas/config/obj-coff.h +++ b/gas/config/obj-coff.h @@ -172,6 +172,7 @@ #endif #define obj_symbol_new_hook coff_obj_symbol_new_hook +#define obj_symbol_clone_hook coff_obj_symbol_clone_hook #define obj_read_begin_hook coff_obj_read_begin_hook #include "bfd/libcoff.h" @@ -391,6 +392,7 @@ extern void coff_frob_section (segT); extern void coff_adjust_section_syms (bfd *, asection *, void *); extern void coff_frob_file_after_relocs (void); extern void coff_obj_symbol_new_hook (symbolS *); +extern void coff_obj_symbol_clone_hook (symbolS *, symbolS *); extern void coff_obj_read_begin_hook (void); #ifdef TE_PE extern void pecoff_obj_set_weak_hook (symbolS *); |