http://puppylinux.asia/tpp/SitHeelSpeak ... ed-SHS.tgz
http://puppylinux.asia/tpp/SitHeelSpeak ... HS.tgz.md5
or
http://puppylinux.ca/tpp/SitHeelSpeak/g ... ed-SHS.tgz
http://puppylinux.ca/tpp/SitHeelSpeak/g ... HS.tgz.md5
Size: 97,845,575 bytes.
md5sum:
360073de63a9b75ccc9cd3f65002b73e gcc-4.4.1-source-patched-SHS.tgz
This is source code for gcc 4.4.1. To the source, I have applied every x86-32 (ia32) and x86-64 (ia64) patch I could find in the current Gentoo, Fedora 12-alpha (I think!--as explained below), Ubuntu 9.10-rc, and Slackware 13.0 repositories.
The patches are in the input subdirectory above gcc proper. They are all edited to adjust where they look for source files, to the gcc subdirectory. The patch utility was run from the gcc subdirectory.
I include a complete log of the rxvt output of the patches, GCC_4.4.1_patching_log.txt. People who have a healthy distrust of strange Weimaraners will not simply compile from my source code, but rather will download the source and patches and do it all yourselves, checking to make sure I did not leave any useful patches out, and omitting the dec alpha, s390, powerpc and other non-Puppy-machine patches which I absent-mindedly applied at 3 AM in the morning half-asleep. You will use this log merely as a guide to the patching sequence, and maybe as confirmation of what you see when you do it yourself!
More-trusting souls will find that this gcc source compiles acceptably. I promise, I did not add any backdoors or other sneakiness, and it generates not even a single warning in make check! --and the gcc created from it creates executeables that run well. At least, it has so far, for me, on my ia32 machine. I do not have an ia64 machine to try it on. If it doesn't work on your ia64 machine. because I forgot a crucial ia64 patch...well, at least I will show you (below) where to obtain the patches, so you can fill-in any I missed...
I have renamed the 86 Ubuntu patches with the prefix "ubuntu-"
and the one Slackware patch with "slackware-".
The 9 Gentoo patches have two digits and an underscore as a prefix.
The remaining 24 patches (fastjar-segfault, and the gcc44- patches) are from Fedora.
The gcc source and the Gentoo patches are from an official Gentoo mirror at Oregon State University
http://gentoo.osuosl.org/distfiles/gcc-4.4.1.tar.bz2 23-Jul-2009 01:10 60M
http://gentoo.osuosl.org/distfiles/gcc- ... .0.tar.bz2 23-Jul-2009 01:10 11K
http://gentoo.osuosl.org/distfiles/gcc- ... .1.tar.bz2 23-Jul-2009 06:11 2.2K
The Fedora patches are from (yes, I know, it says F11 and mingw32, but I am informed, hopefully reliably, that this is indeed where the Fedora developers are stashing its current gcc patches):
http://cvs.fedora.redhat.com/viewvc/F-11/mingw32-gcc/
http://cvs.fedoraproject.org/viewvc/rpm ... sortby=log
The Ubuntu patches are also from OSU:
http://debian.osuosl.org/debian/pool/ma ... u4_all.deb 25-Sep-2009 22:05 50M
The above appears to be the only .deb needed from this download directory.
The patches are in the unpacked gcc-4.4-source_4.4.1-4ubuntu4_all.deb/usr/src/gcc-4.4/patches
THE TWO PATCHES WHICH I DID NOT WIN THE HEARTS AND MINDS OF:
I do not know what to do (edited: see amigo's post, below) with ubuntu-gcc-4.4_4.4.1-4ubuntu4.diff
It is a huge patch which creates several large files. It looks like it is relevant not to gcc but maybe to the Debian/Ubuntu buildsystem,
so I did not apply it. But it is included here.
IF YOU KNOW what to do with ubuntu-gcc-4.4_4.4.1-4ubuntu4.diff, please inform me. (amigo tells what it is, below)
The only other patch I am not reasonably certain of, in the entire collection, is ubuntu-fix-warnings.diff, see the note in GCC_4.4.1_patching_log.txt. I suspect there is a mistake in the gcc source and am not sure if I guessed right in correcting it.
I looked in
http://debian.osuosl.org/debian/pool/ma ... 4_i386.deb 25-Sep-2009 22:05 110K
http://debian.osuosl.org/debian/pool/ma ... u4_all.deb 25-Sep-2009 22:05 2.0M
http://debian.osuosl.org/debian/pool/ma ... 4_i386.deb 25-Sep-2009 22:05 2.2M
http://debian.osuosl.org/debian/pool/ma ... buntu4.dsc 25-Sep-2009 17:04 3.6K
http://debian.osuosl.org/debian/pool/ma ... 4_i386.deb 25-Sep-2009 22:05 2.9M
but there is no gcc patch nor source in these, rather they appear to be just compiled output and docs.
The one Slackware patch (Slackware believes in not very much patching, I am informed) is from:
ftp://ftp.slackware.at/slackware-current/source/d/gcc
You will need to add gmp and mpfr and ppl to Puppy, before compiling gcc. Download these from their respective websites, and apply the cumulative patch to mpfr.
See
http://www.murga-linux.com/puppy/viewtopic.php?t=48136
for the configure lines for gmp and mpfr.
Then, to compile gcc, load the devx.sfs for your Puppy...shift into /mnt/sda2/input/gcc (or wherever you put it), open rxvt, and run the standard configure-make-make check-make install sequence. Do not allow spaces in the full pathnames of the input and output subdirectories, or else make will fail.
You can see the configure line for Puppy's gcc by issuing the command
gcc --ver
Actually, I modified it slightly, I already had pam and gcj, so I used:
UPDATE November 15 2009: for the build with which I am now compiling kernels, and with which playdayz has succeeded in compiling the ATi fglrx driver, this is the configure line:
Code: Select all
./configure --prefix=/usr --build=i486-t2-linux-gnu --host=i486-t2-linux-gnu --target=i486-t2-linux-gnu --bindir=/usr/bin --sbindir=/usr/sbin --libdir=/usr/lib --datadir=/usr/share --includedir=/usr/include --infodir=/usr/info --mandir=/usr/man --sysconfdir=/etc --localstatedir=/var --enable-debug --enable-__cxa_atexit --enable-checking --enable-bootstrap --enable-libstdcxx-pch --enable-multilib --enable-languages=c,c++,fortran,java,objc,obj-c++ --with-python-dir=/lib/python2.5/site-packages --enable-libmudflap --enable-threads=posix --enable-tls --with-cpu32=i486 --with-arch=i486 --with-tune=i586 --enable-targets=x86-linux --enable-nls --enable-libgcj
On my rig, the make of gcc takes about three hours. The rest, just a few minutes.
***Added, later:
For 'make check' to succeed on gcc 4.4.1, you must first download, configure, make, make check, and make install, in this order, using the same configure line as for gmp:
guile 1.4.1 (an old version, but newer ones fail to make)
gperf 3.0.4
autogen 5.9.8
(***edited: you will also need runtest, latest version. Works OK if you don't have runtest, but you'll get a warning in make check***)
Here's to strong cigarettes, obedient beautiful daughters, world-class opera, and insomnia,
Free Schapelle Corby, De miei bollenti spiriti
--*clink*--
SHS