aboutsummaryrefslogtreecommitdiff
path: root/ld
diff options
context:
space:
mode:
Diffstat (limited to 'ld')
-rw-r--r--ld/ChangeLog9
-rw-r--r--ld/emulparams/arm_epoc_pe.sh1
-rw-r--r--ld/emulparams/armpe.sh2
-rw-r--r--ld/emulparams/i386pe.sh1
-rw-r--r--ld/emulparams/i386pe_posix.sh1
-rw-r--r--ld/emulparams/mcorepe.sh1
-rw-r--r--ld/emulparams/mipspe.sh1
-rw-r--r--ld/emulparams/ppcpe.sh1
-rw-r--r--ld/emulparams/shpe.sh1
-rw-r--r--ld/scripttempl/pe.sc6
10 files changed, 23 insertions, 1 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog
index 68f359d..0c6f1e8 100644
--- a/ld/ChangeLog
+++ b/ld/ChangeLog
@@ -1,3 +1,12 @@
+2004-09-18 Filip Navara <navaraf@reactos.com>
+
+ * emulparams/arm_epoc_pe.sh, emulparams/armpe.sh, emulparams/i386pe.sh,
+ emulparams/i386pe_posix.sh, emulparams/mcorepe.sh,
+ emulparams/mipspe.sh, emulparams/ppcpe.sh, scripttempl/pe.sc: Define
+ TARGET_PAGE_SIZE.
+ * scripttempl/pe.sc: Make the virtual address and file offset synced if
+ the alignment is lower than the target page size.
+
2004-09-27 Filip Navara <navaraf@reactos.com>
* emultempl/pe.em (gld_${EMULATION_NAME}_unrecognized_file): Allow
diff --git a/ld/emulparams/arm_epoc_pe.sh b/ld/emulparams/arm_epoc_pe.sh
index 04fa22d..7cc4b22 100644
--- a/ld/emulparams/arm_epoc_pe.sh
+++ b/ld/emulparams/arm_epoc_pe.sh
@@ -7,3 +7,4 @@ TEMPLATE_NAME=pe
ENTRY="_mainCRTStartup"
SUBSYSTEM=PE_DEF_SUBSYSTEM
INITIAL_SYMBOL_CHAR=\"_\"
+TARGET_PAGE_SIZE=0x1000
diff --git a/ld/emulparams/armpe.sh b/ld/emulparams/armpe.sh
index aa60536..5db5faf 100644
--- a/ld/emulparams/armpe.sh
+++ b/ld/emulparams/armpe.sh
@@ -11,3 +11,5 @@ TEMPLATE_NAME=pe
ENTRY="_mainCRTStartup"
SUBSYSTEM=PE_DEF_SUBSYSTEM
INITIAL_SYMBOL_CHAR=\"_\"
+
+TARGET_PAGE_SIZE=0x1000
diff --git a/ld/emulparams/i386pe.sh b/ld/emulparams/i386pe.sh
index a8add23..879379f 100644
--- a/ld/emulparams/i386pe.sh
+++ b/ld/emulparams/i386pe.sh
@@ -6,3 +6,4 @@ TEMPLATE_NAME=pe
ENTRY="_mainCRTStartup"
SUBSYSTEM=PE_DEF_SUBSYSTEM
INITIAL_SYMBOL_CHAR=\"_\"
+TARGET_PAGE_SIZE=0x1000
diff --git a/ld/emulparams/i386pe_posix.sh b/ld/emulparams/i386pe_posix.sh
index 37f51b5..afa00de 100644
--- a/ld/emulparams/i386pe_posix.sh
+++ b/ld/emulparams/i386pe_posix.sh
@@ -7,3 +7,4 @@ ENTRY="___PosixProcessStartup"
SUBSYSTEM=7
EXECUTABLE_NAME=a.out
INITIAL_SYMBOL_CHAR=\"_\"
+TARGET_PAGE_SIZE=0x1000
diff --git a/ld/emulparams/mcorepe.sh b/ld/emulparams/mcorepe.sh
index 3c19e02..8326c2e 100644
--- a/ld/emulparams/mcorepe.sh
+++ b/ld/emulparams/mcorepe.sh
@@ -7,3 +7,4 @@ TEMPLATE_NAME=pe
ENTRY="_mainCRTStartup"
SUBSYSTEM=PE_DEF_SUBSYSTEM
INITIAL_SYMBOL_CHAR=\"_\"
+TARGET_PAGE_SIZE=0x1000
diff --git a/ld/emulparams/mipspe.sh b/ld/emulparams/mipspe.sh
index 9dd9ce7..a5cfc2e 100644
--- a/ld/emulparams/mipspe.sh
+++ b/ld/emulparams/mipspe.sh
@@ -7,3 +7,4 @@ TEMPLATE_NAME=pe
SUBSYSTEM=PE_DEF_SUBSYSTEM
INITIAL_SYMBOL_CHAR=\"_\"
ENTRY="_mainCRTStartup"
+TARGET_PAGE_SIZE=0x1000
diff --git a/ld/emulparams/ppcpe.sh b/ld/emulparams/ppcpe.sh
index a2d09ef..2e1e102 100644
--- a/ld/emulparams/ppcpe.sh
+++ b/ld/emulparams/ppcpe.sh
@@ -5,3 +5,4 @@ TEMPLATE_NAME=pe
ENTRY="_mainCRTStartup"
SUBSYSTEM=PE_DEF_SUBSYSTEM
INITIAL_SYMBOL_CHAR=\"_\"
+TARGET_PAGE_SIZE=0x1000
diff --git a/ld/emulparams/shpe.sh b/ld/emulparams/shpe.sh
index 44aeef3..d50861f 100644
--- a/ld/emulparams/shpe.sh
+++ b/ld/emulparams/shpe.sh
@@ -7,3 +7,4 @@ INITIAL_SYMBOL_CHAR=\"_\"
ENTRY="_mainCRTStartup"
SUBSYSTEM=PE_DEF_SUBSYSTEM
INITIAL_SYMBOL_CHAR=\"_\"
+TARGET_PAGE_SIZE=0x1000
diff --git a/ld/scripttempl/pe.sc b/ld/scripttempl/pe.sc
index c6e25f5..8cbfe35 100644
--- a/ld/scripttempl/pe.sc
+++ b/ld/scripttempl/pe.sc
@@ -54,7 +54,11 @@ ENTRY(${ENTRY})
SECTIONS
{
- .text ${RELOCATING+ __image_base__ + __section_alignment__ } :
+ ${RELOCATING+/* Make the virtual address and file offset synced if the alignment is}
+ ${RELOCATING+ lower than the target page size. */}
+ ${RELOCATING+. = SIZEOF_HEADERS;}
+ ${RELOCATING+. = ALIGN(__section_alignment__);}
+ .text ${RELOCATING+ __image_base__ + ( __section_alignment__ < ${TARGET_PAGE_SIZE} ? . : __section_alignment__ )} :
{
${RELOCATING+ *(.init)}
*(.text)