]> git.pld-linux.org Git - packages/elfutils.git/blob - elfutils-elflint-ppc-got.patch
- updated to 0.129
[packages/elfutils.git] / elfutils-elflint-ppc-got.patch
1 2007-08-20  Roland McGrath  <roland@redhat.com>
2
3         * ppc_symbol.c (ppc_check_special_symbol): For _GLOBAL_OFFSET_TABLE_
4         when DT_PPC_GOT is not found, anywhere in the section is valid.
5
6 --- backends/ppc_symbol.c       20b22bb299c460c0e41145b39d6908f0f6e69948
7 +++ backends/ppc_symbol.c       1b3c198586c4cdb6a1200b00378358fa8a26a47a
8 @@ -1,5 +1,5 @@
9  /* PPC specific symbolic name handling.
10 -   Copyright (C) 2004, 2005 Red Hat, Inc.
11 +   Copyright (C) 2004, 2005, 2007 Red Hat, Inc.
12     This file is part of Red Hat elfutils.
13     Written by Ulrich Drepper <drepper@redhat.com>, 2004.
14  
15 @@ -122,10 +122,13 @@ ppc_check_special_symbol (Elf *elf, GElf
16  
17    if (strcmp (name, "_GLOBAL_OFFSET_TABLE_") == 0)
18      {
19 +      /* In -msecure-plt mode, DT_PPC_GOT is present and must match.  */
20        GElf_Addr gotaddr;
21        if (find_dyn_got (elf, ehdr, &gotaddr))
22         return sym->st_value == gotaddr;
23 -      return sym->st_value == destshdr->sh_addr + 4;
24 +
25 +      /* In -mbss-plt mode, any place in the section is valid.  */
26 +      return true;
27      }
28  
29    const char *sname = elf_strptr (elf, ehdr->e_shstrndx, destshdr->sh_name);
This page took 0.030986 seconds and 3 git commands to generate.