summaryrefslogtreecommitdiff
path: root/patches/libfloat/990616.orig/200-cross_compile.patch
diff options
context:
space:
mode:
Diffstat (limited to 'patches/libfloat/990616.orig/200-cross_compile.patch')
-rw-r--r--patches/libfloat/990616.orig/200-cross_compile.patch63
1 files changed, 63 insertions, 0 deletions
diff --git a/patches/libfloat/990616.orig/200-cross_compile.patch b/patches/libfloat/990616.orig/200-cross_compile.patch
new file mode 100644
index 0000000..640008c
--- /dev/null
+++ b/patches/libfloat/990616.orig/200-cross_compile.patch
@@ -0,0 +1,63 @@
+When linking, call directly ld in place of the gcc wrapper, because the wrapper
+will try to link with -lfloat, which we don't have right now...
+
+Simplify CFLAGS to stay ABI compliant (ot so I guess)...
+
+diff -dur libfloat.orig/Makefile libfloat/Makefile
+--- libfloat.orig/Makefile 2007-02-16 19:38:55.000000000 +0100
++++ libfloat/Makefile 2007-02-16 19:46:23.000000000 +0100
+@@ -1,8 +1,11 @@
+ # Makefile for the Linux soft-float library
+
+-CC=gcc -O2 -freg-struct-return -fomit-frame-pointer -D__LIBFLOAT__
+-#CC=gcc -g -O2 -freg-struct-return -D__LIBFLOAT__
+-AR=ar
++AR=$(CROSS_COMPILE)ar
++#CFLAGS=-O2 -freg-struct-return -fomit-frame-pointer -D__LIBFLOAT__
++CFLAGS=-O2 -D__LIBFLOAT__
++CC=$(CROSS_COMPILE)gcc
++LDFLAGS=-shared -nostdlib
++LD=$(CROSS_COMPILE)ld
+
+ all: libfloat.a libfloat.so.1
+
+@@ -12,28 +13,31 @@
+
+ libfloat.so.1: softfloat.os fplib_glue.os
+ rm -f libfloat.so.1
+- gcc -shared -Wl,-soname,libfloat.so.1 softfloat.os fplib_glue.os -o libfloat.so.1
++ $(LD) $(LDFLAGS) -soname=libfloat.so.1 softfloat.os fplib_glue.os -o libfloat.so.1
+
+ softfloat.o: softfloat/bits64/softfloat.c
+- $(CC) -c -o softfloat.o -Isoftfloat/bits64/ARM-gcc softfloat/bits64/softfloat.c
++ $(CC) $(CFLAGS) -c -o softfloat.o -Isoftfloat/bits64/ARM-gcc softfloat/bits64/softfloat.c
+
+ fplib_glue.o: fplib_glue.S
+- $(CC) -c -o fplib_glue.o fplib_glue.S
++ $(CC) $(CFLAGS) -c -o fplib_glue.o fplib_glue.S
+
+ softfloat.os: softfloat/bits64/softfloat.c
+- $(CC) -fpic -c -o softfloat.os -Isoftfloat/bits64/ARM-gcc softfloat/bits64/softfloat.c
++ $(CC) $(CFLAGS) -fpic -c -o softfloat.os -Isoftfloat/bits64/ARM-gcc softfloat/bits64/softfloat.c
+
+ fplib_glue.os: fplib_glue.S
+- $(CC) -fpic -c -o fplib_glue.os fplib_glue.S
++ $(CC) $(CFLAGS) -fpic -c -o fplib_glue.os fplib_glue.S
+
+ install: libfloat.a libfloat.so.1
+- cp -a libfloat.a $(DESTDIR)/usr/lib
+- cp -a libfloat.so.1 $(DESTDIR)/usr/lib
+- cd $(DESTDIR)/usr/lib; ln -s libfloat.so.1 libfloat.so
++ install -d -m 755 "$(DESTDIR)/usr/lib"
++ install -m 755 libfloat.a "$(DESTDIR)/usr/lib"
++ install -m 755 libfloat.so.1 "$(DESTDIR)/usr/lib"
++ cd $(DESTDIR)/usr/lib
++ ln -s libfloat.so.1 libfloat.so
+
+ clean:
+ rm -f *.o
+ rm -f *.os
+ rm -f libfloat.a
+ rm -f libfloat.so.1
++ rm -f libfloat.so
+ rm -f *~