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))
|
# offset in floppy image (>= sizeof(haiku_loader))
|
||||||
HAIKU_BOOT_ARCHIVE_IMAGE_OFFSET = 384 ; # in kB
|
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 :
|
case sparc :
|
||||||
HAIKU_KERNEL_PLATFORM ?= openfirmware ;
|
HAIKU_KERNEL_PLATFORM ?= openfirmware ;
|
||||||
HAIKU_BOOT_TARGETS += openfirmware ;
|
HAIKU_BOOT_TARGETS += openfirmware ;
|
||||||
|
|||||||
@@ -82,6 +82,16 @@ powerpc-*)
|
|||||||
binutilsConfigureArgs="$binutilsConfigureArgs --disable-tls"
|
binutilsConfigureArgs="$binutilsConfigureArgs --disable-tls"
|
||||||
gccConfigureArgs="$gccConfigureArgs --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"
|
binutilsConfigureArgs="--disable-multilib"
|
||||||
gccConfigureArgs="--disable-multilib"
|
gccConfigureArgs="--disable-multilib"
|
||||||
|
|||||||
@@ -19,6 +19,9 @@ case "$1" in
|
|||||||
"ppc")
|
"ppc")
|
||||||
echo "powerpc-apple-haiku"
|
echo "powerpc-apple-haiku"
|
||||||
;;
|
;;
|
||||||
|
"ppc64")
|
||||||
|
echo "powerpc64-unknown-haiku"
|
||||||
|
;;
|
||||||
"sparc")
|
"sparc")
|
||||||
echo "sparc64-unknown-haiku"
|
echo "sparc64-unknown-haiku"
|
||||||
;;
|
;;
|
||||||
|
|||||||
@@ -289,6 +289,7 @@ standard_gcc_settings()
|
|||||||
i?86-*) targetCpu=x86;;
|
i?86-*) targetCpu=x86;;
|
||||||
m68k-*) targetCpu=m68k;;
|
m68k-*) targetCpu=m68k;;
|
||||||
powerpc-*) targetCpu=ppc;;
|
powerpc-*) targetCpu=ppc;;
|
||||||
|
powerpc64-*) targetCpu=ppc64;;
|
||||||
riscv64-*) targetCpu=riscv64;;
|
riscv64-*) targetCpu=riscv64;;
|
||||||
sparc64-*) targetCpu=sparc;;
|
sparc64-*) targetCpu=sparc;;
|
||||||
x86_64-*) targetCpu=x86_64;;
|
x86_64-*) targetCpu=x86_64;;
|
||||||
@@ -696,6 +697,7 @@ supportedTargetArchs="
|
|||||||
arm64
|
arm64
|
||||||
m68k
|
m68k
|
||||||
ppc
|
ppc
|
||||||
|
ppc64
|
||||||
riscv64
|
riscv64
|
||||||
sparc
|
sparc
|
||||||
x86
|
x86
|
||||||
@@ -747,6 +749,7 @@ while [ $# -gt 0 ] ; do
|
|||||||
x86) targetMachine=i586-pc-haiku;;
|
x86) targetMachine=i586-pc-haiku;;
|
||||||
x86_64) targetMachine=x86_64-unknown-haiku;;
|
x86_64) targetMachine=x86_64-unknown-haiku;;
|
||||||
ppc) targetMachine=powerpc-apple-haiku;;
|
ppc) targetMachine=powerpc-apple-haiku;;
|
||||||
|
ppc64) targetMachine=powerpc64-unknown-haiku;;
|
||||||
m68k) targetMachine=m68k-unknown-haiku;;
|
m68k) targetMachine=m68k-unknown-haiku;;
|
||||||
arm) targetMachine=arm-unknown-haiku;;
|
arm) targetMachine=arm-unknown-haiku;;
|
||||||
arm64) targetMachine=aarch64-unknown-haiku;;
|
arm64) targetMachine=aarch64-unknown-haiku;;
|
||||||
@@ -808,6 +811,7 @@ while [ $# -gt 0 ] ; do
|
|||||||
x86) targetMachine=i586-pc-haiku;;
|
x86) targetMachine=i586-pc-haiku;;
|
||||||
x86_64) targetMachine=x86_64-unknown-haiku;;
|
x86_64) targetMachine=x86_64-unknown-haiku;;
|
||||||
ppc) targetMachine=powerpc-apple-haiku;;
|
ppc) targetMachine=powerpc-apple-haiku;;
|
||||||
|
ppc64) targetMachine=powerpc64-unknown-haiku;;
|
||||||
arm) targetMachine=arm-unknown-haiku;;
|
arm) targetMachine=arm-unknown-haiku;;
|
||||||
arm64) targetMachine=aarch64-unknown-haiku;;
|
arm64) targetMachine=aarch64-unknown-haiku;;
|
||||||
riscv64) targetMachine=riscv64-unknown-haiku;;
|
riscv64) targetMachine=riscv64-unknown-haiku;;
|
||||||
|
|||||||
@@ -12,6 +12,8 @@ rule BuildOpenFirmwareLoader {
|
|||||||
switch $(TARGET_ARCH) {
|
switch $(TARGET_ARCH) {
|
||||||
case ppc :
|
case ppc :
|
||||||
BuildCoffLoader $(haikuLoader) : $(bootLoader) ;
|
BuildCoffLoader $(haikuLoader) : $(bootLoader) ;
|
||||||
|
case ppc64 :
|
||||||
|
BuildCoffLoader $(haikuLoader) : $(bootLoader) ;
|
||||||
case sparc :
|
case sparc :
|
||||||
BuildAoutLoader $(haikuLoader) : $(bootLoader) ;
|
BuildAoutLoader $(haikuLoader) : $(bootLoader) ;
|
||||||
case * :
|
case * :
|
||||||
@@ -50,6 +52,8 @@ rule BuildCoffLoader {
|
|||||||
switch $(TARGET_ARCH) {
|
switch $(TARGET_ARCH) {
|
||||||
case ppc :
|
case ppc :
|
||||||
COFF_FORMAT on $(coffLoader) = xcoff-powermac ;
|
COFF_FORMAT on $(coffLoader) = xcoff-powermac ;
|
||||||
|
case ppc64 :
|
||||||
|
COFF_FORMAT on $(coffLoader) = xcoff-powermac ;
|
||||||
case * :
|
case * :
|
||||||
Exit "Currently unsupported coff arch:" $(TARGET_ARCH) ;
|
Exit "Currently unsupported coff arch:" $(TARGET_ARCH) ;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user