gcc -I. -Iinclude -mcpu=ultrasparc -O3 -pipe -c syscalls.s/errno.S -o bin-sparc64/errno.o sparc64/errlist.S: Assembler messages: sparc64/errlist.S:278: Fatal error: sparc64/errlist.S:11: bad return from bfd_install_relocation: 4 make: *** [bin-sparc64/errlist.o] Error 1 make: *** Waiting for unfinished jobs.... !!! ERROR: dev-libs/dietlibc-0.22-r2 failed. !!! Function src_compile, Line 33, Exitcode 2 !!! (no error message) peregrine root # emerge info Portage 2.0.49 (default-sparc64-1.4, gcc-3.2.3, glibc-2.3.2-r1, 2.4.21-sparc-r1) ================================================================= System uname: 2.4.21-sparc-r1 sparc64 sun4u distcc 2.10 sparc-unknown-linux-gnu (protocols 1 and 2) (default port 3632) [disabled] ccache version 2.2 [enabled] ACCEPT_KEYWORDS="sparc ~sparc" AUTOCLEAN="yes" CFLAGS="-mcpu=ultrasparc -O3 -pipe" CHOST="sparc-unknown-linux-gnu" COMPILER="gcc3" CONFIG_PROTECT="/etc /var/qmail/control /usr/kde/2/share/config /usr/kde/3/share/config /usr/X11R6/lib/X11/xkb /usr/kde/3.1/share/config /usr/share/config" CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d" CXXFLAGS="-mcpu=ultrasparc -O3 -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="sandbox buildpkg ccache portageuser cvs" GENTOO_MIRRORS="http://adelie.polymtl.ca http://www.ibiblio.org/pub/Linux/distributions/gentoo" MAKEOPTS="-j3" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="sparc apm crypt encode fbcon foomaticdb gif jpeg mad mikmod mpeg ncurses nls oss png pdflib spell truetype xv xml2 xmms zlib gtkhtml gdbm berkdb slang readline arts bonobo guile sdl gpm tcpd pam libwww ssl perl python esd imlib oggvorbis motif opengl mozilla ldap cdr cups X gtk gnome -alsa -kde -qt -java -pcmcia -avi" Reproducible: Always Steps to Reproduce: 1. emerge dietlibc
Created attachment 18200 [details, diff] Give this a try... against dietlibc-0.23 though Please try this patch against dietlibc-0.23.
Ooops, just saw that it compiles but its not working... # diet Bus error Regarding to some google search with your error message, it looks like its a problem with gnu assembler (`as`) and the "quad" datatype on sparc... This shows the error pretty good: # as test.S test.S: Assembler messages: test.S:1: Fatal error: test.S:1: bad return from bfd_install_relocation: 4 # cat test.S .quad .LC0 # Someone with a great C++ knowledge should check gas/config/fc-sparc.c in binutils source tree...
From the dietlibc developer: -------------------------------- Thus spake Sven Blumenstein (me@0x1337.net): >> Could you please take a look at this bug report: >> http://bugs.gentoo.org/show_bug.cgi?id=27171 This happens if you compile on an ultrasparc but your gcc is 32-bit. The solution is to a) ship a sparc64 compiler and use that ("make sparc64") or b) compile for the sparc32 target ("make sparc"). >> Do you know any solution for this error? >> Is this a problem with dietlibc or, as I assume, a GNU Assembler bug? This error means that the assembler source file tries to declare a 64 bit pointer variable but the 32-bit assembler does not have a data type for them. Felix --------------------------------
In playing around with dietlibc, it didn't seem to be easy to make it use 32 bit sparc instructions without thinking it was a cross compiler, so I touched up the ebuilds so that on sparc64 machines, /bin/sparc32 would be called before make and make install to simulate the sparc32 environment. Let me know if this causes problems.
Closing as it appears to be fine and no additional reports have come in.