Commit 0c93d56
authored
Fix gcc 5-10 build issues: Ada MINSIGSTKSZ, ubsan pointer comparison (#40)
* Add patches and config for gcc 5-10 compatibility with modern build env
- gcc5/config: disable Ada (was never built with Ada on CE; also
ada/init.c uses MINSIGSTKSZ in #if which fails on glibc 2.34+)
- gcc6/config: disable Ada (same - not in existing S3 tarballs)
- gcc5.1-5.4/patches: wide-int.h template<> fix (applied per-minor so
it doesn't try to apply to 5.5.0 which already has the fix)
- gcc6.1-6.3/patches: ubsan.c pointer-vs-char comparison fix
(xloc.file == '\0' should be xloc.file[0] == '\0'; fixed in 6.4.0)
- gcc7-10/patches: ada/init.c MINSIGSTKSZ fix for glibc 2.34+
(MINSIGSTKSZ is no longer a compile-time constant; guard the #if
with a __GLIBC_PREREQ check; gcc 11 already removed the check)
🤖 Generated by LLM (Claude, via OpenClaw)
* Build Ada for gcc 5 and 6 too (add MINSIGSTKSZ patch)
Rather than disabling Ada, apply the same ada/init.c MINSIGSTKSZ patch
to gcc5 and gcc6. The patch applies cleanly to both (fuzzy match on line
offset). This means all rebuilt compilers will include Ada support.
🤖 Generated by LLM (Claude, via OpenClaw)
* Use symlinks for wide-int patch in gcc5.2-5.4 (not copies)
🤖 Generated by LLM (Claude, via OpenClaw)
* Move patches to top level, use symlinks from version dirs
Canonical patch files live at build/patches/*.patch; version-specific
dirs contain symlinks, making the intent clear. Consistent with the
existing binutils-in-tree.patch pattern.
🤖 Generated by LLM (Claude, via OpenClaw)
---------
Co-authored-by: mattgodbolt-molty <mattgodbolt-molty@users.noreply.github.com>1 parent d990d44 commit 0c93d56
16 files changed
Lines changed: 40 additions & 0 deletions
File tree
- build/patches
- gcc10
- gcc5.1
- gcc5.2
- gcc5.3
- gcc5.4
- gcc5
- gcc6.1
- gcc6.2
- gcc6.3
- gcc6
- gcc7
- gcc8
- gcc9
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
0 commit comments