Browse Source

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

Peter S. Mazinger 18 years ago
parent
commit
7eb68fa07e
3 changed files with 7 additions and 38 deletions
  1. 4 26
      Makefile.in
  2. 3 11
      Makerules
  3. 0 1
      extra/Configs/Config.in

+ 4 - 26
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

+ 3 - 11
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
 

+ 0 - 1
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.