1 |
commit: ee52c156905c419323865e7cdd2deb46040f0c8a |
2 |
Author: Sergei Trofimovich <slyfox <AT> gentoo <DOT> org> |
3 |
AuthorDate: Sun Jun 23 20:50:54 2019 +0000 |
4 |
Commit: Sergei Trofimovich <slyfox <AT> gentoo <DOT> org> |
5 |
CommitDate: Tue Jun 25 06:39:27 2019 +0000 |
6 |
URL: https://gitweb.gentoo.org/proj/sandbox.git/commit/?id=ee52c156 |
7 |
|
8 |
scripts/gen_symbol_header.awk: undefine libc symbol aliases |
9 |
|
10 |
Avoid libc's symbol rename via #define. musl defines aliases as: |
11 |
#define mkstemp64 mkstemp |
12 |
#define mkstemps64 mkstemps |
13 |
|
14 |
This causes libsandbox's aliases to clash with one another, |
15 |
like mkstemp and mkstemp64. |
16 |
|
17 |
The change does not break glibc and restores musl support. |
18 |
|
19 |
Bug: https://bugs.gentoo.org/549108 |
20 |
Signed-off-by: Sergei Trofimovich <slyfox <AT> gentoo.org> |
21 |
|
22 |
scripts/gen_symbol_header.awk | 4 ++++ |
23 |
1 file changed, 4 insertions(+) |
24 |
|
25 |
diff --git a/scripts/gen_symbol_header.awk b/scripts/gen_symbol_header.awk |
26 |
index c9af7f9..3f23134 100644 |
27 |
--- a/scripts/gen_symbol_header.awk |
28 |
+++ b/scripts/gen_symbol_header.awk |
29 |
@@ -117,6 +117,10 @@ END { |
30 |
gsub(/@|\./, "_", sym_real_name); |
31 |
} |
32 |
|
33 |
+ # Avoid libc's symbol rename via #define. musl defines aliases as: |
34 |
+ # #define mkstemp64 mkstemp |
35 |
+ # #define mkstemps64 mkstemps |
36 |
+ printf("#undef %s\n", sym_index); |
37 |
printf("#define symname_%s \"%s\"\n", sym_real_name, sym_index); |
38 |
|
39 |
# We handle non-versioned libc's by setting symver_* |