From dfc616fa26e8ee363a6dbf748dd9490896679412 Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Fri, 21 Sep 2018 12:46:03 +0930 Subject: [PATCH] Revert part of commit 32ec8896025 echo "__thread char *p;" | gcc -c -g -xc - -o thread.o With current powerpc64le-linux-gcc has this reloc in .debug_info 0000000000000025 0000000d0000004e R_PPC64_DTPREL64 0000000000000000 p + 8000 That stops me looking at .debug_info. ~/build/gas-virgin/powerpc64le-linux/binutils/readelf -wi thread.o readelf: Warning: unable to apply unsupported reloc type 78 to section .debug_info Older readelf continued on after the warning, dumping .debug_info. * readelf.c (apply_relocations): Don't return FALSE for warnings. --- binutils/ChangeLog | 4 ++++ binutils/readelf.c | 7 +------ 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/binutils/ChangeLog b/binutils/ChangeLog index d8e7f498c1..ce5326938b 100644 --- a/binutils/ChangeLog +++ b/binutils/ChangeLog @@ -1,3 +1,7 @@ +2018-09-22 Alan Modra + + * readelf.c (apply_relocations): Don't return FALSE for warnings. + 2018-09-20 Nelson Chu * testsuite/binutils-all/objcopy.exp: Set the unsupported reloc number diff --git a/binutils/readelf.c b/binutils/readelf.c index 9c675ddf1e..91f4c12286 100644 --- a/binutils/readelf.c +++ b/binutils/readelf.c @@ -13032,7 +13032,6 @@ apply_relocations (Filedata * filedata, { Elf_Internal_Shdr * relsec; unsigned char * end = start + size; - bfd_boolean res = TRUE; if (relocs_return != NULL) { @@ -13161,7 +13160,6 @@ apply_relocations (Filedata * filedata, warn (_("unable to apply unsupported reloc type %d to section %s\n"), reloc_type, printable_section_name (filedata, section)); prev_reloc = reloc_type; - res = FALSE; continue; } @@ -13171,7 +13169,6 @@ apply_relocations (Filedata * filedata, warn (_("skipping invalid relocation offset 0x%lx in section %s\n"), (unsigned long) rp->r_offset, printable_section_name (filedata, section)); - res = FALSE; continue; } @@ -13180,7 +13177,6 @@ apply_relocations (Filedata * filedata, { warn (_("skipping invalid relocation symbol index 0x%lx in section %s\n"), sym_index, printable_section_name (filedata, section)); - res = FALSE; continue; } sym = symtab + sym_index; @@ -13206,7 +13202,6 @@ apply_relocations (Filedata * filedata, get_symbol_type (filedata, ELF_ST_TYPE (sym->st_info)), printable_section_name (filedata, relsec), (long int)(rp - relocs)); - res = FALSE; continue; } @@ -13273,7 +13268,7 @@ apply_relocations (Filedata * filedata, break; } - return res; + return TRUE; } #ifdef SUPPORT_DISASSEMBLY -- 2.34.1