Dash:
[t2-trunk.git] / package / www / firefox / ppc.patch
blobc17c29d16a4438b9d67fd2934a82b8157317402f
1 # --- T2-COPYRIGHT-NOTE-BEGIN ---
2 # T2 SDE: package/*/firefox/ppc.patch
3 # Copyright (C) 2020 - 2021 The T2 SDE Project
4 #
5 # This Copyright note is generated by scripts/Create-CopyPatch,
6 # more information can be found in the files COPYING and README.
7 #
8 # This patch file is dual-licensed. It is available under the license the
9 # patched project is licensed under, as long as it is an OpenSource license
10 # as defined at http://www.opensource.org/ (e.g. BSD, X11) or under the terms
11 # of the GNU General Public License version 2 as used by the T2 SDE.
12 # --- T2-COPYRIGHT-NOTE-END ---
14 --- firefox-81.0.2/xpcom/reflect/xptcall/md/unix/xptcinvoke_ppc_linux.cpp.vanilla 2020-10-16 17:40:11.138383612 +0200
15 +++ firefox-81.0.2/xpcom/reflect/xptcall/md/unix/xptcinvoke_ppc_linux.cpp 2020-10-16 17:57:09.014378133 +0200
16 @@ -45,11 +45,11 @@
17 uint64_t tempu64;
19 for(uint32_t i = 0; i < paramCount; i++, s++) {
20 - if(s->IsPtrData()) {
21 + if(s->IsIndirect()) {
22 if(s->type == nsXPTType::T_JSVAL)
23 - tempu32 = (uint32_t) &s->ptr;
24 + tempu32 = (uint32_t) &s->val;
25 else
26 - tempu32 = (uint32_t) s->ptr;
27 + tempu32 = (uint32_t) &s->val;
29 else {
30 switch(s->type) {
31 @@ -70,7 +70,7 @@
35 - if (!s->IsPtrData() && s->type == nsXPTType::T_DOUBLE) {
36 + if (!s->IsIndirect() && s->type == nsXPTType::T_DOUBLE) {
37 #ifndef __NO_FPRS__
38 if (fpr < FPR_COUNT)
39 fpregs[fpr++] = s->val.d;
40 @@ -88,7 +88,7 @@
41 d += 2;
44 - else if (!s->IsPtrData() && s->type == nsXPTType::T_FLOAT) {
45 + else if (!s->IsIndirect() && s->type == nsXPTType::T_FLOAT) {
46 #ifndef __NO_FPRS__
47 if (fpr < FPR_COUNT)
48 fpregs[fpr++] = s->val.f; // if passed in registers, floats are promoted to doubles
49 @@ -99,7 +99,7 @@
50 else
51 *((float*) d++) = s->val.f;
53 - else if (!s->IsPtrData() && (s->type == nsXPTType::T_I64
54 + else if (!s->IsIndirect() && (s->type == nsXPTType::T_I64
55 || s->type == nsXPTType::T_U64)) {
56 if (gpr & 1) gpr++; // longlongs are aligned in odd/even register pairs, eg. r5/r6
57 if ((gpr + 1) < GPR_COUNT) {