rpms/thunderbird/FC-5 thunderbird-1.5-visibility.patch,NONE,1.1

fedora-cvs-commits at redhat.com fedora-cvs-commits at redhat.com
Wed Dec 20 22:20:39 UTC 2006


Author: caillon

Update of /cvs/dist/rpms/thunderbird/FC-5
In directory cvs.devel.redhat.com:/tmp/cvs-serv14212

Added Files:
	thunderbird-1.5-visibility.patch 
Log Message:
adding this patch


thunderbird-1.5-visibility.patch:
 config/system-headers            |   12 +++
 configure                        |  127 ++++++++++++++++++++++++++++-----------
 configure.in                     |  111 ++++++++++++++++++++++++----------
 js/src/jstypes.h                 |    2 
 modules/libreg/include/NSReg.h   |    2 
 modules/oji/src/nsJVMManager.cpp |    2 
 modules/zlib/src/mozzconf.h      |    2 
 xpcom/base/nscore.h              |    2 
 8 files changed, 190 insertions(+), 70 deletions(-)

--- NEW FILE thunderbird-1.5-visibility.patch ---
Mostly the same as firefox-1.5-visibility.patch with the addition of lber.h

--- mozilla/config/system-headers.visibility	2005-06-17 17:03:42.000000000 -0400
+++ mozilla/config/system-headers	2006-09-05 00:03:12.000000000 -0400
@@ -66,6 +66,7 @@
 Button.h
 byteswap.h
 cairo.h
+cairo-xlib.h
 callconv.h
 Carbon/Carbon.h
 CarbonEvents.h
@@ -176,7 +177,7 @@
 freetype/freetype.h
 freetype/ftcache.h
 freetype/ftglyph.h
-freetype/ftoutlin.h
+freetype/ftoutln.h
 freetype/ttnameid.h
 freetype/tttables.h
 fribidi/fribidi.h
@@ -192,6 +193,8 @@
 gdk/gdkregion.h
 gdk/gdkwindow.h
 gdk/gdkx.h
+gdk/gdkpango.h
+gdk/gdkalias.h
 gdk-pixbuf/gdk-pixbuf.h
 Gestalt.h
 getopt.h
@@ -212,7 +215,11 @@
 gtk/gtkcontainer.h
 gtk/gtkdialog.h
 gtk/gtkentry.h
+gtk/gtkfilechooser.h
+gtk/gtkfixed.h
 gtk/gtk.h
+gtk/gtkiconfactory.h
+gtk/gtkimage.h
 gtk/gtkimmulticontext.h
 gtk/gtkinvisible.h
 gtk/gtkmain.h
@@ -279,6 +286,7 @@
 LaunchServices.h
 LBroadcaster.h
 LButton.h
+lber.h
 lcache.h
 LCaption.h
 LCheckBox.h
@@ -500,6 +508,7 @@
 PLStringFuncs.h
 PMApplication.h
 pmddim.h
+png.h
 poll.h
 Polygon.h
 portable.h
@@ -874,6 +883,7 @@
 X11/Xutil.h
 xpt_struct.h
 xpt_xdr.h
+zlib.h
 zmouse.h
 sslt.h
 smime.h
--- mozilla/xpcom/base/nscore.h.visibility	2006-02-21 22:19:38.000000000 -0500
+++ mozilla/xpcom/base/nscore.h	2006-09-04 23:26:15.000000000 -0400
@@ -105,7 +105,7 @@
 #define NS_VISIBILITY_HIDDEN
 #endif
 
-#if defined(HAVE_VISIBILITY_HIDDEN_ATTRIBUTE) && defined(HAVE_VISIBILITY_PRAGMA)
+#if defined(HAVE_VISIBILITY_ATTRIBUTE)
 #define NS_VISIBILITY_DEFAULT __attribute__ ((visibility ("default")))
 #else
 #define NS_VISIBILITY_DEFAULT
--- mozilla/configure.visibility	2006-09-04 23:26:15.000000000 -0400
+++ mozilla/configure	2006-09-04 23:26:15.000000000 -0400
@@ -5331,9 +5331,9 @@
 OS_CONFIG="${OS_TARGET}${OS_RELEASE}"
 
 if test "$GNU_CC"; then
-    MKSHLIB='$(CXX) $(CXXFLAGS) $(DSO_PIC_CFLAGS) $(DSO_LDOPTS) -o $@'
-    MKCSHLIB='$(CC) $(CFLAGS) $(DSO_PIC_CFLAGS) $(DSO_LDOPTS) -o $@'
-    DSO_LDOPTS='-shared -Wl,-h -Wl,$@'
+    MKSHLIB='$(CXX) $(CXXFLAGS) $(DSO_PIC_CFLAGS) $(DSO_LDOPTS) -Wl,-h,$@ -o $@'
+    MKCSHLIB='$(CC) $(CFLAGS) $(DSO_PIC_CFLAGS) $(DSO_LDOPTS) -Wl,-h,$@ -o $@'
+    DSO_LDOPTS='-shared'
     DSO_CFLAGS=''
     DSO_PIC_CFLAGS='-fPIC'
     _MOZ_RTTI_FLAGS_ON=${_COMPILER_PREFIX}-frtti
@@ -5357,9 +5357,9 @@
     _DEFINES_CFLAGS='-include $(DEPTH)/mozilla-config.h -DMOZILLA_CLIENT'
     _USE_CPP_INCLUDE_FLAG=1
 else
-    MKSHLIB='$(LD) $(DSO_LDOPTS) -o $@'
-    MKCSHLIB='$(LD) $(DSO_LDOPTS) -o $@'
-    DSO_LDOPTS='-shared -h $@'
+    MKSHLIB='$(LD) $(DSO_LDOPTS) -h $@ -o $@'
+    MKCSHLIB='$(LD) $(DSO_LDOPTS) -h $@ -o $@'
+    DSO_LDOPTS='-shared'
     DSO_CFLAGS=''
     DSO_PIC_CFLAGS='-KPIC'
     _DEFINES_CFLAGS='$(ACDEFINES) -D_MOZILLA_CONFIG_H_ -DMOZILLA_CLIENT'
@@ -5703,9 +5703,9 @@
 
 *-beos*)
     no_x=yes
-    MKSHLIB='$(CXX) $(CXXFLAGS) $(DSO_LDOPTS) -o $@'
+    MKSHLIB='$(CXX) $(CXXFLAGS) $(DSO_LDOPTS) -Wl,-h,$@ -o $@'
     _PLATFORM_DEFAULT_TOOLKIT="beos"
-    DSO_LDOPTS='-nostart -Wl,-h -Wl,$@'
+    DSO_LDOPTS='-nostart'
     TK_LIBS='-lbe -lroot'
     LIBS="$LIBS -lbe"
     if test "$COMPILE_ENVIRONMENT"; then
@@ -5871,16 +5871,16 @@
 *-hpux*)
     DLL_SUFFIX=".sl"
     if test ! "$GNU_CC"; then
-    	DSO_LDOPTS='-b -Wl,+s -L$(DIST)/bin'
+    	DSO_LDOPTS='-b -Wl,+s'
     	DSO_CFLAGS=""
     	DSO_PIC_CFLAGS="+Z"
-    	MKSHLIB='$(CXX) $(CXXFLAGS) $(DSO_LDOPTS) -o $@'
+    	MKSHLIB='$(CXX) $(CXXFLAGS) $(DSO_LDOPTS) -L$(DIST)/bin -o $@'
     	MKCSHLIB='$(LD) -b +s -L$(DIST)/bin -o $@'
         CXXFLAGS="$CXXFLAGS -Wc,-ansi_for_scope,on"
     else
-    	DSO_LDOPTS='-b -E +s -L$(DIST)/bin -L$(DIST)/lib'
-    	MKSHLIB='$(LD) $(DSO_LDOPTS) -o $@'
-    	MKCSHLIB='$(LD) $(DSO_LDOPTS) -o $@'
+        DSO_LDOPTS='-b -E +s'
+        MKSHLIB='$(LD) $(DSO_LDOPTS) -L$(DIST)/bin -L$(DIST)/lib -o $@'
+        MKCSHLIB='$(LD) $(DSO_LDOPTS) -L$(DIST)/bin -L$(DIST)/lib -o $@'
     fi
     MOZ_POST_PROGRAM_COMMAND='chatr +s enable'
     cat >> confdefs.h <<\EOF
@@ -5895,11 +5895,16 @@
 EOF
 
     DSO_LDOPTS='-elf -shared'
+
     if test "$GNU_CC"; then
+       MKSHLIB='$(CXX) $(CXXFLAGS) $(DSO_PIC_CFLAGS) $(DSO_LDOPTS) -o $@'
+       MKCSHLIB='$(CC) $(CFLAGS) $(DSO_PIC_CFLAGS) $(DSO_LDOPTS) -o $@'
        MKSHLIB_FORCE_ALL='-Wl,-all'
        MKSHLIB_UNFORCE_ALL='-Wl,-none'
        CXXFLAGS="$CXXFLAGS -D_LANGUAGE_C_PLUS_PLUS"
     else
+       MKSHLIB='$(LD) $(DSO_LDOPTS) -o $@'
+       MKCSHLIB='$(LD) $(DSO_LDOPTS) -o $@'
        MKSHLIB_FORCE_ALL='-all'
        MKSHLIB_UNFORCE_ALL='-none'
     fi
@@ -6338,7 +6343,7 @@
     if $CC -E - -dM </dev/null | grep __ELF__ >/dev/null; then
         DLL_SUFFIX=".so"
         DSO_PIC_CFLAGS='-fPIC -DPIC'
-        DSO_LDOPTS='-shared -Wl,-soname,lib$(LIBRARY_NAME)$(DLL_SUFFIX)'
+        DSO_LDOPTS='-shared'
 	BIN_FLAGS='-Wl,--export-dynamic'
     else
     	DSO_PIC_CFLAGS='-fPIC -DPIC'
@@ -6351,6 +6356,8 @@
     if test "$LIBRUNPATH"; then
 	DSO_LDOPTS="-Wl,-R$LIBRUNPATH $DSO_LDOPTS"
     fi
+    MKSHLIB='$(CXX) $(CXXFLAGS) $(DSO_PIC_CFLAGS) $(DSO_LDOPTS) -Wl,-soname,lib$(LIBRARY_NAME)$(DLL_SUFFIX) -o $@'
+    MKCSHLIB='$(CC) $(CFLAGS) $(DSO_PIC_CFLAGS) $(DSO_LDOPTS) -Wl,-soname,lib$(LIBRARY_NAME)$(DLL_SUFFIX) -o $@'
     ;;
 
 *-nto*) 
@@ -6571,17 +6578,19 @@
 
 alpha*-*-osf*)
     if test "$GNU_CC"; then
-	DSO_LDOPTS='-shared -Wl,-soname -Wl,$@'
+      MKSHLIB='$(CXX) $(CXXFLAGS) $(DSO_PIC_CFLAGS) $(DSO_LDOPTS) -Wl,-soname,$@ -o $@'
+      MKCSHLIB='$(CC) $(CFLAGS) $(DSO_PIC_CFLAGS) $(DSO_LDOPTS) -Wl,-soname,$@ -o $@'
+
     else
 	MOZ_DEBUG_FLAGS='-g'
 	ASFLAGS='-I$(topsrcdir)/xpcom/reflect/xptcall/public -g'
 	CFLAGS="$CFLAGS -ieee"
 	CXXFLAGS="$CXXFLAGS "'-noexceptions -ieee  -ptr $(DIST)/cxx_repository'
-	DSO_LDOPTS='-shared -msym -expect_unresolved \* -soname $@ -update_registry $(DIST)/so_locations'
+	DSO_LDOPTS='-shared -msym -expect_unresolved \* -update_registry $(DIST)/so_locations'
 	DSO_CFLAGS=
 	DSO_PIC_CFLAGS=
-	MKCSHLIB='$(CC) $(CFLAGS) $(DSO_PIC_CFLAGS) $(DSO_LDOPTS) -o $@'
-	MKSHLIB='$(CXX) $(CXXFLAGS) $(DSO_PIC_CFLAGS) $(DSO_LDOPTS) -o $@'
+	MKCSHLIB='$(CC) $(CFLAGS) $(DSO_PIC_CFLAGS) $(DSO_LDOPTS) -soname $@ -o $@'
+	MKSHLIB='$(CXX) $(CXXFLAGS) $(DSO_PIC_CFLAGS) $(DSO_LDOPTS) -soname $@ -o $@'
 	MKSHLIB_FORCE_ALL='-all'
 	MKSHLIB_UNFORCE_ALL='-none'
 		cat >> confdefs.h <<\EOF
@@ -6634,7 +6643,7 @@
 
     CXXFLAGS="$CXXFLAGS -I/usr/include/CC"
     if test ! "$GNU_CC"; then
-       DSO_LDOPTS='-G -h $@'
+       DSO_LDOPTS='-G'
     fi
     ;;
 
@@ -6655,11 +6664,11 @@
        CXXFLAGS="$CXXFLAGS -xbuiltin=%all -features=tmplife"
        LDFLAGS="-xildoff -zlazyload -zcombreloc $LDFLAGS"
        MOZ_OPTIMIZE_FLAGS="-xO4"
-       MKSHLIB='$(CXX) $(CXXFLAGS) $(DSO_PIC_FLAGS) $(DSO_LDOPTS) -o $@'
-       MKCSHLIB='$(CC) $(CFLAGS) $(DSO_PIC_FLAGS) -G -Wl,-z -Wl,muldefs -o $@'
+       MKSHLIB='$(CXX) $(CXXFLAGS) $(DSO_PIC_FLAGS) $(DSO_LDOPTS) -h $@ -o $@'
+       KCSHLIB='$(CC) $(CFLAGS) $(DSO_PIC_FLAGS) -G -Wl,-z -Wl,muldefs -h $@ -o $@'
        MKSHLIB_FORCE_ALL='-Qoption ld -z,allextract'
        MKSHLIB_UNFORCE_ALL=''
-       DSO_LDOPTS='-G -Qoption ld -z,muldefs -h $@'
+       DSO_LDOPTS='-G -Qoption ld -z,muldefs'
        AR_LIST="$AR t"
        AR_EXTRACT="$AR x"
        AR_DELETE="$AR d"
@@ -6717,7 +6726,7 @@
 
     else
        ASFLAGS="$ASFLAGS -fPIC"
-       DSO_LDOPTS='-G -h $@'
+       DSO_LDOPTS='-G'
        _WARNINGS_CFLAGS=''
        _WARNINGS_CXXFLAGS=''
        if test "$OS_RELEASE" = "5.3"; then
@@ -7708,13 +7717,39 @@
 fi
 
 echo "$ac_t""$ac_cv_visibility_hidden" 1>&6
-   if test "$ac_cv_visibility_hidden" = "yes"; then
-      cat >> confdefs.h <<\EOF
+  if test "$ac_cv_visibility_hidden" = "yes"; then
+    cat >> confdefs.h <<\EOF
 #define HAVE_VISIBILITY_HIDDEN_ATTRIBUTE 1
 EOF
 
+
+    echo $ac_n "checking for visibility(default) attribute""... $ac_c" 1>&6
+echo "configure:7728: checking for visibility(default) attribute" >&5
+if eval "test \"`echo '$''{'ac_cv_visibility_default'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  cat > conftest.c <<EOF
+                    int foo __attribute__ ((visibility ("default"))) = 1;
+EOF
+                    ac_cv_visibility_default=no
+                    if ${CC-cc} -fvisibility=hidden -Werror -S conftest.c -o conftest.s >/dev/null 2>&1; then
+                      if ! grep '\.hidden.*foo' conftest.s >/dev/null; then
+                        ac_cv_visibility_default=yes
+                      fi
+                    fi
+                    rm -f conftest.cs
+                   
+fi
+
+echo "$ac_t""$ac_cv_visibility_default" 1>&6
+    if test "$ac_cv_visibility_default" = "yes"; then
+      cat >> confdefs.h <<\EOF
+#define HAVE_VISIBILITY_ATTRIBUTE 1
+EOF
+
+
       echo $ac_n "checking for visibility pragma support""... $ac_c" 1>&6
-echo "configure:7710: checking for visibility pragma support" >&5
+echo "configure:7753: checking for visibility pragma support" >&5
 if eval "test \"`echo '$''{'ac_cv_visibility_pragma'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -7738,15 +7773,41 @@
 
 echo "$ac_t""$ac_cv_visibility_pragma" 1>&6
       if test "$ac_cv_visibility_pragma" = "yes"; then
-        cat >> confdefs.h <<\EOF
-#define HAVE_VISIBILITY_PRAGMA 1
+        echo $ac_n "checking For x86_64 gcc visibility bug with builtins (GCC bug 20297)""... $ac_c" 1>&6
+echo "configure:7778: checking For x86_64 gcc visibility bug with builtins (GCC bug 20297)" >&5
+if eval "test \"`echo '$''{'ac_cv_have_visibility_builtin_bug'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  cat > conftest.c <<EOF
+#pragma GCC visibility push(hidden)
+#pragma GCC visibility push(default)
+#include <string.h>
+#pragma GCC visibility pop
+
+__attribute__ ((visibility ("default"))) void Func() {
+  char c[100];
+  memset(c, 0, sizeof(c));
+}
 EOF
+                       ac_cv_have_visibility_builtin_bug=no
+                       if ! ${CC-cc} ${DSO_PIC_CFLAGS} ${DSO_LDOPTS} -O2 -o conftest.so conftest.c >/dev/null 2>&1; then
+                         ac_cv_have_visibility_builtin_bug=yes
+                       fi
+                       rm -f conftest.{c,so}
+                       
+fi
 
-        VISIBILITY_FLAGS='-I$(DIST)/include/system_wrappers -include $(topsrcdir)/config/gcc_hidden.h'
-        WRAP_SYSTEM_INCLUDES=1
-      fi
-   fi
-fi     # GNU_CC
+echo "$ac_t""$ac_cv_have_visibility_builtin_bug" 1>&6
+        if test "$ac_cv_have_visibility_builtin_bug" = "no"; then
+          VISIBILITY_FLAGS='-I$(DIST)/include/system_wrappers -include $(topsrcdir)/config/gcc_hidden.h'
+          WRAP_SYSTEM_INCLUDES=1
+        else
+          VISIBILITY_FLAGS='-fvisibility=hidden'
+        fi # have visibility pragma bug
+      fi   # have visibility pragma
+    fi     # have visibility(default) attribute
+  fi       # have visibility(hidden) attribute
+fi         # GNU_CC
 
 
 
--- mozilla/configure.in.visibility	2006-09-04 23:26:15.000000000 -0400
+++ mozilla/configure.in	2006-09-04 23:26:15.000000000 -0400
@@ -1103,9 +1103,9 @@
 dnl GNU specific defaults
 dnl ========================================================
 if test "$GNU_CC"; then
-    MKSHLIB='$(CXX) $(CXXFLAGS) $(DSO_PIC_CFLAGS) $(DSO_LDOPTS) -o $@'
-    MKCSHLIB='$(CC) $(CFLAGS) $(DSO_PIC_CFLAGS) $(DSO_LDOPTS) -o $@'
-    DSO_LDOPTS='-shared -Wl,-h -Wl,$@'
+    MKSHLIB='$(CXX) $(CXXFLAGS) $(DSO_PIC_CFLAGS) $(DSO_LDOPTS) -Wl,-h,$@ -o $@'
+    MKCSHLIB='$(CC) $(CFLAGS) $(DSO_PIC_CFLAGS) $(DSO_LDOPTS) -Wl,-h,$@ -o $@'
+    DSO_LDOPTS='-shared'
     DSO_CFLAGS=''
     DSO_PIC_CFLAGS='-fPIC'
     _MOZ_RTTI_FLAGS_ON=${_COMPILER_PREFIX}-frtti
@@ -1130,9 +1130,9 @@
     _DEFINES_CFLAGS='-include $(DEPTH)/mozilla-config.h -DMOZILLA_CLIENT'
     _USE_CPP_INCLUDE_FLAG=1
 else
-    MKSHLIB='$(LD) $(DSO_LDOPTS) -o $@'
-    MKCSHLIB='$(LD) $(DSO_LDOPTS) -o $@'
-    DSO_LDOPTS='-shared -h $@'
+    MKSHLIB='$(LD) $(DSO_LDOPTS) -h $@ -o $@'
+    MKCSHLIB='$(LD) $(DSO_LDOPTS) -h $@ -o $@'
+    DSO_LDOPTS='-shared'
     DSO_CFLAGS=''
     DSO_PIC_CFLAGS='-KPIC'
     _DEFINES_CFLAGS='$(ACDEFINES) -D_MOZILLA_CONFIG_H_ -DMOZILLA_CLIENT'
@@ -1360,9 +1360,9 @@
 
 *-beos*)
     no_x=yes
-    MKSHLIB='$(CXX) $(CXXFLAGS) $(DSO_LDOPTS) -o $@'
+    MKSHLIB='$(CXX) $(CXXFLAGS) $(DSO_LDOPTS) -Wl,-h,$@ -o $@'
     _PLATFORM_DEFAULT_TOOLKIT="beos"
-    DSO_LDOPTS='-nostart -Wl,-h -Wl,$@'
+    DSO_LDOPTS='-nostart'
     TK_LIBS='-lbe -lroot'
     LIBS="$LIBS -lbe"
     if test "$COMPILE_ENVIRONMENT"; then
@@ -1442,16 +1442,16 @@
 *-hpux*)
     DLL_SUFFIX=".sl"
     if test ! "$GNU_CC"; then
-    	DSO_LDOPTS='-b -Wl,+s -L$(DIST)/bin'
+    	DSO_LDOPTS='-b -Wl,+s'
     	DSO_CFLAGS=""
     	DSO_PIC_CFLAGS="+Z"
-    	MKSHLIB='$(CXX) $(CXXFLAGS) $(DSO_LDOPTS) -o $@'
+    	MKSHLIB='$(CXX) $(CXXFLAGS) $(DSO_LDOPTS) -L$(DIST)/bin -o $@'
     	MKCSHLIB='$(LD) -b +s -L$(DIST)/bin -o $@'
         CXXFLAGS="$CXXFLAGS -Wc,-ansi_for_scope,on"
     else
-    	DSO_LDOPTS='-b -E +s -L$(DIST)/bin -L$(DIST)/lib'
-    	MKSHLIB='$(LD) $(DSO_LDOPTS) -o $@'
-    	MKCSHLIB='$(LD) $(DSO_LDOPTS) -o $@'
+        DSO_LDOPTS='-b -E +s'
+        MKSHLIB='$(LD) $(DSO_LDOPTS) -L$(DIST)/bin -L$(DIST)/lib -o $@'
+        MKCSHLIB='$(LD) $(DSO_LDOPTS) -L$(DIST)/bin -L$(DIST)/lib -o $@'
     fi
     MOZ_POST_PROGRAM_COMMAND='chatr +s enable'
     AC_DEFINE(NSCAP_DISABLE_DEBUG_PTR_TYPES)
@@ -1460,11 +1460,16 @@
 *-irix5*)
     AC_DEFINE(IRIX)
     DSO_LDOPTS='-elf -shared'
+
     if test "$GNU_CC"; then
+       MKSHLIB='$(CXX) $(CXXFLAGS) $(DSO_PIC_CFLAGS) $(DSO_LDOPTS) -o $@'
+       MKCSHLIB='$(CC) $(CFLAGS) $(DSO_PIC_CFLAGS) $(DSO_LDOPTS) -o $@'
        MKSHLIB_FORCE_ALL='-Wl,-all'
        MKSHLIB_UNFORCE_ALL='-Wl,-none'
        CXXFLAGS="$CXXFLAGS -D_LANGUAGE_C_PLUS_PLUS"
     else
+       MKSHLIB='$(LD) $(DSO_LDOPTS) -o $@'
+       MKCSHLIB='$(LD) $(DSO_LDOPTS) -o $@'
        MKSHLIB_FORCE_ALL='-all'
        MKSHLIB_UNFORCE_ALL='-none'
     fi
@@ -1818,7 +1823,7 @@
     if $CC -E - -dM </dev/null | grep __ELF__ >/dev/null; then
         DLL_SUFFIX=".so"
         DSO_PIC_CFLAGS='-fPIC -DPIC'
-        DSO_LDOPTS='-shared -Wl,-soname,lib$(LIBRARY_NAME)$(DLL_SUFFIX)'
+        DSO_LDOPTS='-shared'
 	BIN_FLAGS='-Wl,--export-dynamic'
     else
     	DSO_PIC_CFLAGS='-fPIC -DPIC'
@@ -1831,6 +1836,8 @@
     if test "$LIBRUNPATH"; then
 	DSO_LDOPTS="-Wl,-R$LIBRUNPATH $DSO_LDOPTS"
     fi
+    MKSHLIB='$(CXX) $(CXXFLAGS) $(DSO_PIC_CFLAGS) $(DSO_LDOPTS) -Wl,-soname,lib$(LIBRARY_NAME)$(DLL_SUFFIX) -o $@'
+    MKCSHLIB='$(CC) $(CFLAGS) $(DSO_PIC_CFLAGS) $(DSO_LDOPTS) -Wl,-soname,lib$(LIBRARY_NAME)$(DLL_SUFFIX) -o $@'
     ;;
 
 *-nto*) 
@@ -1994,17 +2001,19 @@
 
 alpha*-*-osf*)
     if test "$GNU_CC"; then
-	DSO_LDOPTS='-shared -Wl,-soname -Wl,$@'
+      MKSHLIB='$(CXX) $(CXXFLAGS) $(DSO_PIC_CFLAGS) $(DSO_LDOPTS) -Wl,-soname,$@ -o $@'
+      MKCSHLIB='$(CC) $(CFLAGS) $(DSO_PIC_CFLAGS) $(DSO_LDOPTS) -Wl,-soname,$@ -o $@'
+
     else
 	MOZ_DEBUG_FLAGS='-g'
 	ASFLAGS='-I$(topsrcdir)/xpcom/reflect/xptcall/public -g'
 	CFLAGS="$CFLAGS -ieee"
 	CXXFLAGS="$CXXFLAGS "'-noexceptions -ieee  -ptr $(DIST)/cxx_repository'
-	DSO_LDOPTS='-shared -msym -expect_unresolved \* -soname $@ -update_registry $(DIST)/so_locations'
+	DSO_LDOPTS='-shared -msym -expect_unresolved \* -update_registry $(DIST)/so_locations'
 	DSO_CFLAGS=
 	DSO_PIC_CFLAGS=
-	MKCSHLIB='$(CC) $(CFLAGS) $(DSO_PIC_CFLAGS) $(DSO_LDOPTS) -o $@'
-	MKSHLIB='$(CXX) $(CXXFLAGS) $(DSO_PIC_CFLAGS) $(DSO_LDOPTS) -o $@'
+	MKCSHLIB='$(CC) $(CFLAGS) $(DSO_PIC_CFLAGS) $(DSO_LDOPTS) -soname $@ -o $@'
+	MKSHLIB='$(CXX) $(CXXFLAGS) $(DSO_PIC_CFLAGS) $(DSO_LDOPTS) -soname $@ -o $@'
 	MKSHLIB_FORCE_ALL='-all'
 	MKSHLIB_UNFORCE_ALL='-none'
 	dnl Might fix the libxpcom.so breakage on this platform as well....
@@ -2036,7 +2045,7 @@
     AC_DEFINE(NSCAP_DISABLE_DEBUG_PTR_TYPES)
     CXXFLAGS="$CXXFLAGS -I/usr/include/CC"
     if test ! "$GNU_CC"; then
-       DSO_LDOPTS='-G -h $@'
+       DSO_LDOPTS='-G'
     fi
     ;;
 
@@ -2052,11 +2061,11 @@
        CXXFLAGS="$CXXFLAGS -xbuiltin=%all -features=tmplife"
        LDFLAGS="-xildoff -zlazyload -zcombreloc $LDFLAGS"
        MOZ_OPTIMIZE_FLAGS="-xO4"
-       MKSHLIB='$(CXX) $(CXXFLAGS) $(DSO_PIC_FLAGS) $(DSO_LDOPTS) -o $@'
-       MKCSHLIB='$(CC) $(CFLAGS) $(DSO_PIC_FLAGS) -G -Wl,-z -Wl,muldefs -o $@'
+       MKSHLIB='$(CXX) $(CXXFLAGS) $(DSO_PIC_FLAGS) $(DSO_LDOPTS) -h $@ -o $@'
+       KCSHLIB='$(CC) $(CFLAGS) $(DSO_PIC_FLAGS) -G -Wl,-z -Wl,muldefs -h $@ -o $@'
        MKSHLIB_FORCE_ALL='-Qoption ld -z,allextract'
        MKSHLIB_UNFORCE_ALL=''
-       DSO_LDOPTS='-G -Qoption ld -z,muldefs -h $@'
+       DSO_LDOPTS='-G -Qoption ld -z,muldefs'
        AR_LIST="$AR t"
        AR_EXTRACT="$AR x"
        AR_DELETE="$AR d"
@@ -2086,7 +2095,7 @@
         AC_LANG_RESTORE
     else
        ASFLAGS="$ASFLAGS -fPIC"
-       DSO_LDOPTS='-G -h $@'
+       DSO_LDOPTS='-G'
        _WARNINGS_CFLAGS=''
        _WARNINGS_CXXFLAGS=''
        if test "$OS_RELEASE" = "5.3"; then
@@ -2444,8 +2453,25 @@
                   fi
                   rm -f conftest.[cs]
                  ])
-   if test "$ac_cv_visibility_hidden" = "yes"; then
-      AC_DEFINE(HAVE_VISIBILITY_HIDDEN_ATTRIBUTE)
+  if test "$ac_cv_visibility_hidden" = "yes"; then
+    AC_DEFINE(HAVE_VISIBILITY_HIDDEN_ATTRIBUTE)
+
+    AC_CACHE_CHECK(for visibility(default) attribute,
+                   ac_cv_visibility_default,
+                   [cat > conftest.c <<EOF
+                    int foo __attribute__ ((visibility ("default"))) = 1;
+EOF
+                    ac_cv_visibility_default=no
+                    if ${CC-cc} -fvisibility=hidden -Werror -S conftest.c -o conftest.s >/dev/null 2>&1; then
+                      if ! grep '\.hidden.*foo' conftest.s >/dev/null; then
+                        ac_cv_visibility_default=yes
+                      fi
+                    fi
+                    rm -f conftest.[cs]
+                   ])
+    if test "$ac_cv_visibility_default" = "yes"; then
+      AC_DEFINE(HAVE_VISIBILITY_ATTRIBUTE)
+
       AC_CACHE_CHECK(for visibility pragma support,
                      ac_cv_visibility_pragma,
                      [cat > conftest.c <<EOF
@@ -2465,12 +2491,35 @@
                       rm -f conftest.[cs]
                     ])
       if test "$ac_cv_visibility_pragma" = "yes"; then
-        AC_DEFINE(HAVE_VISIBILITY_PRAGMA)
-        VISIBILITY_FLAGS='-I$(DIST)/include/system_wrappers -include $(topsrcdir)/config/gcc_hidden.h'
-        WRAP_SYSTEM_INCLUDES=1
-      fi
-   fi
-fi     # GNU_CC
+        AC_CACHE_CHECK(For x86_64 gcc visibility bug with builtins (GCC bug 20297),
+                       ac_cv_have_visibility_builtin_bug,
+                       [cat > conftest.c <<EOF
+#pragma GCC visibility push(hidden)
+#pragma GCC visibility push(default)
+#include <string.h>
+#pragma GCC visibility pop
+
+__attribute__ ((visibility ("default"))) void Func() {
+  char c[[100]];
+  memset(c, 0, sizeof(c));
+}
+EOF
+                       ac_cv_have_visibility_builtin_bug=no
+                       if ! ${CC-cc} ${DSO_PIC_CFLAGS} ${DSO_LDOPTS} -O2 -o conftest.so conftest.c >/dev/null 2>&1; then
+                         ac_cv_have_visibility_builtin_bug=yes
+                       fi
+                       rm -f conftest.{c,so}
+                       ])
+        if test "$ac_cv_have_visibility_builtin_bug" = "no"; then
+          VISIBILITY_FLAGS='-I$(DIST)/include/system_wrappers -include $(topsrcdir)/config/gcc_hidden.h'
+          WRAP_SYSTEM_INCLUDES=1
+        else
+          VISIBILITY_FLAGS='-fvisibility=hidden'
+        fi # have visibility pragma bug
+      fi   # have visibility pragma
+    fi     # have visibility(default) attribute
+  fi       # have visibility(hidden) attribute
+fi         # GNU_CC
 
 AC_SUBST(WRAP_SYSTEM_INCLUDES)
 AC_SUBST(VISIBILITY_FLAGS)
--- mozilla/js/src/jstypes.h.visibility	2005-09-18 00:35:05.000000000 -0400
+++ mozilla/js/src/jstypes.h	2006-09-04 23:26:15.000000000 -0400
@@ -109,7 +109,7 @@
 
 #else /* Unix */
 
-#ifdef HAVE_VISIBILITY_PRAGMA
+#ifdef HAVE_VISIBILITY_ATTRIBUTE
 #define JS_EXTERNAL_VIS __attribute__((visibility ("default")))
 #else
 #define JS_EXTERNAL_VIS
--- mozilla/modules/zlib/src/mozzconf.h.visibility	2005-08-04 15:14:14.000000000 -0400
+++ mozilla/modules/zlib/src/mozzconf.h	2006-09-04 23:26:15.000000000 -0400
@@ -41,7 +41,7 @@
 #undef ZLIB_DLL
 #endif
 
-#ifdef HAVE_VISIBILITY_PRAGMA
+#ifdef HAVE_VISIBILITY_ATTRIBUTE
 #define ZEXTERN __attribute__((visibility ("default"))) extern
 #endif
 
--- mozilla/modules/oji/src/nsJVMManager.cpp.visibility	2005-08-22 10:09:59.000000000 -0400
+++ mozilla/modules/oji/src/nsJVMManager.cpp	2006-09-04 23:26:15.000000000 -0400
@@ -845,7 +845,7 @@
     return fStatus;
 }
 
-extern "C" nsresult JSJ_RegisterLiveConnectFactory(void);
+extern "C" NS_VISIBILITY_DEFAULT nsresult JSJ_RegisterLiveConnectFactory(void);
 
 PRBool
 nsJVMManager::MaybeStartupLiveConnect(void)
--- mozilla/modules/libreg/include/NSReg.h.visibility	2004-12-15 00:52:38.000000000 -0500
+++ mozilla/modules/libreg/include/NSReg.h	2006-09-04 23:26:15.000000000 -0400
@@ -129,7 +129,7 @@
   #endif
 #elif defined XP_MAC
   #define VR_INTERFACE(__x)  __declspec(export) __x
-#elif defined (HAVE_VISIBILITY_PRAGMA)
+#elif defined (HAVE_VISIBILITY_ATTRIBUTE)
   #define VR_INTERFACE(type)     __attribute__ ((visibility ("default"))) type
 #else
   #define VR_INTERFACE(type)     type




More information about the fedora-cvs-commits mailing list