public inbox for libc-alpha@sourceware.org
 help / color / mirror / Atom feed
* [RFC PATCH] elf: Fix link error missing Unwind_Backtrace symbol
@ 2022-01-08  7:00 Stafford Horne
  2022-01-08 20:20 ` H.J. Lu
  0 siblings, 1 reply; 3+ messages in thread
From: Stafford Horne @ 2022-01-08  7:00 UTC (permalink / raw)
  To: GLIBC patches

---
For some reason build many is failing with missing Unwind_Backtrace symbol
when linking tst-unwind-ctor-lib.so.

    or1k-glibc-linux-gnu-gcc   -shared -static-libgcc  -Wl,-dynamic-linker=/lib/ld-linux-or1k.so.1 -Wl,-z,defs -B/home/shorne/work/gnu-toolchain/build-many/build/glibcs/or1k-linux-gnu-soft/glibc/csu/  -Wl,-z,combreloc -Wl,-z,relro -Wl,--hash-style=both  -L/home/shorne/work/gnu-toolchain/build-many/build/glibcs/or1k-linux-gnu-soft/glibc -L/home/shorne/work/gnu-toolchain/build-many/build/glibcs/or1k-linux-gnu-soft/glibc/math -L/home/shorne/work/gnu-toolchain/build-many/build/glibcs/or1k-linux-gnu-soft/glibc/elf -L/home/shorne/work/gnu-toolchain/build-many/build/glibcs/or1k-linux-gnu-soft/glibc/dlfcn -L/home/shorne/work/gnu-toolchain/build-many/build/glibcs/or1k-linux-gnu-soft/glibc/nss -L/home/shorne/work/gnu-toolchain/build-many/build/glibcs/or1k-linux-gnu-soft/glibc/nis -L/home/shorne/work/gnu-toolchain/build-many/build/glibcs/or1k-linux-gnu-soft/glibc/rt -L/home/shorne/work/gnu-toolchain/build-many/build/glibcs/or1k-linux-gnu-soft/glibc/resolv -L/home/shorne/work/gnu-toolchain/build-many/build/glibcs/or1k-linux-gnu-soft/glibc/mathvec -L/home/shorne/work/gnu-toolchain/build-many/build/glibcs/or1k-linux-gnu-soft/glibc/support -L/home/shorne/work/gnu-toolchain/build-many/build/glibcs/or1k-linux-gnu-soft/glibc/crypt -L/home/shorne/work/gnu-toolchain/build-many/build/glibcs/or1k-linux-gnu-soft/glibc/nptl -Wl,-rpath-link=/home/shorne/work/gnu-toolchain/build-many/build/glibcs/or1k-linux-gnu-soft/glibc:/home/shorne/work/gnu-toolchain/build-many/build/glibcs/or1k-linux-gnu-soft/glibc/math:/home/shorne/work/gnu-toolchain/build-many/build/glibcs/or1k-linux-gnu-soft/glibc/elf:/home/shorne/work/gnu-toolchain/build-many/build/glibcs/or1k-linux-gnu-soft/glibc/dlfcn:/home/shorne/work/gnu-toolchain/build-many/build/glibcs/or1k-linux-gnu-soft/glibc/nss:/home/shorne/work/gnu-toolchain/build-many/build/glibcs/or1k-linux-gnu-soft/glibc/nis:/home/shorne/work/gnu-toolchain/build-many/build/glibcs/or1k-linux-gnu-soft/glibc/rt:/home/shorne/work/gnu-toolchain/build-many/build/glibcs/or1k-linux-gnu-soft/glibc/resolv:/home/shorne/work/gnu-toolchain/build-many/build/glibcs/or1k-linux-gnu-soft/glibc/mathvec:/home/shorne/work/gnu-toolchain/build-many/build/glibcs/or1k-linux-gnu-soft/glibc/support:/home/shorne/work/gnu-toolchain/build-many/build/glibcs/or1k-linux-gnu-soft/glibc/crypt:/home/shorne/work/gnu-toolchain/build-many/build/glibcs/or1k-linux-gnu-soft/glibc/nptl -o /home/shorne/work/gnu-toolchain/build-many/build/glibcs/or1k-linux-gnu-soft/glibc/elf/tst-unwind-ctor-lib.so -T /home/shorne/work/gnu-toolchain/build-many/build/glibcs/or1k-linux-gnu-soft/glibc/shlib.lds /home/shorne/work/gnu-toolchain/build-many/build/glibcs/or1k-linux-gnu-soft/glibc/csu/abi-note.o /home/shorne/work/gnu-toolchain/build-many/build/glibcs/or1k-linux-gnu-soft/glibc/elf/tst-unwind-ctor-lib.os  -Wl,--start-group /home/shorne/work/gnu-toolchain/build-many/build/glibcs/or1k-linux-gnu-soft/glibc/libc.so /home/shorne/work/gnu-toolchain/build-many/build/glibcs/or1k-linux-gnu-soft/glibc/libc_nonshared.a -Wl,--as-needed /home/shorne/work/gnu-toolchain/build-many/build/glibcs/or1k-linux-gnu-soft/glibc/elf/ld.so -Wl,--no-as-needed -Wl,--end-group
    /home/shorne/work/gnu-toolchain/build-many/install/compilers/or1k-linux-gnu/lib/gcc/or1k-glibc-linux-gnu/12.0.0/../../../../or1k-glibc-linux-gnu/bin/ld: /home/shorne/work/gnu-toolchain/build-many/build/glibcs/or1k-linux-gnu-soft/glibc/elf/tst-unwind-ctor-lib.os: in function `do_unwind':
    /home/shorne/work/gnu-toolchain/glibc/elf/tst-unwind-ctor-lib.c:36: undefined reference to `_Unwind_Backtrace'

Adding the -lgcc_s fixes this.  I am not sure why this is just showing up now,
I just re-bootstrapped my build-many compilers and this error started showing
up.  I notice its not happending on the test results mailing list.  Perhaps
someone has an idea?

This patch fixes it and the check phase passes.

 elf/Makefile | 1 +
 1 file changed, 1 insertion(+)

diff --git a/elf/Makefile b/elf/Makefile
index b86d116be9..5bf9a3eb64 100644
--- a/elf/Makefile
+++ b/elf/Makefile
@@ -2011,6 +2011,7 @@ $(objpfx)tst-big-note: $(objpfx)tst-big-note-lib.so
 $(objpfx)tst-big-note-lib.so: $(objpfx)tst-big-note-lib.o
 	$(LINK.o) -shared -o $@ $(LDFLAGS.so) $<
 
+LDLIBS-tst-unwind-ctor-lib.so = -lgcc_s
 $(objpfx)tst-unwind-ctor: $(objpfx)tst-unwind-ctor-lib.so
 
 CFLAGS-tst-unwind-main.c += -funwind-tables -DUSE_PTHREADS=0
-- 
2.31.1


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [RFC PATCH] elf: Fix link error missing Unwind_Backtrace symbol
  2022-01-08  7:00 [RFC PATCH] elf: Fix link error missing Unwind_Backtrace symbol Stafford Horne
@ 2022-01-08 20:20 ` H.J. Lu
  2022-01-09  0:49   ` Stafford Horne
  0 siblings, 1 reply; 3+ messages in thread
From: H.J. Lu @ 2022-01-08 20:20 UTC (permalink / raw)
  To: Stafford Horne; +Cc: GLIBC patches

On Fri, Jan 7, 2022 at 11:00 PM Stafford Horne via Libc-alpha
<libc-alpha@sourceware.org> wrote:
>
> ---
> For some reason build many is failing with missing Unwind_Backtrace symbol
> when linking tst-unwind-ctor-lib.so.
>
>     or1k-glibc-linux-gnu-gcc   -shared -static-libgcc  -Wl,-dynamic-linker=/lib/ld-linux-or1k.so.1 -Wl,-z,defs -B/home/shorne/work/gnu-toolchain/build-many/build/glibcs/or1k-linux-gnu-soft/glibc/csu/  -Wl,-z,combreloc -Wl,-z,relro -Wl,--hash-style=both  -L/home/shorne/work/gnu-toolchain/build-many/build/glibcs/or1k-linux-gnu-soft/glibc -L/home/shorne/work/gnu-toolchain/build-many/build/glibcs/or1k-linux-gnu-soft/glibc/math -L/home/shorne/work/gnu-toolchain/build-many/build/glibcs/or1k-linux-gnu-soft/glibc/elf -L/home/shorne/work/gnu-toolchain/build-many/build/glibcs/or1k-linux-gnu-soft/glibc/dlfcn -L/home/shorne/work/gnu-toolchain/build-many/build/glibcs/or1k-linux-gnu-soft/glibc/nss -L/home/shorne/work/gnu-toolchain/build-many/build/glibcs/or1k-linux-gnu-soft/glibc/nis -L/home/shorne/work/gnu-toolchain/build-many/build/glibcs/or1k-linux-gnu-soft/glibc/rt -L/home/shorne/work/gnu-toolchain/build-many/build/glibcs/or1k-linux-gnu-soft/glibc/resolv -L/home/shorne/work/gnu-toolchain/build-many/build/glibcs/or1k-linux-gnu-soft/glibc/mathvec -L/home/shorne/work/gnu-toolchain/build-many/build/glibcs/or1k-linux-gnu-soft/glibc/support -L/home/shorne/work/gnu-toolchain/build-many/build/glibcs/or1k-linux-gnu-soft/glibc/crypt -L/home/shorne/work/gnu-toolchain/build-many/build/glibcs/or1k-linux-gnu-soft/glibc/nptl -Wl,-rpath-link=/home/shorne/work/gnu-toolchain/build-many/build/glibcs/or1k-linux-gnu-soft/glibc:/home/shorne/work/gnu-toolchain/build-many/build/glibcs/or1k-linux-gnu-soft/glibc/math:/home/shorne/work/gnu-toolchain/build-many/build/glibcs/or1k-linux-gnu-soft/glibc/elf:/home/shorne/work/gnu-toolchain/build-many/build/glibcs/or1k-linux-gnu-soft/glibc/dlfcn:/home/shorne/work/gnu-toolchain/build-many/build/glibcs/or1k-linux-gnu-soft/glibc/nss:/home/shorne/work/gnu-toolchain/build-many/build/glibcs/or1k-linux-gnu-soft/glibc/nis:/home/shorne/work/gnu-toolchain/build-many/build/glibcs/or1k-linux-gnu-soft/glibc/rt:/home/shorne/work/gnu-toolchain/build-many/build/glibcs/or1k-linux-gnu-soft/glibc/resolv:/home/shorne/work/gnu-toolchain/build-many/build/glibcs/or1k-linux-gnu-soft/glibc/mathvec:/home/shorne/work/gnu-toolchain/build-many/build/glibcs/or1k-linux-gnu-soft/glibc/support:/home/shorne/work/gnu-toolchain/build-many/build/glibcs/or1k-linux-gnu-soft/glibc/crypt:/home/shorne/work/gnu-toolchain/build-many/build/glibcs/or1k-linux-gnu-soft/glibc/nptl -o /home/shorne/work/gnu-toolchain/build-many/build/glibcs/or1k-linux-gnu-soft/glibc/elf/tst-unwind-ctor-lib.so -T /home/shorne/work/gnu-toolchain/build-many/build/glibcs/or1k-linux-gnu-soft/glibc/shlib.lds /home/shorne/work/gnu-toolchain/build-many/build/glibcs/or1k-linux-gnu-soft/glibc/csu/abi-note.o /home/shorne/work/gnu-toolchain/build-many/build/glibcs/or1k-linux-gnu-soft/glibc/elf/tst-unwind-ctor-lib.os  -Wl,--start-group /home/shorne/work/gnu-toolchain/build-many/build/glibcs/or1k-linux-gnu-soft/glibc/libc.so /home/shorne/work/gnu-toolchain/build-many/build/glibcs/or1k-linux-gnu-soft/glibc/libc_nonshared.a -Wl,--as-needed /home/shorne/work/gnu-toolchain/build-many/build/glibcs/or1k-linux-gnu-soft/glibc/elf/ld.so -Wl,--no-as-needed -Wl,--end-group
>     /home/shorne/work/gnu-toolchain/build-many/install/compilers/or1k-linux-gnu/lib/gcc/or1k-glibc-linux-gnu/12.0.0/../../../../or1k-glibc-linux-gnu/bin/ld: /home/shorne/work/gnu-toolchain/build-many/build/glibcs/or1k-linux-gnu-soft/glibc/elf/tst-unwind-ctor-lib.os: in function `do_unwind':
>     /home/shorne/work/gnu-toolchain/glibc/elf/tst-unwind-ctor-lib.c:36: undefined reference to `_Unwind_Backtrace'

It is a bug in your GCC:

$ gcc -shared -static-libgcc
-Wl,-dynamic-linker=/lib64/ld-linux-x86-64.so.2 -Wl,-z,defs
-B/export/build/gnu/tools-build/glibc-gitlab-test/build-x86_64-linux/csu/
 -Wl,-z,combreloc -Wl,-z,relro -Wl,--hash-style=both
-L/export/build/gnu/tools-build/glibc-gitlab-test/build-x86_64-linux
-L/export/build/gnu/tools-build/glibc-gitlab-test/build-x86_64-linux/math
-L/export/build/gnu/tools-build/glibc-gitlab-test/build-x86_64-linux/elf
-L/export/build/gnu/tools-build/glibc-gitlab-test/build-x86_64-linux/dlfcn
-L/export/build/gnu/tools-build/glibc-gitlab-test/build-x86_64-linux/nss
-L/export/build/gnu/tools-build/glibc-gitlab-test/build-x86_64-linux/nis
-L/export/build/gnu/tools-build/glibc-gitlab-test/build-x86_64-linux/rt
-L/export/build/gnu/tools-build/glibc-gitlab-test/build-x86_64-linux/resolv
-L/export/build/gnu/tools-build/glibc-gitlab-test/build-x86_64-linux/mathvec
-L/export/build/gnu/tools-build/glibc-gitlab-test/build-x86_64-linux/support
-L/export/build/gnu/tools-build/glibc-gitlab-test/build-x86_64-linux/crypt
-L/export/build/gnu/tools-build/glibc-gitlab-test/build-x86_64-linux/nptl
-Wl,-rpath-link=/export/build/gnu/tools-build/glibc-gitlab-test/build-x86_64-linux:/export/build/gnu/tools-build/glibc-gitlab-test/build-x86_64-linux/math:/export/build/gnu/tools-build/glibc-gitlab-test/build-x86_64-linux/elf:/export/build/gnu/tools-build/glibc-gitlab-test/build-x86_64-linux/dlfcn:/export/build/gnu/tools-build/glibc-gitlab-test/build-x86_64-linux/nss:/export/build/gnu/tools-build/glibc-gitlab-test/build-x86_64-linux/nis:/export/build/gnu/tools-build/glibc-gitlab-test/build-x86_64-linux/rt:/export/build/gnu/tools-build/glibc-gitlab-test/build-x86_64-linux/resolv:/export/build/gnu/tools-build/glibc-gitlab-test/build-x86_64-linux/mathvec:/export/build/gnu/tools-build/glibc-gitlab-test/build-x86_64-linux/support:/export/build/gnu/tools-build/glibc-gitlab-test/build-x86_64-linux/crypt:/export/build/gnu/tools-build/glibc-gitlab-test/build-x86_64-linux/nptl
-o /export/build/gnu/tools-build/glibc-gitlab-test/build-x86_64-linux/elf/tst-unwind-ctor-lib.so
 /export/build/gnu/tools-build/glibc-gitlab-test/build-x86_64-linux/csu/abi-note.o
/export/build/gnu/tools-build/glibc-gitlab-test/build-x86_64-linux/elf/tst-unwind-ctor-lib.os
 -Wl,--start-group
/export/build/gnu/tools-build/glibc-gitlab-test/build-x86_64-linux/libc.so
/export/build/gnu/tools-build/glibc-gitlab-test/build-x86_64-linux/libc_nonshared.a
-Wl,--as-needed
/export/build/gnu/tools-build/glibc-gitlab-test/build-x86_64-linux/elf/ld.so
-Wl,--no-as-needed -Wl,--end-group
-Wl,--trace-symbol,_Unwind_Backtrace
ld: /usr/lib/gcc/x86_64-redhat-linux/11/libgcc_eh.a(unwind-dw2.o):
definition of _Unwind_Backtrace
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

> Adding the -lgcc_s fixes this.  I am not sure why this is just showing up now,
> I just re-bootstrapped my build-many compilers and this error started showing
> up.  I notice its not happending on the test results mailing list.  Perhaps
> someone has an idea?
>
> This patch fixes it and the check phase passes.
>
>  elf/Makefile | 1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/elf/Makefile b/elf/Makefile
> index b86d116be9..5bf9a3eb64 100644
> --- a/elf/Makefile
> +++ b/elf/Makefile
> @@ -2011,6 +2011,7 @@ $(objpfx)tst-big-note: $(objpfx)tst-big-note-lib.so
>  $(objpfx)tst-big-note-lib.so: $(objpfx)tst-big-note-lib.o
>         $(LINK.o) -shared -o $@ $(LDFLAGS.so) $<
>
> +LDLIBS-tst-unwind-ctor-lib.so = -lgcc_s
>  $(objpfx)tst-unwind-ctor: $(objpfx)tst-unwind-ctor-lib.so
>
>  CFLAGS-tst-unwind-main.c += -funwind-tables -DUSE_PTHREADS=0
> --
> 2.31.1
>


-- 
H.J.

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [RFC PATCH] elf: Fix link error missing Unwind_Backtrace symbol
  2022-01-08 20:20 ` H.J. Lu
@ 2022-01-09  0:49   ` Stafford Horne
  0 siblings, 0 replies; 3+ messages in thread
From: Stafford Horne @ 2022-01-09  0:49 UTC (permalink / raw)
  To: H.J. Lu; +Cc: GLIBC patches

On Sat, Jan 08, 2022 at 12:20:59PM -0800, H.J. Lu wrote:
> On Fri, Jan 7, 2022 at 11:00 PM Stafford Horne via Libc-alpha
> <libc-alpha@sourceware.org> wrote:
> >
> > ---
> > For some reason build many is failing with missing Unwind_Backtrace symbol
> > when linking tst-unwind-ctor-lib.so.
> >
> >     or1k-glibc-linux-gnu-gcc   -shared -static-libgcc  -Wl,-dynamic-linker=/lib/ld-linux-or1k.so.1 -Wl,-z,defs -B/home/shorne/work/gnu-toolchain/build-many/build/glibcs/or1k-linux-gnu-soft/glibc/csu/  -Wl,-z,combreloc -Wl,-z,relro -Wl,--hash-style=both  -L/home/shorne/work/gnu-toolchain/build-many/build/glibcs/or1k-linux-gnu-soft/glibc -L/home/shorne/work/gnu-toolchain/build-many/build/glibcs/or1k-linux-gnu-soft/glibc/math -L/home/shorne/work/gnu-toolchain/build-many/build/glibcs/or1k-linux-gnu-soft/glibc/elf -L/home/shorne/work/gnu-toolchain/build-many/build/glibcs/or1k-linux-gnu-soft/glibc/dlfcn -L/home/shorne/work/gnu-toolchain/build-many/build/glibcs/or1k-linux-gnu-soft/glibc/nss -L/home/shorne/work/gnu-toolchain/build-many/build/glibcs/or1k-linux-gnu-soft/glibc/nis -L/home/shorne/work/gnu-toolchain/build-many/build/glibcs/or1k-linux-gnu-soft/glibc/rt -L/home/shorne/work/gnu-toolchain/build-many/build/glibcs/or1k-linux-gnu-soft/glibc/resolv -L/home/shorne/work/gnu-toolchain/build-many/build/glibcs/or1k-linux-gnu-soft/glibc/mathvec -L/home/shorne/work/gnu-toolchain/build-many/build/glibcs/or1k-linux-gnu-soft/glibc/support -L/home/shorne/work/gnu-toolchain/build-many/build/glibcs/or1k-linux-gnu-soft/glibc/crypt -L/home/shorne/work/gnu-toolchain/build-many/build/glibcs/or1k-linux-gnu-soft/glibc/nptl -Wl,-rpath-link=/home/shorne/work/gnu-toolchain/build-many/build/glibcs/or1k-linux-gnu-soft/glibc:/home/shorne/work/gnu-toolchain/build-many/build/glibcs/or1k-linux-gnu-soft/glibc/math:/home/shorne/work/gnu-toolchain/build-many/build/glibcs/or1k-linux-gnu-soft/glibc/elf:/home/shorne/work/gnu-toolchain/build-many/build/glibcs/or1k-linux-gnu-soft/glibc/dlfcn:/home/shorne/work/gnu-toolchain/build-many/build/glibcs/or1k-linux-gnu-soft/glibc/nss:/home/shorne/work/gnu-toolchain/build-many/build/glibcs/or1k-linux-gnu-soft/glibc/nis:/home/shorne/work/gnu-toolchain/build-many/build/glibcs/or1k-linux-gnu-soft/glibc/rt:/home/shorne/work/gnu-toolchain/build-many/build/glibcs/or1k-linux-gnu-soft/glibc/resolv:/home/shorne/work/gnu-toolchain/build-many/build/glibcs/or1k-linux-gnu-soft/glibc/mathvec:/home/shorne/work/gnu-toolchain/build-many/build/glibcs/or1k-linux-gnu-soft/glibc/support:/home/shorne/work/gnu-toolchain/build-many/build/glibcs/or1k-linux-gnu-soft/glibc/crypt:/home/shorne/work/gnu-toolchain/build-many/build/glibcs/or1k-linux-gnu-soft/glibc/nptl -o /home/shorne/work/gnu-toolchain/build-many/build/glibcs/or1k-linux-gnu-soft/glibc/elf/tst-unwind-ctor-lib.so -T /home/shorne/work/gnu-toolchain/build-many/build/glibcs/or1k-linux-gnu-soft/glibc/shlib.lds /home/shorne/work/gnu-toolchain/build-many/build/glibcs/or1k-linux-gnu-soft/glibc/csu/abi-note.o /home/shorne/work/gnu-toolchain/build-many/build/glibcs/or1k-linux-gnu-soft/glibc/elf/tst-unwind-ctor-lib.os  -Wl,--start-group /home/shorne/work/gnu-toolchain/build-many/build/glibcs/or1k-linux-gnu-soft/glibc/libc.so /home/shorne/work/gnu-toolchain/build-many/build/glibcs/or1k-linux-gnu-soft/glibc/libc_nonshared.a -Wl,--as-needed /home/shorne/work/gnu-toolchain/build-many/build/glibcs/or1k-linux-gnu-soft/glibc/elf/ld.so -Wl,--no-as-needed -Wl,--end-group
> >     /home/shorne/work/gnu-toolchain/build-many/install/compilers/or1k-linux-gnu/lib/gcc/or1k-glibc-linux-gnu/12.0.0/../../../../or1k-glibc-linux-gnu/bin/ld: /home/shorne/work/gnu-toolchain/build-many/build/glibcs/or1k-linux-gnu-soft/glibc/elf/tst-unwind-ctor-lib.os: in function `do_unwind':
> >     /home/shorne/work/gnu-toolchain/glibc/elf/tst-unwind-ctor-lib.c:36: undefined reference to `_Unwind_Backtrace'
> 
> It is a bug in your GCC:
> 
> $ gcc -shared -static-libgcc
> -Wl,-dynamic-linker=/lib64/ld-linux-x86-64.so.2 -Wl,-z,defs
> -B/export/build/gnu/tools-build/glibc-gitlab-test/build-x86_64-linux/csu/
>  -Wl,-z,combreloc -Wl,-z,relro -Wl,--hash-style=both
> -L/export/build/gnu/tools-build/glibc-gitlab-test/build-x86_64-linux
> -L/export/build/gnu/tools-build/glibc-gitlab-test/build-x86_64-linux/math
> -L/export/build/gnu/tools-build/glibc-gitlab-test/build-x86_64-linux/elf
> -L/export/build/gnu/tools-build/glibc-gitlab-test/build-x86_64-linux/dlfcn
> -L/export/build/gnu/tools-build/glibc-gitlab-test/build-x86_64-linux/nss
> -L/export/build/gnu/tools-build/glibc-gitlab-test/build-x86_64-linux/nis
> -L/export/build/gnu/tools-build/glibc-gitlab-test/build-x86_64-linux/rt
> -L/export/build/gnu/tools-build/glibc-gitlab-test/build-x86_64-linux/resolv
> -L/export/build/gnu/tools-build/glibc-gitlab-test/build-x86_64-linux/mathvec
> -L/export/build/gnu/tools-build/glibc-gitlab-test/build-x86_64-linux/support
> -L/export/build/gnu/tools-build/glibc-gitlab-test/build-x86_64-linux/crypt
> -L/export/build/gnu/tools-build/glibc-gitlab-test/build-x86_64-linux/nptl
> -Wl,-rpath-link=/export/build/gnu/tools-build/glibc-gitlab-test/build-x86_64-linux:/export/build/gnu/tools-build/glibc-gitlab-test/build-x86_64-linux/math:/export/build/gnu/tools-build/glibc-gitlab-test/build-x86_64-linux/elf:/export/build/gnu/tools-build/glibc-gitlab-test/build-x86_64-linux/dlfcn:/export/build/gnu/tools-build/glibc-gitlab-test/build-x86_64-linux/nss:/export/build/gnu/tools-build/glibc-gitlab-test/build-x86_64-linux/nis:/export/build/gnu/tools-build/glibc-gitlab-test/build-x86_64-linux/rt:/export/build/gnu/tools-build/glibc-gitlab-test/build-x86_64-linux/resolv:/export/build/gnu/tools-build/glibc-gitlab-test/build-x86_64-linux/mathvec:/export/build/gnu/tools-build/glibc-gitlab-test/build-x86_64-linux/support:/export/build/gnu/tools-build/glibc-gitlab-test/build-x86_64-linux/crypt:/export/build/gnu/tools-build/glibc-gitlab-test/build-x86_64-linux/nptl
> -o /export/build/gnu/tools-build/glibc-gitlab-test/build-x86_64-linux/elf/tst-unwind-ctor-lib.so
>  /export/build/gnu/tools-build/glibc-gitlab-test/build-x86_64-linux/csu/abi-note.o
> /export/build/gnu/tools-build/glibc-gitlab-test/build-x86_64-linux/elf/tst-unwind-ctor-lib.os
>  -Wl,--start-group
> /export/build/gnu/tools-build/glibc-gitlab-test/build-x86_64-linux/libc.so
> /export/build/gnu/tools-build/glibc-gitlab-test/build-x86_64-linux/libc_nonshared.a
> -Wl,--as-needed
> /export/build/gnu/tools-build/glibc-gitlab-test/build-x86_64-linux/elf/ld.so
> -Wl,--no-as-needed -Wl,--end-group
> -Wl,--trace-symbol,_Unwind_Backtrace
> ld: /usr/lib/gcc/x86_64-redhat-linux/11/libgcc_eh.a(unwind-dw2.o):
> definition of _Unwind_Backtrace
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Thanks for confirming, I traced it down I had this in my environment.

  LD=/home/shorne/work/openrisc/br-reproduce/ca3281294392da1a5ea84dbb9cc4c5bfea0c4ccf/buildroot/output/build/host-binutils-custom/ld/ld-new

That then caused this during gcc config.

    checking whether the gcc linker (/home/shorne/work/openrisc/br-reproduce/ca3281294392da1a5ea84dbb9cc4c5bfea0c4ccf/buildroot/output/build/host-binutils-custom/ld/ld-new -m elf_x86_64) supports shared libraries... no
    checking dynamic linker characteristics... GNU/Linux ld.so
    checking how to hardcode library paths into programs... unsupported
    checking whether stripping libraries is possible... yes
    checking if libtool supports shared libraries... no
    checking whether to build shared libraries... no
    checking whether to build static libraries... yes

The config disabled shared libs and disabled the lgcc_eh spec in gcc/gcc.c.  It
was tricky to trace it.  I should probably use a clean/container environment for
my builds.

-Stafford

> > Adding the -lgcc_s fixes this.  I am not sure why this is just showing up now,
> > I just re-bootstrapped my build-many compilers and this error started showing
> > up.  I notice its not happending on the test results mailing list.  Perhaps
> > someone has an idea?
> >
> > This patch fixes it and the check phase passes.
> >
> >  elf/Makefile | 1 +
> >  1 file changed, 1 insertion(+)
> >
> > diff --git a/elf/Makefile b/elf/Makefile
> > index b86d116be9..5bf9a3eb64 100644
> > --- a/elf/Makefile
> > +++ b/elf/Makefile
> > @@ -2011,6 +2011,7 @@ $(objpfx)tst-big-note: $(objpfx)tst-big-note-lib.so
> >  $(objpfx)tst-big-note-lib.so: $(objpfx)tst-big-note-lib.o
> >         $(LINK.o) -shared -o $@ $(LDFLAGS.so) $<
> >
> > +LDLIBS-tst-unwind-ctor-lib.so = -lgcc_s
> >  $(objpfx)tst-unwind-ctor: $(objpfx)tst-unwind-ctor-lib.so
> >
> >  CFLAGS-tst-unwind-main.c += -funwind-tables -DUSE_PTHREADS=0
> > --
> > 2.31.1
> >
> 
> 
> -- 
> H.J.

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2022-01-09  0:49 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-01-08  7:00 [RFC PATCH] elf: Fix link error missing Unwind_Backtrace symbol Stafford Horne
2022-01-08 20:20 ` H.J. Lu
2022-01-09  0:49   ` Stafford Horne

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).