This is the mail archive of the libc-alpha@sources.redhat.com mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Trouble adding ColdFire support to glibc-2.2.5


I'm in the midst of adding ColdFire v4e support to glibc so I can
build linux applications, and I'm having some trouble.

I first modified gcc-3.2 to make the defaults in
gcc/config/m68k/linux.h only generate/accept ColdFire v4e opcodes, and
when I try to build glibc(after configuing it for m68k-linux), it
complains about: 

m68k-linux-gcc ../sysdeps/m68k/m68020/addmul_1.S -c  -I../include -I. -I/home/pbarada/work/cvs-wavemark/cross-linux-tools/obj/junk/m68k-linux/glibc/stdlib -I.. -I../libio  -I/home/pbarada/work/cvs-wavemark/cross-linux-tools/obj/junk/m68k-linux/glibc -I../sysdeps/m68k/elf -I../linuxthreads/sysdeps/unix/sysv/linux -I../linuxthreads/sysdeps/pthread -I../sysdeps/pthread -I../linuxthreads/sysdeps/unix/sysv -I../linuxthreads/sysdeps/unix -I../linuxthreads/sysdeps/m68k -I../sysdeps/unix/sysv/linux/m68k -I../sysdeps/unix/sysv/linux -I../sysdeps/gnu -I../sysdeps/unix/common -I../sysdeps/unix/mman -I../sysdeps/unix/inet -I../sysdeps/unix/sysv -I../sysdeps/unix -I../sysdeps/posix -I../sysdeps/m68k/m68020 -I../sysdeps/m68k -I../sysdeps/wordsize-32 -I../sysdeps/ieee754/ldbl-96 -I../sysdeps/ieee754/dbl-64 -I../sysdeps/ieee754/flt-32 -I../sysdeps/ieee754 -I../sysdeps/generic/elf -I../sysdeps/generic  -nostdinc -isystem /tmp/junk/lib/gcc-lib/m68k-linux/3.2/include -isystem /tmp/junk/m68k-linu!
!
!
x/include -D_LIBC_REENTRANT -include ../include/libc-symbols.h     -DASSEMBLER  -DMOTOROLA_SYNTAX  -o /home/pbarada/work/cvs-wavemark/cross-linux-tools/obj/junk/m68k-linux/glibc/stdlib/addmul_1.o
../sysdeps/m68k/m68020/addmul_1.S: Assembler messages:
../sysdeps/m68k/m68020/addmul_1.S:43: Error: operands mismatch -- statement `movem.l %d2-%d5,-(%sp)' ignored
../sysdeps/m68k/m68020/addmul_1.S:51: Error: invalid instruction for this architecture; needs 68000 or higher -- statement `eor.w #1,%d2' ignored
../sysdeps/m68k/m68020/addmul_1.S:61: Error: operands mismatch -- statement `mulu.l %d4,%d1:%d3' ignored
../sysdeps/m68k/m68020/addmul_1.S:66: Error: operands mismatch -- statement `mulu.l %d4,%d0:%d3' ignored
../sysdeps/m68k/m68020/addmul_1.S:71: Error: invalid instruction for this architecture; needs 68000 or higher -- statement `dbf %d2,.Loop' ignored
../sysdeps/m68k/m68020/addmul_1.S:77: Error: operands mismatch -- statement `movem.l (%sp)+,%d2-%d5' ignored
make[2]: *** [/home/pbarada/work/cvs-wavemark/cross-linux-tools/obj/junk/m68k-linux/glibc/stdlib/addmul_1.o] Error 1


This is due to glibc beliving that all 68k's support these
instructions which ColdFire does not.

1) What is the best way to get glibc built in a hurry so I can unblock
   others doing kernel development?

2) Can I disable the construction of sysdep/m68020(and are there
   generic functions to replace these 'sysdep' ones)?

3) How can I add a sysdep/m68k/coldfire directory and place in it the
   coldfire versions of those functions that it supports?

I think that 3 is the route I'll have to take in the long run, but I'm
looking around to see if there is any simpler method of solving this.

All help is most appreciated.

-- 
Peter Barada                                   Peter.Barada@motorola.com
Wizard                                         781-852-2768 (direct)
WaveMark Solutions(wholly owned by Motorola)   781-270-0193 (fax)


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]