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.
This commit is contained in:
Alan Modra 2007-03-08 11:28:35 +00:00
parent 1620f33de1
commit d4c87fc14d
4 changed files with 23 additions and 6 deletions

View File

@ -1,3 +1,8 @@
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> 2007-03-08 Alan Modra <amodra@bigpond.net.au>
* Makefile.am (BFD64_BACKENDS): Add efi-app-x86_64.lo. * Makefile.am (BFD64_BACKENDS): Add efi-app-x86_64.lo.

View File

@ -2083,7 +2083,7 @@ v850_elf_link_output_symbol_hook (struct bfd_link_info *info ATTRIBUTE_UNUSED,
const char *name ATTRIBUTE_UNUSED, const char *name ATTRIBUTE_UNUSED,
Elf_Internal_Sym *sym, Elf_Internal_Sym *sym,
asection *input_sec, 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 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 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; 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; return TRUE;
} }

View File

@ -1,3 +1,9 @@
2007-03-08 Alan Modra <amodra@bigpond.net.au>
* 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.
2007-03-07 Alan Modra <amodra@bigpond.net.au> 2007-03-07 Alan Modra <amodra@bigpond.net.au>
* common.h (ELF_ST_VISIBILITY): Comment typo fix. * common.h (ELF_ST_VISIBILITY): Comment typo fix.

View File

@ -1,5 +1,5 @@
/* V850 ELF support for BFD. /* V850 ELF support for BFD.
Copyright 1997, 1998, 2000, 2002, 2003, 2004 Copyright 1997, 1998, 2000, 2002, 2003, 2004, 2007
Free Software Foundation, Inc. Free Software Foundation, Inc.
Created by Michael Meissner, Cygnus Support <meissner@cygnus.com> Created by Michael Meissner, Cygnus Support <meissner@cygnus.com>
@ -41,10 +41,9 @@
/* Flags for the st_other field. */ /* Flags for the st_other field. */
#define V850_OTHER_SDA 0x01 /* Symbol had SDA relocations. */ #define V850_OTHER_SDA 0x10 /* Symbol had SDA relocations. */
#define V850_OTHER_ZDA 0x02 /* Symbol had ZDA relocations. */ #define V850_OTHER_ZDA 0x20 /* Symbol had ZDA relocations. */
#define V850_OTHER_TDA 0x04 /* Symbol had TDA relocations. */ #define V850_OTHER_TDA 0x40 /* Symbol had TDA relocations. */
#define V850_OTHER_TDA_BYTE 0x08 /* Symbol had TDA byte relocations. */
#define V850_OTHER_ERROR 0x80 /* Symbol had an error reported. */ #define V850_OTHER_ERROR 0x80 /* Symbol had an error reported. */
/* V850 relocations. */ /* V850 relocations. */