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>
* 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,
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;
}

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>
* common.h (ELF_ST_VISIBILITY): Comment typo fix.

View File

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