* compiling glibc using -fasynchronous-unwind-tables for arm @ 2023-03-09 10:04 Abhijit Ray Chaudhury 2023-03-14 9:18 ` Abhijit Ray Chaudhury 2023-03-14 18:47 ` Adhemerval Zanella Netto 0 siblings, 2 replies; 12+ messages in thread From: Abhijit Ray Chaudhury @ 2023-03-09 10:04 UTC (permalink / raw) To: libc-help [-- Attachment #1: Type: text/plain, Size: 397 bytes --] Hi , I am trying to compile glibc-2.25 with -fasynchronous-unwind-tables flag for correctly generating backtrace . But during configure, it conflicts with -fno-unwind-tables passed by sysdeps/arm/preconfigure and generates link error during conftest. My gcc does not enable -fasynchronous-unwind-tables by default. How do I compile entire libc using unwind-tables ? Thanks in Advance, -Abhijit ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: compiling glibc using -fasynchronous-unwind-tables for arm 2023-03-09 10:04 compiling glibc using -fasynchronous-unwind-tables for arm Abhijit Ray Chaudhury @ 2023-03-14 9:18 ` Abhijit Ray Chaudhury 2023-03-14 18:47 ` Adhemerval Zanella Netto 1 sibling, 0 replies; 12+ messages in thread From: Abhijit Ray Chaudhury @ 2023-03-14 9:18 UTC (permalink / raw) To: libc-help [-- Attachment #1: Type: text/plain, Size: 625 bytes --] Hi. Has anybody compiled glibc with -fasynchronous-unwind-tables for arm platform? Thanking You, -Abhijit On Thu, 9 Mar, 2023, 3:34 pm Abhijit Ray Chaudhury, < abhijit.ray.chaudhury@gmail.com> wrote: > Hi , > > I am trying to compile glibc-2.25 with -fasynchronous-unwind-tables flag > for correctly generating backtrace . But during configure, it conflicts > with -fno-unwind-tables passed by sysdeps/arm/preconfigure and generates > link error during conftest. > > My gcc does not enable -fasynchronous-unwind-tables by default. How do I > compile entire libc using unwind-tables ? > > Thanks in Advance, > -Abhijit > ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: compiling glibc using -fasynchronous-unwind-tables for arm 2023-03-09 10:04 compiling glibc using -fasynchronous-unwind-tables for arm 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 1 sibling, 1 reply; 12+ messages in thread From: Adhemerval Zanella Netto @ 2023-03-14 18:47 UTC (permalink / raw) To: Abhijit Ray Chaudhury, libc-help On 09/03/23 07:04, Abhijit Ray Chaudhury via Libc-help wrote: > Hi , > > I am trying to compile glibc-2.25 with -fasynchronous-unwind-tables flag > for correctly generating backtrace . But during configure, it conflicts > with -fno-unwind-tables passed by sysdeps/arm/preconfigure and generates > link error during conftest. > > My gcc does not enable -fasynchronous-unwind-tables by default. How do I > compile entire libc using unwind-tables ? > > Thanks in Advance, > -Abhijit I don't see any build issue on master with: CC="arm-glibc-linux-gnueabihf-gcc -fasynchronous-unwind-tables" \ CXX="arm-glibc-linux-gnueabihf-g++ -fasynchronous-unwind-tables" \ configure --prefix=/usr With gcc 11.3.1. I am not sure about 2.25, this is a quite old version; but I also don't see anything on git history that might affect it. ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: compiling glibc using -fasynchronous-unwind-tables for arm 2023-03-14 18:47 ` Adhemerval Zanella Netto @ 2023-03-15 8:36 ` Abhijit Ray Chaudhury 2023-03-15 12:59 ` Adhemerval Zanella Netto 0 siblings, 1 reply; 12+ messages in thread From: Abhijit Ray Chaudhury @ 2023-03-15 8:36 UTC (permalink / raw) To: Adhemerval Zanella Netto; +Cc: libc-help [-- Attachment #1: Type: text/plain, Size: 3482 bytes --] HI Adhemerval, Thanks a lot for the response. If you look into the arm preconfgure.ac , ( https://sourceware.org/git/?p=glibc.git;a=blob;f=sysdeps/arm/preconfigure.ac;h=a70738526311c0b0ed21b175eec0bee90c850025;hb=9e2ff880f3cbc0b4ec8505ad2ce4a1c92d7f6d56) , you would notice : CFLAGS="$CFLAGS -fno-unwind-tables" or -fno-unwind-tables is getting added to the cflags during configure. This is conflicting with -fasynchronous-unwind-tables that I passed. And I am getting following error : ======================================================================================= arm-linux-gnueabihf-gcc -march=armv7ve -mthumb -mfpu=neon -mfloat-abi=hard --sysroot=/yocto/build/tmp/work/armv7vet2hf-neon-poky-linux-gnueabi/glibc/linaro-2.25-r0/recipe-sysroot -isystem/opt/archive-pkgs/gcc-linaro-7.4.1-2019.02-x86_64_arm-linux-gnueabihf/arm-linux-gnueabihf/include -I/yocto/build/tmp/work/armv7vet2hf-neon-poky-linux-gnueabi/glibc/linaro-2.25-r0/recipe-sysroot/usr/include -O2 -pipe -g -feliminate-unused-debug-types -fdebug-prefix-map=/yocto/build/tmp/work/armv7vet2hf-neon-poky-linux-gnueabi/glibc/linaro-2.25-r0=/usr/src/debug/glibc/linaro-2.25-r0 -fdebug-prefix-map=/yocto/build/tmp/work/armv7vet2hf-neon-poky-linux-gnueabi/glibc/linaro-2.25-r0/recipe-sysroot= -fdebug-prefix-map=/yocto/build/tmp/work/armv7vet2hf-neon-poky-linux-gnueabi/glibc/linaro-2.25-r0/recipe-sysroot-native= * -fasynchronous-unwind-tables -fno-unwind-tables * -L/opt/archive-pkgs/gcc-linaro-7.4.1-2019.02-x86_64_arm-linux-gnueabihf/arm-linux-gnueabihf/lib -Wl,-rpath-link,/opt/archive-pkgs/gcc-linaro-7.4.1-2019.02-x86_64_arm-linux-gnueabihf/arm-linux-gnueabihf/lib -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -Wl,-z,relro,-z,now -fno-stack-protector -o conftest conftest.c -static -nostartfiles -nostdlib 1>&5 /tmp/ccbJ1zoJ.o:(.ARM.exidx+0x0): undefined reference to `__aeabi_unwind_cpp_pr0' /tmp/ccbJ1zoJ.o:(.ARM.exidx.text.startup+0x0): undefined reference to `__aeabi_unwind_cpp_pr0' /tmp/ccbJ1zoJ.o:(.ARM.exidx.text.exit+0x0): undefined reference to `__aeabi_unwind_cpp_pr0' collect2: error: ld returned 1 exit status configure:5687: $? = 1 configure:5707: error: missing __attribute__ ((constructor)) support?? ====================================================================================== I am interested to know your config.log after you built. Can you please share ? Thanks in Advance, -Abhijit On Wed, Mar 15, 2023 at 12:17 AM Adhemerval Zanella Netto < adhemerval.zanella@linaro.org> wrote: > > > On 09/03/23 07:04, Abhijit Ray Chaudhury via Libc-help wrote: > > Hi , > > > > I am trying to compile glibc-2.25 with -fasynchronous-unwind-tables flag > > for correctly generating backtrace . But during configure, it conflicts > > with -fno-unwind-tables passed by sysdeps/arm/preconfigure and generates > > link error during conftest. > > > > My gcc does not enable -fasynchronous-unwind-tables by default. How do I > > compile entire libc using unwind-tables ? > > > > Thanks in Advance, > > -Abhijit > > > I don't see any build issue on master with: > > CC="arm-glibc-linux-gnueabihf-gcc -fasynchronous-unwind-tables" \ > CXX="arm-glibc-linux-gnueabihf-g++ -fasynchronous-unwind-tables" \ > configure --prefix=/usr > > With gcc 11.3.1. I am not sure about 2.25, this is a quite old version; > but > I also don't see anything on git history that might affect it. > ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: compiling glibc using -fasynchronous-unwind-tables for arm 2023-03-15 8:36 ` Abhijit Ray Chaudhury @ 2023-03-15 12:59 ` Adhemerval Zanella Netto 2023-03-15 14:20 ` Florian Weimer 0 siblings, 1 reply; 12+ messages in thread From: Adhemerval Zanella Netto @ 2023-03-15 12:59 UTC (permalink / raw) To: Abhijit Ray Chaudhury; +Cc: libc-help On 15/03/23 05:36, Abhijit Ray Chaudhury wrote: > HI Adhemerval, > > Thanks a lot for the response. > > If you look into the arm preconfgure.ac <http://preconfgure.ac> , (https://sourceware.org/git/?p=glibc.git;a=blob;f=sysdeps/arm/preconfigure.ac;h=a70738526311c0b0ed21b175eec0bee90c850025;hb=9e2ff880f3cbc0b4ec8505ad2ce4a1c92d7f6d56 <https://sourceware.org/git/?p=glibc.git;a=blob;f=sysdeps/arm/preconfigure.ac;h=a70738526311c0b0ed21b175eec0bee90c850025;hb=9e2ff880f3cbc0b4ec8505ad2ce4a1c92d7f6d56>) , you would notice : > > CFLAGS="$CFLAGS -fno-unwind-tables" or -fno-unwind-tables is getting added to the cflags during configure. > > This is conflicting with -fasynchronous-unwind-tables that I passed. And I am getting following error : > ======================================================================================= > > arm-linux-gnueabihf-gcc -march=armv7ve -mthumb -mfpu=neon -mfloat-abi=hard --sysroot=/yocto/build/tmp/work/armv7vet2hf-neon-poky-linux-gnueabi/glibc/linaro-2.25-r0/recipe-sysroot -isystem/opt/archive-pkgs/gcc-linaro-7.4.1-2019.02-x86_64_arm-linux-gnueabihf/arm-linux-gnueabihf/include -I/yocto/build/tmp/work/armv7vet2hf-neon-poky-linux-gnueabi/glibc/linaro-2.25-r0/recipe-sysroot/usr/include -O2 -pipe -g -feliminate-unused-debug-types -fdebug-prefix-map=/yocto/build/tmp/work/armv7vet2hf-neon-poky-linux-gnueabi/glibc/linaro-2.25-r0=/usr/src/debug/glibc/linaro-2.25-r0 -fdebug-prefix-map=/yocto/build/tmp/work/armv7vet2hf-neon-poky-linux-gnueabi/glibc/linaro-2.25-r0/recipe-sysroot= -fdebug-prefix-map=/yocto/build/tmp/work/armv7vet2hf-neon-poky-linux-gnueabi/glibc/linaro-2.25-r0/recipe-sysroot-native= * -fasynchronous-unwind-tables -fno-unwind-tables * -L/opt/archive-pkgs/gcc-linaro-7.4.1-2019.02-x86_64_arm-linux-gnueabihf/arm-linux-gnueabihf/lib > -Wl,-rpath-link,/opt/archive-pkgs/gcc-linaro-7.4.1-2019.02-x86_64_arm-linux-gnueabihf/arm-linux-gnueabihf/lib -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -Wl,-z,relro,-z,now -fno-stack-protector -o conftest > conftest.c -static -nostartfiles -nostdlib > 1>&5 > /tmp/ccbJ1zoJ.o:(.ARM.exidx+0x0): undefined reference to `__aeabi_unwind_cpp_pr0' > /tmp/ccbJ1zoJ.o:(.ARM.exidx.text.startup+0x0): undefined reference to `__aeabi_unwind_cpp_pr0' > /tmp/ccbJ1zoJ.o:(.ARM.exidx.text.exit+0x0): undefined reference to `__aeabi_unwind_cpp_pr0' > collect2: error: ld returned 1 exit status > configure:5687: $? = 1 > configure:5707: error: missing __attribute__ ((constructor)) support?? > ====================================================================================== 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. > > I am interested to know your config.log after you built. Can you please share ? Here it is using ubuntu arm cross compiler: https://pastebin.mozilla.org/MeOPhxdM and here it is gcc-7: https://pastebin.mozilla.org/k0LjKfF6. I also tested with gcc-7 and glibc 2.25 and again I did not see any configure or build issue. I am not sure why your compiler is not disabling unwind-tables with an explicit -fno-unwind-tables option. ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: compiling glibc using -fasynchronous-unwind-tables for arm 2023-03-15 12:59 ` Adhemerval Zanella Netto @ 2023-03-15 14:20 ` Florian Weimer 2023-03-15 19:52 ` Adhemerval Zanella Netto 0 siblings, 1 reply; 12+ messages in thread From: Florian Weimer @ 2023-03-15 14:20 UTC (permalink / raw) To: Adhemerval Zanella Netto via Libc-help Cc: Abhijit Ray Chaudhury, Adhemerval Zanella Netto * 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. Thanks, Florian ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: compiling glibc using -fasynchronous-unwind-tables for arm 2023-03-15 14:20 ` Florian Weimer @ 2023-03-15 19:52 ` Adhemerval Zanella Netto 2023-03-16 10:59 ` Abhijit Ray Chaudhury 0 siblings, 1 reply; 12+ messages in thread From: Adhemerval Zanella Netto @ 2023-03-15 19:52 UTC (permalink / raw) To: Florian Weimer, Adhemerval Zanella Netto via Libc-help Cc: Abhijit Ray Chaudhury 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? ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: compiling glibc using -fasynchronous-unwind-tables for arm 2023-03-15 19:52 ` Adhemerval Zanella Netto @ 2023-03-16 10:59 ` Abhijit Ray Chaudhury 2023-03-17 13:37 ` Abhijit Ray Chaudhury 0 siblings, 1 reply; 12+ messages in thread From: Abhijit Ray Chaudhury @ 2023-03-16 10:59 UTC (permalink / raw) To: Adhemerval Zanella Netto Cc: Florian Weimer, Adhemerval Zanella Netto via Libc-help [-- Attachment #1: Type: text/plain, Size: 1877 bytes --] 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? > ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: compiling glibc using -fasynchronous-unwind-tables for arm 2023-03-16 10:59 ` Abhijit Ray Chaudhury @ 2023-03-17 13:37 ` Abhijit Ray Chaudhury 2023-03-20 17:00 ` Adhemerval Zanella Netto 0 siblings, 1 reply; 12+ messages in thread From: Abhijit Ray Chaudhury @ 2023-03-17 13:37 UTC (permalink / raw) To: Adhemerval Zanella Netto Cc: Florian Weimer, Adhemerval Zanella Netto via Libc-help [-- Attachment #1: Type: text/plain, Size: 2372 bytes --] 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? >> > ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: compiling glibc using -fasynchronous-unwind-tables for arm 2023-03-17 13:37 ` Abhijit Ray Chaudhury @ 2023-03-20 17:00 ` Adhemerval Zanella Netto 2023-03-21 11:30 ` Abhijit Ray Chaudhury 0 siblings, 1 reply; 12+ messages in thread From: Adhemerval Zanella Netto @ 2023-03-20 17:00 UTC (permalink / raw) To: Abhijit Ray Chaudhury Cc: Florian Weimer, Adhemerval Zanella Netto via Libc-help 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? > ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: compiling glibc using -fasynchronous-unwind-tables for arm 2023-03-20 17:00 ` Adhemerval Zanella Netto @ 2023-03-21 11:30 ` Abhijit Ray Chaudhury 2023-03-22 11:56 ` Adhemerval Zanella Netto 0 siblings, 1 reply; 12+ messages in thread From: Abhijit Ray Chaudhury @ 2023-03-21 11:30 UTC (permalink / raw) To: Adhemerval Zanella Netto Cc: Florian Weimer, Adhemerval Zanella Netto via Libc-help [-- 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? > > > ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: compiling glibc using -fasynchronous-unwind-tables for arm 2023-03-21 11:30 ` Abhijit Ray Chaudhury @ 2023-03-22 11:56 ` Adhemerval Zanella Netto 0 siblings, 0 replies; 12+ messages in thread From: Adhemerval Zanella Netto @ 2023-03-22 11:56 UTC (permalink / raw) To: Abhijit Ray Chaudhury Cc: Florian Weimer, Adhemerval Zanella Netto via Libc-help Hi Abhijit, I am not sure why you need to build all glibc with -fasynchronous-unwind-tables, my understanding you need either to improve debugability or performance profiling on workloads with signals. And I think this is similar to https://sourceware.org/bugzilla/show_bug.cgi?id=29621 , and if it were the case where libgcc was built with -fexceptions but without optimization we can't support it on glibc at the moment (as Florian has added on last comment). On 21/03/23 08:30, Abhijit Ray Chaudhury wrote: > 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 <mailto: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> <mailto: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> <mailto: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> <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? > > > ^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2023-03-22 11:56 UTC | newest] Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2023-03-09 10:04 compiling glibc using -fasynchronous-unwind-tables for arm 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 2023-03-22 11:56 ` Adhemerval Zanella Netto
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).