diff options
author | Alan Modra <amodra@gmail.com> | 2007-03-08 11:28:35 +0000 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2007-03-08 11:28:35 +0000 |
commit | d4c87fc14d74d58db4902893c0e717ea9deffaef (patch) | |
tree | 0e9fec22e2f8a9f26b728053e9c1bc89a2541f68 /bfd | |
parent | 1620f33de1ac5f1ee4abf14b87c49e45b5bf097f (diff) | |
download | gdb-d4c87fc14d74d58db4902893c0e717ea9deffaef.zip gdb-d4c87fc14d74d58db4902893c0e717ea9deffaef.tar.gz gdb-d4c87fc14d74d58db4902893c0e717ea9deffaef.tar.bz2 |
include/elf/
* v850.h (V850_OTHER_TDA_BYTE): Delete.
(V850_OTHER_SDA, V850_OTHER_ZDA, V850_OTHER_TDA): Assign bits
that don't clash with visibility bits.
bfd/
* elf32-v850.c (v850_elf_link_output_symbol_hook): Clean out
V850_OTHER_* bits.
Diffstat (limited to 'bfd')
-rw-r--r-- | bfd/ChangeLog | 5 | ||||
-rw-r--r-- | bfd/elf32-v850.c | 9 |
2 files changed, 13 insertions, 1 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index db9f241..2dd58ed 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,5 +1,10 @@ 2007-03-08 Alan Modra <amodra@bigpond.net.au> + * elf32-v850.c (v850_elf_link_output_symbol_hook): Clean out + V850_OTHER_* bits. + +2007-03-08 Alan Modra <amodra@bigpond.net.au> + * Makefile.am (BFD64_BACKENDS): Add efi-app-x86_64.lo. (BFD64_BACKENDS_CFILES): Add efi-app-x86_64.c. Run "make dep-am". diff --git a/bfd/elf32-v850.c b/bfd/elf32-v850.c index 327edfa..0b77482 100644 --- a/bfd/elf32-v850.c +++ b/bfd/elf32-v850.c @@ -2083,7 +2083,7 @@ v850_elf_link_output_symbol_hook (struct bfd_link_info *info ATTRIBUTE_UNUSED, const char *name ATTRIBUTE_UNUSED, Elf_Internal_Sym *sym, asection *input_sec, - struct elf_link_hash_entry *h ATTRIBUTE_UNUSED) + struct elf_link_hash_entry *h) { /* If we see a common symbol, which implies a relocatable link, then if a symbol was in a special common section in an input file, mark @@ -2099,6 +2099,13 @@ v850_elf_link_output_symbol_hook (struct bfd_link_info *info ATTRIBUTE_UNUSED, sym->st_shndx = SHN_V850_ZCOMMON; } + /* The price we pay for using h->other unused bits as flags in the + linker is cleaning up after ourselves. */ + + if (h != NULL) + h->other &= ~(V850_OTHER_SDA | V850_OTHER_ZDA | V850_OTHER_TDA + | V850_OTHER_ERROR); + return TRUE; } |