Puppy Linux Discussion Forum Forum Index Puppy Linux Discussion Forum
Puppy HOME page : puppylinux.com
"THE" alternative forum : puppylinux.info
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

The time now is Wed 13 Nov 2019, 21:25
All times are UTC - 4
 Forum index » Advanced Topics » Additional Software (PETs, n' stuff) » Unsorted
gcc 4.4.1 source, extravagantly patched
Moderators: deshlab, Flash, GuestToo, Ian, JohnMurga, Lobster
Post new topic   Reply to topic View previous topic :: View next topic
Page 1 of 1 [5 Posts]  
Author Message
Sit Heel Speak


Joined: 30 Mar 2006
Posts: 2595
Location: downwind

PostPosted: Mon 26 Oct 2009, 20:04    Post subject:  gcc 4.4.1 source, extravagantly patched
Subject description: has 9 Gentoo + 24 Fedora + 86 Ubuntu + 1 Slackware patches
 

Download (user is puppy and password is linux):
http://puppylinux.asia/tpp/SitHeelSpeak/gcc-4.4.1-source-patched-SHS.tgz
http://puppylinux.asia/tpp/SitHeelSpeak/gcc-4.4.1-source-patched-SHS.tgz.md5
or
http://puppylinux.ca/tpp/SitHeelSpeak/gcc-4.4.1-source-patched-SHS.tgz
http://puppylinux.ca/tpp/SitHeelSpeak/gcc-4.4.1-source-patched-SHS.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-4.4.1-patches-1.0.tar.bz2 23-Jul-2009 01:10 11K
http://gentoo.osuosl.org/distfiles/gcc-4.4.1-uclibc-patches-1.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/rpms/mingw32-gcc/devel/?sortby=log

The Ubuntu patches are also from OSU:
http://debian.osuosl.org/debian/pool/main/g/gcc-4.4/gcc-4.4-source_4.4.1-4ubuntu4_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/main/g/gcc-4.4/gcc-4.4-base_4.4.1-4ubuntu4_i386.deb 25-Sep-2009 22:05 110K
http://debian.osuosl.org/debian/pool/main/g/gcc-4.4/gcc-4.4-doc_4.4.1-4ubuntu4_all.deb 25-Sep-2009 22:05 2.0M
http://debian.osuosl.org/debian/pool/main/g/gcc-4.4/gcc-4.4-multilib_4.4.1-4ubuntu4_i386.deb 25-Sep-2009 22:05 2.2M
http://debian.osuosl.org/debian/pool/main/g/gcc-4.4/gcc-4.4_4.4.1-4ubuntu4.dsc 25-Sep-2009 17:04 3.6K
http://debian.osuosl.org/debian/pool/main/g/gcc-4.4/gcc-4.4_4.4.1-4ubuntu4_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:
./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


If you wish to "Puppify" gcc, i.e make it as small as possible, you can designate --prefix=some_scratch_directory for a first trial compile of gcc, so that you can meticulously compare against the files in Puppy's current gcc, and see what needs stripping (and is safe to delete). Then, run make distclean, and do the compile over again for real, this time using --prefix=/usr. Me, I don't bother to do this. I have a lot of diskspace and ram.

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

Last edited by Sit Heel Speak on Sun 15 Nov 2009, 14:11; edited 11 times in total
Back to top
View user's profile Send private message 
technosaurus


Joined: 18 May 2008
Posts: 4871
Location: Blue Springs, MO

PostPosted: Mon 26 Oct 2009, 20:36    Post subject:  

I recently compiled gcc-4.4.2 (and latest binutils, mpc, gmp, mpfr, ppl, cloog and libelf) if anyone is interested I can make several pets or a single sfs (minus docs and nls unless someone specifically needs them)

Edit - just to clarify no patches applied to this build - I did manually patch binutils to use a shared libiberty but did not set up gcc to use so it is a little bigger (part oversight and part being overwhelmed by the gcc build structure)

_________________
Check out my github repositories. I may eventually get around to updating my blogspot.
Back to top
View user's profile Send private message Visit poster's website 
amigo

Joined: 02 Apr 2007
Posts: 2647

PostPosted: Tue 27 Oct 2009, 02:21    Post subject:  

RE: ubuntu-gcc-4.4_4.4.1-4ubuntu4.diff
This patch or its' debian counterpart (you can usually tell them because of the '_' in the name) are the patches used to 'debianize' sources. They create the debain dir inside the sources -and if applicable, they also create the debain/patches dir and populate it with all the debian patches for that source.
When properly done, these patches don't dirrectly patch any source files. They ma directly patch configuration files like acloal.m4, etc. You acn apply these patches in an empty directory so you can go into the debian/patches directory to glean any needed/wanted patches from there. I'll guess that the debain/ubuntu patch fro gcc probably has 200-300 patches when inlcuding those for all arches...
Back to top
View user's profile Send private message 
Sit Heel Speak


Joined: 30 Mar 2006
Posts: 2595
Location: downwind

PostPosted: Tue 27 Oct 2009, 04:25    Post subject:  

amigo wrote:
RE: ubuntu-gcc-4.4_4.4.1-4ubuntu4.diff
This patch or its Debian counterpart (you can usually tell them because of the '_' in the name) are the patches used to 'debianize' sources. They create the debian dir inside the sources -and if applicable, they also create the debian/patches dir and populate it with all the debian patches for that source. When properly done, these patches don't directly patch any source files. They may directly patch configuration files like aclocal.m4, etc. You can apply these patches in an empty directory so you can go into the debian/patches directory to glean any needed/wanted patches from there...
Aha Very Happy !!!
...and, the Debian buildsystem knows to look inside debian/patches when building a package from source?

How does ubuntu-gcc-4.4_4.4.1-4ubuntu4.diff (and suchlike) fit into the apt-get system (if at all)? I hope this is not a silly question; I am not familiar with the Debian buildsystem, and have not looked inside apt-get.

Is this "patches-getting-patch" somehow a key missing ingredient in dpup and upup?

I understand what you wrote, in the other thread, about differences in Puppy toolchains. Someday, when I'm rich, I'm going to build a Puppy completely per LFS...

Last edited by Sit Heel Speak on Thu 29 Oct 2009, 14:57; edited 3 times in total
Back to top
View user's profile Send private message 
Sit Heel Speak


Joined: 30 Mar 2006
Posts: 2595
Location: downwind

PostPosted: Tue 27 Oct 2009, 05:01    Post subject:  

technosaurus wrote:
...just to clarify no patches applied to this build - I did manually patch binutils to use a shared libiberty but did not set up gcc to use so it is a little bigger (part oversight and part being overwhelmed by the gcc build structure)
Now you know why I never reported back in the other thread, concerning the GUI for Puppy Universal Installer. I'm under a deadline on creating a custom upup, this gcc was necessary for it. Two weeks later...
Back to top
View user's profile Send private message 
Display posts from previous:   Sort by:   
Page 1 of 1 [5 Posts]  
Post new topic   Reply to topic View previous topic :: View next topic
 Forum index » Advanced Topics » Additional Software (PETs, n' stuff) » Unsorted
Jump to:  

You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Powered by phpBB © 2001, 2005 phpBB Group
[ Time: 0.0492s ][ Queries: 11 (0.0084s) ][ GZIP on ]