Quuxplusone / LLVMBugzillaTest

0 stars 0 forks source link

`Alias must point to a definition` error during LTO IR linking libcryptopp #47978

Closed Quuxplusone closed 3 years ago

Quuxplusone commented 3 years ago
Bugzilla Link PR49009
Status RESOLVED DUPLICATE of bug 40202
Importance P enhancement
Reported by Yuanfang Chen (yuanfang.chen@sony.com)
Reported on 2021-02-02 20:30:07 -0800
Last modified on 2021-10-14 15:41:01 -0700
Version trunk
Hardware PC Linux
CC krzpyrkosz@gmail.com, llvm-bugs@lists.llvm.org
Fixed by commit(s)
Attachments
Blocks
Blocked by
See also
Reproducing steps are here:
https://pastebin.com/Ld1mfEsp
Quuxplusone commented 3 years ago
$ clang --version #configured to use libc++, linunwind and compiler-rt by
default
clang version 13.0.0 (https://github.com/llvm/llvm-project.git
51a25846c198cff00abad0936f975167357afa6f)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /usr/local/bin

$ ld.lld --version
LLD 13.0.0 (https://github.com/llvm/llvm-project.git
51a25846c198cff00abad0936f975167357afa6f) (compatible with GNU linkers)

$ git clone https://github.com/weidai11/cryptopp.git
$ cd cryptopp/
$ CC=clang CXX=clang++ CFLAGS='-O2 -flto' CXXFLAGS='-O2 -flto' LDFLAGS='-s -
flto' make shared -j4
Using testing flags: -O2 -flto
clang++ -fPIC -pthread -pipe -O2 -flto -c cryptlib.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -c cpu.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -c integer.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -c 3way.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -c adler32.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -c algebra.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -c algparam.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -c allocate.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -c arc4.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -c aria.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -mssse3 -c aria_simd.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -c ariatab.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -c asn.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -c authenc.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -c base32.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -c base64.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -c basecode.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -c bfinit.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -c blake2.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -msse4.1 -c blake2b_simd.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -msse4.1 -c blake2s_simd.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -c blowfish.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -c blumshub.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -c camellia.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -c cast.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -c casts.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -c cbcmac.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -c ccm.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -c chacha.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -mavx2 -c chacha_avx.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -msse2 -c chacha_simd.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -c chachapoly.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -c cham.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -mssse3 -c cham_simd.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -c channels.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -c cmac.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -c crc.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -msse4.2 -c crc_simd.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -c darn.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -c default.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -c des.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -c dessp.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -c dh.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -c dh2.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -c dll.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -c donna_32.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -c donna_64.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -msse2 -c donna_sse.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -c dsa.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -c eax.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -c ec2n.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -c eccrypto.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -c ecp.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -c elgamal.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -c emsa2.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -c eprecomp.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -c esign.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -c files.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -c filters.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -c fips140.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -c fipstest.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -c gcm.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -mssse3 -mpclmul -c gcm_simd.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -c gf256.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -c gf2_32.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -c gf2n.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -mpclmul -c gf2n_simd.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -c gfpcrypt.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -c gost.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -c gzip.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -c hc128.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -c hc256.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -c hex.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -c hight.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -c hmac.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -c hrtimer.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -c ida.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -c idea.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -c iterhash.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -c kalyna.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -c kalynatab.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -c keccak.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -c keccak_core.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -mssse3 -c keccak_simd.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -c lea.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -mssse3 -c lea_simd.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -c luc.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -c mars.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -c marss.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -c md2.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -c md4.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -c md5.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -c misc.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -c modes.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -c mqueue.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -c mqv.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -c nbtheory.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -c oaep.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -c osrng.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -c padlkrng.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -c panama.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -c pkcspad.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -c poly1305.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -c polynomi.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -c pssr.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -c pubkey.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -c queue.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -c rabbit.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -c rabin.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -c randpool.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -c rc2.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -c rc5.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -c rc6.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -c rdrand.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -c rdtables.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -c rijndael.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -msse4.1 -maes -c rijndael_simd.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -c ripemd.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -c rng.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -c rsa.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -c rw.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -c safer.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -c salsa.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -c scrypt.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -c seal.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -c seed.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -c serpent.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -c sha.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -c sha3.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -msse4.2 -msha -c sha_simd.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -c shacal2.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -msse4.2 -msha -c shacal2_simd.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -c shake.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -c shark.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -c sharkbox.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -c simeck.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -c simon.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -mssse3 -c simon128_simd.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -c skipjack.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -c sm3.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -c sm4.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -mssse3 -maes -c sm4_simd.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -c sosemanuk.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -c speck.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -mssse3 -c speck128_simd.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -c square.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -c squaretb.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -msse2 -c sse_simd.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -c strciphr.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -c tea.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -c tftables.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -c threefish.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -c tiger.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -c tigertab.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -c ttmac.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -c tweetnacl.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -c twofish.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -c vmac.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -c wake.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -c whrlpool.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -c xed25519.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -c xtr.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -c xtrcrypt.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -c xts.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -c zdeflate.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -c zinflate.cpp
clang++ -fPIC -pthread -pipe -O2 -flto -c zlib.cpp
clang++ -shared -Wl,-soname,libcryptopp.so.8 -o libcryptopp.so.8.4.0 -fPIC -
pthread -pipe -O2 -flto -s -flto cryptlib.o cpu.o integer.o 3way.o adler32.o
algebra.o algparam.o allocate.o arc4.o aria.o aria_simd.o ariatab.o asn.o
authenc.o base32.o base64.o basecode.o bfinit.o blake2.o blake2b_simd.o
blake2s_simd.o blowfish.o blumshub.o camellia.o cast.o casts.o cbcmac.o ccm.o
chacha.o chacha_avx.o chacha_simd.o chachapoly.o cham.o cham_simd.o channels.o
cmac.o crc.o crc_simd.o darn.o default.o des.o dessp.o dh.o dh2.o dll.o
donna_32.o donna_64.o donna_sse.o dsa.o eax.o ec2n.o eccrypto.o ecp.o elgamal.o
emsa2.o eprecomp.o esign.o files.o filters.o fips140.o fipstest.o gcm.o
gcm_simd.o gf256.o gf2_32.o gf2n.o gf2n_simd.o gfpcrypt.o gost.o gzip.o hc128.o
hc256.o hex.o hight.o hmac.o hrtimer.o ida.o idea.o iterhash.o kalyna.o
kalynatab.o keccak.o keccak_core.o keccak_simd.o lea.o lea_simd.o luc.o mars.o
marss.o md2.o md4.o md5.o misc.o modes.o mqueue.o mqv.o nbtheory.o oaep.o
osrng.o padlkrng.o panama.o pkcspad.o poly1305.o polynomi.o pssr.o pubkey.o
queue.o rabbit.o rabin.o randpool.o rc2.o rc5.o rc6.o rdrand.o rdtables.o
rijndael.o rijndael_simd.o ripemd.o rng.o rsa.o rw.o safer.o salsa.o scrypt.o
seal.o seed.o serpent.o sha.o sha3.o sha_simd.o shacal2.o shacal2_simd.o
shake.o shark.o sharkbox.o simeck.o simon.o simon128_simd.o skipjack.o sm3.o
sm4.o sm4_simd.o sosemanuk.o speck.o speck128_simd.o square.o squaretb.o
sse_simd.o strciphr.o tea.o tftables.o threefish.o tiger.o tigertab.o ttmac.o
tweetnacl.o twofish.o vmac.o wake.o whrlpool.o xed25519.o xtr.o xtrcrypt.o
xts.o zdeflate.o zinflate.o zlib.o
Alias must point to a definition
void (%"class.CryptoPP::IteratedHashBase.108"*)*
@_ZN8CryptoPP16IteratedHashBaseImNS_18HashTransformationEED1Ev
Alias must point to a definition
void (%"class.CryptoPP::IteratedHashBase"*)*
@_ZN8CryptoPP16IteratedHashBaseIjNS_18HashTransformationEED1Ev
LLVM ERROR: Broken module found, compilation aborted!
PLEASE submit a bug report to https://bugs.llvm.org/ and include the crash
backtrace.
Stack dump:
0.      Program arguments: /usr/local/bin/ld.lld -s -z relro --hash-style=gnu --
eh-frame-hdr -m elf_x86_64 -shared -o libcryptopp.so.8.4.0 /usr/lib/x86_64-
linux-gnu/crti.o /opt/clang_second/lib/clang/13.0.0/lib/linux/clang_rt.crtbegin-
x86_64.o -L/lib/x86_64-linux-gnu -L/lib/../lib64 -L/usr/lib/x86_64-linux-gnu -
L/opt/clang_second/bin/../lib -L/lib -L/usr/lib -plugin-opt=mcpu=x86-64 -plugin-
opt=O2 -soname libcryptopp.so.8 cryptlib.o cpu.o integer.o 3way.o adler32.o
algebra.o algparam.o allocate.o arc4.o aria.o aria_simd.o ariatab.o asn.o
authenc.o base32.o base64.o basecode.o bfinit.o blake2.o blake2b_simd.o
blake2s_simd.o blowfish.o blumshub.o camellia.o cast.o casts.o cbcmac.o ccm.o
chacha.o chacha_avx.o chacha_simd.o chachapoly.o cham.o cham_simd.o channels.o
cmac.o crc.o crc_simd.o darn.o default.o des.o dessp.o dh.o dh2.o dll.o
donna_32.o donna_64.o donna_sse.o dsa.o eax.o ec2n.o eccrypto.o ecp.o elgamal.o
emsa2.o eprecomp.o esign.o files.o filters.o fips140.o fipstest.o gcm.o
gcm_simd.o gf256.o gf2_32.o gf2n.o gf2n_simd.o gfpcrypt.o gost.o gzip.o hc128.o
hc256.o hex.o hight.o hmac.o hrtimer.o ida.o idea.o iterhash.o kalyna.o
kalynatab.o keccak.o keccak_core.o keccak_simd.o lea.o lea_simd.o luc.o mars.o
marss.o md2.o md4.o md5.o misc.o modes.o mqueue.o mqv.o nbtheory.o oaep.o
osrng.o padlkrng.o panama.o pkcspad.o poly1305.o polynomi.o pssr.o pubkey.o
queue.o rabbit.o rabin.o randpool.o rc2.o rc5.o rc6.o rdrand.o rdtables.o
rijndael.o rijndael_simd.o ripemd.o rng.o rsa.o rw.o safer.o salsa.o scrypt.o
seal.o seed.o serpent.o sha.o sha3.o sha_simd.o shacal2.o shacal2_simd.o
shake.o shark.o sharkbox.o simeck.o simon.o simon128_simd.o skipjack.o sm3.o
sm4.o sm4_simd.o sosemanuk.o speck.o speck128_simd.o square.o squaretb.o
sse_simd.o strciphr.o tea.o tftables.o threefish.o tiger.o tigertab.o ttmac.o
tweetnacl.o twofish.o vmac.o wake.o whrlpool.o xed25519.o xtr.o xtrcrypt.o
xts.o zdeflate.o zinflate.o zlib.o -lc++ -lm
/opt/clang_second/lib/clang/13.0.0/lib/linux/libclang_rt.builtins-x86_64.a -
l:libunwind.so -lpthread -lc
/opt/clang_second/lib/clang/13.0.0/lib/linux/libclang_rt.builtins-x86_64.a -
l:libunwind.so /opt/clang_second/lib/clang/13.0.0/lib/linux/clang_rt.crtend-
x86_64.o /usr/lib/x86_64-linux-gnu/crtn.o
 #0 0x000000000280aa9c llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/usr/local/bin/ld.lld+0x280aa9c)
 #1 0x0000000002808470 llvm::sys::RunSignalHandlers() (/usr/local/bin/ld.lld+0x2808470)
 #2 0x000000000280b47f (/usr/local/bin/ld.lld+0x280b47f)
 #3 0x00007fd772ec53c0 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x153c0)
 #4 0x00007fd7728c018b raise /build/glibc-eX1tMB/glibc-2.31/signal/../sysdeps/unix/sysv/linux/raise.c:51:1
 #5 0x00007fd77289f859 abort /build/glibc-eX1tMB/glibc-2.31/stdlib/abort.c:81:7
 #6 0x0000000002774c2a (/usr/local/bin/ld.lld+0x2774c2a)
 #7 0x0000000002774aa6 (/usr/local/bin/ld.lld+0x2774aa6)
 #8 0x00000000057cd98e (/usr/local/bin/ld.lld+0x57cd98e)
 #9 0x000000000575db32 llvm::FPPassManager::doFinalization(llvm::Module&) (/usr/local/bin/ld.lld+0x575db32)
#10 0x00000000057574c2 llvm::legacy::PassManagerImpl::run(llvm::Module&)
(/usr/local/bin/ld.lld+0x57574c2)
#11 0x00000000042ef20c llvm::lto::opt(llvm::lto::Config const&,
llvm::TargetMachine*, unsigned int, llvm::Module&, bool,
llvm::ModuleSummaryIndex*, llvm::ModuleSummaryIndex const*,
std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > const&)
(/usr/local/bin/ld.lld+0x42ef20c)
#12 0x00000000042f04e7 llvm::lto::backend(llvm::lto::Config const&,
std::__1::function<std::__1::unique_ptr<llvm::lto::NativeObjectStream,
std::__1::default_delete<llvm::lto::NativeObjectStream> > (unsigned int)>,
unsigned int, std::__1::unique_ptr<llvm::Module,
std::__1::default_delete<llvm::Module> >, llvm::ModuleSummaryIndex&)
(/usr/local/bin/ld.lld+0x42f04e7)
#13 0x00000000042ddaa4
llvm::lto::LTO::runRegularLTO(std::__1::function<std::__1::unique_ptr<llvm::lto::NativeObjectStream,
std::__1::default_delete<llvm::lto::NativeObjectStream> > (unsigned int)>)
(/usr/local/bin/ld.lld+0x42ddaa4)
#14 0x00000000042dcd90
llvm::lto::LTO::run(std::__1::function<std::__1::unique_ptr<llvm::lto::NativeObjectStream,
std::__1::default_delete<llvm::lto::NativeObjectStream> > (unsigned int)>,
std::__1::function<std::__1::function<std::__1::unique_ptr<llvm::lto::NativeObjectStream,
std::__1::default_delete<llvm::lto::NativeObjectStream> > (unsigned int)>
(unsigned int, llvm::StringRef)>) (/usr/local/bin/ld.lld+0x42dcd90)
#15 0x00000000029b45bc lld::elf::BitcodeCompiler::compile()
(/usr/local/bin/ld.lld+0x29b45bc)
#16 0x000000000291e686 void
lld::elf::LinkerDriver::compileBitcodeFiles<llvm::object::ELFType<(llvm::support::endianness)1,
true> >() (/usr/local/bin/ld.lld+0x291e686)
#17 0x000000000290caca void
lld::elf::LinkerDriver::link<llvm::object::ELFType<(llvm::support::endianness)1,
true> >(llvm::opt::InputArgList&) (/usr/local/bin/ld.lld+0x290caca)
#18 0x00000000028f5b53 lld::elf::LinkerDriver::linkerMain(llvm::ArrayRef<char
const*>) (/usr/local/bin/ld.lld+0x28f5b53)
#19 0x00000000028f2ac2 lld::elf::link(llvm::ArrayRef<char const*>, bool,
llvm::raw_ostream&, llvm::raw_ostream&) (/usr/local/bin/ld.lld+0x28f2ac2)
#20 0x0000000002753d6d (/usr/local/bin/ld.lld+0x2753d6d)
#21 0x00000000027532a3 main (/usr/local/bin/ld.lld+0x27532a3)
#22 0x00007fd7728a10b3 __libc_start_main /build/glibc-eX1tMB/glibc-
2.31/csu/../csu/libc-start.c:342:3
#23 0x0000000002752e1e _start (/usr/local/bin/ld.lld+0x2752e1e)
clang-13: error: unable to execute command: Aborted
clang-13: error: linker command failed due to signal (use -v to see invocation)
make: *** [GNUmakefile:1403: libcryptopp.so.8.4.0] Error 254
Quuxplusone commented 3 years ago

The problematic symbol is CryptoPP::IteratedHashBase<unsigned long, CryptoPP::HashTransformation>::~IteratedHashBase() which is defined virtual in the header file. Moving the definition to .cpp file could workaround the issue. Looks like IR linking tripped on multiple definitions of virtual method definitions or dtor is special in this case. Investigating.

Quuxplusone commented 3 years ago

_Bug 50646 has been marked as a duplicate of this bug._

Quuxplusone commented 3 years ago

Discussion for this is ongoing here https://reviews.llvm.org/D34803

Quuxplusone commented 3 years ago

_This bug has been marked as a duplicate of bug 40202_