Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 165697 - app-emulation/qemu-user-0.9.0 does not compile on PPC
Summary: app-emulation/qemu-user-0.9.0 does not compile on PPC
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: PPC Linux
: High normal
Assignee: Luca Barbato
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-02-06 23:11 UTC by Vo Spader
Modified: 2009-03-07 15:44 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
reporter's failed qemu-user build log (build.log,49.01 KB, text/plain)
2007-02-07 22:50 UTC, Vo Spader
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Vo Spader 2007-02-06 23:11:07 UTC
qemu-user-0.8.2 does not compile on PPC using gcc3.4.6

Reproducible: Always

Steps to Reproduce:
Comment 1 Jakub Moc (RETIRED) gentoo-dev 2007-02-07 07:54:16 UTC
What a wealth of info... Kindly reopen with the actual emerge output, showing the errors you get, and emerge --info.
Comment 2 Vo Spader 2007-02-07 22:50:25 UTC
Created attachment 109471 [details]
reporter's failed qemu-user build log

emerge --info follows:

Portage 2.1.2-r8 (default-linux/ppc/ppc32/2006.1/G4, gcc-3.4.6, glibc-2.4-r4, 2.6.20 ppc)
=================================================================
System uname: 2.6.20 ppc 7447A, altivec supported
Gentoo Base System release 1.12.6
Timestamp of tree: Wed, 07 Feb 2007 02:20:01 +0000
dev-java/java-config: 1.3.7, 2.0.31
dev-lang/python:     2.4.3-r4
dev-python/pycrypto: 2.0.1-r5
sys-apps/sandbox:    1.2.17
sys-devel/autoconf:  2.13, 2.61
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10
sys-devel/binutils:  2.17
sys-devel/gcc-config: 1.3.14
sys-devel/libtool:   1.5.22
virtual/os-headers:  2.6.17-r2
ACCEPT_KEYWORDS="ppc"
AUTOCLEAN="yes"
CBUILD="powerpc-unknown-linux-gnu"
CFLAGS="-O2 -mcpu=powerpc -mtune=powerpc -fno-strict-aliasing -pipe"
CHOST="powerpc-unknown-linux-gnu"
CONFIG_PROTECT="/etc /opt/openjms/config /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/X11/xkb /usr/share/config"
CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/gconf /etc/java-config/vms/ /etc/revdep-rebuild /etc/terminfo"
CXXFLAGS="-O2 -mcpu=powerpc -mtune=powerpc -fno-strict-aliasing -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoconfig distlocks metadata-transfer sandbox sfperms strict"
GENTOO_MIRRORS="http://open-systems.ufl.edu/mirrors/gentoo "
LINGUAS="en_GB en"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/portage/local/layman/xeffects"
SYNC="rsync://rsync.namerica.gentoo.org/gentoo-portage"
USE="X a52 aac aalib acl agg aiglx aim akode alac alias alsa altivec amarok amazon amd animgif aotuv arts asterisk audacious audiofile auth automount autoreplace bash-completion berkdb bigpatch binfilter bitmap-fonts bittorrent bl bluetooth bonjour bonobo branding buttons bzip2 cdda cddb cdparanoia cdr cdrom cli cmdsubmenu connectionstatus console corba cracklib crypt css cups curl curlwrappers cvs daap dbase dbus dga divx dlloader dmx dnd doomsday dri dts dv dvd dxr3 eds emboss encode esd exif extraicons extramodules fat fbdev ffmpeg firefox flac flash font-server fortran ftp fuse gadu gdbm genericjb geoip gif gimp gimpprint glib gopher gphoto2 gpm gps gs gstreamer gtalk gtk gtk2 gtkhtml h323 hal hfs highlight httpd iconv icq id3 ieee1394 ilbc imagemagick imap imlib ipod ipv6 irc isdnlog jabber jack java javascript jfs jingle jms jpeg kde kdexdeltas lame ldap libcaca libdsk libg++ libnotify libwww live lzo mad meanwhile midi mikmod ming mjpeg mng mod mozilla mozsvg mp3 mp4 mpd mpeg mpeg2 mplayer msn mtp musicbrainz nas ncurses network new-login nfs nls nntp nptl nptlonly nsplugin ntfs ntlm ogg on-the-fly-crypt opengl oscar pam pbbuttonsd pci pcre pda pdf perl plib png ppc ppds pppd pri print python qt3 qt3support qt4 quicktime rdesktop readline realmedia reflection reiserfs rtsp ruby samba sametime sdl server session sftp silverxp skins sms speex spell spl ssl stream subtitles subversion svg svgz symlink syslog szip tagwriting tcpd texteffect theora threads thunderbird tiff tordns transcode translator truetype truetype-fonts type1-fonts udev unicode unzip upnp urandom usb v4l v4l2 vcd vidix visualization vlm vnc vorbis webpresence winpopup wma wmf wmp wxwindows x264 xcomposite xft xinerama xml xorg xosd xprint xscreensaver xv xvid yahoo zeroconf zlib" ALSA_CARDS="aoa aoa-fabric-layout aoa-onyx aoa-soundbus aoa-soundbus-i2s aoa-tas aoa-toonie powermac usb-audio via82xx" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mulaw multi null plug rate route share shm softvol" ELIBC="glibc" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en_GB en" USERLAND="GNU" VIDEO_CARDS="radeon"
Unset:  CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, LDFLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 3 Vo Spader 2007-02-07 22:52:19 UTC
Sorry for wasting your time earlier Jakub Moc. Something came up, and was unable to finish filling my bug report. I have attached my build log, and emerge info.
Comment 4 Luca Barbato gentoo-dev 2007-02-10 12:18:15 UTC
Could you please check 0.9.0 ?
Comment 5 Vo Spader 2007-02-10 15:27:58 UTC
(In reply to comment #4)
> Could you please check 0.9.0 ?
> 

Sorry lu_zero, I get the same error as with 0.8.2
Comment 6 Luca Barbato gentoo-dev 2007-02-10 17:08:44 UTC
I cannot reproduce it.
Comment 7 Vo Spader 2007-02-21 10:40:43 UTC
Luca, I'm just done a clean install of gentoo, and I'm still receiving the same problem. Can you please paste your emerge --info, so I can see if there are any differences.
Comment 8 Luca Barbato gentoo-dev 2007-02-21 16:25:29 UTC
please check 0.9.0 it's new and I'm going to clean up everything in a short time.
Comment 9 Vo Spader 2007-02-23 12:41:28 UTC
(In reply to comment #8)
> please check 0.9.0 it's new and I'm going to clean up everything in a short
> time.
> 

lu_zero, I WAS trying 0.9.0. When compiling 0.9.0 I recieved the exact same error that I recieved with 0.8.2, down to the letter (excluding version numbers). You report that you can not reproduce the error, so I must assume it either works for you, or at least get farther into the compile. I'm asked for your emerge info, to compare to mine, to see if there are any differences. I've posted the info that I use when compiling qemu-user (which is different then most of my other compiles), and I continue to ask for yours.

I await for your 'clean up' and would help anyway possible.
Comment 10 Luca Barbato gentoo-dev 2007-02-23 12:55:05 UTC
I'm sorry but my main hd broke so I'll need some time to rebuild yet another toolchain...

lu
Comment 11 Vo Spader 2007-02-23 20:33:34 UTC
(In reply to comment #10)
> I'm sorry but my main hd broke so I'll need some time to rebuild yet another
> toolchain...
> 
> lu
> 

lu, I completely understand, though i haven't broken a hard drive yet, I have broken Gentoo (beyond repair) and I understand the annoying process it is to return to normal.

Anyways onto subject, I'll be offline this upcoming weekend, and well be testing configurations any time I have possible.
Comment 12 Stefan de Konink 2007-03-22 23:07:19 UTC
ar rcs libqemu.a exec.o kqemu.o translate-op.o translate-all.o cpu-exec.o translate.o op.o  fpu/softfloat-native.o helper.o helper2.o disas.o  i386-dis.o ppc-dis.o
gcc -Wall -O2 -g -fno-strict-aliasing -I. -I.. -I/var/tmp/paludis/app-emulation/qemu-user-0.9.0/work/qemu-0.9.0/target-i386 -I/var/tmp/paludis/app-emulation/qemu-user-0.9.0/work/qemu-0.9.0 -I/var/tmp/paludis/app-emulation/qemu-user-0.9.0/work/qemu-0.9.0/linux-user -I/var/tmp/paludis/app-emulation/qemu-user-0.9.0/work/qemu-0.9.0/linux-user/i386 -D__powerpc__ -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -I/var/tmp/paludis/app-emulation/qemu-user-0.9.0/work/qemu-0.9.0/fpu -DHAS_AUDIO -I/var/tmp/paludis/app-emulation/qemu-user-0.9.0/work/qemu-0.9.0/slirp  -c -o gdbstub.o /var/tmp/paludis/app-emulation/qemu-user-0.9.0/work/qemu-0.9.0/gdbstub.c
gcc -g  -Wl,-T,/var/tmp/paludis/app-emulation/qemu-user-0.9.0/work/qemu-0.9.0/ppc.ld -o qemu-i386 main.o syscall.o mmap.o signal.o path.o osdep.o thunk.o elfload.o linuxload.o vm86.o libqemu.a gdbstub.o   -lm
/usr/lib/gcc/powerpc-unknown-linux-gnu/3.4.6/../../../../powerpc-unknown-linux-gnu/bin/ld: qemu-i386: Not enough room for program headers (allocated 9, need 10)
 Section to Segment mapping:
  Segment              Sections...
  00:           PHDR:  
  01:         INTERP:  .interp 
  02:           LOAD:  .interp .note.ABI-tag .hash .dynsym .dynstr .gnu.version .gnu.version_r .rela.got .rela.bss .rela.plt .init .text .glink .fini .rodata .eh_frame_hdr .eh_frame 
  03:           LOAD:  .ctors .dtors .jcr .got2 .dynamic .data .got .sdata .sbss 
  04:           LOAD:  .plt .bss 
  05:        DYNAMIC:  .dynamic 
  06:           NOTE:  .note.ABI-tag 
  07:       EH_FRAME:  .eh_frame_hdr 
  08:          STACK:  
  09:      PAX_FLAGS:  
/usr/lib/gcc/powerpc-unknown-linux-gnu/3.4.6/../../../../powerpc-unknown-linux-gnu/bin/ld: final link failed: Bad value
collect2: ld returned 1 exit status
make[1]: *** [qemu-i386] Error 1
make[1]: Leaving directory `/var/tmp/paludis/app-emulation/qemu-user-0.9.0/work/qemu-0.9.0/i386-linux-user'
make: *** [subdir-i386-linux-user] Error 2


Before making a dupe, (and making Jakub angry), here is my issue.
Comment 13 SpanKY gentoo-dev 2007-03-31 09:52:52 UTC
drop SIZEOF_HEADERS from the ppc.ld linker script ...
Comment 14 SpanKY gentoo-dev 2007-03-31 09:57:34 UTC
... and you can link, but not execute ;)
Comment 15 SpanKY gentoo-dev 2007-03-31 10:05:47 UTC
i'd say punt the current 0.7.0 ppc linker patch we apply and use the first hunk here:
http://www.redhat.com/archives/fedora-extras-commits/2006-March/msg01705.html

--- qemu-0.8.0/ppc.ld~	2005-12-19 22:51:53.000000000 +0000
+++ qemu-0.8.0/ppc.ld	2006-03-21 16:46:58.000000000 +0000
@@ -90,7 +90,11 @@ SECTIONS
   /* We want the small data sections together, so single-instruction offsets
      can access them all, and initialized data all before uninitialized, so
      we can shorten the on-disk segment size.  */
-  .sdata     : { *(.sdata) }
+  .sdata     :
+  {
+    PROVIDE (_SDA_BASE_ = 32768);
+    *(.sdata .sdata.* .gnu.linkonce.s.*)
+  }
   _edata  =  .;
   PROVIDE (edata = .);
   __bss_start = .;
Comment 16 Luca Barbato gentoo-dev 2009-03-07 15:44:20 UTC
qemu-0.10 compile and runs to a point with ppc (qemu-ppc seems broken but I think is unrelated)