CommandLineToArgvW drags a dependency on SHELL32.DLL and thus GDI32.DLL. By loading GDI32.DLL some default GDI objects are allocated. On some Windows versions this cause the use of a lock on the graphical interface during process termination. This can impact parallelism significantly as termination of processes is serialized.
2019-07-08 Nicolas Roche
- rtinit.c (__gnat_runtime_initialize): Remove dependency on CommandLineToArgvW.
a7c8fd7e554 [Ada] Remove dependency on Win32 GDI (Graphical Interface)
gcc/ada/ChangeLog | 5 ++
gcc/ada/rtinit.c | 200 +++++++++++++++++++++++++++++++++++++++++++++++++++---
2 files changed, 197 insertions(+), 8 deletions(-)