mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-22 09:45:41 +00:00
c5939cab4c
Please double check that I am using this correctly. I believe we are seeing the crash in the linked bug because we are not handling hardware faults when reading from the memory mapped file. This patch just wraps all accesses in the MMAP_FAULT_HANDLER_ macros. Depends on D53042 Differential Revision: https://phabricator.services.mozilla.com/D53043 --HG-- rename : modules/libjar/MmapFaultHandler.cpp => mozglue/misc/MmapFaultHandler.cpp rename : modules/libjar/MmapFaultHandler.h => mozglue/misc/MmapFaultHandler.h extra : moz-landing-system : lando
100 lines
2.3 KiB
Python
100 lines
2.3 KiB
Python
# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
|
|
# vim: set filetype=python:
|
|
# This Source Code Form is subject to the terms of the Mozilla Public
|
|
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
|
|
FINAL_LIBRARY = 'mozglue'
|
|
|
|
EXPORTS.mozilla += [
|
|
'AutoProfilerLabel.h',
|
|
'decimal/Decimal.h',
|
|
'decimal/DoubleConversion.h',
|
|
'MmapFaultHandler.h',
|
|
'PlatformConditionVariable.h',
|
|
'PlatformMutex.h',
|
|
'Printf.h',
|
|
'StackWalk.h',
|
|
'TimeStamp.h',
|
|
]
|
|
|
|
EXPORTS.mozilla.glue += [
|
|
'Debug.h',
|
|
'WinUtils.h',
|
|
]
|
|
|
|
if CONFIG['OS_ARCH'] == 'WINNT':
|
|
EXPORTS.mozilla += [
|
|
'StackWalk_windows.h',
|
|
'TimeStamp_windows.h',
|
|
]
|
|
|
|
SOURCES += [
|
|
'AutoProfilerLabel.cpp',
|
|
'MmapFaultHandler.cpp',
|
|
'Printf.cpp',
|
|
'StackWalk.cpp',
|
|
'TimeStamp.cpp',
|
|
]
|
|
|
|
OS_LIBS += CONFIG['REALTIME_LIBS']
|
|
|
|
if CONFIG['OS_ARCH'] == 'WINNT':
|
|
DIRS += [
|
|
'interceptor',
|
|
]
|
|
EXPORTS += [
|
|
'nsWindowsDllInterceptor.h',
|
|
]
|
|
EXPORTS.mozilla += [
|
|
'DynamicallyLinkedFunctionPtr.h',
|
|
'ImportDir.h',
|
|
'NativeNt.h',
|
|
'WindowsMapRemoteView.h',
|
|
'WindowsProcessMitigations.h',
|
|
]
|
|
EXPORTS.mozilla.glue += [
|
|
'WindowsUnicode.h',
|
|
]
|
|
SOURCES += [
|
|
'TimeStamp_windows.cpp',
|
|
'WindowsMapRemoteView.cpp',
|
|
'WindowsProcessMitigations.cpp',
|
|
'WindowsUnicode.cpp',
|
|
]
|
|
OS_LIBS += ['dbghelp']
|
|
elif CONFIG['HAVE_CLOCK_MONOTONIC']:
|
|
SOURCES += [
|
|
'TimeStamp_posix.cpp',
|
|
]
|
|
elif CONFIG['OS_ARCH'] == 'Darwin':
|
|
SOURCES += [
|
|
'TimeStamp_darwin.cpp',
|
|
]
|
|
elif CONFIG['COMPILE_ENVIRONMENT']:
|
|
error('No TimeStamp implementation on this platform. Build will not succeed')
|
|
|
|
if CONFIG['OS_ARCH'] == 'WINNT':
|
|
SOURCES += [
|
|
'ConditionVariable_windows.cpp',
|
|
'Mutex_windows.cpp',
|
|
]
|
|
else:
|
|
SOURCES += [
|
|
'ConditionVariable_posix.cpp',
|
|
'Mutex_posix.cpp',
|
|
]
|
|
|
|
if CONFIG['MOZ_LINKER'] or CONFIG['MOZ_WIDGET_TOOLKIT'] == 'android':
|
|
LOCAL_INCLUDES += [
|
|
'/mozglue/linker',
|
|
]
|
|
|
|
SOURCES += [
|
|
'decimal/Decimal.cpp',
|
|
]
|
|
|
|
if CONFIG['CC_TYPE'] == 'clang':
|
|
# Suppress warnings from third-party V8 Decimal code.
|
|
SOURCES['decimal/Decimal.cpp'].flags += ['-Wno-implicit-fallthrough']
|