yann@1: See http://gcc.gnu.org/PR11902 yann@1: yann@1: Part of fix for abort on line yann@1: assert (info[DT_RPATH] == NULL); yann@1: in glibc-2.3.2's ld.so, which makes all dynamically-linked yann@1: programs crash. yann@1: yann@1: Message-Id: <200308020452.h724q0n01509@r-rr.iij4u.or.jp> yann@1: To: dank@kegel.com yann@1: Cc: kkojima@rr.iij4u.or.jp yann@1: Subject: Re: Writing PIC version of __udivsi3_i4? yann@1: In-Reply-To: Your message of "Fri, 01 Aug 2003 21:15:27 -0700" yann@1: <3F2B3ADF.6030206@kegel.com> yann@1: References: <3F2B3ADF.6030206@kegel.com> yann@1: Date: Sat, 02 Aug 2003 13:58:05 +0900 yann@1: From: kaz Kojima yann@1: yann@1: Dan Kegel wrote: yann@1: > It seems it might be from gcc's spec file: yann@1: > yann@1: > *subtarget_link_spec: yann@1: > %{shared:-shared} %{!static: %{rdynamic:-export-dynamic} %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2} %{!rpath:-rpath /lib}} %{static:-static} yann@1: > yann@1: > as the only place -rpath showed up was in the output of gcc -v as it yann@1: > was linking libc.so. yann@1: > yann@1: > Well, that's a clue, anyway! Guess I'll dig through the spec files yann@1: > tomorrow to see if I can figure it out some more. yann@1: yann@1: I've grepped gcc/config/*/*.h and found only SH and old libc1 stuffs yann@1: of i386/alpha include %{!rpath:-rpath ... in 3.3 release and the yann@1: current CVS. And my sh-gcc's specs doesn't have this :-( yann@1: It would be the Right Thing to remove this stuff simply. How about yann@1: the gcc patch below? yann@1: yann@1: Regards, yann@1: kaz yann@1: -- yann@1: --- gcc-3.3/gcc/config/sh/linux.h.orig Sat Aug 2 13:20:57 2003 yann@1: +++ gcc-3.3/gcc/config/sh/linux.h Sat Aug 2 13:22:42 2003 yann@1: @@ -48,8 +48,7 @@ do { \ yann@1: "%{shared:-shared} \ yann@1: %{!static: \ yann@1: %{rdynamic:-export-dynamic} \ yann@1: - %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2} \ yann@1: - %{!rpath:-rpath /lib}} \ yann@1: + %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2}} \ yann@1: %{static:-static}" yann@1: yann@1: /* The GNU C++ standard library requires that these macros be defined. */ yann@1: yann@1: