summaryrefslogtreecommitdiffstats
path: root/backends/ppc_symbol.c
diff options
context:
space:
mode:
authorRoland McGrath <[email protected]>2007-08-23 08:10:54 +0000
committerRoland McGrath <[email protected]>2007-08-23 08:10:54 +0000
commitcb6d865011ad98a8ac2018f072f396a2268739ca (patch)
treec497c4dacb592f9da5f5740a8b9fa8d362468079 /backends/ppc_symbol.c
parent50c6a2f8b9621ae01c8943e80c39bc859c9d5c22 (diff)
readelf register printing sort order tweak
Diffstat (limited to 'backends/ppc_symbol.c')
-rw-r--r--backends/ppc_symbol.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/backends/ppc_symbol.c b/backends/ppc_symbol.c
index 8a1950c0..9540a3e9 100644
--- a/backends/ppc_symbol.c
+++ b/backends/ppc_symbol.c
@@ -1,5 +1,5 @@
/* PPC specific symbolic name handling.
- Copyright (C) 2004, 2005 Red Hat, Inc.
+ Copyright (C) 2004, 2005, 2007 Red Hat, Inc.
This file is part of Red Hat elfutils.
Written by Ulrich Drepper <[email protected]>, 2004.
@@ -122,10 +122,13 @@ ppc_check_special_symbol (Elf *elf, GElf_Ehdr *ehdr, const GElf_Sym *sym,
if (strcmp (name, "_GLOBAL_OFFSET_TABLE_") == 0)
{
+ /* In -msecure-plt mode, DT_PPC_GOT is present and must match. */
GElf_Addr gotaddr;
if (find_dyn_got (elf, ehdr, &gotaddr))
return sym->st_value == gotaddr;
- return sym->st_value == destshdr->sh_addr + 4;
+
+ /* In -mbss-plt mode, any place in the section is valid. */
+ return true;
}
const char *sname = elf_strptr (elf, ehdr->e_shstrndx, destshdr->sh_name);