commit:     ee52c156905c419323865e7cdd2deb46040f0c8a
Author:     Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
AuthorDate: Sun Jun 23 20:50:54 2019 +0000
Commit:     Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
CommitDate: Tue Jun 25 06:39:27 2019 +0000
URL:        https://gitweb.gentoo.org/proj/sandbox.git/commit/?id=ee52c156

scripts/gen_symbol_header.awk: undefine libc symbol aliases

Avoid libc's symbol rename via #define. musl defines aliases as:
   #define mkstemp64 mkstemp
   #define mkstemps64 mkstemps

This causes libsandbox's aliases to clash with one another,
like mkstemp and mkstemp64.

The change does not break glibc and restores musl support.

Bug: https://bugs.gentoo.org/549108
Signed-off-by: Sergei Trofimovich <slyfox <AT> gentoo.org>

 scripts/gen_symbol_header.awk | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/scripts/gen_symbol_header.awk b/scripts/gen_symbol_header.awk
index c9af7f9..3f23134 100644
--- a/scripts/gen_symbol_header.awk
+++ b/scripts/gen_symbol_header.awk
@@ -117,6 +117,10 @@ END {
                                gsub(/@|\./, "_", sym_real_name);
                        }
 
+                       # Avoid libc's symbol rename via #define. musl defines 
aliases as:
+                       # #define mkstemp64 mkstemp
+                       # #define mkstemps64 mkstemps
+                       printf("#undef %s\n", sym_index);
                        printf("#define symname_%s \"%s\"\n", sym_real_name, 
sym_index);
 
                        # We handle non-versioned libc's by setting symver_*

Reply via email to