re PR go/80914 (gcc-go binaries don't run)

PR go/80914
	* elf.c (SHF_COMPRESSED): Define.
	(elf_add): Ignore debug sections with SHF_COMPRESSED set.

From-SVN: r253594
This commit is contained in:
Ian Lance Taylor 2017-10-10 16:55:04 +00:00 committed by Ian Lance Taylor
parent 0bf35f65aa
commit 4b8401f477
2 changed files with 11 additions and 1 deletions

View File

@ -1,3 +1,9 @@
2017-10-10 Ian Lance Taylor <iant@golang.org>
PR go/80914
* elf.c (SHF_COMPRESSED): Define.
(elf_add): Ignore debug sections with SHF_COMPRESSED set.
2017-08-14 Release Manager
* GCC 7.2.0 released.

View File

@ -103,6 +103,7 @@ dl_iterate_phdr (int (*callback) (struct dl_phdr_info *,
#undef SHT_SYMTAB
#undef SHT_STRTAB
#undef SHT_DYNSYM
#undef SFH_COMPRESSED
#undef STT_OBJECT
#undef STT_FUNC
@ -195,6 +196,8 @@ typedef struct {
#define SHT_STRTAB 3
#define SHT_DYNSYM 11
#define SHF_COMPRESSED 0x800
#if BACKTRACE_ELF_SIZE == 32
typedef struct
@ -700,7 +703,8 @@ elf_add (struct backtrace_state *state, int descriptor, uintptr_t base_address,
for (j = 0; j < (int) DEBUG_MAX; ++j)
{
if (strcmp (name, debug_section_names[j]) == 0)
if (strcmp (name, debug_section_names[j]) == 0
&& (shdr->sh_flags & SHF_COMPRESSED) == 0)
{
sections[j].offset = shdr->sh_offset;
sections[j].size = shdr->sh_size;