First Last Prev Next    No search results available      Search page      Enter new bug
Bug#: 95622
Alias:
Product:
Component:
Status: RESOLVED
Resolution: FIXED
Assigned To: Gentoo Toolchain Maintainers <toolchain@gentoo.org>
Hardware:
OS:
Version:
Priority:
Severity:
Reporter: Diego Pettenò <flameeyes@gentoo.org>
Add CC:
CC:
Remove selected CCs
URL:
Summary:
Status Whiteboard:
Keywords:

Filename Description Type Creator Created Size Actions
gcc-config-multilib.patch Patch to make gcc-config discard all the multilib paths patch Diego Pettenò 2005-06-09 17:39 0000 572 bytes Details | Diff
Create a New Attachment (proposed patch, testcase, etc.) View All

Bug 95622 depends on: Show dependency tree
Show dependency graph
Bug 95622 blocks:
Votes: 0    Show votes for this bug    Vote for this bug

Additional Comments: (this is where you put emerge --info)







View Bug Activity   |   Format For Printing   |   XML   |   Clone This Bug


Description:   Opened: 2005-06-09 17:38 0000
Currently gcc-config has a big bug which prevents it from copy libgcc_s.so
libraries from the compiler's libraries' directory into /lib, making a system
with binaries compiled with mixed version of GCC fail.

The problem is that when it looks to copy the files, it uses the LDPATH
variable found on /etc/env.d/gcc/ configuration file, which, on multilib
systems, it's not a single path but a list of paths splitted by ':' chars (as
usual for lists on unix vars).
The result is that the libgcc_s.so files aren't copied at all and they make the
system break when it's built with mixed version of gcc.

The attached patch makes gcc-config discard every path but the first one,
removing all the rest of the string after the first : char. After this is done,
gcc-config can find libgcc_s.so files and copy them as needed.

Regards, Diego

------- Comment #1 From Diego Pettenò 2005-06-09 17:39:16 0000 -------
Created an attachment (id=60960) [edit]
Patch to make gcc-config discard all the multilib paths

------- Comment #2 From Simon Stelling (RETIRED) 2005-07-09 02:12:53 0000 -------
is this bug already fixed?

------- Comment #3 From Martin Schlemmer (RETIRED) 2005-07-09 03:46:48 0000 -------
I dont know why it should copy it in the first place, as all versions of gcc's
LDPATH should be in /etc/ld.so.conf ...

------- Comment #4 From SpanKY 2005-07-09 17:54:09 0000 -------
it needs to copy it because some systems link binaries against libgcc_s.so.1
which are installed in /

this first came up on arm and happens sometimes on ia64/amd64 ...

------- Comment #5 From Martin Schlemmer (RETIRED) 2005-07-11 02:38:21 0000 -------
Not an issue with --as-needed it seems :/

------- Comment #6 From SpanKY 2005-07-11 15:17:53 0000 -------
--as-needed def improves the situation but it isnt fool proof ... that's why we
should def make sure that libgcc_s.so.1 makes in into /

------- Comment #7 From Martin Schlemmer (RETIRED) 2005-07-13 03:43:07 0000 -------
PITA either way, especially if you migth be using diff versions of gcc that
might have slight abi changes without a major version change on the library.

------- Comment #8 From iryoku 2005-07-30 11:04:56 0000 -------
Please note that gcc-config should not copy libgcc_s.so.1 to /lib but symlink 
it, otherwise prelink will fail miserably, see this thread: 
http://forums.gentoo.org/viewtopic-t-292379-highlight-prelink+gccconfig.html 

------- Comment #9 From Diego Pettenò 2005-07-30 11:10:14 0000 -------
Just symlinking it will break if binaries on /bin are linked against it. 

------- Comment #10 From SpanKY 2005-12-30 03:05:38 0000 -------
fixed in gcc-config-1.3.13, thanks for the patch

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