gecko-dev/mozglue/misc
Toshihito Kikuchi a2f2d585ea Bug 1509748 - Do not touch ntdll's PE header directly if EAF+ is enabled. r=mhowell,mstange
If EAF+ is enabled for firefox.exe, the process does not launch because we parse
the PE headers of ntdll.dll at startup, which is prohibited by EAF+.

With this patch, we skip two operations when EAF+ is enabled.

The first one is to cache ntdll's IAT at startup.  Because EAF+ is expected to
prevent an injected module from parsing PE headers and modifying IAT, we can skip
this caching safely.

The second one is to load ntdll's debug information for the profiler.  With this
patch, the profiler's callstack will not show a raw address instead of a symbol
name.  It's a bad side effect, but much better than startup crash.

Differential Revision: https://phabricator.services.mozilla.com/D76959
2020-05-27 21:48:35 +00:00
..
decimal Bug 1619362 - Parse MOZ_BASE_PROFILER_STARTUP_DURATION and _INTERVAL. r=froydnj 2020-03-17 04:11:20 +00:00
interceptor Bug 1603974 - Part 5: Introduce WindowsDllEntryPointInterceptor. r=mhowell 2020-04-08 14:27:02 +00:00
AutoProfilerLabel.cpp Bug 1609815 - Remove Web Replay C++ implementation. r=jgilbert,jandem,gbrown 2020-02-27 17:39:15 +00:00
AutoProfilerLabel.h
ConditionVariable_posix.cpp Bug 1624237 - Run misc-unused-using-decls - Remove useless declarations r=andi 2020-03-23 13:15:33 +00:00
ConditionVariable_windows.cpp
Debug.h
DynamicallyLinkedFunctionPtr.h Bug 1609996 - Reorder some includes affected by the previous patches. r=froydnj 2020-01-20 16:19:48 +00:00
ImportDir.h Bug 1620118 - Part 1: Add ProcessedModuleLoadEvent::mIsDependent. r=aklotz 2020-05-04 17:20:51 +00:00
MmapFaultHandler.cpp Bug 1595596 - Use MMAP_FAULT_HANDLER in StartupCache r=aklotz 2020-04-10 21:16:15 +00:00
MmapFaultHandler.h Bug 1595596 - Use MMAP_FAULT_HANDLER in StartupCache r=aklotz 2020-04-10 21:16:15 +00:00
MutexPlatformData_posix.h
MutexPlatformData_windows.h
Mutex_posix.cpp Bug 1609815 - Remove Web Replay C++ implementation. r=jgilbert,jandem,gbrown 2020-02-27 17:39:15 +00:00
Mutex_windows.cpp Bug 1609815 - Remove Web Replay C++ implementation. r=jgilbert,jandem,gbrown 2020-02-27 17:39:15 +00:00
NativeNt.h Bug 1620118 - Part 1: Add ProcessedModuleLoadEvent::mIsDependent. r=aklotz 2020-05-04 17:20:51 +00:00
PlatformConditionVariable.h Bug 1609996 - Reorder some includes affected by the previous patches. r=froydnj 2020-01-20 16:19:48 +00:00
PlatformMutex.h Bug 1609815 - Remove Web Replay C++ implementation. r=jgilbert,jandem,gbrown 2020-02-27 17:39:15 +00:00
Printf.cpp Bug 1570499 - Part 1: Replace MOZ_FALLTHROUGH macro with C++17's [[fallthrough]] attribute. r=froydnj 2019-12-20 07:16:43 +00:00
Printf.h Bug 1613985 - Use default for equivalent-to-default constructors/destructors in mozglue. r=glandium 2020-03-10 08:47:24 +00:00
StackWalk.cpp Bug 1634205 - Support Gecko Profiler and Base Profiler on FreeBSD r=mstange 2020-05-06 17:44:19 +00:00
StackWalk.h Bug 1634205 - Support Gecko Profiler and Base Profiler on FreeBSD r=mstange 2020-05-06 17:44:19 +00:00
StackWalk_windows.h
TimeStamp.cpp
TimeStamp.h Bug 1625138 - Part 41: Remove no longer needed includes for mozilla/TypeTraits. r=froydnj 2020-03-28 16:00:09 +00:00
TimeStamp_darwin.cpp Bug 1577236 - clang-10: Fix -Wimplicit-int-float-conversion warnings in TimeStamp r=froydnj 2019-11-20 21:06:33 +00:00
TimeStamp_posix.cpp
TimeStamp_windows.cpp Bug 1601796 - Use GetSystemTimePreciseAsFileTime instead of GetSystemTime+SystemTimeToFileTime. r=mayhemer,aklotz 2020-01-08 16:53:17 +00:00
TimeStamp_windows.h
WinUtils.h
WindowsMapRemoteView.cpp
WindowsMapRemoteView.h
WindowsProcessMitigations.cpp Bug 1509748 - Do not touch ntdll's PE header directly if EAF+ is enabled. r=mhowell,mstange 2020-05-27 21:48:35 +00:00
WindowsProcessMitigations.h Bug 1509748 - Do not touch ntdll's PE header directly if EAF+ is enabled. r=mhowell,mstange 2020-05-27 21:48:35 +00:00
WindowsUnicode.cpp
WindowsUnicode.h
moz.build Bug 1595596 - Use MMAP_FAULT_HANDLER in StartupCache r=aklotz 2020-04-10 21:16:15 +00:00
nsWindowsDllInterceptor.h Bug 1603974 - Part 5: Introduce WindowsDllEntryPointInterceptor. r=mhowell 2020-04-08 14:27:02 +00:00