mirror of
https://sourceware.org/git/glibc.git
synced 2025-07-26 13:21:07 +03:00
Convert WORDSIZE[32|64]/ld entries to abi-variants
This commit is contained in:
@ -1,18 +1,17 @@
|
||||
# awk script for soversions.i -> gnu/lib-names.h; see Makeconfig.
|
||||
|
||||
$1 != "DEFAULT" { multi = 1 }
|
||||
|
||||
#
|
||||
{
|
||||
lib = $2;
|
||||
version = $3;
|
||||
if ($3 !~ /^[0-9]/) {
|
||||
soname = $3;
|
||||
extra = $3;
|
||||
split($1, fields, "=")
|
||||
lib = fields[1];
|
||||
soname = version = fields[2];
|
||||
sub(/^.*=/, "", soname);
|
||||
sub(/^lib.*\.so\./, "", version);
|
||||
if ($soname !~ /^lib/) {
|
||||
extra = soname;
|
||||
sub(/\.so.*$/, "", extra);
|
||||
}
|
||||
else {
|
||||
soname = lib ".so." $3;
|
||||
extra = "";
|
||||
}
|
||||
soname = "\"" soname "\"";
|
||||
@ -26,41 +25,9 @@ $1 != "DEFAULT" { multi = 1 }
|
||||
}
|
||||
|
||||
END {
|
||||
print "/* This file is automatically generated.";
|
||||
print " It defines macros to allow user program to find the shared";
|
||||
print " library files which come as part of GNU libc. */";
|
||||
print "#ifndef __GNU_LIB_NAMES_H";
|
||||
print "#define __GNU_LIB_NAMES_H 1";
|
||||
print "";
|
||||
|
||||
pfx = multi ? "# define " : "#define ";
|
||||
for (elt in macros) {
|
||||
split(elt, x);
|
||||
line = sprintf("%-40s%s", pfx x[2], macros[elt]);
|
||||
if (x[1] in lines)
|
||||
lines[x[1]] = lines[x[1]] "\n" line;
|
||||
else
|
||||
lines[x[1]] = line;
|
||||
pfx = multi ? "# define " : "#define ";
|
||||
printf("%-40s%s\n", pfx x[2], macros[elt]);
|
||||
}
|
||||
|
||||
if (multi) {
|
||||
# Print these in a fixed order so the result is identical
|
||||
# on both sides of the coin.
|
||||
if (!("WORDSIZE32" in lines))
|
||||
lines["WORDSIZE32"] = lines["DEFAULT"];
|
||||
if (!("WORDSIZE64" in lines))
|
||||
lines["WORDSIZE64"] = lines["DEFAULT"];
|
||||
print "#include <bits/wordsize.h>\n";
|
||||
print "#if __WORDSIZE == 32";
|
||||
cmd = "LC_ALL=C sort"; print lines["WORDSIZE32"] | cmd; close(cmd);
|
||||
print "#else"
|
||||
cmd = "LC_ALL=C sort"; print lines["WORDSIZE64"] | cmd; close(cmd);
|
||||
print "#endif";
|
||||
}
|
||||
else {
|
||||
cmd = "LC_ALL=C sort"; print lines["DEFAULT"] | cmd; close(cmd);
|
||||
}
|
||||
|
||||
print "";
|
||||
print "#endif /* gnu/lib-names.h */"
|
||||
}
|
||||
|
Reference in New Issue
Block a user