meson: drop libdl, threads, and librt dependencies

Our baseline glibc is 2.34, which merged libdl, libpthread (the
dependency('threads') target), and librt into libc. Empty .so/.a stubs
remain for backward compatibility with old binaries, but new builds
resolve dl_*, pthread_*, mq_*, timer_*, etc. directly from libc.
On musl the same libraries are likewise empty stubs.

Drop the libdl, threads, and librt entries from every meson.build, and
remove the now-stale 'Libs.private: -lrt -pthread' from libudev.pc.in
since both flags resolve to empty link-time stubs on glibc 2.34+ and
musl.

Verified with readelf -d that libsystemd.so, libudev.so, and systemd no
longer carry DT_NEEDED entries for libdl/libpthread/librt.
This commit is contained in:
Daan De Meyer
2026-05-18 21:17:38 +00:00
parent 5a1644de34
commit a14adac423
30 changed files with 15 additions and 130 deletions
+1 -4
View File
@@ -383,8 +383,7 @@ shared_sources += [dns_type_from_name_inc, dns_type_to_name_inc]
libshared_name = 'systemd-shared-@0@'.format(shared_lib_tag)
libshared_deps = [threads,
libacl_cflags,
libshared_deps = [libacl_cflags,
libapparmor_cflags,
libarchive_cflags,
libaudit_cflags,
@@ -393,7 +392,6 @@ libshared_deps = [threads,
libcrypt_cflags,
libcryptsetup_cflags,
libcurl_cflags,
libdl,
libdw_cflags,
libelf_cflags,
libfdisk_cflags,
@@ -410,7 +408,6 @@ libshared_deps = [threads,
libpcre2_cflags,
libpwquality_cflags,
libqrencode_cflags,
librt,
libseccomp_cflags,
libselinux_cflags,
libxenctrl_cflags,