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
-3
View File
@@ -5,7 +5,6 @@ executables += [
'name' : 'systemd-userwork',
'conditions' : ['ENABLE_USERDB'],
'sources' : files('userwork.c'),
'dependencies' : threads,
},
libexec_template + {
'name' : 'systemd-userdbd',
@@ -14,13 +13,11 @@ executables += [
'userdbd-manager.c',
'userdbd.c',
),
'dependencies' : threads,
},
executable_template + {
'name' : 'userdbctl',
'conditions' : ['ENABLE_USERDB'],
'sources' : files('userdbctl.c'),
'dependencies' : threads,
},
]