On 11/15/20 10:44 AM, Maciej W. Rozycki wrote:
> Disable USE_PT_GNU_EH_FRAME frame unwinder support for old OS versions,
> fixing compilation errors:
>
> .../libgcc/unwind-dw2-fde-dip.c:75:21: error: unknown type name 'Elf_Phdr'
> 75 | # define ElfW(type) Elf_##type
> | ^~~~
> .../libgcc/unwind-dw2-fde-dip.c:132:9: note: in expansion of macro 'ElfW'
> 132 | const ElfW(Phdr) *p_eh_frame_hdr;
> | ^~~~
> .../libgcc/unwind-dw2-fde-dip.c:75:21: error: unknown type name 'Elf_Phdr'
> 75 | # define ElfW(type) Elf_##type
> | ^~~~
> .../libgcc/unwind-dw2-fde-dip.c:133:9: note: in expansion of macro 'ElfW'
> 133 | const ElfW(Phdr) *p_dynamic;
> | ^~~~
> .../libgcc/unwind-dw2-fde-dip.c:165:37: warning: 'struct dl_phdr_info'
> declared inside parameter list will not be visible outside of this definition
> or declaration
> 165 | _Unwind_IteratePhdrCallback (struct dl_phdr_info *info, size_t size,
> void *ptr)
> | ^~~~~~~~~~~~
> [...]
>
> and producing a working cross-compiler at least with VAX/NetBSD 1.6.2.
>
> libgcc/
> * unwind-dw2-fde-dip.c [__OpenBSD__ || __NetBSD__]
> (USE_PT_GNU_EH_FRAME): Do not define if !TARGET_DL_ITERATE_PHDR.
OK
jeff