diff options
author | Michael Biebl <biebl@debian.org> | 2016-08-27 23:40:42 +0200 |
---|---|---|
committer | Thomas Haller <thaller@redhat.com> | 2016-08-28 16:49:33 +0200 |
commit | 2f8ab8cd9fd2edb11b5c284c3aa97fd550314608 (patch) | |
tree | 8f970875081f93e45399bab694bed988829bfc7a | |
parent | c90ec2d8c8a12b44c908bf7f80b23059c29f68fa (diff) | |
download | NetworkManager-2f8ab8cd9fd2edb11b5c284c3aa97fd550314608.tar.gz |
build: 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.
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=835550
https://bugzilla.gnome.org/show_bug.cgi?id=770515
-rw-r--r-- | src/NetworkManager.ver | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/NetworkManager.ver b/src/NetworkManager.ver index c91affcb5f..d5358e5c0c 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: *; }; |