فهرست منبع

Fix up some problems noted by August Hoerandl <ahoerandl@gmx.at>
when cross compiling with shared lib support, there were spots
where the native 'ld' was mistakenly being called.

Eric Andersen 25 سال پیش
والد
کامیت
d13d4ad946
2فایلهای تغییر یافته به همراه4 افزوده شده و 4 حذف شده
  1. 3 3
      extra/scripts/get-needed-libgcc-objects.sh
  2. 1 1
      libc/Makefile

+ 3 - 3
extra/scripts/get-needed-libgcc-objects.sh

@@ -17,7 +17,7 @@ LIBGCC=`$CC -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 --whole-archive ../libc.a
+$LD -r -o libc.ldr ../crt0.o --whole-archive ../libc.a
 
 if nm --undefined-only libc.ldr | grep -v "^main$" > sym.need ; then
     rm -f obj.need
@@ -44,7 +44,7 @@ echo Extracting referenced libgcc.a objects ...
 rm -f obj.need.0
 touch obj.need.0
 while [ -s obj.need ] && ! cmp -s obj.need obj.need.0 ; do
-    (cd tmp-gcc ; cat ../obj.need | xargs ld -r -o ../libgcc.ldr)
+    (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
 	for SYM in `cat sym.need | sed -e 's/ U //g'` ; do
@@ -72,4 +72,4 @@ if [ -s sym.need ] ; then
 else
     echo Done
 fi
-exit 0
+exit 0

+ 1 - 1
libc/Makefile

@@ -43,7 +43,7 @@ $(LIBNAME): subdirs
 shared: $(TOPDIR)lib/$(LIBNAME)
 	@rm -rf tmp
 	@mkdir tmp
-	@(cd tmp; CC=$(CC) /bin/sh ../../extra/scripts/get-needed-libgcc-objects.sh)
+	@(cd tmp; CC=$(CC) LD=$(LD) /bin/sh ../../extra/scripts/get-needed-libgcc-objects.sh)
 	if [ -s ./tmp/libgcc-need.a ] ; then \
 		$(CC) -g $(LDFLAGS) -shared -o $(SHARED_FULLNAME) \
 		    -Wl,-soname=$(SHARED_MAJORNAME) -Wl,--whole-archive \