powerpc: add powerpc64 and powerpc64le support
This enables powerpc64 and powerpc64le. Currently, le needs at least glibc 2.19 and gcc 4.9.0. For gdb, 7.7.1 works (added in an earlier patch). [Peter: also disallow gcc 4.8 for ppc64le] Signed-off-by: Cody P Schafer <cody@linux.vnet.ibm.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
This commit is contained in:
parent
32a471824b
commit
7e674dfa4f
2
Makefile
2
Makefile
|
@ -38,7 +38,7 @@ export HOSTARCH := $(shell uname -m | \
|
||||||
-e s/sun4u/sparc64/ \
|
-e s/sun4u/sparc64/ \
|
||||||
-e s/arm.*/arm/ \
|
-e s/arm.*/arm/ \
|
||||||
-e s/sa110/arm/ \
|
-e s/sa110/arm/ \
|
||||||
-e s/ppc64/powerpc/ \
|
-e s/ppc64/powerpc64/ \
|
||||||
-e s/ppc/powerpc/ \
|
-e s/ppc/powerpc/ \
|
||||||
-e s/macppc/powerpc/\
|
-e s/macppc/powerpc/\
|
||||||
-e s/sh.*/sh/)
|
-e s/sh.*/sh/)
|
||||||
|
|
|
@ -140,6 +140,16 @@ config BR2_powerpc
|
||||||
bool "PowerPC"
|
bool "PowerPC"
|
||||||
help
|
help
|
||||||
PowerPC is a RISC architecture created by Apple-IBM-Motorola alliance.
|
PowerPC is a RISC architecture created by Apple-IBM-Motorola alliance.
|
||||||
|
Big endian.
|
||||||
|
http://www.power.org/
|
||||||
|
http://en.wikipedia.org/wiki/Powerpc
|
||||||
|
|
||||||
|
config BR2_powerpc64
|
||||||
|
bool "PowerPC64 (big endian)"
|
||||||
|
select BR2_ARCH_IS_64
|
||||||
|
help
|
||||||
|
PowerPC is a RISC architecture created by Apple-IBM-Motorola alliance.
|
||||||
|
Big endian.
|
||||||
http://www.power.org/
|
http://www.power.org/
|
||||||
http://en.wikipedia.org/wiki/Powerpc
|
http://en.wikipedia.org/wiki/Powerpc
|
||||||
|
|
||||||
|
@ -148,6 +158,7 @@ config BR2_powerpc64le
|
||||||
select BR2_ARCH_IS_64
|
select BR2_ARCH_IS_64
|
||||||
help
|
help
|
||||||
PowerPC is a RISC architecture created by Apple-IBM-Motorola alliance.
|
PowerPC is a RISC architecture created by Apple-IBM-Motorola alliance.
|
||||||
|
Little endian.
|
||||||
http://www.power.org/
|
http://www.power.org/
|
||||||
http://en.wikipedia.org/wiki/Powerpc
|
http://en.wikipedia.org/wiki/Powerpc
|
||||||
|
|
||||||
|
@ -329,7 +340,7 @@ if BR2_nios2
|
||||||
source "arch/Config.in.nios2"
|
source "arch/Config.in.nios2"
|
||||||
endif
|
endif
|
||||||
|
|
||||||
if BR2_powerpc || BR2_powerpc64le
|
if BR2_powerpc || BR2_powerpc64 || BR2_powerpc64le
|
||||||
source "arch/Config.in.powerpc"
|
source "arch/Config.in.powerpc"
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
|
|
@ -150,10 +150,11 @@ config BR2_POWERPC_SOFT_FLOAT
|
||||||
|
|
||||||
config BR2_ARCH
|
config BR2_ARCH
|
||||||
default "powerpc" if BR2_powerpc
|
default "powerpc" if BR2_powerpc
|
||||||
|
default "powerpc64" if BR2_powerpc64
|
||||||
default "powerpc64le" if BR2_powerpc64le
|
default "powerpc64le" if BR2_powerpc64le
|
||||||
|
|
||||||
config BR2_ENDIAN
|
config BR2_ENDIAN
|
||||||
default "BIG" if BR2_powerpc
|
default "BIG" if BR2_powerpc || BR2_powerpc64
|
||||||
default "LITTLE" if BR2_powerpc64le
|
default "LITTLE" if BR2_powerpc64le
|
||||||
|
|
||||||
config BR2_GCC_TARGET_TUNE
|
config BR2_GCC_TARGET_TUNE
|
||||||
|
|
|
@ -184,7 +184,8 @@ config BR2_LINUX_KERNEL_BZIMAGE
|
||||||
|
|
||||||
config BR2_LINUX_KERNEL_ZIMAGE
|
config BR2_LINUX_KERNEL_ZIMAGE
|
||||||
bool "zImage"
|
bool "zImage"
|
||||||
depends on BR2_arm || BR2_armeb || BR2_powerpc || BR2_sparc || \
|
depends on BR2_arm || BR2_armeb || BR2_powerpc || \
|
||||||
|
BR2_powerpc64 || BR2_powerpc64le || BR2_sparc || \
|
||||||
BR2_sh || BR2_sh64 || BR2_xtensa
|
BR2_sh || BR2_sh64 || BR2_xtensa
|
||||||
|
|
||||||
config BR2_LINUX_KERNEL_APPENDED_ZIMAGE
|
config BR2_LINUX_KERNEL_APPENDED_ZIMAGE
|
||||||
|
|
|
@ -321,7 +321,7 @@ endif
|
||||||
ifeq ($(BR2_m68k),y)
|
ifeq ($(BR2_m68k),y)
|
||||||
BR2_AC_CV_TRAP_CHECK=ac_cv_lbl_unaligned_fail=no
|
BR2_AC_CV_TRAP_CHECK=ac_cv_lbl_unaligned_fail=no
|
||||||
endif
|
endif
|
||||||
ifeq ($(BR2_powerpc)$(BR2_ENDIAN),yBIG)
|
ifeq ($(BR2_powerpc)$(BR2_powerpc64)$(BR2_powerpc64le),y)
|
||||||
BR2_AC_CV_TRAP_CHECK=ac_cv_lbl_unaligned_fail=no
|
BR2_AC_CV_TRAP_CHECK=ac_cv_lbl_unaligned_fail=no
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
|
|
@ -20,14 +20,14 @@ choice
|
||||||
bool "gcc 4.2.2-avr32-2.1.5"
|
bool "gcc 4.2.2-avr32-2.1.5"
|
||||||
|
|
||||||
config BR2_GCC_VERSION_4_3_X
|
config BR2_GCC_VERSION_4_3_X
|
||||||
depends on !BR2_microblaze && !BR2_aarch64 && !BR2_arc && !BR2_avr32 && !BR2_sparc_sparchfleon && !BR2_sparc_sparchfleonv8 && !BR2_sparc_sparcsfleon && !BR2_sparc_sparcsfleonv8 && !BR2_cortex_a5 && !BR2_cortex_a7 && !BR2_cortex_a8 && !BR2_cortex_a9 && !BR2_cortex_a12 && !BR2_cortex_a15 && !BR2_x86_corei7 && !BR2_x86_atom && !BR2_x86_jaguar && !BR2_powerpc_e300c2 && !BR2_powerpc_e300c3 && !BR2_powerpc_e500mc && !BR2_powerpc_464 && !BR2_powerpc_464fp && !BR2_powerpc_476 && !BR2_powerpc_476fp && !BR2_fa526 && !BR2_pj4
|
depends on !BR2_microblaze && !BR2_aarch64 && !BR2_arc && !BR2_avr32 && !BR2_sparc_sparchfleon && !BR2_sparc_sparchfleonv8 && !BR2_sparc_sparcsfleon && !BR2_sparc_sparcsfleonv8 && !BR2_cortex_a5 && !BR2_cortex_a7 && !BR2_cortex_a8 && !BR2_cortex_a9 && !BR2_cortex_a12 && !BR2_cortex_a15 && !BR2_x86_corei7 && !BR2_x86_atom && !BR2_x86_jaguar && !BR2_powerpc_e300c2 && !BR2_powerpc_e300c3 && !BR2_powerpc_e500mc && !BR2_powerpc_464 && !BR2_powerpc_464fp && !BR2_powerpc_476 && !BR2_powerpc_476fp && !BR2_fa526 && !BR2_pj4 && !BR2_powerpc64le
|
||||||
depends on !BR2_ARM_EABIHF
|
depends on !BR2_ARM_EABIHF
|
||||||
bool "gcc 4.3.x"
|
bool "gcc 4.3.x"
|
||||||
# musl patches only for gcc 4.7+
|
# musl patches only for gcc 4.7+
|
||||||
depends on !BR2_TOOLCHAIN_BUILDROOT_MUSL
|
depends on !BR2_TOOLCHAIN_BUILDROOT_MUSL
|
||||||
|
|
||||||
config BR2_GCC_VERSION_4_4_X
|
config BR2_GCC_VERSION_4_4_X
|
||||||
depends on !BR2_microblaze && !BR2_aarch64 && !BR2_arc && !BR2_avr32 && !BR2_cortex_a5 && !BR2_cortex_a7 && !BR2_cortex_a12 && !BR2_cortex_a15 && !BR2_x86_corei7 && !BR2_x86_atom && !BR2_x86_jaguar && !BR2_powerpc_476 && !BR2_powerpc_476fp && !BR2_fa526 && !BR2_pj4
|
depends on !BR2_microblaze && !BR2_aarch64 && !BR2_arc && !BR2_avr32 && !BR2_cortex_a5 && !BR2_cortex_a7 && !BR2_cortex_a12 && !BR2_cortex_a15 && !BR2_x86_corei7 && !BR2_x86_atom && !BR2_x86_jaguar && !BR2_powerpc_476 && !BR2_powerpc_476fp && !BR2_fa526 && !BR2_pj4 && !BR2_powerpc64le
|
||||||
bool "gcc 4.4.x"
|
bool "gcc 4.4.x"
|
||||||
# ARM EABIhf support appeared in gcc 4.6
|
# ARM EABIhf support appeared in gcc 4.6
|
||||||
depends on !BR2_ARM_EABIHF
|
depends on !BR2_ARM_EABIHF
|
||||||
|
@ -37,7 +37,7 @@ choice
|
||||||
depends on !BR2_TOOLCHAIN_BUILDROOT_MUSL
|
depends on !BR2_TOOLCHAIN_BUILDROOT_MUSL
|
||||||
|
|
||||||
config BR2_GCC_VERSION_4_5_X
|
config BR2_GCC_VERSION_4_5_X
|
||||||
depends on !BR2_microblaze && !BR2_aarch64 && !BR2_arc && !BR2_avr32 && !BR2_cortex_a7 && !BR2_cortex_a12 && !BR2_cortex_a15 && !BR2_x86_corei7 && !BR2_x86_jaguar && !BR2_sparc_sparchfleon && !BR2_sparc_sparchfleonv8 && !BR2_sparc_sparcsfleon && !BR2_sparc_sparcsfleonv8 && !BR2_fa526 && !BR2_pj4
|
depends on !BR2_microblaze && !BR2_aarch64 && !BR2_arc && !BR2_avr32 && !BR2_cortex_a7 && !BR2_cortex_a12 && !BR2_cortex_a15 && !BR2_x86_corei7 && !BR2_x86_jaguar && !BR2_sparc_sparchfleon && !BR2_sparc_sparchfleonv8 && !BR2_sparc_sparcsfleon && !BR2_sparc_sparcsfleonv8 && !BR2_fa526 && !BR2_pj4 && !BR2_powerpc64le
|
||||||
select BR2_GCC_NEEDS_MPC
|
select BR2_GCC_NEEDS_MPC
|
||||||
# ARM EABIhf support appeared in gcc 4.6
|
# ARM EABIhf support appeared in gcc 4.6
|
||||||
depends on !BR2_ARM_EABIHF
|
depends on !BR2_ARM_EABIHF
|
||||||
|
@ -46,19 +46,19 @@ choice
|
||||||
bool "gcc 4.5.x"
|
bool "gcc 4.5.x"
|
||||||
|
|
||||||
config BR2_GCC_VERSION_4_6_X
|
config BR2_GCC_VERSION_4_6_X
|
||||||
depends on !BR2_microblaze && !BR2_aarch64 && !BR2_arc && !BR2_avr32 && !BR2_bfin && !BR2_cortex_a7 && !BR2_cortex_a12 && !BR2_x86_jaguar && !BR2_sparc_sparchfleon && !BR2_sparc_sparchfleonv8 && !BR2_sparc_sparcsfleon && !BR2_sparc_sparcsfleonv8 && !BR2_pj4
|
depends on !BR2_microblaze && !BR2_aarch64 && !BR2_arc && !BR2_avr32 && !BR2_bfin && !BR2_cortex_a7 && !BR2_cortex_a12 && !BR2_x86_jaguar && !BR2_sparc_sparchfleon && !BR2_sparc_sparchfleonv8 && !BR2_sparc_sparcsfleon && !BR2_sparc_sparcsfleonv8 && !BR2_pj4 && !BR2_powerpc64le
|
||||||
select BR2_GCC_NEEDS_MPC
|
select BR2_GCC_NEEDS_MPC
|
||||||
# musl patches only for gcc 4.7+
|
# musl patches only for gcc 4.7+
|
||||||
depends on !BR2_TOOLCHAIN_BUILDROOT_MUSL
|
depends on !BR2_TOOLCHAIN_BUILDROOT_MUSL
|
||||||
bool "gcc 4.6.x"
|
bool "gcc 4.6.x"
|
||||||
|
|
||||||
config BR2_GCC_VERSION_4_7_X
|
config BR2_GCC_VERSION_4_7_X
|
||||||
depends on !BR2_microblaze && !BR2_aarch64 && !BR2_arc && !BR2_avr32 && !BR2_bfin && !BR2_cortex_a12 && !BR2_x86_jaguar && !BR2_sparc_sparchfleon && !BR2_sparc_sparchfleonv8 && !BR2_sparc_sparcsfleon && !BR2_sparc_sparcsfleonv8 && !BR2_pj4
|
depends on !BR2_microblaze && !BR2_aarch64 && !BR2_arc && !BR2_avr32 && !BR2_bfin && !BR2_cortex_a12 && !BR2_x86_jaguar && !BR2_sparc_sparchfleon && !BR2_sparc_sparchfleonv8 && !BR2_sparc_sparcsfleon && !BR2_sparc_sparcsfleonv8 && !BR2_pj4 && !BR2_powerpc64le
|
||||||
select BR2_GCC_NEEDS_MPC
|
select BR2_GCC_NEEDS_MPC
|
||||||
bool "gcc 4.7.x"
|
bool "gcc 4.7.x"
|
||||||
|
|
||||||
config BR2_GCC_VERSION_4_8_X
|
config BR2_GCC_VERSION_4_8_X
|
||||||
depends on !BR2_microblaze && !BR2_arc && !BR2_avr32 && !BR2_bfin && !BR2_cortex_a12 && !BR2_sparc_sparchfleon && !BR2_sparc_sparchfleonv8 && !BR2_sparc_sparcsfleon && !BR2_sparc_sparcsfleonv8
|
depends on !BR2_microblaze && !BR2_arc && !BR2_avr32 && !BR2_bfin && !BR2_cortex_a12 && !BR2_sparc_sparchfleon && !BR2_sparc_sparchfleonv8 && !BR2_sparc_sparcsfleon && !BR2_sparc_sparcsfleonv8 && !BR2_powerpc64le
|
||||||
select BR2_GCC_NEEDS_MPC
|
select BR2_GCC_NEEDS_MPC
|
||||||
bool "gcc 4.8.x"
|
bool "gcc 4.8.x"
|
||||||
|
|
||||||
|
|
|
@ -2,20 +2,21 @@ if BR2_TOOLCHAIN_BUILDROOT_GLIBC
|
||||||
|
|
||||||
choice
|
choice
|
||||||
prompt "glibc version"
|
prompt "glibc version"
|
||||||
default BR2_GLIBC_VERSION_2_19 if BR2_powerpc64le
|
|
||||||
default BR2_GLIBC_VERSION_2_18
|
default BR2_GLIBC_VERSION_2_18
|
||||||
# Architectures supported in mainline glibc
|
# Architectures supported in mainline glibc
|
||||||
depends on BR2_arm || BR2_armeb || BR2_aarch64 || \
|
depends on BR2_arm || BR2_armeb || BR2_aarch64 || \
|
||||||
BR2_i386 || BR2_mips || BR2_mipsel || \
|
BR2_i386 || BR2_mips || BR2_mipsel || \
|
||||||
BR2_mips64 || BR2_mips64el || BR2_powerpc || \
|
BR2_mips64 || BR2_mips64el || BR2_powerpc || \
|
||||||
BR2_powerpc64le || BR2_sh || BR2_sh64 || \
|
BR2_powerpc64 || BR2_powerpc64le || BR2_sh || \
|
||||||
BR2_sparc || BR2_x86_64 || BR2_microblaze
|
BR2_sh64 || BR2_sparc || BR2_x86_64 || \\
|
||||||
|
BR2_microblaze
|
||||||
|
|
||||||
config BR2_GLIBC_VERSION_2_18
|
config BR2_GLIBC_VERSION_2_18
|
||||||
bool "2.18"
|
bool "2.18"
|
||||||
|
depends on !BR2_powerpc64le
|
||||||
|
|
||||||
config BR2_GLIBC_VERSION_2_19
|
config BR2_GLIBC_VERSION_2_19
|
||||||
bool "2.19"
|
bool "2.19"
|
||||||
|
|
||||||
endchoice
|
endchoice
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
config BR2_PACKAGE_LIBATOMIC_ARCH_SUPPORTS
|
config BR2_PACKAGE_LIBATOMIC_ARCH_SUPPORTS
|
||||||
bool
|
bool
|
||||||
default y if BR2_arm || BR2_armeb || BR2_aarch64 || BR2_i386 || BR2_sparc || BR2_powerpc || BR2_x86_64
|
default y if BR2_arm || BR2_armeb || BR2_aarch64 || BR2_i386 || BR2_sparc || BR2_powerpc || BR2_powerpc64 || BR2_powerpc64le || BR2_x86_64
|
||||||
|
|
||||||
config BR2_PACKAGE_LIBATOMIC_OPS
|
config BR2_PACKAGE_LIBATOMIC_OPS
|
||||||
bool "libatomic_ops"
|
bool "libatomic_ops"
|
||||||
|
|
|
@ -42,6 +42,12 @@ ifeq ($(BR2_powerpc_401)$(BR2_powerpc_403)$(BR2_powerpc_405)$(BR2_powerpc_405fp)
|
||||||
OPENSSL_TARGET_ARCH = ppc
|
OPENSSL_TARGET_ARCH = ppc
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
ifeq ($(ARCH),powerpc64)
|
||||||
|
OPENSSL_TARGET_ARCH = ppc64
|
||||||
|
endif
|
||||||
|
ifeq ($(ARCH),powerpc64le)
|
||||||
|
OPENSSL_TARGET_ARCH = ppc64le
|
||||||
|
endif
|
||||||
ifeq ($(ARCH),x86_64)
|
ifeq ($(ARCH),x86_64)
|
||||||
OPENSSL_TARGET_ARCH = x86_64
|
OPENSSL_TARGET_ARCH = x86_64
|
||||||
endif
|
endif
|
||||||
|
|
|
@ -2,7 +2,8 @@ config BR2_PACKAGE_SYSTEMD_ARCH_SUPPORTS
|
||||||
bool
|
bool
|
||||||
# see src/shared/architecture.h
|
# see src/shared/architecture.h
|
||||||
default y if BR2_arm || BR2_armeb || BR2_i386 || BR2_mips || \
|
default y if BR2_arm || BR2_armeb || BR2_i386 || BR2_mips || \
|
||||||
BR2_mipsel || BR2_powerpc || BR2_sh4 || BR2_sh4eb || \
|
BR2_mipsel || BR2_powerpc || BR2_powerpc64 || \
|
||||||
|
BR2_powerpc64le || BR2_sh4 || BR2_sh4eb || \
|
||||||
BR2_sh4a || BR2_sh4aeb || BR2_sparc || BR2_x86_64 || \
|
BR2_sh4a || BR2_sh4aeb || BR2_sparc || BR2_x86_64 || \
|
||||||
BR2_aarch64 || BR2_m68k
|
BR2_aarch64 || BR2_m68k
|
||||||
|
|
||||||
|
|
|
@ -45,7 +45,7 @@ config BR2_TOOLCHAIN_BUILDROOT_EGLIBC
|
||||||
BR2_i386 || BR2_mips || BR2_mipsel || \
|
BR2_i386 || BR2_mips || BR2_mipsel || \
|
||||||
BR2_mips64 || BR2_mips64el || BR2_powerpc || \
|
BR2_mips64 || BR2_mips64el || BR2_powerpc || \
|
||||||
BR2_sh || BR2_sh64 || BR2_sparc || \
|
BR2_sh || BR2_sh64 || BR2_sparc || \
|
||||||
BR2_x86_64 || BR2_microblaze
|
BR2_x86_64 || BR2_microblaze || BR2_powerpc64
|
||||||
depends on BR2_USE_MMU
|
depends on BR2_USE_MMU
|
||||||
depends on !BR2_PREFER_STATIC_LIB
|
depends on !BR2_PREFER_STATIC_LIB
|
||||||
select BR2_TOOLCHAIN_USES_GLIBC
|
select BR2_TOOLCHAIN_USES_GLIBC
|
||||||
|
@ -62,8 +62,9 @@ config BR2_TOOLCHAIN_BUILDROOT_GLIBC
|
||||||
depends on BR2_arm || BR2_armeb || BR2_aarch64 || \
|
depends on BR2_arm || BR2_armeb || BR2_aarch64 || \
|
||||||
BR2_i386 || BR2_mips || BR2_mipsel || \
|
BR2_i386 || BR2_mips || BR2_mipsel || \
|
||||||
BR2_mips64 || BR2_mips64el || BR2_powerpc || \
|
BR2_mips64 || BR2_mips64el || BR2_powerpc || \
|
||||||
BR2_powerpc64le || BR2_sh || BR2_sh64 || \
|
BR2_powerpc64 || BR2_powerpc64le || BR2_sh || \
|
||||||
BR2_sparc || BR2_x86_64 || BR2_microblaze
|
BR2_sh64 || BR2_sparc || BR2_x86_64 || \
|
||||||
|
BR2_microblaze
|
||||||
depends on BR2_USE_MMU
|
depends on BR2_USE_MMU
|
||||||
depends on !BR2_PREFER_STATIC_LIB
|
depends on !BR2_PREFER_STATIC_LIB
|
||||||
select BR2_TOOLCHAIN_USES_GLIBC
|
select BR2_TOOLCHAIN_USES_GLIBC
|
||||||
|
|
Loading…
Reference in New Issue
Block a user