This is the mail archive of the crossgcc@cygnus.com mailing list for the crossgcc project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
> Use elf for arbitrary named sections. See the archives for more > info. There was a thread recently on implementing --target=m68k-elf, > and it seems to me that there we some gotchas you had to overcome, and > the info to do so was posted. > > BTW The archives are at http://www.elilabs.com/xgccarc for your > browsing pleasure. I've read this thread and browsed once more through the archives but could not find any mentions about gotchas with m68k-elf. I've downloaded the patches and applied them with very little success. The build (one-tree-setup) fails with: > cp ../../src/gcc/config/m68k/lb1sf68.asm libgcc1.S > for name in _mulsi3 _udivsi3 [ many more deleted ... ] > do \ > echo ${name}; \ > /usr/local/spool1/maketemp/tmp/m68k-cross-gcc/build/gcc/xgcc -B/usr/local/spool1/maketemp/tmp/m68k-cross-gcc/build/gcc/ -Dinhibit_libc -O2 -DCROSS_COMPILE -DIN_GCC -O2 -fomit-frame-pointer -I./include -g1 -I. -I../../src/gcc -I../../src/gcc/config -c -DL${name} libgcc1.S; \ > if [ $? -eq 0 ] ; then true; else exit 1; fi; \ > mv libgcc1.o ${name}.o; \ > /usr/local/spool1/maketemp/tmp/m68k-cross-gcc/build/binutils/ar rc tmplibgcc1.a ${name}.o; \ > rm -f ${name}.o; \ > done > _mulsi3 > _udivsi3 > libgcc1.S: Assembler messages: > libgcc1.S:298: Error: operands mismatch -- statement `cmpl ' ignored > libgcc1.S:312: Error: operands mismatch -- statement `lsrl ' ignored > libgcc1.S:313: Error: operands mismatch -- statement `lsrl ' ignored > libgcc1.S:314: Error: operands mismatch -- statement `cmpl ' ignored > libgcc1.S:317: Error: operands mismatch -- statement `andl ' ignored > libgcc1.S:327: Error: operands mismatch -- statement `btst ' ignored > libgcc1.S:333: Error: operands mismatch -- statement `subql ' ignored > make[1]: *** [libgcc1-asm.a] Error 1 > make[1]: Leaving directory `/usr/local/spool1/maketemp/tmp/m68k-cross-gcc/build/gcc' > make: *** [all-gcc] Error 2 It seems that gas don't understand non-motorola-syntax. But it _do_ understand it with m68k-coff. I assume the problem arise because I use the one-tree-build. The absence of m68k.h in binutils-2.7/include/elf seem to confirm this assumption: > $ ls binutils-2.7/include/coff > ChangeLog aux-coff.h i860.h mips.h sparc.h z8k.h > a29k.h ecoff.h i960.h pe.h sym.h > alpha.h h8300.h internal.h powerpc.h symconst.h > apollo.h h8500.h m68k.h rs6000.h w65.h > arm.h i386.h m88k.h sh.h we32k.h > $ ls binutils-2.7/include/elf > ChangeLog common.h external.h internal.h ppc.h > alpha.h dwarf.h hppa.h mips.h sparc.h > root@raven:/usr/local/spool1/maketemp/tmp/m68k-cross-gcc.elf# Any suggestions?