1/^[ 	]*\.endp/	 { need_endp = 1 }
2/^[ 	]*\.end/	 { need_end = 1 }
3/^[ 	]*\.align/ { if($2 > max) max = $2; }
4
5END {
6    if(need_endp)
7    {
8	print "#define END_INIT .endp _init";
9	print "#define END_FINI .endp _fini";
10    } else if(need_end)
11    {
12	print "#define END_INIT .end _init";
13	print "#define END_FINI .end _fini";
14    }
15    else
16    {
17	print "#define END_INIT";
18	print "#define END_FINI";
19    }
20    if(max)
21	print "#define ALIGN .align", max;
22    else
23	print "#define ALIGN";
24
25    print "#include <libc-symbols.h>";
26    #print "weak_extern (__gmon_start__)";
27}
28