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