yann@687
|
1 |
This patch (C) 2007 Yann E. MORIN
|
yann@687
|
2 |
Licensed under GPL v2.
|
yann@687
|
3 |
|
yann@687
|
4 |
First hunk of this patch solves compiling uClibc:
|
yann@687
|
5 |
|
yann@687
|
6 |
make[1]: Entering directory `/home/ymorin/x-tools/build/armeb-unknown-linux-uclibc/gcc-4.1.1-uClibc-0.9.28.1/build-libc'
|
yann@687
|
7 |
LD libuClibc-0.9.29.so
|
yann@687
|
8 |
libc/libc_so.a(difftime.os): In function `difftime':
|
yann@687
|
9 |
difftime.c:(.text+0x8): undefined reference to `__floatsidf'
|
yann@687
|
10 |
difftime.c:(.text+0x2c): undefined reference to `__subdf3'
|
yann@687
|
11 |
libc/libc_so.a(_fpmaxtostr.os): In function `_fpmaxtostr':
|
yann@687
|
12 |
_fpmaxtostr.c:(.text+0xd4): undefined reference to `__nedf2'
|
yann@687
|
13 |
_fpmaxtostr.c:(.text+0xf8): undefined reference to `__eqdf2'
|
yann@687
|
14 |
_fpmaxtostr.c:(.text+0x114): undefined reference to `__divdf3'
|
yann@687
|
15 |
_fpmaxtostr.c:(.text+0x120): undefined reference to `__ltdf2'
|
yann@687
|
16 |
_fpmaxtostr.c:(.text+0x1c4): undefined reference to `__muldf3'
|
yann@687
|
17 |
_fpmaxtostr.c:(.text+0x388): undefined reference to `__gedf2'
|
yann@687
|
18 |
_fpmaxtostr.c:(.text+0x430): undefined reference to `__adddf3'
|
yann@687
|
19 |
libc/libc_so.a(__psfs_do_numeric.os): In function `__psfs_do_numeric':
|
yann@687
|
20 |
__psfs_do_numeric.c:(.text+0x520): undefined reference to `__truncdfsf2'
|
yann@687
|
21 |
libc/libc_so.a(strtof.os): In function `strtof':
|
yann@687
|
22 |
strtof.c:(.text+0x1c): undefined reference to `__extendsfdf2'
|
yann@687
|
23 |
/home/ymorin/x-tools/build/armeb-unknown-linux-uclibc/gcc-4.1.1-uClibc-0.9.28.1/cc_core_prefix/lib/gcc/arm-linux-uclibc/4.1.1/libgcc.a(_fixunsdfsi.o):
|
yann@687
|
24 |
In function `__fixunsdfsi':
|
yann@687
|
25 |
libgcc2.c:(.text+0x34): undefined reference to `__fixdfsi'
|
yann@687
|
26 |
make[2]: *** [lib/libc.so] Error 1
|
yann@687
|
27 |
make[1]: *** [lib/libc.so.0] Error 2
|
yann@687
|
28 |
make[1]: Leaving directory `/home/ymorin/x-tools/build/armeb-unknown-linux-uclibc/gcc-4.1.1-uClibc-0.9.28.1/build-libc'
|
yann@687
|
29 |
make: *** [/home/ymorin/x-tools/build/armeb-unknown-linux-uclibc/gcc-4.1.1-uClibc-0.9.28.1/build-libc/lib/libc.a]
|
yann@687
|
30 |
Error 2
|
yann@687
|
31 |
|
yann@687
|
32 |
The second hunk fixes building final gcc because soft-float implies using -lfloat (which we don't have).
|
yann@687
|
33 |
|
yann@687
|
34 |
|
yann@687
|
35 |
diff -dur gcc-4.2.0.orig/gcc/config.gcc gcc-4.2.0/gcc/config.gcc
|
yann@687
|
36 |
--- gcc-4.2.0.orig/gcc/config.gcc 2007-07-15 11:24:18.000000000 +0200
|
yann@687
|
37 |
+++ gcc-4.2.0/gcc/config.gcc 2007-07-15 11:26:02.000000000 +0200
|
yann@687
|
38 |
@@ -721,7 +721,7 @@
|
yann@687
|
39 |
default_use_cxa_atexit=yes
|
yann@687
|
40 |
;;
|
yann@687
|
41 |
*)
|
yann@687
|
42 |
- tmake_file="$tmake_file arm/t-linux"
|
yann@687
|
43 |
+ tmake_file="$tmake_file arm/t-linux arm/t-arm-elf"
|
yann@687
|
44 |
;;
|
yann@687
|
45 |
esac
|
yann@687
|
46 |
tm_file="$tm_file arm/aout.h arm/arm.h"
|
yann@687
|
47 |
diff -dur gcc-4.2.0.orig/gcc/config/arm/linux-elf.h gcc-4.2.0/gcc/config/arm/linux-elf.h
|
yann@687
|
48 |
--- gcc-4.2.0.orig/gcc/config/arm/linux-elf.h 2007-07-15 11:24:18.000000000 +0200
|
yann@687
|
49 |
+++ gcc-4.2.0/gcc/config/arm/linux-elf.h 2007-07-15 11:26:02.000000000 +0200
|
yann@687
|
50 |
@@ -63,7 +63,7 @@
|
yann@687
|
51 |
%{shared:-lc} \
|
yann@687
|
52 |
%{!shared:%{profile:-lc_p}%{!profile:-lc}}"
|
yann@687
|
53 |
|
yann@687
|
54 |
-#define LIBGCC_SPEC "%{msoft-float:-lfloat} %{mfloat-abi=soft*:-lfloat} -lgcc"
|
yann@687
|
55 |
+#define LIBGCC_SPEC "-lgcc"
|
yann@687
|
56 |
|
yann@687
|
57 |
#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"
|
yann@687
|
58 |
|