Stefan Teleman wrote: > > > Rainer Orth wrote: >> John Fischer <johnf at sac.sfbay.sun.com> writes: >> >>> 4. Technical Description >>> Including the GNU Binary Utilities [ GNU binutils ] 2.17 with Solaris >> >> Why include binutils 2.17 when 2.18 is already released? > > Because binutils 2.18's gas generates a bogus .eh_frame section in crtend.o > (incomplete CIE + FDE subsequent frames with invalid offsets), and also > generates invalid instructions, and this results in non-functional bits > on Solaris. binutils 2.17 does not exhibit this problem. > > This problem has already been widely reported. I am not relying on > reports, I am relying on binutils 2.18's bits. > > This is binutils built with the existing gcc 3.2.3, and not with Studio. > > This problem has already been widely reported. > > >>> This FastTrack proposes the Integration of a more recent version >>> of GNU binutils, which is compatible with Versions 4.3.x of the >>> GNU Compiler Collection [ GCC ]. [2] >> >> This is not true: all recent versions up to and including GCC mainline >> (to >> become 4.4) happily build and run with binutils 2.15 (gas 2.15, to be >> exact). >> I regularly test that (at least on x86, on SPARC I generally prefer >> Sun as). > > Please see my comment above. > > In addition, there were Solaris specific patches for binutils 2.15 which > have been accepted into 2.17. Therefore, no more patch maintenance for > 2.17. > >> >>> 2. Technical issues >>> >>> 2.1. Key objects >>> >>> /usr/gnu/gcc4/bin/addr2line >>> /usr/gnu/gcc4/bin/c++filt >>> /usr/gnu/gcc4/bin/gas >>> /usr/gnu/gcc4/bin/gld >>> /usr/gnu/gcc4/bin/gnm >>> /usr/gnu/gcc4/bin/gobjcopy >>> /usr/gnu/gcc4/bin/gobjdump >>> /usr/gnu/gcc4/bin/gprof >>> /usr/gnu/gcc4/bin/greadelf >>> /usr/gnu/gcc4/bin/gsize >>> /usr/gnu/gcc4/bin/gstrings >>> /usr/gnu/gcc4/bin/gstrip >> >> I've always found it easily possible to drop in a more recent version of >> gas with an existing gcc. > > Again, please see my comment above about binutils 2.18.
Your justification supports using binutils 2.17 over 2.18 because of a 2.18 but but it doesn't follow that you create this gcc4 subdir, because your rationale has nothing to do with gcc4 but to do with a bug in binutils 2.18. If the idea is to support multiple copies of binutils then IMO the dir structure should be more like /usr/gnu/binutils/2.17/bin/. However I still don't see the point in that, since 2.18 isn't incompatible it is just plain broken on Solaris. -- Darren J Moffat