This is the mail archive of the crossgcc@sources.redhat.com mailing list for the crossgcc project.
See the CrossGCC FAQ for lots more information.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
So it appears that this -many is added by the following patch file: crosstool-0.28-rc25/patches/gcc-3.4.0/gcc-3.3.3h-ppc-asm-spec.patch The comment in the patch file states: <quote> (I'm not so sure about the unconditional -many it sends to binutils; that seems redundant?) </quote> Is this really required? It seems to cause some trouble (at least to me). I'll try to regenerate it without this option. Regards JC On Mon, 2004-06-28 at 14:41, Jean-Christophe Dubois wrote: > Hi, > > So the problem seems to come from some functions defined in > asm-ppc/time.h > > extern __inline__ unsigned long get_tbl(void) { > unsigned long tbl; > #if defined(CONFIG_403GCX) > asm volatile("mfspr %0, 0x3dd" : "=r" (tbl)); > #else > asm volatile("mftb %0" : "=r" (tbl)); > #endif > return tbl; > } > > extern __inline__ unsigned long get_tbu(void) { > unsigned long tbl; > #if defined(CONFIG_403GCX) > asm volatile("mfspr %0, 0x3dc" : "=r" (tbl)); > #else > asm volatile("mftbu %0" : "=r" (tbl)); > #endif > return tbl; > } > > These functions will generate different ASM code for different PPC > processors. And it seems mftbX functions are not valid for PPC403 > processors. > > Therefore assembling with -many does fail (because PPC403 doens't > support it). > > So is there a way to prevent -many to be passed to the assembler? > > Thanks > > JC > > On Mon, 2004-06-28 at 12:06, Jean-Christophe Dubois wrote: > > Hi, > > > > I manage to generate the cross tool chain for GCC 3.4.0/GLIBC > > 2.3.2/Binutils 2.14 on my Solaris 8 systems. All seems to be well. > > > > But I then tried to cross-compile the linux kernel and ran into some > > problem. You can find the verbose trace bellow. It looks like there is a > > problem in the way gcc calls as. In my case as is called with "-mppc > > -maltivec -many". While the 2 first one seems OK, the last one "-many" > > prevent as from decoding correctly the "mftbX" operation that are > > generated under #APPS #NO_HAPPS in the assembly file. > > > > Would anybody have an idea on what can cause this problem or how to > > prevent gcc to pass -many to as. > > > > Thanks > > > > JC > > > > powerpc-7400-linux-gnu-gcc: warning: -pipe ignored because -save-temps > > specified > > Reading specs from > > /vobs/target_tools/sparc-unknown-solaris-gnu/powerpc-7400-linux-gnu/gcc-3.4.0-glibc-2.3.2/lib/gcc/powerpc-7400-linux-gnu/3.4.0/specs > > Configured with: > > /export/home/jdubois/crosstool-0.28-rc25/build/powerpc-7400-linux-gnu/gcc-3.4.0-glibc-2.3.2/gcc-3.4.0/configure --target=powerpc-7400-linux-gnu --host=sparc-host_sun-solaris2.8 --prefix=/vobs/target_tools/sparc-unknown-solaris-gnu/powerpc-7400-linux-gnu/gcc-3.4.0-glibc-2.3.2 --with-cpu=7400 --enable-altivec --with-headers=/vobs/target_tools/sparc-unknown-solaris-gnu/powerpc-7400-linux-gnu/gcc-3.4.0-glibc-2.3.2/powerpc-7400-linux-gnu/include --with-local-prefix=/vobs/target_tools/sparc-unknown-solaris-gnu/powerpc-7400-linux-gnu/gcc-3.4.0-glibc-2.3.2/powerpc-7400-linux-gnu --disable-nls --enable-threads=posix --enable-symvers=gnu --enable-__cxa_atexit --enable-languages=c,c++ --enable-shared --enable-c99 --enable-long-long > > Thread model: posix > > gcc version 3.4.0 > > > > /vobs/target_tools/sparc-unknown-solaris-gnu/powerpc-7400-linux-gnu/gcc-3.4.0-glibc-2.3.2/libexec/gcc/powerpc-7400-linux-gnu/3.4.0/cc1 -E -quiet -nostdinc -v -Iinclude -Iarch/ppc -Iinclude -Iarch/ppc -Iarch/ppc -D__unix__ -D__gnu_linux__ -D__linux__ -Dunix -D__unix -Dlinux -D__linux -Asystem=linux -Asystem=unix -Asystem=posix -D__KERNEL__ -D__KERNEL__ -DKBUILD_BASENAME=time -DKBUILD_MODNAME=time -iwithprefix include -MD arch/ppc/kernel/.time.o.d arch/ppc/kernel/time.c -msoft-float -mcpu=7400 -Wall -Wstrict-prototypes -Wno-trigraphs -Wno-uninitialized -Wdeclaration-after-statement -fno-strict-aliasing -fno-common -ffixed-r2 -fomit-frame-pointer -O2 -o time.i > > ignoring duplicate directory "include" > > ignoring duplicate directory "arch/ppc" > > ignoring duplicate directory "arch/ppc" > > #include "..." search starts here: > > #include <...> search starts here: > > include > > arch/ppc > > > > /vobs/target_tools/sparc-unknown-solaris-gnu/powerpc-7400-linux-gnu/gcc-3.4.0-glibc-2.3.2/lib/gcc/powerpc-7400-linux-gnu/3.4.0/include > > End of search list. > > > > /vobs/target_tools/sparc-unknown-solaris-gnu/powerpc-7400-linux-gnu/gcc-3.4.0-glibc-2.3.2/libexec/gcc/powerpc-7400-linux-gnu/3.4.0/cc1 -fpreprocessed time.i -quiet -dumpbase time.c -msoft-float -mcpu=7400 -auxbase-strip arch/ppc/kernel/.tmp_time.o -O2 -Wall -Wstrict-prototypes -Wno-trigraphs -Wno-uninitialized -Wdeclaration-after-statement -version -fno-strict-aliasing -fno-common -ffixed-r2 -fomit-frame-pointer -o time.s > > GNU C version 3.4.0 (powerpc-7400-linux-gnu) > > compiled by GNU C version 3.3.2. > > GGC heuristics: --param ggc-min-expand=100 --param > > ggc-min-heapsize=131072 > > arch/ppc/kernel/time.c: In function `timer_interrupt': > > arch/ppc/kernel/time.c:199: warning: use of compound expressions as > > lvalues is deprecated > > arch/ppc/kernel/time.c: In function `time_init': > > arch/ppc/kernel/time.c:348: warning: use of compound expressions as > > lvalues is deprecated > > > > /vobs/target_tools/sparc-unknown-solaris-gnu/powerpc-7400-linux-gnu/gcc-3.4.0-glibc-2.3.2/lib/gcc/powerpc-7400-linux-gnu/3.4.0/../../../../powerpc-7400-linux-gnu/bin/as -mppc -maltivec -many -V -Qy -o arch/ppc/kernel/.tmp_time.o time.s > > GNU assembler version 2.14 (powerpc-7400-linux-gnu) using BFD version > > 2.14 20030612 > > time.s: Assembler messages: > > time.s:158: Error: Unrecognized opcode: `mftb' > > time.s:376: Error: Unrecognized opcode: `mftb' > > time.s:500: Error: Unrecognized opcode: `mftb' > > time.s:685: Error: Unrecognized opcode: `mftb' > > time.s:802: Error: Unrecognized opcode: `mftb' > > time.s:1016: Error: Unrecognized opcode: `mftbu' > > time.s:1017: Error: Unrecognized opcode: `mftb' > > time.s:1018: Error: Unrecognized opcode: `mftbu' ------ Want more information? See the CrossGCC FAQ, http://www.objsw.com/CrossGCC/ Want to unsubscribe? Send a note to crossgcc-unsubscribe@sources.redhat.com
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |