On Thu, Feb 15, 2018 at 11:08:20AM +0000, Szabolcs Nagy wrote:
> > --- libbacktrace/elf.c.jj   2018-02-08 20:46:10.671242369 +0000
> > +++ libbacktrace/elf.c      2018-02-14 08:39:06.674088951 +0000
> ...
> > @@ -2857,6 +2889,23 @@ elf_add (struct backtrace_state *state,
> >           debuglink_crc = *(const uint32_t*)(debuglink_data + crc_offset);
> >         }
> >     }
> > +
> > +      /* Read the .opd section on PowerPC64 ELFv1.  */
> > +      if (ehdr.e_machine == EM_PPC64
> > +     && (ehdr.e_flags & EF_PPC64_ABI) < 2
> > +     && shdr->sh_type == SHT_PROGBITS
> 
> this broke baremetal arm targets (e.g. aarch64-none-elf with newlib)
> 
> ...src/gcc/libbacktrace/elf.c: In function 'elf_add':
> ...src/gcc/libbacktrace/elf.c:2896:24: error: 'SHT_PROGBITS' undeclared 
> (first use in this function)
> 
>     && shdr->sh_type == SHT_PROGBITS
>                         ^~~~~~~~~~~~

Oops, sorry, fixed thusly, committed as obvious to trunk.

2018-02-15  Jakub Jelinek  <ja...@redhat.com>

        PR other/82368
        * elf.c (SHT_PROGBITS): Undefine and define.

--- libbacktrace/elf.c.jj       2018-02-14 15:19:13.849333101 +0100
+++ libbacktrace/elf.c  2018-02-15 12:30:53.948579969 +0100
@@ -170,6 +170,7 @@ dl_iterate_phdr (int (*callback) (struct
 #undef SHN_LORESERVE
 #undef SHN_XINDEX
 #undef SHN_UNDEF
+#undef SHT_PROGBITS
 #undef SHT_SYMTAB
 #undef SHT_STRTAB
 #undef SHT_DYNSYM
@@ -267,6 +268,7 @@ typedef struct {
 #define SHN_LORESERVE  0xFF00          /* Begin range of reserved indices */
 #define SHN_XINDEX     0xFFFF          /* Section index is held elsewhere */
 
+#define SHT_PROGBITS 1
 #define SHT_SYMTAB 2
 #define SHT_STRTAB 3
 #define SHT_DYNSYM 11


        Jakub

Reply via email to