| Upstream-Status: Backport |
| |
| Remove unused variables from the code to prevent -Werror causing a build |
| failure on hosts with GCC 4.6. |
| |
| These changes are all upstream so should not be required once we've updated |
| to elfutils 0.152 or later. Therefore this patch consolidates several |
| changes from elfutils upstream by Roland McGrath into a single file so that |
| it's easier to remove later once we upgrade. |
| Links to upstream gitweb of the consolidated commits follow: |
| - http://git.fedorahosted.org/git?p=elfutils.git;a=commit;h=7094d00a169afb27e0323f8580e817798ae7c240 |
| - http://git.fedorahosted.org/git?p=elfutils.git;a=commit;h=fd992543185126eb0280c1ee0883e073020499b4 |
| - http://git.fedorahosted.org/git?p=elfutils.git;a=commit;h=4db89f04bb59327abd7a3b60e88f2e7e73c65c79 |
| - http://git.fedorahosted.org/git?p=elfutils.git;a=commit;h=8f6c1795ab9d41f03805eebd55767070ade55aac |
| - http://git.fedorahosted.org/git?p=elfutils.git;a=commit;h=240784b48aa276822c5a61c9ad6a4355051ce259 |
| |
| Joshua Lock <josh@linux.intel.com> - 06/04/11 |
| |
| Index: elfutils-0.148/libasm/asm_newscn.c |
| =================================================================== |
| --- elfutils-0.148.orig/libasm/asm_newscn.c |
| +++ elfutils-0.148/libasm/asm_newscn.c |
| @@ -162,7 +162,6 @@ asm_newscn (ctx, scnname, type, flags) |
| GElf_Xword flags; |
| { |
| size_t scnname_len = strlen (scnname) + 1; |
| - unsigned long int hval; |
| AsmScn_t *result; |
| |
| /* If no context is given there might be an earlier error. */ |
| @@ -180,8 +179,6 @@ asm_newscn (ctx, scnname, type, flags) |
| return NULL; |
| } |
| |
| - hval = elf_hash (scnname); |
| - |
| rwlock_wrlock (ctx->lock); |
| |
| /* This is a new section. */ |
| Index: elfutils-0.148/src/elflint.c |
| =================================================================== |
| --- elfutils-0.148.orig/src/elflint.c |
| +++ elfutils-0.148/src/elflint.c |
| @@ -707,9 +707,10 @@ section [%2d] '%s': symbol %zu: invalid |
| { |
| if (xndxdata == NULL) |
| { |
| - ERROR (gettext ("\ |
| + if (!no_xndx_warned) |
| + ERROR (gettext ("\ |
| section [%2d] '%s': symbol %zu: too large section index but no extended section index section\n"), |
| - idx, section_name (ebl, idx), cnt); |
| + idx, section_name (ebl, idx), cnt); |
| no_xndx_warned = true; |
| } |
| else if (xndx < SHN_LORESERVE) |
| @@ -1592,10 +1593,6 @@ check_dynamic (Ebl *ebl, GElf_Ehdr *ehdr |
| [DT_STRSZ] = true, |
| [DT_SYMENT] = true |
| }; |
| - GElf_Addr reladdr = 0; |
| - GElf_Word relsz = 0; |
| - GElf_Addr pltreladdr = 0; |
| - GElf_Word pltrelsz = 0; |
| |
| memset (has_dt, '\0', sizeof (has_dt)); |
| memset (has_val_dt, '\0', sizeof (has_val_dt)); |
| @@ -1694,15 +1691,6 @@ section [%2d] '%s': entry %zu: level 2 t |
| section [%2d] '%s': entry %zu: DT_PLTREL value must be DT_REL or DT_RELA\n"), |
| idx, section_name (ebl, idx), cnt); |
| |
| - if (dyn->d_tag == DT_REL) |
| - reladdr = dyn->d_un.d_ptr; |
| - if (dyn->d_tag == DT_RELSZ) |
| - relsz = dyn->d_un.d_val; |
| - if (dyn->d_tag == DT_JMPREL) |
| - pltreladdr = dyn->d_un.d_ptr; |
| - if (dyn->d_tag == DT_PLTRELSZ) |
| - pltrelsz = dyn->d_un.d_val; |
| - |
| /* Check that addresses for entries are in loaded segments. */ |
| switch (dyn->d_tag) |
| { |
| Index: elfutils-0.148/src/ldgeneric.c |
| =================================================================== |
| --- elfutils-0.148.orig/src/ldgeneric.c |
| +++ elfutils-0.148/src/ldgeneric.c |
| @@ -285,12 +285,10 @@ static int |
| check_for_duplicate2 (struct usedfiles *newp, struct usedfiles *list) |
| { |
| struct usedfiles *first; |
| - struct usedfiles *prevp; |
| |
| if (list == NULL) |
| return 0; |
| |
| - prevp = list; |
| list = first = list->next; |
| do |
| { |
| Index: elfutils-0.148/src/ldscript.y |
| =================================================================== |
| --- elfutils-0.148.orig/src/ldscript.y |
| +++ elfutils-0.148/src/ldscript.y |
| @@ -802,12 +802,9 @@ add_versions (struct version *versions) |
| |
| do |
| { |
| - struct version *oldp; |
| - |
| add_id_list (versions->versionname, versions->local_names, true); |
| add_id_list (versions->versionname, versions->global_names, false); |
| |
| - oldp = versions; |
| versions = versions->next; |
| } |
| while (versions != NULL); |
| Index: elfutils-0.148/src/unstrip.c |
| =================================================================== |
| --- elfutils-0.148.orig/src/unstrip.c |
| +++ elfutils-0.148/src/unstrip.c |
| @@ -1301,7 +1301,6 @@ more sections in stripped file than debu |
| /* Match each debuginfo section with its corresponding stripped section. */ |
| bool check_prelink = false; |
| Elf_Scn *unstripped_symtab = NULL; |
| - size_t unstripped_strtab_ndx = SHN_UNDEF; |
| size_t alloc_avail = 0; |
| scn = NULL; |
| while ((scn = elf_nextscn (unstripped, scn)) != NULL) |
| @@ -1313,7 +1312,6 @@ more sections in stripped file than debu |
| if (shdr->sh_type == SHT_SYMTAB) |
| { |
| unstripped_symtab = scn; |
| - unstripped_strtab_ndx = shdr->sh_link; |
| continue; |
| } |
| |
| Index: elfutils-0.148/src/ldscript.c |
| =================================================================== |
| --- elfutils-0.148.orig/src/ldscript.c |
| +++ elfutils-0.148/src/ldscript.c |
| @@ -2728,12 +2728,9 @@ add_versions (struct version *versions) |
| |
| do |
| { |
| - struct version *oldp; |
| - |
| add_id_list (versions->versionname, versions->local_names, true); |
| add_id_list (versions->versionname, versions->global_names, false); |
| |
| - oldp = versions; |
| versions = versions->next; |
| } |
| while (versions != NULL); |