1 |
armin76 09/03/21 16:08:34 |
2 |
|
3 |
Added: 000_flex-configure-LANG.patch |
4 |
002_firefox-libdeps.patch |
5 |
010_visibility-gcc-4.2.patch |
6 |
016_firefox-nss-3.12-asneeded.patch |
7 |
030_sunbird-add-missing-LDFLAGS.patch |
8 |
032_firefox-2.0_ppc64-1.patch |
9 |
033_firefox-2.0_ppc_powerpc.patch |
10 |
050_respect-host-variable.patch |
11 |
055_firefox-2.0_gfbsd-pthreads.patch |
12 |
090_xul-gcc4.3.patch 095_glibc_maxpathlen.patch |
13 |
Log: |
14 |
Looks like i forgot to commit this one |
15 |
|
16 |
Revision Changes Path |
17 |
1.1 src/patchsets/mozilla-sunbird/0.9/000_flex-configure-LANG.patch |
18 |
|
19 |
file : http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/mozilla-sunbird/0.9/000_flex-configure-LANG.patch?rev=1.1&view=markup |
20 |
plain: http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/mozilla-sunbird/0.9/000_flex-configure-LANG.patch?rev=1.1&content-type=text/plain |
21 |
|
22 |
Index: 000_flex-configure-LANG.patch |
23 |
=================================================================== |
24 |
The LANG vars aren't reset early enough so when sed tries to use [a-zA-Z] in |
25 |
option parsing, it may break. |
26 |
|
27 |
http://bugs.gentoo.org/103483 |
28 |
|
29 |
--- configure |
30 |
+++ configure |
31 |
@@ -54,6 +54,16 @@ |
32 |
infodir='${prefix}/info' |
33 |
mandir='${prefix}/man' |
34 |
|
35 |
+# NLS nuisances. |
36 |
+# Only set these to C if already set. These must not be set unconditionally |
37 |
+# because not all systems understand e.g. LANG=C (notably SCO). |
38 |
+# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'! |
39 |
+# Non-C LC_CTYPE values break the ctype check. |
40 |
+if test "${LANG+set}" = set; then LANG=C; export LANG; fi |
41 |
+if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi |
42 |
+if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi |
43 |
+if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi |
44 |
+ |
45 |
# Initialize some other variables. |
46 |
subdirs= |
47 |
MFLAGS= MAKEFLAGS= |
48 |
@@ -452,16 +463,6 @@ |
49 |
esac |
50 |
done |
51 |
|
52 |
-# NLS nuisances. |
53 |
-# Only set these to C if already set. These must not be set unconditionally |
54 |
-# because not all systems understand e.g. LANG=C (notably SCO). |
55 |
-# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'! |
56 |
-# Non-C LC_CTYPE values break the ctype check. |
57 |
-if test "${LANG+set}" = set; then LANG=C; export LANG; fi |
58 |
-if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi |
59 |
-if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi |
60 |
-if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi |
61 |
- |
62 |
# confdefs.h avoids OS command line length limits that DEFS can exceed. |
63 |
rm -rf conftest* confdefs.h |
64 |
# AIX cpp loses on an empty file, so make sure it contains at least a newline. |
65 |
|
66 |
|
67 |
|
68 |
1.1 src/patchsets/mozilla-sunbird/0.9/002_firefox-libdeps.patch |
69 |
|
70 |
file : http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/mozilla-sunbird/0.9/002_firefox-libdeps.patch?rev=1.1&view=markup |
71 |
plain: http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/mozilla-sunbird/0.9/002_firefox-libdeps.patch?rev=1.1&content-type=text/plain |
72 |
|
73 |
Index: 002_firefox-libdeps.patch |
74 |
=================================================================== |
75 |
# Linking issue with pango |
76 |
# |
77 |
# https://bugzilla.mozilla.org/show_bug.cgi?id=344821 |
78 |
|
79 |
--- mozilla/layout/build/Makefile.in.orig 2006-07-16 00:24:51.000000000 +1000 |
80 |
+++ mozilla/layout/build/Makefile.in 2006-07-16 00:35:51.000000000 +1000 |
81 |
@@ -213,6 +213,12 @@ |
82 |
$(NULL) |
83 |
endif |
84 |
|
85 |
+ifdef MOZ_ENABLE_CANVAS |
86 |
+ifdef MOZ_ENABLE_XFT |
87 |
+EXTRA_DSO_LDOPTS += $(MOZ_XFT_LIBS) |
88 |
+endif |
89 |
+endif |
90 |
+ |
91 |
ifdef NS_TRACE_MALLOC |
92 |
EXTRA_DSO_LIBS += tracemalloc |
93 |
endif |
94 |
|
95 |
|
96 |
|
97 |
1.1 src/patchsets/mozilla-sunbird/0.9/010_visibility-gcc-4.2.patch |
98 |
|
99 |
file : http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/mozilla-sunbird/0.9/010_visibility-gcc-4.2.patch?rev=1.1&view=markup |
100 |
plain: http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/mozilla-sunbird/0.9/010_visibility-gcc-4.2.patch?rev=1.1&content-type=text/plain |
101 |
|
102 |
Index: 010_visibility-gcc-4.2.patch |
103 |
=================================================================== |
104 |
--- configure.in.orig 2007-10-12 20:39:27.000000000 +0200 |
105 |
+++ configure.in 2007-10-12 20:40:49.000000000 +0200 |
106 |
@@ -2657,8 +2657,7 @@ |
107 |
]) |
108 |
if test "$ac_cv_have_visibility_builtin_bug" = "no" -a \ |
109 |
"$ac_cv_have_visibility_class_bug" = "no"; then |
110 |
- VISIBILITY_FLAGS='-I$(DIST)/include/system_wrappers -include $(topsrcdir)/config/gcc_hidden.h' |
111 |
- WRAP_SYSTEM_INCLUDES=1 |
112 |
+ VISIBILITY_FLAGS='-fvisibility=hidden' |
113 |
else |
114 |
VISIBILITY_FLAGS='-fvisibility=hidden' |
115 |
fi # have visibility pragma bug |
116 |
|
117 |
|
118 |
|
119 |
1.1 src/patchsets/mozilla-sunbird/0.9/016_firefox-nss-3.12-asneeded.patch |
120 |
|
121 |
file : http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/mozilla-sunbird/0.9/016_firefox-nss-3.12-asneeded.patch?rev=1.1&view=markup |
122 |
plain: http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/mozilla-sunbird/0.9/016_firefox-nss-3.12-asneeded.patch?rev=1.1&content-type=text/plain |
123 |
|
124 |
Index: 016_firefox-nss-3.12-asneeded.patch |
125 |
=================================================================== |
126 |
# Fix a FTBFS with system libnss (caused by bad linking order with libcrmf) |
127 |
# by Fabien Tassin <fta@×××××××××.org> |
128 |
|
129 |
Index: seamonkey-1.1.4/configure.in |
130 |
=================================================================== |
131 |
--- seamonkey-1.1.4.orig/configure.in |
132 |
+++ seamonkey-1.1.4/configure.in |
133 |
@@ -3735,17 +3735,17 @@ |
134 |
[ --with-system-nss Use system installed NSS], |
135 |
_USE_SYSTEM_NSS=1 ) |
136 |
|
137 |
if test -n "$_USE_SYSTEM_NSS"; then |
138 |
AM_PATH_NSS(3.0.0, [MOZ_NATIVE_NSS=1], [MOZ_NATIVE_NSS=]) |
139 |
fi |
140 |
|
141 |
if test -n "$MOZ_NATIVE_NSS"; then |
142 |
- NSS_LIBS="$NSS_LIBS -lcrmf" |
143 |
+ NSS_LIBS=" -lcrmf $NSS_LIBS" |
144 |
else |
145 |
NSS_CFLAGS='-I$(DIST)/public/nss' |
146 |
NSS_DEP_LIBS='\\\ |
147 |
$(DIST)/lib/$(LIB_PREFIX)crmf.$(LIB_SUFFIX) \\\ |
148 |
$(DIST)/lib/$(DLL_PREFIX)smime'$NSS_VERSION'$(DLL_SUFFIX) \\\ |
149 |
$(DIST)/lib/$(DLL_PREFIX)ssl'$NSS_VERSION'$(DLL_SUFFIX) \\\ |
150 |
$(DIST)/lib/$(DLL_PREFIX)nss'$NSS_VERSION'$(DLL_SUFFIX) \\\ |
151 |
$(DIST)/lib/$(DLL_PREFIX)softokn'$NSS_VERSION'$(DLL_SUFFIX)' |
152 |
|
153 |
|
154 |
|
155 |
|
156 |
1.1 src/patchsets/mozilla-sunbird/0.9/030_sunbird-add-missing-LDFLAGS.patch |
157 |
|
158 |
file : http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/mozilla-sunbird/0.9/030_sunbird-add-missing-LDFLAGS.patch?rev=1.1&view=markup |
159 |
plain: http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/mozilla-sunbird/0.9/030_sunbird-add-missing-LDFLAGS.patch?rev=1.1&content-type=text/plain |
160 |
|
161 |
Index: 030_sunbird-add-missing-LDFLAGS.patch |
162 |
=================================================================== |
163 |
--- layout/build/Makefile.in.orig 2007-02-12 20:42:13.000000000 +0100 |
164 |
+++ layout/build/Makefile.in 2007-02-12 20:49:48.000000000 +0100 |
165 |
@@ -291,6 +291,7 @@ |
166 |
endif |
167 |
endif |
168 |
|
169 |
+LDFLAGS += -lX11 -lXrender |
170 |
|
171 |
export:: $(BUILD_DATE) |
172 |
|
173 |
|
174 |
|
175 |
|
176 |
1.1 src/patchsets/mozilla-sunbird/0.9/032_firefox-2.0_ppc64-1.patch |
177 |
|
178 |
file : http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/mozilla-sunbird/0.9/032_firefox-2.0_ppc64-1.patch?rev=1.1&view=markup |
179 |
plain: http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/mozilla-sunbird/0.9/032_firefox-2.0_ppc64-1.patch?rev=1.1&content-type=text/plain |
180 |
|
181 |
Index: 032_firefox-2.0_ppc64-1.patch |
182 |
=================================================================== |
183 |
# Upstream https://bugzilla.mozilla.org/show_bug.cgi?id=361415 |
184 |
|
185 |
unchanged: |
186 |
--- mozilla.orig/xpcom/reflect/xptcall/src/md/unix/Makefile.in 2006-11-21 17:09:28.000000000 +0000 |
187 |
+++ mozilla/xpcom/reflect/xptcall/src/md/unix/Makefile.in 2006-11-20 10:13:38.000000000 +0000 |
188 |
@@ -267,6 +267,11 @@ |
189 |
ASFILES := xptcinvoke_asm_ppc_linux.s xptcstubs_asm_ppc_linux.s |
190 |
AS := $(CC) -c -x assembler-with-cpp |
191 |
endif |
192 |
+ifeq ($(OS_ARCH)$(OS_TEST),Linuxppc64) |
193 |
+CPPSRCS := xptcinvoke_ppc64_linux.cpp xptcstubs_ppc64_linux.cpp |
194 |
+ASFILES := xptcinvoke_asm_ppc64_linux.s xptcstubs_asm_ppc64_linux.s |
195 |
+AS := $(CC) -c -x assembler-with-cpp |
196 |
+endif |
197 |
|
198 |
# |
199 |
# NetBSD/PPC |
200 |
diff -u mozilla/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_asm_ppc64_linux.s mozilla/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_asm_ppc64_linux.s |
201 |
--- mozilla/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_asm_ppc64_linux.s 2006-11-21 14:01:45.000000000 +0000 |
202 |
+++ mozilla/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_asm_ppc64_linux.s 2006-11-22 10:43:26.000000000 +0000 |
203 |
@@ -0,0 +1,154 @@ |
204 |
+// -*- Mode: Asm -*- |
205 |
+// |
206 |
+// The contents of this file are subject to the Netscape Public |
207 |
+// License Version 1.1 (the "License"); you may not use this file |
208 |
+// except in compliance with the License. You may obtain a copy of |
209 |
+// the License at http://www.mozilla.org/NPL/ |
210 |
+// |
211 |
+// Software distributed under the License is distributed on an "AS |
212 |
+// IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or |
213 |
+// implied. See the License for the specific language governing |
214 |
+// rights and limitations under the License. |
215 |
+// |
216 |
+// The Original Code is mozilla.org code. |
217 |
+// |
218 |
+// The Initial Developer of the Original Code is Netscape |
219 |
+// Communications Corporation. Portions created by Netscape are |
220 |
+// Copyright (C) 1999 Netscape Communications Corporation. All |
221 |
+// Rights Reserved. |
222 |
+// |
223 |
+// Contributor(s): |
224 |
+// dwmw2@×××××××××.org (David Woodhouse) |
225 |
+// Franz.Sirl-kernel@××××××××××.com (Franz Sirl) |
226 |
+// beard@××××××××.com (Patrick Beard) |
227 |
+// waterson@××××××××.com (Chris Waterson) |
228 |
+// |
229 |
+ |
230 |
+.set r0,0; .set r1,1; .set r2,2; .set r3,3; .set r4,4 |
231 |
+.set r5,5; .set r6,6; .set r7,7; .set r8,8; .set r9,9 |
232 |
+.set r10,10; .set r11,11; .set r12,12; .set r13,13; .set r14,14 |
233 |
+.set r15,15; .set r16,16; .set r17,17; .set r18,18; .set r19,19 |
234 |
+.set r20,20; .set r21,21; .set r22,22; .set r23,23; .set r24,24 |
235 |
+.set r25,25; .set r26,26; .set r27,27; .set r28,28; .set r29,29 |
236 |
+.set r30,30; .set r31,31 |
237 |
+.set f0,0; .set f1,1; .set f2,2; .set f3,3; .set f4,4 |
238 |
+.set f5,5; .set f6,6; .set f7,7; .set f8,8; .set f9,9 |
239 |
+.set f10,10; .set f11,11; .set f12,12; .set f13,13; .set f14,14 |
240 |
+.set f15,15; .set f16,16; .set f17,17; .set f18,18; .set f19,19 |
241 |
+.set f20,20; .set f21,21; .set f22,22; .set f23,23; .set f24,24 |
242 |
+.set f25,25; .set f26,26; .set f27,27; .set f28,28; .set f29,29 |
243 |
+.set f30,30; .set f31,31 |
244 |
+ |
245 |
+ |
246 |
+// |
247 |
+// XPTC_InvokeByIndex(nsISupports* that, PRUint32 methodIndex, |
248 |
+// PRUint32 paramCount, nsXPTCVariant* params) |
249 |
+// |
250 |
+ |
251 |
+ .section ".toc","aw" |
252 |
+ .section ".text" |
253 |
+ .align 2 |
254 |
+ .globl XPTC_InvokeByIndex |
255 |
+ .section ".opd","aw" |
256 |
+ .align 3 |
257 |
+XPTC_InvokeByIndex: |
258 |
+ .quad .XPTC_InvokeByIndex,.TOC.@tocbase |
259 |
+ .previous |
260 |
+ .type XPTC_InvokeByIndex,@function |
261 |
+.XPTC_InvokeByIndex: |
262 |
+ mflr 0 |
263 |
+ std 0,16(r1) |
264 |
+ |
265 |
+ std r29,-24(r1) |
266 |
+ std r30,-16(r1) |
267 |
+ std r31,-8(r1) |
268 |
+ |
269 |
+ mr r29,r3 // Save 'that' in r29 |
270 |
+ mr r30,r4 // Save 'methodIndex' in r30 |
271 |
+ mr r31,r1 // Save old frame |
272 |
+ |
273 |
+ // Allocate stack frame with space for params. Since at least the |
274 |
+ // first 7 parameters (not including 'that') will be in registers, |
275 |
+ // we don't actually need stack space for those. We must ensure |
276 |
+ // that the stack remains 16-byte aligned. |
277 |
+ // |
278 |
+ // | ..128-byte stack frame.. | | 7 GP | 13 FP | 3 NV | |
279 |
+ // | |(params)........| regs | regs | regs | |
280 |
+ // (r1)...........(+112)....(+128) |
281 |
+ // (-23*8).(-16*8).(-3*8)..(r31) |
282 |
+ |
283 |
+ // +stack frame, -unused stack params, +regs storage, +1 for alignment |
284 |
+ addi r7,r5,((112/8)-7+7+13+3+1) |
285 |
+ rldicr r7,r7,3,59 // multiply by 8 and mask with ~15 |
286 |
+ neg r7,r7 |
287 |
+ stdux r1,r1,r7 |
288 |
+ |
289 |
+ |
290 |
+ // Call invoke_copy_to_stack(PRUint64* gpregs, double* fpregs, |
291 |
+ // PRUint32 paramCount, nsXPTCVariant* s, |
292 |
+ // PRUint64* d)) |
293 |
+ |
294 |
+ // r5, r6 are passed through intact (paramCount, params) |
295 |
+ // r7 (d) has to be r1+112 -- where parameters are passed on the stack. |
296 |
+ // r3, r4 are above that, easier to address from r31 than from r1 |
297 |
+ |
298 |
+ subi r3,r31,(23*8) // r3 --> GPRS |
299 |
+ subi r4,r31,(16*8) // r4 --> FPRS |
300 |
+ addi r7,r1,112 // r7 --> params |
301 |
+ bl invoke_copy_to_stack |
302 |
+ nop |
303 |
+ |
304 |
+ // Set up to invoke function |
305 |
+ |
306 |
+ ld r9,0(r29) // vtable (r29 is 'that') |
307 |
+ mr r3,r29 // self is first arg, obviously |
308 |
+ |
309 |
+ sldi r30,r30,3 // Find function descriptor |
310 |
+ add r9,r9,r30 |
311 |
+ ld r9,0(r9) |
312 |
+ |
313 |
+ ld r0,0(r9) // Actual address from fd. |
314 |
+ std r2,40(r1) // Save r2 (TOC pointer) |
315 |
+ |
316 |
+ mtctr 0 |
317 |
+ ld r11,16(r9) // Environment pointer from fd. |
318 |
+ ld r2,8(r9) // TOC pointer from fd. |
319 |
+ |
320 |
+ // Load FP and GP registers as required |
321 |
+ ld r4, -(23*8)(r31) |
322 |
+ ld r5, -(22*8)(r31) |
323 |
+ ld r6, -(21*8)(r31) |
324 |
+ ld r7, -(20*8)(r31) |
325 |
+ ld r8, -(19*8)(r31) |
326 |
+ ld r9, -(18*8)(r31) |
327 |
+ ld r10, -(17*8)(r31) |
328 |
+ |
329 |
+ lfd f1, -(16*8)(r31) |
330 |
+ lfd f2, -(15*8)(r31) |
331 |
+ lfd f3, -(14*8)(r31) |
332 |
+ lfd f4, -(13*8)(r31) |
333 |
+ lfd f5, -(12*8)(r31) |
334 |
+ lfd f6, -(11*8)(r31) |
335 |
+ lfd f7, -(10*8)(r31) |
336 |
+ lfd f8, -(9*8)(r31) |
337 |
+ lfd f9, -(8*8)(r31) |
338 |
+ lfd f10, -(7*8)(r31) |
339 |
+ lfd f11, -(6*8)(r31) |
340 |
+ lfd f12, -(5*8)(r31) |
341 |
+ lfd f13, -(4*8)(r31) |
342 |
+ |
343 |
+ bctrl // Do it |
344 |
+ |
345 |
+ ld r2,40(r1) // Load our own TOC pointer |
346 |
+ ld r1,0(r1) // Revert stack frame |
347 |
+ ld 0,16(r1) // Reload lr |
348 |
+ ld 29,-24(r1) // Restore NVGPRS |
349 |
+ ld 30,-16(r1) |
350 |
+ ld 31,-8(r1) |
351 |
+ mtlr 0 |
352 |
+ blr |
353 |
+ |
354 |
+ .size XPTC_InvokeByIndex,.-.XPTC_InvokeByIndex |
355 |
+ |
356 |
+ /* Magic indicating no need for an executable stack */ |
357 |
+ .section .note.GNU-stack, "", @progbits ; .previous |
358 |
--- mozilla.orig/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_ppc64_linux.cpp 1970-01-01 01:00:00.000000000 +0100 |
359 |
+++ mozilla/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_ppc64_linux.cpp 2006-11-21 17:00:06.000000000 +0000 |
360 |
@@ -0,0 +1,127 @@ |
361 |
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ |
362 |
+/* ***** BEGIN LICENSE BLOCK ***** |
363 |
+ * Version: MPL 1.1/GPL 2.0/LGPL 2.1 |
364 |
+ * |
365 |
+ * The contents of this file are subject to the Mozilla Public License Version |
366 |
+ * 1.1 (the "License"); you may not use this file except in compliance with |
367 |
+ * the License. You may obtain a copy of the License at |
368 |
+ * http://www.mozilla.org/MPL/ |
369 |
+ * |
370 |
+ * Software distributed under the License is distributed on an "AS IS" basis, |
371 |
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License |
372 |
+ * for the specific language governing rights and limitations under the |
373 |
+ * License. |
374 |
+ * |
375 |
+ * The Original Code is mozilla.org code. |
376 |
+ * |
377 |
+ * The Initial Developer of the Original Code is |
378 |
+ * Netscape Communications Corporation. |
379 |
+ * Portions created by the Initial Developer are Copyright (C) 1998 |
380 |
+ * the Initial Developer. All Rights Reserved. |
381 |
+ * |
382 |
+ * Contributor(s): |
383 |
+ * dwmw2@×××××××××.org (David Woodhouse) |
384 |
+ * Franz.Sirl-kernel@××××××××××.com (Franz Sirl) |
385 |
+ * beard@××××××××.com (Patrick Beard) |
386 |
+ * waterson@××××××××.com (Chris Waterson) |
387 |
+ * |
388 |
+ * Alternatively, the contents of this file may be used under the terms of |
389 |
+ * either of the GNU General Public License Version 2 or later (the "GPL"), |
390 |
+ * or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), |
391 |
+ * in which case the provisions of the GPL or the LGPL are applicable instead |
392 |
+ * of those above. If you wish to allow use of your version of this file only |
393 |
+ * under the terms of either the GPL or the LGPL, and not to allow others to |
394 |
+ * use your version of this file under the terms of the MPL, indicate your |
395 |
+ * decision by deleting the provisions above and replace them with the notice |
396 |
+ * and other provisions required by the GPL or the LGPL. If you do not delete |
397 |
+ * the provisions above, a recipient may use your version of this file under |
398 |
+ * the terms of any one of the MPL, the GPL or the LGPL. |
399 |
+ * |
400 |
+ * ***** END LICENSE BLOCK ***** */ |
401 |
+ |
402 |
+// Platform specific code to invoke XPCOM methods on native objects |
403 |
+ |
404 |
+// The purpose of XPTC_InvokeByIndex() is to map a platform |
405 |
+// independent call to the platform ABI. To do that, |
406 |
+// XPTC_InvokeByIndex() has to determine the method to call via vtable |
407 |
+// access. The parameters for the method are read from the |
408 |
+// nsXPTCVariant* and prepared for the native ABI. |
409 |
+ |
410 |
+#include <stdio.h> |
411 |
+#include "xptcprivate.h" |
412 |
+ |
413 |
+// 8 integral parameters are passed in registers, not including 'that' |
414 |
+#define GPR_COUNT 7 |
415 |
+ |
416 |
+// 8 floating point parameters are passed in registers, floats are |
417 |
+// promoted to doubles when passed in registers |
418 |
+#define FPR_COUNT 13 |
419 |
+ |
420 |
+extern "C" PRUint32 |
421 |
+invoke_count_words(PRUint32 paramCount, nsXPTCVariant* s) |
422 |
+{ |
423 |
+ return PRUint32(((paramCount * 2) + 3) & ~3); |
424 |
+} |
425 |
+ |
426 |
+extern "C" void |
427 |
+invoke_copy_to_stack(PRUint64* gpregs, |
428 |
+ double* fpregs, |
429 |
+ PRUint32 paramCount, |
430 |
+ nsXPTCVariant* s, |
431 |
+ PRUint64* d) |
432 |
+{ |
433 |
+ PRUint64 tempu64; |
434 |
+ |
435 |
+ for(uint32 i = 0; i < paramCount; i++, s++) { |
436 |
+ if(s->IsPtrData()) |
437 |
+ tempu64 = (PRUint64) s->ptr; |
438 |
+ else { |
439 |
+ switch(s->type) { |
440 |
+ case nsXPTType::T_FLOAT: break; |
441 |
+ case nsXPTType::T_DOUBLE: break; |
442 |
+ case nsXPTType::T_I8: tempu64 = s->val.i8; break; |
443 |
+ case nsXPTType::T_I16: tempu64 = s->val.i16; break; |
444 |
+ case nsXPTType::T_I32: tempu64 = s->val.i32; break; |
445 |
+ case nsXPTType::T_I64: tempu64 = s->val.i64; break; |
446 |
+ case nsXPTType::T_U8: tempu64 = s->val.u8; break; |
447 |
+ case nsXPTType::T_U16: tempu64 = s->val.u16; break; |
448 |
+ case nsXPTType::T_U32: tempu64 = s->val.u32; break; |
449 |
+ case nsXPTType::T_U64: tempu64 = s->val.u64; break; |
450 |
+ case nsXPTType::T_BOOL: tempu64 = s->val.b; break; |
451 |
+ case nsXPTType::T_CHAR: tempu64 = s->val.c; break; |
452 |
+ case nsXPTType::T_WCHAR: tempu64 = s->val.wc; break; |
453 |
+ default: tempu64 = (PRUint64) s->val.p; break; |
454 |
+ } |
455 |
+ } |
456 |
+ |
457 |
+ if (!s->IsPtrData() && s->type == nsXPTType::T_DOUBLE) { |
458 |
+ if (i < FPR_COUNT) |
459 |
+ fpregs[i] = s->val.d; |
460 |
+ else |
461 |
+ *(double *)d = s->val.d; |
462 |
+ } |
463 |
+ else if (!s->IsPtrData() && s->type == nsXPTType::T_FLOAT) { |
464 |
+ if (i < FPR_COUNT) { |
465 |
+ fpregs[i] = s->val.f; // if passed in registers, floats are promoted to doubles |
466 |
+ } else { |
467 |
+ float *p = (float *)d; |
468 |
+ p++; |
469 |
+ *p = s->val.f; |
470 |
+ } |
471 |
+ } |
472 |
+ else { |
473 |
+ if (i < GPR_COUNT) |
474 |
+ gpregs[i] = tempu64; |
475 |
+ else |
476 |
+ *d = tempu64; |
477 |
+ } |
478 |
+ if (i >= 7) |
479 |
+ d++; |
480 |
+ } |
481 |
+} |
482 |
+ |
483 |
+extern "C" |
484 |
+XPTC_PUBLIC_API(nsresult) |
485 |
+XPTC_InvokeByIndex(nsISupports* that, PRUint32 methodIndex, |
486 |
+ PRUint32 paramCount, nsXPTCVariant* params); |
487 |
+ |
488 |
diff -u mozilla/xpcom/reflect/xptcall/src/md/unix/xptcstubs_asm_ppc64_linux.s mozilla/xpcom/reflect/xptcall/src/md/unix/xptcstubs_asm_ppc64_linux.s |
489 |
--- mozilla/xpcom/reflect/xptcall/src/md/unix/xptcstubs_asm_ppc64_linux.s 2006-11-21 16:38:52.000000000 +0000 |
490 |
+++ mozilla/xpcom/reflect/xptcall/src/md/unix/xptcstubs_asm_ppc64_linux.s 2006-11-22 10:51:14.000000000 +0000 |
491 |
@@ -0,0 +1,102 @@ |
492 |
+// -*- Mode: Asm -*- |
493 |
+// |
494 |
+// The contents of this file are subject to the Netscape Public |
495 |
+// License Version 1.1 (the "License"); you may not use this file |
496 |
+// except in compliance with the License. You may obtain a copy of |
497 |
+// the License at http://www.mozilla.org/NPL/ |
498 |
+// |
499 |
+// Software distributed under the License is distributed on an "AS |
500 |
+// IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or |
501 |
+// implied. See the License for the specific language governing |
502 |
+// rights and limitations under the License. |
503 |
+// |
504 |
+// The Original Code is mozilla.org code. |
505 |
+// |
506 |
+// The Initial Developer of the Original Code is Netscape |
507 |
+// Communications Corporation. Portions created by Netscape are |
508 |
+// Copyright (C) 1999 Netscape Communications Corporation. All |
509 |
+// Rights Reserved. |
510 |
+// |
511 |
+// Contributor(s): |
512 |
+// dwmw2@×××××××××.org (David Woodhouse) |
513 |
+// Franz.Sirl-kernel@××××××××××.com (Franz Sirl) |
514 |
+// beard@××××××××.com (Patrick Beard) |
515 |
+// waterson@××××××××.com (Chris Waterson) |
516 |
+// |
517 |
+ |
518 |
+.set r0,0; .set r1,1; .set RTOC,2; .set r3,3; .set r4,4 |
519 |
+.set r5,5; .set r6,6; .set r7,7; .set r8,8; .set r9,9 |
520 |
+.set r10,10; .set r11,11; .set r12,12; .set r13,13; .set r14,14 |
521 |
+.set r15,15; .set r16,16; .set r17,17; .set r18,18; .set r19,19 |
522 |
+.set r20,20; .set r21,21; .set r22,22; .set r23,23; .set r24,24 |
523 |
+.set r25,25; .set r26,26; .set r27,27; .set r28,28; .set r29,29 |
524 |
+.set r30,30; .set r31,31 |
525 |
+.set f0,0; .set f1,1; .set f2,2; .set f3,3; .set f4,4 |
526 |
+.set f5,5; .set f6,6; .set f7,7; .set f8,8; .set f9,9 |
527 |
+.set f10,10; .set f11,11; .set f12,12; .set f13,13; .set f14,14 |
528 |
+.set f15,15; .set f16,16; .set f17,17; .set f18,18; .set f19,19 |
529 |
+.set f20,20; .set f21,21; .set f22,22; .set f23,23; .set f24,24 |
530 |
+.set f25,25; .set f26,26; .set f27,27; .set f28,28; .set f29,29 |
531 |
+.set f30,30; .set f31,31 |
532 |
+ |
533 |
+ .section ".text" |
534 |
+ .align 2 |
535 |
+ .globl SharedStub |
536 |
+ .section ".opd","aw" |
537 |
+ .align 3 |
538 |
+ |
539 |
+SharedStub: |
540 |
+ .quad .SharedStub,.TOC.@tocbase |
541 |
+ .previous |
542 |
+ .type SharedStub,@function |
543 |
+ |
544 |
+.SharedStub: |
545 |
+ mflr r0 |
546 |
+ |
547 |
+ std r4, -56(r1) // Save all GPRS |
548 |
+ std r5, -48(r1) |
549 |
+ std r6, -40(r1) |
550 |
+ std r7, -32(r1) |
551 |
+ std r8, -24(r1) |
552 |
+ std r9, -16(r1) |
553 |
+ std r10, -8(r1) |
554 |
+ |
555 |
+ stfd f13, -64(r1) // ... and FPRS |
556 |
+ stfd f12, -72(r1) |
557 |
+ stfd f11, -80(r1) |
558 |
+ stfd f10, -88(r1) |
559 |
+ stfd f9, -96(r1) |
560 |
+ stfd f8, -104(r1) |
561 |
+ stfd f7, -112(r1) |
562 |
+ stfd f6, -120(r1) |
563 |
+ stfd f5, -128(r1) |
564 |
+ stfd f4, -136(r1) |
565 |
+ stfd f3, -144(r1) |
566 |
+ stfd f2, -152(r1) |
567 |
+ stfd f1, -160(r1) |
568 |
+ |
569 |
+ subi r6,r1,56 // r6 --> gprData |
570 |
+ subi r7,r1,160 // r7 --> fprData |
571 |
+ addi r5,r1,112 // r5 --> extra stack args |
572 |
+ |
573 |
+ std r0, 16(r1) |
574 |
+ |
575 |
+ stdu r1,-288(r1) |
576 |
+ // r3 has the 'self' pointer already |
577 |
+ |
578 |
+ mr r4,r11 // r4 is methodIndex selector, passed |
579 |
+ // via r11 in the nsXPTCStubBase::StubXX() call |
580 |
+ |
581 |
+ bl PrepareAndDispatch |
582 |
+ nop |
583 |
+ |
584 |
+ ld 1,0(r1) // restore stack |
585 |
+ ld r0,16(r1) // restore LR |
586 |
+ mtlr r0 |
587 |
+ blr |
588 |
+ |
589 |
+ .size SharedStub,.-.SharedStub |
590 |
+ |
591 |
+ |
592 |
+/* Magic indicating no need for an executable stack */ |
593 |
+.section .note.GNU-stack, "", @progbits ; .previous |
594 |
unchanged: |
595 |
--- mozilla.orig/xpcom/reflect/xptcall/src/md/unix/xptcstubs_ppc64_linux.cpp 1970-01-01 01:00:00.000000000 +0100 |
596 |
+++ mozilla/xpcom/reflect/xptcall/src/md/unix/xptcstubs_ppc64_linux.cpp 2006-11-21 16:59:46.000000000 +0000 |
597 |
@@ -0,0 +1,247 @@ |
598 |
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ |
599 |
+/* ***** BEGIN LICENSE BLOCK ***** |
600 |
+ * Version: MPL 1.1/GPL 2.0/LGPL 2.1 |
601 |
+ * |
602 |
+ * The contents of this file are subject to the Mozilla Public License Version |
603 |
+ * 1.1 (the "License"); you may not use this file except in compliance with |
604 |
+ * the License. You may obtain a copy of the License at |
605 |
+ * http://www.mozilla.org/MPL/ |
606 |
+ * |
607 |
+ * Software distributed under the License is distributed on an "AS IS" basis, |
608 |
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License |
609 |
+ * for the specific language governing rights and limitations under the |
610 |
+ * License. |
611 |
+ * |
612 |
+ * The Original Code is mozilla.org code. |
613 |
+ * |
614 |
+ * The Initial Developer of the Original Code is |
615 |
+ * Netscape Communications Corporation. |
616 |
+ * Portions created by the Initial Developer are Copyright (C) 1999 |
617 |
+ * the Initial Developer. All Rights Reserved. |
618 |
+ * |
619 |
+ * Contributor(s): |
620 |
+ * dwmw2@×××××××××.org (David Woodhouse) |
621 |
+ * Franz.Sirl-kernel@××××××××××.com (Franz Sirl) |
622 |
+ * beard@××××××××.com (Patrick Beard) |
623 |
+ * waterson@××××××××.com (Chris Waterson) |
624 |
+ * |
625 |
+ * Alternatively, the contents of this file may be used under the terms of |
626 |
+ * either of the GNU General Public License Version 2 or later (the "GPL"), |
627 |
+ * or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), |
628 |
+ * in which case the provisions of the GPL or the LGPL are applicable instead |
629 |
+ * of those above. If you wish to allow use of your version of this file only |
630 |
+ * under the terms of either the GPL or the LGPL, and not to allow others to |
631 |
+ * use your version of this file under the terms of the MPL, indicate your |
632 |
+ * decision by deleting the provisions above and replace them with the notice |
633 |
+ * and other provisions required by the GPL or the LGPL. If you do not delete |
634 |
+ * the provisions above, a recipient may use your version of this file under |
635 |
+ * the terms of any one of the MPL, the GPL or the LGPL. |
636 |
+ * |
637 |
+ * ***** END LICENSE BLOCK ***** */ |
638 |
+ |
639 |
+// Implement shared vtbl methods. |
640 |
+ |
641 |
+#include "xptcprivate.h" |
642 |
+ |
643 |
+// The Linux/PPC ABI (aka PPC/SYSV ABI) passes the first 8 integral |
644 |
+// parameters and the first 13 floating point parameters in registers |
645 |
+// (r3-r10 and f1-f13), no stack space is allocated for these by the |
646 |
+// caller. The rest of the parameters are passed in the callers stack |
647 |
+// area. The stack pointer has to retain 16-byte alignment, longlongs |
648 |
+// and doubles are aligned on 8-byte boundaries. |
649 |
+ |
650 |
+#define PARAM_BUFFER_COUNT 16 |
651 |
+#define GPR_COUNT 7 |
652 |
+#define FPR_COUNT 13 |
653 |
+ |
654 |
+// PrepareAndDispatch() is called by SharedStub() and calls the actual method. |
655 |
+// |
656 |
+// - 'args[]' contains the arguments passed on stack |
657 |
+// - 'gprData[]' contains the arguments passed in integer registers |
658 |
+// - 'fprData[]' contains the arguments passed in floating point registers |
659 |
+// |
660 |
+// The parameters are mapped into an array of type 'nsXPTCMiniVariant' |
661 |
+// and then the method gets called. |
662 |
+#include <stdio.h> |
663 |
+extern "C" nsresult |
664 |
+PrepareAndDispatch(nsXPTCStubBase* self, |
665 |
+ PRUint64 methodIndex, |
666 |
+ PRUint64* args, |
667 |
+ PRUint64 *gprData, |
668 |
+ double *fprData) |
669 |
+{ |
670 |
+ nsXPTCMiniVariant paramBuffer[PARAM_BUFFER_COUNT]; |
671 |
+ nsXPTCMiniVariant* dispatchParams = NULL; |
672 |
+ nsIInterfaceInfo* iface_info = NULL; |
673 |
+ const nsXPTMethodInfo* info; |
674 |
+ PRUint32 paramCount; |
675 |
+ PRUint32 i; |
676 |
+ nsresult result = NS_ERROR_FAILURE; |
677 |
+ |
678 |
+ NS_ASSERTION(self,"no self"); |
679 |
+ |
680 |
+ self->GetInterfaceInfo(&iface_info); |
681 |
+ NS_ASSERTION(iface_info,"no interface info"); |
682 |
+ if (! iface_info) |
683 |
+ return NS_ERROR_UNEXPECTED; |
684 |
+ |
685 |
+ iface_info->GetMethodInfo(PRUint16(methodIndex), &info); |
686 |
+ NS_ASSERTION(info,"no method info"); |
687 |
+ if (! info) |
688 |
+ return NS_ERROR_UNEXPECTED; |
689 |
+ |
690 |
+ paramCount = info->GetParamCount(); |
691 |
+ |
692 |
+ // setup variant array pointer |
693 |
+ if(paramCount > PARAM_BUFFER_COUNT) |
694 |
+ dispatchParams = new nsXPTCMiniVariant[paramCount]; |
695 |
+ else |
696 |
+ dispatchParams = paramBuffer; |
697 |
+ |
698 |
+ NS_ASSERTION(dispatchParams,"no place for params"); |
699 |
+ if (! dispatchParams) |
700 |
+ return NS_ERROR_OUT_OF_MEMORY; |
701 |
+ |
702 |
+ PRUint64* ap = args; |
703 |
+ PRUint64 tempu64; |
704 |
+ |
705 |
+ for(i = 0; i < paramCount; i++) { |
706 |
+ const nsXPTParamInfo& param = info->GetParam(i); |
707 |
+ const nsXPTType& type = param.GetType(); |
708 |
+ nsXPTCMiniVariant* dp = &dispatchParams[i]; |
709 |
+ |
710 |
+ if (!param.IsOut() && type == nsXPTType::T_DOUBLE) { |
711 |
+ if (i < FPR_COUNT) |
712 |
+ dp->val.d = fprData[i]; |
713 |
+ else |
714 |
+ dp->val.d = *(double*) ap; |
715 |
+ } else if (!param.IsOut() && type == nsXPTType::T_FLOAT) { |
716 |
+ if (i < FPR_COUNT) |
717 |
+ dp->val.f = (float) fprData[i]; // in registers floats are passed as doubles |
718 |
+ else { |
719 |
+ float *p = (float *)ap; |
720 |
+ p++; |
721 |
+ dp->val.f = *p; |
722 |
+ } |
723 |
+ } else { /* integer type or pointer */ |
724 |
+ if (i < GPR_COUNT) |
725 |
+ tempu64 = gprData[i]; |
726 |
+ else |
727 |
+ tempu64 = *ap; |
728 |
+ |
729 |
+ if (param.IsOut() || !type.IsArithmetic()) |
730 |
+ dp->val.p = (void*) tempu64; |
731 |
+ else if (type ==nsXPTType::T_I8) |
732 |
+ dp->val.i8 = (PRInt8) tempu64; |
733 |
+ else if (type ==nsXPTType::T_I16) |
734 |
+ dp->val.i16 = (PRInt16) tempu64; |
735 |
+ else if (type ==nsXPTType::T_I32) |
736 |
+ dp->val.i32 = (PRInt32) tempu64; |
737 |
+ else if (type ==nsXPTType::T_I64) |
738 |
+ dp->val.i64 = (PRInt64) tempu64; |
739 |
+ else if (type ==nsXPTType::T_U8) |
740 |
+ dp->val.u8 = (PRUint8) tempu64; |
741 |
+ else if (type ==nsXPTType::T_U16) |
742 |
+ dp->val.u16 = (PRUint16) tempu64; |
743 |
+ else if (type ==nsXPTType::T_U32) |
744 |
+ dp->val.u32 = (PRUint32) tempu64; |
745 |
+ else if (type ==nsXPTType::T_U64) |
746 |
+ dp->val.u64 = (PRUint64) tempu64; |
747 |
+ else if (type ==nsXPTType::T_BOOL) |
748 |
+ dp->val.b = (PRBool) tempu64; |
749 |
+ else if (type ==nsXPTType::T_CHAR) |
750 |
+ dp->val.c = (char) tempu64; |
751 |
+ else if (type ==nsXPTType::T_WCHAR) |
752 |
+ dp->val.wc = (wchar_t) tempu64; |
753 |
+ else |
754 |
+ NS_ASSERTION(0, "bad type"); |
755 |
+ } |
756 |
+ |
757 |
+ if (i >= 7) |
758 |
+ ap++; |
759 |
+ } |
760 |
+ |
761 |
+ result = self->CallMethod((PRUint16) methodIndex, info, dispatchParams); |
762 |
+ |
763 |
+ NS_RELEASE(iface_info); |
764 |
+ |
765 |
+ if (dispatchParams != paramBuffer) |
766 |
+ delete [] dispatchParams; |
767 |
+ |
768 |
+ return result; |
769 |
+} |
770 |
+ |
771 |
+// Load r11 with the constant 'n' and branch to SharedStub(). |
772 |
+// |
773 |
+// XXX Yes, it's ugly that we're relying on gcc's name-mangling here; |
774 |
+// however, it's quick, dirty, and'll break when the ABI changes on |
775 |
+// us, which is what we want ;-). |
776 |
+ |
777 |
+#if __GXX_ABI_VERSION < 100 |
778 |
+#error Prehistoric GCC not supported here |
779 |
+#else |
780 |
+// gcc-3 version |
781 |
+// |
782 |
+// As G++3 ABI contains the length of the functionname in the mangled |
783 |
+// name, it is difficult to get a generic assembler mechanism like |
784 |
+// in the G++ 2.95 case. |
785 |
+// Create names would be like: |
786 |
+// _ZN14nsXPTCStubBase5Stub1Ev |
787 |
+// _ZN14nsXPTCStubBase6Stub12Ev |
788 |
+// _ZN14nsXPTCStubBase7Stub123Ev |
789 |
+// _ZN14nsXPTCStubBase8Stub1234Ev |
790 |
+// etc. |
791 |
+// Use assembler directives to get the names right... |
792 |
+ |
793 |
+# define STUB_ENTRY(n) \ |
794 |
+__asm__ ( \ |
795 |
+ ".section \".toc\",\"aw\" \n\t" \ |
796 |
+ ".section \".text\" \n\t" \ |
797 |
+ ".align 2 \n\t" \ |
798 |
+ ".if "#n" < 10 \n\t" \ |
799 |
+ ".globl _ZN14nsXPTCStubBase5Stub"#n"Ev \n\t" \ |
800 |
+ ".section \".opd\",\"aw\" \n\t" \ |
801 |
+ ".align 3 \n\t" \ |
802 |
+"_ZN14nsXPTCStubBase5Stub"#n"Ev: \n\t" \ |
803 |
+ ".quad ._ZN14nsXPTCStubBase5Stub"#n"Ev,.TOC.@tocbase \n\t" \ |
804 |
+ ".previous \n\t" \ |
805 |
+ ".type _ZN14nsXPTCStubBase5Stub"#n"Ev,@function \n\n" \ |
806 |
+"._ZN14nsXPTCStubBase5Stub"#n"Ev: \n\t" \ |
807 |
+ \ |
808 |
+ ".elseif "#n" < 100 \n\t" \ |
809 |
+ ".globl _ZN14nsXPTCStubBase6Stub"#n"Ev \n\t" \ |
810 |
+ ".section \".opd\",\"aw\" \n\t" \ |
811 |
+ ".align 3 \n\t" \ |
812 |
+"_ZN14nsXPTCStubBase6Stub"#n"Ev: \n\t" \ |
813 |
+ ".quad ._ZN14nsXPTCStubBase6Stub"#n"Ev,.TOC.@tocbase \n\t" \ |
814 |
+ ".previous \n\t" \ |
815 |
+ ".type _ZN14nsXPTCStubBase6Stub"#n"Ev,@function \n\n" \ |
816 |
+"._ZN14nsXPTCStubBase6Stub"#n"Ev: \n\t" \ |
817 |
+ \ |
818 |
+ ".elseif "#n" < 1000 \n\t" \ |
819 |
+ ".globl _ZN14nsXPTCStubBase7Stub"#n"Ev \n\t" \ |
820 |
+ ".section \".opd\",\"aw\" \n\t" \ |
821 |
+ ".align 3 \n\t" \ |
822 |
+"_ZN14nsXPTCStubBase7Stub"#n"Ev: \n\t" \ |
823 |
+ ".quad ._ZN14nsXPTCStubBase7Stub"#n"Ev,.TOC.@tocbase \n\t" \ |
824 |
+ ".previous \n\t" \ |
825 |
+ ".type _ZN14nsXPTCStubBase7Stub"#n"Ev,@function \n\n" \ |
826 |
+"._ZN14nsXPTCStubBase7Stub"#n"Ev: \n\t" \ |
827 |
+ \ |
828 |
+ ".else \n\t" \ |
829 |
+ ".err \"stub number "#n" >= 1000 not yet supported\"\n" \ |
830 |
+ ".endif \n\t" \ |
831 |
+ \ |
832 |
+ "li 11,"#n" \n\t" \ |
833 |
+ "b SharedStub \n" \ |
834 |
+); |
835 |
+#endif |
836 |
+ |
837 |
+#define SENTINEL_ENTRY(n) \ |
838 |
+nsresult nsXPTCStubBase::Sentinel##n() \ |
839 |
+{ \ |
840 |
+ NS_ASSERTION(0,"nsXPTCStubBase::Sentinel called"); \ |
841 |
+ return NS_ERROR_NOT_IMPLEMENTED; \ |
842 |
+} |
843 |
+ |
844 |
+#include "xptcstubsdef.inc" |
845 |
|
846 |
|
847 |
|
848 |
1.1 src/patchsets/mozilla-sunbird/0.9/033_firefox-2.0_ppc_powerpc.patch |
849 |
|
850 |
file : http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/mozilla-sunbird/0.9/033_firefox-2.0_ppc_powerpc.patch?rev=1.1&view=markup |
851 |
plain: http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/mozilla-sunbird/0.9/033_firefox-2.0_ppc_powerpc.patch?rev=1.1&content-type=text/plain |
852 |
|
853 |
Index: 033_firefox-2.0_ppc_powerpc.patch |
854 |
=================================================================== |
855 |
--- mozilla/xpcom/reflect/xptcall/src/md/unix/Makefile.in.orig 2007-03-05 13:46:38.000000000 +0100 |
856 |
+++ mozilla/xpcom/reflect/xptcall/src/md/unix/Makefile.in 2007-03-05 13:47:30.000000000 +0100 |
857 |
@@ -288,12 +288,12 @@ |
858 |
# |
859 |
# Linux/PPC |
860 |
# |
861 |
-ifeq ($(OS_ARCH)$(OS_TEST),Linuxppc) |
862 |
+ifeq ($(OS_ARCH)$(OS_TEST),Linuxpowerpc) |
863 |
CPPSRCS := xptcinvoke_ppc_linux.cpp xptcstubs_ppc_linux.cpp |
864 |
ASFILES := xptcinvoke_asm_ppc_linux.s xptcstubs_asm_ppc_linux.s |
865 |
AS := $(CC) -c -x assembler-with-cpp |
866 |
endif |
867 |
-ifeq ($(OS_ARCH)$(OS_TEST),Linuxppc64) |
868 |
+ifeq ($(OS_ARCH)$(OS_TEST),Linuxpowerpc64) |
869 |
CPPSRCS := xptcinvoke_ppc64_linux.cpp xptcstubs_ppc64_linux.cpp |
870 |
ASFILES := xptcinvoke_asm_ppc64_linux.s xptcstubs_asm_ppc64_linux.s |
871 |
AS := $(CC) -c -x assembler-with-cpp |
872 |
|
873 |
|
874 |
|
875 |
1.1 src/patchsets/mozilla-sunbird/0.9/050_respect-host-variable.patch |
876 |
|
877 |
file : http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/mozilla-sunbird/0.9/050_respect-host-variable.patch?rev=1.1&view=markup |
878 |
plain: http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/mozilla-sunbird/0.9/050_respect-host-variable.patch?rev=1.1&content-type=text/plain |
879 |
|
880 |
Index: 050_respect-host-variable.patch |
881 |
=================================================================== |
882 |
# https://bugs.gentoo.org/show_bug.cgi?id=168893 |
883 |
|
884 |
--- mozilla/configure.in.old 2007-03-02 23:28:27.000000000 +0200 |
885 |
+++ mozilla/configure.in 2007-03-02 23:29:23.000000000 +0200 |
886 |
@@ -825,7 +825,6 @@ |
887 |
OS_TARGET="${target_os}" |
888 |
OS_ARCH=`echo $target_os | sed -e 's|/|_|g'` |
889 |
OS_RELEASE= |
890 |
- OS_TEST="${target_cpu}" |
891 |
case "${target_os}" in |
892 |
linux*) OS_ARCH=Linux ;; |
893 |
solaris*) OS_ARCH=SunOS OS_RELEASE=5 ;; |
894 |
@@ -837,8 +836,10 @@ |
895 |
OS_TARGET=`uname -s` |
896 |
OS_ARCH=`uname -s | sed -e 's|/|_|g'` |
897 |
OS_RELEASE=`uname -r` |
898 |
- OS_TEST=`uname -m` |
899 |
fi |
900 |
+ |
901 |
+OS_TEST="${target_cpu}" |
902 |
+ |
903 |
_COMPILER_PREFIX= |
904 |
|
905 |
HOST_OS_ARCH=`echo $host_os | sed -e 's|/|_|g'` |
906 |
|
907 |
|
908 |
|
909 |
1.1 src/patchsets/mozilla-sunbird/0.9/055_firefox-2.0_gfbsd-pthreads.patch |
910 |
|
911 |
file : http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/mozilla-sunbird/0.9/055_firefox-2.0_gfbsd-pthreads.patch?rev=1.1&view=markup |
912 |
plain: http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/mozilla-sunbird/0.9/055_firefox-2.0_gfbsd-pthreads.patch?rev=1.1&content-type=text/plain |
913 |
|
914 |
Index: 055_firefox-2.0_gfbsd-pthreads.patch |
915 |
=================================================================== |
916 |
# https://bugs.gentoo.org/show_bug.cgi?id=169825 |
917 |
|
918 |
--- mozilla/config/rules.mk.orig Thu Sep 14 14:07:03 2006 |
919 |
+++ mozilla/config/rules.mk Wed Oct 18 11:00:09 2006 |
920 |
@@ -442,9 +442,7 @@ |
921 |
endif |
922 |
|
923 |
ifeq ($(OS_ARCH),FreeBSD) |
924 |
-ifdef IS_COMPONENT |
925 |
-EXTRA_DSO_LDOPTS += -Wl,-Bsymbolic |
926 |
-endif |
927 |
+EXTRA_DSO_LDOPTS += -Wl,-Bsymbolic -lc |
928 |
endif |
929 |
|
930 |
ifeq ($(OS_ARCH),NetBSD) |
931 |
--- mozilla/configure.in.orig 2007-02-06 02:37:37 -0300 |
932 |
+++ mozilla/configure.in 2007-03-07 15:35:41 -0300 |
933 |
@@ -2667,7 +2667,7 @@ |
934 |
*-hpux11.*) |
935 |
;; |
936 |
*) |
937 |
- AC_CHECK_LIB(c_r, gethostbyname_r) |
938 |
+ AC_SEARCH_LIBS([gethostbyname_r], [c_r]) |
939 |
;; |
940 |
esac |
941 |
AC_CHECK_LIB(m, atan) |
942 |
--- mozilla/configure.in.orig 2007-02-06 02:37:37 -0300 |
943 |
+++ mozilla/configure.in 2007-03-07 13:59:53 -0300 |
944 |
@@ -2839,11 +2839,12 @@ |
945 |
*-*-freebsd*) |
946 |
AC_DEFINE(_REENTRANT) |
947 |
AC_DEFINE(_THREAD_SAFE) |
948 |
- dnl -pthread links in -lc_r, so don't specify it explicitly. |
949 |
- if test "$ac_cv_have_dash_pthread" = "yes"; then |
950 |
- _PTHREAD_LDFLAGS="-pthread" |
951 |
+ dnl use the environment PTHREAD_LIBS |
952 |
+ if test -n "$PTHREAD_LIBS"; then |
953 |
+ _PTHREAD_LDFLAGS="$PTHREAD_LIBS" |
954 |
else |
955 |
- _PTHREAD_LDFLAGS="-lc_r" |
956 |
+ _PTHREAD_LDFLAGS="-lpthread" |
957 |
fi |
958 |
+ LDFLAGS="${_PTHREAD_LDFLAGS} ${LDFLAGS}" |
959 |
;; |
960 |
|
961 |
|
962 |
|
963 |
1.1 src/patchsets/mozilla-sunbird/0.9/090_xul-gcc4.3.patch |
964 |
|
965 |
file : http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/mozilla-sunbird/0.9/090_xul-gcc4.3.patch?rev=1.1&view=markup |
966 |
plain: http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/mozilla-sunbird/0.9/090_xul-gcc4.3.patch?rev=1.1&content-type=text/plain |
967 |
|
968 |
Index: 090_xul-gcc4.3.patch |
969 |
=================================================================== |
970 |
http://lists.opensuse.org/opensuse-commit/2007-11/msg00823.html |
971 |
|
972 |
diff -Naur mozilla-orig/modules/libpr0n/encoders/jpeg/nsJPEGEncoder.h mozilla/modules/libpr0n/encoders/jpeg/nsJPEGEncoder.h |
973 |
--- mozilla-orig/modules/libpr0n/encoders/jpeg/nsJPEGEncoder.h 2006-05-20 11:20:48.000000000 -0600 |
974 |
+++ mozilla/modules/libpr0n/encoders/jpeg/nsJPEGEncoder.h 2008-01-06 22:13:39.000000000 -0600 |
975 |
@@ -39,8 +39,10 @@ |
976 |
#include "imgIEncoder.h" |
977 |
#ifdef MOZILLA_1_8_BRANCH |
978 |
#define imgIEncoder imgIEncoder_MOZILLA_1_8_BRANCH |
979 |
+#ifndef NS_DECL_IMGIENCODER |
980 |
#define NS_DECL_IMGIENCODER NS_DECL_IMGIENCODER_MOZILLA_1_8_BRANCH |
981 |
#endif |
982 |
+#endif |
983 |
|
984 |
// needed for JPEG library |
985 |
#include <stdio.h> |
986 |
@@ -69,6 +71,14 @@ |
987 |
|
988 |
nsJPEGEncoder(); |
989 |
|
990 |
+ NS_IMETHOD InitFromData(const PRUint8* aData, |
991 |
+ PRUint32 aLength, // (unused, req'd by JS) |
992 |
+ PRUint32 aWidth, |
993 |
+ PRUint32 aHeight, |
994 |
+ PRUint32 aStride, |
995 |
+ PRUint32 aInputFormat, |
996 |
+ const nsAString& aOutputOptions); |
997 |
+ |
998 |
private: |
999 |
~nsJPEGEncoder(); |
1000 |
|
1001 |
diff -Naur mozilla-orig/modules/libpr0n/encoders/png/nsPNGEncoder.h mozilla/modules/libpr0n/encoders/png/nsPNGEncoder.h |
1002 |
--- mozilla-orig/modules/libpr0n/encoders/png/nsPNGEncoder.h 2006-05-20 11:20:49.000000000 -0600 |
1003 |
+++ mozilla/modules/libpr0n/encoders/png/nsPNGEncoder.h 2008-01-06 22:11:36.000000000 -0600 |
1004 |
@@ -38,8 +38,10 @@ |
1005 |
#include "imgIEncoder.h" |
1006 |
#ifdef MOZILLA_1_8_BRANCH |
1007 |
#define imgIEncoder imgIEncoder_MOZILLA_1_8_BRANCH |
1008 |
+#ifndef NS_DECL_IMGIENCODER |
1009 |
#define NS_DECL_IMGIENCODER NS_DECL_IMGIENCODER_MOZILLA_1_8_BRANCH |
1010 |
#endif |
1011 |
+#endif |
1012 |
|
1013 |
#include <png.h> |
1014 |
|
1015 |
@@ -63,6 +65,14 @@ |
1016 |
|
1017 |
nsPNGEncoder(); |
1018 |
|
1019 |
+ NS_IMETHOD InitFromData(const PRUint8* aData, |
1020 |
+ PRUint32 aLength, // (unused, req'd by JS) |
1021 |
+ PRUint32 aWidth, |
1022 |
+ PRUint32 aHeight, |
1023 |
+ PRUint32 aStride, |
1024 |
+ PRUint32 aInputFormat, |
1025 |
+ const nsAString& aOutputOptions); |
1026 |
+ |
1027 |
private: |
1028 |
~nsPNGEncoder(); |
1029 |
|
1030 |
diff -Naur mozilla-orig/modules/libpr0n/public/imgIEncoder.idl mozilla/modules/libpr0n/public/imgIEncoder.idl |
1031 |
--- mozilla-orig/modules/libpr0n/public/imgIEncoder.idl 2006-05-20 11:20:49.000000000 -0600 |
1032 |
+++ mozilla/modules/libpr0n/public/imgIEncoder.idl 2008-01-06 22:15:40.000000000 -0600 |
1033 |
@@ -96,6 +96,6 @@ |
1034 |
[scriptable, uuid(CCC5B3AD-3E67-4e3d-97E1-B06B2E96FEF8)] |
1035 |
interface imgIEncoder : nsISupports |
1036 |
{ |
1037 |
- void encodeClipboardImage(in nsIClipboardImage aClipboardImage, out nsIFile aImageFile); |
1038 |
+ /* void encodeClipboardImage(in nsIClipboardImage aClipboardImage, out nsIFile aImageFile); */ |
1039 |
}; |
1040 |
|
1041 |
|
1042 |
|
1043 |
|
1044 |
1.1 src/patchsets/mozilla-sunbird/0.9/095_glibc_maxpathlen.patch |
1045 |
|
1046 |
file : http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/mozilla-sunbird/0.9/095_glibc_maxpathlen.patch?rev=1.1&view=markup |
1047 |
plain: http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/mozilla-sunbird/0.9/095_glibc_maxpathlen.patch?rev=1.1&content-type=text/plain |
1048 |
|
1049 |
Index: 095_glibc_maxpathlen.patch |
1050 |
=================================================================== |
1051 |
--- toolkit/mozapps/update/src/updater/updater.cpp.old Tue Oct 21 16:36:29 2008 +1300 |
1052 |
+++ toolkit/mozapps/update/src/updater/updater.cpp Mon Oct 20 22:55:57 2008 -0500 |
1053 |
@@ -118,7 +118,9 @@ void LaunchChild(int argc, char **argv); |
1054 |
#endif |
1055 |
|
1056 |
#ifndef MAXPATHLEN |
1057 |
-# ifdef MAX_PATH |
1058 |
+# ifdef PATH_MAX |
1059 |
+# define MAXPATHLEN PATH_MAX |
1060 |
+# elif defined(_MAX_PATH) |
1061 |
# define MAXPATHLEN MAX_PATH |
1062 |
# elif defined(_MAX_PATH) |
1063 |
# define MAXPATHLEN _MAX_PATH |
1064 |
--- toolkit/xre/nsAppRunner.h.old Tue Oct 21 16:36:29 2008 +1300 |
1065 |
+++ toolkit/xre/nsAppRunner.h Mon Oct 20 22:55:57 2008 -0500 |
1066 |
@@ -40,10 +40,14 @@ |
1067 |
|
1068 |
#ifdef XP_WIN |
1069 |
#include <windows.h> |
1070 |
+#else |
1071 |
+#include <limits.h> |
1072 |
#endif |
1073 |
|
1074 |
#ifndef MAXPATHLEN |
1075 |
-#ifdef _MAX_PATH |
1076 |
+#ifdef PATH_MAX |
1077 |
+#define MAXPATHLEN PATH_MAX |
1078 |
+#elif defined(_MAX_PATH) |
1079 |
#define MAXPATHLEN _MAX_PATH |
1080 |
#elif defined(CCHMAXPATH) |
1081 |
#define MAXPATHLEN CCHMAXPATH |
1082 |
--- xpcom/build/nsXPCOMPrivate.h.old Tue Oct 21 16:36:29 2008 +1300 |
1083 |
+++ xpcom/build/nsXPCOMPrivate.h Mon Oct 20 22:55:57 2008 -0500 |
1084 |
@@ -231,6 +231,7 @@ NS_GetFrozenFunctions(XPCOMFunctions *en |
1085 |
#define XUL_DLL "libxul"MOZ_DLL_SUFFIX |
1086 |
|
1087 |
#else // Unix |
1088 |
+#include <limits.h> // for PATH_MAX |
1089 |
|
1090 |
#define XPCOM_DLL "libxpcom"MOZ_DLL_SUFFIX |