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
-4
View File
@@ -188,7 +188,6 @@ network_fuzz_template = fuzz_template + {
libsystemd_network,
],
'objects' : ['systemd-networkd'],
'dependencies' : threads,
'include_directories' : network_includes,
}
@@ -204,7 +203,6 @@ executables += [
libsystemd_network,
networkd_link_with,
],
'dependencies' : threads,
'bpf_programs': [
'sysctl-monitor',
]
@@ -240,11 +238,9 @@ executables += [
},
network_test_template + {
'sources' : files('test-network-tables.c'),
'dependencies' : threads,
},
network_test_template + {
'sources' : files('test-network.c'),
'dependencies' : threads,
},
network_test_template + {
'sources' : files('test-networkd-address.c'),