Compare commits
23 Commits
b0a2747ada
...
37f0832e2a
Author | SHA1 | Date |
---|---|---|
fosslinux | 37f0832e2a | |
Andrius Štikonas | 07b11120b2 | |
Andrius Štikonas | 1259e3fa28 | |
Andrius Štikonas | 3197781127 | |
fosslinux | 6835ebfaf8 | |
fosslinux | 2e29ac837a | |
fosslinux | 05e8e34ad3 | |
fosslinux | c063a86bb4 | |
fosslinux | 99bad05173 | |
fosslinux | 1292d6ab9c | |
fosslinux | 6fb676c8c2 | |
fosslinux | ac4685e886 | |
fosslinux | 8ae911162a | |
Andrius Štikonas | 906b6b8f19 | |
Andrius Štikonas | 1bc4296091 | |
Eduardo Sánchez Muñoz | 55a44d9347 | |
Eduardo Sánchez Muñoz | b96074616f | |
Eduardo Sánchez Muñoz | d11ee97452 | |
Eduardo Sánchez Muñoz | 929eb69d03 | |
Eduardo Sánchez Muñoz | dd8ce0e516 | |
fosslinux | af610ab70b | |
Eduardo Sánchez Muñoz | d3477570b8 | |
Eduardo Sánchez Muñoz | 86c0be5b67 |
|
@ -22,6 +22,9 @@ jobs:
|
|||
uses: actions/checkout@v3
|
||||
with:
|
||||
submodules: recursive
|
||||
# There is a strange bug(?) in nongnu, when you clone a git repository
|
||||
# against a commit != HEAD with depth=1, it errors out.
|
||||
fetch-depth: 0
|
||||
- name: Query cache for sources
|
||||
id: cache
|
||||
uses: actions/cache/restore@v3
|
||||
|
@ -43,9 +46,9 @@ jobs:
|
|||
key: cache-${{ hashFiles('sys*/*/sources') }}
|
||||
- name: Run bootstrap
|
||||
id: bootstrap
|
||||
run: ./rootfs.py --bwrap --external-sources --preserve --cores 2
|
||||
run: ./rootfs.py --bwrap --external-sources --build-kernels --preserve --cores 2
|
||||
- name: Archive created packages
|
||||
if: steps.bootstrap.conclusion == 'success'
|
||||
if: always() # archive failed builds
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: packages
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
#!/bin/bash
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# SPDX-FileCopyrightText: 2022 fosslinux <fosslinux@aussies.space>
|
||||
#
|
||||
|
|
35
parts.rst
35
parts.rst
|
@ -1136,7 +1136,7 @@ Differences to 3.8.16:
|
|||
remove determinism from precompiled Python libraries (``.pyc``). Finally, we
|
||||
can re-enable compiling of Python modules.
|
||||
|
||||
GCC 10.4.0
|
||||
gcc 10.4.0
|
||||
==========
|
||||
|
||||
GCC 10.x series is the last version of GCC that is able to be built with the
|
||||
|
@ -1145,3 +1145,36 @@ every subdirectory, since we now have ``autogen`` available we are able to use
|
|||
the top-level configure to build the project. We do not use GCC's bootstrap mode,
|
||||
where GCC is recompiled with itself after being built, since we're just going
|
||||
to use this GCC to compile GCC 12, it adds build time for little benefit.
|
||||
|
||||
binutils 2.38 (pass 2)
|
||||
======================
|
||||
|
||||
We recompile Binutils with the full intended autogen top-level build system,
|
||||
instead of the subdirectory build system used before. This creates a binutils
|
||||
that functions completely correctly for the build of GCC 12 (eg, fixes the
|
||||
mistaken plugin loading support). Other modern features are added, including;
|
||||
|
||||
* threaded linking
|
||||
* 64-bit linking on 32-bit x86
|
||||
* the modern, rewritten gold linker used by some distributions
|
||||
|
||||
gcc 12.2.0
|
||||
==========
|
||||
|
||||
This is the most recent version of GCC. With this version of GCC, the
|
||||
final gcc-binutils-musl toolchain is complete. The focus of further builds
|
||||
shifts to rebuilds for correctness, cleanup and preparation for downstream
|
||||
consumption.
|
||||
|
||||
In line with this, a variety of modern features + minor build changes are used
|
||||
to ensure the compiler is suitable for downstream consumption;
|
||||
|
||||
* A full internal GCC bootstrap is used to ensure there are no lagging
|
||||
historical problems.
|
||||
* PIE and SSP are enabled by default, as is done on every major modern Linux
|
||||
distribution.
|
||||
* libssp is disabled and handed off to the libc (done by many modern Linux
|
||||
distributions). libssp in GCC is very broken and glibc-centric - it should
|
||||
really be handled by the libc, which is what most distributions do.
|
||||
* LTO now fully functions correctly, despite both the linker and the compiler
|
||||
being static binaries.
|
||||
|
|
|
@ -39,6 +39,7 @@ def create_configuration_file(args):
|
|||
config.write("KERNEL_BOOTSTRAP=True\n")
|
||||
else:
|
||||
config.write("KERNEL_BOOTSTRAP=False\n")
|
||||
config.write(f"BUILD_KERNELS={args.update_checksums or args.build_kernels}\n")
|
||||
|
||||
# pylint: disable=too-many-statements
|
||||
def main():
|
||||
|
@ -73,6 +74,9 @@ def main():
|
|||
parser.add_argument("--external-sources",
|
||||
help="Download sources externally from live-bootstrap.",
|
||||
action="store_true")
|
||||
parser.add_argument("--build-kernels",
|
||||
help="Also build kernels in chroot and bwrap builds.",
|
||||
action="store_true")
|
||||
parser.add_argument("--no-create-config",
|
||||
help="Do not automatically create config file",
|
||||
action="store_true")
|
||||
|
|
|
@ -16,14 +16,15 @@ a7bd12bd0c639783ce1c0e9f640cf004a87460bbda8154bc550c5e6884457b48 automake-1.15.
|
|||
57100612d902537b72ee2fd3dfecc903f2ea3959f1a480af87c6a1ef9a9d7c03 automake-1.16.3_0.tar.bz2
|
||||
1c7e09ac08f156960420fca1f6e8560c1855bf01b001a0648b56153d6ceb9c28 automake-1.6.3_0.tar.bz2
|
||||
444131776779d1f27628088a817bfb8c9aa85f4b036b934794a71e484ec9bd70 automake-1.6.3_1.tar.bz2
|
||||
ef08694bf8e78ffcf56f9c8a63b0f189e301c06f02ab240e15e4c7fe354c2a0d automake-1.7_0.tar.bz2
|
||||
e8ff13753943e43972a8cf1672819f001718ed38e5497cf7b554c21a507ba22b automake-1.7.8_0.tar.bz2
|
||||
ef08694bf8e78ffcf56f9c8a63b0f189e301c06f02ab240e15e4c7fe354c2a0d automake-1.7_0.tar.bz2
|
||||
9922651b64ad2e29b944082f26db223008220155048f25d64df1f6d82071ff1c automake-1.8.5_0.tar.bz2
|
||||
c5807850a377e4bb9aa4121d9781d145bdd80327626a9419630a75ce2c8d9c71 automake-1.9.6_0.tar.bz2
|
||||
46282b2a7c2e3d50bac2d3f90fee56629c4a533a962ad61eabac6395a3b676db bash-5.2.15_0.tar.bz2
|
||||
05bcb569640576e53e40c2bfbeea988fd4fc4e0b5b1311668eabd5cdaacd6657 bc-1.07.1_0.tar.bz2
|
||||
7b8ea17311f22e987a39b814658c72b46201650c4dfbc707e8fd9eb42bf1ed28 binutils-2.30_0.tar.bz2
|
||||
a21157791cb5e7ec941de09f275286d90efe1b463dc4302b238af9ba53fae49e binutils-2.38_0.tar.bz2
|
||||
543fb17af4d08fe3ba6bfbd824aa607f7eda5fd09bc11c2384bd91667c052053 binutils-2.38_0.tar.bz2
|
||||
868e1e600754638674c626e2b5fa017be18c03cbabc94f0c9d7b3e070779b9e8 binutils-2.38_1.tar.bz2
|
||||
2e2102a9a41f3ad35683e67f6f9cc09e4edad25b7acb1ae0ca3ad94e19fbbdaf bison-2.3_0.tar.bz2
|
||||
df9539b52384757d927bca5a27b1b58325b6024b23b0470e557f135eb69bae30 bison-3.4.1_0.tar.bz2
|
||||
fed9e13409f6378f97e8cef61e6faac992f3b767dfdac22f32453ff57cf29e7b bison-3.4.1_1.tar.bz2
|
||||
|
@ -36,7 +37,7 @@ acd3ba50a33ea0172c3ca59e341a48e4233be48ded26fa031fd2e9417a2dfb31 coreutils-5.0_
|
|||
e41aba2caa7514704731d3b7a49f63ff8ffb2d22a64f14afdbaadbd0b24073f0 coreutils-8.32_0.tar.bz2
|
||||
8df7fe3124243028cc9fd9a00fe8ab55c2143a9b7551426447867d2e1de436b6 curl-7.88.1_0.tar.bz2
|
||||
d7d0a5fc9117f9b3ebd287851a48716c96a3c11991365edb8890f0e203d3b810 curl-7.88.1_1.tar.bz2
|
||||
5022827ba9d4cc7de3b0d0bafdce1c8abd01e437e940193c672d6a309c889806 dhcpcd-9.5.0_0.tar.bz2
|
||||
ed1581d1ef5d42c809a7db1c27614e0a900076e7ce08349ea4797944d41c7bc7 dhcpcd-10.0.1_0.tar.bz2
|
||||
c4008ae6b168aee4120b0f3624a1875f9e413d8f0c637708b8b04a1fb5be173c diffutils-2.7_0.tar.bz2
|
||||
bda6afcd3a390a34a57443269a4857ccc470129f7a557981778c145fd841cbd1 dist-3.5-236_0.tar.bz2
|
||||
c0514138e251062c9ac2ff1e432e01a541777bfd61480c77479ea55f5b75cdd1 e2fsprogs-1.45.7_0.tar.bz2
|
||||
|
@ -48,7 +49,8 @@ d7b7453ad400eac1ba39f99971afdc392cb8a92c557ef5d6fd9fa2625124de4a ed-1.4_0.tar.b
|
|||
408131b1c033a5f8a6845997b049784be0b466cec107a71270e5a04dae2c1e6c flex-2.6.4_0.tar.bz2
|
||||
5ff7fbe16b55563719b108260bd6a34ebabab0465d758ca98cba522932532e45 gawk-3.0.4_0.tar.bz2
|
||||
6de1c1380026ef9948387e665610185b6014f47a80453177a6c81898c95cbbd3 gc-8.0.4_0.tar.bz2
|
||||
4ed230542823160a4b1a469847cc2cc0ae1985611f2e1b831e13f2a3a7122efb gcc-10.4.0_0.tar.bz2
|
||||
cb1aca35878f7c53e7dc96294ceca2ce3c72cf89359fe2bec46336d5f0849387 gcc-10.4.0_0.tar.bz2
|
||||
0c58c12e71c8571f9c958dbebf53677cb4612eaa5cfd2aaa9ed7a1b76a081dae gcc-12.2.0_0.tar.bz2
|
||||
b09580c3972ff4e5f6e624bdc83d5328ce017422e0b92a7c170b51b6f04a47d2 gcc-4.0.4_0.tar.bz2
|
||||
58d0d431bb2e96a273965b5e7aa760fb6961a7f7f2fd98ef5fc5a6b7b44bc989 gcc-4.0.4_1.tar.bz2
|
||||
a2301d8dbbfbfcdd18444f01848e8e4366780281009640acbd3af0fab9b11aea gcc-4.7.4_0.tar.bz2
|
||||
|
@ -79,25 +81,25 @@ a724c91a43e282c3d338a977e4eeac3b970df241db7872f9d5cf27984b609814 musl-1.1.24_0.
|
|||
b79e0f8a39ba8880d43aa27551b72915655c62af39125e1f4ac8f8e69e71aaca musl-1.1.24_2.tar.bz2
|
||||
a675ead0f146a96973fca9cc9e4f16081b14c26630ae17405e3ba5e9510ff30d musl-1.2.3_0.tar.bz2
|
||||
054c6a5f1c07d124b701e590267aa8fb2ba1c88bed9a69a473724f8534cdb728 musl-1.2.3_1.tar.bz2
|
||||
3260f0c8bfa1160a2f252c6e0d3ca5f98635ec8f9d9f211a30ef1a0313cac853 musl-1.2.3_2.tar.bz2
|
||||
5ba73e250b0325f690b2c5c3afd4a14cf4612c682e9b358727ebcb7bc6b758ef musl-1.2.3_2.tar.bz2
|
||||
e0c91898e771c65e6a462600243a7858b069db5726680193f86d7dbac3f740ae openssl-1.1.1l_0.tar.bz2
|
||||
69daf6ffbf26fea500426c6936e5a16e82833f03ad0dc6109697f69a8516b4c7 patch-2.7.6_0.tar.bz2
|
||||
914a7abf36a64723b6e9f9b0b6ccd19c8e544fa798896a2bb1151dc341890c22 perl-5.000_0.tar.bz2
|
||||
887d835562d471653bcda60e652fceb4b3ef58a83321a4eb5af0431dc182781b perl-5.003_0.tar.bz2
|
||||
b86fc586d72a6d204d0b9017afe17aa2439529e13f43befc56648b78de17c8f8 perl5.004-05_0.tar.bz2
|
||||
451ae6bb6e996a1c857fe92ec379654413fadec180c6477cf5fd4b5d7a079e26 perl5.005-03_0.tar.bz2
|
||||
a2e1f93eeaa3985c660cc73645930489bad6d68011e4ae6892c6b09c8f02395b perl-5.10.1_0.tar.bz2
|
||||
8f2730b029a4e62792460ea0448b8f1806d15e5175f3004b31b153d16cb7f4d1 perl-5.32.1_0.tar.bz2
|
||||
9fa8850897248d77d554caa2b3d52e7890308cbf28750ffc24c09f498aee563c perl-5.6.2_0.tar.bz2
|
||||
b86fc586d72a6d204d0b9017afe17aa2439529e13f43befc56648b78de17c8f8 perl5.004-05_0.tar.bz2
|
||||
451ae6bb6e996a1c857fe92ec379654413fadec180c6477cf5fd4b5d7a079e26 perl5.005-03_0.tar.bz2
|
||||
d0c03003eaf21045e13afd2551df952a568e97cea91dec7edb0b829016d434b4 pkg-config-0.29.2_0.tar.bz2
|
||||
bbe7955df4eec1e4c21ae397545943abc0ef55d1b136d6f30f1550f82cf0cb22 python-2.0.1_0.tar.bz2
|
||||
281cc79f24007f4667ae5914f89c671be3b2d008fb5296d66b65314d30a7e768 python-2.0.1_1.tar.bz2
|
||||
66f1571ecc2f00cee322e419f0d53127b2465330bbd8fe01d2fe0af91b9084fc python-2.3.7_0.tar.bz2
|
||||
7c65497273651adda57d156f7380f07bbeb73dfa96fd6432ed0e3b82a44b7d65 python-2.3.7_1.tar.bz2
|
||||
203119d5d6bc56f9253abbf6583c9a8bccd00e7b34d2a126b7f4c61294abb0d5 python-2.5.6_0.tar.bz2
|
||||
284ef5e0c44e5e3f2a2e6c3a9dd55ad26a200d6701279383cdbaca0fb2dc831b python-3.11.1_0.tar.bz2
|
||||
b8e03286ff4aae2a47e61dd7a11d4b272717a181cbcfa8da3fee91e67c007f94 python-3.1.5_0.tar.bz2
|
||||
4857037c9db993f8feef1de8e4918692a066771713aa25b66e69392b987a0122 python-3.1.5_1.tar.bz2
|
||||
284ef5e0c44e5e3f2a2e6c3a9dd55ad26a200d6701279383cdbaca0fb2dc831b python-3.11.1_0.tar.bz2
|
||||
8bcf91d546333a2af3bfef23aeb0f3e98979715100b48a7c373cd2f22ebb6fb9 python-3.3.7_0.tar.bz2
|
||||
4568978b5bc0cb501ff6ef5c632c0018ca0c1ed6361b8d18c2fd8bf3d03fc62e python-3.4.10_0.tar.bz2
|
||||
f19dceb161ed1d1d7cdad8ef54d2688a022ab6e26fe73e66d52b2dc362acb3c5 python-3.8.16_0.tar.bz2
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
https://github.com/NetworkConfiguration/dhcpcd/archive/refs/tags/v10.0.1.tar.gz 2bd3480bc93e6bff530872b8bc80cbcaa821449f7bf6aaf202fa12fb8c2e6f55
|
|
@ -1 +0,0 @@
|
|||
https://github.com/NetworkConfiguration/dhcpcd/archive/refs/tags/dhcpcd-9.5.0.tar.gz bb8ebda4b250ca8c2faa910205f5ffac66ae83a786b59f5cedbfe7624ad04bc2
|
|
@ -0,0 +1 @@
|
|||
afb30f2e80adefc979bdffdb525cf2862897f0beefbb0740fbd05ab3246a32c9 /usr/bin/kexec-fiwix
|
|
@ -2,3 +2,14 @@
|
|||
# SPDX-License-Identifier: MIT
|
||||
cd src
|
||||
tcc -m32 -march=i386 -std=c89 -I../../tcc/tcc-0.9.27/include -o ${bindir}/kexec-fiwix kexec-fiwix.c
|
||||
cd ..
|
||||
|
||||
# Checksums
|
||||
if match x${UPDATE_CHECKSUMS} xTrue; then
|
||||
sha256sum -o ${pkg}.checksums \
|
||||
/usr/bin/kexec-fiwix
|
||||
|
||||
cp ${pkg}.checksums ${srcdir}
|
||||
else
|
||||
sha256sum -c ${pkg}.checksums
|
||||
fi
|
||||
|
|
|
@ -11,5 +11,8 @@ src_prepare() {
|
|||
|
||||
src_configure() {
|
||||
./configure --prefix="${PREFIX}" \
|
||||
--sbindir="${PREFIX}/bin"
|
||||
--sbindir="${PREFIX}/bin" \
|
||||
--build=i686-pc-linux-gnu \
|
||||
--host=i686-pc-linux-gnu \
|
||||
--target=i686-pc-linux-gnu
|
||||
}
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
0a3f0012c01cb5aee0643f1674f265e68b5eeadb37596bcc4fe60aad55c9d3d7 /usr/bin/make_fiwix_initrd
|
|
@ -46,3 +46,15 @@ catm make_fiwix_initrd.c ../../../files/make_fiwix_initrd.c
|
|||
tcc -m32 -march=i386 -std=c89 -I../include -I../build_generic/include -I../../tcc/tcc-0.9.27/include -DVERSION="\"1.0\"" -c make_fiwix_initrd.c
|
||||
|
||||
tcc -m32 -o ${bindir}/make_fiwix_initrd ext4.o ext4_balloc.o ext4_bcache.o ext4_bitmap.o ext4_block_group.o ext4_blockdev.o ext4_crc32.o ext4_debug.o ext4_dir.o ext4_dir_idx.o ext4_extent.o ext4_fs.o ext4_hash.o ext4_ialloc.o ext4_inode.o ext4_journal.o ext4_mbr.o ext4_mkfs.o ext4_super.o ext4_trans.o ext4_xattr.o ../blockdev/linux/file_dev.o make_fiwix_initrd.o
|
||||
|
||||
cd ../../..
|
||||
|
||||
# Checksums
|
||||
if match x${UPDATE_CHECKSUMS} xTrue; then
|
||||
sha256sum -o ${pkg}.checksums \
|
||||
/usr/bin/make_fiwix_initrd
|
||||
|
||||
cp ${pkg}.checksums ${srcdir}
|
||||
else
|
||||
sha256sum -c ${pkg}.checksums
|
||||
fi
|
||||
|
|
File diff suppressed because one or more lines are too long
|
@ -45,7 +45,17 @@ cd ${pkg}
|
|||
kaem --file ${pkg}.kaem
|
||||
cd ..
|
||||
|
||||
BUILD_FIWIX=False
|
||||
|
||||
if match x${KERNEL_BOOTSTRAP} xTrue; then
|
||||
BUILD_FIWIX=True
|
||||
fi
|
||||
|
||||
if match x${BUILD_KERNELS} xTrue; then
|
||||
BUILD_FIWIX=True
|
||||
fi
|
||||
|
||||
if match x${BUILD_FIWIX} xTrue; then
|
||||
# The Fiwix kernel
|
||||
pkg="fiwix-1.4.0-lb1"
|
||||
cd ${pkg}
|
||||
|
@ -58,14 +68,16 @@ if match x${KERNEL_BOOTSTRAP} xTrue; then
|
|||
kaem --verbose --file ${pkg}.kaem
|
||||
cd ..
|
||||
|
||||
# Build the ext2 image
|
||||
make_fiwix_initrd
|
||||
|
||||
# Live boot loader for Fiwix
|
||||
pkg="kexec-fiwix"
|
||||
cd ${pkg}
|
||||
kaem --verbose --file ${pkg}.kaem
|
||||
cd ..
|
||||
fi
|
||||
|
||||
if match x${KERNEL_BOOTSTRAP} xTrue; then
|
||||
# Build the ext2 image
|
||||
make_fiwix_initrd
|
||||
|
||||
# Boot Fiwix
|
||||
kexec-fiwix
|
||||
|
|
12
sysa/run2.sh
12
sysa/run2.sh
|
@ -63,7 +63,7 @@ build util-linux-2.19.1
|
|||
|
||||
build e2fsprogs-1.45.7
|
||||
|
||||
build dhcpcd-9.5.0 '' '' dhcpcd-dhcpcd-9.5.0
|
||||
build dhcpcd-10.0.1
|
||||
|
||||
build kbd-1.15
|
||||
|
||||
|
@ -73,7 +73,7 @@ build ed-1.4
|
|||
|
||||
build bc-1.07.1
|
||||
|
||||
if [ "${CHROOT}" = False ]; then
|
||||
if [ "${CHROOT}" = False ] || [ "${BUILD_KERNELS}" = True ]; then
|
||||
# Save because linux deletes all distfiles to save space
|
||||
cp "${DISTFILES}"/musl-1.2.3.tar.gz "${SOURCES}"/musl-1.2.3
|
||||
fi
|
||||
|
@ -86,13 +86,15 @@ grep --no-filename '^build' "${SOURCES}"/run*.sh | grep -v musl-1.2.3 | sed "s/b
|
|||
rm -rf "${SOURCES:?}/${p:?}"
|
||||
done
|
||||
|
||||
if [ "${CHROOT}" = False ]; then
|
||||
if [ "${CHROOT}" = False ] || [ "${BUILD_KERNELS}" = True ]; then
|
||||
build kexec-tools-2.0.22
|
||||
|
||||
build linux-4.9.10
|
||||
fi
|
||||
|
||||
build musl-1.2.3 '' no-patches
|
||||
build musl-1.2.3 '' no-patches
|
||||
|
||||
if [ "${CHROOT}" = False ]; then
|
||||
create_sysb
|
||||
if [ "${KERNEL_BOOTSTRAP}" = True ]; then
|
||||
echo "Kernel bootstrapping successful."
|
||||
|
@ -101,8 +103,6 @@ if [ "${CHROOT}" = False ]; then
|
|||
go_sysb
|
||||
fi
|
||||
else
|
||||
build musl-1.2.3 '' no-patches
|
||||
|
||||
# In chroot mode transition directly into System C.
|
||||
SYSC=/sysc_image
|
||||
sys_transfer "${SYSC}" /sysc gzip patch
|
||||
|
|
|
@ -1 +1 @@
|
|||
Subproject commit 1cfdccd073b67e24ce2f38dca65d4c58c559218b
|
||||
Subproject commit bdd3ee779adb9f4a299059d09e68dfedecfd4226
|
|
@ -0,0 +1,6 @@
|
|||
static void fill_local_got_entries(TCCState *s1)
|
||||
{
|
||||
ElfW_Rel *rel;
|
||||
if (!s1->got->reloc)
|
||||
return;
|
||||
for_each_elem(s1->got->reloc, 0, rel, ElfW_Rel) {
|
|
@ -0,0 +1,4 @@
|
|||
static void fill_local_got_entries(TCCState *s1)
|
||||
{
|
||||
ElfW_Rel *rel;
|
||||
for_each_elem(s1->got->reloc, 0, rel, ElfW_Rel) {
|
|
@ -1 +1 @@
|
|||
5cd0428fdcb9dc579cdf496a4fd974c4d2a941f76f2ce2049a1c2ff477f64002 /usr/bin/tcc
|
||||
e5f00ef66c5796f436089d3f6e67af001182e6fbb439d13bb65eef8cf82f5973 /usr/bin/tcc
|
||||
|
|
|
@ -26,6 +26,9 @@ untar --file ../src/${pkg}.tar
|
|||
/sysa/tcc-0.9.27/simple-patches/addback-fileopen.before /sysa/tcc-0.9.27/simple-patches/addback-fileopen.after
|
||||
/x86/bin/simple-patch /sysa/tcc-0.9.27/build/tcc-0.9.27/tccelf.c \
|
||||
/sysa/tcc-0.9.27/simple-patches/fiwix-paddr.before /sysa/tcc-0.9.27/simple-patches/fiwix-paddr.after
|
||||
# Fix SIGSEGV while building lwext4
|
||||
/x86/bin/simple-patch /sysa/tcc-0.9.27/build/tcc-0.9.27/tccelf.c \
|
||||
/sysa/tcc-0.9.27/simple-patches/check-reloc-null.before /sysa/tcc-0.9.27/simple-patches/check-reloc-null.after
|
||||
untar --non-strict --file ../src/${MES_PKG}.tar
|
||||
cd ${pkg}
|
||||
|
||||
|
|
|
@ -14,15 +14,22 @@ src_prepare() {
|
|||
|
||||
rm zlib/aclocal.m4 zlib/configure
|
||||
|
||||
# Regenerate files
|
||||
# Regenerate autoconf
|
||||
for dir in bfd binutils gas gold gprof intl ld libctf libiberty opcodes; do
|
||||
cd $dir
|
||||
AUTOPOINT=true ACLOCAL=aclocal-1.15 AUTOMAKE=automake-1.15 autoreconf-2.69 -fi
|
||||
cd ..
|
||||
done
|
||||
|
||||
ACLOCAL=aclocal-1.15 autoreconf-2.69 -fi
|
||||
|
||||
# Regenerate directories with Makefile.am only
|
||||
pushd gold
|
||||
automake-1.15 -fai testsuite/Makefile
|
||||
popd
|
||||
pushd bfd
|
||||
automake-1.15 -fai doc/Makefile
|
||||
popd
|
||||
|
||||
# Rebuild bison files
|
||||
touch -- */*.y
|
||||
rm binutils/arparse.c binutils/arparse.h
|
||||
|
@ -62,7 +69,7 @@ src_prepare() {
|
|||
./bfd/mep-relocs.pl
|
||||
|
||||
# Manpages
|
||||
find . -type f -name '*.1' -or -name '*.man' -delete
|
||||
find . -type f \( -name '*.1' -or -name '*.man' \) -delete
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
|
@ -104,4 +111,7 @@ src_install() {
|
|||
ln -s "${PREFIX}/bin/${f}" "i386-unknown-linux-musl-${f}"
|
||||
done
|
||||
popd
|
||||
|
||||
# FIXME: Binutils' manpages dates are not reproducible
|
||||
rm -r "${DESTDIR}${PREFIX}/share/man"
|
||||
}
|
|
@ -0,0 +1,122 @@
|
|||
# SPDX-FileCopyrightText: 2022 Dor Askayo <dor.askayo@gmail.com>
|
||||
# SPDX-FileCopyrightText: 2021 Andrius Štikonas <andrius@stikonas.eu>
|
||||
# SPDX-FileCopyrightText: 2021 Paul Dersey <pdersey@gmail.com>
|
||||
# SPDX-FileCopyrightText: 2023 fosslinux <fosslinux@aussies.space>
|
||||
#
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
# Remove unused generated files
|
||||
rm etc/Makefile.in etc/configure
|
||||
rm zlib/aclocal.m4 zlib/configure
|
||||
|
||||
# Regenerate top-level (autogen + autotools)
|
||||
autogen Makefile.def
|
||||
ACLOCAL=aclocal-1.15 autoreconf-2.69 -fi
|
||||
|
||||
# Regenerate autoconf
|
||||
for dir in bfd binutils gas gold gprof intl ld libctf libiberty opcodes; do
|
||||
cd $dir
|
||||
ACLOCAL=aclocal-1.15 AUTOMAKE=automake-1.15 autoreconf-2.69 -fi
|
||||
cd ..
|
||||
done
|
||||
|
||||
# Regenerate directories with Makefile.am only
|
||||
pushd gold
|
||||
automake-1.15 -fai testsuite/Makefile
|
||||
popd
|
||||
pushd bfd
|
||||
automake-1.15 -fai doc/Makefile
|
||||
popd
|
||||
|
||||
# intl/ Makefile is a bit broken because of new gettext
|
||||
sed -i 's/@USE_INCLUDED_LIBINTL@/no/' intl/Makefile.in
|
||||
|
||||
# There is no way to add -all-static to libtool LDFLAGS (such a thing doesn't exist)
|
||||
# -all-static is required for static binaries with libtool
|
||||
sed -i 's:\(--mode=link $(CCLD)\):\1 -all-static:' {bfd,binutils,opcodes,ld,libctf,gas,gprof}/Makefile.in
|
||||
|
||||
# Rebuild bison files
|
||||
touch -- */*.y
|
||||
rm binutils/arparse.c binutils/arparse.h
|
||||
rm binutils/defparse.c binutils/defparse.h
|
||||
rm binutils/mcparse.c binutils/mcparse.h
|
||||
rm binutils/rcparse.c binutils/rcparse.h
|
||||
rm binutils/sysinfo.c binutils/sysinfo.h
|
||||
rm gas/config/bfin-parse.c gas/config/bfin-parse.h
|
||||
rm gas/config/loongarch-parse.c gas/config/loongarch-parse.h
|
||||
rm gas/config/m68k-parse.c gas/config/rl78-parse.c
|
||||
rm gas/config/rl78-parse.h gas/config/rx-parse.c
|
||||
rm gas/config/rx-parse.h gas/itbl-parse.c
|
||||
rm gas/itbl-parse.h gold/yyscript.c
|
||||
rm gold/yyscript.h intl/plural.c
|
||||
rm ld/deffilep.c ld/deffilep.h
|
||||
rm ld/ldgram.c ld/ldgram.h
|
||||
|
||||
# Rebuild flex generated files
|
||||
touch -- */*.l */*/*.l
|
||||
rm binutils/arlex.c binutils/deflex.c binutils/syslex.c
|
||||
rm gas/config/bfin-lex.c gas/config/loongarch-lex.c gas/itbl-lex.c
|
||||
rm ld/ldlex.c
|
||||
|
||||
# Remove prebuilt texinfo files
|
||||
find . -type f -name '*.info*' \
|
||||
-not -wholename './binutils/sysroff.info' \
|
||||
-delete
|
||||
|
||||
# Remove pregenerated opcodes files
|
||||
rm opcodes/i386-init.h opcodes/i386-tbl.h
|
||||
rm opcodes/ia64-asmtab.c
|
||||
rm opcodes/z8k-opc.h
|
||||
rm opcodes/aarch64-asm-2.c opcodes/aarch64-opc-2.c opcodes/aarch64-dis-2.c
|
||||
rm $(grep -l 'MACHINE GENERATED' opcodes/*.c opcodes/*.h)
|
||||
|
||||
# Regenerate MeP sections
|
||||
./bfd/mep-relocs.pl
|
||||
|
||||
# Manpages
|
||||
find . -type f \( -name '*.1' -or -name '*.man' \) -delete
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
mkdir build
|
||||
cd build
|
||||
|
||||
LDFLAGS="-static" \
|
||||
../configure \
|
||||
--prefix="${PREFIX}" \
|
||||
--libdir="${LIBDIR}" \
|
||||
--build=i386-unknown-linux-musl \
|
||||
--host=i386-unknown-linux-musl \
|
||||
--target=i386-unknown-linux-musl \
|
||||
--enable-static \
|
||||
--disable-nls \
|
||||
--disable-multilib \
|
||||
--disable-plugins \
|
||||
--enable-threads \
|
||||
--enable-64-bit-bfd \
|
||||
--enable-gold \
|
||||
--enable-ld=default \
|
||||
--enable-install-libiberty \
|
||||
--enable-deterministic-archives \
|
||||
--with-system-zlib \
|
||||
--program-prefix="" \
|
||||
--with-sysroot= \
|
||||
--srcdir=..
|
||||
}
|
||||
|
||||
src_install() {
|
||||
default
|
||||
|
||||
# Create triplet symlinks
|
||||
pushd "${DESTDIR}${PREFIX}/bin"
|
||||
for f in *; do
|
||||
ln -s "${PREFIX}/bin/${f}" "i386-unknown-linux-musl-${f}"
|
||||
done
|
||||
popd
|
||||
|
||||
# FIXME: Binutils' manpages dates are not reproducible
|
||||
rm -r "${DESTDIR}${PREFIX}/share/man"
|
||||
}
|
|
@ -95,5 +95,6 @@ src_configure() {
|
|||
--disable-sjlj-exceptions \
|
||||
--disable-multilib \
|
||||
--enable-threads=posix \
|
||||
--disable-libsanitizer
|
||||
--disable-libsanitizer \
|
||||
--disable-libssp
|
||||
}
|
||||
|
|
|
@ -0,0 +1,101 @@
|
|||
# SPDX-FileCopyrightText: 2023 fosslinux <fosslinux@aussies.space>
|
||||
#
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
# Remove vendored zlib
|
||||
rm -r zlib/
|
||||
|
||||
# Regen gperf file (because GCC's make rules suck)
|
||||
rm gcc/cp/cfns.h
|
||||
# (taken directly from gcc/cp/Make-lang.in)
|
||||
gperf -o -C -E -k '1-6,$' -j1 -D -N 'libc_name_p' -L C++ \
|
||||
gcc/cp/cfns.gperf --output-file gcc/cp/cfns.h
|
||||
|
||||
# Regenerate autogen stuff
|
||||
autogen Makefile.def
|
||||
pushd fixincludes
|
||||
./genfixes
|
||||
popd
|
||||
|
||||
# Regenerate autotools
|
||||
# configure
|
||||
find . -name configure | sed 's:/configure::' | while read d; do
|
||||
pushd "${d}"
|
||||
AUTOMAKE=automake-1.15 ACLOCAL=aclocal-1.15 autoreconf-2.69 -fiv
|
||||
popd
|
||||
done
|
||||
# Because GCC is stupid, copy depcomp back in
|
||||
cp "${PREFIX}/share/automake-1.15/depcomp" .
|
||||
# Makefile.in only
|
||||
local BACK="${PWD}"
|
||||
find . -type d \
|
||||
-exec test -e "{}/Makefile.am" -a ! -e "{}/configure" \; \
|
||||
-print | while read d; do
|
||||
d="$(readlink -f "${d}")"
|
||||
cd "${d}"
|
||||
# Find the appropriate configure script for automake
|
||||
while [ ! -e configure ]; do
|
||||
cd ..
|
||||
done
|
||||
automake-1.15 -fai "${d}/Makefile"
|
||||
cd "${BACK}"
|
||||
done
|
||||
|
||||
# Remove bison generated files
|
||||
rm intl/plural.c
|
||||
|
||||
# Remove flex generated files
|
||||
rm gcc/gengtype-lex.cc
|
||||
|
||||
# Remove unused generated files
|
||||
rm -r libgfortran/generated
|
||||
|
||||
# intl/ Makefile is a bit broken because of new gettext
|
||||
sed -i 's/@USE_INCLUDED_LIBINTL@/no/' intl/Makefile.in
|
||||
|
||||
# Regenerate crc table in libiberty/crc32.c
|
||||
pushd libiberty
|
||||
sed -n -e '38,65p' crc32.c > crcgen.c
|
||||
gcc -o crcgen crcgen.c
|
||||
head -n 69 crc32.c > crc32.c.new
|
||||
./crcgen >> crc32.c.new
|
||||
tail -n +138 crc32.c >> crc32.c.new
|
||||
mv crc32.c.new crc32.c
|
||||
popd
|
||||
|
||||
# Remove docs/translation
|
||||
find . -name "*.gmo" -delete
|
||||
find . -name "*.info" -delete
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
mkdir build
|
||||
cd build
|
||||
|
||||
LDFLAGS="-static" \
|
||||
../configure \
|
||||
--prefix="${PREFIX}" \
|
||||
--libdir="${LIBDIR}" \
|
||||
--build=i386-unknown-linux-musl \
|
||||
--target=i386-unknown-linux-musl \
|
||||
--host=i386-unknown-linux-musl \
|
||||
--enable-bootstrap \
|
||||
--enable-static \
|
||||
--enable-default-pie \
|
||||
--enable-default-ssp \
|
||||
--disable-plugins \
|
||||
--disable-libssp \
|
||||
--disable-libsanitizer \
|
||||
--program-transform-name= \
|
||||
--enable-languages=c,c++ \
|
||||
--with-system-zlib \
|
||||
--disable-multilib \
|
||||
--enable-threads=posix
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
make "${MAKEJOBS}" BOOT_LDFLAGS="-static"
|
||||
}
|
|
@ -0,0 +1,43 @@
|
|||
SPDX-FileCopyrightText: 2023 fosslinux <fosslinux@aussies.space>
|
||||
SPDX-FileCopyrightText: 2022 Thomas Schwinge <thomas@codesourcery.com>
|
||||
|
||||
SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
Backport of commit 25861cf3a88a07c8dca3fb32d098c0ad756bbe38
|
||||
|
||||
====
|
||||
With that, we may then run plain 'autoreconf' for all of GCC's subpackages,
|
||||
instead of for some of those (that don't use Automake) manually having to run
|
||||
the applicable combination of 'aclocal', 'autoconf', 'autoheader'.
|
||||
|
||||
See also 'AC_CONFIG_MACRO_DIRS'/'AC_CONFIG_MACRO_DIR' usage elsewhere.
|
||||
|
||||
diff --git gcc/configure.ac gcc/configure.ac
|
||||
index e1ef2ecf026..45bf7560e6f 100644
|
||||
--- gcc/configure.ac
|
||||
+++ gcc/configure.ac
|
||||
@@ -25,6 +25,7 @@
|
||||
|
||||
AC_INIT
|
||||
AC_CONFIG_SRCDIR(tree.cc)
|
||||
+AC_CONFIG_MACRO_DIRS([../config] [..])
|
||||
AC_CONFIG_HEADER(auto-host.h:config.in)
|
||||
|
||||
gcc_version=`cat $srcdir/BASE-VER`
|
||||
diff --git libobjc/configure libobjc/configure
|
||||
index a8fdc643349..6da20b8e4ff 100755
|
||||
diff --git libobjc/configure.ac libobjc/configure.ac
|
||||
index f8f577cfbef..6f58a45d4cb 100644
|
||||
--- libobjc/configure.ac
|
||||
+++ libobjc/configure.ac
|
||||
@@ -20,6 +20,7 @@
|
||||
|
||||
AC_INIT(package-unused, version-unused,, libobjc)
|
||||
AC_CONFIG_SRCDIR([objc/objc.h])
|
||||
+AC_CONFIG_MACRO_DIRS([../config] [..])
|
||||
GCC_TOPLEV_SUBDIRS
|
||||
|
||||
# We need the following definitions because AC_PROG_LIBTOOL relies on them
|
||||
--
|
||||
2.31.1
|
||||
|
|
@ -0,0 +1,34 @@
|
|||
SPDX-FileCopyrightText: 2023 fosslinux <fosslinux@aussies.space>
|
||||
SPDX-FileCopyrightText: 2022 Simon Marchi <simon.marchi@efficios.com>
|
||||
|
||||
SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
Backport of commit 1f237573caa5cf72218ea31fe78eb3983a717ca6
|
||||
|
||||
====
|
||||
|
||||
Add
|
||||
|
||||
AC_CONFIG_MACRO_DIRS([../config])
|
||||
|
||||
So that just running:
|
||||
|
||||
$ autoreconf -vf
|
||||
|
||||
... does the right thing (no need to specify -I ../config).
|
||||
|
||||
diff --git libiberty/configure.ac libiberty/configure.ac
|
||||
index 84a7b378fad..28d996f9cf7 100644
|
||||
--- libiberty/configure.ac
|
||||
+++ libiberty/configure.ac
|
||||
@@ -2,6 +2,7 @@ dnl Process this file with autoconf to produce a configure script
|
||||
|
||||
AC_INIT
|
||||
AC_CONFIG_SRCDIR([xmalloc.c])
|
||||
+AC_CONFIG_MACRO_DIRS([../config])
|
||||
|
||||
# This works around the fact that libtool configuration may change LD
|
||||
# for this particular configuration, but some shells, instead of
|
||||
--
|
||||
2.31.1
|
||||
|
|
@ -0,0 +1,35 @@
|
|||
SPDX-FileCopyrightText: 2023 fosslinux <fosslinux@aussies.space>
|
||||
SPDX-FileCopyrightText: 2020 Timo Teräs <timo.teras@iki.fi>
|
||||
|
||||
SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
The original motivation from this patch from Alpine Linux:
|
||||
|
||||
Subject: [PATCH] Alpine musl package provides libssp_nonshared.a. We link to
|
||||
it unconditionally, as otherwise we get link failures if some objects are
|
||||
-fstack-protector built and final link happens with -fno-stack-protector.
|
||||
This seems to be the common case when bootstrapping gcc, the piepatches do
|
||||
not seem to fully fix the crosstoolchain and bootstrap sequence wrt.
|
||||
stack-protector flag usage.
|
||||
|
||||
Which matches precisely the problem when compiling GCC with --enable-bootstrap
|
||||
in live-bootstrap.
|
||||
|
||||
---
|
||||
gcc/gcc.cc | 3 +--
|
||||
1 file changed, 1 insertion(+), 2 deletions(-)
|
||||
|
||||
diff --git gcc/gcc.cc gcc/gcc.cc
|
||||
index cc99d0b7aa1..c60a75371f8 100644
|
||||
--- gcc/gcc.cc
|
||||
+++ gcc/gcc.cc
|
||||
@@ -1004,8 +1004,7 @@ proper position among the other output files. */
|
||||
|
||||
#ifndef LINK_SSP_SPEC
|
||||
#ifdef TARGET_LIBC_PROVIDES_SSP
|
||||
-#define LINK_SSP_SPEC "%{fstack-protector|fstack-protector-all" \
|
||||
- "|fstack-protector-strong|fstack-protector-explicit:}"
|
||||
+#define LINK_SSP_SPEC "-lssp_nonshared"
|
||||
#else
|
||||
#define LINK_SSP_SPEC "%{fstack-protector|fstack-protector-all" \
|
||||
"|fstack-protector-strong|fstack-protector-explicit" \
|
|
@ -0,0 +1,17 @@
|
|||
SPDX-FileCopyrightText: 2023 fosslinux <fosslinux@aussies.space>
|
||||
|
||||
SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
In new gettext external is required for AM_GNU_GETTEXT.
|
||||
|
||||
--- intl/configure.ac 2023-02-07 18:43:58.989786230 +1100
|
||||
+++ intl/configure.ac 2023-02-07 18:43:02.182632631 +1100
|
||||
@@ -4,7 +4,7 @@
|
||||
AC_CONFIG_HEADER(config.h)
|
||||
AC_CONFIG_MACRO_DIR(../config)
|
||||
AM_GNU_GETTEXT_VERSION(0.12.1)
|
||||
-AM_GNU_GETTEXT([], [need-ngettext])
|
||||
+AM_GNU_GETTEXT([external], [need-ngettext])
|
||||
|
||||
# This replaces the extensive use of DEFS in the original Makefile.in.
|
||||
AC_DEFINE(IN_LIBINTL, 1, [Define because this is libintl.])
|
|
@ -0,0 +1 @@
|
|||
http://ftp.gnu.org/gnu/gcc/gcc-12.2.0/gcc-12.2.0.tar.xz e549cf9cf3594a00e27b6589d4322d70e0720cdd213f39beb4181e06926230ff
|
|
@ -0,0 +1,8 @@
|
|||
/*
|
||||
* SPDX-FileCopyrightText: 2020 Timo Teräs <timo.teras@iki.fi>
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-3.0-or-later
|
||||
*/
|
||||
|
||||
extern void __stack_chk_fail(void);
|
||||
void __attribute__((visibility ("hidden"))) __stack_chk_fail_local(void) { __stack_chk_fail(); }
|
|
@ -14,11 +14,19 @@ src_configure() {
|
|||
|
||||
src_compile() {
|
||||
make "${MAKEJOBS}" CROSS_COMPILE=
|
||||
|
||||
# Provide libssp_nonshared.a to avoid GCC's messy libssp
|
||||
# (Taken from Alpine Linux)
|
||||
gcc -c __stack_chk_fail_local.c -o __stack_chk_fail_local.o
|
||||
ar r libssp_nonshared.a __stack_chk_fail_local.o
|
||||
}
|
||||
|
||||
src_install() {
|
||||
default
|
||||
|
||||
# Install libssp_nonshared.a
|
||||
install -m 644 libssp_nonshared.a "${DESTDIR}${PREFIX}/lib/"
|
||||
|
||||
# Make dynamic linker symlink relative in ${PREFIX}/lib
|
||||
rm "${DESTDIR}/lib/ld-musl-i386.so.1"
|
||||
rmdir "${DESTDIR}/lib"
|
||||
|
|
|
@ -74,7 +74,7 @@ build texinfo-6.7
|
|||
|
||||
build gcc-4.7.4
|
||||
|
||||
build binutils-2.38
|
||||
build binutils-2.38 pass1.sh
|
||||
|
||||
build gperf-3.1
|
||||
|
||||
|
@ -122,6 +122,10 @@ build python-3.11.1
|
|||
|
||||
build gcc-10.4.0
|
||||
|
||||
build binutils-2.38 pass2.sh
|
||||
|
||||
build gcc-12.2.0
|
||||
|
||||
if [ "$FORCE_TIMESTAMPS" = True ] ; then
|
||||
echo 'Forcing all files timestamps to be 0 unix time.'
|
||||
canonicalise_all_files_timestamp
|
||||
|
|
Loading…
Reference in New Issue