]> git.pld-linux.org Git - packages/elfutils.git/commitdiff
- fix ppc build
authorJan Rękorajski <baggins@pld-linux.org>
Tue, 4 Sep 2007 13:23:21 +0000 (13:23 +0000)
committercvs2git <feedback@pld-linux.org>
Sun, 24 Jun 2012 12:13:13 +0000 (12:13 +0000)
Changed files:
    elfutils-elflint-ppc-got.patch -> 1.1

elfutils-elflint-ppc-got.patch [new file with mode: 0644]

diff --git a/elfutils-elflint-ppc-got.patch b/elfutils-elflint-ppc-got.patch
new file mode 100644 (file)
index 0000000..167b3be
--- /dev/null
@@ -0,0 +1,29 @@
+2007-08-20  Roland McGrath  <roland@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@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);
This page took 0.033628 seconds and 4 git commands to generate.