author | Stacy Yeh <stacy.yeh@oracle.com> |
Mon, 11 Jan 2016 09:27:45 -0800 | |
changeset 5255 | cea0e462549a |
permissions | -rw-r--r-- |
5255
cea0e462549a
22322082 Move Firefox/Thunderbird from Desktop consolidation to Userland
Stacy Yeh <stacy.yeh@oracle.com>
parents:
diff
changeset
|
1 |
Adds asm("ta 6") which suppresses bus error caused by misalignment. |
cea0e462549a
22322082 Move Firefox/Thunderbird from Desktop consolidation to Userland
Stacy Yeh <stacy.yeh@oracle.com>
parents:
diff
changeset
|
2 |
|
cea0e462549a
22322082 Move Firefox/Thunderbird from Desktop consolidation to Userland
Stacy Yeh <stacy.yeh@oracle.com>
parents:
diff
changeset
|
3 |
diff --git a/js/xpconnect/src/XPCShellImpl.cpp b/js/xpconnect/src/XPCShellImpl.cpp |
cea0e462549a
22322082 Move Firefox/Thunderbird from Desktop consolidation to Userland
Stacy Yeh <stacy.yeh@oracle.com>
parents:
diff
changeset
|
4 |
--- a/js/xpconnect/src/XPCShellImpl.cpp |
cea0e462549a
22322082 Move Firefox/Thunderbird from Desktop consolidation to Userland
Stacy Yeh <stacy.yeh@oracle.com>
parents:
diff
changeset
|
5 |
+++ b/js/xpconnect/src/XPCShellImpl.cpp |
cea0e462549a
22322082 Move Firefox/Thunderbird from Desktop consolidation to Userland
Stacy Yeh <stacy.yeh@oracle.com>
parents:
diff
changeset
|
6 |
@@ -1320,16 +1320,22 @@ GetCurrentWorkingDirectory(nsAString& wo |
cea0e462549a
22322082 Move Firefox/Thunderbird from Desktop consolidation to Userland
Stacy Yeh <stacy.yeh@oracle.com>
parents:
diff
changeset
|
7 |
return true; |
cea0e462549a
22322082 Move Firefox/Thunderbird from Desktop consolidation to Userland
Stacy Yeh <stacy.yeh@oracle.com>
parents:
diff
changeset
|
8 |
} |
cea0e462549a
22322082 Move Firefox/Thunderbird from Desktop consolidation to Userland
Stacy Yeh <stacy.yeh@oracle.com>
parents:
diff
changeset
|
9 |
|
cea0e462549a
22322082 Move Firefox/Thunderbird from Desktop consolidation to Userland
Stacy Yeh <stacy.yeh@oracle.com>
parents:
diff
changeset
|
10 |
static JSSecurityCallbacks shellSecurityCallbacks; |
cea0e462549a
22322082 Move Firefox/Thunderbird from Desktop consolidation to Userland
Stacy Yeh <stacy.yeh@oracle.com>
parents:
diff
changeset
|
11 |
|
cea0e462549a
22322082 Move Firefox/Thunderbird from Desktop consolidation to Userland
Stacy Yeh <stacy.yeh@oracle.com>
parents:
diff
changeset
|
12 |
int |
cea0e462549a
22322082 Move Firefox/Thunderbird from Desktop consolidation to Userland
Stacy Yeh <stacy.yeh@oracle.com>
parents:
diff
changeset
|
13 |
XRE_XPCShellMain(int argc, char** argv, char** envp) |
cea0e462549a
22322082 Move Firefox/Thunderbird from Desktop consolidation to Userland
Stacy Yeh <stacy.yeh@oracle.com>
parents:
diff
changeset
|
14 |
{ |
cea0e462549a
22322082 Move Firefox/Thunderbird from Desktop consolidation to Userland
Stacy Yeh <stacy.yeh@oracle.com>
parents:
diff
changeset
|
15 |
+ |
cea0e462549a
22322082 Move Firefox/Thunderbird from Desktop consolidation to Userland
Stacy Yeh <stacy.yeh@oracle.com>
parents:
diff
changeset
|
16 |
+#if defined (__GNUC__) && (defined(__sparc) || defined(__sparc__)) |
cea0e462549a
22322082 Move Firefox/Thunderbird from Desktop consolidation to Userland
Stacy Yeh <stacy.yeh@oracle.com>
parents:
diff
changeset
|
17 |
+ // make unaligned memory access no crash |
cea0e462549a
22322082 Move Firefox/Thunderbird from Desktop consolidation to Userland
Stacy Yeh <stacy.yeh@oracle.com>
parents:
diff
changeset
|
18 |
+ asm ( "ta 6" ); |
cea0e462549a
22322082 Move Firefox/Thunderbird from Desktop consolidation to Userland
Stacy Yeh <stacy.yeh@oracle.com>
parents:
diff
changeset
|
19 |
+#endif |
cea0e462549a
22322082 Move Firefox/Thunderbird from Desktop consolidation to Userland
Stacy Yeh <stacy.yeh@oracle.com>
parents:
diff
changeset
|
20 |
+ |
cea0e462549a
22322082 Move Firefox/Thunderbird from Desktop consolidation to Userland
Stacy Yeh <stacy.yeh@oracle.com>
parents:
diff
changeset
|
21 |
JSRuntime* rt; |
cea0e462549a
22322082 Move Firefox/Thunderbird from Desktop consolidation to Userland
Stacy Yeh <stacy.yeh@oracle.com>
parents:
diff
changeset
|
22 |
JSContext* cx; |
cea0e462549a
22322082 Move Firefox/Thunderbird from Desktop consolidation to Userland
Stacy Yeh <stacy.yeh@oracle.com>
parents:
diff
changeset
|
23 |
int result; |
cea0e462549a
22322082 Move Firefox/Thunderbird from Desktop consolidation to Userland
Stacy Yeh <stacy.yeh@oracle.com>
parents:
diff
changeset
|
24 |
nsresult rv; |
cea0e462549a
22322082 Move Firefox/Thunderbird from Desktop consolidation to Userland
Stacy Yeh <stacy.yeh@oracle.com>
parents:
diff
changeset
|
25 |
|
cea0e462549a
22322082 Move Firefox/Thunderbird from Desktop consolidation to Userland
Stacy Yeh <stacy.yeh@oracle.com>
parents:
diff
changeset
|
26 |
gErrFile = stderr; |
cea0e462549a
22322082 Move Firefox/Thunderbird from Desktop consolidation to Userland
Stacy Yeh <stacy.yeh@oracle.com>
parents:
diff
changeset
|
27 |
gOutFile = stdout; |
cea0e462549a
22322082 Move Firefox/Thunderbird from Desktop consolidation to Userland
Stacy Yeh <stacy.yeh@oracle.com>
parents:
diff
changeset
|
28 |
gInFile = stdin; |
cea0e462549a
22322082 Move Firefox/Thunderbird from Desktop consolidation to Userland
Stacy Yeh <stacy.yeh@oracle.com>
parents:
diff
changeset
|
29 |
diff --git a/memory/mozjemalloc/jemalloc.c b/memory/mozjemalloc/jemalloc.c |
cea0e462549a
22322082 Move Firefox/Thunderbird from Desktop consolidation to Userland
Stacy Yeh <stacy.yeh@oracle.com>
parents:
diff
changeset
|
30 |
--- a/memory/mozjemalloc/jemalloc.c |
cea0e462549a
22322082 Move Firefox/Thunderbird from Desktop consolidation to Userland
Stacy Yeh <stacy.yeh@oracle.com>
parents:
diff
changeset
|
31 |
+++ b/memory/mozjemalloc/jemalloc.c |
cea0e462549a
22322082 Move Firefox/Thunderbird from Desktop consolidation to Userland
Stacy Yeh <stacy.yeh@oracle.com>
parents:
diff
changeset
|
32 |
@@ -5551,16 +5551,22 @@ malloc_init(void) |
cea0e462549a
22322082 Move Firefox/Thunderbird from Desktop consolidation to Userland
Stacy Yeh <stacy.yeh@oracle.com>
parents:
diff
changeset
|
33 |
#endif |
cea0e462549a
22322082 Move Firefox/Thunderbird from Desktop consolidation to Userland
Stacy Yeh <stacy.yeh@oracle.com>
parents:
diff
changeset
|
34 |
|
cea0e462549a
22322082 Move Firefox/Thunderbird from Desktop consolidation to Userland
Stacy Yeh <stacy.yeh@oracle.com>
parents:
diff
changeset
|
35 |
#if !defined(MOZ_MEMORY_WINDOWS) |
cea0e462549a
22322082 Move Firefox/Thunderbird from Desktop consolidation to Userland
Stacy Yeh <stacy.yeh@oracle.com>
parents:
diff
changeset
|
36 |
static |
cea0e462549a
22322082 Move Firefox/Thunderbird from Desktop consolidation to Userland
Stacy Yeh <stacy.yeh@oracle.com>
parents:
diff
changeset
|
37 |
#endif |
cea0e462549a
22322082 Move Firefox/Thunderbird from Desktop consolidation to Userland
Stacy Yeh <stacy.yeh@oracle.com>
parents:
diff
changeset
|
38 |
bool |
cea0e462549a
22322082 Move Firefox/Thunderbird from Desktop consolidation to Userland
Stacy Yeh <stacy.yeh@oracle.com>
parents:
diff
changeset
|
39 |
malloc_init_hard(void) |
cea0e462549a
22322082 Move Firefox/Thunderbird from Desktop consolidation to Userland
Stacy Yeh <stacy.yeh@oracle.com>
parents:
diff
changeset
|
40 |
{ |
cea0e462549a
22322082 Move Firefox/Thunderbird from Desktop consolidation to Userland
Stacy Yeh <stacy.yeh@oracle.com>
parents:
diff
changeset
|
41 |
+ |
cea0e462549a
22322082 Move Firefox/Thunderbird from Desktop consolidation to Userland
Stacy Yeh <stacy.yeh@oracle.com>
parents:
diff
changeset
|
42 |
+#if defined (__GNUC__) && (defined(__sparc) || defined(__sparc__)) |
cea0e462549a
22322082 Move Firefox/Thunderbird from Desktop consolidation to Userland
Stacy Yeh <stacy.yeh@oracle.com>
parents:
diff
changeset
|
43 |
+ // make unaligned memory access no crash |
cea0e462549a
22322082 Move Firefox/Thunderbird from Desktop consolidation to Userland
Stacy Yeh <stacy.yeh@oracle.com>
parents:
diff
changeset
|
44 |
+ asm ( "ta 6" ); |
cea0e462549a
22322082 Move Firefox/Thunderbird from Desktop consolidation to Userland
Stacy Yeh <stacy.yeh@oracle.com>
parents:
diff
changeset
|
45 |
+#endif |
cea0e462549a
22322082 Move Firefox/Thunderbird from Desktop consolidation to Userland
Stacy Yeh <stacy.yeh@oracle.com>
parents:
diff
changeset
|
46 |
+ |
cea0e462549a
22322082 Move Firefox/Thunderbird from Desktop consolidation to Userland
Stacy Yeh <stacy.yeh@oracle.com>
parents:
diff
changeset
|
47 |
unsigned i; |
cea0e462549a
22322082 Move Firefox/Thunderbird from Desktop consolidation to Userland
Stacy Yeh <stacy.yeh@oracle.com>
parents:
diff
changeset
|
48 |
char buf[PATH_MAX + 1]; |
cea0e462549a
22322082 Move Firefox/Thunderbird from Desktop consolidation to Userland
Stacy Yeh <stacy.yeh@oracle.com>
parents:
diff
changeset
|
49 |
const char *opts; |
cea0e462549a
22322082 Move Firefox/Thunderbird from Desktop consolidation to Userland
Stacy Yeh <stacy.yeh@oracle.com>
parents:
diff
changeset
|
50 |
long result; |
cea0e462549a
22322082 Move Firefox/Thunderbird from Desktop consolidation to Userland
Stacy Yeh <stacy.yeh@oracle.com>
parents:
diff
changeset
|
51 |
#ifndef MOZ_MEMORY_WINDOWS |
cea0e462549a
22322082 Move Firefox/Thunderbird from Desktop consolidation to Userland
Stacy Yeh <stacy.yeh@oracle.com>
parents:
diff
changeset
|
52 |
int linklen; |
cea0e462549a
22322082 Move Firefox/Thunderbird from Desktop consolidation to Userland
Stacy Yeh <stacy.yeh@oracle.com>
parents:
diff
changeset
|
53 |
#endif |
cea0e462549a
22322082 Move Firefox/Thunderbird from Desktop consolidation to Userland
Stacy Yeh <stacy.yeh@oracle.com>
parents:
diff
changeset
|
54 |
#ifdef MOZ_MEMORY_DARWIN |
cea0e462549a
22322082 Move Firefox/Thunderbird from Desktop consolidation to Userland
Stacy Yeh <stacy.yeh@oracle.com>
parents:
diff
changeset
|
55 |
diff --git a/toolkit/xre/nsAppRunner.cpp b/toolkit/xre/nsAppRunner.cpp |
cea0e462549a
22322082 Move Firefox/Thunderbird from Desktop consolidation to Userland
Stacy Yeh <stacy.yeh@oracle.com>
parents:
diff
changeset
|
56 |
--- a/toolkit/xre/nsAppRunner.cpp |
cea0e462549a
22322082 Move Firefox/Thunderbird from Desktop consolidation to Userland
Stacy Yeh <stacy.yeh@oracle.com>
parents:
diff
changeset
|
57 |
+++ b/toolkit/xre/nsAppRunner.cpp |
cea0e462549a
22322082 Move Firefox/Thunderbird from Desktop consolidation to Userland
Stacy Yeh <stacy.yeh@oracle.com>
parents:
diff
changeset
|
58 |
@@ -4016,16 +4016,22 @@ XREMain::XRE_mainRun() |
cea0e462549a
22322082 Move Firefox/Thunderbird from Desktop consolidation to Userland
Stacy Yeh <stacy.yeh@oracle.com>
parents:
diff
changeset
|
59 |
} |
cea0e462549a
22322082 Move Firefox/Thunderbird from Desktop consolidation to Userland
Stacy Yeh <stacy.yeh@oracle.com>
parents:
diff
changeset
|
60 |
|
cea0e462549a
22322082 Move Firefox/Thunderbird from Desktop consolidation to Userland
Stacy Yeh <stacy.yeh@oracle.com>
parents:
diff
changeset
|
61 |
/* |
cea0e462549a
22322082 Move Firefox/Thunderbird from Desktop consolidation to Userland
Stacy Yeh <stacy.yeh@oracle.com>
parents:
diff
changeset
|
62 |
* XRE_main - A class based main entry point used by most platforms. |
cea0e462549a
22322082 Move Firefox/Thunderbird from Desktop consolidation to Userland
Stacy Yeh <stacy.yeh@oracle.com>
parents:
diff
changeset
|
63 |
*/ |
cea0e462549a
22322082 Move Firefox/Thunderbird from Desktop consolidation to Userland
Stacy Yeh <stacy.yeh@oracle.com>
parents:
diff
changeset
|
64 |
int |
cea0e462549a
22322082 Move Firefox/Thunderbird from Desktop consolidation to Userland
Stacy Yeh <stacy.yeh@oracle.com>
parents:
diff
changeset
|
65 |
XREMain::XRE_main(int argc, char* argv[], const nsXREAppData* aAppData) |
cea0e462549a
22322082 Move Firefox/Thunderbird from Desktop consolidation to Userland
Stacy Yeh <stacy.yeh@oracle.com>
parents:
diff
changeset
|
66 |
{ |
cea0e462549a
22322082 Move Firefox/Thunderbird from Desktop consolidation to Userland
Stacy Yeh <stacy.yeh@oracle.com>
parents:
diff
changeset
|
67 |
+ |
cea0e462549a
22322082 Move Firefox/Thunderbird from Desktop consolidation to Userland
Stacy Yeh <stacy.yeh@oracle.com>
parents:
diff
changeset
|
68 |
+#if defined (__GNUC__) && (defined(__sparc) || defined(__sparc__)) |
cea0e462549a
22322082 Move Firefox/Thunderbird from Desktop consolidation to Userland
Stacy Yeh <stacy.yeh@oracle.com>
parents:
diff
changeset
|
69 |
+ // make unaligned memory access no crash |
cea0e462549a
22322082 Move Firefox/Thunderbird from Desktop consolidation to Userland
Stacy Yeh <stacy.yeh@oracle.com>
parents:
diff
changeset
|
70 |
+ asm ( "ta 6" ); |
cea0e462549a
22322082 Move Firefox/Thunderbird from Desktop consolidation to Userland
Stacy Yeh <stacy.yeh@oracle.com>
parents:
diff
changeset
|
71 |
+#endif |
cea0e462549a
22322082 Move Firefox/Thunderbird from Desktop consolidation to Userland
Stacy Yeh <stacy.yeh@oracle.com>
parents:
diff
changeset
|
72 |
+ |
cea0e462549a
22322082 Move Firefox/Thunderbird from Desktop consolidation to Userland
Stacy Yeh <stacy.yeh@oracle.com>
parents:
diff
changeset
|
73 |
char aLocal; |
cea0e462549a
22322082 Move Firefox/Thunderbird from Desktop consolidation to Userland
Stacy Yeh <stacy.yeh@oracle.com>
parents:
diff
changeset
|
74 |
GeckoProfilerInitRAII profilerGuard(&aLocal); |
cea0e462549a
22322082 Move Firefox/Thunderbird from Desktop consolidation to Userland
Stacy Yeh <stacy.yeh@oracle.com>
parents:
diff
changeset
|
75 |
PROFILER_LABEL("Startup", "XRE_Main"); |
cea0e462549a
22322082 Move Firefox/Thunderbird from Desktop consolidation to Userland
Stacy Yeh <stacy.yeh@oracle.com>
parents:
diff
changeset
|
76 |
|
cea0e462549a
22322082 Move Firefox/Thunderbird from Desktop consolidation to Userland
Stacy Yeh <stacy.yeh@oracle.com>
parents:
diff
changeset
|
77 |
mozilla::IOInterposerInit ioInterposerGuard; |
cea0e462549a
22322082 Move Firefox/Thunderbird from Desktop consolidation to Userland
Stacy Yeh <stacy.yeh@oracle.com>
parents:
diff
changeset
|
78 |
|
cea0e462549a
22322082 Move Firefox/Thunderbird from Desktop consolidation to Userland
Stacy Yeh <stacy.yeh@oracle.com>
parents:
diff
changeset
|
79 |
nsresult rv = NS_OK; |
cea0e462549a
22322082 Move Firefox/Thunderbird from Desktop consolidation to Userland
Stacy Yeh <stacy.yeh@oracle.com>
parents:
diff
changeset
|
80 |