author | Petr Sumbera <petr.sumbera@oracle.com> |
Mon, 05 Sep 2016 05:00:46 -0700 | |
branch | s11u3-sru |
changeset 7035 | 4c2f26e9d5ab |
permissions | -rw-r--r-- |
7035
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
1 |
Adds asm("ta 6") which suppresses bus error caused by misalignment. |
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
2 |
|
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
3 |
diff --git a/js/xpconnect/src/XPCShellImpl.cpp b/js/xpconnect/src/XPCShellImpl.cpp |
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
4 |
--- a/js/xpconnect/src/XPCShellImpl.cpp |
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
5 |
+++ b/js/xpconnect/src/XPCShellImpl.cpp |
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
6 |
@@ -1320,16 +1320,22 @@ GetCurrentWorkingDirectory(nsAString& wo |
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
7 |
return true; |
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
8 |
} |
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
9 |
|
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
10 |
static JSSecurityCallbacks shellSecurityCallbacks; |
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
11 |
|
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
12 |
int |
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
13 |
XRE_XPCShellMain(int argc, char** argv, char** envp) |
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
14 |
{ |
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
15 |
+ |
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
16 |
+#if defined (__GNUC__) && (defined(__sparc) || defined(__sparc__)) |
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
17 |
+ // make unaligned memory access no crash |
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
18 |
+ asm ( "ta 6" ); |
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
19 |
+#endif |
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
20 |
+ |
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
21 |
JSRuntime* rt; |
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
22 |
JSContext* cx; |
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
23 |
int result = 0; |
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
24 |
nsresult rv; |
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
25 |
|
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
26 |
gErrFile = stderr; |
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
27 |
gOutFile = stdout; |
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
28 |
gInFile = stdin; |
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
29 |
diff --git a/memory/mozjemalloc/jemalloc.c b/memory/mozjemalloc/jemalloc.c |
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
30 |
--- a/memory/mozjemalloc/jemalloc.c |
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
31 |
+++ b/memory/mozjemalloc/jemalloc.c |
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
32 |
@@ -5551,16 +5551,22 @@ malloc_init(void) |
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
33 |
#endif |
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
34 |
|
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
35 |
#if !defined(MOZ_MEMORY_WINDOWS) |
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
36 |
static |
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
37 |
#endif |
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
38 |
bool |
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
39 |
malloc_init_hard(void) |
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
40 |
{ |
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
41 |
+ |
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
42 |
+#if defined (__GNUC__) && (defined(__sparc) || defined(__sparc__)) |
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
43 |
+ // make unaligned memory access no crash |
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
44 |
+ asm ( "ta 6" ); |
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
45 |
+#endif |
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
46 |
+ |
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
47 |
unsigned i; |
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
48 |
char buf[PATH_MAX + 1]; |
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
49 |
const char *opts; |
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
50 |
long result; |
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
51 |
#ifndef MOZ_MEMORY_WINDOWS |
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
52 |
int linklen; |
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
53 |
#endif |
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
54 |
#ifdef MOZ_MEMORY_DARWIN |
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
55 |
diff --git a/toolkit/xre/nsAppRunner.cpp b/toolkit/xre/nsAppRunner.cpp |
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
56 |
--- a/toolkit/xre/nsAppRunner.cpp |
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
57 |
+++ b/toolkit/xre/nsAppRunner.cpp |
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
58 |
@@ -4255,6 +4255,11 @@ |
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
59 |
int |
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
60 |
XREMain::XRE_main(int argc, char* argv[], const nsXREAppData* aAppData) |
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
61 |
{ |
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
62 |
+#if defined (__GNUC__) && (defined(__sparc) || defined(__sparc__)) |
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
63 |
+ // make unaligned memory access no crash |
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
64 |
+ asm ( "ta 6" ); |
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
65 |
+#endif |
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
66 |
+ |
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
67 |
ScopedLogging log; |
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
68 |
|
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
69 |
#if defined(MOZ_SANDBOX) && defined(XP_LINUX) && !defined(ANDROID) |