compiling glibc using -fasynchronous-unwind-tables for arm

Abhijit Ray Chaudhury abhijit.ray.chaudhury@gmail.com
Fri Mar 17 13:37:05 GMT 2023


Hello Adhemerval,

I could compile glibc with -funwind-table instead of
-fasynchronous-unwind-table. I noticed glibc uses one of the flags for
different files. As far as stack unwinding is concerned , what is the
difference between -fasynchronous-unwind-table and  -funwind-table ?

Thanking You,
-Abhijit

On Thu, Mar 16, 2023 at 4:29 PM Abhijit Ray Chaudhury <
abhijit.ray.chaudhury@gmail.com> wrote:

> Hi,
>
> I think the problem lies with the precedence of seemingly conflicting
> CFLAGS "-fasynchronous-unwind-tables -fno-unwind-tables" supplied to my
> cross toolchain gcc. I compiled a simple C file with "
> -fasynchronous-unwind-tables" , it generated an undefined symbol "
> `__aeabi_unwind_cpp_pr0'" although compilation was successful without
> -static flag. Then I compiled with " -fasynchronous-unwind-tables
> -fno-unwind-tables", it still generated the undefined symbol "
> `__aeabi_unwind_cpp_pr0'". It suggests " -fno-unwind-tables" does not
> stop unwind information in the ELF when I have "
> -fasynchronous-unwind-tables" . I then compiled with " -funwind-tables
> -fno-unwind-table", I did not find  undefined symbol "
> `__aeabi_unwind_cpp_pr0'"in the generated ELF.
>
> So I will compile glibc with " -funwind-table" instead of " -fasynchronous-unwind-table"
> and let you know the result.
>
> Do you see any problem with this approach ?
>
> Thanking You,
> -Abhijit
>
> On Thu, Mar 16, 2023 at 1:22 AM Adhemerval Zanella Netto <
> adhemerval.zanella@linaro.org> wrote:
>
>>
>>
>> On 15/03/23 11:20, Florian Weimer wrote:
>> > * Adhemerval Zanella Netto via Libc-help:
>> >
>> >> And I have tested with both:
>> >>
>> >> CC="arm-glibc-linux-gnueabihf-gcc -fasynchronous-unwind-tables"
>> >>
>> >> and
>> >>
>> >> CC=arm-glibc-linux-gnueabihf-gcc CFLAGS="-O2
>> -fasynchronous-unwind-tables"
>> >>
>> >> I also tested with gcc from ubuntu22 to check if this might something
>> >> I haven't enabled on my toolchain (since I don't build all languages),
>> >> but again I did not see any issue.
>> >
>> > It probably depends on whether libgcc.a has been built with
>> > optimizations or not.
>>
>> Indeed this looks like
>> https://sourceware.org/bugzilla/show_bug.cgi?id=29621 .
>> Does the build work if you manually adds the -fasynchronous-unwind-tables
>> on config.make?
>>
>


More information about the Libc-help mailing list