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>
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>
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>
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>
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>
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>
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>
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>
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>