Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
175 commits
Select commit Hold shift + click to select a range
63fdc9c
avr-libc: Add 2.2.1
tzarc Sep 10, 2024
0d2e5c7
CI: Install meson and ninja for macOS
cpackham Sep 30, 2024
9884db4
Specify header path in CT_CC_SYSROOT_ARG only for glibc
stephanosio Sep 23, 2024
246f46c
gcc: Specify '--with-headers' when building final gcc
stephanosio Sep 24, 2024
4d36f27
picolibc: Update to version 1.8.8
keith-packard Sep 30, 2024
051156a
zlib: Update to zlib-1.3.1
WXbet Sep 30, 2024
d428028
zlib: Remove zlib-1.3
WXbet Oct 1, 2024
8c1cdb9
glibc: Turn implicit-int back into warning
cpackham Oct 6, 2024
6d1d61c
gdb: fix GDB_CC_LD_LIBTOOL reference
demin-han Oct 14, 2024
4773bd6
Drop --passive-ftp from wget's default options
bastien-curutchet Oct 22, 2024
558d67e
initial support to build tricore gcc
jferreir Oct 9, 2024
1c395b2
mold: tell cmake which compilers to use
novas0x2a Nov 2, 2024
61cfe77
CI: switch to macos-13 runners
cpackham Dec 9, 2024
c4fc585
strace: Add 6.12
cpackham Nov 21, 2024
ab5c23c
linux: Add 6.11, 6.12. Bump LTS and 6.x.
zagura Nov 18, 2024
9c444f4
gdb: build native gdb with static libexpat
zagura Nov 19, 2024
71cfd2d
gdb/gdbserver: use -static --static for static build
zagura Nov 20, 2024
0145966
Cleanup old avr-libstdcxx code and make it usable on other targets
QBos07 Dec 1, 2024
9e027d8
ltrace: Add !BARE_METAL dependency
cpackham Jan 3, 2025
649de5f
newlib: Add 4.5.0 snapshot
cpackham Jan 3, 2025
5014530
gcc: Support plugins in core gcc compiler
cpackham Jan 3, 2025
51bda9e
picolibc: Avoid build system headers
cpackham Jan 3, 2025
b07f41f
openrisc: Initial OpenRISC 1000 support
FlyGoat Dec 27, 2024
9983219
lm32: Initial LatticeMicro32 support
FlyGoat Dec 27, 2024
a646ab2
nios2: Require GCC older than 15
cpackham Jan 5, 2025
c8c7b3e
uClibc-ng: Add 1.0.50
cpackham Jan 5, 2025
154a58b
c6x: pin to GCC 13
cpackham Jan 5, 2025
32f288e
bpf: Use released binutils/gcc
cpackham Jan 5, 2025
0bab022
gdb: Add 15.2
SSE4 Jan 10, 2025
9d91ceb
gdb: Add 16.1
cpackham Jan 20, 2025
0c95faa
isl: Reinstate 0.11.2
cpackham Jan 20, 2025
92a9115
cloog: Reinstate 0.18.1
cpackham Jan 20, 2025
5e22128
samples: Update ol7u9 configs
cpackham Jan 20, 2025
93f5bc7
m4/ctng_python.m4: Update for python3.13
cpackham Jan 21, 2025
40c7e23
m4/ctng_python.m4: Fix library check
cpackham Jan 21, 2025
070f4fe
linux: Add 6.13, bump LTS
cpackham Jan 23, 2025
ba2a249
strace: Upate to 6.13
cpackham Jan 23, 2025
59089fe
samples: Disable gdb in or1k-unknown-linux-musl
cpackham Jan 25, 2025
0842e65
crosstool-ng update to ol9-{u3,u4,u5} and ol8-{u9, u10} for aarch64 a…
Jan 21, 2025
f395eb4
packages:mold: add version 2.36.0
egtvedt Jan 30, 2025
87605d6
glibc: Add 2.41
cpackham Jan 30, 2025
666316b
gettext: Add fix for tparm check in gettext-0.20.1
cpackham Jan 31, 2025
fbeed30
gettext: Add 0.23.1
cpackham Jan 31, 2025
03c7f95
samples: x86_64-unknown-linux-gnu,arm-picolibc-eabi: Update
cpackham Feb 1, 2025
c8743ea
libelf: Update configure tests for GCC14 part2
cpackham Feb 1, 2025
2cf5986
gdb: Add 16.2
cpackham Feb 2, 2025
3700b0b
samples: x86_64-w64-mingw32,arm-cortexa9_neon-linux-gnueabihf pin get…
cpackham Feb 2, 2025
937e5cd
Add GMP 6.3.0
dkm Feb 3, 2025
70c2b00
arch: nios2: Qualify selects
cpackham Feb 3, 2025
b47936c
Add libexpat 2.6.4
zagura Feb 4, 2025
145725c
Add libtool 2.5.4
zagura Feb 4, 2025
e4421cc
Add libiconv 1.18
zagura Feb 4, 2025
be3b815
Add bison 3.8.2
zagura Feb 4, 2025
869d5b9
Add autoconf 2.72
zagura Feb 5, 2025
dfe9235
Add automake 1.17
zagura Feb 2, 2025
f0e9e89
Add ncurses 6.5
zagura Feb 4, 2025
ac8ac3d
Bump make 4.4 to 4.4.1
zagura Feb 4, 2025
c6427a9
packages: Drop obsolete versions
cpackham Feb 6, 2025
fb42bbf
mpc, mpfr: Remove unused milestones
cpackham Feb 6, 2025
7d8717a
mold: Mark versions 2.31.0-2.33.0 as obsolete
cpackham Feb 6, 2025
1e9bf81
gmp: Add upstream patch for C23 compatibility
cpackham Feb 6, 2025
7ab4c0c
Use no-name flag for gzip
andrin-geiger Mar 25, 2024
106cfa2
packages/picolibc: Update to version 1.8.9
keith-packard Feb 6, 2025
e053fc5
binutils: Don't enable plugins with static toolchain
cpackham Feb 15, 2025
64e6c96
Make GCC 12.4.0 compatible with MinGW >=11
oold Feb 21, 2025
5a11188
ncurses: Pass --disable-widec to configure
cpackham Feb 22, 2025
7458341
contrib/gcc-test-suite: Add configuration options including qemu setup
keith-packard Feb 26, 2025
371c04b
Fix disabled libstdc++-v3
QBos07 Feb 23, 2025
329bb4d
zstd: Bring in upstream fix for MSYS
cpackham Mar 8, 2025
c819f83
arch: Add support for RX gcc build
duynguyenxa Jan 20, 2025
f9b7dd7
add samples for mips64-ol9u5
Apr 1, 2025
a50a39a
Fix missing $ for variable
QBos07 Apr 7, 2025
b934894
glibc/riscv: Fix incorrect jal with HIDDEN_JUMPTARGET
kxxt Apr 4, 2025
4e7bdd2
gcc/riscv: Fix incorrect jal with HIDDEN_JUMPTARGET
Xeonacid Apr 4, 2025
d3708ea
CI: add riscv64-unknown-linux-gnu
Xeonacid Apr 4, 2025
75db066
Patch to allow for building on ol8
Apr 5, 2025
560659d
CI: Use arm-none-eabi to get newlib tarball
cpackham Apr 21, 2025
f61ea6b
gdb: Add gdb-16.3
cpackham Apr 21, 2025
a23edf4
gcc: Add CC_GCC_LIBSTDCXX_TARGET_CXXFLAGS
keith-packard Apr 21, 2025
63765c9
picolibc: Add LIBC_PICOLIBC_GCC_LIBSTDCXX_TARGET_CXXFLAGS
keith-packard Apr 21, 2025
2fb4cf1
companion_libs: Make picolibc build compatible with 1.8.10
keith-packard Apr 21, 2025
cd0332b
Update to picolibc 1.8.10
keith-packard Apr 21, 2025
d08005a
Add ncurses patch to handle debian mingw32 toolchain
keith-packard Apr 17, 2025
f8e9c0a
newlib: Add patch for powerpc errors
cpackham Apr 24, 2025
179fe2d
packages:mold: add version 2.37.1
egtvedt Apr 23, 2025
b49e4c6
binutils: add version 2.44
egtvedt Apr 22, 2025
a0a10f5
gcc: Add 15.1.0
egtvedt Apr 25, 2025
27761cd
gdb: Add patch for C23 support
cpackham Apr 30, 2025
027213f
ncurses: Bring in patches for ncurses-6.5
cpackham May 1, 2025
cabc7a3
Add the FPU options for SuperH
QBos07 Apr 13, 2025
35c1e72
packages:mold: add version 2.38.1
egtvedt Apr 29, 2025
297719c
packages:mold: add version 2.39.1
egtvedt May 6, 2025
7869fdb
Fixes false indication of HAS_OBSOLETE_LIBCRYPT option
kongen Mar 27, 2025
c3aa29c
Add libexpat 2.7.1
zagura Apr 1, 2025
d46ae2b
linux: Add 6.14, bump LTS
zagura May 5, 2025
9a4a376
gcc: Update GCC 14.2.0 -> 14.3.0
cpackham May 24, 2025
dba47c8
gmp: Fix C23 compatibility patch to work with older host compilers
Corristo May 26, 2025
031e082
samples: Update armv6-nommu-linux-uclibcgnueabi to use uclibc
cpackham May 25, 2025
ef676fb
gcc: Add default pie support to do_gcc_backend
cpackham May 24, 2025
e3ea295
packages:mold: add version 2.40.0
egtvedt May 27, 2025
61c8704
expat: Use correct bootstrap command
cpackham May 30, 2025
f1c585e
libc/glibc: Add workaround for makeinfo build issue
cpackham Jun 1, 2025
51fe377
Revert "Patch to allow for building on ol8"
cpackham Jun 2, 2025
1b4e790
arch/nios2: Require binutils older than 2.44
cpackham Jun 2, 2025
d83276e
gettext: Add patch for C23 compatibility
cpackham Jun 2, 2025
9092f4f
gdb: backport readline patch
cpackham Jun 2, 2025
da3481a
m4: Update to m4-1.4.20
cpackham Jun 2, 2025
b37a59f
newlib: Add patch to resolve libgloss build issue
cpackham Jun 2, 2025
77c89dc
CI: Use wget --no-use-server-timestamps
cpackham Jun 5, 2025
2145655
musl: Use https for download URL
cpackham Jun 5, 2025
da9646f
uClibc-ng: Add 1.0.52
cpackham Jun 4, 2025
0f69d3c
Add missing dependency for local m4 scripts
KirillSmirnov Jun 6, 2025
a2ef080
gcc: Add GCC 13.4.0
cpackham Jun 5, 2025
93d5d76
Use -std=c17 for companion libs, which won't build with C23 standard,…
zagura May 11, 2025
dc98b02
Fixes #2387: Change mirror from invalid redirect to sourceforge hosting
zagura Jun 13, 2025
4158480
Add zstd 1.5.7
zagura Jun 15, 2025
b286f6b
samples: fix sparc-leon-linux-uclibc
KirillSmirnov Jun 17, 2025
899e015
musl/loongarch64: Add hwcap header
wojiushixiaobai Apr 16, 2025
368df82
mingw-w64/crt: bring patch with the fix of the stack smashing protection
Kerogi Jul 7, 2025
9be59a8
gdb: fix readline for gdb 15.2
KirillSmirnov Jul 9, 2025
a995c92
Fix typo
goldstar611 Jul 13, 2025
cdd31f0
ncurses: update signature_format to packed/.asc
goldstar611 Jul 13, 2025
37cf582
packages:mold: add version 2.40.1 (bump 2.40.y release)
egtvedt Jun 10, 2025
d21d8f6
mingw-w64: add v13.0.0
dbermond Jul 13, 2025
ec7070d
gcc: Update 12.5.0
cpackham Jul 17, 2025
7468fb6
Fix CT_ARCH_ARCH_CFLAG for SuperH in some cases
QBos07 Jul 20, 2025
d527ff4
glibc: Add 2.42
cpackham Jul 28, 2025
8f49ec5
binutils: Add 2.45
heiher Aug 1, 2025
f390dba
gcc: Update GCC 15.1.0 -> 15.2.0
heiher Aug 9, 2025
6fd719a
samples: Update sh-multilib samples
cpackham Aug 12, 2025
7f9d704
packages:mold: add version 2.40.3 (bump 2.40.y release)
egtvedt Aug 13, 2025
4f57ee0
packages:mold: add version 2.40.4 (bump 2.40.y release)
egtvedt Aug 17, 2025
fac1f6a
Generate a simple cmake toolchain file
KirillSmirnov Aug 20, 2025
2c952e0
scripts: Remove --passive-ftp from wget usage
cpackham Aug 21, 2025
eb03952
m4/ctng_python_version.m4: Handle python not existing
cpackham Aug 22, 2025
dacba59
Update config.{guess,sub}
zagura Jul 29, 2025
890e650
Linux: Add 6.15, 6.16 and bump LTS
zagura Aug 5, 2025
993d376
Add strace 6.16
zagura Aug 10, 2025
d0a98d5
Add dtc 1.7.2
zagura Aug 10, 2025
fe780fb
Add gettext 0.26
zagura Aug 10, 2025
fab8125
Add gnuprumcu 0.9.7
zagura Aug 10, 2025
d7ba73c
Update mpfr to 4.2.2
zagura Aug 10, 2025
a0b6d09
Add isl 0.27
zagura Aug 10, 2025
bb19549
Add uClibc-ng 1.0.54
zagura Aug 10, 2025
178d4d3
ncurses: add recent patches to 6.5
zagura Aug 10, 2025
ef27954
newlib-nano: add link to recent version
zagura Aug 10, 2025
40c26d2
packages: Unify checksums by running maintainer/manage-packages.sh -D -d
zagura Aug 10, 2025
bbedfdf
packages/ltrace: Update repository URL
cpackham Aug 15, 2025
3c40f43
packages/linux: mark non-LTS obsolete before 5.4
zagura Aug 10, 2025
d427a7c
feat: add config option for gprofng
fnr1r Aug 24, 2025
403899e
README.md: Remove old note
cpackham Sep 6, 2025
f7e0522
Add samples for ol9u6, ol9u6mips, ol10u0
Aug 26, 2025
a3fef85
samples: Add aarch64_be-unknown-linux-{gnu,musl}
neuschaefer Sep 26, 2025
e6adb7d
m4/ctng_python.m4: Update for python3.14
fulminemizzega Dec 26, 2025
a9ba500
libexpat: update comment for do_expat_backend
lygstate Dec 20, 2025
620b909
ci: Switch to macos-14 runners
cpackham Jan 7, 2026
37aa236
companion_libs: Apply EXTRA_CFLAGS to target build only
cpackham Dec 7, 2025
5b48e12
linux: Add 6.18 bump LTS
cpackham Dec 7, 2025
934ab4b
strace: Remove 6.13, add 6.18
cpackham Dec 7, 2025
91c3f35
gdb: Add gdb 17.1
cpackham Jan 6, 2026
dfd9358
Add Ubuntu {18.04,20.04,22.04,24.04} configs on x86_64
maxbachmann Jan 18, 2026
920b6e0
Revert "Add ncurses patch to handle debian mingw32 toolchain"
cpackham Jan 23, 2026
be7fafb
newlib: Add 4.6.0 snapshot
cpackham Jan 23, 2026
7ff3780
Revert "gdb: Add gdb 17.1"
cpackham Jan 27, 2026
6cb4b26
uClibc-ng: Add mirror
cpackham Jan 28, 2026
cefafa8
glibc: Add 2.43
heiher Jan 25, 2026
5c2d162
binutils 2.45: [EXPERIMENTAL] extend AArch64 SEH support (pending ups…
ahmedarif193 Jan 12, 2026
61ee57f
binutils 2.45 / gcc 15.2: fix x86_64/i686 build on macOS Tahoe (Apple…
ahmedarif193 Jan 12, 2026
2c9a502
mingw-w64: [EXPERIMENTAL] enable AArch64 Windows target support
ahmedarif193 Jan 12, 2026
fe46a83
aarch64/mingw: Implement SEH stack unwinding on AArch64
ahmedarif193 Jan 28, 2026
3c5cc17
gcc 15.2: fix patch 0023 to use delete+create instead of git rename
ahmedarif193 Jan 31, 2026
37190d5
binutils: Add 2.46.0
heiher Feb 10, 2026
185f348
Fix error 'cannot find -latomic_asneeded'
antoyo Feb 11, 2026
6431c80
CI: Temporarily disable macos jobs
cpackham Apr 9, 2026
0df735a
Merge branch '1.26-koreader' into master
ThatHackerDudeFromCyberspace Apr 10, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
17 changes: 9 additions & 8 deletions .github/workflows/build-toolchains.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,25 +19,26 @@ jobs:
runs-on: ${{ matrix.host }}
strategy:
matrix:
host: ["ubuntu-22.04", "macos-12"]
# host: ["ubuntu-22.04", "macos-14"]
host: ["ubuntu-22.04"]
sample: ${{ fromJSON(inputs.samples) }}
exclude:
# Exclude both glibc & uClibc ARC Linux toolchains as
# there's no known use of ARC Linux toolchains on Mac,
# and anyway glibc fails to build for ARC700,
# see https://github.com/crosstool-ng/crosstool-ng/pull/1456#issuecomment-779150246
- {host: "macos-12", sample: "arc-multilib-linux-gnu"}
- {host: "macos-12", sample: "arc-multilib-linux-uclibc"}
- {host: "macos-14", sample: "arc-multilib-linux-gnu"}
- {host: "macos-14", sample: "arc-multilib-linux-uclibc"}

# Exclude mips*-*-linux-gnu because of <byteswap.h> usage in
# elf-entry.c for linux kernel headers. <byteswap.h> is a GNU
# extension and doesn't exist on MacOS X
- {host: "macos-12", sample: "mips-unknown-linux-gnu"}
- {host: "macos-12", sample: "mips64-unknown-linux-gnu"}
- {host: "macos-14", sample: "mips-unknown-linux-gnu"}
- {host: "macos-14", sample: "mips64-unknown-linux-gnu"}

# Exclude x86_64-w64-mingw32,x86_64-pc-linux-gnu because it crashes on m4 build with
# a Segmentation fault
- {host: "macos-12", sample: "x86_64-w64-mingw32,x86_64-pc-linux-gnu"}
- {host: "macos-14", sample: "x86_64-w64-mingw32,x86_64-pc-linux-gnu"}
steps:
- name: create case sensitive workspace volume for macOS
if: ${{ runner.os == 'macOS' }}
Expand Down Expand Up @@ -72,7 +73,7 @@ jobs:
if: ${{ runner.os == 'macOS' }}
run: |
brew install autoconf automake bash binutils gawk gnu-sed \
gnu-tar help2man make ncurses pkg-config texinfo libtool
gnu-tar help2man make meson ncurses ninja pkg-config texinfo libtool
echo "${{ github.workspace }}/.local/bin" >> "$GITHUB_PATH"
- name: download x86_64-w64-mingw32.${{ matrix.host }} tarball
if: ${{ inputs.canadian-cross }}
Expand All @@ -94,7 +95,7 @@ jobs:
sed -i -e '/CT_LOCAL_TARBALLS_DIR/s/HOME/CT_TOP_DIR/' .config
sed -i -e '/CT_PREFIX_DIR/s/HOME/CT_TOP_DIR/' .config
sed -i -e '/CT_GLIBC_ENABLE_DEBUG/s/y$/n/' .config
test ${{ matrix.host }} = "macos-12" && sed -i -e '/CT_GDB_CROSS_PYTHON/s/y$/n/' .config
test ${{ matrix.host }} = "macos-14" && sed -i -e '/CT_GDB_CROSS_PYTHON/s/y$/n/' .config
ct-ng build
- name: create ${{ matrix.sample }}.${{ matrix.host }} tarball
if: ${{ matrix.sample == 'x86_64-w64-mingw32' }}
Expand Down
9 changes: 6 additions & 3 deletions .github/workflows/continuous-integration-workflow.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,8 @@ jobs:
runs-on: ${{ matrix.host }}
strategy:
matrix:
host: ["ubuntu-22.04", "macos-12"]
# host: ["ubuntu-22.04", "macos-14"]
host: ["ubuntu-22.04"]
steps:
- name: "clone"
uses: actions/checkout@v4
Expand All @@ -22,7 +23,7 @@ jobs:
if: ${{ runner.os == 'macOS' }}
run: |
brew install autoconf automake bash binutils gawk gnu-sed \
gnu-tar help2man make ncurses texinfo libtool
gnu-tar help2man libtool make meson ncurses ninja texinfo
- name: "build ct-ng"
run: |
if [ "$RUNNER_OS" == "macOS" ]; then
Expand Down Expand Up @@ -85,7 +86,7 @@ jobs:
- name: "ct-ng source"
run: |
mkdir -p src
for sample in aarch64-unknown-linux-gnu arm-picolibc-eabi \
for sample in aarch64-unknown-linux-gnu arm-none-eabi \
arm-unknown-linux-musleabi armv6-nommu-linux-uclibcgnueabi \
x86_64-w64-mingw32; do \
ct-ng $sample; \
Expand All @@ -95,6 +96,7 @@ jobs:
sed -i -e 's/^.*CT_COMP_TOOLS_BISON.*$/CT_COMP_TOOLS_BISON=y/' .config; \
sed -i -e 's/^.*CT_COMP_TOOLS_M4.*$/CT_COMP_TOOLS_M4=y/' .config; \
sed -i -e 's/^.*CT_COMP_TOOLS_MAKE.*$/CT_COMP_TOOLS_MAKE=y/' .config; \
sed -i -e 's/^.*CT_DOWNLOAD_WGET_OPTIONS.*$/CT_DOWNLOAD_WGET_OPTIONS="--tries=3 -nc --progress=dot:binary --no-use-server-timestamps"/' .config; \
ct-ng olddefconfig; \
ct-ng source; \
done
Expand Down Expand Up @@ -129,6 +131,7 @@ jobs:
"powerpc64-unknown-linux-musl",
"riscv32-unknown-elf",
"riscv64-unknown-elf",
"riscv64-unknown-linux-gnu",
"s390-unknown-linux-gnu",
"sh-unknown-elf",
"sparc-unknown-linux-gnu",
Expand Down
2 changes: 1 addition & 1 deletion Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ bash-completion/ct-ng: bash-completion/ct-ng.in Makefile
# Also, lintian is picky about execute-bit on the scripts
install-data-hook:
rm -f $(DESTDIR)$(man1dir)/$(ctng_progname).1.gz
gzip -9 $(DESTDIR)$(man1dir)/$(ctng_progname).1
gzip -n -9 $(DESTDIR)$(man1dir)/$(ctng_progname).1
chmod a+x $(DESTDIR)$(pkgdatadir)/scripts/config.guess
chmod a+x $(DESTDIR)$(pkgdatadir)/scripts/config.sub
rm -f $(DESTDIR)$(pkgdatadir)/LICENSE
Expand Down
4 changes: 1 addition & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,7 @@ Crosstool-NG aims at building toolchains. Toolchains are an essential component

Refer to [documentation at crosstool-NG website](http://crosstool-ng.github.io/docs/) for more information on how to configure, install and use crosstool-NG.

**Note 1:** If you elect to build a uClibc-based toolchain, you will have to prepare a config file for uClibc with <= crosstool-NG-1.21.0. In >= crosstool-NG-1.22.0 you only need to prepare a config file for uClibc(or uClibc-ng) if you really need a custom config for uClibc.

**Note 2:** If you call `ct-ng --help` you will get help for `make(2)`. This is because ct-ng is in fact a `make(2)` script. There is no clean workaround for this.
**Note:** If you call `ct-ng --help` you will get help for `make(2)`. This is because ct-ng is in fact a `make(2)` script. There is no clean workaround for this.

## Repository layout

Expand Down
4 changes: 2 additions & 2 deletions config/arch/bpf.in
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
## no-package
## select ARCH_SUPPORTS_EITHER_ENDIAN
## select ARCH_DEFAULT_LE
## select GCC_VERY_NEW
## select BINUTILS_VERY_NEW
## select GCC_REQUIRE_12_or_later
## select BINUTILS_REQUIRE_2_41_or_later
##
## help The BPF architecture.
10 changes: 10 additions & 0 deletions config/arch/lm32.in
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# LatticeMico32 soft-core architecture

## no-package
## select ARCH_SUPPORTS_32
## select ARCH_DEFAULT_32
## select ARCH_DEFAULT_BE
## depends on EXPERIMENTAL

## help The LatticeMico32 soft-core architecture:
## help https://www.latticesemi.com/en/Products/DesignSoftwareAndIP/IntellectualProperty/IPCore/IPCores02/LatticeMico32.aspx
4 changes: 4 additions & 0 deletions config/arch/nios2.in
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,10 @@
## select ARCH_DEFAULT_LE
## select ARCH_SUPPORTS_WITH_ARCH
## select ARCH_SUPPORTS_FLAT_FORMAT
## select GCC_REQUIRE_older_than_15
## select GDB_REQUIRE_older_than_16 if DEBUG_GDB
## select GLIBC_REQUIRE_older_than_2_41 if LIBC_GLIBC
## select BINUTILS_REQUIRE_older_than_2_44
##
## help The NIOS2 architecture, as defined by:
## help http://www.altera.com
13 changes: 13 additions & 0 deletions config/arch/openrisc.in
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# OpenRISC specific configuration file

## no-package
## select ARCH_SUPPORTS_32
## select ARCH_DEFAULT_32
## select ARCH_SUPPORTS_BOTH_MMU
## select ARCH_DEFAULT_BE
## select ARCH_SUPPORTS_WITH_ARCH
## select ARCH_SUPPORTS_FLAT_FORMAT
## depends on EXPERIMENTAL
##
## help The OpenRISC architecture
## help https://openrisc.io/
11 changes: 11 additions & 0 deletions config/arch/rx.in
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
## no-package
## select ARCH_SUPPORTS_32
## select ARCH_DEFAULT_32
## select ARCH_SUPPORTS_FLAT_FORMAT
## select ARCH_SUPPORTS_EITHER_ENDIAN
## select ARCH_DEFAULT_LE
## select ARCH_REQUIRES_MULTILIB
## select ARCH_SUPPORTS_WITH_ENDIAN

## help The RX architecture, as defined by:
## help https://www.renesas.com/en/products/microcontrollers-microprocessors/rx-32-bit-performance-efficiency-mcus
41 changes: 35 additions & 6 deletions config/arch/sh.in
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,6 @@
## no-package
## select ARCH_SUPPORTS_32
## select ARCH_DEFAULT_32
## select ARCH_SUPPORTS_BOTH_MMU
## select ARCH_DEFAULT_HAS_MMU
## select ARCH_SUPPORTS_FLAT_FORMAT
## select ARCH_SUPPORTS_EITHER_ENDIAN
## select ARCH_DEFAULT_LE
Expand All @@ -21,6 +19,8 @@ choice
# GCC supports both endiannesses even if a specific CPU is selected (so long
# as that CPU can be both BE/LE), but the binutils (or specifically, ld)
# configures for both endiannesses only if sh-*-linux target is selected.
# --with-cpu can be used to set the mmu and precision options,
# so dont include the options aswell
config ARCH_SH_SH
bool
prompt "unspecified"
Expand Down Expand Up @@ -62,16 +62,45 @@ config ARCH_SH_SH4A
bool
prompt "sh4a"

config ARCH_SH_SH4AL
bool
prompt "sh4al"

endchoice

config ARCH_SH_VARIANT
string
default "sh" if ARCH_SH_SH
default "sh" if ARCH_SH_SH
default "sh1" if ARCH_SH_SH1
default "sh2" if ARCH_SH_SH2
default "sh2e" if ARCH_SH_SH2E
default "sh2a" if ARCH_SH_SH2A
default "sh2e" if ARCH_SH_SH2E
default "sh2a" if ARCH_SH_SH2A
default "sh3" if ARCH_SH_SH3
default "sh3e" if ARCH_SH_SH3E
default "sh3e" if ARCH_SH_SH3E
default "sh4" if ARCH_SH_SH4
default "sh4a" if ARCH_SH_SH4A
default "sh4al" if ARCH_SH_SH4AL

config ARCH_SH_ENABLE_FPU_OPTIONS
bool
default y if ARCH_SH_SH2A
default y if ARCH_SH_SH4
default y if ARCH_SH_SH4A
select ARCH_SUPPORTS_BOTH_MMU
select ARCH_DEFAULT_HAS_MMU

config ARCH_SH_ENABLE_PRECISION_OPTIONS
bool
default y if ARCH_USE_MMU
select ARCH_SUPPORTS_WITH_FLOATING_PRECISION
select ARCH_SUPPORTS_PRECISION_UNSPECIFIED
select ARCH_SUPPORTS_PRECISION_SINGLE_ONLY
select ARCH_SUPPORTS_PRECISION_SINGLE_WITH_DOUBLE
select ARCH_DEFAULT_PRECISION_UNSPECIFIED

config ARCH_SH_FLOAT_SUFFIX
string
default "" if !ARCH_SH_ENABLE_FPU_OPTIONS
default "_nofpu" if !ARCH_USE_MMU
default "_single" if ARCH_FLOATING_PRECISION_SINGLE_WITH_DOUBLE
default "_single_only" if ARCH_FLOATING_PRECISION_SINGLE_ONLY
10 changes: 10 additions & 0 deletions config/arch/tricore.in
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# tricore specific configuration file

## no-package
## depends on EXPERIMENTAL
##
## select ARCH_SUPPORTS_32
## select ARCH_SUPPORTS_BOTH_ENDIAN
## select ARCH_DEFAULT_LE
## select ARCH_SUPPORTS_FLAT_FORMAT

22 changes: 21 additions & 1 deletion config/binutils/binutils.in
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,16 @@ config BINUTILS_GOLD_SUPPORTS_ARCH
default y if ARCH_SPARC
default y if ARCH_X86

# Support for gold was deprecated and removed from binutils 2.44.
config BINUTILS_HAS_GOLD
bool
default y if !BINUTILS_2_44_or_later
default y if !BINUTILS_SRC_RELEASE

config BINUTILS_GOLD_SUPPORT
bool
default y
depends on BINUTILS_GOLD_SUPPORTS_ARCH
depends on BINUTILS_GOLD_SUPPORTS_ARCH && BINUTILS_HAS_GOLD

# Force using the BFD linker if needed. There are two options:
# - For some C libraries (eg. glibc at least), BFD ld must be
Expand All @@ -34,6 +40,11 @@ config BINUTILS_DEP_BISON
depends on BINUTILS_2_39_or_later && !CONFIGURE_has_bison_3_0_4_or_newer && (ARCH_X86 || (ARCH_ARM && ARCH_64))
select COMP_TOOLS_BISON

if BINUTILS_2_44_or_later && BINUTILS_GOLD_SUPPORT && !BINUTILS_SRC_RELEASE
comment "WARNING! For binutils >= 2.44 only enable gold support if supplied"
comment "| through custom source tree."
endif

choice
bool
prompt "Linkers to enable"
Expand Down Expand Up @@ -132,6 +143,7 @@ config BINUTILS_LINKER_DEFAULT
config BINUTILS_PLUGINS
bool
prompt "Enable support for plugins"
depends on !STATIC_TOOLCHAIN
help
binutils can be extended through the use of plugins.
Especially, gold can use the lto-plugin, as installed
Expand Down Expand Up @@ -175,6 +187,14 @@ config BINUTILS_FOR_TARGET
Some utilities may need binutils libraries to be available on
the target, eg. oprofile.

config BINUTILS_GPROFNG
bool
prompt "Enable the gprofng profiler"
help
The next generation GNU application profiling tool
Disabled by default since it contains non-portable code
(i.e. requires glibc on the host)

if BINUTILS_FOR_TARGET

config BINUTILS_FOR_TARGET_IBERTY
Expand Down
51 changes: 42 additions & 9 deletions config/cc/gcc.in
Original file line number Diff line number Diff line change
Expand Up @@ -53,15 +53,6 @@ config CC_GCC_ENABLE_CXX_FLAGS
Note: just pass in the option _value_, that is only the part that goes
after the '=' sign.

config CC_GCC_EXTRA_LIBSTDCXX
bool "Re-enable libstdcxx"
default n
depends on LIBC_AVR_LIBC
select CC_CORE_PASS_2_NEEDED
help
libstdcxx is normally disabled on avr systems due to size limitations.
Set this option to re-enable libstdcxx support.

config CC_GCC_CORE_EXTRA_CONFIG_ARRAY
string "Core gcc extra config"
default ""
Expand Down Expand Up @@ -240,6 +231,48 @@ config CC_GCC_ENABLE_TARGET_OPTSPACE

This will compile crossgcc's libs with -Os.

config CC_GCC_LIBSTDCXX
tristate "Build libstdcxx"
default n if ARCH_AVR || LIBC_NONE
default m
depends on CC_LANG_CXX
select CC_CORE_NEEDED if ARCH_AVR
help
libstdcxx is normally disabled on some systems, like avr, due to size
limitations or it being not supported.
Set this option to force libstdcxx support.

Option | libstdcxx build | Associated ./configure switch
---------+--------------------+--------------------------------
Y | forcibly | --enable-libstdcxx
M | auto | (none, ./configure decides)
N | forcibly not | --disable-libstdcxx

config CC_GCC_LIBSTDCXX_HOSTED_DISABLE
bool "Build freestanding libstdcxx"
default y if LIBC_AVR_LIBC
default n
depends on CC_GCC_LIBSTDCXX
help
libstdcxx can be compiled in two modes: hosted and freestanding.
Hosted mode is the default, and is used when the OS is available.
Freestanding mode is used when the OS is not available, like in
bare-metal systems.

Some architectures, like avr, do not support hosted mode, but default
to it, and will fail to build libstdcxx in hosted mode.

Answer 'y' here to force freestanding mode, otherwise answer let
./configure decide.

config CC_GCC_LIBSTDCXX_TARGET_CXXFLAGS
string
prompt "Target CXXFLAGS for libstdc++"
default ""
help
Used to add extra CXXFLAGS when compiling the target libstdc++
library (e.g. -fno-exceptions).

config CC_GCC_LIBMUDFLAP
bool
prompt "Compile libmudflap"
Expand Down
5 changes: 5 additions & 0 deletions config/comp_libs/gmp.in
Original file line number Diff line number Diff line change
@@ -1 +1,6 @@
# GMP options
config GMP_EXTRA_CFLAGS
string "extra target CFLAGS"
default "-std=gnu17" if GCC_15_or_later
help
Extra target CFLAGS to use when building.
2 changes: 0 additions & 2 deletions config/comp_libs/mpc.in
Original file line number Diff line number Diff line change
@@ -1,3 +1 @@
# MPC options
# MPC 1.0.x and earlier break with MPFR 4.0.0.
## select MPFR_REQUIRE_older_than_4_0_0 if MPFR_NEEDED && !MPC_1_1_0_or_later
5 changes: 5 additions & 0 deletions config/comp_libs/ncurses.in
Original file line number Diff line number Diff line change
Expand Up @@ -55,3 +55,8 @@ config NCURSES_TARGET_FALLBACKS
List of terminal descriptions that will be compiled into the curses
library for the target.

config NCURSES_EXTRA_CFLAGS
string "extra target CFLAGS"
default "-std=gnu17" if GCC_15_or_later
help
Extra target CFLAGS fto use when building.
Loading
Loading