[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