Are you saying this change will "remove" shared objects in the open64
binaries, such as wopt.so?
Sun

On Wed, Aug 3, 2011 at 4:43 AM, David Coakley <dcoak...@gmail.com> wrote:
> Mike, thanks for the review.
>
> I have attached a minor revision of the patch with two changes to
> reduce the number of #ifdef's.
>
> 1) I found that the error descriptor was not needed in cgdriver.cxx
> and lnodriver.cxx since it is already set up by be/driver.cxx.
> Deleting it also removes the need for the ifdef's in the non-shared
> build.
> 2) I changed the Makefiles and driver programs so that the init.cxx
> files are included in the same way for shared and non-shared builds,
> via #include instead of being linked in.  The related ifdef's are no
> longer needed.
>
> Christopher, I am not sure what problem you might be thinking of on
> Solaris.  We are not using '-static' to link the executables in the
> non-shared build -- we just build the Open64 components as archive
> libraries instead of shared objects.
>
> Regarding the long-term direction, I don't understand what the shared
> objects in Open64 are doing for us.  They introduce a lot of
> complexity in the code and the Makefiles, so we should have good
> reason to maintain them.
>
> If there are no objections, I will commit this change and follow up
> with a proposed patch to remove the BUILD_SKIP_PROMPF and
> BUILD_SKIP_PURPLE macros and the code they enclose.
>
> -David Coakley / AMD Open Source Compiler Engineering
>
> On Fri, Jul 29, 2011 at 3:06 PM, Mike Murphy <mmur...@nvidia.com> wrote:
>> The changes look fine to me.  There is the separate issue that Sun raises of 
>> whether to move toward non-shared builds.  I think there are some platforms 
>> where it simplifies things if we can build non-shared, so I think it is 
>> worth having as an option.
>>
>> -----Original Message-----
>> From: David Coakley [mailto:dcoak...@gmail.com]
>> Sent: Thursday, July 28, 2011 4:34 PM
>> To: open64-devel
>> Cc: Mike Murphy
>> Subject: Code review request for changes to support non-shared build [BUILD]
>>
>> The attached patch adds support for an experimental '--disable-shared'
>> configuration option.
>>
>> This option is useful for avoiding the portability problems introduced
>> by the way Open64 uses shared objects.  For example, the use of static
>> initializers to bind pointers to functions (the "weak symbol
>> workaround") in the loading process does not work in Cygwin/Windows
>> environments.
>>
>> In the non-shared build, the executables be, inline, whirl2c, and
>> whirl2f are standalone and do not load any shared objects other than
>> the standard system libraries.
>>
>> Long term, I think building the compiler executables without shared
>> objects might be the way to go for all platforms.  The resulting
>> executables are easier to debug and the driver is simplified -- no
>> LD_LIBRARY_PATH.  And lots of ugly "weak symbol workaround" code could
>> be deleted.  But first ipa_link will need some changes in order to
>> work for the non-shared configuration; in this patch, the
>> --disable-shared option implies --disable-ipa.
>>
>> Mike, your review would be appreciated since NVIDIA seems to have
>> encountered these same issues when porting some Open64 components to
>> Windows.  The details of the changes are in the attached msg.txt file.
>>  Thanks,
>>
>> -David Coakley / AMD Open Source Compiler Engineering
>> -----------------------------------------------------------------------------------
>> This email message is for the sole use of the intended recipient(s) and may 
>> contain
>> confidential information.  Any unauthorized review, use, disclosure or 
>> distribution
>> is prohibited.  If you are not the intended recipient, please contact the 
>> sender by
>> reply email and destroy all copies of the original message.
>> -----------------------------------------------------------------------------------
>>
>
> ------------------------------------------------------------------------------
> BlackBerry&reg; DevCon Americas, Oct. 18-20, San Francisco, CA
> The must-attend event for mobile developers. Connect with experts.
> Get tools for creating Super Apps. See the latest technologies.
> Sessions, hands-on labs, demos & much more. Register early & save!
> http://p.sf.net/sfu/rim-blackberry-1
> _______________________________________________
> Open64-devel mailing list
> Open64-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/open64-devel
>
>

------------------------------------------------------------------------------
BlackBerry&reg; DevCon Americas, Oct. 18-20, San Francisco, CA
The must-attend event for mobile developers. Connect with experts. 
Get tools for creating Super Apps. See the latest technologies.
Sessions, hands-on labs, demos & much more. Register early & save!
http://p.sf.net/sfu/rim-blackberry-1
_______________________________________________
Open64-devel mailing list
Open64-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/open64-devel

Reply via email to