public inbox for libc-help@sourceware.org
 help / color / mirror / Atom feed
From: Abhijit Ray Chaudhury <abhijit.ray.chaudhury@gmail.com>
To: Adhemerval Zanella Netto <adhemerval.zanella@linaro.org>
Cc: Florian Weimer <fweimer@redhat.com>,
	 Adhemerval Zanella Netto via Libc-help
	<libc-help@sourceware.org>
Subject: Re: compiling glibc using -fasynchronous-unwind-tables for arm
Date: Tue, 21 Mar 2023 17:00:35 +0530	[thread overview]
Message-ID: <CAACKNgV3NEGwso1TbDiK3ytnDqfV_wgbJ4Z8uN-XAZT47rN5Bg@mail.gmail.com> (raw)
In-Reply-To: <6dbfce9e-31c8-f158-f13d-4f91ca40efd8@linaro.org>

[-- Attachment #1: Type: text/plain, Size: 3714 bytes --]

Hi Adhemerval,

In my build environment gcc toolchain is installed in docker through apt. I
will try to find the source code and build .

Can you please let me know why you are concentrating on the resolution of "
__aeabi_unwind_cpp_pr0" symbol ? I thought if you give "-fasynchronous-
unwind-tables -fno-unwind-tables", gcc should not even generate the "
__aeabi_unwind_cpp_pr0" symbol. My toolchain wrongly generates it .

Is my understanding correct?

Kindly advise,
-Abhijit

On Mon, Mar 20, 2023 at 10:30 PM Adhemerval Zanella Netto <
adhemerval.zanella@linaro.org> wrote:

> The -fasynchronous-unwind-table usually is used so backtraces works
> through signal handlers.
> Could you check if you build your toolchain with optimization flags (so
> libgcc is built with
> -O2) you can also build with -fasynchronous-unwind-table?
>
> On 17/03/23 10:37, Abhijit Ray Chaudhury wrote:
> > 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 <mailto: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 <mailto: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 <
> https://sourceware.org/bugzilla/show_bug.cgi?id=29621> .
> >         Does the build work if you manually adds the
> -fasynchronous-unwind-tables
> >         on config.make?
> >
>

  reply	other threads:[~2023-03-21 11:30 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-03-09 10:04 Abhijit Ray Chaudhury
2023-03-14  9:18 ` Abhijit Ray Chaudhury
2023-03-14 18:47 ` Adhemerval Zanella Netto
2023-03-15  8:36   ` Abhijit Ray Chaudhury
2023-03-15 12:59     ` Adhemerval Zanella Netto
2023-03-15 14:20       ` Florian Weimer
2023-03-15 19:52         ` Adhemerval Zanella Netto
2023-03-16 10:59           ` Abhijit Ray Chaudhury
2023-03-17 13:37             ` Abhijit Ray Chaudhury
2023-03-20 17:00               ` Adhemerval Zanella Netto
2023-03-21 11:30                 ` Abhijit Ray Chaudhury [this message]
2023-03-22 11:56                   ` Adhemerval Zanella Netto

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAACKNgV3NEGwso1TbDiK3ytnDqfV_wgbJ4Z8uN-XAZT47rN5Bg@mail.gmail.com \
    --to=abhijit.ray.chaudhury@gmail.com \
    --cc=adhemerval.zanella@linaro.org \
    --cc=fweimer@redhat.com \
    --cc=libc-help@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).