Link init with '-static' instead of '-all-static'.
authorRichard W.M. Jones <rjones@redhat.com>
Mon, 14 Mar 2011 10:45:41 +0000 (10:45 +0000)
committerRichard W.M. Jones <rjones@redhat.com>
Mon, 14 Mar 2011 10:48:26 +0000 (10:48 +0000)
Latest gcc (4.6.0) does not recognize the -all-static
option; see http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46410

Using -static still results in a static init binary:
$ file helper/init
helper/init: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), statically linked, for GNU/Linux 2.6.32, stripped
$ ldd helper/init
           not a dynamic executable
(cherry picked from commit 42a6e60307b8116dd888e9dae4960f12d895f73f)

helper/Makefile.am

index c747269..01a6af1 100644 (file)
@@ -40,7 +40,7 @@ febootstrap_supermin_helper_LDADD = \
 noinst_PROGRAMS = init
 init_SOURCES = init.c
 init_CFLAGS = -static
-init_LDFLAGS = -all-static
+init_LDFLAGS = -static
 
 # http://www.doof.me.uk/2010/05/07/cute-objcopy-hack/
 ELF_DEFAULT_ARCH = $(shell $(srcdir)/elf-default-arch | gawk '{ print $$1 }')