From d35b5008f79e6a2f2142c0c3b87f9780779e1d86 Mon Sep 17 00:00:00 2001 From: Eric Andersen Date: Wed, 20 Nov 2002 10:41:04 +0000 Subject: Patch from Stefan Allius: - Invert all FORCE_SHAREABLE_TEXT_SEGMENTS checks. - Define FORCE_SHAREABLE_TEXT_SEGMENTS in the Makefile, so it can be configured by the config system. - linuxelf.h inspects that we don't combine FORCE_SHAREABLE_TEXT_SEGMENTS and SVR4_BUGCOMPAT - Add a new config option for FORCE_SHAREABLE_TEXT_SEGMENTS --- extra/Configs/Config.in | 15 +++++++++++++++ extra/Configs/Config.sh | 4 ++++ 2 files changed, 19 insertions(+) (limited to 'extra/Configs') diff --git a/extra/Configs/Config.in b/extra/Configs/Config.in index 99f60dfff..3b5fcf1f5 100644 --- a/extra/Configs/Config.in +++ b/extra/Configs/Config.in @@ -34,6 +34,21 @@ config BUILD_UCLIBC_LDSO be built for your target architecture. If this option is available, to you, then you almost certainly want to answer Y. +config FORCE_SHAREABLE_TEXT_SEGMENTS + bool "Only load shared libraries which can share their text segment" + depends on BUILD_UCLIBC_LDSO && UCLIBC_COMPLETELY_PIC + default n + help + If you answer Y here, the uClibc native shared library loader will + only load shared libraries, which do not need to modify any non-writable + segments. These libraries haven't set the DT_TEXTREL tag in the dynamic + section (==> objdump). So all your libraries must be compiled with + -fPIC or -fpic, and all assembler function must be written as position + independend code (PIC). + Enabling this option will makes uClibc's shared library loader a + little bit smaller and guarantee that no memory will be wasted by badly + coded shared libraries. + config LDSO_LDD_SUPPORT bool "Native shared library loader 'ldd' support" depends on BUILD_UCLIBC_LDSO diff --git a/extra/Configs/Config.sh b/extra/Configs/Config.sh index 4bc77625b..45aed28f5 100644 --- a/extra/Configs/Config.sh +++ b/extra/Configs/Config.sh @@ -24,6 +24,10 @@ config HAVE_DOT_HIDDEN bool default y +config UCLIBC_COMPLETELY_PIC + bool + default y + choice prompt "Target Processor Type" default CONFIG_SH4 -- cgit v1.2.3