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
interceptor
AutoProfilerLabel.cpp
AutoProfilerLabel.h
ConditionVariable_posix.cpp
ConditionVariable_windows.cpp
Debug.h
DynamicallyLinkedFunctionPtr.h
ImportDir.h
MmapFaultHandler.cpp
MmapFaultHandler.h
MutexPlatformData_posix.h
MutexPlatformData_windows.h
Mutex_posix.cpp
Mutex_windows.cpp
NativeNt.h
PlatformConditionVariable.h
PlatformMutex.h
Printf.cpp
Printf.h
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
TimeStamp_darwin.cpp
TimeStamp_posix.cpp
TimeStamp_windows.cpp
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
nsWindowsDllInterceptor.h