mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-23 04:41:11 +00:00
6a8f812670
Thread32Next relies on NtMapViewOfSection to map the snapshot that it works with. We hook NtMapViewOfSection, so calls to Thread32Next reach our patched_NtMapViewOfSection. With some third-party software, this results in a crash if we use stack buffers (see bug 1733532), because for some reason the stack cookie check code is not mapped executable. If we can avoid using stack buffers in that case, then the third-party DLL should get its result from NtMapViewOfSection without error. This change thus splits patched_NtMapViewOfSection so that we only use stack buffers when necessary, i.e. when an executable mapping is asked. Hopefully this can fix bug 1733532. Differential Revision: https://phabricator.services.mozilla.com/D169450
54 lines
1.2 KiB
Python
54 lines
1.2 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/.
|
|
|
|
DisableStlWrapping()
|
|
|
|
# Important: for CppUnitTests to be run, they also need to be added
|
|
# to testing/cppunittest.ini.
|
|
|
|
GeckoCppUnitTests(
|
|
[
|
|
"ShowSSEConfig",
|
|
],
|
|
linkage=None,
|
|
)
|
|
|
|
CppUnitTests(
|
|
[
|
|
"TestBaseProfiler",
|
|
"TestIntegerPrintfMacros",
|
|
"TestPrintf",
|
|
]
|
|
)
|
|
|
|
with Files("TestBaseProfiler.cpp"):
|
|
BUG_COMPONENT = ("Core", "Gecko Profiler")
|
|
|
|
if CONFIG["OS_ARCH"] == "WINNT":
|
|
GeckoCppUnitTests(
|
|
[
|
|
"TestNativeNt",
|
|
"TestPEExportSection",
|
|
"TestStackCookie",
|
|
"TestTimeStampWin",
|
|
],
|
|
linkage=None,
|
|
)
|
|
OS_LIBS += [
|
|
"ntdll",
|
|
"version",
|
|
]
|
|
|
|
if CONFIG["OS_TARGET"] == "WINNT" and CONFIG["CC_TYPE"] in ("gcc", "clang"):
|
|
# This allows us to use wmain as the entry point on mingw
|
|
LDFLAGS += [
|
|
"-municode",
|
|
]
|
|
|
|
TEST_DIRS += [
|
|
"gtest",
|
|
]
|