aboutsummaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
Diffstat (limited to 'scripts')
-rw-r--r--scripts/gen-tunables.awk14
1 files changed, 11 insertions, 3 deletions
diff --git a/scripts/gen-tunables.awk b/scripts/gen-tunables.awk
index fc3b41376f..d9f326b63b 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];