Gentoo Archives: gentoo-commits

From: "Raul Porcel (armin76)" <armin76@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] gentoo commit in src/patchsets/seamonkey/1.1.6: 000_flex-configure-LANG.patch 001_firefox-1.0-prdtoa.patch 002_seamonkey-disable-visibility.patch 003_firefox-arm.patch 004_mozilla-hppa.patch 005_mozilla-firefox-1.1a2-ia64.patch 007_seamonkey-1.0.1-dumpstack.patch 008_seamonkey-gentoo-pkgconfig.patch 009_firefox-gdkpango.patch 010_visibility-gcc-4.2.patch 020_firefox-0.7.3-default-plugin-less-annoying.patch 021_seamonkey-1.1-include-cairo-libs.patch 030_pango-cairo-1.patch 031_firefox-1.1-uriloader-1.patch 032_firefox-2.0_ppc64-1.patch 033_firefox-2.0_ppc_powerpc.patch 050_respect-host-variable.patch 055_firefox-2.0_gfbsd-pthreads.patch 063_mozilla-rpath-3.patch 064_mozilla-1.7.10-nsplugins-v2.patch 101_thunderbird-0.7.3-gnome-uriloader.patch 220_seamonkey-gentoo-homepage.patch 225_mozilla-nspr-packages.patch 301_mozilla-1.7.3-gnome-vfs-default-app.patch 303_mozilla-1.7.13-as-needed.patch 304_mozilla-1.7.5-g-application-name.patch
Date: Thu, 29 Nov 2007 18:24:18
Message-Id: E1Ixo3W-0003pz-TZ@stork.gentoo.org
1 armin76 07/11/29 18:24:10
2
3 Added: 000_flex-configure-LANG.patch
4 001_firefox-1.0-prdtoa.patch
5 002_seamonkey-disable-visibility.patch
6 003_firefox-arm.patch 004_mozilla-hppa.patch
7 005_mozilla-firefox-1.1a2-ia64.patch
8 007_seamonkey-1.0.1-dumpstack.patch
9 008_seamonkey-gentoo-pkgconfig.patch
10 009_firefox-gdkpango.patch
11 010_visibility-gcc-4.2.patch
12 020_firefox-0.7.3-default-plugin-less-annoying.patch
13 021_seamonkey-1.1-include-cairo-libs.patch
14 030_pango-cairo-1.patch
15 031_firefox-1.1-uriloader-1.patch
16 032_firefox-2.0_ppc64-1.patch
17 033_firefox-2.0_ppc_powerpc.patch
18 050_respect-host-variable.patch
19 055_firefox-2.0_gfbsd-pthreads.patch
20 063_mozilla-rpath-3.patch
21 064_mozilla-1.7.10-nsplugins-v2.patch
22 101_thunderbird-0.7.3-gnome-uriloader.patch
23 220_seamonkey-gentoo-homepage.patch
24 225_mozilla-nspr-packages.patch
25 301_mozilla-1.7.3-gnome-vfs-default-app.patch
26 303_mozilla-1.7.13-as-needed.patch
27 304_mozilla-1.7.5-g-application-name.patch
28 Log:
29 Add patches for 1.1.6
30
31 Revision Changes Path
32 1.1 src/patchsets/seamonkey/1.1.6/000_flex-configure-LANG.patch
33
34 file : http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/seamonkey/1.1.6/000_flex-configure-LANG.patch?rev=1.1&view=markup
35 plain: http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/seamonkey/1.1.6/000_flex-configure-LANG.patch?rev=1.1&content-type=text/plain
36
37 Index: 000_flex-configure-LANG.patch
38 ===================================================================
39 The LANG vars aren't reset early enough so when sed tries to use [a-zA-Z] in
40 option parsing, it may break.
41
42 http://bugs.gentoo.org/103483
43
44 --- configure
45 +++ configure
46 @@ -54,6 +54,16 @@
47 infodir='${prefix}/info'
48 mandir='${prefix}/man'
49
50 +# NLS nuisances.
51 +# Only set these to C if already set. These must not be set unconditionally
52 +# because not all systems understand e.g. LANG=C (notably SCO).
53 +# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'!
54 +# Non-C LC_CTYPE values break the ctype check.
55 +if test "${LANG+set}" = set; then LANG=C; export LANG; fi
56 +if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
57 +if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi
58 +if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi
59 +
60 # Initialize some other variables.
61 subdirs=
62 MFLAGS= MAKEFLAGS=
63 @@ -452,16 +463,6 @@
64 esac
65 done
66
67 -# NLS nuisances.
68 -# Only set these to C if already set. These must not be set unconditionally
69 -# because not all systems understand e.g. LANG=C (notably SCO).
70 -# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'!
71 -# Non-C LC_CTYPE values break the ctype check.
72 -if test "${LANG+set}" = set; then LANG=C; export LANG; fi
73 -if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
74 -if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi
75 -if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi
76 -
77 # confdefs.h avoids OS command line length limits that DEFS can exceed.
78 rm -rf conftest* confdefs.h
79 # AIX cpp loses on an empty file, so make sure it contains at least a newline.
80
81
82
83 1.1 src/patchsets/seamonkey/1.1.6/001_firefox-1.0-prdtoa.patch
84
85 file : http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/seamonkey/1.1.6/001_firefox-1.0-prdtoa.patch?rev=1.1&view=markup
86 plain: http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/seamonkey/1.1.6/001_firefox-1.0-prdtoa.patch?rev=1.1&content-type=text/plain
87
88 Index: 001_firefox-1.0-prdtoa.patch
89 ===================================================================
90 Index: nsprpub/pr/src/misc/Makefile.in
91 ===================================================================
92 RCS file: /cvsroot/mozilla/nsprpub/pr/src/misc/Makefile.in,v
93 retrieving revision 1.15.2.2
94 diff -u -r1.15.2.2 Makefile.in
95 --- nsprpub/pr/src/misc/Makefile.in 6 Jun 2003 03:09:17 -0000 1.15.2.2
96 +++ nsprpub/pr/src/misc/Makefile.in 19 Nov 2004 00:58:35 -0000
97 @@ -82,6 +82,15 @@
98
99 include $(topsrcdir)/config/rules.mk
100
101 +ifneq (,$(filter Linuxs390 Linuxs390x,$(OS_ARCH)$(OS_TEST)))
102 +
103 +NONOPT_CFLAGS=$(filter-out -O%, $(CFLAGS))
104 +
105 +$(OBJDIR)/prdtoa.$(OBJ_SUFFIX): prdtoa.c
106 + @$(MAKE_OBJDIR)
107 + $(CC) -o $@ -c $(NONOPT_CFLAGS) -ffloat-store $<
108 +endif
109 +
110 # Prevent floating point errors caused by MSVC 6.0 Processor Pack
111 # optimizations (bug 207421). This disables optimizations that
112 # could change the precision of floating-point calculations for
113
114
115
116 1.1 src/patchsets/seamonkey/1.1.6/002_seamonkey-disable-visibility.patch
117
118 file : http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/seamonkey/1.1.6/002_seamonkey-disable-visibility.patch?rev=1.1&view=markup
119 plain: http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/seamonkey/1.1.6/002_seamonkey-disable-visibility.patch?rev=1.1&content-type=text/plain
120
121 Index: 002_seamonkey-disable-visibility.patch
122 ===================================================================
123 Index: mozilla/configure.in
124 ===================================================================
125 RCS file: /cvsroot/mozilla/configure.in,v
126 retrieving revision 1.1503.2.15.2.3
127 diff -u -r1.1503.2.15.2.3 configure.in
128 --- mozilla/configure.in 10 Jan 2006 03:11:42 -0000 1.1503.2.15.2.3
129 +++ mozilla/configure.in 21 Jan 2006 09:00:24 -0000
130 @@ -2383,7 +2383,7 @@
131 dnl Check for .hidden assembler directive and visibility attribute.
132 dnl Borrowed from glibc configure.in
133 dnl ===============================================================
134 -if test "$GNU_CC"; then
135 +if /bin/false; then
136 AC_CACHE_CHECK(for visibility(hidden) attribute,
137 ac_cv_visibility_hidden,
138 [cat > conftest.c <<EOF
139
140
141
142 1.1 src/patchsets/seamonkey/1.1.6/003_firefox-arm.patch
143
144 file : http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/seamonkey/1.1.6/003_firefox-arm.patch?rev=1.1&view=markup
145 plain: http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/seamonkey/1.1.6/003_firefox-arm.patch?rev=1.1&content-type=text/plain
146
147 Index: 003_firefox-arm.patch
148 ===================================================================
149 # Upstream https://bugzilla.mozilla.org/show_bug.cgi?id=336183
150
151 --- mozilla/xpcom/reflect/xptcall/src/md/unix/xptcstubs_arm.cpp 2006-05-17 02:02:51.000000000 -0400
152 +++ mozilla-16052006/xpcom/reflect/xptcall/src/md/unix/xptcstubs_arm.cpp 2006-05-17 01:17:16.000000000 -0400
153 @@ -39,18 +39,31 @@
154 /* Implement shared vtbl methods. */
155
156 #include "xptcprivate.h"
157
158 #if !defined(LINUX) || !defined(__arm__)
159 #error "This code is for Linux ARM only. Please check if it works for you, too.\nDepends strongly on gcc behaviour."
160 #endif
161
162 +#if (__GNUC__ > 3) || ((__GNUC__ == 3) && (__GNUC_MINOR__ >= 4))
163 +/* This tells gcc3.4+ not to optimize away symbols.
164 + * @see http://gcc.gnu.org/gcc-3.4/changes.html
165 + */
166 +#define DONT_DROP_OR_WARN __attribute__((used))
167 +#else
168 +/* This tells older gccs not to warn about unused vairables.
169 + * @see http://docs.freebsd.org/info/gcc/gcc.info.Variable_Attributes.html
170 + */
171 +#define DONT_DROP_OR_WARN __attribute__((unused))
172 +#endif
173 +
174 /* Specify explicitly a symbol for this function, don't try to guess the c++ mangled symbol. */
175 -static nsresult PrepareAndDispatch(nsXPTCStubBase* self, uint32 methodIndex, PRUint32* args) asm("_PrepareAndDispatch");
176 +static nsresult PrepareAndDispatch(nsXPTCStubBase* self, uint32 methodIndex, PRUint32* args) asm("_PrepareAndDispatch")
177 +DONT_DROP_OR_WARN;
178
179 static nsresult
180 PrepareAndDispatch(nsXPTCStubBase* self, uint32 methodIndex, PRUint32* args)
181 {
182 #define PARAM_BUFFER_COUNT 16
183
184 nsXPTCMiniVariant paramBuffer[PARAM_BUFFER_COUNT];
185 nsXPTCMiniVariant* dispatchParams = NULL;
186
187
188
189 1.1 src/patchsets/seamonkey/1.1.6/004_mozilla-hppa.patch
190
191 file : http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/seamonkey/1.1.6/004_mozilla-hppa.patch?rev=1.1&view=markup
192 plain: http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/seamonkey/1.1.6/004_mozilla-hppa.patch?rev=1.1&content-type=text/plain
193
194 Index: 004_mozilla-hppa.patch
195 ===================================================================
196 # Original patch just cleaned up, Author on original patch was Randolph Chung (tausq@××××××.org)
197 # Upstream https://bugzilla.mozilla.org/show_bug.cgi?id=287150
198
199 Index: xpcom/reflect/xptcall/src/md/unix/Makefile.in
200 ===================================================================
201 RCS file: /cvsroot/mozilla/xpcom/reflect/xptcall/src/md/unix/Makefile.in,v
202 retrieving revision 1.92
203 diff -u -B -u -8 -p -r1.92 Makefile.in
204 --- xpcom/reflect/xptcall/src/md/unix/Makefile.in 14 Dec 2006 19:13:43 -0000 1.92
205 +++ xpcom/reflect/xptcall/src/md/unix/Makefile.in 3 Jan 2007 18:20:44 -0000
206 @@ -185,16 +185,29 @@ CPPSRCS := xptcinvoke_ipf32.cpp xptcstu
207 ASFILES := xptcstubs_asm_ipf32.s xptcinvoke_asm_ipf32.s
208 endif
209
210 # #18875 Building the CPP's (CXX) optimized causes a crash
211 CXXFLAGS := $(filter-out $(MOZ_OPTIMIZE_FLAGS), $(CXXFLAGS))
212 endif
213 endif
214
215 +#
216 +# Linux/HPPA/gcc
217 +#
218 +ifeq ($(OS_ARCH),Linux)
219 +ifneq (,$(filter parisc parisc64,$(OS_TEST)))
220 +#ifeq ($(CC),gcc) # Do not check for gcc since there is only this compiler on linux for hppa
221 +CPPSRCS := xptcinvoke_pa32.cpp xptcstubs_pa32.cpp
222 +ASFILES := xptcstubs_asm_parisc_linux.s xptcinvoke_asm_parisc_linux.s
223 +#endif
224 +endif
225 +endif
226 +
227 +
228 ######################################################################
229 # M68k
230 ######################################################################
231 #
232 # NetBSD/m68k
233 #
234 ifeq ($(OS_ARCH),NetBSD)
235 ifneq (,$(filter amiga atari hp300 mac68k mvme68k next68k sun3 sun3x x68k,$(OS_TEST)))
236 Index: xpcom/reflect/xptcall/src/md/unix/xptcinvoke_asm_parisc_linux.s
237 ===================================================================
238 RCS file: xpcom/reflect/xptcall/src/md/unix/xptcinvoke_asm_parisc_linux.s
239 diff -N xpcom/reflect/xptcall/src/md/unix/xptcinvoke_asm_parisc_linux.s
240 --- /dev/null 1 Jan 1970 00:00:00 -0000
241 +++ xpcom/reflect/xptcall/src/md/unix/xptcinvoke_asm_parisc_linux.s 3 Jan 2007 18:20:44 -0000
242 @@ -0,0 +1,102 @@
243 +
244 + .LEVEL 1.1
245 + .text
246 + .align 4
247 +
248 +framesz:
249 + .equ 128
250 +
251 +.globl XPTC_InvokeByIndex
252 + .type XPTC_InvokeByIndex, @function
253 +
254 +
255 +XPTC_InvokeByIndex:
256 + .PROC
257 + .CALLINFO FRAME=72, CALLER,SAVE_RP, SAVE_SP, ENTRY_GR=3
258 + .ENTRY
259 +
260 + ; frame marker takes 48 bytes,
261 + ; register spill area takes 8 bytes,
262 + ; local stack area takes 72 bytes result in 128 bytes total
263 +
264 + STW %rp,-20(%sp)
265 + STW,MA %r3,128(%sp)
266 +
267 + LDO -framesz(%r30),%r28
268 + STW %r28,-4(%r30) ; save previous sp
269 + STW %r19,-32(%r30)
270 +
271 + STW %r26,-36-framesz(%r30) ; save argument registers in
272 + STW %r25,-40-framesz(%r30) ; in PREVIOUS frame
273 + STW %r24,-44-framesz(%r30) ;
274 + STW %r23,-48-framesz(%r30) ;
275 +
276 + .CALL ARGW0=GR,ARGW1=GR,ARGW2=GR ;in=24,25,26;out=28
277 + BL invoke_count_bytes,%r31
278 + COPY %r31,%r2
279 +
280 + CMPIB,>= 0,%r28, .+76
281 + COPY %r30,%r3 ; copy stack ptr to saved stack ptr
282 + ADD %r30,%r28,%r30 ; extend stack frame
283 + LDW -4(%r3),%r28 ; move frame
284 + STW %r28,-4(%r30)
285 + LDW -8(%r3),%r28
286 + STW %r28,-8(%r30)
287 + LDW -12(%r3),%r28
288 + STW %r28,-12(%r30)
289 + LDW -16(%r3),%r28
290 + STW %r28,-16(%r30)
291 + LDW -20(%r3),%r28
292 + STW %r28,-20(%r30)
293 + LDW -24(%r3),%r28
294 + STW %r28,-24(%r30)
295 + LDW -28(%r3),%r28
296 + STW %r28,-28(%r30)
297 + LDW -32(%r3),%r28
298 + STW %r28,-32(%r30)
299 +
300 + LDO -40(%r30),%r26 ; load copy address
301 + LDW -44-framesz(%r3),%r25 ; load rest of 2 arguments
302 + LDW -48-framesz(%r3),%r24 ;
303 +
304 + LDW -32(%r30),%r19 ; shared lib call destroys r19; reload
305 + .CALL ARGW0=GR,ARGW1=GR,ARGW2=GR ;in=24,25,26
306 + BL invoke_copy_to_stack,%r31
307 + COPY %r31,%r2
308 +
309 + LDO -48(%r30),%r20
310 + EXTRW,U,= %r28,31,1,%r22
311 + FLDD 0(%r20),%fr7 ; load double arg 1
312 + EXTRW,U,= %r28,30,1,%r22
313 + FLDW 8(%r20),%fr5L ; load float arg 1
314 + EXTRW,U,= %r28,29,1,%r22
315 + FLDW 4(%r20),%fr6L ; load float arg 2
316 + EXTRW,U,= %r28,28,1,%r22
317 + FLDW 0(%r20),%fr7L ; load float arg 3
318 +
319 + LDW -36-framesz(%r3),%r26 ; load ptr to 'that'
320 + LDW -40(%r30),%r25 ; load the rest of dispatch argument registers
321 + LDW -44(%r30),%r24
322 + LDW -48(%r30),%r23
323 +
324 + LDW -36-framesz(%r3),%r20 ; load vtable addr
325 + LDW -40-framesz(%r3),%r28 ; load index
326 + LDW 0(%r20),%r20 ; follow vtable
327 + SH2ADDL %r28,%r20,%r28 ; add 4*index to vtable entry
328 + LDW 0(%r28),%r22 ; load vtable entry
329 +
330 + .CALL ARGW0=GR,ARGW1=GR,ARGW2=GR,ARGW3=GR,RTNVAL=GR ;in=22-26;out=28;
331 + BL $$dyncall,%r31
332 + COPY %r31,%r2
333 +
334 + LDW -32(%r30),%r19
335 + COPY %r3,%r30 ; restore saved stack ptr
336 +
337 + LDW -148(%sp),%rp
338 + LDWM -128(%sp),%r3
339 + BV,N (%rp)
340 + NOP
341 + .EXIT
342 + .PROCEND ;in=23,24,25,26;
343 + .SIZE XPTC_InvokeByIndex, .-XPTC_InvokeByIndex
344 +
345 Index: xpcom/reflect/xptcall/src/md/unix/xptcstubs_asm_parisc_linux.s
346 ===================================================================
347 RCS file: xpcom/reflect/xptcall/src/md/unix/xptcstubs_asm_parisc_linux.s
348 diff -N xpcom/reflect/xptcall/src/md/unix/xptcstubs_asm_parisc_linux.s
349 --- /dev/null 1 Jan 1970 00:00:00 -0000
350 +++ xpcom/reflect/xptcall/src/md/unix/xptcstubs_asm_parisc_linux.s 3 Jan 2007 18:20:44 -0000
351 @@ -0,0 +1,66 @@
352 + .LEVEL 1.1
353 + .TEXT
354 + .ALIGN 4
355 +
356 +curframesz:
357 + .EQU 128
358 +
359 +
360 +; SharedStub has stack size of 128 bytes
361 +
362 +lastframesz:
363 + .EQU 64
364 +
365 +; the StubN C++ function has a small stack size of 64 bytes
366 +
367 +
368 +.globl SharedStub
369 + .type SharedStub, @function
370 +
371 +SharedStub:
372 + .PROC
373 + .CALLINFO CALLER,FRAME=80,SAVE_RP
374 +
375 + .ENTRY
376 + STW %rp,-20(%sp)
377 + LDO 128(%sp),%sp
378 +
379 + STW %r19,-32(%r30)
380 + STW %r26,-36-curframesz(%r30) ; save arg0 in previous frame
381 +
382 + LDO -80(%r30),%r28
383 + FSTD,MA %fr5,8(%r28) ; save darg0
384 + FSTD,MA %fr7,8(%r28) ; save darg1
385 + FSTW,MA %fr4L,4(%r28) ; save farg0
386 + FSTW,MA %fr5L,4(%r28) ; save farg1
387 + FSTW,MA %fr6L,4(%r28) ; save farg2
388 + FSTW,MA %fr7L,4(%r28) ; save farg3
389 +
390 + ; Former value of register 26 is already properly saved by StubN,
391 + ; but register 25-23 are not because of the arguments mismatch
392 + STW %r25,-40-curframesz-lastframesz(%r30) ; save r25
393 + STW %r24,-44-curframesz-lastframesz(%r30) ; save r24
394 + STW %r23,-48-curframesz-lastframesz(%r30) ; save r23
395 + COPY %r26,%r25 ; method index is arg1
396 + LDW -36-curframesz-lastframesz(%r30),%r26 ; self is arg0
397 + LDO -40-curframesz-lastframesz(%r30),%r24 ; normal args is arg2
398 + LDO -80(%r30),%r23 ; floating args is arg3
399 +
400 + .CALL ARGW0=GR,ARGW1=GR,ARGW2=GR,ARGW3=GR,RTNVAL=GR ;in=23-26;out=28;
401 + BL PrepareAndDispatch, %r31
402 + COPY %r31,%r2
403 +
404 + LDW -32(%r30),%r19
405 +
406 + LDW -148(%sp),%rp
407 + LDO -128(%sp),%sp
408 +
409 +
410 + BV,N (%rp)
411 + NOP
412 + NOP
413 +
414 + .EXIT
415 + .PROCEND ;in=26;out=28;
416 +
417 + .SIZE SharedStub, .-SharedStub
418
419
420
421 1.1 src/patchsets/seamonkey/1.1.6/005_mozilla-firefox-1.1a2-ia64.patch
422
423 file : http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/seamonkey/1.1.6/005_mozilla-firefox-1.1a2-ia64.patch?rev=1.1&view=markup
424 plain: http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/seamonkey/1.1.6/005_mozilla-firefox-1.1a2-ia64.patch?rev=1.1&content-type=text/plain
425
426 Index: 005_mozilla-firefox-1.1a2-ia64.patch
427 ===================================================================
428 --- mozilla.orig/extensions/transformiix/source/base/Double.cpp
429 +++ mozilla/extensions/transformiix/source/base/Double.cpp
430 @@ -75,14 +75,7 @@
431 #define CPU_IS_ARM
432 #endif
433
434 -#if (__GNUC__ == 2 && __GNUC_MINOR__ > 95) || __GNUC__ > 2
435 -/**
436 - * This version of the macros is safe for the alias optimizations
437 - * that gcc does, but uses gcc-specific extensions.
438 - */
439 -
440 typedef union txdpun {
441 - PRFloat64 d;
442 struct {
443 #if defined(IS_LITTLE_ENDIAN) && !defined(CPU_IS_ARM)
444 PRUint32 lo, hi;
445 @@ -90,8 +83,14 @@
446 PRUint32 hi, lo;
447 #endif
448 } s;
449 + PRFloat64 d;
450 } txdpun;
451
452 +#if (__GNUC__ == 2 && __GNUC_MINOR__ > 95) || __GNUC__ > 2
453 +/**
454 + * This version of the macros is safe for the alias optimizations
455 + * that gcc does, but uses gcc-specific extensions.
456 + */
457 #define TX_DOUBLE_HI32(x) (__extension__ ({ txdpun u; u.d = (x); u.s.hi; }))
458 #define TX_DOUBLE_LO32(x) (__extension__ ({ txdpun u; u.d = (x); u.s.lo; }))
459
460 @@ -117,20 +116,20 @@
461
462 //-- Initialize Double related constants
463 #ifdef IS_BIG_ENDIAN
464 -const PRUint32 nanMask[2] = {TX_DOUBLE_HI32_EXPMASK | TX_DOUBLE_HI32_MANTMASK,
465 - 0xffffffff};
466 -const PRUint32 infMask[2] = {TX_DOUBLE_HI32_EXPMASK, 0};
467 -const PRUint32 negInfMask[2] = {TX_DOUBLE_HI32_EXPMASK | TX_DOUBLE_HI32_SIGNBIT, 0};
468 +const txdpun nanMask = {TX_DOUBLE_HI32_EXPMASK | TX_DOUBLE_HI32_MANTMASK,
469 + 0xffffffff};
470 +const txdpun infMask = {TX_DOUBLE_HI32_EXPMASK, 0};
471 +const txdpun negInfMask = {TX_DOUBLE_HI32_EXPMASK | TX_DOUBLE_HI32_SIGNBIT, 0};
472 #else
473 -const PRUint32 nanMask[2] = {0xffffffff,
474 - TX_DOUBLE_HI32_EXPMASK | TX_DOUBLE_HI32_MANTMASK};
475 -const PRUint32 infMask[2] = {0, TX_DOUBLE_HI32_EXPMASK};
476 -const PRUint32 negInfMask[2] = {0, TX_DOUBLE_HI32_EXPMASK | TX_DOUBLE_HI32_SIGNBIT};
477 +const txdpun nanMask = {0xffffffff,
478 + TX_DOUBLE_HI32_EXPMASK | TX_DOUBLE_HI32_MANTMASK};
479 +const txdpun infMask = {0, TX_DOUBLE_HI32_EXPMASK};
480 +const txdpun negInfMask = {0, TX_DOUBLE_HI32_EXPMASK | TX_DOUBLE_HI32_SIGNBIT};
481 #endif
482
483 -const double Double::NaN = *((double*)nanMask);
484 -const double Double::POSITIVE_INFINITY = *((double*)infMask);
485 -const double Double::NEGATIVE_INFINITY = *((double*)negInfMask);
486 +const double Double::NaN = nanMask.d;
487 +const double Double::POSITIVE_INFINITY = infMask.d;
488 +const double Double::NEGATIVE_INFINITY = negInfMask.d;
489
490 /*
491 * Determines whether the given double represents positive or negative
492
493
494
495 1.1 src/patchsets/seamonkey/1.1.6/007_seamonkey-1.0.1-dumpstack.patch
496
497 file : http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/seamonkey/1.1.6/007_seamonkey-1.0.1-dumpstack.patch?rev=1.1&view=markup
498 plain: http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/seamonkey/1.1.6/007_seamonkey-1.0.1-dumpstack.patch?rev=1.1&content-type=text/plain
499
500 Index: 007_seamonkey-1.0.1-dumpstack.patch
501 ===================================================================
502 --- mozilla/xpcom/base/nsStackFrameUnix.cpp.prestackdisable 2006-04-14 02:30:15.000000000 +0200
503 +++ mozilla/xpcom/base/nsStackFrameUnix.cpp 2006-04-14 02:31:02.000000000 +0200
504 @@ -88,6 +88,9 @@
505
506 void DumpStackToFile(FILE* aStream)
507 {
508 + fprintf(aStream, "Stacktrace disabled for now.\n"
509 + "See https://bugzilla.mozilla.org/show_bug.cgi?id=323853\n");
510 +#if 0
511 // Stack walking code courtesy Kipp's "leaky".
512
513 // Get the frame pointer
514 @@ -128,6 +131,7 @@
515 symbol, off, info.dli_fname, foff);
516 }
517 }
518 +#endif
519 }
520
521 #elif defined(__sun) && (defined(__sparc) || defined(sparc) || defined(__i386) || defined(i386))
522
523
524
525 1.1 src/patchsets/seamonkey/1.1.6/008_seamonkey-gentoo-pkgconfig.patch
526
527 file : http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/seamonkey/1.1.6/008_seamonkey-gentoo-pkgconfig.patch?rev=1.1&view=markup
528 plain: http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/seamonkey/1.1.6/008_seamonkey-gentoo-pkgconfig.patch?rev=1.1&content-type=text/plain
529
530 Index: 008_seamonkey-gentoo-pkgconfig.patch
531 ===================================================================
532 --- mozilla/config/autoconf.mk.in 2005-08-17 19:17:17.000000000 +0200
533 +++ mozilla/config/autoconf.mk.in 2005-11-17 14:23:11.000000000 +0100
534 @@ -54,13 +54,13 @@
535 prefix = @prefix@
536 exec_prefix = @exec_prefix@
537 bindir = @bindir@
538 -includedir = @includedir@/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
539 +includedir = $(mozappdir)/include
540 libdir = @libdir@
541 datadir = @datadir@
542 mandir = @mandir@
543 -idldir = @datadir@/idl/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
544 +idldir = $(mozappdir)/idl
545
546 -mozappdir = $(libdir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
547 +mozappdir = $(libdir)/$(MOZ_APP_NAME)
548 mredir = $(libdir)/mre/mre-$(MOZ_APP_VERSION)
549 mrelibdir = $(mredir)/lib
550
551 --- mozilla/build/unix/Makefile.in 2005-07-07 20:24:39.000000000 +0200
552 +++ mozilla/build/unix/Makefile.in 2005-11-17 21:41:47.000000000 +0100
553 @@ -61,6 +61,19 @@
554 NSPR_VERSION=$(shell $(DEPTH)/nsprpub/config/nspr-config --version)
555 endif
556
557 +# Hack to make sure that mozilla-nss.pc has the proper nss dependencies
558 +ifdef MOZ_NATIVE_NSS
559 +FULL_NSS_CFLAGS=$(shell $(NSS_CONFIG) --cflags)
560 +FULL_NSS_LIBS=$(shell $(NSS_CONFIG) --libs)
561 +NSS_NAME=nss
562 +NSS_VERSION=$(shell $(NSS_CONFIG) --version)
563 +else
564 +FULL_NSS_CFLAGS=-I$(includedir)/nss
565 +FULL_NSS_LIBS=-L$(mozappdir)/nss -lnss3 -lsmime3 -lssl3 -lsoftokn3
566 +NSS_NAME=$(MOZ_APP_NAME)-nss
567 +NSS_VERSION=$(MOZ_APP_VERSION)
568 +endif
569 +
570 ifdef MOZ_ENABLE_GTK
571 SUPERWIN_LIBS=-lgtksuperwin
572 endif
573 @@ -82,7 +82,8 @@
574 -e "s|%MOZILLA_VERSION%|$(MOZ_APP_VERSION)|" \
575 -e "s|%DEFS%|$(_DEFS)|" \
576 -e "s|%FULL_NSPR_LIBS%|$(FULL_NSPR_LIBS)|" \
577 - -e "s|%FULL_NSPR_CFLAGS%|$(FULL_NSPR_CFLAGS)|" > $@
578 + -e 's|%FULL_NSPR_CFLAGS%|$(FULL_NSPR_CFLAGS)|' \
579 + -e 's|\(echo -L.*\)\($$\)|\1 -Wl,-R$(mozappdir)\2|' > $@
580
581 $(MOZ_APP_NAME)-%.pc : mozilla-%.pc.in Makefile.in Makefile $(DEPTH)/config/autoconf.mk
582 cat $< | sed \
583 @@ -99,7 +112,12 @@
584 -e "s|%FULL_NSPR_LIBS%|$(FULL_NSPR_LIBS)|" \
585 -e "s|%FULL_NSPR_CFLAGS%|$(FULL_NSPR_CFLAGS)|" \
586 -e "s|%NSPR_NAME%|$(NSPR_NAME)|" \
587 - -e "s|%NSPR_VERSION%|$(NSPR_VERSION)|" > $@
588 + -e "s|%NSPR_VERSION%|$(NSPR_VERSION)|" \
589 + -e "s|%FULL_NSS_LIBS%|$(FULL_NSS_LIBS)|" \
590 + -e "s|%FULL_NSS_CFLAGS%|$(FULL_NSS_CFLAGS)|" \
591 + -e "s|%NSS_NAME%|$(NSS_NAME)|" \
592 + -e "s|%NSS_VERSION%|$(NSS_VERSION)|" \
593 + -e "s|\(^Libs: -L.*\)|\1 -Wl,-R\$$\{libdir}|" > $@
594
595 libs:: $(MOZ_APP_NAME)-config
596 chmod 755 $<
597 --- mozilla/build/unix/mozilla-js.pc.in.orig 2005-07-05 23:21:52.000000000 +0000
598 +++ mozilla/build/unix/mozilla-js.pc.in 2006-01-15 10:03:00.000000000 +0000
599 @@ -6,6 +6,6 @@
600 Name: JavaScript
601 Description: The Mozilla JavaScript Library
602 Version: %MOZILLA_VERSION%
603 -Requires: %NSPR_NAME% >= %NSPR_VERSION%
604 +Requires: %MOZ_APP_NAME%-%NSPR_NAME% >= %NSPR_VERSION%
605 Libs: -L${libdir} -lmozjs
606 Cflags: -I${includedir}/js -DXP_UNIX
607 --- mozilla/build/unix/mozilla-nspr.pc.in.orig 2005-07-05 23:21:52.000000000 +0000
608 +++ mozilla/build/unix/mozilla-nspr.pc.in 2006-01-15 10:01:16.000000000 +0000
609 @@ -1,12 +1,5 @@
610 -prefix=%prefix%
611 -exec_prefix=%exec_prefix%
612 -libdir=%libdir%
613 -includedir=%includedir%
614 -
615 Name: NSPR
616 Description: The Netscape Portable Runtime
617 Version: %NSPR_VERSION%
618 -Libs: %FULL_NSPR_LIBS%
619 -Cflags: %FULL_NSPR_CFLAGS%
620 -
621 +Requires: %NSPR_NAME% >= %NSPR_VERSION%
622
623 --- mozilla/build/unix/mozilla-xpcom.pc.in.orig 2005-07-05 23:21:52.000000000 +0000
624 +++ mozilla/build/unix/mozilla-xpcom.pc.in 2006-01-15 10:02:34.000000000 +0000
625 @@ -7,6 +7,6 @@
626 Name: XPCOM
627 Description: The Mozilla Cross Platform Component Library
628 Version: %MOZILLA_VERSION%
629 -Requires: %NSPR_NAME% >= %NSPR_VERSION%
630 +Requires: %MOZ_APP_NAME%-%NSPR_NAME% >= %NSPR_VERSION%
631 Libs: -L${libdir} -lxpcom
632 Cflags: -I${includedir} -I${includedir}/xpcom -I${includedir}/string
633 --- mozilla/build/unix/mozilla-nss.pc.in.orig 2005-07-05 23:21:52.000000000 +0000
634 +++ mozilla/build/unix/mozilla-nss.pc.in 2006-01-15 10:26:13.000000000 +0000
635 @@ -1,11 +1,4 @@
636 -prefix=%prefix%
637 -exec_prefix=%exec_prefix%
638 -libdir=%libdir%
639 -includedir=%includedir%
640 -
641 Name: NSS
642 Description: Mozilla Network Security Services
643 -Version: %MOZILLA_VERSION%
644 -Requires: %NSPR_NAME% >= %NSPR_VERSION%
645 -Libs: -L${libdir} -lnss3 -lsmime3 -lssl3 -lsoftokn3
646 -Cflags: -I${includedir}/nss
647 +Version: %NSS_VERSION%
648 +Requires: %NSS_NAME% >= %NSS_VERSION%
649
650
651
652 1.1 src/patchsets/seamonkey/1.1.6/009_firefox-gdkpango.patch
653
654 file : http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/seamonkey/1.1.6/009_firefox-gdkpango.patch?rev=1.1&view=markup
655 plain: http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/seamonkey/1.1.6/009_firefox-gdkpango.patch?rev=1.1&content-type=text/plain
656
657 Index: 009_firefox-gdkpango.patch
658 ===================================================================
659 --- config/system-headers.orig 2007-10-19 21:38:00.000000000 +0200
660 +++ config/system-headers 2007-10-19 21:38:41.000000000 +0200
661 @@ -208,6 +208,7 @@
662 gdk/gdkevents.h
663 gdk/gdk.h
664 gdk/gdkkeysyms.h
665 +gdk/gdkpango.h
666 gdk/gdkprivate.h
667 gdk/gdkregion.h
668 gdk/gdkwindow.h
669
670
671
672 1.1 src/patchsets/seamonkey/1.1.6/010_visibility-gcc-4.2.patch
673
674 file : http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/seamonkey/1.1.6/010_visibility-gcc-4.2.patch?rev=1.1&view=markup
675 plain: http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/seamonkey/1.1.6/010_visibility-gcc-4.2.patch?rev=1.1&content-type=text/plain
676
677 Index: 010_visibility-gcc-4.2.patch
678 ===================================================================
679 --- configure.in.orig 2007-10-12 20:39:27.000000000 +0200
680 +++ configure.in 2007-10-12 20:40:49.000000000 +0200
681 @@ -2657,8 +2657,7 @@
682 ])
683 if test "$ac_cv_have_visibility_builtin_bug" = "no" -a \
684 "$ac_cv_have_visibility_class_bug" = "no"; then
685 - VISIBILITY_FLAGS='-I$(DIST)/include/system_wrappers -include $(topsrcdir)/config/gcc_hidden.h'
686 - WRAP_SYSTEM_INCLUDES=1
687 + VISIBILITY_FLAGS='-fvisibility=hidden'
688 else
689 VISIBILITY_FLAGS='-fvisibility=hidden'
690 fi # have visibility pragma bug
691
692
693
694 1.1 src/patchsets/seamonkey/1.1.6/020_firefox-0.7.3-default-plugin-less-annoying.patch
695
696 file : http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/seamonkey/1.1.6/020_firefox-0.7.3-default-plugin-less-annoying.patch?rev=1.1&view=markup
697 plain: http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/seamonkey/1.1.6/020_firefox-0.7.3-default-plugin-less-annoying.patch?rev=1.1&content-type=text/plain
698
699 Index: 020_firefox-0.7.3-default-plugin-less-annoying.patch
700 ===================================================================
701 --- mozilla/modules/plugin/samples/default/unix/npshell.c.foo Tue May 7 14:18:45 2002
702 +++ mozilla/modules/plugin/samples/default/unix/npshell.c Tue May 7 14:49:55 2002
703 @@ -224,7 +224,7 @@
704 This->depth = ws_info->depth;
705 This->colormap = ws_info->colormap;
706 makePixmap(This);
707 - makeWidget(This);
708 + /* makeWidget(This); */
709 }
710 return NPERR_NO_ERROR;
711 }
712 --- mozilla/modules/plugin/samples/default/unix/nullplugin.c.foo Tue May 7 14:18:45 2002
713 +++ mozilla/modules/plugin/samples/default/unix/nullplugin.c Tue May 7 14:48:33 2002
714 @@ -70,6 +70,8 @@
715
716 gtk_object_remove_data(GTK_OBJECT(button), DIALOGID);
717
718 +#if 0
719 +
720 if (This->pluginsFileUrl != NULL)
721 {
722 /* Get the JavaScript command string */
723 @@ -110,6 +112,7 @@
724 NPN_MemFree(url);
725 }
726 }
727 +#endif
728 destroyWidget(This);
729 }
730
731 @@ -265,14 +268,14 @@
732 GTK_DIALOG(dialogWindow)->action_area);
733 gtk_object_set_data(GTK_OBJECT(okButton), DIALOGID, dialogWindow);
734
735 - cancelButton= AddWidget(gtk_button_new_with_label (CANCEL_BUTTON),
736 - GTK_DIALOG(dialogWindow)->action_area);
737 + /* cancelButton= AddWidget(gtk_button_new_with_label (CANCEL_BUTTON),
738 + GTK_DIALOG(dialogWindow)->action_area); */
739
740 gtk_signal_connect (GTK_OBJECT(okButton), "clicked",
741 GTK_SIGNAL_FUNC(DialogOKClicked), This);
742
743 - gtk_signal_connect (GTK_OBJECT(cancelButton), "clicked",
744 - GTK_SIGNAL_FUNC(DialogCancelClicked), This);
745 + /* gtk_signal_connect (GTK_OBJECT(cancelButton), "clicked",
746 + GTK_SIGNAL_FUNC(DialogCancelClicked), This); */
747
748 /* hookup to when the dialog is destroyed */
749 gtk_signal_connect(GTK_OBJECT(dialogWindow), "destroy",
750 --- mozilla/modules/plugin/samples/default/unix/nullplugin.h.foo Tue May 7 14:46:48 2002
751 +++ mozilla/modules/plugin/samples/default/unix/nullplugin.h Tue May 7 14:47:08 2002
752 @@ -53,9 +53,7 @@
753 #define JVM_MINETYPE "application/x-java-vm"
754 #define MESSAGE "\
755 This page contains information of a type (%s) that can\n\
756 -only be viewed with the appropriate Plug-in.\n\
757 -\n\
758 -Click OK to download Plugin."
759 +only be viewed with the appropriate Plug-in."
760
761 #define GET 1
762 #define REFRESH 2
763
764
765
766 1.1 src/patchsets/seamonkey/1.1.6/021_seamonkey-1.1-include-cairo-libs.patch
767
768 file : http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/seamonkey/1.1.6/021_seamonkey-1.1-include-cairo-libs.patch?rev=1.1&view=markup
769 plain: http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/seamonkey/1.1.6/021_seamonkey-1.1-include-cairo-libs.patch?rev=1.1&content-type=text/plain
770
771 Index: 021_seamonkey-1.1-include-cairo-libs.patch
772 ===================================================================
773 --- mozilla/configure.in.orig 2007-01-11 19:45:06.000000000 +0100
774 +++ mozilla/configure.in 2007-01-23 21:18:26.905154656 +0100
775 @@ -6730,7 +6730,7 @@
776 else
777 PKG_CHECK_MODULES(CAIRO, cairo >= $CAIRO_VERSION)
778 MOZ_CAIRO_CFLAGS=$CAIRO_CFLAGS
779 - MOZ_CAIRO_LIBS=$CAIRO_LIBS
780 + MOZ_CAIRO_LIBS="$CAIRO_LIBS -lXrender $XLIBS -lfontconfig -lfreetype"
781 fi
782 fi
783
784
785
786
787 1.1 src/patchsets/seamonkey/1.1.6/030_pango-cairo-1.patch
788
789 file : http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/seamonkey/1.1.6/030_pango-cairo-1.patch?rev=1.1&view=markup
790 plain: http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/seamonkey/1.1.6/030_pango-cairo-1.patch?rev=1.1&content-type=text/plain
791
792 Index: 030_pango-cairo-1.patch
793 ===================================================================
794 --- config/autoconf.mk.in.old 2007-01-20 21:19:33.000000000 +0100
795 +++ config/autoconf.mk.in 2007-01-20 21:20:16.000000000 +0100
796 @@ -479,6 +479,7 @@
797 MOZ_ENABLE_PANGO = @MOZ_ENABLE_PANGO@
798 MOZ_PANGO_CFLAGS = @MOZ_PANGO_CFLAGS@
799 MOZ_PANGO_LIBS = @MOZ_PANGO_LIBS@
800 +MOZ_PANGOCAIRO = @MOZ_PANGOCAIRO@
801
802 MOZ_EXTRA_X11CONVERTERS = @MOZ_EXTRA_X11CONVERTERS@
803
804 --- gfx/src/gtk/mozilla-decoder.cpp.old 2007-01-20 21:21:30.000000000 +0100
805 +++ gfx/src/gtk/mozilla-decoder.cpp 2007-01-20 21:24:19.000000000 +0100
806 @@ -40,6 +40,11 @@
807 #define PANGO_ENABLE_ENGINE
808
809 #include "mozilla-decoder.h"
810 +#ifdef MOZ_PANGOCAIRO
811 +#include <pango/pangocairo.h>
812 +#else
813 +#include <pango/pangoxft.h>
814 +#endif
815 #include <pango/pangofc-fontmap.h>
816 #include <pango/pangofc-font.h>
817 #include <gdk/gdkpango.h>
818 @@ -213,8 +218,11 @@
819 printf("unknown suffix used for mapping\n");
820 }
821 }
822 -
823 +#ifdef MOZ_PANGOCAIRO
824 + pango_fc_font_map_add_decoder_find_func(PANGO_FC_FONT_MAP(pango_cairo_font_map_get_default()),
825 +#else
826 pango_fc_font_map_add_decoder_find_func(PANGO_FC_FONT_MAP(fontmap),
827 +#endif
828 mozilla_find_decoder,
829 NULL,
830 NULL);
831 --- configure.in.old 2007-01-20 21:25:20.000000000 +0100
832 +++ configure.in 2007-01-20 21:32:21.000000000 +0100
833 @@ -3923,8 +3923,8 @@
834 MOZ_ENABLE_GTK2=1
835 MOZ_ENABLE_XREMOTE=1
836 MOZ_ENABLE_COREXFONTS=${MOZ_ENABLE_COREXFONTS-}
837 - TK_CFLAGS='$(MOZ_GTK2_CFLAGS)'
838 - TK_LIBS='$(MOZ_GTK2_LIBS)'
839 + TK_CFLAGS='$(MOZ_GTK2_CFLAGS) $(MOZ_PANGO_CFLAGS)'
840 + TK_LIBS='$(MOZ_GTK2_LIBS) $(MOD_PANGO_LIBS)'
841 AC_DEFINE(MOZ_WIDGET_GTK2)
842 ;;
843
844 @@ -4581,12 +4581,14 @@
845 then
846 AC_DEFINE(MOZ_ENABLE_XFT)
847 PKG_CHECK_MODULES(MOZ_XFT, xft)
848 - PKG_CHECK_MODULES(_PANGOCHK, pango >= 1.1.0)
849 + PKG_CHECK_MODULES(MOZ_PANGO, pangoxft >= 1.1.0 pangox)
850 fi
851
852 AC_SUBST(MOZ_ENABLE_XFT)
853 AC_SUBST(MOZ_XFT_CFLAGS)
854 AC_SUBST(MOZ_XFT_LIBS)
855 +AC_SUBST(MOZ_PANGO_CFLAGS)
856 +AC_SUBST(MOZ_PANGO_LIBS)
857
858 dnl ========================================================
859 dnl = pango font rendering
860 @@ -4600,8 +4602,17 @@
861 then
862 AC_DEFINE(MOZ_ENABLE_PANGO)
863 PKG_CHECK_MODULES(MOZ_PANGO, pangoxft >= 1.6.0)
864 + PKG_CHECK_MODULES(PANGOCAIRO_CHK, pangocairo >= 1.10.0,
865 + [
866 + MOZ_PANGOCAIRO=1
867 + AC_DEFINE(MOZ_PANGOCAIRO)
868 + MOZ_PANGO_CFLAGS="$PANGOCAIRO_CHK_CFLAGS $MOZ_PANGO_CFLAGS"
869 + MOZ_PANGO_LIBS="$PANGOCAIRO_CHK_LIBS $MOZ_PANGO_LIBS"
870 + ],
871 + [:])
872
873 AC_SUBST(MOZ_ENABLE_PANGO)
874 + AC_SUBST(MOZ_PANGOCAIRO)
875 AC_SUBST(MOZ_PANGO_CFLAGS)
876 AC_SUBST(MOZ_PANGO_LIBS)
877 fi
878
879
880
881 1.1 src/patchsets/seamonkey/1.1.6/031_firefox-1.1-uriloader-1.patch
882
883 file : http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/seamonkey/1.1.6/031_firefox-1.1-uriloader-1.patch?rev=1.1&view=markup
884 plain: http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/seamonkey/1.1.6/031_firefox-1.1-uriloader-1.patch?rev=1.1&content-type=text/plain
885
886 Index: 031_firefox-1.1-uriloader-1.patch
887 ===================================================================
888 Index: uriloader/exthandler/Makefile.in
889 ===================================================================
890 RCS file: /cvsroot/mozilla/uriloader/exthandler/Makefile.in,v
891 retrieving revision 1.60
892 diff -d -u -p -r1.60 Makefile.in
893 --- uriloader/exthandler/Makefile.in 2 May 2005 16:30:03 -0000 1.60
894 +++ uriloader/exthandler/Makefile.in 21 Jul 2005 03:07:39 -0000
895 @@ -102,7 +102,7 @@ endif
896 LOCAL_INCLUDES = -I$(srcdir)
897
898 ifeq ($(MOZ_WIDGET_TOOLKIT),gtk2)
899 -OSHELPER += nsGNOMERegistry.cpp
900 +OSHELPER += nsMIMEInfoUnix.cpp nsGNOMERegistry.cpp
901 endif
902
903 ifeq ($(MOZ_WIDGET_TOOLKIT),beos)
904 Index: uriloader/exthandler/unix/nsGNOMERegistry.cpp
905 ===================================================================
906 RCS file: /cvsroot/mozilla/uriloader/exthandler/unix/nsGNOMERegistry.cpp,v
907 retrieving revision 1.10
908 diff -d -u -p -r1.10 nsGNOMERegistry.cpp
909 --- uriloader/exthandler/unix/nsGNOMERegistry.cpp 16 Oct 2004 13:46:17 -0000 1.10
910 +++ uriloader/exthandler/unix/nsGNOMERegistry.cpp 21 Jul 2005 03:07:40 -0000
911 @@ -42,7 +42,7 @@
912 #include "nsString.h"
913 #include "nsIComponentManager.h"
914 #include "nsILocalFile.h"
915 -#include "nsMIMEInfoImpl.h"
916 +#include "nsMIMEInfoUnix.h"
917 #include "nsAutoPtr.h"
918
919 #include <glib.h>
920 @@ -56,12 +56,12 @@ typedef struct _GConfClient GConfClient;
921 typedef struct _GnomeProgram GnomeProgram;
922 typedef struct _GnomeModuleInfo GnomeModuleInfo;
923
924 -typedef struct {
925 +struct GnomeVFSMimeApplication {
926 char *id;
927 char *name;
928 char *command;
929 /* there is more here, but we don't need it */
930 -} GnomeVFSMimeApplication;
931 +};
932
933 typedef GConfClient * (*_gconf_client_get_default_fn)();
934 typedef gchar * (*_gconf_client_get_string_fn)(GConfClient *,
935 @@ -264,7 +264,7 @@ nsGNOMERegistry::GetAppDescForScheme(con
936 }
937
938
939 -/* static */ already_AddRefed<nsMIMEInfoBase>
940 +/* static */ already_AddRefed<nsMIMEInfoUnix>
941 nsGNOMERegistry::GetFromExtension(const char *aFileExt)
942 {
943 if (!gconfLib)
944 @@ -286,7 +286,7 @@ nsGNOMERegistry::GetFromExtension(const
945 return GetFromType(mimeType);
946 }
947
948 -/* static */ already_AddRefed<nsMIMEInfoBase>
949 +/* static */ already_AddRefed<nsMIMEInfoUnix>
950 nsGNOMERegistry::GetFromType(const char *aMIMEType)
951 {
952 if (!gconfLib)
953 @@ -296,9 +296,11 @@ nsGNOMERegistry::GetFromType(const char
954 if (!handlerApp)
955 return nsnull;
956
957 - nsRefPtr<nsMIMEInfoImpl> mimeInfo = new nsMIMEInfoImpl(aMIMEType);
958 + nsRefPtr<nsMIMEInfoUnix> mimeInfo = new nsMIMEInfoUnix(aMIMEType);
959 NS_ENSURE_TRUE(mimeInfo, nsnull);
960
961 + mimeInfo->SetDefaultGnomeVFSMimeApplication(handlerApp);
962 +
963 // Get the list of extensions and append then to the mimeInfo.
964 GList *extensions = _gnome_vfs_mime_get_extensions_list(aMIMEType);
965 for (GList *extension = extensions; extension; extension = extension->next)
966 @@ -320,11 +322,21 @@ nsGNOMERegistry::GetFromType(const char
967 return nsnull;
968 }
969
970 - gchar *commandPath = g_find_program_in_path(nativeCommand);
971 + gchar **argv;
972 + gboolean res = g_shell_parse_argv(nativeCommand, NULL, &argv, NULL);
973 + if (!res) {
974 + NS_ERROR("Could not convert helper app command to filesystem encoding");
975 + _gnome_vfs_mime_application_free(handlerApp);
976 + return nsnull;
977 + }
978 +
979 + gchar *commandPath = g_find_program_in_path(argv[0]);
980
981 g_free(nativeCommand);
982 + g_strfreev(argv);
983
984 if (!commandPath) {
985 + NS_WARNING("could not find command in path");
986 _gnome_vfs_mime_application_free(handlerApp);
987 return nsnull;
988 }
989 @@ -342,7 +354,7 @@ nsGNOMERegistry::GetFromType(const char
990
991 _gnome_vfs_mime_application_free(handlerApp);
992
993 - nsMIMEInfoBase* retval;
994 + nsMIMEInfoUnix* retval;
995 NS_ADDREF((retval = mimeInfo));
996 return retval;
997 }
998 Index: uriloader/exthandler/unix/nsGNOMERegistry.h
999 ===================================================================
1000 RCS file: /cvsroot/mozilla/uriloader/exthandler/unix/nsGNOMERegistry.h,v
1001 retrieving revision 1.3
1002 diff -d -u -p -r1.3 nsGNOMERegistry.h
1003 --- uriloader/exthandler/unix/nsGNOMERegistry.h 16 Oct 2004 13:46:17 -0000 1.3
1004 +++ uriloader/exthandler/unix/nsGNOMERegistry.h 21 Jul 2005 03:07:40 -0000
1005 @@ -35,10 +35,13 @@
1006 *
1007 * ***** END LICENSE BLOCK ***** */
1008
1009 +#ifndef nsGNOMERegistry_h__
1010 +#define nsGNOMERegistry_h__
1011 +
1012 #include "nsIURI.h"
1013 #include "nsCOMPtr.h"
1014
1015 -class nsMIMEInfoBase;
1016 +class nsMIMEInfoUnix;
1017
1018 class nsGNOMERegistry
1019 {
1020 @@ -52,7 +55,9 @@ class nsGNOMERegistry
1021 static void GetAppDescForScheme(const nsACString& aScheme,
1022 nsAString& aDesc);
1023
1024 - static already_AddRefed<nsMIMEInfoBase> GetFromExtension(const char *aFileExt);
1025 + static already_AddRefed<nsMIMEInfoUnix> GetFromExtension(const char *aFileExt);
1026
1027 - static already_AddRefed<nsMIMEInfoBase> GetFromType(const char *aMIMEType);
1028 + static already_AddRefed<nsMIMEInfoUnix> GetFromType(const char *aMIMEType);
1029 };
1030 +
1031 +#endif // nsGNOMERegistry_h__
1032 Index: uriloader/exthandler/unix/nsMIMEInfoUnix.cpp
1033 ===================================================================
1034 RCS file: uriloader/exthandler/unix/nsMIMEInfoUnix.cpp
1035 diff -N uriloader/exthandler/unix/nsMIMEInfoUnix.cpp
1036 --- /dev/null 1 Jan 1970 00:00:00 -0000
1037 +++ uriloader/exthandler/unix/nsMIMEInfoUnix.cpp 21 Jul 2005 03:07:40 -0000
1038 @@ -0,0 +1,196 @@
1039 +/* ***** BEGIN LICENSE BLOCK *****
1040 + * Version: MPL 1.1
1041 + *
1042 + * The contents of this file are subject to the Mozilla Public License Version
1043 + * 1.1 (the "License"); you may not use this file except in compliance with
1044 + * the License. You may obtain a copy of the License at
1045 + * http://www.mozilla.org/MPL/
1046 + *
1047 + * Software distributed under the License is distributed on an "AS IS" basis,
1048 + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
1049 + * for the specific language governing rights and limitations under the
1050 + * License.
1051 + *
1052 + * The Original Code is mozilla.org Code.
1053 + *
1054 + * The Initial Developer of the Original Code is
1055 + * Red Hat, Inc.
1056 + * Portions created by the Initial Developer are Copyright (C) 2005
1057 + * the Initial Developer. All Rights Reserved.
1058 + *
1059 + * Contributor(s):
1060 + * Christopher Aillon <caillon@××××××.com> (Original author)
1061 + *
1062 + *
1063 + * ***** END LICENSE BLOCK ***** */
1064 +
1065 +#include "nsMIMEInfoUnix.h"
1066 +#include "prlink.h"
1067 +#include "prmem.h"
1068 +#include <glib.h>
1069 +#include <glib-object.h>
1070 +
1071 +static PRLibrary *gnomeLib;
1072 +static PRLibrary *vfsLib;
1073 +
1074 +typedef struct _GnomeProgram GnomeProgram;
1075 +typedef struct _GnomeModuleInfo GnomeModuleInfo;
1076 +
1077 +typedef enum {
1078 + GNOME_VFS_OK // there's more but we don't care about them.
1079 +} GnomeVFSResult;
1080 +
1081 +typedef GnomeVFSResult (*_gnome_vfs_mime_application_launch_fn)
1082 + (GnomeVFSMimeApplication *app,
1083 + GList *uris);
1084 +typedef void (*_gnome_vfs_mime_application_free_fn)(GnomeVFSMimeApplication *);
1085 +typedef GnomeVFSMimeApplication * (*_gnome_vfs_mime_application_copy_fn)(GnomeVFSMimeApplication *);
1086 +typedef GnomeProgram * (*_gnome_program_init_fn)(const char *, const char *,
1087 + const GnomeModuleInfo *, int,
1088 + char **, const char *, ...);
1089 +typedef const char * (*_gnome_vfs_mime_application_get_name_fn)(GnomeVFSMimeApplication *);
1090 +typedef const GnomeModuleInfo * (*_libgnome_module_info_get_fn)();
1091 +typedef GnomeProgram * (*_gnome_program_get_fn)();
1092 +typedef char * (*_gnome_vfs_make_uri_from_input_fn)(const char *);
1093 +
1094 +#define DECL_FUNC_PTR(func) static _##func##_fn _##func
1095 +
1096 +DECL_FUNC_PTR(gnome_vfs_mime_application_launch);
1097 +DECL_FUNC_PTR(gnome_vfs_mime_application_free);
1098 +DECL_FUNC_PTR(gnome_vfs_mime_application_copy);
1099 +DECL_FUNC_PTR(gnome_vfs_mime_application_get_name);
1100 +DECL_FUNC_PTR(gnome_program_init);
1101 +DECL_FUNC_PTR(gnome_program_get);
1102 +DECL_FUNC_PTR(libgnome_module_info_get);
1103 +DECL_FUNC_PTR(gnome_vfs_make_uri_from_input);
1104 +
1105 +static PRLibrary *
1106 +LoadVersionedLibrary(const char* libName, const char* libVersion)
1107 +{
1108 + char *platformLibName = PR_GetLibraryName(nsnull, libName);
1109 + nsCAutoString versionLibName(platformLibName);
1110 + versionLibName.Append(libVersion);
1111 + PR_Free(platformLibName);
1112 + return PR_LoadLibrary(versionLibName.get());
1113 +}
1114 +
1115 +static void
1116 +Cleanup()
1117 +{
1118 + // Unload all libraries
1119 + if (gnomeLib)
1120 + PR_UnloadLibrary(gnomeLib);
1121 + if (vfsLib)
1122 + PR_UnloadLibrary(vfsLib);
1123 +
1124 + gnomeLib = vfsLib = nsnull;
1125 +}
1126 +
1127 +static void
1128 +InitGnomeVFS()
1129 +{
1130 + static PRBool initialized = PR_FALSE;
1131 +
1132 + if (initialized)
1133 + return;
1134 +
1135 + #define ENSURE_LIB(lib) \
1136 + PR_BEGIN_MACRO \
1137 + if (!lib) { \
1138 + Cleanup(); \
1139 + return; \
1140 + } \
1141 + PR_END_MACRO
1142 +
1143 + #define GET_LIB_FUNCTION(lib, func, failure) \
1144 + PR_BEGIN_MACRO \
1145 + _##func = (_##func##_fn) PR_FindFunctionSymbol(lib##Lib, #func); \
1146 + if (!_##func) { \
1147 + failure; \
1148 + } \
1149 + PR_END_MACRO
1150 +
1151 + // Attempt to open libgnome
1152 + gnomeLib = LoadVersionedLibrary("gnome-2", ".0");
1153 + ENSURE_LIB(gnomeLib);
1154 +
1155 + GET_LIB_FUNCTION(gnome, gnome_program_init, return Cleanup());
1156 + GET_LIB_FUNCTION(gnome, libgnome_module_info_get, return Cleanup());
1157 + GET_LIB_FUNCTION(gnome, gnome_program_get, return Cleanup());
1158 +
1159 + // Attempt to open libgnomevfs
1160 + vfsLib = LoadVersionedLibrary("gnomevfs-2", ".0");
1161 + ENSURE_LIB(vfsLib);
1162 +
1163 + GET_LIB_FUNCTION(vfs, gnome_vfs_mime_application_launch, /* do nothing */);
1164 + GET_LIB_FUNCTION(vfs, gnome_vfs_make_uri_from_input, return Cleanup());
1165 + GET_LIB_FUNCTION(vfs, gnome_vfs_mime_application_get_name, return Cleanup());
1166 + GET_LIB_FUNCTION(vfs, gnome_vfs_mime_application_free, return Cleanup());
1167 + GET_LIB_FUNCTION(vfs, gnome_vfs_mime_application_copy, return Cleanup());
1168 +
1169 + // Initialize GNOME, if it's not already initialized. It's not
1170 + // necessary to tell GNOME about our actual command line arguments.
1171 +
1172 + if (!_gnome_program_get()) {
1173 + char *argv[1] = { "gecko" };
1174 + _gnome_program_init("Gecko", "1.0", _libgnome_module_info_get(),
1175 + 1, argv, NULL);
1176 + }
1177 +
1178 + // Note: after GNOME has been initialized, do not ever unload these
1179 + // libraries. They register atexit handlers, so if they are unloaded, we'll
1180 + // crash on exit.
1181 +}
1182 +
1183 +void
1184 +nsMIMEInfoUnix::SetDefaultGnomeVFSMimeApplication(GnomeVFSMimeApplication* app)
1185 +{
1186 + if (_gnome_vfs_mime_application_copy && _gnome_vfs_mime_application_free) {
1187 + mDefaultVFSApplication = _gnome_vfs_mime_application_copy(app);
1188 +
1189 + mPreferredAction = nsIMIMEInfo::useSystemDefault;
1190 +
1191 + const gchar * name = _gnome_vfs_mime_application_get_name(mDefaultVFSApplication);
1192 + if (name)
1193 + mDefaultAppDescription = NS_ConvertUTF8toUCS2(name);
1194 + }
1195 +}
1196 +
1197 +nsMIMEInfoUnix::~nsMIMEInfoUnix()
1198 +{
1199 + if (mDefaultVFSApplication)
1200 + _gnome_vfs_mime_application_free(mDefaultVFSApplication);
1201 +}
1202 +
1203 +nsresult
1204 +nsMIMEInfoUnix::LaunchDefaultWithFile(nsIFile* aFile)
1205 +{
1206 + NS_ENSURE_ARG_POINTER(aFile);
1207 +
1208 + InitGnomeVFS();
1209 +
1210 + if (_gnome_vfs_mime_application_launch && mDefaultVFSApplication) {
1211 + nsCAutoString nativePath;
1212 + aFile->GetNativePath(nativePath);
1213 +
1214 + gchar *uri = _gnome_vfs_make_uri_from_input(nativePath.get());
1215 +
1216 + GList *uris = NULL;
1217 + uris = g_list_append(uris, uri);
1218 +
1219 + GnomeVFSResult result = _gnome_vfs_mime_application_launch(mDefaultVFSApplication, uris);
1220 +
1221 + g_free(uri);
1222 + g_list_free(uris);
1223 +
1224 + if (result != GNOME_VFS_OK)
1225 + return NS_ERROR_FAILURE;
1226 +
1227 + return NS_OK;
1228 + }
1229 +
1230 + if (!mDefaultApplication)
1231 + return NS_ERROR_FILE_NOT_FOUND;
1232 +
1233 + return LaunchWithIProcess(mDefaultApplication, aFile);
1234 +}
1235 Index: uriloader/exthandler/unix/nsMIMEInfoUnix.h
1236 ===================================================================
1237 RCS file: uriloader/exthandler/unix/nsMIMEInfoUnix.h
1238 diff -N uriloader/exthandler/unix/nsMIMEInfoUnix.h
1239 --- /dev/null 1 Jan 1970 00:00:00 -0000
1240 +++ uriloader/exthandler/unix/nsMIMEInfoUnix.h 21 Jul 2005 03:07:40 -0000
1241 @@ -0,0 +1,50 @@
1242 +/* ***** BEGIN LICENSE BLOCK *****
1243 + * Version: MPL 1.1
1244 + *
1245 + * The contents of this file are subject to the Mozilla Public License Version
1246 + * 1.1 (the "License"); you may not use this file except in compliance with
1247 + * the License. You may obtain a copy of the License at
1248 + * http://www.mozilla.org/MPL/
1249 + *
1250 + * Software distributed under the License is distributed on an "AS IS" basis,
1251 + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
1252 + * for the specific language governing rights and limitations under the
1253 + * License.
1254 + *
1255 + * The Original Code is mozilla.org Code.
1256 + *
1257 + * The Initial Developer of the Original Code is
1258 + * Red Hat, Inc.
1259 + * Portions created by the Initial Developer are Copyright (C) 2005
1260 + * the Initial Developer. All Rights Reserved.
1261 + *
1262 + * Contributor(s):
1263 + * Christopher Aillon <caillon@××××××.com> (Original author)
1264 + *
1265 + *
1266 + * ***** END LICENSE BLOCK ***** */
1267 +
1268 +#ifndef nsMimeInfoUnix_h__
1269 +#define nsMimeInfoUnix_h__
1270 +
1271 +#include "nsMIMEInfoImpl.h"
1272 +
1273 +struct GnomeVFSMimeApplication;
1274 +
1275 +class nsMIMEInfoUnix : public nsMIMEInfoImpl
1276 +{
1277 +public:
1278 + nsMIMEInfoUnix(const char* aType = "") : nsMIMEInfoImpl(aType), mDefaultVFSApplication(nsnull) {}
1279 + nsMIMEInfoUnix(const nsACString& aMIMEType) : nsMIMEInfoImpl(aMIMEType) {};
1280 +
1281 + virtual ~nsMIMEInfoUnix();
1282 +
1283 + void SetDefaultGnomeVFSMimeApplication(GnomeVFSMimeApplication *app);
1284 +
1285 +protected:
1286 + virtual NS_HIDDEN_(nsresult) LaunchDefaultWithFile(nsIFile* aFile);
1287 +
1288 + GnomeVFSMimeApplication *mDefaultVFSApplication;
1289 +};
1290 +
1291 +#endif // nsMimeInfoUnix_h__
1292 Index: uriloader/exthandler/unix/nsOSHelperAppService.cpp
1293 ===================================================================
1294 RCS file: /cvsroot/mozilla/uriloader/exthandler/unix/nsOSHelperAppService.cpp,v
1295 retrieving revision 1.58
1296 diff -d -u -p -r1.58 nsOSHelperAppService.cpp
1297 --- uriloader/exthandler/unix/nsOSHelperAppService.cpp 25 Oct 2004 07:46:01 -0000 1.58
1298 +++ uriloader/exthandler/unix/nsOSHelperAppService.cpp 21 Jul 2005 03:07:40 -0000
1299 @@ -44,6 +44,7 @@
1300 #include "nsOSHelperAppService.h"
1301 #ifdef MOZ_WIDGET_GTK2
1302 #include "nsGNOMERegistry.h"
1303 +#include "nsMIMEInfoUnix.h"
1304 #endif
1305 #include "nsISupports.h"
1306 #include "nsString.h"
1307
1308
1309
1310 1.1 src/patchsets/seamonkey/1.1.6/032_firefox-2.0_ppc64-1.patch
1311
1312 file : http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/seamonkey/1.1.6/032_firefox-2.0_ppc64-1.patch?rev=1.1&view=markup
1313 plain: http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/seamonkey/1.1.6/032_firefox-2.0_ppc64-1.patch?rev=1.1&content-type=text/plain
1314
1315 Index: 032_firefox-2.0_ppc64-1.patch
1316 ===================================================================
1317 # Upstream https://bugzilla.mozilla.org/show_bug.cgi?id=361415
1318
1319 unchanged:
1320 --- mozilla.orig/xpcom/reflect/xptcall/src/md/unix/Makefile.in 2006-11-21 17:09:28.000000000 +0000
1321 +++ mozilla/xpcom/reflect/xptcall/src/md/unix/Makefile.in 2006-11-20 10:13:38.000000000 +0000
1322 @@ -267,6 +267,11 @@
1323 ASFILES := xptcinvoke_asm_ppc_linux.s xptcstubs_asm_ppc_linux.s
1324 AS := $(CC) -c -x assembler-with-cpp
1325 endif
1326 +ifeq ($(OS_ARCH)$(OS_TEST),Linuxppc64)
1327 +CPPSRCS := xptcinvoke_ppc64_linux.cpp xptcstubs_ppc64_linux.cpp
1328 +ASFILES := xptcinvoke_asm_ppc64_linux.s xptcstubs_asm_ppc64_linux.s
1329 +AS := $(CC) -c -x assembler-with-cpp
1330 +endif
1331
1332 #
1333 # NetBSD/PPC
1334 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
1335 --- mozilla/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_asm_ppc64_linux.s 2006-11-21 14:01:45.000000000 +0000
1336 +++ mozilla/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_asm_ppc64_linux.s 2006-11-22 10:43:26.000000000 +0000
1337 @@ -0,0 +1,154 @@
1338 +// -*- Mode: Asm -*-
1339 +//
1340 +// The contents of this file are subject to the Netscape Public
1341 +// License Version 1.1 (the "License"); you may not use this file
1342 +// except in compliance with the License. You may obtain a copy of
1343 +// the License at http://www.mozilla.org/NPL/
1344 +//
1345 +// Software distributed under the License is distributed on an "AS
1346 +// IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
1347 +// implied. See the License for the specific language governing
1348 +// rights and limitations under the License.
1349 +//
1350 +// The Original Code is mozilla.org code.
1351 +//
1352 +// The Initial Developer of the Original Code is Netscape
1353 +// Communications Corporation. Portions created by Netscape are
1354 +// Copyright (C) 1999 Netscape Communications Corporation. All
1355 +// Rights Reserved.
1356 +//
1357 +// Contributor(s):
1358 +// dwmw2@×××××××××.org (David Woodhouse)
1359 +// Franz.Sirl-kernel@××××××××××.com (Franz Sirl)
1360 +// beard@××××××××.com (Patrick Beard)
1361 +// waterson@××××××××.com (Chris Waterson)
1362 +//
1363 +
1364 +.set r0,0; .set r1,1; .set r2,2; .set r3,3; .set r4,4
1365 +.set r5,5; .set r6,6; .set r7,7; .set r8,8; .set r9,9
1366 +.set r10,10; .set r11,11; .set r12,12; .set r13,13; .set r14,14
1367 +.set r15,15; .set r16,16; .set r17,17; .set r18,18; .set r19,19
1368 +.set r20,20; .set r21,21; .set r22,22; .set r23,23; .set r24,24
1369 +.set r25,25; .set r26,26; .set r27,27; .set r28,28; .set r29,29
1370 +.set r30,30; .set r31,31
1371 +.set f0,0; .set f1,1; .set f2,2; .set f3,3; .set f4,4
1372 +.set f5,5; .set f6,6; .set f7,7; .set f8,8; .set f9,9
1373 +.set f10,10; .set f11,11; .set f12,12; .set f13,13; .set f14,14
1374 +.set f15,15; .set f16,16; .set f17,17; .set f18,18; .set f19,19
1375 +.set f20,20; .set f21,21; .set f22,22; .set f23,23; .set f24,24
1376 +.set f25,25; .set f26,26; .set f27,27; .set f28,28; .set f29,29
1377 +.set f30,30; .set f31,31
1378 +
1379 +
1380 +//
1381 +// XPTC_InvokeByIndex(nsISupports* that, PRUint32 methodIndex,
1382 +// PRUint32 paramCount, nsXPTCVariant* params)
1383 +//
1384 +
1385 + .section ".toc","aw"
1386 + .section ".text"
1387 + .align 2
1388 + .globl XPTC_InvokeByIndex
1389 + .section ".opd","aw"
1390 + .align 3
1391 +XPTC_InvokeByIndex:
1392 + .quad .XPTC_InvokeByIndex,.TOC.@tocbase
1393 + .previous
1394 + .type XPTC_InvokeByIndex,@function
1395 +.XPTC_InvokeByIndex:
1396 + mflr 0
1397 + std 0,16(r1)
1398 +
1399 + std r29,-24(r1)
1400 + std r30,-16(r1)
1401 + std r31,-8(r1)
1402 +
1403 + mr r29,r3 // Save 'that' in r29
1404 + mr r30,r4 // Save 'methodIndex' in r30
1405 + mr r31,r1 // Save old frame
1406 +
1407 + // Allocate stack frame with space for params. Since at least the
1408 + // first 7 parameters (not including 'that') will be in registers,
1409 + // we don't actually need stack space for those. We must ensure
1410 + // that the stack remains 16-byte aligned.
1411 + //
1412 + // | ..128-byte stack frame.. | | 7 GP | 13 FP | 3 NV |
1413 + // | |(params)........| regs | regs | regs |
1414 + // (r1)...........(+112)....(+128)
1415 + // (-23*8).(-16*8).(-3*8)..(r31)
1416 +
1417 + // +stack frame, -unused stack params, +regs storage, +1 for alignment
1418 + addi r7,r5,((112/8)-7+7+13+3+1)
1419 + rldicr r7,r7,3,59 // multiply by 8 and mask with ~15
1420 + neg r7,r7
1421 + stdux r1,r1,r7
1422 +
1423 +
1424 + // Call invoke_copy_to_stack(PRUint64* gpregs, double* fpregs,
1425 + // PRUint32 paramCount, nsXPTCVariant* s,
1426 + // PRUint64* d))
1427 +
1428 + // r5, r6 are passed through intact (paramCount, params)
1429 + // r7 (d) has to be r1+112 -- where parameters are passed on the stack.
1430 + // r3, r4 are above that, easier to address from r31 than from r1
1431 +
1432 + subi r3,r31,(23*8) // r3 --> GPRS
1433 + subi r4,r31,(16*8) // r4 --> FPRS
1434 + addi r7,r1,112 // r7 --> params
1435 + bl invoke_copy_to_stack
1436 + nop
1437 +
1438 + // Set up to invoke function
1439 +
1440 + ld r9,0(r29) // vtable (r29 is 'that')
1441 + mr r3,r29 // self is first arg, obviously
1442 +
1443 + sldi r30,r30,3 // Find function descriptor
1444 + add r9,r9,r30
1445 + ld r9,0(r9)
1446 +
1447 + ld r0,0(r9) // Actual address from fd.
1448 + std r2,40(r1) // Save r2 (TOC pointer)
1449 +
1450 + mtctr 0
1451 + ld r11,16(r9) // Environment pointer from fd.
1452 + ld r2,8(r9) // TOC pointer from fd.
1453 +
1454 + // Load FP and GP registers as required
1455 + ld r4, -(23*8)(r31)
1456 + ld r5, -(22*8)(r31)
1457 + ld r6, -(21*8)(r31)
1458 + ld r7, -(20*8)(r31)
1459 + ld r8, -(19*8)(r31)
1460 + ld r9, -(18*8)(r31)
1461 + ld r10, -(17*8)(r31)
1462 +
1463 + lfd f1, -(16*8)(r31)
1464 + lfd f2, -(15*8)(r31)
1465 + lfd f3, -(14*8)(r31)
1466 + lfd f4, -(13*8)(r31)
1467 + lfd f5, -(12*8)(r31)
1468 + lfd f6, -(11*8)(r31)
1469 + lfd f7, -(10*8)(r31)
1470 + lfd f8, -(9*8)(r31)
1471 + lfd f9, -(8*8)(r31)
1472 + lfd f10, -(7*8)(r31)
1473 + lfd f11, -(6*8)(r31)
1474 + lfd f12, -(5*8)(r31)
1475 + lfd f13, -(4*8)(r31)
1476 +
1477 + bctrl // Do it
1478 +
1479 + ld r2,40(r1) // Load our own TOC pointer
1480 + ld r1,0(r1) // Revert stack frame
1481 + ld 0,16(r1) // Reload lr
1482 + ld 29,-24(r1) // Restore NVGPRS
1483 + ld 30,-16(r1)
1484 + ld 31,-8(r1)
1485 + mtlr 0
1486 + blr
1487 +
1488 + .size XPTC_InvokeByIndex,.-.XPTC_InvokeByIndex
1489 +
1490 + /* Magic indicating no need for an executable stack */
1491 + .section .note.GNU-stack, "", @progbits ; .previous
1492 --- mozilla.orig/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_ppc64_linux.cpp 1970-01-01 01:00:00.000000000 +0100
1493 +++ mozilla/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_ppc64_linux.cpp 2006-11-21 17:00:06.000000000 +0000
1494 @@ -0,0 +1,127 @@
1495 +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
1496 +/* ***** BEGIN LICENSE BLOCK *****
1497 + * Version: MPL 1.1/GPL 2.0/LGPL 2.1
1498 + *
1499 + * The contents of this file are subject to the Mozilla Public License Version
1500 + * 1.1 (the "License"); you may not use this file except in compliance with
1501 + * the License. You may obtain a copy of the License at
1502 + * http://www.mozilla.org/MPL/
1503 + *
1504 + * Software distributed under the License is distributed on an "AS IS" basis,
1505 + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
1506 + * for the specific language governing rights and limitations under the
1507 + * License.
1508 + *
1509 + * The Original Code is mozilla.org code.
1510 + *
1511 + * The Initial Developer of the Original Code is
1512 + * Netscape Communications Corporation.
1513 + * Portions created by the Initial Developer are Copyright (C) 1998
1514 + * the Initial Developer. All Rights Reserved.
1515 + *
1516 + * Contributor(s):
1517 + * dwmw2@×××××××××.org (David Woodhouse)
1518 + * Franz.Sirl-kernel@××××××××××.com (Franz Sirl)
1519 + * beard@××××××××.com (Patrick Beard)
1520 + * waterson@××××××××.com (Chris Waterson)
1521 + *
1522 + * Alternatively, the contents of this file may be used under the terms of
1523 + * either of the GNU General Public License Version 2 or later (the "GPL"),
1524 + * or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
1525 + * in which case the provisions of the GPL or the LGPL are applicable instead
1526 + * of those above. If you wish to allow use of your version of this file only
1527 + * under the terms of either the GPL or the LGPL, and not to allow others to
1528 + * use your version of this file under the terms of the MPL, indicate your
1529 + * decision by deleting the provisions above and replace them with the notice
1530 + * and other provisions required by the GPL or the LGPL. If you do not delete
1531 + * the provisions above, a recipient may use your version of this file under
1532 + * the terms of any one of the MPL, the GPL or the LGPL.
1533 + *
1534 + * ***** END LICENSE BLOCK ***** */
1535 +
1536 +// Platform specific code to invoke XPCOM methods on native objects
1537 +
1538 +// The purpose of XPTC_InvokeByIndex() is to map a platform
1539 +// independent call to the platform ABI. To do that,
1540 +// XPTC_InvokeByIndex() has to determine the method to call via vtable
1541 +// access. The parameters for the method are read from the
1542 +// nsXPTCVariant* and prepared for the native ABI.
1543 +
1544 +#include <stdio.h>
1545 +#include "xptcprivate.h"
1546 +
1547 +// 8 integral parameters are passed in registers, not including 'that'
1548 +#define GPR_COUNT 7
1549 +
1550 +// 8 floating point parameters are passed in registers, floats are
1551 +// promoted to doubles when passed in registers
1552 +#define FPR_COUNT 13
1553 +
1554 +extern "C" PRUint32
1555 +invoke_count_words(PRUint32 paramCount, nsXPTCVariant* s)
1556 +{
1557 + return PRUint32(((paramCount * 2) + 3) & ~3);
1558 +}
1559 +
1560 +extern "C" void
1561 +invoke_copy_to_stack(PRUint64* gpregs,
1562 + double* fpregs,
1563 + PRUint32 paramCount,
1564 + nsXPTCVariant* s,
1565 + PRUint64* d)
1566 +{
1567 + PRUint64 tempu64;
1568 +
1569 + for(uint32 i = 0; i < paramCount; i++, s++) {
1570 + if(s->IsPtrData())
1571 + tempu64 = (PRUint64) s->ptr;
1572 + else {
1573 + switch(s->type) {
1574 + case nsXPTType::T_FLOAT: break;
1575 + case nsXPTType::T_DOUBLE: break;
1576 + case nsXPTType::T_I8: tempu64 = s->val.i8; break;
1577 + case nsXPTType::T_I16: tempu64 = s->val.i16; break;
1578 + case nsXPTType::T_I32: tempu64 = s->val.i32; break;
1579 + case nsXPTType::T_I64: tempu64 = s->val.i64; break;
1580 + case nsXPTType::T_U8: tempu64 = s->val.u8; break;
1581 + case nsXPTType::T_U16: tempu64 = s->val.u16; break;
1582 + case nsXPTType::T_U32: tempu64 = s->val.u32; break;
1583 + case nsXPTType::T_U64: tempu64 = s->val.u64; break;
1584 + case nsXPTType::T_BOOL: tempu64 = s->val.b; break;
1585 + case nsXPTType::T_CHAR: tempu64 = s->val.c; break;
1586 + case nsXPTType::T_WCHAR: tempu64 = s->val.wc; break;
1587 + default: tempu64 = (PRUint64) s->val.p; break;
1588 + }
1589 + }
1590 +
1591 + if (!s->IsPtrData() && s->type == nsXPTType::T_DOUBLE) {
1592 + if (i < FPR_COUNT)
1593 + fpregs[i] = s->val.d;
1594 + else
1595 + *(double *)d = s->val.d;
1596 + }
1597 + else if (!s->IsPtrData() && s->type == nsXPTType::T_FLOAT) {
1598 + if (i < FPR_COUNT) {
1599 + fpregs[i] = s->val.f; // if passed in registers, floats are promoted to doubles
1600 + } else {
1601 + float *p = (float *)d;
1602 + p++;
1603 + *p = s->val.f;
1604 + }
1605 + }
1606 + else {
1607 + if (i < GPR_COUNT)
1608 + gpregs[i] = tempu64;
1609 + else
1610 + *d = tempu64;
1611 + }
1612 + if (i >= 7)
1613 + d++;
1614 + }
1615 +}
1616 +
1617 +extern "C"
1618 +XPTC_PUBLIC_API(nsresult)
1619 +XPTC_InvokeByIndex(nsISupports* that, PRUint32 methodIndex,
1620 + PRUint32 paramCount, nsXPTCVariant* params);
1621 +
1622 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
1623 --- mozilla/xpcom/reflect/xptcall/src/md/unix/xptcstubs_asm_ppc64_linux.s 2006-11-21 16:38:52.000000000 +0000
1624 +++ mozilla/xpcom/reflect/xptcall/src/md/unix/xptcstubs_asm_ppc64_linux.s 2006-11-22 10:51:14.000000000 +0000
1625 @@ -0,0 +1,102 @@
1626 +// -*- Mode: Asm -*-
1627 +//
1628 +// The contents of this file are subject to the Netscape Public
1629 +// License Version 1.1 (the "License"); you may not use this file
1630 +// except in compliance with the License. You may obtain a copy of
1631 +// the License at http://www.mozilla.org/NPL/
1632 +//
1633 +// Software distributed under the License is distributed on an "AS
1634 +// IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
1635 +// implied. See the License for the specific language governing
1636 +// rights and limitations under the License.
1637 +//
1638 +// The Original Code is mozilla.org code.
1639 +//
1640 +// The Initial Developer of the Original Code is Netscape
1641 +// Communications Corporation. Portions created by Netscape are
1642 +// Copyright (C) 1999 Netscape Communications Corporation. All
1643 +// Rights Reserved.
1644 +//
1645 +// Contributor(s):
1646 +// dwmw2@×××××××××.org (David Woodhouse)
1647 +// Franz.Sirl-kernel@××××××××××.com (Franz Sirl)
1648 +// beard@××××××××.com (Patrick Beard)
1649 +// waterson@××××××××.com (Chris Waterson)
1650 +//
1651 +
1652 +.set r0,0; .set r1,1; .set RTOC,2; .set r3,3; .set r4,4
1653 +.set r5,5; .set r6,6; .set r7,7; .set r8,8; .set r9,9
1654 +.set r10,10; .set r11,11; .set r12,12; .set r13,13; .set r14,14
1655 +.set r15,15; .set r16,16; .set r17,17; .set r18,18; .set r19,19
1656 +.set r20,20; .set r21,21; .set r22,22; .set r23,23; .set r24,24
1657 +.set r25,25; .set r26,26; .set r27,27; .set r28,28; .set r29,29
1658 +.set r30,30; .set r31,31
1659 +.set f0,0; .set f1,1; .set f2,2; .set f3,3; .set f4,4
1660 +.set f5,5; .set f6,6; .set f7,7; .set f8,8; .set f9,9
1661 +.set f10,10; .set f11,11; .set f12,12; .set f13,13; .set f14,14
1662 +.set f15,15; .set f16,16; .set f17,17; .set f18,18; .set f19,19
1663 +.set f20,20; .set f21,21; .set f22,22; .set f23,23; .set f24,24
1664 +.set f25,25; .set f26,26; .set f27,27; .set f28,28; .set f29,29
1665 +.set f30,30; .set f31,31
1666 +
1667 + .section ".text"
1668 + .align 2
1669 + .globl SharedStub
1670 + .section ".opd","aw"
1671 + .align 3
1672 +
1673 +SharedStub:
1674 + .quad .SharedStub,.TOC.@tocbase
1675 + .previous
1676 + .type SharedStub,@function
1677 +
1678 +.SharedStub:
1679 + mflr r0
1680 +
1681 + std r4, -56(r1) // Save all GPRS
1682 + std r5, -48(r1)
1683 + std r6, -40(r1)
1684 + std r7, -32(r1)
1685 + std r8, -24(r1)
1686 + std r9, -16(r1)
1687 + std r10, -8(r1)
1688 +
1689 + stfd f13, -64(r1) // ... and FPRS
1690 + stfd f12, -72(r1)
1691 + stfd f11, -80(r1)
1692 + stfd f10, -88(r1)
1693 + stfd f9, -96(r1)
1694 + stfd f8, -104(r1)
1695 + stfd f7, -112(r1)
1696 + stfd f6, -120(r1)
1697 + stfd f5, -128(r1)
1698 + stfd f4, -136(r1)
1699 + stfd f3, -144(r1)
1700 + stfd f2, -152(r1)
1701 + stfd f1, -160(r1)
1702 +
1703 + subi r6,r1,56 // r6 --> gprData
1704 + subi r7,r1,160 // r7 --> fprData
1705 + addi r5,r1,112 // r5 --> extra stack args
1706 +
1707 + std r0, 16(r1)
1708 +
1709 + stdu r1,-288(r1)
1710 + // r3 has the 'self' pointer already
1711 +
1712 + mr r4,r11 // r4 is methodIndex selector, passed
1713 + // via r11 in the nsXPTCStubBase::StubXX() call
1714 +
1715 + bl PrepareAndDispatch
1716 + nop
1717 +
1718 + ld 1,0(r1) // restore stack
1719 + ld r0,16(r1) // restore LR
1720 + mtlr r0
1721 + blr
1722 +
1723 + .size SharedStub,.-.SharedStub
1724 +
1725 +
1726 +/* Magic indicating no need for an executable stack */
1727 +.section .note.GNU-stack, "", @progbits ; .previous
1728 unchanged:
1729 --- mozilla.orig/xpcom/reflect/xptcall/src/md/unix/xptcstubs_ppc64_linux.cpp 1970-01-01 01:00:00.000000000 +0100
1730 +++ mozilla/xpcom/reflect/xptcall/src/md/unix/xptcstubs_ppc64_linux.cpp 2006-11-21 16:59:46.000000000 +0000
1731 @@ -0,0 +1,247 @@
1732 +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
1733 +/* ***** BEGIN LICENSE BLOCK *****
1734 + * Version: MPL 1.1/GPL 2.0/LGPL 2.1
1735 + *
1736 + * The contents of this file are subject to the Mozilla Public License Version
1737 + * 1.1 (the "License"); you may not use this file except in compliance with
1738 + * the License. You may obtain a copy of the License at
1739 + * http://www.mozilla.org/MPL/
1740 + *
1741 + * Software distributed under the License is distributed on an "AS IS" basis,
1742 + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
1743 + * for the specific language governing rights and limitations under the
1744 + * License.
1745 + *
1746 + * The Original Code is mozilla.org code.
1747 + *
1748 + * The Initial Developer of the Original Code is
1749 + * Netscape Communications Corporation.
1750 + * Portions created by the Initial Developer are Copyright (C) 1999
1751 + * the Initial Developer. All Rights Reserved.
1752 + *
1753 + * Contributor(s):
1754 + * dwmw2@×××××××××.org (David Woodhouse)
1755 + * Franz.Sirl-kernel@××××××××××.com (Franz Sirl)
1756 + * beard@××××××××.com (Patrick Beard)
1757 + * waterson@××××××××.com (Chris Waterson)
1758 + *
1759 + * Alternatively, the contents of this file may be used under the terms of
1760 + * either of the GNU General Public License Version 2 or later (the "GPL"),
1761 + * or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
1762 + * in which case the provisions of the GPL or the LGPL are applicable instead
1763 + * of those above. If you wish to allow use of your version of this file only
1764 + * under the terms of either the GPL or the LGPL, and not to allow others to
1765 + * use your version of this file under the terms of the MPL, indicate your
1766 + * decision by deleting the provisions above and replace them with the notice
1767 + * and other provisions required by the GPL or the LGPL. If you do not delete
1768 + * the provisions above, a recipient may use your version of this file under
1769 + * the terms of any one of the MPL, the GPL or the LGPL.
1770 + *
1771 + * ***** END LICENSE BLOCK ***** */
1772 +
1773 +// Implement shared vtbl methods.
1774 +
1775 +#include "xptcprivate.h"
1776 +
1777 +// The Linux/PPC ABI (aka PPC/SYSV ABI) passes the first 8 integral
1778 +// parameters and the first 13 floating point parameters in registers
1779 +// (r3-r10 and f1-f13), no stack space is allocated for these by the
1780 +// caller. The rest of the parameters are passed in the callers stack
1781 +// area. The stack pointer has to retain 16-byte alignment, longlongs
1782 +// and doubles are aligned on 8-byte boundaries.
1783 +
1784 +#define PARAM_BUFFER_COUNT 16
1785 +#define GPR_COUNT 7
1786 +#define FPR_COUNT 13
1787 +
1788 +// PrepareAndDispatch() is called by SharedStub() and calls the actual method.
1789 +//
1790 +// - 'args[]' contains the arguments passed on stack
1791 +// - 'gprData[]' contains the arguments passed in integer registers
1792 +// - 'fprData[]' contains the arguments passed in floating point registers
1793 +//
1794 +// The parameters are mapped into an array of type 'nsXPTCMiniVariant'
1795 +// and then the method gets called.
1796 +#include <stdio.h>
1797 +extern "C" nsresult
1798 +PrepareAndDispatch(nsXPTCStubBase* self,
1799 + PRUint64 methodIndex,
1800 + PRUint64* args,
1801 + PRUint64 *gprData,
1802 + double *fprData)
1803 +{
1804 + nsXPTCMiniVariant paramBuffer[PARAM_BUFFER_COUNT];
1805 + nsXPTCMiniVariant* dispatchParams = NULL;
1806 + nsIInterfaceInfo* iface_info = NULL;
1807 + const nsXPTMethodInfo* info;
1808 + PRUint32 paramCount;
1809 + PRUint32 i;
1810 + nsresult result = NS_ERROR_FAILURE;
1811 +
1812 + NS_ASSERTION(self,"no self");
1813 +
1814 + self->GetInterfaceInfo(&iface_info);
1815 + NS_ASSERTION(iface_info,"no interface info");
1816 + if (! iface_info)
1817 + return NS_ERROR_UNEXPECTED;
1818 +
1819 + iface_info->GetMethodInfo(PRUint16(methodIndex), &info);
1820 + NS_ASSERTION(info,"no method info");
1821 + if (! info)
1822 + return NS_ERROR_UNEXPECTED;
1823 +
1824 + paramCount = info->GetParamCount();
1825 +
1826 + // setup variant array pointer
1827 + if(paramCount > PARAM_BUFFER_COUNT)
1828 + dispatchParams = new nsXPTCMiniVariant[paramCount];
1829 + else
1830 + dispatchParams = paramBuffer;
1831 +
1832 + NS_ASSERTION(dispatchParams,"no place for params");
1833 + if (! dispatchParams)
1834 + return NS_ERROR_OUT_OF_MEMORY;
1835 +
1836 + PRUint64* ap = args;
1837 + PRUint64 tempu64;
1838 +
1839 + for(i = 0; i < paramCount; i++) {
1840 + const nsXPTParamInfo& param = info->GetParam(i);
1841 + const nsXPTType& type = param.GetType();
1842 + nsXPTCMiniVariant* dp = &dispatchParams[i];
1843 +
1844 + if (!param.IsOut() && type == nsXPTType::T_DOUBLE) {
1845 + if (i < FPR_COUNT)
1846 + dp->val.d = fprData[i];
1847 + else
1848 + dp->val.d = *(double*) ap;
1849 + } else if (!param.IsOut() && type == nsXPTType::T_FLOAT) {
1850 + if (i < FPR_COUNT)
1851 + dp->val.f = (float) fprData[i]; // in registers floats are passed as doubles
1852 + else {
1853 + float *p = (float *)ap;
1854 + p++;
1855 + dp->val.f = *p;
1856 + }
1857 + } else { /* integer type or pointer */
1858 + if (i < GPR_COUNT)
1859 + tempu64 = gprData[i];
1860 + else
1861 + tempu64 = *ap;
1862 +
1863 + if (param.IsOut() || !type.IsArithmetic())
1864 + dp->val.p = (void*) tempu64;
1865 + else if (type ==nsXPTType::T_I8)
1866 + dp->val.i8 = (PRInt8) tempu64;
1867 + else if (type ==nsXPTType::T_I16)
1868 + dp->val.i16 = (PRInt16) tempu64;
1869 + else if (type ==nsXPTType::T_I32)
1870 + dp->val.i32 = (PRInt32) tempu64;
1871 + else if (type ==nsXPTType::T_I64)
1872 + dp->val.i64 = (PRInt64) tempu64;
1873 + else if (type ==nsXPTType::T_U8)
1874 + dp->val.u8 = (PRUint8) tempu64;
1875 + else if (type ==nsXPTType::T_U16)
1876 + dp->val.u16 = (PRUint16) tempu64;
1877 + else if (type ==nsXPTType::T_U32)
1878 + dp->val.u32 = (PRUint32) tempu64;
1879 + else if (type ==nsXPTType::T_U64)
1880 + dp->val.u64 = (PRUint64) tempu64;
1881 + else if (type ==nsXPTType::T_BOOL)
1882 + dp->val.b = (PRBool) tempu64;
1883 + else if (type ==nsXPTType::T_CHAR)
1884 + dp->val.c = (char) tempu64;
1885 + else if (type ==nsXPTType::T_WCHAR)
1886 + dp->val.wc = (wchar_t) tempu64;
1887 + else
1888 + NS_ASSERTION(0, "bad type");
1889 + }
1890 +
1891 + if (i >= 7)
1892 + ap++;
1893 + }
1894 +
1895 + result = self->CallMethod((PRUint16) methodIndex, info, dispatchParams);
1896 +
1897 + NS_RELEASE(iface_info);
1898 +
1899 + if (dispatchParams != paramBuffer)
1900 + delete [] dispatchParams;
1901 +
1902 + return result;
1903 +}
1904 +
1905 +// Load r11 with the constant 'n' and branch to SharedStub().
1906 +//
1907 +// XXX Yes, it's ugly that we're relying on gcc's name-mangling here;
1908 +// however, it's quick, dirty, and'll break when the ABI changes on
1909 +// us, which is what we want ;-).
1910 +
1911 +#if __GXX_ABI_VERSION < 100
1912 +#error Prehistoric GCC not supported here
1913 +#else
1914 +// gcc-3 version
1915 +//
1916 +// As G++3 ABI contains the length of the functionname in the mangled
1917 +// name, it is difficult to get a generic assembler mechanism like
1918 +// in the G++ 2.95 case.
1919 +// Create names would be like:
1920 +// _ZN14nsXPTCStubBase5Stub1Ev
1921 +// _ZN14nsXPTCStubBase6Stub12Ev
1922 +// _ZN14nsXPTCStubBase7Stub123Ev
1923 +// _ZN14nsXPTCStubBase8Stub1234Ev
1924 +// etc.
1925 +// Use assembler directives to get the names right...
1926 +
1927 +# define STUB_ENTRY(n) \
1928 +__asm__ ( \
1929 + ".section \".toc\",\"aw\" \n\t" \
1930 + ".section \".text\" \n\t" \
1931 + ".align 2 \n\t" \
1932 + ".if "#n" < 10 \n\t" \
1933 + ".globl _ZN14nsXPTCStubBase5Stub"#n"Ev \n\t" \
1934 + ".section \".opd\",\"aw\" \n\t" \
1935 + ".align 3 \n\t" \
1936 +"_ZN14nsXPTCStubBase5Stub"#n"Ev: \n\t" \
1937 + ".quad ._ZN14nsXPTCStubBase5Stub"#n"Ev,.TOC.@tocbase \n\t" \
1938 + ".previous \n\t" \
1939 + ".type _ZN14nsXPTCStubBase5Stub"#n"Ev,@function \n\n" \
1940 +"._ZN14nsXPTCStubBase5Stub"#n"Ev: \n\t" \
1941 + \
1942 + ".elseif "#n" < 100 \n\t" \
1943 + ".globl _ZN14nsXPTCStubBase6Stub"#n"Ev \n\t" \
1944 + ".section \".opd\",\"aw\" \n\t" \
1945 + ".align 3 \n\t" \
1946 +"_ZN14nsXPTCStubBase6Stub"#n"Ev: \n\t" \
1947 + ".quad ._ZN14nsXPTCStubBase6Stub"#n"Ev,.TOC.@tocbase \n\t" \
1948 + ".previous \n\t" \
1949 + ".type _ZN14nsXPTCStubBase6Stub"#n"Ev,@function \n\n" \
1950 +"._ZN14nsXPTCStubBase6Stub"#n"Ev: \n\t" \
1951 + \
1952 + ".elseif "#n" < 1000 \n\t" \
1953 + ".globl _ZN14nsXPTCStubBase7Stub"#n"Ev \n\t" \
1954 + ".section \".opd\",\"aw\" \n\t" \
1955 + ".align 3 \n\t" \
1956 +"_ZN14nsXPTCStubBase7Stub"#n"Ev: \n\t" \
1957 + ".quad ._ZN14nsXPTCStubBase7Stub"#n"Ev,.TOC.@tocbase \n\t" \
1958 + ".previous \n\t" \
1959 + ".type _ZN14nsXPTCStubBase7Stub"#n"Ev,@function \n\n" \
1960 +"._ZN14nsXPTCStubBase7Stub"#n"Ev: \n\t" \
1961 + \
1962 + ".else \n\t" \
1963 + ".err \"stub number "#n" >= 1000 not yet supported\"\n" \
1964 + ".endif \n\t" \
1965 + \
1966 + "li 11,"#n" \n\t" \
1967 + "b SharedStub \n" \
1968 +);
1969 +#endif
1970 +
1971 +#define SENTINEL_ENTRY(n) \
1972 +nsresult nsXPTCStubBase::Sentinel##n() \
1973 +{ \
1974 + NS_ASSERTION(0,"nsXPTCStubBase::Sentinel called"); \
1975 + return NS_ERROR_NOT_IMPLEMENTED; \
1976 +}
1977 +
1978 +#include "xptcstubsdef.inc"
1979
1980
1981
1982 1.1 src/patchsets/seamonkey/1.1.6/033_firefox-2.0_ppc_powerpc.patch
1983
1984 file : http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/seamonkey/1.1.6/033_firefox-2.0_ppc_powerpc.patch?rev=1.1&view=markup
1985 plain: http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/seamonkey/1.1.6/033_firefox-2.0_ppc_powerpc.patch?rev=1.1&content-type=text/plain
1986
1987 Index: 033_firefox-2.0_ppc_powerpc.patch
1988 ===================================================================
1989 --- mozilla/xpcom/reflect/xptcall/src/md/unix/Makefile.in.orig 2007-03-05 13:46:38.000000000 +0100
1990 +++ mozilla/xpcom/reflect/xptcall/src/md/unix/Makefile.in 2007-03-05 13:47:30.000000000 +0100
1991 @@ -288,12 +288,12 @@
1992 #
1993 # Linux/PPC
1994 #
1995 -ifeq ($(OS_ARCH)$(OS_TEST),Linuxppc)
1996 +ifeq ($(OS_ARCH)$(OS_TEST),Linuxpowerpc)
1997 CPPSRCS := xptcinvoke_ppc_linux.cpp xptcstubs_ppc_linux.cpp
1998 ASFILES := xptcinvoke_asm_ppc_linux.s xptcstubs_asm_ppc_linux.s
1999 AS := $(CC) -c -x assembler-with-cpp
2000 endif
2001 -ifeq ($(OS_ARCH)$(OS_TEST),Linuxppc64)
2002 +ifeq ($(OS_ARCH)$(OS_TEST),Linuxpowerpc64)
2003 CPPSRCS := xptcinvoke_ppc64_linux.cpp xptcstubs_ppc64_linux.cpp
2004 ASFILES := xptcinvoke_asm_ppc64_linux.s xptcstubs_asm_ppc64_linux.s
2005 AS := $(CC) -c -x assembler-with-cpp
2006
2007
2008
2009 1.1 src/patchsets/seamonkey/1.1.6/050_respect-host-variable.patch
2010
2011 file : http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/seamonkey/1.1.6/050_respect-host-variable.patch?rev=1.1&view=markup
2012 plain: http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/seamonkey/1.1.6/050_respect-host-variable.patch?rev=1.1&content-type=text/plain
2013
2014 Index: 050_respect-host-variable.patch
2015 ===================================================================
2016 # https://bugs.gentoo.org/show_bug.cgi?id=168893
2017
2018 --- mozilla/configure.in.old 2007-03-02 23:28:27.000000000 +0200
2019 +++ mozilla/configure.in 2007-03-02 23:29:23.000000000 +0200
2020 @@ -825,7 +825,6 @@
2021 OS_TARGET="${target_os}"
2022 OS_ARCH=`echo $target_os | sed -e 's|/|_|g'`
2023 OS_RELEASE=
2024 - OS_TEST="${target_cpu}"
2025 case "${target_os}" in
2026 linux*) OS_ARCH=Linux ;;
2027 solaris*) OS_ARCH=SunOS OS_RELEASE=5 ;;
2028 @@ -837,8 +836,10 @@
2029 OS_TARGET=`uname -s`
2030 OS_ARCH=`uname -s | sed -e 's|/|_|g'`
2031 OS_RELEASE=`uname -r`
2032 - OS_TEST=`uname -m`
2033 fi
2034 +
2035 +OS_TEST="${target_cpu}"
2036 +
2037 _COMPILER_PREFIX=
2038
2039 HOST_OS_ARCH=`echo $host_os | sed -e 's|/|_|g'`
2040
2041
2042
2043 1.1 src/patchsets/seamonkey/1.1.6/055_firefox-2.0_gfbsd-pthreads.patch
2044
2045 file : http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/seamonkey/1.1.6/055_firefox-2.0_gfbsd-pthreads.patch?rev=1.1&view=markup
2046 plain: http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/seamonkey/1.1.6/055_firefox-2.0_gfbsd-pthreads.patch?rev=1.1&content-type=text/plain
2047
2048 Index: 055_firefox-2.0_gfbsd-pthreads.patch
2049 ===================================================================
2050 # https://bugs.gentoo.org/show_bug.cgi?id=169825
2051
2052 --- mozilla/config/rules.mk.orig Thu Sep 14 14:07:03 2006
2053 +++ mozilla/config/rules.mk Wed Oct 18 11:00:09 2006
2054 @@ -442,9 +442,7 @@
2055 endif
2056
2057 ifeq ($(OS_ARCH),FreeBSD)
2058 -ifdef IS_COMPONENT
2059 -EXTRA_DSO_LDOPTS += -Wl,-Bsymbolic
2060 -endif
2061 +EXTRA_DSO_LDOPTS += -Wl,-Bsymbolic -lc
2062 endif
2063
2064 ifeq ($(OS_ARCH),NetBSD)
2065 --- mozilla/configure.in.orig 2007-02-06 02:37:37 -0300
2066 +++ mozilla/configure.in 2007-03-07 15:35:41 -0300
2067 @@ -2667,7 +2667,7 @@
2068 *-hpux11.*)
2069 ;;
2070 *)
2071 - AC_CHECK_LIB(c_r, gethostbyname_r)
2072 + AC_SEARCH_LIBS([gethostbyname_r], [c_r])
2073 ;;
2074 esac
2075 AC_CHECK_LIB(m, atan)
2076 --- mozilla/configure.in.orig 2007-02-06 02:37:37 -0300
2077 +++ mozilla/configure.in 2007-03-07 13:59:53 -0300
2078 @@ -2839,11 +2839,12 @@
2079 *-*-freebsd*)
2080 AC_DEFINE(_REENTRANT)
2081 AC_DEFINE(_THREAD_SAFE)
2082 - dnl -pthread links in -lc_r, so don't specify it explicitly.
2083 - if test "$ac_cv_have_dash_pthread" = "yes"; then
2084 - _PTHREAD_LDFLAGS="-pthread"
2085 + dnl use the environment PTHREAD_LIBS
2086 + if test -n "$PTHREAD_LIBS"; then
2087 + _PTHREAD_LDFLAGS="$PTHREAD_LIBS"
2088 else
2089 - _PTHREAD_LDFLAGS="-lc_r"
2090 + _PTHREAD_LDFLAGS="-lpthread"
2091 fi
2092 + LDFLAGS="${_PTHREAD_LDFLAGS} ${LDFLAGS}"
2093 ;;
2094
2095
2096
2097 1.1 src/patchsets/seamonkey/1.1.6/063_mozilla-rpath-3.patch
2098
2099 file : http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/seamonkey/1.1.6/063_mozilla-rpath-3.patch?rev=1.1&view=markup
2100 plain: http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/seamonkey/1.1.6/063_mozilla-rpath-3.patch?rev=1.1&content-type=text/plain
2101
2102 Index: 063_mozilla-rpath-3.patch
2103 ===================================================================
2104 --- config/rules.mk.orig 2005-07-28 01:45:18.000000000 +0000
2105 +++ config/rules.mk 2005-07-28 01:45:21.000000000 +0000
2106 @@ -507,5 +507,10 @@
2107 #
2108 ifeq ($(OS_ARCH),Linux)
2109 ifdef IS_COMPONENT
2110 +DSO_LDOPTS += -Wl,-rpath,'$$ORIGIN:$$ORIGIN/..'
2111 +OS_LDFLAGS += -Wl,-rpath,'$$ORIGIN:$$ORIGIN/..'
2112 EXTRA_DSO_LDOPTS += -Wl,-Bsymbolic
2113 +else
2114 +DSO_LDOPTS += -Wl,-rpath,'$$ORIGIN'
2115 +OS_LDFLAGS += -Wl,-rpath,'$$ORIGIN'
2116 endif
2117
2118
2119
2120
2121 1.1 src/patchsets/seamonkey/1.1.6/064_mozilla-1.7.10-nsplugins-v2.patch
2122
2123 file : http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/seamonkey/1.1.6/064_mozilla-1.7.10-nsplugins-v2.patch?rev=1.1&view=markup
2124 plain: http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/seamonkey/1.1.6/064_mozilla-1.7.10-nsplugins-v2.patch?rev=1.1&content-type=text/plain
2125
2126 Index: 064_mozilla-1.7.10-nsplugins-v2.patch
2127 ===================================================================
2128 This is the second revision of the nsplugins patch. The first revision did not
2129 work. This one does.
2130
2131 This patch adds /usr/$(get_libdir)/nsplugins and /usr/$(get_libdir)/nsbrowser/plugins
2132 to the search path for plugins. The point of this patch is to provide a place
2133 to install netscape-compatible plugins which can be used by any of
2134 mozilla/firefox/thunderbird/seamonkey, for example the acroread plugin. This
2135 obviates the code in nsplugins.eclass except for inst_plugin
2136
2137 Note that mozilla/firefox/thunderbird/seamonkey handle dup plugins like this:
2138 First by mtime order (more recent takes precedence), second by alpha order.
2139
2140 01 Aug 2005 agriffis
2141
2142 --- mozilla/xpcom/io/nsAppFileLocationProvider.cpp.agriffis 2005-08-01 15:53:34.000000000 -0400
2143 +++ mozilla/xpcom/io/nsAppFileLocationProvider.cpp 2005-08-01 22:18:21.766663456 -0400
2144 @@ -196,6 +196,14 @@
2145 if (NS_SUCCEEDED(rv))
2146 rv = localFile->AppendRelativeNativePath(PLUGINS_DIR_NAME);
2147 }
2148 + else if (nsCRT::strcmp(prop, GENTOO_NSPLUGINS_DIR) == 0)
2149 + {
2150 + rv = NS_NewNativeLocalFile(nsDependentCString(GENTOO_NSPLUGINS_DIR), PR_TRUE, getter_AddRefs(localFile));
2151 + }
2152 + else if (nsCRT::strcmp(prop, GENTOO_NSBROWSER_PLUGINS_DIR) == 0)
2153 + {
2154 + rv = NS_NewNativeLocalFile(nsDependentCString(GENTOO_NSBROWSER_PLUGINS_DIR), PR_TRUE, getter_AddRefs(localFile));
2155 + }
2156 #if defined(XP_MAC) || defined(XP_MACOSX)
2157 else if (nsCRT::strcmp(prop, NS_MACOSX_USER_PLUGIN_DIR) == 0)
2158 {
2159 @@ -579,7 +587,7 @@
2160
2161 *_retval = new nsAppDirectoryEnumerator(this, keys);
2162 #else
2163 - static const char* keys[] = { nsnull, NS_USER_PLUGINS_DIR, NS_APP_PLUGINS_DIR, nsnull };
2164 + static const char* keys[] = { nsnull, GENTOO_NSPLUGINS_DIR, GENTOO_NSBROWSER_PLUGINS_DIR, NS_USER_PLUGINS_DIR, NS_APP_PLUGINS_DIR, nsnull };
2165 if (!keys[0] && !(keys[0] = PR_GetEnv("MOZ_PLUGIN_PATH"))) {
2166 static const char nullstr = 0;
2167 keys[0] = &nullstr;
2168
2169
2170
2171 1.1 src/patchsets/seamonkey/1.1.6/101_thunderbird-0.7.3-gnome-uriloader.patch
2172
2173 file : http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/seamonkey/1.1.6/101_thunderbird-0.7.3-gnome-uriloader.patch?rev=1.1&view=markup
2174 plain: http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/seamonkey/1.1.6/101_thunderbird-0.7.3-gnome-uriloader.patch?rev=1.1&content-type=text/plain
2175
2176 Index: 101_thunderbird-0.7.3-gnome-uriloader.patch
2177 ===================================================================
2178 --- mozilla/uriloader/exthandler/unix/nsGNOMERegistry.cpp.foo 2004-01-05 18:38:48.000000000 -0500
2179 +++ mozilla/uriloader/exthandler/unix/nsGNOMERegistry.cpp 2004-01-05 19:14:51.000000000 -0500
2180 @@ -39,6 +39,7 @@
2181 #include "nsGNOMERegistry.h"
2182 #include "prlink.h"
2183 #include "prmem.h"
2184 +#include "prenv.h"
2185 #include "nsString.h"
2186 #include "nsIComponentManager.h"
2187 #include "nsILocalFile.h"
2188 @@ -137,6 +138,10 @@
2189 } \
2190 PR_END_MACRO
2191
2192 + // Don't even use this code if an env var is set
2193 + if (PR_GetEnv("MOZ_DISABLE_GNOME"))
2194 + return;
2195 +
2196 // Attempt to open libgconf
2197 gconfLib = LoadVersionedLibrary("gconf-2", ".4");
2198 ENSURE_LIB(gconfLib);
2199
2200
2201
2202 1.1 src/patchsets/seamonkey/1.1.6/220_seamonkey-gentoo-homepage.patch
2203
2204 file : http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/seamonkey/1.1.6/220_seamonkey-gentoo-homepage.patch?rev=1.1&view=markup
2205 plain: http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/seamonkey/1.1.6/220_seamonkey-gentoo-homepage.patch?rev=1.1&content-type=text/plain
2206
2207 Index: 220_seamonkey-gentoo-homepage.patch
2208 ===================================================================
2209 --- xpfe/browser/resources/locale/en-US/region.properties.old 2007-01-20 21:11:14.000000000 +0100
2210 +++ xpfe/browser/resources/locale/en-US/region.properties 2007-01-20 21:12:31.000000000 +0100
2211 @@ -1,5 +1,5 @@
2212 # navigator.properties
2213 -homePageDefault=http://www.mozilla.org/
2214 +homePageDefault=http://www.gentoo.org/
2215 keywordList=http://home.netscape.com/escapes/keywords
2216 webmailKeyword=http://webmail.netscape.com
2217 fallbackDefaultSearchURL=http://www.google.com/search?q=
2218 @@ -7,7 +7,7 @@
2219 #
2220 # all.js
2221 #
2222 -browser.startup.homepage=http://www.mozilla.org/projects/seamonkey/start/
2223 +browser.startup.homepage=http://www.gentoo.org
2224 browser.throbber.url=http://www.mozilla.org/projects/seamonkey/
2225 browser.search.defaulturl=http://www.google.com/search?q=
2226 general.useragent.contentlocale=US
2227 @@ -17,4 +17,4 @@
2228
2229 #config.js
2230 #
2231 -startup.homepage_override_url=http://www.mozilla.org/projects/seamonkey/start/
2232 +startup.homepage_override_url=http://www.gentoo.org
2233
2234
2235
2236 1.1 src/patchsets/seamonkey/1.1.6/225_mozilla-nspr-packages.patch
2237
2238 file : http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/seamonkey/1.1.6/225_mozilla-nspr-packages.patch?rev=1.1&view=markup
2239 plain: http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/seamonkey/1.1.6/225_mozilla-nspr-packages.patch?rev=1.1&content-type=text/plain
2240
2241 Index: 225_mozilla-nspr-packages.patch
2242 ===================================================================
2243 --- xpinstall/packager/packages-unix.old 2007-01-20 21:14:14.000000000 +0100
2244 +++ xpinstall/packager/packages-unix 2007-01-20 21:17:57.000000000 +0100
2245 @@ -45,9 +45,6 @@
2246
2247 [xpcom]
2248 bin/libmozjs.so
2249 -bin/libnspr4.so
2250 -bin/libplc4.so
2251 -bin/libplds4.so
2252 bin/cpu/sparcv8plus/libnspr_flt4.so
2253 bin/libxpcom.so
2254 bin/libxpcom_core.so
2255 @@ -469,17 +466,13 @@
2256 bin/components/talkback/*
2257
2258 [psm]
2259 -bin/libnssckbi.so
2260 bin/components/libpipboot.so
2261 bin/components/pipboot.xpt
2262 bin/components/libpipnss.so
2263 bin/components/pipnss.xpt
2264 bin/components/libpippki.so
2265 bin/components/pippki.xpt
2266 -bin/libnss3.so
2267 -bin/libsmime3.so
2268 bin/libsoftokn3.chk
2269 -bin/libsoftokn3.so
2270 bin/libfreebl3.chk
2271 bin/libfreebl3.so
2272 bin/libfreebl_32fpu_3.chk
2273 @@ -492,7 +485,6 @@
2274 bin/libfreebl_64fpu_3.so
2275 bin/libfreebl_64int_3.chk
2276 bin/libfreebl_64int_3.so
2277 -bin/libssl3.so
2278 bin/chrome/pipnss.jar
2279 bin/chrome/pippki.jar
2280
2281 @@ -510,5 +502,17 @@
2282 bin/components/spellchecker.xpt
2283 bin/dictionaries/*
2284
2285 +[nspr]
2286 +bin/libnspr4.so
2287 +bin/libplc4.so
2288 +bin/libplds4.so
2289 +
2290 +[nss]
2291 +bin/libnssckbi.so
2292 +bin/libnss3.so
2293 +bin/libsmime3.so
2294 +bin/libsoftokn3.so
2295 +bin/libssl3.so
2296 +
2297 [reporter]
2298 bin/chrome/reporter.jar
2299
2300
2301
2302 1.1 src/patchsets/seamonkey/1.1.6/301_mozilla-1.7.3-gnome-vfs-default-app.patch
2303
2304 file : http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/seamonkey/1.1.6/301_mozilla-1.7.3-gnome-vfs-default-app.patch?rev=1.1&view=markup
2305 plain: http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/seamonkey/1.1.6/301_mozilla-1.7.3-gnome-vfs-default-app.patch?rev=1.1&content-type=text/plain
2306
2307 Index: 301_mozilla-1.7.3-gnome-vfs-default-app.patch
2308 ===================================================================
2309 --- mozilla/uriloader/exthandler/unix/nsGNOMERegistry.cpp.foo 2004-03-06 09:41:00.000000000 -0500
2310 +++ mozilla/uriloader/exthandler/unix/nsGNOMERegistry.cpp 2004-10-18 18:55:55.000000000 -0400
2311 @@ -283,6 +283,11 @@
2312
2313 gchar *nativeCommand = g_filename_from_utf8(handlerApp->command,
2314 -1, NULL, NULL, NULL);
2315 +
2316 + // Some versions of the mime stuff will add whitespace to the end or
2317 + // beginning of the command
2318 + nativeCommand = g_strstrip(nativeCommand);
2319 +
2320 if (!nativeCommand) {
2321 NS_ERROR("Could not convert helper app command to filesystem encoding");
2322 _gnome_vfs_mime_application_free(handlerApp);
2323
2324
2325
2326 1.1 src/patchsets/seamonkey/1.1.6/303_mozilla-1.7.13-as-needed.patch
2327
2328 file : http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/seamonkey/1.1.6/303_mozilla-1.7.13-as-needed.patch?rev=1.1&view=markup
2329 plain: http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/seamonkey/1.1.6/303_mozilla-1.7.13-as-needed.patch?rev=1.1&content-type=text/plain
2330
2331 Index: 303_mozilla-1.7.13-as-needed.patch
2332 ===================================================================
2333 --- embedding/browser/gtk/tests/Makefile.in.orig 2006-04-29 22:56:46.000000000 -0500
2334 +++ embedding/browser/gtk/tests/Makefile.in 2006-04-29 22:57:17.000000000 -0500
2335 @@ -58,6 +58,8 @@
2336 endif
2337 endif
2338
2339 +OS_LDFLAGS += -Wl,-rpath-link,'$(DEPTH)/dist/bin'
2340 +
2341 ifdef MOZ_ENABLE_GTK
2342 LIBS += \
2343 -lgtkembedmoz \
2344
2345
2346
2347 1.1 src/patchsets/seamonkey/1.1.6/304_mozilla-1.7.5-g-application-name.patch
2348
2349 file : http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/seamonkey/1.1.6/304_mozilla-1.7.5-g-application-name.patch?rev=1.1&view=markup
2350 plain: http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/seamonkey/1.1.6/304_mozilla-1.7.5-g-application-name.patch?rev=1.1&content-type=text/plain
2351
2352 Index: 304_mozilla-1.7.5-g-application-name.patch
2353 ===================================================================
2354 Index: xpfe/bootstrap/nsAppRunner.cpp
2355 ===================================================================
2356 RCS file: /cvsroot/mozilla/xpfe/bootstrap/nsAppRunner.cpp,v
2357 retrieving revision 1.428
2358 diff -d -u -p -r1.428 nsAppRunner.cpp
2359 --- xpfe/bootstrap/nsAppRunner.cpp 20 Dec 2004 21:53:33 -0000 1.428
2360 +++ xpfe/bootstrap/nsAppRunner.cpp 5 Mar 2005 08:39:12 -0000
2361 @@ -1612,6 +1612,11 @@ static PRBool GetWantSplashScreen(int ar
2362 return dosplash;
2363 }
2364
2365 +#ifdef MOZ_WIDGET_GTK2
2366 +#include "prlink.h"
2367 +typedef void (*_g_set_application_name_fn)(const gchar *application_name);
2368 +#endif
2369 +
2370 int main(int argc, char* argv[])
2371 {
2372 NS_TIMELINE_MARK("enter main");
2373 @@ -1712,6 +1717,19 @@ int main(int argc, char* argv[])
2374 #endif
2375 gtk_init(&argc, &argv);
2376
2377 +#if defined(MOZ_WIDGET_GTK2)
2378 + // g_set_application_name () is only defined in glib2.2 and higher.
2379 + PRLibrary *glib2;
2380 + _g_set_application_name_fn _g_set_application_name =
2381 + (_g_set_application_name_fn)PR_FindFunctionSymbolAndLibrary("g_set_application_name", &glib2);
2382 + if (_g_set_application_name) {
2383 + _g_set_application_name("seamonkey"); /* MOZ_APP_NAME */
2384 + }
2385 + if (glib2) {
2386 + PR_UnloadLibrary(glib2);
2387 + }
2388 +#endif
2389 +
2390 gtk_widget_set_default_visual(gdk_rgb_get_visual());
2391 gtk_widget_set_default_colormap(gdk_rgb_get_cmap());
2392 #endif /* MOZ_WIDGET_GTK || MOZ_WIDGET_GTK2 */
2393
2394
2395
2396 --
2397 gentoo-commits@g.o mailing list