summaryrefslogtreecommitdiff
path: root/meson.build
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2017-12-12 20:13:16 +0100
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2017-12-12 20:13:16 +0100
commitb4b36f4405b7fba0deb2a0d6b5379e7ef66e5c61 (patch)
tree531946d0b7318aa8bc9c6b37620b6d011ea5966d /meson.build
parentcb9eeb062c323391fcd98da0c30e844fa5162e90 (diff)
downloadsystemd-b4b36f4405b7fba0deb2a0d6b5379e7ef66e5c61.tar.gz
systemd-b4b36f4405b7fba0deb2a0d6b5379e7ef66e5c61.tar.bz2
systemd-b4b36f4405b7fba0deb2a0d6b5379e7ef66e5c61.zip
meson: link NSS modules with -z nodelete (#7607)
We might end up allocating mempools, and when we are unloaded we might orphan them, thus leaking them. Hence, let's just stick around for good, so the mempools remain referenced continously and for good, and thus no memory is leaked (though the memory isn't cleaned up either). Fixes: #7596
Diffstat (limited to 'meson.build')
-rw-r--r--meson.build4
1 files changed, 3 insertions, 1 deletions
diff --git a/meson.build b/meson.build
index 7fbe735bbe..3c57bde5a7 100644
--- a/meson.build
+++ b/meson.build
@@ -1333,7 +1333,9 @@ foreach tuple : [['myhostname', 'ENABLE_MYHOSTNAME'],
'src/nss-@0@/nss-@0@.c'.format(module),
version : '2',
include_directories : includes,
- link_args : ['-shared',
+ # Note that we link NSS modules with '-z nodelete' so that mempools never get orphaned
+ link_args : ['-Wl,-z,nodelete',
+ '-shared',
'-Wl,--version-script=' + version_script_arg,
'-Wl,--undefined'],
link_with : [libsystemd_internal,