From: Christopher Faylor Date: Tue, 28 Sep 2004 19:14:29 +0000 (+0000) Subject: * emulparams/arm_epoc_pe.sh, emulparams/armpe.sh, emulparams/i386pe.sh, X-Git-Tag: csl-arm-2004-q3~41 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=03098a9a6099730e34f4e6b20b8201030a0fd59a;p=external%2Fbinutils.git * 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. --- 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 + + * 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 * 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)