From 7eb68fa07eacefbf1319fea2117dfc17d57aab5e Mon Sep 17 00:00:00 2001 From: "Peter S. Mazinger" Date: Fri, 28 Oct 2005 13:52:36 +0000 Subject: 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 --- Makefile.in | 30 ++++-------------------------- Makerules | 14 +++----------- extra/Configs/Config.in | 1 - 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: Most people will answer N. -- cgit v1.2.3