patches/gcc/3.3.1/sh-spec.patch
changeset 1 eeea35fbf182
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/patches/gcc/3.3.1/sh-spec.patch	Sat Feb 24 11:00:05 2007 +0000
     1.3 @@ -0,0 +1,52 @@
     1.4 +See http://gcc.gnu.org/PR11902
     1.5 +
     1.6 +Part of fix for abort on line
     1.7 +  assert (info[DT_RPATH] == NULL);
     1.8 +in glibc-2.3.2's ld.so, which makes all dynamically-linked
     1.9 +programs crash.
    1.10 +
    1.11 +Message-Id: <200308020452.h724q0n01509@r-rr.iij4u.or.jp>
    1.12 +To: dank@kegel.com
    1.13 +Cc: kkojima@rr.iij4u.or.jp
    1.14 +Subject: Re: Writing PIC version of __udivsi3_i4?
    1.15 +In-Reply-To: Your message of "Fri, 01 Aug 2003 21:15:27 -0700"
    1.16 +	<3F2B3ADF.6030206@kegel.com>
    1.17 +References: <3F2B3ADF.6030206@kegel.com>
    1.18 +Date: Sat, 02 Aug 2003 13:58:05 +0900
    1.19 +From: kaz Kojima <kkojima@rr.iij4u.or.jp>
    1.20 +
    1.21 +Dan Kegel <dank@kegel.com> wrote:
    1.22 +> It seems it might be from gcc's spec file:
    1.23 +> 
    1.24 +> *subtarget_link_spec:
    1.25 +> %{shared:-shared}    %{!static:      %{rdynamic:-export-dynamic}      %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2}      %{!rpath:-rpath /lib}}    %{static:-static}
    1.26 +> 
    1.27 +> as the only place -rpath showed up was in the output of gcc -v as it
    1.28 +> was linking libc.so.
    1.29 +> 
    1.30 +> Well, that's a clue, anyway!  Guess I'll dig through the spec files
    1.31 +> tomorrow to see if I can figure it out some more.
    1.32 +
    1.33 +I've grepped gcc/config/*/*.h and found only SH and old libc1 stuffs
    1.34 +of i386/alpha include %{!rpath:-rpath ... in 3.3 release and the
    1.35 +current CVS. And my sh-gcc's specs doesn't have this :-(
    1.36 +It would be the Right Thing to remove this stuff simply. How about
    1.37 +the gcc patch below?
    1.38 +
    1.39 +Regards,
    1.40 +	kaz
    1.41 +--
    1.42 +--- gcc-3.3/gcc/config/sh/linux.h.orig	Sat Aug  2 13:20:57 2003
    1.43 ++++ gcc-3.3/gcc/config/sh/linux.h	Sat Aug  2 13:22:42 2003
    1.44 +@@ -48,8 +48,7 @@ do { \
    1.45 +   "%{shared:-shared} \
    1.46 +    %{!static: \
    1.47 +      %{rdynamic:-export-dynamic} \
    1.48 +-     %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2} \
    1.49 +-     %{!rpath:-rpath /lib}} \
    1.50 ++     %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2}} \
    1.51 +    %{static:-static}"
    1.52 + 
    1.53 + /* The GNU C++ standard library requires that these macros be defined.  */
    1.54 +
    1.55 +