Skip to content
Snippets Groups Projects
Commit 91b668ac authored by Alex Smith's avatar Alex Smith Committed by Michael Niedermayer
Browse files

configure: Force mingw's ld to keep the reloc section


Binutils will always strip the relocation information from executable
files even if it needs it (dynamicbase/ASLR).  We can work around this
by using the pic-executable flag combined with setting the correct entry
point since apparently ld forgets what that should be.  This problem
affects both 32 and 64-bit mingw-w64.

Signed-off-by: default avatarMichael Niedermayer <michael@niedermayer.cc>
parent 0544c95f
No related branches found
No related tags found
No related merge requests found
......@@ -4392,6 +4392,16 @@ case $target_os in
objformat="win32"
ranlib=:
enable dos_paths
# Lets work around some stupidity in binutils.
# ld will strip relocations from executables even though we need them
# for dynamicbase (ASLR). Using -pie does retain the reloc section
# however ld then forgets what the entry point should be (oops) so we
# have to manually (re)set it.
if enabled x86_32; then
add_ldexeflags -Wl,--pic-executable,-e,_mainCRTStartup
elif enabled x86_64; then
add_ldexeflags -Wl,--pic-executable,-e,mainCRTStartup
fi
;;
win32|win64)
disable symver
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment