diff options
author | Jakub Jelinek <jakub@redhat.com> | 2002-02-12 14:50:08 +0000 |
---|---|---|
committer | Jakub Jelinek <jakub@redhat.com> | 2002-02-12 14:50:08 +0000 |
commit | 2d20f7bf674ff3f0f43842677c70fc2879c5e2c7 (patch) | |
tree | 486a0034e29b96292c8bc2fbcd053045be1878ea /ld/emulparams | |
parent | d2c1cacb1ee42bfab028bb553f4017ac54725843 (diff) | |
download | gdb-2d20f7bf674ff3f0f43842677c70fc2879c5e2c7.zip gdb-2d20f7bf674ff3f0f43842677c70fc2879c5e2c7.tar.gz gdb-2d20f7bf674ff3f0f43842677c70fc2879c5e2c7.tar.bz2 |
* ldlex.l (DATA_SEGMENT_ALIGN, DATA_SEGMENT_END): New tokens.
* ldgram.y (DATA_SEGMENT_ALIGN, DATA_SEGMENT_END): New tokens.
(exp): Add DATA_SEGMENT_ALIGN (exp, exp) and DATA_SEGMENT_END (exp).
* ldexp.c (exp_data_seg): New variable.
(exp_print_token): Handle DATA_SEGMENT_ALIGN and DATA_SEGMENT_END.
(fold_binary): Handle DATA_SEGMENT_ALIGN.
(exp_fold_tree): Handle DATA_SEGMENT_END.
Pass allocation_done when recursing instead of hardcoding
lang_allocating_phase_enum.
* ldexp.h (exp_data_seg): New.
* ldlang.c (lang_size_sections_1): Renamed from lang_size_sections.
(lang_size_sections): New.
* ld.texinfo (DATA_SEGMENT_ALIGN, DATA_SEGMENT_END): Document.
* scripttempl/elf.sc: Use DATA_SEGMENT_ALIGN and DATA_SEGMENT_END
if COMMONPAGESIZE is defined.
* emulparams/elf_i386.sh (COMMONPAGESIZE): Set to 4K.
* emulparams/elf32_sparc.sh (COMMONPAGESIZE): Set to 8K.
* emulparams/elf64_sparc.sh (COMMONPAGESIZE): Set to 8K.
* emulparams/elf64alpha.sh (COMMONPAGESIZE): Set to 8K.
* emulparams/elf64_ia64.sh (COMMONPAGESIZE): Set to 16K for shared
libraries only.
Diffstat (limited to 'ld/emulparams')
-rw-r--r-- | ld/emulparams/elf32_sparc.sh | 1 | ||||
-rw-r--r-- | ld/emulparams/elf64_ia64.sh | 4 | ||||
-rw-r--r-- | ld/emulparams/elf64_sparc.sh | 1 | ||||
-rw-r--r-- | ld/emulparams/elf64alpha.sh | 1 | ||||
-rw-r--r-- | ld/emulparams/elf_i386.sh | 1 |
5 files changed, 8 insertions, 0 deletions
diff --git a/ld/emulparams/elf32_sparc.sh b/ld/emulparams/elf32_sparc.sh index d8b81e7..15a837d 100644 --- a/ld/emulparams/elf32_sparc.sh +++ b/ld/emulparams/elf32_sparc.sh @@ -2,6 +2,7 @@ SCRIPT_NAME=elf OUTPUT_FORMAT="elf32-sparc" TEXT_START_ADDR=0x10000 MAXPAGESIZE=0x10000 +COMMONPAGESIZE=0x2000 NONPAGED_TEXT_START_ADDR=0x10000 ALIGNMENT=8 ARCH=sparc diff --git a/ld/emulparams/elf64_ia64.sh b/ld/emulparams/elf64_ia64.sh index 0699d3d..4ff0ca9 100644 --- a/ld/emulparams/elf64_ia64.sh +++ b/ld/emulparams/elf64_ia64.sh @@ -7,6 +7,10 @@ OUTPUT_FORMAT="elf64-ia64-little" ARCH=ia64 MACHINE= MAXPAGESIZE=0x10000 +if test -n "$CREATE_SHLIB"; then + # Optimize shared libraries for 16K page size + COMMONPAGESIZE=0x4000 +fi TEXT_START_ADDR="0x4000000000000000" DATA_ADDR="0x6000000000000000 + (. & (${MAXPAGESIZE} - 1))" GENERATE_SHLIB_SCRIPT=yes diff --git a/ld/emulparams/elf64_sparc.sh b/ld/emulparams/elf64_sparc.sh index dae3f21..a4706b5 100644 --- a/ld/emulparams/elf64_sparc.sh +++ b/ld/emulparams/elf64_sparc.sh @@ -3,6 +3,7 @@ ELFSIZE=64 TEMPLATE_NAME=elf32 OUTPUT_FORMAT="elf64-sparc" MAXPAGESIZE=0x100000 +COMMONPAGESIZE=0x2000 ARCH="sparc:v9" MACHINE= DATA_PLT= diff --git a/ld/emulparams/elf64alpha.sh b/ld/emulparams/elf64alpha.sh index 39247ea..d0ca139 100644 --- a/ld/emulparams/elf64alpha.sh +++ b/ld/emulparams/elf64alpha.sh @@ -5,6 +5,7 @@ TEMPLATE_NAME=elf32 OUTPUT_FORMAT="elf64-alpha" TEXT_START_ADDR="0x120000000" MAXPAGESIZE=0x10000 +COMMONPAGESIZE=0x2000 NONPAGED_TEXT_START_ADDR="0x120000000" ARCH=alpha MACHINE= diff --git a/ld/emulparams/elf_i386.sh b/ld/emulparams/elf_i386.sh index 53dd54b..f1b8522 100644 --- a/ld/emulparams/elf_i386.sh +++ b/ld/emulparams/elf_i386.sh @@ -2,6 +2,7 @@ SCRIPT_NAME=elf OUTPUT_FORMAT="elf32-i386" TEXT_START_ADDR=0x08048000 MAXPAGESIZE=0x1000 +COMMONPAGESIZE=0x1000 NONPAGED_TEXT_START_ADDR=0x08048000 ARCH=i386 MACHINE= |