build: initial support for ppc64

https://review.haiku-os.org/c/buildtools/+/2784

Change-Id: If429e20752712224ffc2afb0c32ca94d14a8b7a8
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10809
Haiku-Format: Haiku-format Bot <[email protected]>
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: Adrien Destugues <[email protected]>
This commit is contained in:
SED4906
2026-06-05 10:52:04 +00:00
committed by Adrien Destugues
parent 61fec68746
commit c12b2aba11
5 changed files with 29 additions and 0 deletions
+8
View File
@@ -231,6 +231,14 @@ rule KernelArchitectureSetup architecture
# offset in floppy image (>= sizeof(haiku_loader))
HAIKU_BOOT_ARCHIVE_IMAGE_OFFSET = 384 ; # in kB
case ppc64 :
HAIKU_KERNEL_PLATFORM ?= openfirmware ;
HAIKU_BOOT_TARGETS += openfirmware ;
HAIKU_BOOT_FLOPPY_IMAGE_SIZE = 1440 ; # in kB
# offset in floppy image (>= sizeof(haiku_loader))
HAIKU_BOOT_ARCHIVE_IMAGE_OFFSET = 384 ; # in kB
case sparc :
HAIKU_KERNEL_PLATFORM ?= openfirmware ;
HAIKU_BOOT_TARGETS += openfirmware ;
+10
View File
@@ -82,6 +82,16 @@ powerpc-*)
binutilsConfigureArgs="$binutilsConfigureArgs --disable-tls"
gccConfigureArgs="$gccConfigureArgs --disable-tls"
;;
powerpc64-*)
binutilsConfigureArgs="--disable-multilib"
gccConfigureArgs="--disable-multilib"
gdbConfigureArgs="--disable-multilib --disable-werror"
gdbTarget="powerpc64-unknown-elf"
# TODO: Disable building with TLS support for PPC64 until implemented.
binutilsConfigureArgs="$binutilsConfigureArgs --disable-tls"
gccConfigureArgs="$gccConfigureArgs --disable-tls"
;;
*)
binutilsConfigureArgs="--disable-multilib"
gccConfigureArgs="--disable-multilib"
+3
View File
@@ -19,6 +19,9 @@ case "$1" in
"ppc")
echo "powerpc-apple-haiku"
;;
"ppc64")
echo "powerpc64-unknown-haiku"
;;
"sparc")
echo "sparc64-unknown-haiku"
;;
Vendored
+4
View File
@@ -289,6 +289,7 @@ standard_gcc_settings()
i?86-*) targetCpu=x86;;
m68k-*) targetCpu=m68k;;
powerpc-*) targetCpu=ppc;;
powerpc64-*) targetCpu=ppc64;;
riscv64-*) targetCpu=riscv64;;
sparc64-*) targetCpu=sparc;;
x86_64-*) targetCpu=x86_64;;
@@ -696,6 +697,7 @@ supportedTargetArchs="
arm64
m68k
ppc
ppc64
riscv64
sparc
x86
@@ -747,6 +749,7 @@ while [ $# -gt 0 ] ; do
x86) targetMachine=i586-pc-haiku;;
x86_64) targetMachine=x86_64-unknown-haiku;;
ppc) targetMachine=powerpc-apple-haiku;;
ppc64) targetMachine=powerpc64-unknown-haiku;;
m68k) targetMachine=m68k-unknown-haiku;;
arm) targetMachine=arm-unknown-haiku;;
arm64) targetMachine=aarch64-unknown-haiku;;
@@ -808,6 +811,7 @@ while [ $# -gt 0 ] ; do
x86) targetMachine=i586-pc-haiku;;
x86_64) targetMachine=x86_64-unknown-haiku;;
ppc) targetMachine=powerpc-apple-haiku;;
ppc64) targetMachine=powerpc64-unknown-haiku;;
arm) targetMachine=arm-unknown-haiku;;
arm64) targetMachine=aarch64-unknown-haiku;;
riscv64) targetMachine=riscv64-unknown-haiku;;
+4
View File
@@ -12,6 +12,8 @@ rule BuildOpenFirmwareLoader {
switch $(TARGET_ARCH) {
case ppc :
BuildCoffLoader $(haikuLoader) : $(bootLoader) ;
case ppc64 :
BuildCoffLoader $(haikuLoader) : $(bootLoader) ;
case sparc :
BuildAoutLoader $(haikuLoader) : $(bootLoader) ;
case * :
@@ -50,6 +52,8 @@ rule BuildCoffLoader {
switch $(TARGET_ARCH) {
case ppc :
COFF_FORMAT on $(coffLoader) = xcoff-powermac ;
case ppc64 :
COFF_FORMAT on $(coffLoader) = xcoff-powermac ;
case * :
Exit "Currently unsupported coff arch:" $(TARGET_ARCH) ;
}