diff options
author | Martin Schlemmer <azarah@gentoo.org> | 2005-12-01 01:00:40 +0000 |
---|---|---|
committer | Martin Schlemmer <azarah@gentoo.org> | 2005-12-01 01:00:40 +0000 |
commit | dd7fcf79c15562adeb22e4b08f326d4d40970082 (patch) | |
tree | 994302094f13e939cffe3b6ecf69df236e9003d7 /scripts | |
parent | Rename configure.in to configure.ac. (diff) | |
download | sandbox-dd7fcf79c15562adeb22e4b08f326d4d40970082.tar.gz sandbox-dd7fcf79c15562adeb22e4b08f326d4d40970082.tar.bz2 sandbox-dd7fcf79c15562adeb22e4b08f326d4d40970082.zip |
Fix non-versioned libc's to also prepend '__' to internal symbols by using
strong aliases.
Signed-off-by: Martin Schlemmer <azarah@gentoo.org>
Diffstat (limited to 'scripts')
-rw-r--r-- | scripts/gen_symbol_header.awk | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/scripts/gen_symbol_header.awk b/scripts/gen_symbol_header.awk index 0426106..f6e877d 100644 --- a/scripts/gen_symbol_header.awk +++ b/scripts/gen_symbol_header.awk @@ -27,7 +27,8 @@ END { # Defualt symbol have '@@' and not '@', so name it by # prepending '__' rather than the symbol version so # that we know what the name is in libsandbox.c ... - if (sym_full_names[x] ~ /@@/) { + # Also do this for non-versioned libc's ... + if (sym_full_names[x] ~ /@@/ || !symbol_array[2]) { sym_real_name = "__" sym_index; } else { sym_real_name = sym_full_names[x]; @@ -54,6 +55,9 @@ END { else printf("symbol_version(%s, %s, %s);\n", sym_real_name, sym_index, symbol_array[2]); + } else { + printf("strong_alias(%s, %s);\n", sym_real_name, + sym_index); } printf("\n"); |