From: <ai...@us...> - 2008-09-11 18:36:09
|
Revision: 8772 http://plplot.svn.sourceforge.net/plplot/?rev=8772&view=rev Author: airwin Date: 2008-09-11 18:36:19 +0000 (Thu, 11 Sep 2008) Log Message: ----------- Use no visibility attribute for imported symbols for Linux gcc. None of the fundamental references (such as info gcc and http://people.redhat.com/drepper/dsohowto.pdf) mention using the visibility attribute for imported symbols, and it is mentioned only once in passing in one of the examples in http://gcc.gnu.org/wiki/Visibility. In retrospect, I think that was just sloppy usage in the visibility Wiki and we won't propagate that sloppiness to PLplot. Note this commit when combined with the next commit (for bindings/tcl/CMakeLists.txt) still gives the same (mostly good) results for the export CC='gcc -fvisibility=hidden' export CXX='g++ -fvisibility=hidden' export FC='gfortran -fvisibility=hidden' case which supports my idea that the wiki was just sloppy about this issue. Modified Paths: -------------- trunk/include/pldll.h trunk/lib/csa/csadll.h trunk/lib/nn/nndll.h Modified: trunk/include/pldll.h =================================================================== --- trunk/include/pldll.h 2008-09-10 21:08:56 UTC (rev 8771) +++ trunk/include/pldll.h 2008-09-11 18:36:19 UTC (rev 8772) @@ -19,10 +19,10 @@ #define PLDLLIMPORT __declspec(dllimport) #elif defined(__GNUC__) && __GNUC__ > 3 /* Follow ideas in http://gcc.gnu.org/wiki/Visibility for GCC version 4.x - * The following forces symbols specifically designated with either - * PLDLLEXPORT or PLDLLIMPORT to be visible. */ + * The following forces exported symbols specifically designated with + * PLDLLEXPORT to be visible. */ #define PLDLLEXPORT __attribute__ ((visibility("default"))) - #define PLDLLIMPORT __attribute__ ((visibility("default"))) + #define PLDLLIMPORT #endif #ifndef PLDLLEXPORT Modified: trunk/lib/csa/csadll.h =================================================================== --- trunk/lib/csa/csadll.h 2008-09-10 21:08:56 UTC (rev 8771) +++ trunk/lib/csa/csadll.h 2008-09-11 18:36:19 UTC (rev 8772) @@ -19,10 +19,10 @@ #define CSADLLIMPORT __declspec(dllimport) #elif defined(__GNUC__) && __GNUC__ > 3 /* Follow ideas in http://gcc.gnu.org/wiki/Visibility for GCC version 4.x - * * The following forces symbols specifically designated with either - * * CSADLLEXPORT or CSADLLIMPORT to be visible. */ + * The following forces exported symbols specifically designated with + * CSADLLEXPORT to be visible. */ #define CSADLLEXPORT __attribute__ ((visibility("default"))) - #define CSADLLIMPORT __attribute__ ((visibility("default"))) + #define CSADLLIMPORT #endif #ifndef CSADLLEXPORT Modified: trunk/lib/nn/nndll.h =================================================================== --- trunk/lib/nn/nndll.h 2008-09-10 21:08:56 UTC (rev 8771) +++ trunk/lib/nn/nndll.h 2008-09-11 18:36:19 UTC (rev 8772) @@ -19,10 +19,10 @@ #define NNDLLIMPORT __declspec(dllimport) #elif defined(__GNUC__) && __GNUC__ > 3 /* Follow ideas in http://gcc.gnu.org/wiki/Visibility for GCC version 4.x - * * The following forces symbols specifically designated with either - * * NNDLLEXPORT or NNDLLIMPORT to be visible. */ + * The following forces exported symbols specifically designated with + * NNDLLEXPORT to be visible. */ #define NNDLLEXPORT __attribute__ ((visibility("default"))) - #define NNDLLIMPORT __attribute__ ((visibility("default"))) + #define NNDLLIMPORT #endif #ifndef NNDLLEXPORT This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |