summaryrefslogtreecommitdiff
path: root/bfd/elf32-xgate.c
diff options
context:
space:
mode:
authorseank <seank>2012-06-28 21:36:35 +0000
committerseank <seank>2012-06-28 21:36:35 +0000
commit26227b8e648dccaee37bc669be2d917639e4c6c8 (patch)
treed55aab94f153a91499dd4ed345cac91a0dc2aeab /bfd/elf32-xgate.c
parentd2ce3f3341e32e161ed4fbafc15579b64091d6c5 (diff)
downloadbinutils-redhat-26227b8e648dccaee37bc669be2d917639e4c6c8.tar.gz
gas/config/
* tc-xgate.h: Defined tc_frob_symbol. * tc-xgate.c (xgate_frob_symbol): Wrote new function to mark symbols as being XGATE by setting st_target_internal value. bfd/ * elf32-xgate.c (elf32_xgate_add_symbol_hook): Added a temp patch that forces st_target_internal to equal 1, since tc_frob_symbol seems to need adjusting.
Diffstat (limited to 'bfd/elf32-xgate.c')
-rw-r--r--bfd/elf32-xgate.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/bfd/elf32-xgate.c b/bfd/elf32-xgate.c
index bd5ebc476d..bd62438eff 100644
--- a/bfd/elf32-xgate.c
+++ b/bfd/elf32-xgate.c
@@ -529,12 +529,15 @@ stub_hash_newfunc (struct bfd_hash_entry *entry,
bfd_boolean
elf32_xgate_add_symbol_hook (bfd *abfd ATTRIBUTE_UNUSED,
struct bfd_link_info *info ATTRIBUTE_UNUSED,
- Elf_Internal_Sym *sym ATTRIBUTE_UNUSED,
+ Elf_Internal_Sym *sym,
const char **namep ATTRIBUTE_UNUSED,
flagword *flagsp ATTRIBUTE_UNUSED,
asection **secp ATTRIBUTE_UNUSED,
bfd_vma *valp ATTRIBUTE_UNUSED)
{
+ /* For some reason the st_target_internal value is not retained
+ after xgate_frob_symbol is called, hence this temp hack. */
+ sym->st_target_internal = 1;
return TRUE;
}