From 181d410ad00cddd1d6c9f4835e129136b74c5187 Mon Sep 17 00:00:00 2001 From: Vineet Gupta Date: Sat, 14 Feb 2015 15:25:37 +0530 Subject: ARC: Conditionalise certain relocations as provided by TLS tools only uClibc mainline supports NPTL which in turns depends on TLS support in the tools (gcc/binutils), which is yet to be merged in dev branches. However there is some non NPTL code in uClibc, added as part of NPTL effort, which relies on certain relocations only provided by NPTL binutils. As a result building the current upstream even for LT.old breaks. So conditionalize that code on tools, bu tin lack of specific versions, we use NPTL enabling as a sign the tools are equipped to handle those relos. Signed-off-by: Vineet Gupta Signed-off-by: Bernhard Reutner-Fischer --- extra/Configs/defconfigs/arc/defconfig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'extra/Configs') diff --git a/extra/Configs/defconfigs/arc/defconfig b/extra/Configs/defconfigs/arc/defconfig index 840c59f0e..db4308f22 100644 --- a/extra/Configs/defconfigs/arc/defconfig +++ b/extra/Configs/defconfigs/arc/defconfig @@ -6,7 +6,7 @@ KERNEL_HEADERS="%KERNEL_HEADERS%" # LDSO_CACHE_SUPPORT is not set LDSO_RUNPATH=y # LDSO_SAFE_RUNPATH is not set -UCLIBC_HAS_THREADS_NATIVE=y +LINUXTHREADS_OLD=y PTHREADS_DEBUG_SUPPORT=y UCLIBC_HAS_OBSTACK=y UCLIBC_SUSV2_LEGACY=y -- cgit v1.2.3 From c049c4d872af18d668bb98094ce4334e44508fbe Mon Sep 17 00:00:00 2001 From: Alexey Brodkin Date: Sat, 14 Feb 2015 15:25:38 +0530 Subject: ARC: add configuration option for MMU page size ARC CPU may have MMU page size of 4/8(default)/16k. uClibc needs to have page size configured accodring to HW it will be run on. Signed-off-by: Alexey Brodkin Signed-off-by: Vineet Gupta Signed-off-by: Bernhard Reutner-Fischer --- extra/Configs/Config.arc | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'extra/Configs') diff --git a/extra/Configs/Config.arc b/extra/Configs/Config.arc index 40ff114cf..dc32ba4fb 100644 --- a/extra/Configs/Config.arc +++ b/extra/Configs/Config.arc @@ -21,3 +21,20 @@ config CONFIG_ARC_CPU_700 ARCompact ISA based ARC CPU endchoice + +choice + prompt "MMU Page Size" + default CONFIG_ARC_PAGE_SIZE_8K + +config CONFIG_ARC_PAGE_SIZE_8K + bool "8KB" + help + Choose between 4k, 8k (default) or 16k + +config CONFIG_ARC_PAGE_SIZE_16K + bool "16KB" + +config CONFIG_ARC_PAGE_SIZE_4K + bool "4KB" + +endchoice -- cgit v1.2.3 From c2460b9b7b8c76098dfb1313be4aa4a4a65ff619 Mon Sep 17 00:00:00 2001 From: Alexey Brodkin Date: Sat, 14 Feb 2015 15:25:39 +0530 Subject: ARC defconfigs: enable some items perf: UCLIBC_HAS_GLIBC_CUSTOM_STREAMS elfutils: UCLIBC_HAS_PROGRAM_INVOCATION_NAME Signed-off-by: Vineet Gupta Signed-off-by: Bernhard Reutner-Fischer --- extra/Configs/defconfigs/arc/defconfig | 2 ++ 1 file changed, 2 insertions(+) (limited to 'extra/Configs') diff --git a/extra/Configs/defconfigs/arc/defconfig b/extra/Configs/defconfigs/arc/defconfig index db4308f22..2dca4f9b3 100644 --- a/extra/Configs/defconfigs/arc/defconfig +++ b/extra/Configs/defconfigs/arc/defconfig @@ -12,6 +12,7 @@ UCLIBC_HAS_OBSTACK=y UCLIBC_SUSV2_LEGACY=y UCLIBC_SUSV3_LEGACY=y UCLIBC_SUSV4_LEGACY=y +UCLIBC_HAS_PROGRAM_INVOCATION_NAME=y UCLIBC_HAS_OBSOLETE_BSD_SIGNAL=y UCLIBC_SV4_DEPRECATED=y UCLIBC_HAS_RPC=y @@ -19,6 +20,7 @@ UCLIBC_HAS_FULL_RPC=y UCLIBC_HAS_RESOLVER_SUPPORT=y UCLIBC_HAS_LIBRESOLV_STUB=y UCLIBC_HAS_LOCALE=y +UCLIBC_HAS_GLIBC_CUSTOM_STREAMS=y UCLIBC_HAS_NFTW=y UCLIBC_HAS_FTW=y RUNTIME_PREFIX="%RUNTIME_PREFIX%" -- cgit v1.2.3 From 89b63496e88c31c2714e42656212078388718b78 Mon Sep 17 00:00:00 2001 From: Anton Kolesov Date: Wed, 4 Feb 2015 15:34:51 +0300 Subject: ARC: Add GNU glob to ARC defconfigs GNU glob is required by make. Signed-off-by: Anton Kolesov Cc: Vineet Gupta Signed-off-by: Bernhard Reutner-Fischer --- extra/Configs/defconfigs/arc/defconfig | 1 + extra/Configs/defconfigs/arc/tb10x_defconfig | 1 + 2 files changed, 2 insertions(+) (limited to 'extra/Configs') diff --git a/extra/Configs/defconfigs/arc/defconfig b/extra/Configs/defconfigs/arc/defconfig index 2dca4f9b3..490bc2267 100644 --- a/extra/Configs/defconfigs/arc/defconfig +++ b/extra/Configs/defconfigs/arc/defconfig @@ -23,6 +23,7 @@ UCLIBC_HAS_LOCALE=y UCLIBC_HAS_GLIBC_CUSTOM_STREAMS=y UCLIBC_HAS_NFTW=y UCLIBC_HAS_FTW=y +UCLIBC_HAS_GNU_GLOB=y RUNTIME_PREFIX="%RUNTIME_PREFIX%" DEVEL_PREFIX="%DEVEL_PREFIX%" CROSS_COMPILER_PREFIX="arc-linux-uclibc-" diff --git a/extra/Configs/defconfigs/arc/tb10x_defconfig b/extra/Configs/defconfigs/arc/tb10x_defconfig index 60065f97d..405a4eac7 100644 --- a/extra/Configs/defconfigs/arc/tb10x_defconfig +++ b/extra/Configs/defconfigs/arc/tb10x_defconfig @@ -30,6 +30,7 @@ UCLIBC_HAS_GLIBC_CUSTOM_STREAMS=y UCLIBC_HAS_PRINTF_M_SPEC=y UCLIBC_HAS_NFTW=y UCLIBC_HAS_FTW=y +UCLIBC_HAS_GNU_GLOB=y RUNTIME_PREFIX="%RUNTIME_PREFIX%" DEVEL_PREFIX="%DEVEL_PREFIX%" CROSS_COMPILER_PREFIX="arc-linux-uclibc-" -- cgit v1.2.3 From afab56958f1cbb47b831ee3ebff231dfbae74af2 Mon Sep 17 00:00:00 2001 From: Vineet Gupta Date: Thu, 19 Feb 2015 19:13:59 +0530 Subject: ARCv2 ISA support This is next gen Instruction Set Architecture from Synopsys and basis for the ARC HS family of processors. http://www.synopsys.com/dw/ipdir.php?ds=arc-hs38-processor&elq_mid=5732&elq_cid=458802 http://www.synopsys.com/IP/ProcessorIP/ARCProcessors/arc-hs/Pages/default.aspx Signed-off-by: Vineet Gupta Signed-off-by: Bernhard Reutner-Fischer --- extra/Configs/Config.arc | 6 +++++ extra/Configs/Config.in | 1 + extra/Configs/defconfigs/arc/arcv2_defconfig | 33 ++++++++++++++++++++++++++++ 3 files changed, 40 insertions(+) create mode 100644 extra/Configs/defconfigs/arc/arcv2_defconfig (limited to 'extra/Configs') diff --git a/extra/Configs/Config.arc b/extra/Configs/Config.arc index dc32ba4fb..0c0bc71ce 100644 --- a/extra/Configs/Config.arc +++ b/extra/Configs/Config.arc @@ -20,6 +20,12 @@ config CONFIG_ARC_CPU_700 help ARCompact ISA based ARC CPU +config CONFIG_ARC_CPU_HS + bool "ARC-HS" + select ARCH_HAS_MMU + help + Next Generation ARCv2 ISA based Processors + endchoice choice diff --git a/extra/Configs/Config.in b/extra/Configs/Config.in index 8e603b2ad..84659650b 100644 --- a/extra/Configs/Config.in +++ b/extra/Configs/Config.in @@ -255,6 +255,7 @@ config TARGET_SUBARCH default "i486" if CONFIG_486 default "i586" if CONFIG_586 default "i686" if CONFIG_686 + default "arcv2" if CONFIG_ARC_CPU_HS default "" source "extra/Configs/Config.in.arch" diff --git a/extra/Configs/defconfigs/arc/arcv2_defconfig b/extra/Configs/defconfigs/arc/arcv2_defconfig new file mode 100644 index 000000000..d3a7dc7b2 --- /dev/null +++ b/extra/Configs/defconfigs/arc/arcv2_defconfig @@ -0,0 +1,33 @@ +CONFIG_ARC_CPU_HS=y +ARCH_WANTS_LITTLE_ENDIAN=y +# UCLIBC_HAS_FPU is not set +DO_C99_MATH=y +KERNEL_HEADERS="%KERNEL_HEADERS%" +# DOPIC is not set +# LDSO_CACHE_SUPPORT is not set +LDSO_RUNPATH=y +# LDSO_SAFE_RUNPATH is not set +LINUXTHREADS_OLD=y +PTHREADS_DEBUG_SUPPORT=y +UCLIBC_HAS_OBSTACK=y +UCLIBC_SUSV2_LEGACY=y +UCLIBC_SUSV3_LEGACY=y +UCLIBC_SUSV4_LEGACY=y +UCLIBC_HAS_PROGRAM_INVOCATION_NAME=y +UCLIBC_HAS_OBSOLETE_BSD_SIGNAL=y +UCLIBC_SV4_DEPRECATED=y +UCLIBC_HAS_RPC=y +UCLIBC_HAS_FULL_RPC=y +UCLIBC_HAS_RESOLVER_SUPPORT=y +UCLIBC_HAS_LIBRESOLV_STUB=y +UCLIBC_HAS_LOCALE=y +UCLIBC_HAS_GLIBC_CUSTOM_STREAMS=y +UCLIBC_HAS_NFTW=y +UCLIBC_HAS_FTW=y +UCLIBC_HAS_GNU_GLOB=y +RUNTIME_PREFIX="%RUNTIME_PREFIX%" +DEVEL_PREFIX="%DEVEL_PREFIX%" +CROSS_COMPILER_PREFIX="arc-linux-uclibc-" +# DOSTRIP is not set +SUPPORT_LD_DEBUG=y +UCLIBC_HAS_BACKTRACE=y -- cgit v1.2.3 From 409f14d9b5e47513d5c939120a33965997c8ceb2 Mon Sep 17 00:00:00 2001 From: Steve Ellcey Date: Thu, 19 Feb 2015 16:03:26 -0800 Subject: Allow use of executable RUNPATH/RPATH when finding libraries. This option will modify ldso so that it will use the executables RUNPATH/RPATH to find to find libraries even though this behavour is not standard. Setting this option causes the uclibc dynamic linker behavour to match the glibc dynamic linker. Signed-off-by: Steve Ellcey Signed-off-by: Bernhard Reutner-Fischer --- extra/Configs/Config.in | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'extra/Configs') diff --git a/extra/Configs/Config.in b/extra/Configs/Config.in index 84659650b..f5210cdf9 100644 --- a/extra/Configs/Config.in +++ b/extra/Configs/Config.in @@ -419,6 +419,15 @@ config LDSO_RUNPATH Usage of RUNPATH tags is not too common, so disabling this feature should be safe for most people. +config LDSO_RUNPATH_OF_EXECUTABLE + bool "Use executables RUNPATH/RPATH when searching for libraries." + depends on LDSO_RUNPATH + default n + help + Use the executables RUNPATH/RPATH to find to find libraries even + though this behavour is not standard. Setting this option causes + the uclibc dynamic linker behavour to match the glibc dynamic linker. + config LDSO_SAFE_RUNPATH bool "Allow only RUNPATH beginning with /" depends on LDSO_RUNPATH -- cgit v1.2.3