SEARCH  

NEWS

2010.10.06:11:36:28
Apple zapłaci 625,5 mln USD za naruszenie patentów?
Sąd uznał winę firmy Stevea Jobsa i nakazał jej wypłatę ogromnego odszkodowania. Ta jednak uważa, że racja jest po jej stronie i zapowiada dalszą walkę.

 

messageID:576760007314
author:Dmitri Vorobiev
title:Re MIPS toolchain
On Wed, Jul 16, 2008 at 10:32:28AM +0300, Dmitri Vorobiev wrote: The linux-mips.org Web site recommends gcc 3.4.4 to build the MIPS kernel. However: <<<<<<<<<<<<<<<<<< [dmitri.vorobiev@amber linux-2.6]$ mips-unknown-linux-gnu-gcc -v Reading specs from /home/dmitri.vorobiev/Projects/misc/zoo/lib/gcc/mips-unknown-linux-gnu/3.4.4/specs Configured with: ../src/gcc-3.4.4/configure --prefix=/home/dmitri.vorobiev/Projects/misc/zoo --target=mips-unknown-linux-gnu --disable-nls --without-headers --with-gnu-ld --with-gnu-as --disable-shared --disable-threads Thread model: single gcc version 3.4.4 [dmitri.vorobiev@amber linux-2.6]$ make ARCH=mips CROSS_COMPILE=mips-unknown-linux-gnu- CHK include/linux/version.h CHK include/linux/utsrelease.h CALL scripts/checksyscalls.sh CC init/main.o include/asm/bitops.h: In function `start_kernel: include/asm/bitops.h:76: warning: asm operand 2 probably doesnt match constraints include/asm/bitops.h:76: warning: asm operand 2 probably doesnt match constraints include/asm/bitops.h:76: warning: asm operand 2 probably doesnt match constraints include/asm/bitops.h:76: error: impossible constraint in `asm include/asm/bitops.h:76: error: impossible constraint in `asm include/asm/bitops.h:76: error: impossible constraint in `asm make[1]: *** [init/main.o] Error 1 make: *** [init] Error 2 [dmitri.vorobiev@amber linux-2.6]$ <<<<<<<<<<<<<<<<<< Kernel build goes smoothly for me with this gcc version: <<<<<<<<<<<<<<<<<< [dmitri.vorobiev@amber linux-2.6]$ mips-unknown-linux-gnu-gcc -v Using built-in specs. Target: mips-unknown-linux-gnu Configured with: ../gcc-4.3.0/configure --target=mips-unknown-linux-gnu --disable-nls --disable-threads --disable-shared --disable-multilib --disable-libmudflap --disable-libssp --prefix=/home/dmitri.vorobiev/Projects/misc/zoo/4.3-toolchain --with-gmp=/home/dmitri.vorobiev/Projects/misc/zoo/ --with-mfpr=/home/dmitri.vorobiev/Projects/misc/zoo --without-headers --with-gnu-as=/tmp/cross/ --with-gnu-ld=/tmp/cross/ --disable-libgcc --enable-languages=c --disable-libgomp Thread model: single gcc version 4.3.0 (GCC) [dmitri.vorobiev@amber linux-2.6]$ <<<<<<<<<<<<<<<<<< What I would like to know is which gcc/binutils versions are currently the blessed ones. Thanks. Anything from gcc 3.2 to 4.3 is supposed to work for 32-bit kernels; 3.3 to 4.3 are the blessed ones for 64-bit kernels. Ill look into that build problem ... hmm... First thing Im hitting with 3.4.6 and binutils 2.18 is: [ralf@denk linux-mips]$ make malta_defconfig [ralf@denk linux-mips]$ nice -19 make cc1: error: unrecognized command line option "-fno-stack-protector" scripts/kconfig/conf -s arch/mips/Kconfig cc1: error: unrecognized command line option "-fno-stack-protector" With the offending line in the main Makefile commented out I get the same error messages as you. Initial fix below. Ralf Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx diff --git a/include/asm-mips/bitops.h b/include/asm-mips/bitops.h index 9a7274b..49df8c4 100644 --- a/include/asm-mips/bitops.h +++ b/include/asm-mips/bitops.h @@ -82,7 +82,7 @@ static inline void set_bit(unsigned long nr, volatile unsigned long *addr) "2: b 1b " " .previous " : "=&r" (temp), "=m" (*m) - : "i" (bit), "m" (*m), "r" (~0)); + : "ir" (bit), "m" (*m), "r" (~0)); #endif /* CONFIG_CPU_MIPSR2 */ } else if (cpu_has_llsc) { __asm__ __volatile__( @@ -147,7 +147,7 @@ static inline void clear_bit(unsigned long nr, volatile unsigned long *addr) "2: b 1b " " .previous " : "=&r" (temp), "=m" (*m) - : "i" (bit), "m" (*m)); + : "ir" (bit), "m" (*m)); #endif /* CONFIG_CPU_MIPSR2 */ } else if (cpu_has_llsc) { __asm__ __volatile__( @@ -428,7 +428,7 @@ static inline int test_and_clear_bit(unsigned long nr, "2: b 1b " " .previous " : "=&r" (temp), "=m" (*m), "=&r" (res) - : "i" (bit), "m" (*m) + : "ir" (bit), "m" (*m) : "memory"); #endif } else if (cpu_has_llsc) {
Index