Skip to contentSkip to conversation

failed to build libunwind when qemuarm64

DISCUSSION Robert Yang 2 participants 3 messages Apr 14, 2015 – Apr 20, 2015

lore
Share & tools
lore
#0 lore raw

Does anyone meet this or have any suggestion, please ?

$ bitbake libunwind
[snip]
| ../aarch64-poky-linux-libtool  --tag=CC   --mode=link aarch64-poky-linux-gcc --sysroot=/buildarea/lyang1/test_uni/tmp/sysroots/qemuarm64  -O2 -pipe -g -feliminate-unused-debug-types  -fexc
eptions -Wall -Wsign-compare  -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed  -o test-coredump-unwind test-coredump-unwind.o ../src/libunwind-coredump.la ../src/libunwind-aarch64.la
| aarch64-poky-linux-libtool: link: aarch64-poky-linux-gcc --sysroot=/buildarea/lyang1/test_uni/tmp/sysroots/qemuarm64 -O2 -pipe -g -feliminate-unused-debug-types -fexceptions -Wall -Wsign-co
mpare -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -o test-ptrace-misc test-ptrace-misc.o ident.o
| aarch64-poky-linux-libtool: link: aarch64-poky-linux-gcc --sysroot=/buildarea/lyang1/test_uni/tmp/sysroots/qemuarm64 -O2 -pipe -g -feliminate-unused-debug-types -fexceptions -Wall -Wsign-co
mpare -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -o .libs/Lperf-trace Lperf-trace.o  ../src/.libs/libunwind.so -lc -lgcc_s
| aarch64-poky-linux-libtool: link: aarch64-poky-linux-gcc --sysroot=/buildarea/lyang1/test_uni/tmp/sysroots/qemuarm64 -O2 -pipe -g -feliminate-unused-debug-types -fexceptions -Wall -Wsign-co
mpare -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -o .libs/Lperf-simple Lperf-simple.o  ../src/.libs/libunwind.so -lc -lgcc_s
| /buildarea/lyang1/test_uni/tmp/sysroots/x86_64-linux/usr/libexec/aarch64-poky-linux/gcc/aarch64-poky-linux/4.9.2/ld: copy reloc against protected `_ULaarch64_local_addr_space' is invalid
| /buildarea/lyang1/test_uni/tmp/sysroots/x86_64-linux/usr/libexec/aarch64-poky-linux/gcc/aarch64-poky-linux/4.9.2/ld: failed to set dynamic section sizes: Bad value
| /buildarea/lyang1/test_uni/tmp/sysroots/x86_64-linux/usr/libexec/aarch64-poky-linux/gcc/aarch64-poky-linux/4.9.2/ld: copy reloc against protected `_ULaarch64_local_addr_space' is invalid
| /buildarea/lyang1/test_uni/tmp/sysroots/x86_64-linux/usr/libexec/aarch64-poky-linux/gcc/aarch64-poky-linux/4.9.2/ld: failed to set dynamic section sizes: Bad value
| aarch64-poky-linux-libtool: link: aarch64-poky-linux-gcc --sysroot=/buildarea/lyang1/test_uni/tmp/sysroots/qemuarm64 -O2 -pipe -g -feliminate-unused-debug-types -fexceptions -Wall -Wsign-co
mpare -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -o .libs/Gperf-trace Gperf-trace.o  ../src/.libs/libunwind-aarch64.so /buildarea/lyang1/test_uni/tmp/work/aarch64-poky-linux/libunwind/1.1-r0/build/src/.libs/libunwind.so ../src/.libs/libunwind.so -lc -lgcc_s
| collect2: error: ld returned 1 exit status
| make[1]: *** [Lperf-trace] Error 1
| make[1]: *** Waiting for unfinished jobs....
| aarch64-poky-linux-libtool: link: aarch64-poky-linux-gcc --sysroot=/buildarea/lyang1/test_uni/tmp/sysroots/qemuarm64 -O2 -pipe -g -feliminate-unused-debug-types -fexceptions -Wall -Wsign-compare -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -o .libs/Gperf-simple Gperf-simple.o ../src/.libs/libunwind-aarch64.so /buildarea/lyang1/test_uni/tmp/work/aarch64-poky-linux/libunwind/1.1-r0/build/src/.libs/libunwind.so ../src/.libs/libunwind.so -lc -lgcc_s
| collect2: error: ld returned 1 exit status
| make[1]: *** [Lperf-simple] Error 1
| /buildarea/lyang1/test_uni/tmp/sysroots/x86_64-linux/usr/libexec/aarch64-poky-linux/gcc/aarch64-poky-linux/4.9.2/ld: copy reloc against protected `_Uaarch64_local_addr_space' is invalid
| /buildarea/lyang1/test_uni/tmp/sysroots/x86_64-linux/usr/libexec/aarch64-poky-linux/gcc/aarch64-poky-linux/4.9.2/ld: failed to set dynamic section sizes: Bad value
| /buildarea/lyang1/test_uni/tmp/sysroots/x86_64-linux/usr/libexec/aarch64-poky-linux/gcc/aarch64-poky-linux/4.9.2/ld: copy reloc against protected `_Uaarch64_local_addr_space' is invalid
| /buildarea/lyang1/test_uni/tmp/sysroots/x86_64-linux/usr/libexec/aarch64-poky-linux/gcc/aarch64-poky-linux/4.9.2/ld: failed to set dynamic section sizes: Bad value
| collect2: error: ld returned 1 exit status
| make[1]: *** [Gperf-trace] Error 1
| collect2: error: ld returned 1 exit status
| make[1]: *** [Gperf-simple] Error 1
| aarch64-poky-linux-libtool: link: aarch64-poky-linux-gcc --sysroot=/buildarea/lyang1/test_uni/tmp/sysroots/qemuarm64 -O2 -pipe -g -feliminate-unused-debug-types -fexceptions -Wall -Wsign-compare -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -o .libs/test-coredump-unwind test-coredump-unwind.o  ../src/.libs/libunwind-coredump.so ../src/.libs/libunwind-aarch64.so /buildarea/lyang1/test_uni/tmp/work/aarch64-poky-linux/libunwind/1.1-r0/build/src/.libs/libunwind.so -lgcc_s -lc
| /buildarea/lyang1/test_uni/tmp/sysroots/x86_64-linux/usr/libexec/aarch64-poky-linux/gcc/aarch64-poky-linux/4.9.2/ld: copy reloc against protected `_UCD_accessors' is invalid
| /buildarea/lyang1/test_uni/tmp/sysroots/x86_64-linux/usr/libexec/aarch64-poky-linux/gcc/aarch64-poky-linux/4.9.2/ld: failed to set dynamic section sizes: Bad value
| collect2: error: ld returned 1 exit status
[snip]
Signature · 3 lines
Thanks

Robert
#1 lore raw

Refer to RP's fix will fix the problem:

commit 6cd8c8d7466cdf29e7a94ebd4978b129da4455fa

Author: Richard Purdie <[email protected]>
Date:   Tue Apr 7 15:53:04 2015 +0100

libunwind: Build with gold to avoid build failures

I will send a patch for it.

// Robert

Quoted 90 lines · Robert Yang

Does anyone meet this or have any suggestion, please ?

$ bitbake libunwind
[snip]
| ../aarch64-poky-linux-libtool  --tag=CC   --mode=link aarch64-poky-linux-gcc
--sysroot=/buildarea/lyang1/test_uni/tmp/sysroots/qemuarm64  -O2 -pipe -g
-feliminate-unused-debug-types  -fexc
eptions -Wall -Wsign-compare  -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed  -o
test-coredump-unwind test-coredump-unwind.o ../src/libunwind-coredump.la
../src/libunwind-aarch64.la
| aarch64-poky-linux-libtool: link: aarch64-poky-linux-gcc
--sysroot=/buildarea/lyang1/test_uni/tmp/sysroots/qemuarm64 -O2 -pipe -g
-feliminate-unused-debug-types -fexceptions -Wall -Wsign-co
mpare -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -o test-ptrace-misc
test-ptrace-misc.o ident.o
| aarch64-poky-linux-libtool: link: aarch64-poky-linux-gcc
--sysroot=/buildarea/lyang1/test_uni/tmp/sysroots/qemuarm64 -O2 -pipe -g
-feliminate-unused-debug-types -fexceptions -Wall -Wsign-co
mpare -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -o .libs/Lperf-trace
Lperf-trace.o  ../src/.libs/libunwind.so -lc -lgcc_s
| aarch64-poky-linux-libtool: link: aarch64-poky-linux-gcc
--sysroot=/buildarea/lyang1/test_uni/tmp/sysroots/qemuarm64 -O2 -pipe -g
-feliminate-unused-debug-types -fexceptions -Wall -Wsign-co
mpare -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -o .libs/Lperf-simple
Lperf-simple.o  ../src/.libs/libunwind.so -lc -lgcc_s
|
/buildarea/lyang1/test_uni/tmp/sysroots/x86_64-linux/usr/libexec/aarch64-poky-linux/gcc/aarch64-poky-linux/4.9.2/ld:
copy reloc against protected `_ULaarch64_local_addr_space' is invalid
|
/buildarea/lyang1/test_uni/tmp/sysroots/x86_64-linux/usr/libexec/aarch64-poky-linux/gcc/aarch64-poky-linux/4.9.2/ld:
failed to set dynamic section sizes: Bad value
|
/buildarea/lyang1/test_uni/tmp/sysroots/x86_64-linux/usr/libexec/aarch64-poky-linux/gcc/aarch64-poky-linux/4.9.2/ld:
copy reloc against protected `_ULaarch64_local_addr_space' is invalid
|
/buildarea/lyang1/test_uni/tmp/sysroots/x86_64-linux/usr/libexec/aarch64-poky-linux/gcc/aarch64-poky-linux/4.9.2/ld:
failed to set dynamic section sizes: Bad value
| aarch64-poky-linux-libtool: link: aarch64-poky-linux-gcc
--sysroot=/buildarea/lyang1/test_uni/tmp/sysroots/qemuarm64 -O2 -pipe -g
-feliminate-unused-debug-types -fexceptions -Wall -Wsign-co
mpare -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -o .libs/Gperf-trace
Gperf-trace.o  ../src/.libs/libunwind-aarch64.so
/buildarea/lyang1/test_uni/tmp/work/aarch64-poky-linux/libunwind/1.1-r0/build/src/.libs/libunwind.so
../src/.libs/libunwind.so -lc -lgcc_s
| collect2: error: ld returned 1 exit status
| make[1]: *** [Lperf-trace] Error 1
| make[1]: *** Waiting for unfinished jobs....
| aarch64-poky-linux-libtool: link: aarch64-poky-linux-gcc
--sysroot=/buildarea/lyang1/test_uni/tmp/sysroots/qemuarm64 -O2 -pipe -g
(quoted diff) +0 -2
-feliminate-unused-debug-types -fexceptions -Wall -Wsign-compare -Wl,-O1
-Wl,--hash-style=gnu -Wl,--as-needed -o .libs/Gperf-simple Gperf-simple.o

../src/.libs/libunwind-aarch64.so /buildarea/lyang1/test_uni/tmp/work/aarch64-poky-linux/libunwind/1.1-r0/build/src/.libs/libunwind.so ../src/.libs/libunwind.so -lc -lgcc_s

| collect2: error: ld returned 1 exit status
| make[1]: *** [Lperf-simple] Error 1
|

/buildarea/lyang1/test_uni/tmp/sysroots/x86_64-linux/usr/libexec/aarch64-poky-linux/gcc/aarch64-poky-linux/4.9.2/ld:
copy reloc against protected `_Uaarch64_local_addr_space' is invalid
| /buildarea/lyang1/test_uni/tmp/sysroots/x86_64-linux/usr/libexec/aarch64-poky-linux/gcc/aarch64-poky-linux/4.9.2/ld:
failed to set dynamic section sizes: Bad value
| /buildarea/lyang1/test_uni/tmp/sysroots/x86_64-linux/usr/libexec/aarch64-poky-linux/gcc/aarch64-poky-linux/4.9.2/ld:
copy reloc against protected `_Uaarch64_local_addr_space' is invalid
| /buildarea/lyang1/test_uni/tmp/sysroots/x86_64-linux/usr/libexec/aarch64-poky-linux/gcc/aarch64-poky-linux/4.9.2/ld:
failed to set dynamic section sizes: Bad value

| collect2: error: ld returned 1 exit status
| make[1]: *** [Gperf-trace] Error 1
| collect2: error: ld returned 1 exit status
| make[1]: *** [Gperf-simple] Error 1
| aarch64-poky-linux-libtool: link: aarch64-poky-linux-gcc

--sysroot=/buildarea/lyang1/test_uni/tmp/sysroots/qemuarm64 -O2 -pipe -g

(quoted diff) +0 -2
-feliminate-unused-debug-types -fexceptions -Wall -Wsign-compare -Wl,-O1
-Wl,--hash-style=gnu -Wl,--as-needed -o .libs/test-coredump-unwind

test-coredump-unwind.o ../src/.libs/libunwind-coredump.so
../src/.libs/libunwind-aarch64.so /buildarea/lyang1/test_uni/tmp/work/aarch64-poky-linux/libunwind/1.1-r0/build/src/.libs/libunwind.so -lgcc_s -lc
| /buildarea/lyang1/test_uni/tmp/sysroots/x86_64-linux/usr/libexec/aarch64-poky-linux/gcc/aarch64-poky-linux/4.9.2/ld:
copy reloc against protected `_UCD_accessors' is invalid
| /buildarea/lyang1/test_uni/tmp/sysroots/x86_64-linux/usr/libexec/aarch64-poky-linux/gcc/aarch64-poky-linux/4.9.2/ld:
failed to set dynamic section sizes: Bad value
| collect2: error: ld returned 1 exit status
[snip]

#2 lore raw
In reply to Robert Yang
Quoted 8 lines · Robert Yang
| /buildarea/lyang1/test_uni/tmp/sysroots/x86_64-linux/usr/libexec/aarch64-poky-linux/gcc/aarch64-poky-linux/4.9.2/ld: copy reloc against protected `_Uaarch64_local_addr_space' is invalid
| /buildarea/lyang1/test_uni/tmp/sysroots/x86_64-linux/usr/libexec/aarch64-poky-linux/gcc/aarch64-poky-linux/4.9.2/ld: failed to set dynamic section sizes: Bad value
| /buildarea/lyang1/test_uni/tmp/sysroots/x86_64-linux/usr/libexec/aarch64-poky-linux/gcc/aarch64-poky-linux/4.9.2/ld: copy reloc against protected `_Uaarch64_local_addr_space' is invalid
| /buildarea/lyang1/test_uni/tmp/sysroots/x86_64-linux/usr/libexec/aarch64-poky-linux/gcc/aarch64-poky-linux/4.9.2/ld: failed to set dynamic section sizes: Bad value
| collect2: error: ld returned 1 exit status

these copy relocations are probably not supported by ld on aarch64