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:
committed by
Adrien Destugues
parent
61fec68746
commit
c12b2aba11
@@ -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 ;
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -19,6 +19,9 @@ case "$1" in
|
||||
"ppc")
|
||||
echo "powerpc-apple-haiku"
|
||||
;;
|
||||
"ppc64")
|
||||
echo "powerpc64-unknown-haiku"
|
||||
;;
|
||||
"sparc")
|
||||
echo "sparc64-unknown-haiku"
|
||||
;;
|
||||
|
||||
@@ -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;;
|
||||
|
||||
@@ -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) ;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user