summaryrefslogtreecommitdiff
path: root/extra/scripts/defs.awk
blob: 1716fb1372ab377e518d5aa347273f07706ec7e1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
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__)";
}