Re: FreeBSD-clang provides both libclang_rt.asan-x86_64.so and the (should be?) lib32 item: libclang_rt.asan-i386.so:32 ? More . . .
Date: Mon, 20 Oct 2025 19:45:40 UTC
On Oct 20, 2025, at 12:00, Mark Millard <marklmi@yahoo.com> wrote: > (Test context main 16, not a 15.0-BETA* .) > > FreeBS-clang provides both 64-bit and a 32-bit library: > > # pkg info -b FreeBSD-clang > FreeBSD-clang-16.snap20251014184832: > libclang_rt.asan-i386.so:32 > libclang_rt.asan-x86_64.so > libprivateclang.so.19 > libprivatellvm.so.19 > > # file /usr/lib/clang/19/lib/freebsd/libclang_rt.asan-i386.so > /usr/lib/clang/19/lib/freebsd/libclang_rt.asan-i386.so: ELF 32-bit LSB shared object, Intel i386, version 1 (FreeBSD), dynamically linked, for FreeBSD 16.0 (1600001), stripped > > # ldd -a /usr/lib/clang/19/lib/freebsd/libclang_rt.asan-i386.so > /usr/lib/clang/19/lib/freebsd/libclang_rt.asan-i386.so: > libgcc_s.so.1 => /usr/lib32/libgcc_s.so.1 (0x209d1000) > libc.so.7 => /usr/lib32/libc.so.7 (0x209f0000) > /usr/lib32/libgcc_s.so.1: > libc.so.7 => /usr/lib32/libc.so.7 (0x209f0000) > /usr/lib32/libc.so.7: > libsys.so.7 => /usr/lib32/libsys.so.7 (0x20bef000) > [preloaded] > [vdso] (0xffffe780) > > Note that those in turn lead to /usr/lib32/ > dependencies being involved overall. > > That might contribute to why both lib.c.so.7 > and lib.c.so.7:32 and both libgcc_s.so.1 and > libgcc_s.so.1:32 more show up in: > > # pkg info -d FreeBSD-clang > FreeBSD-clang-16.snap20251014184832: > FreeBSD-lld-16.snap20250930012546 > FreeBSD-libcompiler_rt-dev-16.snap20250923153156 > FreeBSD-clibs-16.snap20251014203606 (libc++.so.1) > FreeBSD-clibs-16.snap20251014203606 (libc.so.7) > FreeBSD-clibs-lib32-16.snap20251014184832 (libc.so.7:32) > FreeBSD-clibs-16.snap20251014203606 (libcxxrt.so.1) > FreeBSD-libexecinfo-16.snap20251003201239 (libexecinfo.so.1) > FreeBSD-clibs-16.snap20251014203606 (libgcc_s.so.1) > FreeBSD-clibs-lib32-16.snap20251014184832 (libgcc_s.so.1:32) > FreeBSD-clibs-16.snap20251014203606 (libm.so.5) > FreeBSD-ncurses-16.snap20251003201239 (libncursesw.so.9) > FreeBSD-runtime-16.snap20251014184832 (libprivatezstd.so.5) > FreeBSD-clibs-16.snap20251014203606 (libthr.so.3) > FreeBSD-ncurses-16.snap20251003201239 (libtinfow.so.9) > FreeBSD-runtime-16.snap20251014184832 (libz.so.6) > > and both lib.c.so.7 and lib.c.so.7:32 in: and both libgcc_s.so.1 and libgcc_s.so.1:32 > # pkg info -B FreeBSD-clang > FreeBSD-clang-16.snap20251014184832: > libc++.so.1 > libc.so.7 > libc.so.7:32 > libcxxrt.so.1 > libexecinfo.so.1 > libgcc_s.so.1 > libgcc_s.so.1:32 > libm.so.5 > libncursesw.so.9 > libprivatezstd.so.5 > libthr.so.3 > libtinfow.so.9 > libz.so.6 > > Note: Deliberately done in an environment that does > not have any lang/gcc* installed [avoiding MULTILIB > being involved in the context. Otherwise other issues > lead to more confusing output for "info -d". For additional reference: # pkg info -r FreeBSD-clang FreeBSD-clang-16.snap20251014184832: FreeBSD-clang-dev-16.snap20251014184832 FreeBSD-clang-dbg-16.snap20251014184832 FreeBSD-set-devel-16.snap20251008042735 FreeBSD-lldb-dev-16.snap20251008042735 (libprivateclang.so.19) FreeBSD-lldb-16.snap20251014184832 (libprivateclang.so.19) FreeBSD-lld-16.snap20250930012546 (libprivatellvm.so.19) FreeBSD-toolchain-16.snap20251003201239 (libprivatellvm.so.19) FreeBSD-lldb-dev-16.snap20251008042735 (libprivatellvm.so.19) FreeBSD-clang-dev-16.snap20251014184832 (libprivatellvm.so.19) FreeBSD-lldb-16.snap20251014184832 (libprivatellvm.so.19) But, if I go the other way, starting from FreeBSD-set-devel : # pkg info -d FreeBSD-set-devel | grep 32 FreeBSD-utilities-dev-16.snap20251014184832 FreeBSD-unbound-dev-16.snap20251014184832 FreeBSD-toolchain-16.snap20251003201239 FreeBSD-tcpd-dev-16.snap20251014184832 FreeBSD-ssh-dev-16.snap20251014184832 FreeBSD-smbutils-dev-16.snap20251014184832 FreeBSD-runtime-dev-16.snap20251014184832 FreeBSD-openssl-dev-16.snap20251014184832 FreeBSD-natd-dev-16.snap20251014184832 FreeBSD-lldb-16.snap20251014184832 FreeBSD-librss-dev-16.snap20251014184832 FreeBSD-libmilter-dev-16.snap20251014184832 FreeBSD-libldns-dev-16.snap20251014184832 FreeBSD-libevent1-dev-16.snap20251014184832 FreeBSD-libcompat-dev-16.snap20251014184832 FreeBSD-lib9p-dev-16.snap20251014184832 FreeBSD-kerberos-dev-16.snap20251014184832 FreeBSD-fetch-dev-16.snap20251014184832 FreeBSD-ctf-16.snap20251003201239 FreeBSD-clibs-dev-16.snap20251014184832 FreeBSD-clang-dev-16.snap20251014184832 FreeBSD-clang-16.snap20251014184832 FreeBSD-bsnmp-dev-16.snap20251014184832 FreeBSD-bluetooth-dev-16.snap20251014184832 FreeBSD-blocklist-dev-16.snap20251014184832 No mention of any -lib32 , despite the reference to FreeBSD-clang . But: # pkg info -d FreeBSD-clang FreeBSD-clang-16.snap20251014184832: FreeBSD-lld-16.snap20250930012546 FreeBSD-libcompiler_rt-dev-16.snap20250923153156 FreeBSD-clibs-16.snap20251014203606 (libc++.so.1) FreeBSD-clibs-16.snap20251014203606 (libc.so.7) FreeBSD-clibs-lib32-16.snap20251014184832 (libc.so.7:32) FreeBSD-clibs-16.snap20251014203606 (libcxxrt.so.1) FreeBSD-libexecinfo-16.snap20251003201239 (libexecinfo.so.1) FreeBSD-clibs-16.snap20251014203606 (libgcc_s.so.1) FreeBSD-clibs-lib32-16.snap20251014184832 (libgcc_s.so.1:32) FreeBSD-clibs-16.snap20251014203606 (libm.so.5) FreeBSD-ncurses-16.snap20251003201239 (libncursesw.so.9) FreeBSD-runtime-16.snap20251014184832 (libprivatezstd.so.5) FreeBSD-clibs-16.snap20251014203606 (libthr.so.3) FreeBSD-ncurses-16.snap20251003201239 (libtinfow.so.9) FreeBSD-runtime-16.snap20251014184832 (libz.so.6) Does reference -lib32 : # pkg info -d FreeBSD-clang | grep lib32 FreeBSD-clibs-lib32-16.snap20251014184832 (libc.so.7:32) FreeBSD-clibs-lib32-16.snap20251014184832 (libgcc_s.so.1:32) Also: # pkg info -r FreeBSD-set-devel FreeBSD-set-devel-16.snap20251008042735: FreeBSD-set-base-jail-16.snap20251008042735 FreeBSD-set-base-16.snap20251008042735 So, both FreeBSD-set-base* eventually lead to FreeBSD-clibs-lib32 . === Mark Millard marklmi at yahoo.com