Ioannis E. VENETIS <venetis@mail.capsl.udel.edu> pointed out that GMP and MPFR were not used by gcc.
Turned out that none could use GMP and MPFR as the config option changed its name, but the change was not propagated to all users.
/trunk/scripts/build/binutils.sh | 2 1 1 0 +-
/trunk/scripts/build/debug/300-gdb.sh | 2 1 1 0 +-
/trunk/scripts/build/cc_gcc.sh | 6 3 3 0 +++---
3 files changed, 5 insertions(+), 5 deletions(-)
1 Reconstructed from http://lists.arm.linux.org.uk/pipermail/linux-arm-kernel/2003-December/018647.html
2 See also http://www.arm.linux.org.uk/developer/patches/viewpatch.php?id=1540
4 Message-ID: <DDA001.8070502@de.bosch.com>
5 Subject: Help cross compiling the kernel for arm.
6 From: dirk.behme at de.bosch.com
11 > I am having problems cross compiling the kernel for arm.
13 > This is the error message I get:
15 > blkpg.c: In function `blk_ioctl':
16 > blkpg.c:252: error: asm-specifier for variable `__r1' conflicts with asm clobber list
17 > blkpg.c:252: confused by earlier errors, bailing out make[3]: *** [blkpg.o] Error 1
18 > make[3]: Leaving directory `/root/toolchain/kernel-arm/linux-2.4.21/drivers/block'
19 > make[2]: *** [first_rule] Error 2
20 > make[2]: Leaving directory `/root/toolchain/kernel-arm/linux-2.4.21/drivers/block'
21 > make[1]: *** [_subdir_block] Error 2
22 > make[1]: Leaving directory `/root/toolchain/kernel-arm/linux-2.4.21/drivers'
23 > make: *** [_dir_drivers] Error 2
25 > These are the toolchain versions I am using:
26 > host=i686-pc-linux-gnu
27 > binutils_version=2.14
30 > kernel_version=2.4.21
31 > and applied the kernel patch for arm. 2.4.21-rmk1.
33 > I have also seen references to this bug in ARM linux
34 > Developer. Patch Number = 1540. But this patch is
35 > classified as discarded.
37 You need something like 1540 to compile 2.4.21 with gcc 3.3.2. 1540 was
38 discarded because of AFLAGS change.
43 -------------- next part --------------
44 --- linux/arch/arm/lib/getuser.S.orig Mon Nov 17 07:41:51 2003
45 +++ linux/arch/arm/lib/getuser.S Mon Nov 17 07:43:16 2003
48 * Inputs: r0 contains the address
49 * Outputs: r0 is the error code
50 - * r1, r2 contains the zero-extended value
51 + * r1, ip contains the zero-extended value
54 * No other registers must be altered. (see include/asm-arm/uaccess.h
55 @@ -42,14 +42,14 @@ __get_user_1:
61 - ldr r2, [r2, #TSK_ADDR_LIMIT]
66 + ldr ip, [ip, #TSK_ADDR_LIMIT]
69 2: ldrlsbt r1, [r0], #1
71 - orrls r1, r1, r2, lsl #8
73 + orrls r1, r1, ip, lsl #8
77 @@ -68,20 +68,20 @@ __get_user_4:
83 - ldr r2, [r2, #TSK_ADDR_LIMIT]
88 + ldr ip, [ip, #TSK_ADDR_LIMIT]
91 5: ldrlst r1, [r0], #4
105 --- linux/arch/arm/lib/putuser.S.orig Mon Nov 17 07:41:57 2003
106 +++ linux/arch/arm/lib/putuser.S Mon Nov 17 07:42:26 2003
110 * Inputs: r0 contains the address
111 - * r1, r2 contains the value
112 + * r1, ip contains the value
113 * Outputs: r0 is the error code
120 - bic r2, sp, #0x1f00
121 - bic r2, r2, #0x00ff
122 - ldr r2, [r2, #TSK_ADDR_LIMIT]
125 + bic ip, sp, #0x1f00
126 + bic ip, ip, #0x00ff
127 + ldr ip, [ip, #TSK_ADDR_LIMIT]
133 @@ -42,11 +42,11 @@ __put_user_1:
137 - bic r2, sp, #0x1f00
138 - bic r2, r2, #0x00ff
139 - ldr r2, [r2, #TSK_ADDR_LIMIT]
142 + bic ip, sp, #0x1f00
143 + bic ip, ip, #0x00ff
144 + ldr ip, [ip, #TSK_ADDR_LIMIT]
147 2: strlsbt r1, [r0], #1
150 @@ -56,11 +56,11 @@ __put_user_2:
154 - bic r2, sp, #0x1f00
155 - bic r2, r2, #0x00ff
156 - ldr r2, [r2, #TSK_ADDR_LIMIT]
159 + bic ip, sp, #0x1f00
160 + bic ip, ip, #0x00ff
161 + ldr ip, [ip, #TSK_ADDR_LIMIT]
167 @@ -74,7 +74,7 @@ __put_user_8:
170 5: strlst r1, [r0], #4
176 --- linux/include/asm-arm/uaccess.h.orig Mon Nov 17 07:41:04 2003
177 +++ linux/include/asm-arm/uaccess.h Mon Nov 17 07:41:37 2003
178 @@ -86,7 +86,7 @@ extern int __get_user_bad(void);
179 __get_user_x(__r1, __p, __e, 1, "lr"); \
182 - __get_user_x(__r1, __p, __e, 2, "r2", "lr"); \
183 + __get_user_x(__r1, __p, __e, 2, "ip", "lr"); \
186 __get_user_x(__r1, __p, __e, 4, "lr"); \
187 @@ -122,13 +122,13 @@ extern int __put_user_bad(void);
188 register int __e asm("r0"); \
189 switch (sizeof(*(p))) { \
191 - __put_user_x(__r1, __p, __e, 1, "r2", "lr"); \
192 + __put_user_x(__r1, __p, __e, 1, "ip", "lr"); \
195 - __put_user_x(__r1, __p, __e, 2, "r2", "lr"); \
196 + __put_user_x(__r1, __p, __e, 2, "ip", "lr"); \
199 - __put_user_x(__r1, __p, __e, 4, "r2", "lr"); \
200 + __put_user_x(__r1, __p, __e, 4, "ip", "lr"); \
203 __put_user_x(__r1, __p, __e, 8, "ip", "lr"); \