summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter S. Mazinger <ps.m@gmx.net>2005-10-28 13:52:36 +0000
committerPeter S. Mazinger <ps.m@gmx.net>2005-10-28 13:52:36 +0000
commit7eb68fa07eacefbf1319fea2117dfc17d57aab5e (patch)
tree0b6806bca39496d7347ee12e420ec1aa2f7d31b0
parent7e4a84fbea5c0049056b3e5f80221675b7737b5b (diff)
Remove binutils-2.16.1 dependency for SSP, now it works with any binutils, but all apps linked against libc.so will get DT_NEEDED for ld.so too
-rw-r--r--Makefile.in30
-rw-r--r--Makerules14
-rw-r--r--extra/Configs/Config.in1
3 files changed, 7 insertions, 38 deletions
diff --git a/Makefile.in b/Makefile.in
index d70d1ebbb..e808868c5 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -240,33 +240,11 @@ ifeq ($(HAVE_SHARED),y)
done
if [ -f $(top_builddir)lib/libc.so -a -f $(PREFIX)$(RUNTIME_PREFIX)lib/$(SHARED_MAJORNAME) ] ; then \
$(RM) $(PREFIX)$(DEVEL_PREFIX)lib/libc.so; \
- sed -e '/^GROUP/d' $(top_builddir)lib/libc.so > $(PREFIX)$(DEVEL_PREFIX)lib/libc.so; \
+ sed -e 's:$(NONSHARED_LIBNAME):$(DEVEL_PREFIX)lib/$(NONSHARED_LIBNAME):' \
+ -e 's:$(SHARED_MAJORNAME):$(RUNTIME_PREFIX)lib/$(SHARED_MAJORNAME):' \
+ -e 's:$(UCLIBC_LDSO):$(RUNTIME_PREFIX)lib/$(UCLIBC_LDSO):' \
+ $(top_builddir)lib/libc.so > $(PREFIX)$(DEVEL_PREFIX)lib/libc.so; \
fi
-ifeq ($(UCLIBC_HAS_SSP),y)
-ifeq ($(COMPAT_ATEXIT),y)
- if [ -f $(top_builddir)lib/libc.so -a -f $(PREFIX)$(RUNTIME_PREFIX)lib/$(SHARED_MAJORNAME) ] ; then \
- echo "GROUP ( $(DEVEL_PREFIX)lib/$(NONSHARED_LIBNAME) $(RUNTIME_PREFIX)lib/$(SHARED_MAJORNAME) AS_NEEDED ( $(RUNTIME_PREFIX)lib/$(UCLIBC_LDSO) ) )" \
- >> $(PREFIX)$(DEVEL_PREFIX)lib/libc.so; \
- fi
-else
- if [ -f $(top_builddir)lib/libc.so -a -f $(PREFIX)$(RUNTIME_PREFIX)lib/$(SHARED_MAJORNAME) ] ; then \
- echo "GROUP ( $(RUNTIME_PREFIX)lib/$(SHARED_MAJORNAME) $(DEVEL_PREFIX)lib/$(NONSHARED_LIBNAME) AS_NEEDED ( $(RUNTIME_PREFIX)lib/$(UCLIBC_LDSO) ) )" \
- >> $(PREFIX)$(DEVEL_PREFIX)lib/libc.so; \
- fi
-endif
-else
-ifeq ($(COMPAT_ATEXIT),y)
- if [ -f $(top_builddir)lib/libc.so -a -f $(PREFIX)$(RUNTIME_PREFIX)lib/$(SHARED_MAJORNAME) ] ; then \
- echo "GROUP ( $(DEVEL_PREFIX)lib/$(NONSHARED_LIBNAME) $(RUNTIME_PREFIX)lib/$(SHARED_MAJORNAME) )" \
- >> $(PREFIX)$(DEVEL_PREFIX)lib/libc.so; \
- fi
-else
- if [ -f $(top_builddir)lib/libc.so -a -f $(PREFIX)$(RUNTIME_PREFIX)lib/$(SHARED_MAJORNAME) ] ; then \
- echo "GROUP ( $(RUNTIME_PREFIX)lib/$(SHARED_MAJORNAME) $(DEVEL_PREFIX)lib/$(NONSHARED_LIBNAME) )" \
- >> $(PREFIX)$(DEVEL_PREFIX)lib/libc.so; \
- fi
-endif
-endif
ifeq ($(PTHREADS_DEBUG_SUPPORT),y)
$(LN) -sf $(RUNTIME_PREFIX_LIB_FROM_DEVEL_PREFIX_LIB)libthread_db.so.1 \
$(PREFIX)$(DEVEL_PREFIX)lib/libthread_db.so
diff --git a/Makerules b/Makerules
index 6ab90394d..5d95af9ce 100644
--- a/Makerules
+++ b/Makerules
@@ -114,7 +114,7 @@ libc=$(top_builddir)lib/libc.so
interp=$(top_builddir)libc/misc/internals/interp.os
ifeq ($(strip $(EXTRA_LINK_LIBS)),)
#EXTRA_LINK_LIBS:=$(interp) -L$(top_builddir)lib -lc $(LDADD_LIBFLOAT) $(LIBGCC)
-EXTRA_LINK_LIBS:=$(interp) $(libc) $(LDADD_LIBFLOAT) $(LIBGCC)
+EXTRA_LINK_LIBS:=$(interp) -L$(top_builddir)lib $(libc) $(LDADD_LIBFLOAT) $(LIBGCC)
endif
ifneq ($(strip $(LIB_NAME)),libc)
@@ -141,18 +141,10 @@ else
echo "/* GNU ld script" > $@
echo " * Use the shared library, but some functions are only in" >> $@
echo " * the static library, so try that secondarily. */" >> $@
-ifeq ($(UCLIBC_HAS_SSP),y)
ifeq ($(COMPAT_ATEXIT),y)
- echo "GROUP ( $(top_builddir)lib/$(NONSHARED_LIBNAME) $(top_builddir)lib/$(SHARED_MAJORNAME) AS_NEEDED ( $(top_builddir)lib/$(UCLIBC_LDSO) ) )" >> $@
+ echo "GROUP ( $(NONSHARED_LIBNAME) $(SHARED_MAJORNAME) $(ASNEEDED) )" >> $@
else
- echo "GROUP ( $(top_builddir)lib/$(SHARED_MAJORNAME) $(top_builddir)lib/$(NONSHARED_LIBNAME) AS_NEEDED ( $(top_builddir)lib/$(UCLIBC_LDSO) ) )" >> $@
-endif
-else
-ifeq ($(COMPAT_ATEXIT),y)
- echo "GROUP ( $(top_builddir)lib/$(NONSHARED_LIBNAME) $(top_builddir)lib/$(SHARED_MAJORNAME) )" >> $@
-else
- echo "GROUP ( $(top_builddir)lib/$(SHARED_MAJORNAME) $(top_builddir)lib/$(NONSHARED_LIBNAME) )" >> $@
-endif
+ echo "GROUP ( $(SHARED_MAJORNAME) $(NONSHARED_LIBNAME) $(ASNEEDED) )" >> $@
endif
endif
diff --git a/extra/Configs/Config.in b/extra/Configs/Config.in
index e1ab012b2..c79befdcf 100644
--- a/extra/Configs/Config.in
+++ b/extra/Configs/Config.in
@@ -1149,7 +1149,6 @@ config UCLIBC_HAS_SSP
__stack_smash_handler, respectively __stack_chk_guard and
__stack_chk_fail functions removed from libgcc.
These functions are added to libc instead.
- Only binutils 2.16.1 and newer are supported.
More information at:
<http://www.research.ibm.com/trl/projects/security/ssp/>
Most people will answer N.