Revised spec with requested changes attached.

Thanks,
George

George Vasick wrote:
> Rainer Orth wrote:
>> George Vasick <George.Vasick at Sun.COM> writes:
>>
>>> Attached, please find the revision 3 of the GCC proposal addressing the
>>> following feedback:
>>
>> Thanks, looks much better overall.
>>
>>> 1)  GCC should install in /usr/bin/gcc/<major.minor>.
>>
>> Darren already commented on this: I think this is meant to be
>> /usr/gcc/<major.minor> instead, although the spec uses both forms.
>> Please clarify.
> 
> Sorry, that was a typo.  The correct location in all cases is
> /usr/gcc/<major.minor>
> 
>>
>>> 2)  Committed interfaces stability is too high and should be lowered to
>>> uncommitted.
>>
>> Seems right for the moment (perhaps with the exception of libssp), but
>> as I mentioned this is an area where more work needs to be invested into
>> GCC in the future: e.g. libstdc++ uses version maps to only expose
>> public symbols, but that requires GNU ld features at the moment.  I'll
>> check with the Sun linker guys what do do about this.
>>
>>> 3)  Gccfss components should be broken out into a separate package.
>>>
>>> 4)  libgomp.spec should be moved to version specific location.
>>
>> Good.
>>
>>> Issues not addressed directly in the updated proposal:
>>>
>>> Issue 1:
>>> One additional issue occurred to me in the meantime: does it really make
>>> sense to deliver every version of the runtime libs in its own package,
>>> rather than having separate packages for (say) all libstdc++ runtime 
>>> libs
>>> together?
>>>
>>> Response:
>>> Runtime library packages are versioned only by their major number. There
>>> will not be multiple packages for various minor and micro versions of 
>>> the
>>> libraries.  For example, GCC 4.3.3 includes libstdc++.so.6.0.10 while 
>>> GCC
>>> 4.4. includes libstdc++.so.6.0.13.  The current version of 
>>> SUNWgcclibstdc6
>>> will contain libstdc++.so.6.0.10.  When we release GCC 4.4, the
>>> SUNWgcclibstdc6 will be updated to contain libstdc++.so.6.0.13. At any
>>> point, SUNWgcclibstdc6 will only include the latest version of
>>> libstdc++.so.6.x.y.
>>
>> I never assumed otherwise.  Even so, it may be an option to have only a
>> single package delivering libstdc++.so.6 and (say) libstdc++.so.7
>> instead of splitting, just like the Studio compilers deliver all major
>> versions of libF77.so in SPROl77sx.  I don't really think users know
>> (and care) about specific shared library to be installed separately.
> 
> OK, now I get what you mean.
> 
> I proposed suffixing the library package names with their major versions
> to better manage both new libraries coming in and old libraries going
> away.  Maintaining a single package for all major versions of a library
> would potentially force users to install multiple version of a library
> even if they are sticking to a single version of GCC.
> 
> I don't have a strong opinion on this and will make the change.
> 
>>
>>> Issue 2:
>>> It's obvious you're including gccfss, but what are the consequences?  Do
>>> you replace the GCC SPARC backend by the Sun backend here?  This may 
>>> not be
>>> appropriate, since this heavily deviates from the upstream FSF GCC, 
>>> and may
>>> cause problems.  Have you run the GCC testsuite this way and compared 
>>> the
>>> results to those with the GCC backend?  I think it should be possible 
>>> for
>>> the user to select between gccfss and the regular GCC backend here.
>>>
>>> Response:
>>> We provide both the GCC backend and the Sun backend.  We include the GCC
>>> testsuite in our testing of the Sun backend.  The user is able to invoke
>>> the GCC backend under flag control.
>>
>> How does this work (i.e. which flags are used), and what is the default?
> 
> The default is the Sun backend and the flag to override is -frtl-backend.
> 
>>
>>> Issue 3:
>>> I hope you use Sun ld everywhere!
>>>
>>> Response:
>>> Yes.
>>>
>>>
>>> Are there any other questions or concerns that I missed?
>>
>> I don't remember any.
>>
>>> 1. Introduction
>>>    1.1. Project/Component Working Name:
>>>     GCC4: The GNU Compiler Collection 4.X
>>
>> Perhaps this should be changed to GCC 4.3?  I expect there will be
>> similar cases for GCC 4.4 in the future, so it's better to distinguish
>> them, especially if future cases add additional languages, like Ada and
>> Java.
> 
> Updated in the spec.
> 
>>
>>> 2. Project Summary
>>>    2.1. Project Description:
>>>     Provide GCC 4.X and allow for the coexistence of multiple
>>>     versions of GCC installed simultaneously.
>>>
>>>     GCC 3.4.3, the current build compiler for OpenSolaris and
>>>     Nevada, will remain unchanged in /usr/sfw.
>>>
>>> 4. Technical Description:
>>>     4.1. Details:
>>>     Versions of GCC will be installed in /usr/gcc/<major.minor>, in
>>>     this case /usr/bin/gcc/4.3/[bin, lib, include,info, man,
>>>     share].  The runtime libraries will be installed /usr/lib with
>>>     major, minor, and micro suffixes as appropriate along with a
>>>     link for the major version, e.g libstdc++.so.6.0.10 and
>>>     libstdc++.so.6 -> libstdc++.so.6.0.10.  See section 4.5
>>>     Interfaces below for additional details.
>>
>> From the file list, it seems like you will be integrating GCC 4.3.3?
>> Why not go straight to the latest 4.3 release, 4.3.4?
> 
> Just lead time at this point.  Since this packaging corrects issues with
> the 432 release, I want to get it out sooner instead of later.
> 
>>
>>>     4.5. Interfaces:
>>>
>>>     Exported Interfaces            Comments
>>>     ===================                     ========
>>>     SUNWgcc4                Latest GCC installed.
>>>                         All interfaces Uncommitted.
>>>     usr/bin/c++                symlink to latest c++
>>>     usr/bin/cpp                symlink to latest cpp
>>>     usr/bin/g++                symlink to latest g++
>>>     usr/bin/gcc                symlink to latest gcc
>>>     usr/bin/gccbug                symlink to latest gccbug
>>
>> The email submission of GCC bugs hasn't worked for a long time and the
>> GCC project doesn't seem inclined to fix this any time soon, so it would
>> be better to not link gccbug into /usr/bin at the moment.
> 
> Also updated in the spec.
> 
>>
>>>     Exported Interfaces            Comments
>>>     ===================                     ========
>>>     SUNWgcc43                GCC 4.3.X package.
>>>                         All interfaces Uncommitted.
>>>     
>>> usr/gcc/4.3/lib/<mach64>/libobjc_gc.so=../../../../lib/<mach64>/libobjc_gc.so.2
>>>  
>>>
>>
>> You seem to be configuring GCC with --enable-objc-gc, which is not the
>> default?  Why?
> 
> Correct.  It is optional under flag control to the gcc command.  Is
> there a reason we should not provide this feature to our users?
> 
> 
> Thanks,
> George
> 
>>
>>     Rainer
>>
> 
> 
> 
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: gcc43_rev4.txt
URL: 
<http://mail.opensolaris.org/pipermail/opensolaris-arc/attachments/20091124/17b9d432/attachment-0001.txt>

Reply via email to