Date: Sat, 21 Jul 2018 18:16:40 +0300 From: Yuri Pankov <yuripv@yuripv.net> To: Julian Elischer <julian@freebsd.org>, freebsd-current <freebsd-current@freebsd.org> Subject: Re: gcc/clang interoperability problem with a custom "samba" build in recent -current. Message-ID: <c77253cd-3fca-a3a6-2f98-73ecb8c656bc@yuripv.net> In-Reply-To: <bd0ad5d1-76ce-28b0-3813-4c11a82cd27d@freebsd.org> References: <abe47622-ba13-7c3f-9ddd-51c9fd3c40cd@freebsd.org> <bd0ad5d1-76ce-28b0-3813-4c11a82cd27d@freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
Julian Elischer wrote: > I would really like ot get some pointers as to who are our tools > committers at the moment, in particular who might know about these issues. > The main issue for me at the moment is the ability to compile the > aesni code in Samba from clang.. > > Julian > > > On 20/7/18 7:32 pm, Julian Elischer wrote: >> compiling our samba with gcc 4.2.1 in 12 gave us some off behaviour >> when lld became the linker I think.. >> >> 1/ linking needed some directories added to some of the build >> scripts because previously apparently it looked in $SYSROOT/usr/lib >> by default and now it doesn't. >> >> 2/ compiling our samba produces a libtdb.so that has various symbols >> in it, (according to nm(1) ), but when we try link against it we get >> complaints about those symbols not being defined. >> >> 3/ an attempt to switch to using clang to compile everything leads to: >> >> >> "--aes-accel=intelaesni selected and compiler rejects -Wp,-E,-lang-asm. >> >> One wonders whether there is a clang equivalent of "-Wp,-E,-lang-asm" >> >> The AES acceleration is a configure option for the samba package. >> >> Apparently turning it on requires -Wp,-E,-lang-asm. >> >> which apparently gcc 4.2.1 has, but clang doesn't have. >> >> FreeBSD clang version 6.0.1 (tags/RELEASE_601/final 335540) (based >> on LLVM 6.0.1) >> Target: x86_64-unknown-freebsd12.0 >> Thread model: posix >> InstalledDir: /usr/bin >> >> anyone know if there is a clang equivalent of -Wp, -E,-lang-asm? In later GCC versions the cpp's -lang-asm seems to be deprecated in favor of -x assembler-with-cpp as it conflicts with -l option. Could you try changing the -Wp,-E,-lang-asm to -Wp,-E,-xassembler-with-cpp? >> possible work arrounds include: >> >> 1/ Get gcc/lld to produce a library from which lld can find the symbols >> >> 2/ find a way to compile this with clang but everything else with gcc? >> >> 3/ find a way to allow clang to use >> -Wp,-E,-lang-asm >> >> whatever that means >> >> >> Thoughts from any tools people?
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?c77253cd-3fca-a3a6-2f98-73ecb8c656bc>