1 |
1 |
2 # HG changeset patch |
2 # HG changeset patch |
3 # User Mike Hommey <mh+mozilla@glandium.org> |
3 # User Mike Hommey <mh+mozilla@glandium.org> |
4 # Date 1526871862 -32400 |
4 # Date 1526871862 -32400 |
5 # Node ID 94f21505ff13cd089f7129cd24927cf8b31a0f43 |
5 # Node ID 94f21505ff13cd089f7129cd24927cf8b31a0f43 |
6 # Parent 1800b8895c08bc0c60302775dc0a4b5ea4deb310 |
6 # Parent 25ab6bab437517a8a182f1ab77898ae13b26a696 |
7 Bug 1463035 - Remove MOZ_SIGNAL_TRAMPOLINE. r?darchons |
7 Bug 1463035 - Remove MOZ_SIGNAL_TRAMPOLINE. r?darchons |
8 |
8 |
9 For some reason, GNU as is not happy with the assembly generated after |
9 For some reason, GNU as is not happy with the assembly generated after |
10 bug 1238661 anymore on Debian armel. |
10 bug 1238661 anymore on Debian armel. |
11 |
11 |
12 OTOH, as mentioned in bug 1238661 comment 4, we actually don't need this |
12 OTOH, as mentioned in bug 1238661 comment 4, we actually don't need this |
13 workaround anymore, so let's just kill it. |
13 workaround anymore, so let's just kill it. |
14 |
14 |
15 |
|
16 diff --git a/mfbt/LinuxSignal.h b/mfbt/LinuxSignal.h |
15 diff --git a/mfbt/LinuxSignal.h b/mfbt/LinuxSignal.h |
17 deleted file mode 100644 |
16 deleted file mode 100644 |
18 --- a/mfbt/LinuxSignal.h |
17 --- a/mfbt/LinuxSignal.h |
19 +++ /dev/null |
18 +++ /dev/null |
20 @@ -1,45 +0,0 @@ |
19 @@ -1,38 +0,0 @@ |
21 -/* This Source Code Form is subject to the terms of the Mozilla Public |
20 -/* This Source Code Form is subject to the terms of the Mozilla Public |
22 - * License, v. 2.0. If a copy of the MPL was not distributed with this |
21 - * License, v. 2.0. If a copy of the MPL was not distributed with this |
23 - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ |
22 - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ |
24 - |
23 - |
25 -#ifndef mozilla_LinuxSignal_h |
24 -#ifndef mozilla_LinuxSignal_h |
36 -// on ARM is a trampoline that starts with enough NOP instructions, so |
35 -// on ARM is a trampoline that starts with enough NOP instructions, so |
37 -// that even if the IT bits are not cleared, only the NOP instructions |
36 -// that even if the IT bits are not cleared, only the NOP instructions |
38 -// will be skipped over. |
37 -// will be skipped over. |
39 - |
38 - |
40 -template <void (*H)(int, siginfo_t*, void*)> |
39 -template <void (*H)(int, siginfo_t*, void*)> |
41 -__attribute__((naked)) void |
40 -__attribute__((naked)) void SignalTrampoline(int aSignal, siginfo_t* aInfo, |
42 -SignalTrampoline(int aSignal, siginfo_t* aInfo, void* aContext) |
41 - void* aContext) { |
43 -{ |
42 - asm volatile("nop; nop; nop; nop" : : : "memory"); |
44 - asm volatile ( |
|
45 - "nop; nop; nop; nop" |
|
46 - : : : "memory"); |
|
47 - |
43 - |
48 - asm volatile ( |
44 - asm volatile("b %0" : : "X"(H) : "memory"); |
49 - "b %0" |
|
50 - : |
|
51 - : "X"(H) |
|
52 - : "memory"); |
|
53 -} |
45 -} |
54 - |
46 - |
55 -# define MOZ_SIGNAL_TRAMPOLINE(h) (mozilla::SignalTrampoline<h>) |
47 -#define MOZ_SIGNAL_TRAMPOLINE(h) (mozilla::SignalTrampoline<h>) |
56 - |
48 - |
57 -#else // __arm__ |
49 -#else // __arm__ |
58 - |
50 - |
59 -# define MOZ_SIGNAL_TRAMPOLINE(h) (h) |
51 -#define MOZ_SIGNAL_TRAMPOLINE(h) (h) |
60 - |
52 - |
61 -#endif // __arm__ |
53 -#endif // __arm__ |
62 - |
54 - |
63 -} // namespace mozilla |
55 -} // namespace mozilla |
64 - |
56 - |
65 -#endif // mozilla_LinuxSignal_h |
57 -#endif // mozilla_LinuxSignal_h |
66 diff --git a/mfbt/moz.build b/mfbt/moz.build |
58 diff --git a/mfbt/moz.build b/mfbt/moz.build |
67 --- a/mfbt/moz.build |
59 --- a/mfbt/moz.build |
68 +++ b/mfbt/moz.build |
60 +++ b/mfbt/moz.build |
69 @@ -117,20 +117,16 @@ EXPORTS["double-conversion"] = [ |
61 @@ -124,20 +124,16 @@ EXPORTS["double-conversion"] = [ |
70 LOCAL_INCLUDES += [ |
62 LOCAL_INCLUDES += [ |
71 '/mfbt/double-conversion', |
63 '/mfbt/double-conversion', |
72 ] |
64 ] |
73 |
65 |
74 if CONFIG['OS_ARCH'] == 'WINNT': |
66 if CONFIG['OS_ARCH'] == 'WINNT': |
90 diff --git a/tools/profiler/core/platform-linux-android.cpp b/tools/profiler/core/platform-linux-android.cpp |
82 diff --git a/tools/profiler/core/platform-linux-android.cpp b/tools/profiler/core/platform-linux-android.cpp |
91 --- a/tools/profiler/core/platform-linux-android.cpp |
83 --- a/tools/profiler/core/platform-linux-android.cpp |
92 +++ b/tools/profiler/core/platform-linux-android.cpp |
84 +++ b/tools/profiler/core/platform-linux-android.cpp |
93 @@ -55,17 +55,16 @@ |
85 @@ -55,17 +55,16 @@ |
94 #ifdef __GLIBC__ |
86 #ifdef __GLIBC__ |
95 #include <execinfo.h> // backtrace, backtrace_symbols |
87 #include <execinfo.h> // backtrace, backtrace_symbols |
96 #endif // def __GLIBC__ |
88 #endif // def __GLIBC__ |
97 #include <strings.h> // index |
89 #include <strings.h> // index |
98 #include <errno.h> |
90 #include <errno.h> |
99 #include <stdarg.h> |
91 #include <stdarg.h> |
100 |
92 |
101 #include "prenv.h" |
93 #include "prenv.h" |
102 -#include "mozilla/LinuxSignal.h" |
94 -#include "mozilla/LinuxSignal.h" |
106 #include <string.h> |
98 #include <string.h> |
107 #include <list> |
99 #include <list> |
108 |
100 |
109 using namespace mozilla; |
101 using namespace mozilla; |
110 |
102 |
111 @@ -272,17 +271,17 @@ Sampler::Sampler(PSLockRef aLock) |
103 @@ -248,17 +247,17 @@ Sampler::Sampler(PSLockRef aLock) |
112 |
104 |
113 // NOTE: We don't initialize LUL here, instead initializing it in |
105 // NOTE: We don't initialize LUL here, instead initializing it in |
114 // SamplerThread's constructor. This is because with the |
106 // SamplerThread's constructor. This is because with the |
115 // profiler_suspend_and_sample_thread entry point, we want to be able to |
107 // profiler_suspend_and_sample_thread entry point, we want to be able to |
116 // sample without waiting for LUL to be initialized. |
108 // sample without waiting for LUL to be initialized. |