rm -f libc.ldr
$LD -r -o libc.ldr ../crt0.o --whole-archive ../libc.a
-if nm --undefined-only libc.ldr | grep -v "^main$" > sym.need ; then
+if $NM --undefined-only libc.ldr | grep -v "^main$" > 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
rm -rf tmp-gcc
mkdir tmp-gcc
-(cd tmp-gcc ; ar -x $LIBGCC)
+(cd tmp-gcc ; $AR -x $LIBGCC)
rm -f libgcc.ldr
echo Extracting referenced libgcc.a objects ...
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 --undefined-only libgcc.ldr > sym.need ; then
+ if $NM --undefined-only libgcc.ldr > 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
if [ -s obj.need.0 ] ; then
echo Objects added from $LIBGCC:
cat obj.need.0
- (cd tmp-gcc ; cat ../obj.need | xargs ar r ../libgcc-need.a)
+ (cd tmp-gcc ; cat ../obj.need | xargs $AR r ../libgcc-need.a)
else
echo No objects added from $LIBGCC.
fi