From 5fa28f6a9631d6be707e99f04511dc1675eec491 Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Sat, 4 May 2024 18:58:42 +0200 Subject: xtensa: preliminary support for upcoming FDPIC support in uClibc-ng --- target/config/Config.in.abi | 14 ++++++++++++++ target/config/Config.in.binfmt | 3 ++- target/config/Config.in.binutils | 4 ++++ target/config/Config.in.compiler | 4 ++++ target/config/Config.in.cpu | 6 +++--- target/config/Config.in.libc | 1 + 6 files changed, 28 insertions(+), 4 deletions(-) (limited to 'target/config') diff --git a/target/config/Config.in.abi b/target/config/Config.in.abi index 9995ba51d..db799f70e 100644 --- a/target/config/Config.in.abi +++ b/target/config/Config.in.abi @@ -1,6 +1,18 @@ # This file is part of the OpenADK project. OpenADK is copyrighted # material, please see the LICENCE file in the top-level directory. +choice +prompt "ABI" +depends on ADK_TARGET_ARCH_XTENSA && ADK_TARGET_CPU_XTENSA_DC233C + +config ADK_TARGET_ABI_WINDOWED + bool "Windowed ABI" + +config ADK_TARGET_ABI_CALL0 + bool "Call0 ABI" + +endchoice + choice prompt "ABI" depends on ADK_TARGET_ARCH_MIPS64 @@ -62,6 +74,8 @@ config ADK_TARGET_ABI default "x32" if ADK_TARGET_ABI_X32 default "eabihf" if ADK_TARGET_ARCH_ARM && ADK_TARGET_HARD_FLOAT default "eabi" if ADK_TARGET_ARCH_ARM + default "windowed" if ADK_TARGET_ABI_WINDOWED + default "call0" if ADK_TARGET_ABI_CALL0 config ADK_TARGET_ABI_RISCV depends on ADK_TARGET_ARCH_RISCV32 || ADK_TARGET_ARCH_RISCV64 diff --git a/target/config/Config.in.binfmt b/target/config/Config.in.binfmt index 2c690724a..704ca073d 100644 --- a/target/config/Config.in.binfmt +++ b/target/config/Config.in.binfmt @@ -24,7 +24,8 @@ config ADK_TARGET_BINFMT_FLAT config ADK_TARGET_BINFMT_FDPIC bool "FDPIC" select BUSYBOX_NOMMU - depends on ADK_TARGET_ARCH_ARM || ADK_TARGET_ARCH_BFIN || ADK_TARGET_ARCH_FRV || ADK_TARGET_ARCH_SH + depends on ADK_TARGET_ARCH_ARM || ADK_TARGET_ARCH_BFIN || ADK_TARGET_ARCH_FRV || ADK_TARGET_ARCH_SH \ + || ADK_TARGET_ARCH_XTENSA depends on !ADK_TARGET_WITH_MMU config ADK_TARGET_BINFMT_DSBT diff --git a/target/config/Config.in.binutils b/target/config/Config.in.binutils index b93eaf31d..3caf9a1d8 100644 --- a/target/config/Config.in.binutils +++ b/target/config/Config.in.binutils @@ -55,4 +55,8 @@ config ADK_TOOLCHAIN_BINUTILS_KVX bool "kvx-coolidge" depends on ADK_TARGET_ARCH_KVX +config ADK_TOOLCHAIN_BINUTILS_XTENSA + bool "xtensa-fdpic-abi-spec-1.1" + depends on ADK_TARGET_ARCH_XTENSA + endchoice diff --git a/target/config/Config.in.compiler b/target/config/Config.in.compiler index f5ca63b75..8d7b442b5 100644 --- a/target/config/Config.in.compiler +++ b/target/config/Config.in.compiler @@ -111,4 +111,8 @@ config ADK_TOOLCHAIN_GCC_KVX bool "coolidge" depends on ADK_TARGET_ARCH_KVX +config ADK_TOOLCHAIN_GCC_XTENSA + bool "xtensa-fdpic-abi-spec-1.1" + depends on ADK_TARGET_ARCH_XTENSA + endchoice diff --git a/target/config/Config.in.cpu b/target/config/Config.in.cpu index c06eca95b..d7984a44e 100644 --- a/target/config/Config.in.cpu +++ b/target/config/Config.in.cpu @@ -1830,9 +1830,9 @@ config ADK_TARGET_CPU_XTENSA_DC233C select ADK_TARGET_SUPPORTS_THREADS select ADK_TARGET_SUPPORTS_NPTL select ADK_TARGET_SUPPORTS_LT - select ADK_TARGET_KERNEL_UIMAGE - select ADK_LINUX_KERNEL_XTENSA_VARIANT_DC233C if ADK_TARGET_OS_LINUX - select ADK_LINUX_KERNEL_INITIALIZE_XTENSA_MMU_INSIDE_VMLINUX if ADK_TARGET_OS_LINUX + select ADK_TARGET_KERNEL_IMAGE + select ADK_LINUX_KERNEL_XTENSA_VARIANT_DC233C if ADK_TARGET_WITH_MMU + select ADK_LINUX_KERNEL_INITIALIZE_XTENSA_MMU_INSIDE_VMLINUX if ADK_TARGET_WITH_MMU depends on ADK_TARGET_ARCH_XTENSA config ADK_TARGET_CPU_XTENSA_DC232B diff --git a/target/config/Config.in.libc b/target/config/Config.in.libc index c05475fb5..c4b287072 100644 --- a/target/config/Config.in.libc +++ b/target/config/Config.in.libc @@ -220,6 +220,7 @@ config ADK_TARGET_SUFFIX default "gnux32" if ADK_TARGET_LIB_GLIBC && ADK_TARGET_ABI_X32 && ADK_LINUX_64 default "gnuspe" if ADK_TARGET_LIB_GLIBC && ADK_TARGET_ARCH_PPC && ADK_TARGET_ARCH_PPC_WITH_SPE default "gnu" if ADK_TARGET_LIB_GLIBC + default "uclibcfdpic" if ADK_TARGET_LIB_UCLIBC_NG && ADK_TARGET_ARCH_XTENSA && ADK_TARGET_BINFMT_FDPIC default "uclinuxfdpiceabi" if ADK_TARGET_LIB_UCLIBC_NG && ADK_TARGET_ARCH_ARM && ADK_TARGET_BINFMT_FDPIC default "uclibceabihf" if ADK_TARGET_LIB_UCLIBC_NG && ADK_TARGET_ARCH_ARM && ADK_TARGET_HARD_FLOAT default "uclibceabi" if ADK_TARGET_LIB_UCLIBC_NG && ADK_TARGET_ARCH_ARM -- cgit v1.2.3