Magellan Linux

Contents of /trunk/mozilla-firefox/patches/mozilla-firefox-1.5.0.4-visibility-pragma.patch

Parent Directory Parent Directory | Revision Log Revision Log


Revision 153 - (show annotations) (download)
Tue May 8 20:52:56 2007 UTC (17 years ago) by niro
File size: 10955 byte(s)
-import

1 diff -Nur mozilla/configure.in mozilla.bug307168/configure.in
2 --- mozilla/configure.in 2005-10-04 05:53:49.000000000 +0000
3 +++ mozilla.bug307168/configure.in 2005-12-06 16:42:46.000000000 +0000
4 @@ -1036,9 +1036,9 @@
5 dnl GNU specific defaults
6 dnl ========================================================
7 if test "$GNU_CC"; then
8 - MKSHLIB='$(CXX) $(CXXFLAGS) $(DSO_PIC_CFLAGS) $(DSO_LDOPTS) -o $@'
9 - MKCSHLIB='$(CC) $(CFLAGS) $(DSO_PIC_CFLAGS) $(DSO_LDOPTS) -o $@'
10 - DSO_LDOPTS='-shared -Wl,-h -Wl,$@'
11 + MKSHLIB='$(CXX) $(CXXFLAGS) $(DSO_PIC_CFLAGS) $(DSO_LDOPTS) -Wl,-h,$@ -o $@'
12 + MKCSHLIB='$(CC) $(CFLAGS) $(DSO_PIC_CFLAGS) $(DSO_LDOPTS) -Wl,-h,$@ -o $@'
13 + DSO_LDOPTS='-shared'
14 DSO_CFLAGS=''
15 DSO_PIC_CFLAGS='-fPIC'
16 _MOZ_RTTI_FLAGS_ON=${_COMPILER_PREFIX}-frtti
17 @@ -1063,9 +1063,9 @@
18 _DEFINES_CFLAGS='-include $(DEPTH)/mozilla-config.h -DMOZILLA_CLIENT'
19 _USE_CPP_INCLUDE_FLAG=1
20 else
21 - MKSHLIB='$(LD) $(DSO_LDOPTS) -o $@'
22 - MKCSHLIB='$(LD) $(DSO_LDOPTS) -o $@'
23 - DSO_LDOPTS='-shared -h $@'
24 + MKSHLIB='$(LD) $(DSO_LDOPTS) -h $@ -o $@'
25 + MKCSHLIB='$(LD) $(DSO_LDOPTS) -h $@ -o $@'
26 + DSO_LDOPTS='-shared'
27 DSO_CFLAGS=''
28 DSO_PIC_CFLAGS='-KPIC'
29 _DEFINES_CFLAGS='$(ACDEFINES) -D_MOZILLA_CONFIG_H_ -DMOZILLA_CLIENT'
30 @@ -1292,9 +1292,9 @@
31
32 *-beos*)
33 no_x=yes
34 - MKSHLIB='$(CXX) $(CXXFLAGS) $(DSO_LDOPTS) -o $@'
35 + MKSHLIB='$(CXX) $(CXXFLAGS) $(DSO_LDOPTS) -Wl,-h,$@ -o $@'
36 _PLATFORM_DEFAULT_TOOLKIT="beos"
37 - DSO_LDOPTS='-nostart -Wl,-h -Wl,$@'
38 + DSO_LDOPTS='-nostart'
39 TK_LIBS='-lbe -lroot'
40 LIBS="$LIBS -lbe"
41 if test "$COMPILE_ENVIRONMENT"; then
42 @@ -1379,16 +1379,16 @@
43 *-hpux*)
44 DLL_SUFFIX=".sl"
45 if test ! "$GNU_CC"; then
46 - DSO_LDOPTS='-b -Wl,+s -L$(DIST)/bin'
47 + DSO_LDOPTS='-b -Wl,+s'
48 DSO_CFLAGS=""
49 DSO_PIC_CFLAGS="+Z"
50 - MKSHLIB='$(CXX) $(CXXFLAGS) $(DSO_LDOPTS) -o $@'
51 + MKSHLIB='$(CXX) $(CXXFLAGS) $(DSO_LDOPTS) -L$(DIST)/bin -o $@'
52 MKCSHLIB='$(LD) -b +s -L$(DIST)/bin -o $@'
53 CXXFLAGS="$CXXFLAGS -Wc,-ansi_for_scope,on"
54 else
55 - DSO_LDOPTS='-b -E +s -L$(DIST)/bin -L$(DIST)/lib'
56 - MKSHLIB='$(LD) $(DSO_LDOPTS) -o $@'
57 - MKCSHLIB='$(LD) $(DSO_LDOPTS) -o $@'
58 + DSO_LDOPTS='-b -E +s'
59 + MKSHLIB='$(LD) $(DSO_LDOPTS) -L$(DIST)/bin -L$(DIST)/lib -o $@'
60 + MKCSHLIB='$(LD) $(DSO_LDOPTS) -L$(DIST)/bin -L$(DIST)/lib -o $@'
61 fi
62 MOZ_POST_PROGRAM_COMMAND='chatr +s enable'
63 AC_DEFINE(NSCAP_DISABLE_DEBUG_PTR_TYPES)
64 @@ -1397,11 +1397,16 @@
65 *-irix5*)
66 AC_DEFINE(IRIX)
67 DSO_LDOPTS='-elf -shared'
68 +
69 if test "$GNU_CC"; then
70 + MKSHLIB='$(CXX) $(CXXFLAGS) $(DSO_PIC_CFLAGS) $(DSO_LDOPTS) -o $@'
71 + MKCSHLIB='$(CC) $(CFLAGS) $(DSO_PIC_CFLAGS) $(DSO_LDOPTS) -o $@'
72 MKSHLIB_FORCE_ALL='-Wl,-all'
73 MKSHLIB_UNFORCE_ALL='-Wl,-none'
74 CXXFLAGS="$CXXFLAGS -D_LANGUAGE_C_PLUS_PLUS"
75 else
76 + MKSHLIB='$(LD) $(DSO_LDOPTS) -o $@'
77 + MKCSHLIB='$(LD) $(DSO_LDOPTS) -o $@'
78 MKSHLIB_FORCE_ALL='-all'
79 MKSHLIB_UNFORCE_ALL='-none'
80 fi
81 @@ -1755,7 +1760,7 @@
82 if $CC -E - -dM </dev/null | grep __ELF__ >/dev/null; then
83 DLL_SUFFIX=".so"
84 DSO_PIC_CFLAGS='-fPIC -DPIC'
85 - DSO_LDOPTS='-shared -Wl,-soname,lib$(LIBRARY_NAME)$(DLL_SUFFIX)'
86 + DSO_LDOPTS='-shared'
87 BIN_FLAGS='-Wl,--export-dynamic'
88 else
89 DSO_PIC_CFLAGS='-fPIC -DPIC'
90 @@ -1768,6 +1773,8 @@
91 if test "$LIBRUNPATH"; then
92 DSO_LDOPTS="-Wl,-R$LIBRUNPATH $DSO_LDOPTS"
93 fi
94 + MKSHLIB='$(CXX) $(CXXFLAGS) $(DSO_PIC_CFLAGS) $(DSO_LDOPTS) -Wl,-soname,lib$(LIBRARY_NAME)$(DLL_SUFFIX) -o $@'
95 + MKCSHLIB='$(CC) $(CFLAGS) $(DSO_PIC_CFLAGS) $(DSO_LDOPTS) -Wl,-soname,lib$(LIBRARY_NAME)$(DLL_SUFFIX) -o $@'
96 ;;
97
98 *-nto*)
99 @@ -1931,17 +1938,19 @@
100
101 alpha*-*-osf*)
102 if test "$GNU_CC"; then
103 - DSO_LDOPTS='-shared -Wl,-soname -Wl,$@'
104 + MKSHLIB='$(CXX) $(CXXFLAGS) $(DSO_PIC_CFLAGS) $(DSO_LDOPTS) -Wl,-soname,$@ -o $@'
105 + MKCSHLIB='$(CC) $(CFLAGS) $(DSO_PIC_CFLAGS) $(DSO_LDOPTS) -Wl,-soname,$@ -o $@'
106 +
107 else
108 MOZ_DEBUG_FLAGS='-g'
109 ASFLAGS='-I$(topsrcdir)/xpcom/reflect/xptcall/public -g'
110 CFLAGS="$CFLAGS -ieee"
111 CXXFLAGS="$CXXFLAGS "'-noexceptions -ieee -ptr $(DIST)/cxx_repository'
112 - DSO_LDOPTS='-shared -msym -expect_unresolved \* -soname $@ -update_registry $(DIST)/so_locations'
113 + DSO_LDOPTS='-shared -msym -expect_unresolved \* -update_registry $(DIST)/so_locations'
114 DSO_CFLAGS=
115 DSO_PIC_CFLAGS=
116 - MKCSHLIB='$(CC) $(CFLAGS) $(DSO_PIC_CFLAGS) $(DSO_LDOPTS) -o $@'
117 - MKSHLIB='$(CXX) $(CXXFLAGS) $(DSO_PIC_CFLAGS) $(DSO_LDOPTS) -o $@'
118 + MKCSHLIB='$(CC) $(CFLAGS) $(DSO_PIC_CFLAGS) $(DSO_LDOPTS) -soname $@ -o $@'
119 + MKSHLIB='$(CXX) $(CXXFLAGS) $(DSO_PIC_CFLAGS) $(DSO_LDOPTS) -soname $@ -o $@'
120 MKSHLIB_FORCE_ALL='-all'
121 MKSHLIB_UNFORCE_ALL='-none'
122 dnl Might fix the libxpcom.so breakage on this platform as well....
123 @@ -1973,7 +1982,7 @@
124 AC_DEFINE(NSCAP_DISABLE_DEBUG_PTR_TYPES)
125 CXXFLAGS="$CXXFLAGS -I/usr/include/CC"
126 if test ! "$GNU_CC"; then
127 - DSO_LDOPTS='-G -h $@'
128 + DSO_LDOPTS='-G'
129 fi
130 ;;
131
132 @@ -1989,11 +1998,11 @@
133 CXXFLAGS="$CXXFLAGS -xbuiltin=%all -features=tmplife"
134 LDFLAGS="-xildoff -zlazyload -zcombreloc $LDFLAGS"
135 MOZ_OPTIMIZE_FLAGS="-xO4"
136 - MKSHLIB='$(CXX) $(CXXFLAGS) $(DSO_PIC_FLAGS) $(DSO_LDOPTS) -o $@'
137 - MKCSHLIB='$(CC) $(CFLAGS) $(DSO_PIC_FLAGS) -G -Wl,-z -Wl,muldefs -o $@'
138 + MKSHLIB='$(CXX) $(CXXFLAGS) $(DSO_PIC_FLAGS) $(DSO_LDOPTS) -h $@ -o $@'
139 + KCSHLIB='$(CC) $(CFLAGS) $(DSO_PIC_FLAGS) -G -Wl,-z -Wl,muldefs -h $@ -o $@'
140 MKSHLIB_FORCE_ALL='-Qoption ld -z,allextract'
141 MKSHLIB_UNFORCE_ALL=''
142 - DSO_LDOPTS='-G -Qoption ld -z,muldefs -h $@'
143 + DSO_LDOPTS='-G -Qoption ld -z,muldefs'
144 AR_LIST="$AR t"
145 AR_EXTRACT="$AR x"
146 AR_DELETE="$AR d"
147 @@ -2019,7 +2028,7 @@
148 AC_MSG_RESULT([$_res])
149 else
150 ASFLAGS="$ASFLAGS -fPIC"
151 - DSO_LDOPTS='-G -h $@'
152 + DSO_LDOPTS='-G'
153 _WARNINGS_CFLAGS=''
154 _WARNINGS_CXXFLAGS=''
155 if test "$OS_RELEASE" = "5.3"; then
156 @@ -2378,8 +2387,25 @@
157 fi
158 rm -f conftest.[cs]
159 ])
160 - if test "$ac_cv_visibility_hidden" = "yes"; then
161 - AC_DEFINE(HAVE_VISIBILITY_HIDDEN_ATTRIBUTE)
162 + if test "$ac_cv_visibility_hidden" = "yes"; then
163 + AC_DEFINE(HAVE_VISIBILITY_HIDDEN_ATTRIBUTE)
164 +
165 + AC_CACHE_CHECK(for visibility(default) attribute,
166 + ac_cv_visibility_default,
167 + [cat > conftest.c <<EOF
168 + int foo __attribute__ ((visibility ("default"))) = 1;
169 +EOF
170 + ac_cv_visibility_default=no
171 + if ${CC-cc} -fvisibility=hidden -Werror -S conftest.c -o conftest.s >/dev/null 2>&1; then
172 + if ! grep '\.hidden.*foo' conftest.s >/dev/null; then
173 + ac_cv_visibility_default=yes
174 + fi
175 + fi
176 + rm -f conftest.[cs]
177 + ])
178 + if test "$ac_cv_visibility_default" = "yes"; then
179 + AC_DEFINE(HAVE_VISIBILITY_ATTRIBUTE)
180 +
181 AC_CACHE_CHECK(for visibility pragma support,
182 ac_cv_visibility_pragma,
183 [cat > conftest.c <<EOF
184 @@ -2399,12 +2425,35 @@
185 rm -f conftest.[cs]
186 ])
187 if test "$ac_cv_visibility_pragma" = "yes"; then
188 - AC_DEFINE(HAVE_VISIBILITY_PRAGMA)
189 - VISIBILITY_FLAGS='-I$(DIST)/include/system_wrappers -include $(topsrcdir)/config/gcc_hidden.h'
190 - WRAP_SYSTEM_INCLUDES=1
191 - fi
192 - fi
193 -fi # GNU_CC
194 + AC_CACHE_CHECK(For x86_64 gcc visibility bug with builtins (GCC bug 20297),
195 + ac_cv_have_visibility_builtin_bug,
196 + [cat > conftest.c <<EOF
197 +#pragma GCC visibility push(hidden)
198 +#pragma GCC visibility push(default)
199 +#include <string.h>
200 +#pragma GCC visibility pop
201 +
202 +__attribute__ ((visibility ("default"))) void Func() {
203 + char c[[100]];
204 + memset(c, 0, sizeof(c));
205 +}
206 +EOF
207 + ac_cv_have_visibility_builtin_bug=no
208 + if ! ${CC-cc} ${DSO_PIC_CFLAGS} ${DSO_LDOPTS} -O2 -o conftest.so conftest.c >/dev/null 2>&1; then
209 + ac_cv_have_visibility_builtin_bug=yes
210 + fi
211 + rm -f conftest.{c,so}
212 + ])
213 + if test "$ac_cv_have_visibility_builtin_bug" = "no"; then
214 + VISIBILITY_FLAGS='-I$(DIST)/include/system_wrappers -include $(topsrcdir)/config/gcc_hidden.h'
215 + WRAP_SYSTEM_INCLUDES=1
216 + else
217 + VISIBILITY_FLAGS='-fvisibility=hidden -fvisibility-inlines-hidden'
218 + fi # have visibility pragma bug
219 + fi # have visibility pragma
220 + fi # have visibility(default) attribute
221 + fi # have visibility(hidden) attribute
222 +fi # GNU_CC
223
224 AC_SUBST(WRAP_SYSTEM_INCLUDES)
225 AC_SUBST(VISIBILITY_FLAGS)
226 diff -Nur mozilla/js/src/jstypes.h mozilla.bug307168/js/src/jstypes.h
227 --- mozilla/js/src/jstypes.h 2005-09-18 04:35:05.000000000 +0000
228 +++ mozilla.bug307168/js/src/jstypes.h 2005-12-06 16:35:57.000000000 +0000
229 @@ -109,7 +109,7 @@
230
231 #else /* Unix */
232
233 -#ifdef HAVE_VISIBILITY_PRAGMA
234 +#ifdef HAVE_VISIBILITY_ATTRIBUTE
235 #define JS_EXTERNAL_VIS __attribute__((visibility ("default")))
236 #else
237 #define JS_EXTERNAL_VIS
238 diff -Nur mozilla/modules/libreg/include/NSReg.h mozilla.bug307168/modules/libreg/include/NSReg.h
239 --- mozilla/modules/libreg/include/NSReg.h 2004-12-15 05:52:38.000000000 +0000
240 +++ mozilla.bug307168/modules/libreg/include/NSReg.h 2005-12-06 16:35:57.000000000 +0000
241 @@ -129,7 +129,7 @@
242 #endif
243 #elif defined XP_MAC
244 #define VR_INTERFACE(__x) __declspec(export) __x
245 -#elif defined (HAVE_VISIBILITY_PRAGMA)
246 +#elif defined (HAVE_VISIBILITY_ATTRIBUTE)
247 #define VR_INTERFACE(type) __attribute__ ((visibility ("default"))) type
248 #else
249 #define VR_INTERFACE(type) type
250 diff -Nur mozilla/modules/zlib/src/mozzconf.h mozilla.bug307168/modules/zlib/src/mozzconf.h
251 --- mozilla/modules/zlib/src/mozzconf.h 2005-08-04 19:14:14.000000000 +0000
252 +++ mozilla.bug307168/modules/zlib/src/mozzconf.h 2005-12-06 16:35:57.000000000 +0000
253 @@ -41,7 +41,7 @@
254 #undef ZLIB_DLL
255 #endif
256
257 -#ifdef HAVE_VISIBILITY_PRAGMA
258 +#ifdef HAVE_VISIBILITY_ATTRIBUTE
259 #define ZEXTERN __attribute__((visibility ("default"))) extern
260 #endif
261
262 diff -Nur mozilla/xpcom/base/nscore.h mozilla.bug307168/xpcom/base/nscore.h
263 --- mozilla/xpcom/base/nscore.h 2005-07-21 22:15:00.000000000 +0000
264 +++ mozilla.bug307168/xpcom/base/nscore.h 2005-12-06 16:35:57.000000000 +0000
265 @@ -105,7 +105,7 @@
266 #define NS_VISIBILITY_HIDDEN
267 #endif
268
269 -#if defined(HAVE_VISIBILITY_HIDDEN_ATTRIBUTE) && defined(HAVE_VISIBILITY_PRAGMA)
270 +#if defined(HAVE_VISIBILITY_ATTRIBUTE)
271 #define NS_VISIBILITY_DEFAULT __attribute__ ((visibility ("default")))
272 #else
273 #define NS_VISIBILITY_DEFAULT