[uClibc]get-needed-libgcc-objects.sh

michaels at jungo.com michaels at jungo.com
Thu Mar 22 16:06:39 UTC 2001


I have solved several cross-compilation problems for the mentioned
sript.
See the attached patch.

Do you guys cross-compile it ever? :-)?

-- 
Sincerely yours,
Michael Shmulevich
______________________________________
Software Developer
Jungo - R&D 
email: michaels at jungo.com
web: http://www.jungo.com
Phone: 1-877-514-0537(USA)  +972-9-8859365(Worldwide) ext. 233
Fax:   1-877-514-0538(USA)  +972-9-8859366(Worldwide)
-------------- next part --------------
Index: extra/scripts/get-needed-libgcc-objects.sh
===================================================================
RCS file: /arch/cvs/rg/pkg/ulibc/extra/scripts/get-needed-libgcc-objects.sh,v
retrieving revision 1.1.1.1
diff -u -r1.1.1.1 get-needed-libgcc-objects.sh
--- extra/scripts/get-needed-libgcc-objects.sh	2001/03/15 12:25:25	1.1.1.1
+++ extra/scripts/get-needed-libgcc-objects.sh	2001/03/22 16:04:36
@@ -12,19 +12,19 @@
 # Possible problems (paranioa mode):  Are any of the objects in libgcc.a
 # needed to actually load the shared library on any archs?
 
-LIBGCC=`$CC -print-libgcc-file-name`
+LIBGCC=`${CROSS}gcc -print-libgcc-file-name`
 
 echo Finding missing symbols in libc.a ...
 echo "    partial linking..."
 rm -f libc.ldr
-ld -r -o libc.ldr ../crt0.o *.o
+$LD -r -o libc.ldr ../crt0.o *.o
 
-if nm -s libc.ldr | grep -v " main$" | grep " U " > sym.need ; then
+if $NM -s libc.ldr | grep -v " main$" | grep " U " > sym.need ; then
     rm -f obj.need
     touch obj.need
     for SYM in `cat sym.need | sed -e 's/ U //g'` ; do
-	if nm -s $LIBGCC | grep -q $SYM" in " ; then
-	    nm -s $LIBGCC | grep $SYM" in " | cut -d' ' -f3 >> obj.need
+	if $NM -s $LIBGCC | grep -q $SYM" in " ; then
+	    $NM -s $LIBGCC | grep $SYM" in " | cut -d' ' -f3 >> obj.need
 	else
 	    echo Symbol $SYM needed by libc.a but not found in libgcc.a
 	fi
@@ -36,7 +36,7 @@
 
 rm -rf tmp-gcc
 mkdir tmp-gcc
-(cd tmp-gcc ; ar -x $LIBGCC)
+(cd tmp-gcc ; $AR x $LIBGCC)
 rm libgcc.ldr
 
 echo Extracting referenced libgcc.a objects ...
@@ -46,10 +46,10 @@
 while [ -s obj.need ] && ! cmp -s obj.need obj.need.0 ; do
     (cd tmp-gcc ; cat ../obj.need | xargs ld -r -o ../libgcc.ldr)
     cp obj.need obj.need.0
-    if nm -s libgcc.ldr | grep " U " > sym.need ; then
+    if $NM -s libgcc.ldr | grep " U " > sym.need ; then
 	for SYM in `cat sym.need | sed -e 's/ U //g'` ; do
-	    if nm -s $LIBGCC | grep -q $SYM" in " ; then
-		nm -s $LIBGCC | grep $SYM" in " | cut -d' ' -f3 >> obj.need
+	    if $NM -s $LIBGCC | grep -q $SYM" in " ; then
+		$NM -s $LIBGCC | grep $SYM" in " | cut -d' ' -f3 >> obj.need
 	    fi
 	done
     fi


More information about the uClibc mailing list