A static binary patch

Mark Kettenis kettenis@wins.uva.nl
Tue Aug 24 08:47:00 GMT 1999


   From: Andreas Schwab <schwab@suse.de>
   Date: 24 Aug 1999 17:30:19 +0200

   hjl@lucon.org (H.J. Lu) writes:

   |> > 
   |> >    Date: Mon, 23 Aug 1999 18:36:53 -0700 (PDT)
   |> >    From: hjl@varesearch.com (H.J. Lu)
   |> > 
   |> >    Here is a patch for glibc 2.2. It can be used to minimize the static
   |> >    binary size together with the c_stubs addon. You can use
   |> > 
   |> >    Mon Aug 23 17:22:53 1999  H.J. Lu  <hjl@gnu.org>
   |> > 
   |> > 	   * Makeconfig (FILE): Define.
   |> > 
   |> > 	   * Rules (%.out): Run $(FILE) on the binary before running it
   |> > 	   and don't use the dynamic linker if it is not dynamically
   |> > 	   linked.
   |> > 
   |> > What is the point for these changes?  And what do they have to do with
   |> > reducing the size of static binaries?  Please avoid becoming dependent
   |> > on more external tools.  Using `file' is a violation of the GNU coding
   |> > standards.
   |> > 
   |> 
   |> My c_stubs addon has tests linked statically. When you run "make check"
   |> in c_stubs, it will try to run it with
   |> 
   |> # ........./ld-linux.so.2 the_c_stubs_test .....
   |> 
   |> Since the_c_stubs_test is linked statically, it doesn't work. If you
   |> can find a better way to fix it, I will appreciate it.

   How about extending the ld.so so that if it is called with a static binary
   it just execve()s it?

Or use `ld.so --verify' to find out if it is a dynamic executable or not
instead of using `file'.

Mark


More information about the Libc-hacker mailing list