First Last Prev Next    No search results available      Search page      Enter new bug
Bug#: 11902
Product:  
Component:  
Status: RESOLVED
Resolution: FIXED
Assigned To: Kazumoto Kojima <kkojima@gcc.gnu.org>
Host:
Reported against  
Priority:  
Severity:  
Target Milestone:  
 
 
Target:
Reporter: dank@kegel.com
Add CC:
CC:
Remove selected CCs
Build:
URL:
Summary:
Keywords:
Known to work:
Known to fail:

Attachment Description Type Created Size Actions
Create a New Attachment (proposed patch, testcase, etc.) View All

Bug 11902 depends on: Show dependency tree
Show dependency graph
Bug 11902 blocks:

Additional Comments:






View Bug Activity   |   Format For Printing   |   Clone This Bug


Description:   Last confirmed: 2003-08-13 03:45 Opened: 2003-08-13 03:42
As is, if you compile libc.so with gcc-3.3.1 on sh4, it will
be marked with DT_RPATH even though it doesn't need it,
which causes ld.so to crash silently when loading libc.so.
This is catastrophic, since all dynamically loaded programs crash.
The crash is caused by the line
  assert (info[DT_RPATH] == NULL);
which occurs too early for an error message to be printed.

This is caused by the line

!rpath:-rpath /lib

in the spec file.  A patch written by Kaz to fix this is at
http://www.kegel.com/crosstool/current/gcc-3.3-patches/sh-spec.patch
I have tried it, and it seems to solve the problem for me.
Please include this patch in gcc-3.3.2.

------- Comment #1 From Andrew Pinski 2003-08-13 03:45 -------
Same as before:
        * config/sh/linux.h (SUBTARGET_LINK_SPEC): Don't set rpath.
        (LIB_SPEC): Set -lpthread always when -pthread set.  Set -lieee
        when -mieee-fp set and -shared not set.   
        (SH_FALLBACK_FRAME_FLOAT_STATE): Don't define for SH5.

------- Comment #2 From kkojima@rr.iij4u.or.jp 2003-08-13 04:11 -------
Subject: Re:  [3.3 only] spec file improperly inserts rpath
 even when none needed

> Same as before:
>         * config/sh/linux.h (SUBTARGET_LINK_SPEC): Don't set rpath.
>         (LIB_SPEC): Set -lpthread always when -pthread set.  Set -lieee
>         when -mieee-fp set and -shared not set.   
>         (SH_FALLBACK_FRAME_FLOAT_STATE): Don't define for SH5.

The corresponding patch was checked in already to 3.3.2
under the approval with Mark Mitchell:
2003-08-08  Kaz Kojima  <kkojima@gcc.gnu.org>

        * config/sh/linux.h (SUBTARGET_LINK_SPEC): Don't set rpath.
        (LIB_SPEC): Set -lpthread always when -pthread set.  Set -lieee
        when -mieee-fp set and -shared not set.

------- Comment #3 From Andrew Pinski 2003-08-13 04:16 -------
Closing as fixed.  I should have looked before confirming bugs (it is too late
for me need sleep).

------- Comment #4 From dank@kegel.com 2003-08-13 04:17 -------
Oh, man, I am so embarassed... thanks, guys!

First Last Prev Next    No search results available      Search page      Enter new bug