[PATCH 1/2] NetBSD/libgcc: Check for TARGET_DL_ITERATE_PHDR in the unwinder

Jeff Law law@redhat.com
Tue Nov 17 01:41:12 GMT 2020



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



More information about the Gcc-patches mailing list