aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makeconfig2
-rw-r--r--scripts/gen-tunables.awk14
2 files changed, 12 insertions, 4 deletions
diff --git a/Makeconfig b/Makeconfig
index 2981936..2d4343b 100644
--- a/Makeconfig
+++ b/Makeconfig
@@ -1265,7 +1265,7 @@ $(common-objpfx)dl-tunable-list.stmp: \
$(..)elf/dl-tunables.list \
$(wildcard $(subdirs:%=$(..)%/dl-tunables.list)) \
$(wildcard $(sysdirs:%=%/dl-tunables.list))
- $(AWK) -f $^ > ${@:stmp=T}
+ LC_ALL=C $(AWK) -f $^ > ${@:stmp=T}
$(move-if-change) ${@:stmp=T} ${@:stmp=h}
touch $@
diff --git a/scripts/gen-tunables.awk b/scripts/gen-tunables.awk
index fc3b413..d9f326b 100644
--- a/scripts/gen-tunables.awk
+++ b/scripts/gen-tunables.awk
@@ -131,6 +131,11 @@ END {
exit 1
}
+ # TYPES is an associative array where the index is the data
+ # TYPESA is an indexed array where the value is the data
+ # We sort TYPESA
+ typecount = asorti (types, typesa)
+
print "/* AUTOGENERATED by gen-tunables.awk. */"
print "#ifndef _TUNABLES_H_"
print "# error \"Do not include this file directly.\""
@@ -141,7 +146,8 @@ END {
# Now, the enum names
print "\ntypedef enum"
print "{"
- for (tnm in types) {
+ for (i = 1; i <= typecount; i++) {
+ tnm = typesa[i];
split (tnm, indices, SUBSEP);
t = indices[1];
n = indices[2];
@@ -157,7 +163,8 @@ END {
print "# include \"dl-tunable-types.h\""
# Finally, the tunable list.
print "static tunable_t tunable_list[] attribute_relro __attribute_used__ = {"
- for (tnm in types) {
+ for (i = 1; i <= typecount; i++) {
+ tnm = typesa[i];
split (tnm, indices, SUBSEP);
t = indices[1];
n = indices[2];
@@ -172,7 +179,8 @@ END {
# Map of tunable with environment variables aliases used during parsing. */
print "\nstatic const tunable_id_t tunable_env_alias_list[] ="
printf "{\n"
- for (tnm in types) {
+ for (i = 1; i <= typecount; i++) {
+ tnm = typesa[i];
split (tnm, indices, SUBSEP);
t = indices[1];
n = indices[2];