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


Reply via email to