Skip to content

A little help when building older versions of gcc. Checkout gcc-kludges-meta branch for details.

Notifications You must be signed in to change notification settings

chunorig/gcc-kludges

 
 

Repository files navigation

gcc-kludges
by chuno (Chief Unoriginal <nobody@example.com>)

All significant additions (are there any?) Copyright chuno but do
whatever you want with it.

NO WARRANTY OF COURSE!


=======================
Purpose of this project
=======================

To make it easier to build old versions of gcc.  No guarantees of course!

There is a planned update that will create an entire parallel history
equivalent to all of the commits between the ones affected here.  But for now,
there are just a few little side branches.

At least on my machine, these patches allow gcc to be bootstrapped with support
for C only, but I can't guarantee that "make check-gcc" will work on all
releases yet.  It works for 4.9.4 but 4.9 was only really used as a starting
point to work back to the 3.2 branch.  check-gcc on 3.2.3 is down to 21
unexpected fails right now.


====
Tags
====

One day I hope to add a tag to a revision on gcc-kludges-meta called
"kludge-actually-useful-today" or something like that.


==========
The scheme
==========

Each release tag on the 4.9 branch and the 3.2 branch is the root of a little
branch called kludge-*.  Although 4.9 was only used as a starting point to work
backwards toward 3.2, so it is not the main focus.  One day there may be 3.1
and even 2.x kludges, but 4.9 might be left how it is as a relic.

So gcc-${REV}-release is the root of a small chain of commits leading to
kludge-${REV}.  There is also a kludge-${REV}-volatile; more on that later.

Checking out kludge-${REV} instead of gcc-${REV}-release should allow configure
and bootstrap to work without further modification and without adding symlinks
to your system, if you're lucky, but only if you are just building the C
compiler and not other languages.

The difference between kludge-${REV} and kludge-${REV}-volatile is that if I
push changes to the kludge branches, kludge-${REV}-volatile might be a remade
branch while kludge-${REV} will only ever be modified by adding commits to the
tip (i.e. fast-forward updates only).

Both branches will contain the same actual tree at the tip anyway.

Good luck, and remember: no promises!  This might help you but it's not perfect
by a long way.

About

A little help when building older versions of gcc. Checkout gcc-kludges-meta branch for details.

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Shell 100.0%