155 lines
5.2 KiB
Diff
155 lines
5.2 KiB
Diff
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);
|