pkgsrc-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

pkg/46329: graphics/ImageMagick: visibility on Solaris with GCC4 still broken if using native ld

>Number:         46329
>Category:       pkg
>Synopsis:       graphics/ImageMagick: visibility on Solaris with GCC4 still 
>broken if using native ld
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    pkg-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Fri Apr 13 07:35:00 +0000 2012
>Originator:     Jörn Clausen
University of Bielefeld
The assumption that the visibility attribute can be used when using GCC 4 is 
wrong. It still does not work on Solaris (only i86, maybe) when using the 
native linker. This breaks graphics/ImageMagick and some other packages, that 
base their decision to use visibility solely on the type and version of the 

  CCLD   magick/
Text relocation remains                         referenced
    against symbol                  offset      in file
ResetQuantumState                   0x818       
ResetQuantumState                   0xf75b      
ResetQuantumState                   0xc8a1      
SyncImagePixelCache                 0x4435      
SyncImagePixelCache                 0x3645      
SyncImagePixelCache                 0x3c42      
SyncImagePixelCache                 0x4c58      
ld: fatal: relocations remain against allocatable but non-writable sections

This error was generated by using a stand-alone GCC 4.7.0 that uses native 
assembler and linker.

--- magick/method-attribute.h.orig      2012-02-19 18:15:53.000000000 +0000
+++ magick/method-attribute.h
@@ -92,7 +92,7 @@ extern "C" {
 #  pragma warning(disable : 4996)
 # endif
-# if __GNUC__ >= 4
+# if __GNUC__ >= 4 && !defined(__sun__)
 #  define MagickExport __attribute__ ((visibility ("default")))
 #  define MagickPrivate  __attribute__ ((visibility ("hidden")))
 # else

Home | Main Index | Thread Index | Old Index