summaryrefslogtreecommitdiff
path: root/extra
diff options
context:
space:
mode:
authorEric Andersen <andersen@codepoet.org>2002-11-20 10:41:04 +0000
committerEric Andersen <andersen@codepoet.org>2002-11-20 10:41:04 +0000
commitd35b5008f79e6a2f2142c0c3b87f9780779e1d86 (patch)
tree083deab5f61e38a6f78dc87cbbc8d438c801d10c /extra
parent7a7b103e9c6f4d7329383afec796e99d4a05ddf2 (diff)
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
Diffstat (limited to 'extra')
-rw-r--r--extra/Configs/Config.in15
-rw-r--r--extra/Configs/Config.sh4
2 files changed, 19 insertions, 0 deletions
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