Hi Bernhard, Bernhard Reutner-Fischer wrote, > On 4 September 2014 23:06, Bernhard Reutner-Fischer > <[email protected]> wrote: > > On 4 September 2014 20:47, Waldemar Brodkorb <[email protected]> wrote: > >> Hi, > >> > >> I am trying to compile uClibc master from today for m68k targeting > >> Aranym-mmu. The C library compiles, but the test-suite fails. > > > >> /home/vmadmin/openadk/toolchain_aranym-m68k_uclibc_m68k/usr/lib/gcc/m68k-openadk-linux-uclibc/4.8.3/../../../../m68k-openadk-linux-uclibc/bin/ld: > >> BFD (GNU Binutils) 2.24 assertion fail elf32-m68k.c:2641 > >> collect2: error: ld returned 1 exit status > >> > >> Is this commit related? > >> http://git.uclibc.org/uClibc/commit/?id=7a3acb243bc09f253a77faee7ee097a781f3eebe > > > > No, not directly related. > >> > >> It didn't work before, but may someone (Bernhard?) have an idea? > > FWIW, It can't find the GOT, I assume it's time to tweak our m68k ld..
May be I can give you some up to date information what is working for me on m68k architecture and what is not. There are two simulators available one for classic m68k and one for coldfire. Aranym-mmu works for classic m68k. Qemu-system-m68k works for coldfire mcf5208evb (5208 CPU) The Arnewsh 5206 Qemu-system-m68k emulation have no network card support. There is Qemu Fork for classic m68k emulation, but last time I tried, I didn't get it working. You can build a cross-toolchain with gcc 4.8.3 and binutils 2.24. For binutils no patches are required. For gcc I added two modifications to avoid building libatomics: http://www.openadk.org/cgi-bin/gitweb.cgi?p=openadk.git;a=blob;f=toolchain/gcc/patches/4.8.3/disable-atomics.m68k;h=4ab5532188cb59f7e5ae03aeabcc4a91c954d804;hb=HEAD And to avoid breaking compile with -msep-data: http://www.openadk.org/cgi-bin/gitweb.cgi?p=openadk.git;a=blob;f=toolchain/gcc/patches/4.8.3/disable-tm.m68k;h=02b5cb854e0e6a2ef20798096fda7aabe4cf857f;hb=HEAD See bugreports: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=54584 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53833 To complete your toolchain to build BFLTv4 binaries with your toolchain, you need to get a copy of elf2flt. (cvs.uclinux.org is dead and will eventually come back) I use following to setup the symlinks right: http://www.openadk.org/cgi-bin/gitweb.cgi?p=openadk.git;a=blob;f=toolchain/elf2flt/Makefile;h=a42398a3e364fd7e5968730fc01b9a278ee23c57;hb=HEAD You shouldn't need all of the above for a classic m68k toolchain to build an image, which works with Aranym-mmu. (gcc 4.9.1 works, too) For Qemu you need a patch: http://www.openadk.org/coldfire/qemu-2.1.0-m68k.patch To boot Linux you need two patches: One two get Linux to bootup from Thomas Petazzoni: http://www.openadk.org/cgi-bin/gitweb.cgi?p=openadk.git;a=blob;f=target/m68k/qemu-m68k/patches/3.16.1/qemu-coldfire.patch;h=503fe8ef3ec70952856c84f85ca5e6d88440b104;hb=HEAD And one if you want to bootup when you try to use ethernet from Greg Ungerer: http://www.openadk.org/cgi-bin/gitweb.cgi?p=openadk.git;a=blob;f=target/m68k/qemu-m68k/patches/3.16.1/m68k-coldfire-fec.patch;h=60dfadb6d2223336e12bf12042abe1349bfeebc5;hb=HEAD This thread on the uClinux mailinglist might be interesting: http://mailman.uclinux.org/pipermail/uclinux-dev/2014-August/052557.html For simple userland I use simpleinit/sash from uClinux project. http://sourceforge.net/projects/uclinux/files/uClinux%20Stable/dist-20140504/uClinux-dist-20140504.tar.bz2/download With busybox and hush I have a unresolved issue regarding the signal handling in uClibc (0.9.33.2/master are both problematic) See following thread for details: http://lists.busybox.net/pipermail/busybox/2014-August/081619.html And a simple testcase, which fails: http://lists.busybox.net/pipermail/busybox/2014-September/081659.html There are at least two other open problems, to get the signal handler problem solved: - get a working gdbserver/gdb combo for coldfire gdbserver fails to compile. (7.8) - ethernet in qemu does not work, fec driver does not find a ethernet nic To get more output from userland programs, use flthdr -k to enable kernel information. There is always a program.gdb file, which is useful to inspect via readelf. The test suite compiles for coldfire, but not for m68k classic. I sue following configs for uClibc: http://www.openadk.org/cgi-bin/gitweb.cgi?p=openadk.git;a=blob;f=target/m68k/uclibc-nommu.config;h=e7017d38e93e6c6ea1427ce01bc0771be3022e5e;hb=HEAD http://www.openadk.org/cgi-bin/gitweb.cgi?p=openadk.git;a=blob;f=target/m68k/uclibc.config;h=27b9e692310c2c05c72a2509662316415dae5ae5;hb=HEAD And following miniconfigs for the kernel: http://www.openadk.org/cgi-bin/gitweb.cgi?p=openadk.git;a=blob;f=target/m68k/kernel/aranym-m68k;h=ac513fdc6e2c6c72609577a680e4ad648ed30b18;hb=HEAD http://www.openadk.org/cgi-bin/gitweb.cgi?p=openadk.git;a=blob;f=target/m68k/kernel/qemu-m68k;h=681785452cf2d1bec86871ade25237c931dc3bff;hb=HEAD have fun and good luck, Waldemar _______________________________________________ uClibc mailing list [email protected] http://lists.busybox.net/mailman/listinfo/uclibc
