aboutsummaryrefslogtreecommitdiff
path: root/arch
Commit message (Collapse)AuthorAgeFilesLines
* Remove CHOST setting for s390x (mostly for testing, but also unnecessary)Andreas K. Hüttel2024-07-291-1/+0
| | | | Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org>
* Fix loongarch -march to baselineAndreas K. Hüttel2024-05-281-1/+1
| | | | | | | With gcc-14, the default was quietly raised to include vector extensions. This makes our stages explode on first-gen hardware... Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org>
* arch: Add rv32 musl definitionsAndreas K. Hüttel2024-04-061-0/+8
| | | | Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org>
* Add setarch parameters for s390x => s390 buildsAndreas K. Hüttel2024-03-251-0/+4
| | | | Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org>
* arch: add new x86.i686-ssemath subprofilematoro2024-03-201-0/+3
| | | | | | | | | | | | | | | | | | | | As mentioned on the mailing list, x86 arch testing needs to be performed using SSE registers for floating-point math instead of the 387 FPU. This is a subprofile which provides a generic i686 target with SSE2 and `-mfpmath=sse`. The use is not just limited to arch testing however as this is a useful platform for getting maximum performance on late-gen chips. Per gcc: > The resulting code should be considerably faster in the majority of cases and avoid the numerical instability problems of 387 code, but may break some existing code that expects temporaries to be 80 bits. Of course modern code has quite the opposite problem, where it does not expect floating-point variables to be 80 bits. Signed-off-by: Matoro Mahri <matoro_gentoo@matoro.tk> Closes: https://github.com/gentoo/catalyst/pull/12 Signed-off-by: Ben Kohler <bkohler@gentoo.org>
* arch: remove x86.pentium-m, x86.pentium-4, x86.prescott subprofilesMatoro Mahri2024-03-201-12/+0
| | | | | Signed-off-by: Matoro Mahri <matoro_gentoo@matoro.tk> Signed-off-by: Ben Kohler <bkohler@gentoo.org>
* arch: Do not set CHOST and *FLAGS for generic x86.x86 subarch4.0-rc1Andreas K. Hüttel2024-01-211-2/+0
| | | | | | This way both can be picked up from the profile Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org>
* arch: Alternative approach. Rely on profile for m68k musl CHOST...Andreas K. Hüttel2023-12-061-5/+0
| | | | Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org>
* arch: Add new m68k musl definition for 23.0 profilesAndreas K. Hüttel2023-12-061-0/+4
| | | | Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org>
* Add m68k musl definitionAndreas K. Hüttel2023-07-201-0/+3
| | | | Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org>
* Add -msoft-float to *FLAGS for mips soft-float definitionsAndreas K. Hüttel2023-06-201-8/+8
| | | | Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org>
* Add mips(el)2 o32 and mips(el)3 n32 softfloat subarchesAndreas K. Hüttel2023-05-281-0/+16
| | | | Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org>
* Add mips musl subarch definitionsAndreas K. Hüttel2023-03-051-0/+24
| | | | Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org>
* Add aarch64_be subarch definitionAndreas K. Hüttel2023-01-171-0/+4
| | | | Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org>
* amd64 definition: add a subarch "x86_64" identical to "amd64"Andreas K. Hüttel2022-11-141-0/+3
| | | | | | | When CHOST is given in the spec file, the subarch is extracted from the triplet. And that's x86_64 here... Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org>
* arch: Add loongAndreas K. Hüttel2022-10-111-0/+4
| | | | Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org>
* arch: Add subarch definition for riscv64 softfloat muslAndreas K. Hüttel2022-07-301-0/+4
| | | | Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org>
* arch/mips: Compile mipsel3 stages with -mfix-r5900Matt Turner2022-04-211-3/+3
| | | | | | | | | ... which will make them usable on the PlayStation 2. Don't bother modifying the n64 ABI configuration, since it will never work on the PS2. Suggested-by: Fredrik Noring <noring@nocrew.org> Signed-off-by: Matt Turner <mattst88@gentoo.org>
* arch: Add riscv64 lp64d musl definitionAndreas K. Hüttel2022-02-271-0/+4
| | | | Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org>
* arch: Add armv6j hardfloat musl subarchAndreas K. Hüttel2021-11-201-0/+4
| | | | Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org>
* arch: Add as experiment a first musl subarch (armv7a-hf)Andreas K. Hüttel2021-11-171-0/+4
| | | | Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org>
* arm64 definition: add a subarch "aarch64" identical to "arm64"Andreas K. Hüttel2021-09-111-0/+3
| | | | | | | When CHOST is given in the spec file, the subarch is extracted from the triplet. Unfortunately that uses aarch64 instead of our arm64 ... Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org>
* arch/ppc.toml: add power9 subarchesGeorgy Yakovlev2020-10-211-0/+10
| | | | | Signed-off-by: Georgy Yakovlev <gyakovlev@gentoo.org> Signed-off-by: Matt Turner <mattst88@gentoo.org>
* arch/ppc.toml: don't force -mabi=elfv2 on power subarches.Georgy Yakovlev2020-10-211-4/+4
| | | | | | | | | | | | | | | | | | | | | -mabi=elfv2 is default on ppc64le in gcc/glibc toolchain for all powerpc64le-*-linux-gnu CHOSTS, so we don't need to pass it. forcing -mabi=elfv2 on ppc64(be) is quite risky, as it's not standard configuration and not officialy supported by glibc at all. according to glibc upstream it should be a separate ABI port. Also many apps/tools assume elfv1 on big-endian, and while fixes are being upstreamed, we've observed breakage in: openssl[asm], nodejs, ffmpeg and others. If we want to ship elfv2 ppc64be stage, we should define it as separate subarch and strictly put it in experimental. to my knowledge those subarch definitions are not used by releng yet, so we will not break anything. Signed-off-by: Georgy Yakovlev <gyakovlev@gentoo.org> Signed-off-by: Matt Turner <mattst88@gentoo.org>
* arch/ppc.toml: add CHOST based subarchesGeorgy Yakovlev2020-10-211-0/+11
| | | | | | | | | | | | | if stage spec sets chost value, code in catalyst/base/stagebase.py#L76 will derive subarch value from the frontmost part of CHOST triple. if such subarch is not defined in toml file, build will fail. Add generic copy of base subarches defined in CHOST format. Signed-off-by: Georgy Yakovlev <gyakovlev@gentoo.org> Signed-off-by: Matt Turner <mattst88@gentoo.org>
* Add rv32 subarch names (all cflags magic is done in the profiles)Andreas K. Hüttel2020-09-181-0/+8
| | | | Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org>
* Add rv64 subarch names (all cflags magic is done in the profiles)Andreas K. Hüttel2020-07-171-0/+11
| | | | Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org>
* arch: Rename powerpc.toml -> ppc.tomlMatt Turner2020-04-141-0/+0
| | | | | | With this, all architecture names match the names of their TOML file. Signed-off-by: Matt Turner <mattst88@gentoo.org>
* arch: Add architecture TOML filesMatt Turner2020-04-1414-0/+598
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Generated by: | #!/bin/bash | | mkdir -p arch/ | | for x in catalyst/arch/*.py; do | [[ $x == *"__init__.py" ]] && continue | | arch=$(basename "$x") | arch="${arch%.py}" | | python3 <<-EOF > "arch/${arch}.toml" | #!/usr/bin/env python3 | | import toml | import catalyst.arch.$arch as arch | | subarches, arches = arch.register() | | s = {} | setarch = {} | | for subarch in subarches.items(): | name = subarch[0] | data = subarch[1]({}) | | arch = data.settings.pop("PROFILE_ARCH") | if arch not in s: s[arch] = {} | | if "setarch_arch" in data.settings and \ | "setarch_build" in data.settings: | if arch not in setarch: setarch[arch] = {} | | setarch[arch]["arch"] = data.settings["setarch_arch"] | setarch[arch]["if_build"] = data.settings["setarch_build"] | | del data.settings["setarch_arch"] | del data.settings["setarch_build"] | | hostuseexpand = data.settings.pop("HOSTUSEEXPAND", {}) | hostuse = data.settings.pop("HOSTUSE", {}) | | s[arch][name] = data.settings | s[arch][name].update(hostuseexpand) | if hostuse: s[arch][name].update({"USE": hostuse}) | | if setarch: print(toml.dumps({'setarch': setarch})) | print(toml.dumps(s)) | EOF | done Signed-off-by: Matt Turner <mattst88@gentoo.org>
* Initial rearrangement of the python directoriesBrian Dolbec2014-02-2212-1301/+0
| | | | | | | | New minimal start script, moving the original catalyst script to catalyst/main.py. Add __init__.py's to modules and arch sub-pkgs. skip __init__.py when loading the modules. Update the module loading paths for the new locations. Fix catalyst_support import to new location and specify imported modules.
* Add support for m68kRaúl Porcel2013-04-061-0/+22
|
* Whitespace cleanup.Brian Dolbec2013-03-084-5/+5
| | | | | | | | | | Run the following command to cleanup whitespace. for FILE in $(git ls-tree -r --name-only HEAD | grep -v 'bz2$'); do sed -i 's/[[:space:]]*$//' "$FILE" done git checkout COPYING ChangeLog Reviewed-by: Matt Turner <mattst88@gmail.com>
* ppc: Remove -fno-strict-aliasing from CFLAGSMatt Turner2012-12-291-6/+6
| | | | | | | Added temporarily in 2004 (commit b010c1bd) for gcc-3.3.3/nptl. Time to go. Fixes https://bugs.gentoo.org/show_bug.cgi?id=449240
* mips.py: Add loongson3a classesMatt Turner2012-09-271-0/+28
|
* Whitespace.Jorge Manuel B. S. Vicetto (jmbsvicetto)2012-09-235-5/+0
|
* add x32 abiCatalyst-2.0.11Mike Frysinger2012-09-081-1/+10
| | | | Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* Add armv6j_hardfpJorge Manuel B. S. Vicetto (jmbsvicetto)2012-08-291-4/+4
| | | | | Signed-off-by: Raúl Porcel (armin76) <armin76@gentoo.org> Signed-off-by: Jorge Manuel B. S. Vicetto (jmbsvicetto) <jmbsvicetto@gentoo.org>
* Signed-off-by: Daniel Solano Gómez <gentoo@sattvik.com>Jorge Manuel B. S. Vicetto (jmbsvicetto)2012-08-291-1/+2
| | | | | | | Signed-off-by: Jorge Manuel B. S. Vicetto (jmbsvicetto) <jmbsvicetto@gentoo.org> Fixes 'HOSTUSER' typo for Pentium M Adds CHOST for Prescott
* Add armv6j_hardfpRaúl Porcel2012-05-031-0/+8
|
* mips.py: change -O3 to -O2 in loongson2f classesMatt Turner2012-03-171-4/+4
|
* mips.py: add loongson2{e,f} n64 and multilib classesMatt Turner2012-03-171-0/+28
|
* mips.py: add -mplt to non-n64 CFLAGSMatt Turner2012-03-171-43/+43
|
* amd64.py: define CHOST for nocona and core2Matt Turner2012-01-271-0/+2
| | | | Fixes: https://bugs.gentoo.org/show_bug.cgi?id=400829
* mips.py: align class tableMatt Turner2011-10-161-48/+48
|
* mips.py: add mips32 softfloat targetsMatt Turner2011-10-161-0/+32
| | | | | | | softfloat targets are for producing a userland (ie glibc, gcc) that handles software floating-point emulation in userspace. The alternative is configuring your kernel to emulate floating-point math, which is slower but allows you to use a standard "hard float" userland.
* mips.py: replace -mips* with new -march=mips*Matt Turner2011-09-021-18/+18
|
* mips.py: add mips4_r10k classesMatt Turner2011-08-211-0/+28
|
* mips.py: remove incorrect word 'all' from descriptionsMatt Turner2011-08-171-17/+17
|
* mips.py: call correct constructor in o32 classesMatt Turner2011-08-171-4/+4
|
* mips.py: add mips32r2 and mips64r2 builder classesMatt Turner2011-08-171-0/+70
|