mozilla-bmo1463035.patch
branchfirefox65
changeset 1085 87f893cf45b9
parent 1076 2823eb50c9a9
child 1089 eca1c1f2fe50
equal deleted inserted replaced
1084:b0b3c507e253 1085:87f893cf45b9
     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.
   124    if (sigaction(SIGPROF, &sa, &mOldSigprofHandler) != 0) {
   116    if (sigaction(SIGPROF, &sa, &mOldSigprofHandler) != 0) {
   125      MOZ_CRASH("Error installing SIGPROF handler in the profiler");
   117      MOZ_CRASH("Error installing SIGPROF handler in the profiler");
   126    }
   118    }
   127  }
   119  }
   128  
   120  
   129  void
   121  void Sampler::Disable(PSLockRef aLock) {
   130