grub-0.94-r1 fails with a multitude of "undefined reference to `memcpy'" errors, and the linker promptly craps out. The current fix is a CVS snapshot update, which works here, and a port of the patch for the bootsplash screen to the current version. Note: bootstrapping with gcc-3.4.0 is pointless without a working boot manager, so this [i]is[/i] kinda helpful - as this is a CVS snapshot, I would suggest that if it *does* make it into portage, which IMVHO it should, it should be keyword-marked "-*" even though it's tested here as working on x86. Reproducible: Always Steps to Reproduce: Portage 2.0.50-r6 (default-x86-1.4, gcc-3.4.0, glibc-2.3.3_pre20040420-r0, 2.6.5-gentoo-r1) ================================================================= System uname: 2.6.5-gentoo-r1 i686 AMD Athlon(tm) XP 1600+ Gentoo Base System version 1.4.10 Autoconf: sys-devel/autoconf-2.59-r3 Automake: sys-devel/automake-1.8.3 ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CFLAGS="-O2 -march=athlon-xp -pipe" CHOST="i686-pc-linux-gnu" COMPILER="gcc3" CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3/share/config /usr/lib/mozilla/defaults/pref /usr/share/config /usr/share/texmf/dvipdfm/config/ /usr/share/texmf/dvips/config/ /usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/ /usr/share/texmf/xdvi/ /var/qmail/control"CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-O2 -march=athlon-xp -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs fixpackages sandbox" GENTOO_MIRRORS="ftp://mirror.ac.uk/sites/www.ibiblio.org/gentoo" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage/local /usr/local/portage/bmg_overlay" SYNC="rsync://rsync.de.gentoo.org/gentoo-portage" USE="3dnow X Xaw3d aalib acpi adns alsa avi bonobo cdr crypt cups curl dga dvd encode esd ethereal faad flac foomatic gdbm ggi gif gnome gnomedb gpm gstreamer gtk2 gtkhtml guile icu imap imlib innodb java joystick jpeg lirc mad md5sum memlimit mikmod mmx motif mozilla moznocompose moznoirc moznomail mozsvg mpeg mpi mysql nas ncurses net nls nogcj offensive oggvorbis openal opengl oss pam parse-clocks pda pdflib perl png ppds python quicktime readline ruby samba sdl slang slp spell sse ssl svga tcltk tcpd tetex tiff truetype unicode usb videos vim-with-x wmf x86 xml xml2 xv xvid zlib"
Created attachment 30420 [details] Ebuild for grub-0.95 CVS snapshot Source currently hosted at http://home.jesus.ox.ac.uk/~rmoss/portage/ - it would be nice to get this somewhere else instead.
Note: the bootsplash patch is not attached; it is within the ebuild with an updated SRC_URI.
I have now been running this successfully without errors of any sort for nearly a week. Updates from others with regards to any problems that have been found would be nice. Otherwise, I'll have to assume that my lack of problems, and everyone else's apparent similar situation, means that all is well...
Created attachment 30708 [details, diff] 0.94-gcc-3.4.patch Robert Moss' cvs version works without any problems here too. However, I decided to check what the relevant changes between the two versions were, just in case someone wants to keep using the 0.94 version. I found this: * stage2/char_io.c [!GRUB_UTIL] (memcpy): New function. It is defined as an alias of grub_memmove. This is copied from GRUB 2. When copying this function to the old file, grub 0.94 compiles and runs fine too. I made a patch for 0.94 to add the function.
Even better, just use that. CVS snapshots aren't really the way to go with bootloaders... any idea as to what the new memcpy function does to everything else? Seeing as they seem to use it a lot, it could be an idea to check through to see whether this breaks anything.
thanks for the patch, now in portage