Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 27171

Summary: dev-libs/dietlibc-0.22-r2 fails to compile
Product: Gentoo Linux Reporter: Todd Sunderlin (RETIRED) <todd>
Component: Current packagesAssignee: Sparc Porters <sparc>
Status: VERIFIED TEST-REQUEST    
Severity: normal    
Priority: High    
Version: unspecified   
Hardware: Sparc   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Attachments: Give this a try... against dietlibc-0.23 though

Description Todd Sunderlin (RETIRED) gentoo-dev 2003-08-23 05:13:55 UTC
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
Comment 1 Sven Blumenstein (RETIRED) gentoo-dev 2003-09-23 06:02:38 UTC
Created attachment 18200 [details, diff]
Give this a try... against dietlibc-0.23 though

Please try this patch against dietlibc-0.23.
Comment 2 Sven Blumenstein (RETIRED) gentoo-dev 2003-09-23 06:06:50 UTC
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...


Comment 3 Sven Blumenstein (RETIRED) gentoo-dev 2003-09-29 10:20:31 UTC
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
--------------------------------
Comment 4 Jason Wever (RETIRED) gentoo-dev 2003-09-29 17:03:04 UTC
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.
Comment 5 Jason Wever (RETIRED) gentoo-dev 2003-12-06 07:57:43 UTC
Closing as it appears to be fine and no additional reports have come in.