101 Commits

Author SHA1 Message Date
Arne Fitzenreiter
5121119591 gcc: fix toolchain crossbuild
gcc doesn't support mbranch-predict=standard on x86_64
so this is removed in toolchain pass1
2023-12-06 08:21:05 +01:00
Michael Tremer
e8bdca4d52 gcc: Update to 13.2.0
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2023-08-17 14:07:43 +00:00
Arne Fitzenreiter
a04ae8c43b gcc: fix build on riscv64
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2023-08-10 06:35:11 +00:00
Michael Tremer
df1a3f56cb gcc: Update to 13.1.0
This patch does not include the rootfile for riscv64 because GCC FTBFS.
Bug #13156 has been opened to address this.

But since we don't officially support IPFire riscv64, yet, this should
not delay this going into next.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Reviewed-by: Peter Müller <peter.mueller@ipfire.org>
2023-06-24 06:34:18 +00:00
Arne Fitzenreiter
b2af45b218 gcc: build libatomic before zstd of riscv64
of riscv64 zstd need this lib to compile.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2023-02-21 10:15:33 +00:00
Michael Tremer
32bbae10a0 gcc: Update to 12.2.0
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2023-02-10 09:27:56 +00:00
Michael Tremer
39f94ee8eb Drop support for armv6l (and armv7hl)
This removes support for building IPFire for 32 bit ARM architectures.

This has been decided in August 2022 with six months notice as there are
not very many users and hardware is generally not available any more.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2023-02-10 09:26:37 +00:00
Arne Fitzenreiter
e9d952c1b1 gcc: fix toolchain build
I have removed the patches instead of readd the mpfr-4.1.0
patchset because this result may result in different builds if we
not update the prebuild toolchain.

Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2023-01-26 23:14:16 +00:00
Michael Tremer
7eda830bfd gcc: Fix build against glibc 2.36
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2022-09-11 08:36:17 +00:00
Michael Tremer
89be2a0b3b gcc: Update to 11.3.0
This is just a bug fix release that we should be using.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Acked-by: Peter Müller <peter.mueller@ipfire.org>
2022-05-30 19:25:18 +00:00
Adolf Belka
e1ea4c0ad2 gcc: Update mpfr with patches for use in toolchain build
- Added mpfr consolidated patches file to mpfr in gcc. mpfr is built internally for use
   in the toolchain.
- Confirmed working by running./make toolchain which ran successfully
   confirmed from the _build.toolchain.log file that the patches were successfully
   implemented for gcc pass 1, gcc pass L and gcc pass 2
- Full toolchain build successfully completed.

Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
Reviewed-by: Peter Müller <peter.mueller@ipfire.org>
2022-05-02 05:39:00 +00:00
Peter Müller
9a7e4d8506 Switch checksums from MD5 to BLAKE2
Historically, the MD5 checksums in our LFS files serve as a protection
against broken downloads, or accidentally corrupted source files.

While the sources are nowadays downloaded via HTTPS, it make sense to
beef up integrity protection for them, since transparently intercepting
TLS is believed to be feasible for more powerful actors, and the state
of the public PKI ecosystem is clearly not helping.

Therefore, this patch switches from MD5 to BLAKE2, updating all LFS
files as well as make.sh to deal with this checksum algorithm. BLAKE2 is
notably faster (and more secure) than SHA2, so the performance penalty
introduced by this patch is negligible, if noticeable at all.

In preparation of this patch, the toolchain files currently used have
been supplied with BLAKE2 checksums as well on
https://source.ipfire.org/.

Cc: Michael Tremer <michael.tremer@ipfire.org>
Signed-off-by: Peter Müller <peter.mueller@ipfire.org>
Acked-by: Michael Tremer <michael.tremeripfire.org>
2022-04-02 14:19:25 +00:00
Peter Müller
8fa66ce750 Revert "gcc: Compile without ZSTD"
https://lists.ipfire.org/pipermail/development/2022-February/012544.html

This reverts commit 0b6ba4a0ca.
2022-02-23 15:36:25 +00:00
Michael Tremer
0b6ba4a0ca gcc: Compile without ZSTD
GCC can use ZSTD to compress debugging/LTO information in binary
objects. However, on riscv64, compiling zstd requires libatomic which is
not available at this point.

In order to make the build work, we explicitely disable ZSTD in GCC and
build ZSTD after libatomic is available.

Although ZSTD offers great compression, we won't have any disadvantages
through this change since we do not ship any debugging information and
at this point in time to not use LTO.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2022-02-22 19:41:39 +00:00
Peter Müller
4e6fcc73f1 Fix Bugzilla URL in GCC LFS file
Signed-off-by: Peter Müller <peter.mueller@ipfire.org>
2022-02-19 00:23:21 +00:00
Peter Müller
66c3619872 Early spring clean: Remove trailing whitespaces, and correct licence headers
Bumping across one of our scripts with very long trailing whitespaces, I
thought it might be a good idea to clean these up. Doing so, some
missing or inconsistent licence headers were fixed.

There is no need in shipping all these files en bloc, as their
functionality won't change.

Signed-off-by: Peter Müller <peter.mueller@ipfire.org>
2022-02-18 23:54:57 +00:00
Michael Tremer
c16a83df5a binutils/gcc: Explicitely declare host and build architecture tuple
This will fix cross-compiling the toolchain which I broke before.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2022-02-05 12:11:46 +00:00
Michael Tremer
e111b836b3 binutils+gcc: Fix that the toolchain compiler is trying to link against host libraries
Binutils and GCC were misconfigured and used host libraries to build
toolchain programs. That resulted in that those programs were correctly
linked, but could not be executed, because the runtime linker did not
search in the host system.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2022-02-05 12:09:40 +00:00
Michael Tremer
7c6bf38c05 gcc: toolchain stage 2: Set sysroot to /tools_${arch}
The stage 2 compiler was looking for libraries outside the bootstrapped
toolchain environment which causes that linked programs cannot be
executied because the runtime linker only looks for libraries inside the
toolchain environment.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2022-02-05 12:08:42 +00:00
Michael Tremer
6cf219c427 Drop support for i586
This patch removes support for i586 according to the decision being
taken over a year ago.

It removes the architecture from the build system and removes all
required hacks and other quirks that have been necessary before.

There is no need to ship any changed files to the remaining
architectures as the removed code branches have not been used.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2021-12-04 23:27:26 +01:00
Arne Fitzenreiter
a7bb8b98a3 gcc: fix build with kernel 5.15 headers
kernel 5.15 remove cyclades interface.

Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2021-11-04 19:19:04 +01:00
Arne Fitzenreiter
3c2b8c6cd9 gcc: enable parallel build
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2021-10-29 10:07:15 +02:00
Arne Fitzenreiter
f3fda4d3ba armv6: switch march to armv6zk+fp to use the FPU.
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2021-07-05 07:42:39 +02:00
Arne Fitzenreiter
05c54e822e gcc: remove CCFLAGS only in pass1 of the toolchain
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2021-07-05 07:42:39 +02:00
Michael Tremer
27d620ff37 GCC: Update to 11.1
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2021-07-05 07:42:39 +02:00
Michael Tremer
570590a2df GCC: Update to 10.3.0
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2021-07-05 07:42:39 +02:00
Arne Fitzenreiter
aafdd71b04 switch arm 32 bit arch from armv5tel to armv6l
we have no supported armv5tel board left so we can switch to the higher
arch. This now can use the vpu (still in softfp calling convention to
not break existing installations.)
this fix many compile problems, also boost is now working again.

Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2021-07-05 07:42:39 +02:00
Michael Tremer
e3a093f54b gcc: Compile for rv64gc
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2021-03-06 11:14:49 +00:00
Arne Fitzenreiter
d83422d1c0 toolchain: fix build with gcc<8 on builder.
gcc-7 not support -fcf-protection so filter it from CFLAGS.
also filter -mtune in first pass because it should optimized for the
actual host.

Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2020-09-24 07:36:01 +02:00
Michael Tremer
854df4df81 gcc: Bundle against OS versions of gmp/mpfr
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2020-08-16 10:29:43 +00:00
Michael Tremer
0c30619a95 Update GCC to 10.2.0
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2020-08-16 10:29:42 +00:00
Peter Müller
79ccd55de4 gcc: disable parallel build
Cc: Michael Tremer <michael.tremer@ipfire.org>
Signed-off-by: Peter Müller <peter.mueller@ipfire.org>
Acked-by: Michael Tremer <michael.tremer@ipfire.org>
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2020-04-30 07:16:39 +00:00
Michael Tremer
eed179acdc gcc: Drop support for Go
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2020-04-20 15:24:38 +00:00
Michael Tremer
067a6fd040 gcc: Update to 9.3.0
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2020-03-21 15:43:41 +00:00
Michael Tremer
210b27e179 gcc: Update to 9.2.0
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2020-01-04 18:23:09 +00:00
Michael Tremer
d111587cc3 gcc: Build the Go compiler
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2019-08-20 17:21:08 +00:00
Michael Tremer
525f5d2959 gcc: Update to 8.3.0
This patch carries the rootfile for x86_64 only.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2019-04-28 09:44:37 +01:00
Wolfgang Apolinarski
23164efba5 Parallelized build for several packages
Added $(MAKETUNING) to several packages.
Marked packages that do not support parallel build.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2019-03-04 11:02:03 +00:00
Michael Tremer
537401bb12 gcc: Fix building with glibc >= 2.28
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2018-10-19 08:59:25 +01:00
Arne Fitzenreiter
176b1cc62b gcc: fix gmp download
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2018-02-11 20:56:12 +00:00
Arne Fitzenreiter
11b5e5cb8e toolchain: update to gcc-7.3.0 and enable retpolines on x86_64 and i586
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2018-02-11 20:56:12 +00:00
Michael Tremer
6c4cc7ea1b Move toolchain from /tools to /tools_${arch}
This will allow us to run multiple builds on the same
system at the same time (or at least have them on disk).

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2017-11-23 15:57:28 +00:00
Arne Fitzenreiter
f3c01b39e4 toolchain: filter -mfpu from CFLAGS for first pass
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2017-07-07 10:12:28 +02:00
Michael Tremer
8d29c3bf10 gcc: Remove some deprecated configure options in 2nd toolchain pass
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2017-05-18 12:05:37 +01:00
Michael Tremer
b45e371ff7 gcc: Perform full bootstrap on ARM32
The build fails with various reasons and a full bootstrap
always succeeds. This takes a very long time so we try to
avoid it where ever possible.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2017-05-18 12:05:20 +01:00
Michael Tremer
8bc5ded22e gcc: Do not build libmpx on x86 in first pass in toolchain
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2017-05-18 12:05:11 +01:00
Michael Tremer
51777e5d7c gcc: Always pass --disable-multilib
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2017-05-18 12:03:56 +01:00
Michael Tremer
dc7d6b204d make.sh: Cleanup of polluted environment
The build environment is using a number of variables which
occasionally conflicted with some other build systems.

This patch cleans that up by renaming some variables and
later unexporting them in the lfs files.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2017-05-18 12:02:03 +01:00
Michael Tremer
0c24d56d7c gcc: Build with hard floating point support on armv7hl
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2017-05-18 12:01:27 +01:00
Michael Tremer
991d11d738 Cleanup makefiles by using the new TOOLCHAIN variable
No functional changes

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2017-05-18 12:00:19 +01:00