summaryrefslogtreecommitdiff
path: root/extra/scripts
diff options
context:
space:
mode:
Diffstat (limited to 'extra/scripts')
-rw-r--r--extra/scripts/defs.awk27
1 files changed, 27 insertions, 0 deletions
diff --git a/extra/scripts/defs.awk b/extra/scripts/defs.awk
new file mode 100644
index 000000000..7ca5a3364
--- /dev/null
+++ b/extra/scripts/defs.awk
@@ -0,0 +1,27 @@
+/^[ ]*\.endp/ { need_endp = 1 }
+/^[ ]*\.end/ { need_end = 1 }
+/^[ ]*\.align/ { if($2 > max) max = $2; }
+
+END {
+ if(need_endp)
+ {
+ print "#define END_INIT .endp _init";
+ print "#define END_FINI .endp _fini";
+ } else if(need_end)
+ {
+ print "#define END_INIT .end _init";
+ print "#define END_FINI .end _fini";
+ }
+ else
+ {
+ print "#define END_INIT";
+ print "#define END_FINI";
+ }
+ if(max)
+ print "#define ALIGN .align", max;
+ else
+ print "#define ALIGN";
+
+ print "#include <libc-symbols.h>";
+ print "weak_extern (__gmon_start__)";
+}