qemu-user-0.8.2 does not compile on PPC using gcc3.4.6 Reproducible: Always Steps to Reproduce:
What a wealth of info... Kindly reopen with the actual emerge output, showing the errors you get, and emerge --info.
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
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.
Could you please check 0.9.0 ?
(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
I cannot reproduce it.
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.
please check 0.9.0 it's new and I'm going to clean up everything in a short time.
(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.
I'm sorry but my main hd broke so I'll need some time to rebuild yet another toolchain... lu
(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.
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.
drop SIZEOF_HEADERS from the ppc.ld linker script ...
... and you can link, but not execute ;)
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 = .;
qemu-0.10 compile and runs to a point with ppc (qemu-ppc seems broken but I think is unrelated)