[PATCH 3/4] libbacktrace: work with aslr on windows
Eli Zaretskii
eliz@gnu.org
Fri Jan 20 13:39:26 GMT 2023
> From: Björn Schäpers <gcc@hazardy.de>
> Date: Fri, 20 Jan 2023 11:54:08 +0100
>
> @@ -856,7 +870,12 @@ coff_add (struct backtrace_state *state, int descriptor,
> + (sections[i].offset - min_offset));
> }
>
> - if (!backtrace_dwarf_add (state, /* base_address */ 0, &dwarf_sections,
> +#ifdef HAVE_WINDOWS_H
> + module_handle = (uintptr_t) GetModuleHandleW (NULL);
> + base_address = module_handle - image_base;
> +#endif
> +
> + if (!backtrace_dwarf_add (state, base_address, &dwarf_sections,
> 0, /* FIXME: is_bigendian */
> NULL, /* altlink */
> error_callback, data, fileline_fn,
Why do you force using the "wide" APIs here? Won't GetModuleHandle do
the job, whether it resolves to GetModuleHandleA or GetModuleHandleW?
More information about the Gcc
mailing list