[uClibc-cvs] uClibc/extra/scripts get-needed-libgcc-objects.sh,1.17,1.18 initfini.awk,1.7,1.8
Erik Andersen
andersen at codepoet.org
Mon Mar 3 20:58:51 UTC 2003
Update of /var/cvs/uClibc/extra/scripts
In directory winder:/tmp/cvs-serv13798/extra/scripts
Modified Files:
get-needed-libgcc-objects.sh initfini.awk
Log Message:
Initial effort at adding profiling support.
Index: get-needed-libgcc-objects.sh
===================================================================
RCS file: /var/cvs/uClibc/extra/scripts/get-needed-libgcc-objects.sh,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -d -r1.17 -r1.18
--- get-needed-libgcc-objects.sh 27 Nov 2002 23:34:02 -0000 1.17
+++ get-needed-libgcc-objects.sh 3 Mar 2003 20:57:16 -0000 1.18
@@ -20,7 +20,7 @@
rm -f libc.ldr
$LD $LDFLAGS -r -o libc.ldr $CRTOBJS --whole-archive ../libc.a
-if $NM --undefined-only libc.ldr 2>&1 | grep -v "^main$" | grep -v "^_GLOBAL_OFFSET_TABLE_$" | grep -v "_gp_disp" > sym.need ; then
+if $NM --undefined-only libc.ldr 2>&1 | grep -v "^main$" | grep -v "^_GLOBAL_OFFSET_TABLE_$" | grep -v "_gp_disp" | grep -v "^etext$" | grep -v "^__gmon_start__$" > sym.need ; then
EXIT_WITH_ERROR=0
rm -f obj.need
touch obj.need
Index: initfini.awk
===================================================================
RCS file: /var/cvs/uClibc/extra/scripts/initfini.awk,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -d -r1.7 -r1.8
--- initfini.awk 23 Jan 2003 15:34:28 -0000 1.7
+++ initfini.awk 3 Mar 2003 20:57:16 -0000 1.8
@@ -12,6 +12,7 @@
system("/bin/rm -f crt[in].S");
omitcrti=0;
omitcrtn=0;
+ do_sh_specials = 0;
glb_idx = 0;
while(getline < "initfini.S")
{ if(/\.endp/) {endp=1}
@@ -30,11 +31,11 @@
close("initfini.S");
}
# special rules for the SuperH targets (They do nothing on other targets)
-/SH_GLB_BEGINS/ && glb_idx==0 {omitcrti +=1}
+/SH_GLB_BEGINS/ && glb_idx==0 {omitcrti +=1;do_sh_specials++}
/_init_SH_GLB/ && glb_idx>=1 {print glb_label[0] glb >> "crti.S"}
/_fini_SH_GLB/ && glb_idx>=2 {print glb_label[1] glb >> "crti.S"}
/SH_GLB_ENDS/ && glb_idx==0 {omitcrti -=1}
-/SH_GLB/ || /_GLOBAL_OFFSET_TABLE_/{getline}
+/SH_GLB/ || /_GLOBAL_OFFSET_TABLE_/ && do_sh_specials>=1 {getline}
# special rules for H8/300 (sorry quick hack)
/.h8300h/ {end=0}
@@ -49,6 +50,10 @@
/EPILOG_BEGINS/{omitcrtn=0;getline}
/EPILOG_ENDS/{omitcrtn=1;getline}
/TRAILER_BEGINS/{omitcrti=0;omitcrtn=0;getline}
+/GMON_STUFF_BEGINS/{omitcrtn=1;getline}
+/GMON_STUFF_PAUSES/{omitcrtn=0;getline}
+/GMON_STUFF_UNPAUSES/{omitcrtn=1;getline}
+/GMON_STUFF_ENDS/{omitcrtn=0;getline}
/END_INIT/ \
{ if(endp)
More information about the uClibc-cvs
mailing list