[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Libunwind-devel] LTO and dwarf_to_unw_regnum_map
From: |
Dilyan Palauzov |
Subject: |
Re: [Libunwind-devel] LTO and dwarf_to_unw_regnum_map |
Date: |
Mon, 06 Jul 2015 22:07:54 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Icedove/31.7.0 |
Hello Arun,
./configure --enable-coredump --enable-cxx-exceptions
--enable-debug-frame --enable-block-signals --enable-msabi-support
--enable-minidebuginfo --enable-ptrace --enable-setjmp
=> CONFIG_MSABI_SUPPORT is defined.
The output of './configure --help' makes it in no way clear, that
--enable-msabi-support will break the linking.
Without --enable-msabi-support, linkage fails with:
Making all in src
make[1]: Entering directory '/git/libunwind/src'
make all-am
make[2]: Entering directory '/git/libunwind/src'
/bin/sh ../libtool --tag=CC --mode=link gcc -pipe -O3
-fno-fat-lto-objects -flto -fexceptions -Wall -Wsign-compare -XCClinker
-nostartfiles -XCClinker -nostdlib -version-info 8:1:0 -Wl,-O1
-Wl,-z,relro -Wl,-s -o libunwind.la -rpath /usr/lib os-linux.lo
mi/init.lo mi/flush_cache.lo mi/mempool.lo mi/strerror.lo
x86_64/is_fpreg.lo x86_64/regname.lo x86_64/Los-linux.lo mi/_ReadULEB.lo
mi/_ReadSLEB.lo mi/backtrace.lo mi/dyn-cancel.lo mi/dyn-info-list.lo
mi/dyn-register.lo mi/Ldyn-extract.lo mi/Lfind_dynamic_proc_info.lo
mi/Lget_accessors.lo mi/Lget_proc_info_by_ip.lo mi/Lget_proc_name.lo
mi/Lput_dynamic_unwind_info.lo mi/Ldestroy_addr_space.lo mi/Lget_reg.lo
mi/Lset_reg.lo mi/Lget_fpreg.lo mi/Lset_fpreg.lo
mi/Lset_caching_policy.lo unwind/Backtrace.lo unwind/DeleteException.lo
unwind/FindEnclosingFunction.lo unwind/ForcedUnwind.lo unwind/GetBSP.lo
unwind/GetCFA.lo unwind/GetDataRelBase.lo unwind/GetGR.lo
unwind/GetIP.lo unwind/GetLanguageSpecificData.lo
unwind/GetRegionStart.lo unwind/GetTextRelBase.lo
unwind/RaiseException.lo unwind/Resume.lo unwind/Resume_or_Rethrow.lo
unwind/SetGR.lo unwind/SetIP.lo unwind/GetIPInfo.lo x86_64/setcontext.lo
x86_64/Lcreate_addr_space.lo x86_64/Lget_save_loc.lo x86_64/Lglobal.lo
x86_64/Linit.lo x86_64/Linit_local.lo x86_64/Linit_remote.lo
x86_64/Lget_proc_info.lo x86_64/Lregs.lo x86_64/Lresume.lo
x86_64/Lstash_frame.lo x86_64/Lstep.lo x86_64/Ltrace.lo
x86_64/getcontext.lo libunwind-dwarf-local.la libunwind-elf64.la -lc
-lgcc_s -llzma
libtool: link: gcc -shared -fPIC -DPIC .libs/os-linux.o mi/.libs/init.o
mi/.libs/flush_cache.o mi/.libs/mempool.o mi/.libs/strerror.o
x86_64/.libs/is_fpreg.o x86_64/.libs/regname.o x86_64/.libs/Los-linux.o
mi/.libs/_ReadULEB.o mi/.libs/_ReadSLEB.o mi/.libs/backtrace.o
mi/.libs/dyn-cancel.o mi/.libs/dyn-info-list.o mi/.libs/dyn-register.o
mi/.libs/Ldyn-extract.o mi/.libs/Lfind_dynamic_proc_info.o
mi/.libs/Lget_accessors.o mi/.libs/Lget_proc_info_by_ip.o
mi/.libs/Lget_proc_name.o mi/.libs/Lput_dynamic_unwind_info.o
mi/.libs/Ldestroy_addr_space.o mi/.libs/Lget_reg.o mi/.libs/Lset_reg.o
mi/.libs/Lget_fpreg.o mi/.libs/Lset_fpreg.o
mi/.libs/Lset_caching_policy.o unwind/.libs/Backtrace.o
unwind/.libs/DeleteException.o unwind/.libs/FindEnclosingFunction.o
unwind/.libs/ForcedUnwind.o unwind/.libs/GetBSP.o unwind/.libs/GetCFA.o
unwind/.libs/GetDataRelBase.o unwind/.libs/GetGR.o unwind/.libs/GetIP.o
unwind/.libs/GetLanguageSpecificData.o unwind/.libs/GetRegionStart.o
unwind/.libs/GetTextRelBase.o unwind/.libs/RaiseException.o
unwind/.libs/Resume.o unwind/.libs/Resume_or_Rethrow.o
unwind/.libs/SetGR.o unwind/.libs/SetIP.o unwind/.libs/GetIPInfo.o
x86_64/.libs/setcontext.o x86_64/.libs/Lcreate_addr_space.o
x86_64/.libs/Lget_save_loc.o x86_64/.libs/Lglobal.o x86_64/.libs/Linit.o
x86_64/.libs/Linit_local.o x86_64/.libs/Linit_remote.o
x86_64/.libs/Lget_proc_info.o x86_64/.libs/Lregs.o
x86_64/.libs/Lresume.o x86_64/.libs/Lstash_frame.o x86_64/.libs/Lstep.o
x86_64/.libs/Ltrace.o x86_64/.libs/getcontext.o -Wl,--whole-archive
./.libs/libunwind-dwarf-local.a ./.libs/libunwind-elf64.a
-Wl,--no-whole-archive -lc -lgcc_s /usr/lib/liblzma.so -O3 -flto
-nostartfiles -nostdlib -Wl,-O1 -Wl,-z -Wl,relro -Wl,-s -pthread
-Wl,-soname -Wl,libunwind.so.8 -o .libs/libunwind.so.8.0.1
/usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.3/../../../../x86_64-unknown-linux-gnu/bin/ld:
/tmp/cccxfTD7.ltrans0.ltrans.o: relocation R_X86_64_PC32 against
protected symbol `_ULx86_64_local_addr_space' can not be used when
making a shared object
/usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.3/../../../../x86_64-unknown-linux-gnu/bin/ld:
final link failed: Bad value
collect2: error: ld returned 1 exit status
Makefile:2582: recipe for target 'libunwind.la' failed
make[2]: *** [libunwind.la] Error 1
make[2]: Leaving directory '/git/libunwind/src'
Makefile:1646: recipe for target 'all' failed
make[1]: *** [all] Error 2
make[1]: Leaving directory '/git/libunwind/src'
Makefile:594: recipe for target 'all-recursive' failed
make: *** [all-recursive] Error 1
Any ideas?
Greetings
Dilian
On 07/06/2015 08:43 PM, Arun Sharma wrote:
On Mon, Jul 6, 2015 at 11:14 AM, Dilyan Palauzov
<address@hidden> wrote:
Hello,
when consulting the output from the preprocessor, in
dwarf/Lfind_proc_info-lsb.i I have extern const uint8_t
_ULx86_64_dwarf_to_unw_regnum_map[17], and in x86_64/Lglobal.i is is
extern const uint8_t _ULx86_64_dwarf_to_unw_regnum_map[33]; .
33 != 17
Do you have CONFIG_MSABI_SUPPORT=yes by any chance? Should be disabled
by default.
-Arun