aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Forney <mforney@mforney.org>2019-05-19 15:14:45 -0700
committerMichael Forney <mforney@mforney.org>2019-05-19 15:16:42 -0700
commit126e085d930ea13ec0f31ee7c08c9666b0d0948d (patch)
tree55c54910ad333fdaa641fbcfea821f0cfaeb9320
parent6463066a7858c064626b4260a4ea4b3903e53886 (diff)
Add notes about building gcc 4.7
-rw-r--r--README.md9
-rw-r--r--doc/software.md19
2 files changed, 23 insertions, 5 deletions
diff --git a/README.md b/README.md
index 675486f..fa22737 100644
--- a/README.md
+++ b/README.md
@@ -5,10 +5,9 @@ the [ISC] license.
Several GNU C [extensions] are also implemented.
-There is still much to do and some parts of the code are a little
-rough, but it currently implements most of the language and is capable
-of building some useful [software] including itself, mcpp, binutils,
-and more.
+There is still much to do and some parts of the code are a little rough,
+but it currently implements most of the language and is capable of
+[building software] including itself, mcpp, gcc 4.7, binutils, and more.
It was inspired by several other small C compilers including [8cc],
[c], [lacc], and [scc].
@@ -100,7 +99,7 @@ be created, which will then become the preferred form of contribution.
[C11]: http://port70.net/~nsz/c/c11/n1570.html
[ISC]: https://git.sr.ht/~mcf/cc/blob/master/LICENSE
[extensions]: https://man.sr.ht/~mcf/cc/doc/extensions.md
-[software]: https://man.sr.ht/~mcf/cc/doc/software.md
+[building software]: https://man.sr.ht/~mcf/cc/doc/software.md
[8cc]: https://github.com/rui314/8cc
[c]: https://github.com/andrewchambers/c
[lacc]: https://github.com/larmel/lacc
diff --git a/doc/software.md b/doc/software.md
index 368fa8d..5711860 100644
--- a/doc/software.md
+++ b/doc/software.md
@@ -68,6 +68,25 @@ Configure with
[f6a7d135]: https://git.sr.ht/~mcf/qbe/commit/f6a7d135d54f5281547f20cc4f72a5e85862157c
+## gcc 4.7
+
+Requires a number patches available here:
+https://github.com/michaelforney/gcc/tree/gcc-4_7-branch
+
+Also requires gmp headers modified for C99 inline semantics:
+https://hg.sr.ht/~mcf/gmp-6.1/rev/53195faa26dfeafeacd57f54035373988e2a16a3
+
+Build with
+
+```
+git clone -b gcc-4_7-branch https://github.com/michaelforney/gcc
+cd gcc
+hg clone https://hg.sr.ht/~mcf/gmp-6.1 gmp
+(cd gmp && aux_dir=. ltdl_dir=. ./.bootstrap)
+./configure --disable-multilib --disable-bootstrap --disable-lto --enable-languages=c,c++
+make
+```
+
## zstd
Requires disabling CPU identification inline assembly and deprecation