aboutsummaryrefslogtreecommitdiff
path: root/ld/emultempl
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2004-09-30 17:19:19 +0000
committerNick Clifton <nickc@redhat.com>2004-09-30 17:19:19 +0000
commitdb8acf26ca5d066a8cb97b8a80590886cfd04b77 (patch)
tree5250d0ac6cde35d4465b1e9c9f5e215bc0103237 /ld/emultempl
parent9fe0b840a939461c776528aa63315f4228688ce3 (diff)
downloadgdb-db8acf26ca5d066a8cb97b8a80590886cfd04b77.zip
gdb-db8acf26ca5d066a8cb97b8a80590886cfd04b77.tar.gz
gdb-db8acf26ca5d066a8cb97b8a80590886cfd04b77.tar.bz2
emultempl/pe.em (gld_${EMULATION_NAME}_set_symbols): Generate correct base
address for position independant executables. pe-dll.c (pe_dll_fill_sections): Don't mark position independant executables as DLLs.
Diffstat (limited to 'ld/emultempl')
-rw-r--r--ld/emultempl/pe.em2
1 files changed, 1 insertions, 1 deletions
diff --git a/ld/emultempl/pe.em b/ld/emultempl/pe.em
index 9ff5c9c..9f39aa6 100644
--- a/ld/emultempl/pe.em
+++ b/ld/emultempl/pe.em
@@ -665,7 +665,7 @@ gld_${EMULATION_NAME}_set_symbols (void)
{
if (link_info.relocatable)
init[IMAGEBASEOFF].value = 0;
- else if (init[DLLOFF].value || link_info.shared)
+ else if (init[DLLOFF].value || (link_info.shared && !link_info.pie))
#ifdef DLL_SUPPORT
init[IMAGEBASEOFF].value = (pe_enable_auto_image_base) ?
compute_dll_image_base (output_filename) : NT_DLL_IMAGE_BASE;