diff options
| author | Michael Biebl <biebl@debian.org> | 2016-08-28 15:58:00 +0200 |
|---|---|---|
| committer | Michael Biebl <biebl@debian.org> | 2016-08-28 16:11:11 +0200 |
| commit | 6d50d5735db3c06d7e6956b8ac6de9c7c286319f (patch) | |
| tree | 11b998abd87155c9374f0cb6e8a33aeeb0e23481 | |
| parent | ecd2cd5faa743014b7845e098600927dcb47ad24 (diff) | |
Export _IO_stdin_used symbol in NetworkManager.ver
This symbol is required to decide which version of certain IO functions to use on various architectures. So we can't strip away the symbol from the NetworkManager binary as this will lead to segfaults on those architectures. Thanks James Cowgill and Aurelien Jarno for the bug report and detailed analysis. Closes: #835550
| -rw-r--r-- | debian/changelog | 10 | ||||
| -rw-r--r-- | debian/patches/Export-_IO_stdin_used-symbol-in-NetworkManager.ver.patch | 36 | ||||
| -rw-r--r-- | debian/patches/series | 1 |
3 files changed, 47 insertions, 0 deletions
diff --git a/debian/changelog b/debian/changelog index eb00b2dd..d38a964c 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,13 @@ +network-manager (1.4.0-3) UNRELEASED; urgency=medium + + * Export _IO_stdin_used symbol in NetworkManager.ver. + This symbol is required to decide which version of certain IO functions + to use on various architectures. So we can't strip away the symbol from + the NetworkManager binary as this will lead to segfaults on those + architectures. (Closes: #835550) + + -- Michael Biebl <biebl@debian.org> Sun, 28 Aug 2016 15:49:46 +0200 + network-manager (1.4.0-2) unstable; urgency=medium * Correctly set the connectivity state if we enforce online mode with diff --git a/debian/patches/Export-_IO_stdin_used-symbol-in-NetworkManager.ver.patch b/debian/patches/Export-_IO_stdin_used-symbol-in-NetworkManager.ver.patch new file mode 100644 index 00000000..999494d4 --- /dev/null +++ b/debian/patches/Export-_IO_stdin_used-symbol-in-NetworkManager.ver.patch @@ -0,0 +1,36 @@ +From: Michael Biebl <biebl@debian.org> +Date: Sat, 27 Aug 2016 23:40:42 +0200 +Subject: Export _IO_stdin_used symbol in NetworkManager.ver + +This symbol is required to decide which version of certain IO functions +to use on various architectures. So we can't strip away the symbol from +the NetworkManager binary as this will lead to segfaults on those +architectures. + +Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=835550 +Bug: https://bugzilla.gnome.org/show_bug.cgi?id=770515 +--- + src/NetworkManager.ver | 10 ++++++++++ + 1 file changed, 10 insertions(+) + +diff --git a/src/NetworkManager.ver b/src/NetworkManager.ver +index c91affc..d5358e5 100644 +--- a/src/NetworkManager.ver ++++ b/src/NetworkManager.ver +@@ -5,6 +5,16 @@ global: + _nm*; + NM*; + _NM*; ++ ++ /* The _IO_stdin_used symbol is used by the GNU libc to determine ++ which version of the I/O function should be used. Not ++ exporting it means that the "old" version is used, causing ++ crashes or other issues on some architectures. It should be ++ exported as an anonymous tag, but ld does not support mixing ++ anonymous version tags with other version tags. Fortunately ++ the GNU libc is able to cope with the symbol having the wrong ++ version tag. */ ++ _IO_stdin_used; + local: + *; + }; diff --git a/debian/patches/series b/debian/patches/series index 140a0339..404165cc 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -4,3 +4,4 @@ fix-arping-path.patch Don-t-make-NetworkManager-D-Bus-activatable.patch systemd-Don-t-enable-NetworkManager-wait-online.service-s.patch Fix-iscsiadm-path.patch +Export-_IO_stdin_used-symbol-in-NetworkManager.ver.patch |