Gentoo Archives: gentoo-dev

From: Mike Frysinger <vapier@g.o>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] Re: GCC upgrades, FUD and gentoo documentation
Date: Wed, 12 Oct 2011 19:45:27
Message-Id: 201110121544.38099.vapier@gentoo.org
In Reply to: Re: [gentoo-dev] Re: GCC upgrades, FUD and gentoo documentation by Matt Turner
1 On Wednesday 12 October 2011 15:38:47 Matt Turner wrote:
2 > On Wed, Oct 12, 2011 at 3:13 PM, Mike Frysinger wrote:
3 > > On Saturday 08 October 2011 11:07:49 Diego Elio Pettenò wrote:
4 > >> Il giorno sab, 08/10/2011 alle 11.33 +0000, Sven Vermeulen ha scritto:
5 > >> > - The fix_libtool_files.sh command is now part of the toolchain
6 > >> > eclass, so
7 > >> >
8 > >> > doesn't need to be ran by users anymore
9 > >>
10 > >> Moreover, that should only be needed for very old installs: libstdc++.la
11 > >> that caused the trouble in the first place hasn't been around for over
12 > >> an year (maybe two? I lost count), and the auto-fix of .la files in
13 > >> recent Portage versions make it even less necessary.
14 > >
15 > > well, that's not entirely accurate. like libtool, now that we've dropped
16 > > libstdc++.la, the majority of issues have "gone away". but we still
17 > > install .la files for the other (much more infrequently used) internal
18 > > gcc libraries.
19 > >
20 > > although this might be something we want to address in gcc. i was fine
21 > > with dropping the libstdc++.la even though it listed things in
22 > > dependency_libs because the only correct way (imo) to link C++ code is
23 > > with `g++`. using `gcc -lstdc++` is not supported.
24 > >
25 > > i think cases can be made for the other internal gcc libraries:
26 > > - libgomp.la: build/link with -fopenmp, not -lgomp
27 > > - libgfortran*.la: build/link with `gfortran`, not `gcc -lgfortran`
28 > > - libgcj*.la: build/link with `gcj`, not `gcc -lgcj`
29 > > - libobjc.la: use -lobjc to link, but dependency_libs=''
30 > > - libffi.la: use -lffi to link, but dependency_libs=''
31 > > - libmudflap.la: build/link with `gcc -fmudflap`, not `gcc -lmudflap`
32 > > - libgij.la: build/link with `gij`, not `gcc -lgij`
33 > > - libquadmath.la: only used by fortran, and dependency_libs=''
34 >
35 > gcc's Optimize Options page
36 > (http://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html) has an
37 > example of linking C, C++, and FORTRAN code together, where it uses
38 > g++ -lgfortran. Just thought I'd mention it.
39
40 hmm, unusual, but good point. their example breaks when linking statically as
41 fortran (always?) needs -lm, and with newer versions, -lquadmath. not sure
42 how to address that other than leaving libgfortran.la in place :(.
43 -mike

Attachments

File name MIME type
signature.asc application/pgp-signature