SOURCES: elfutils-elflint-ppc-got.patch (NEW) - fix ppc build
baggins
baggins at pld-linux.org
Tue Sep 4 15:23:27 CEST 2007
Author: baggins Date: Tue Sep 4 13:23:27 2007 GMT
Module: SOURCES Tag: HEAD
---- Log message:
- fix ppc build
---- Files affected:
SOURCES:
elfutils-elflint-ppc-got.patch (NONE -> 1.1) (NEW)
---- Diffs:
================================================================
Index: SOURCES/elfutils-elflint-ppc-got.patch
diff -u /dev/null SOURCES/elfutils-elflint-ppc-got.patch:1.1
--- /dev/null Tue Sep 4 15:23:27 2007
+++ SOURCES/elfutils-elflint-ppc-got.patch Tue Sep 4 15:23:21 2007
@@ -0,0 +1,29 @@
+2007-08-20 Roland McGrath <roland at redhat.com>
+
+ * ppc_symbol.c (ppc_check_special_symbol): For _GLOBAL_OFFSET_TABLE_
+ when DT_PPC_GOT is not found, anywhere in the section is valid.
+
+--- backends/ppc_symbol.c 20b22bb299c460c0e41145b39d6908f0f6e69948
++++ backends/ppc_symbol.c 1b3c198586c4cdb6a1200b00378358fa8a26a47a
+@@ -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 <drepper at redhat.com>, 2004.
+
+@@ -122,10 +122,13 @@ ppc_check_special_symbol (Elf *elf, GElf
+
+ 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);
================================================================
More information about the pld-cvs-commit
mailing list