From c2cdf0d2a1296eaa75d99246628277a8180bb2ce Mon Sep 17 00:00:00 2001 From: delthas Date: Sun, 19 Apr 2020 23:59:26 +0200 Subject: [PATCH] win32: Disable ASLR for Windows debug builds GDB is usually able to debug executables with ASLR by temporarily disabling ASLR when running that executable. This is only supported on Linux. On Windows, GDB cannot debug ASLR executables. This removes the dynamicbase linker flag on Windows for debug builds in order to be able to debug that executable later. Hardening an executable with ASLR is important for release builds, but for debug builds being able to debug is much more important. --- meson.build | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/meson.build b/meson.build index 645e685e..9b33574b 100644 --- a/meson.build +++ b/meson.build @@ -134,9 +134,11 @@ test_ldflags = [ '-Wl,-z,relro', '-Wl,-z,now', # mingw - '-Wl,--dynamicbase', '-Wl,--nxcompat', ] +if not (host_machine.system() == 'windows' and get_option('debug')) + test_ldflags += '-Wl,--dynamicbase' +endif foreach ldflag : test_ldflags if meson.version().version_compare('>= 0.46.0') has_arg = cc.has_link_argument(ldflag)