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
(cherry picked from commit 2f8ab8cd9f)
This commit is contained in:
Michael Biebl 2016-08-27 23:40:42 +02:00 committed by Thomas Haller
parent 9f4ce4e283
commit 1a486a277e

View file

@ -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:
*;
};