Hello, On Fri, 1 Jul 2016 19:17:59 -0500 (CDT) "John D. Baker" <[email protected]> wrote:
> I decided to try building evbmips-mips64el with GCC 5.4 (-V HAVE_GCC=53). > Starting with a completely empty OBJDIR/DESTDIR, etc., building eventually > failed with: > > [...] > --- ramdiskbin --- > # link ramdisk/ramdiskbin > /d0/build/current-gcc5/tools/amd64/bin/mips64el--netbsd-gcc > --sysroot=/d0/build/current-gcc5/DEST/evbmips -static -o ramdiskbin > ramdiskbin.o -Wl,-rpath-link,/d0/build/current-gcc5/DEST/evbmips/lib > -L=/lib cat.cro chmod.cro cp.cro date.cro dd.cro df.cro ed.cro ln.cro ls.cro > mkdir.cro mv.cro pax.cro ps.cro pwd.cro rm.cro rmdir.cro sh.cro stty.cro > sync.cro disklabel.cro fdisk.cro fsck.cro fsck_ext2fs.cro fsck_ffs.cro > fsck_msdos.cro ifconfig.cro init.cro mknod.cro mount.cro mount_cd9660.cro > mount_ext2fs.cro mount_ffs.cro mount_kernfs.cro mount_msdos.cro mount_nfs.cro > mount_tmpfs.cro newfs.cro newfs_ext2fs.cro newfs_msdos.cro ping.cro > reboot.cro restore.cro route.cro shutdown.cro slattach.cro swapctl.cro > sysctl.cro umount.cro chown.cro ftp.cro gzip.cro less.cro sed.cro tset.cro > vmstat.cro chroot.cro flashctl.cro sysinst.cro progress.cro libhack.o -ledit > -lutil -lcurses -lterminfo -lkvm -lrmt -lcrypt -ll -lm -llzma -lbz2 -lz > -lprop > /d0/build/current-gcc5/DEST/evbmips/usr/lib/libc.a(softfloat.o): In function > `__truncdfsf2': > softfloat.c:(.text+0x35f8): multiple definition of `__truncdfsf2' > /d0/build/current-gcc5/DEST/evbmips/usr/lib/libgcc.a(truncdfsf2.o):(.text+0x0): > first defined here > collect2: error: ld returned 1 exit status > *** [ramdiskbin] Error code 1 > nbmake[7]: stopped in > /d0/build/current-gcc5/obj/mips64el/distrib/evbmips/instkernel/ramdisk > 1 error > [...] That looks like some softfloat support is messed up. Weird. I haven't seen that but I didn't build softfloat userlands lately. > I understand others have been experimentally building evbmips (-mips64eb > at least) w/GCC 5.4. Did you run into this and if so, what works around > it? I have userlands and kernels built with binutils 2.26 and gcc 5.4 working on Loongson ( LP64 kernel, n32 userland ), sgimips64 ( kernel and userland n32 ), both with MKSOFTFLOAT=no, and on CI20 ( mips32r2, so everything is o32 ). Kernels work fine, userland on 64bit has some warts left - trunc.d.* instructions cause SIGILLs on sgimips64 and I get other, weirder problems on Loongson, mostly when building stuff from pkgsrc. Also, the compiler still defaults to softfloat output without -mhard-float for some reason. I suspect the root cause is the same on both though. have fun Michael
