On Oct 20, 2025, at 12:00, Mark Millard <[email protected]> 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