summaryrefslogtreecommitdiff
path: root/bfd/elf32-mips.c
diff options
context:
space:
mode:
authorThiemo Seufer <ths@networkno.de>2006-06-12 11:35:45 +0000
committerThiemo Seufer <ths@networkno.de>2006-06-12 11:35:45 +0000
commit8e2b4837d637e54d7210c0d418d125f778cc9989 (patch)
tree3c46e7305118f7239dd05c9d6297ee9dd6470b70 /bfd/elf32-mips.c
parentafde3305f0b6523fdbb3e8d82f0fa0f8d3e6dfb0 (diff)
downloadbinutils-redhat-8e2b4837d637e54d7210c0d418d125f778cc9989.tar.gz
[ bfd/ChangeLog ]
* elf32-mips.c: Expand comment about ABI-mandated pagesize values. (ELF_MAXPAGESIZE, ELF_COMMONPAGESIZE): define in a more obvious way. * elf64-mips.c, elfn32-mips.c (ELF_MAXPAGESIZE): Fix value for IRIX6. Delete old comments. (ELF_COMMONPAGESIZE): Define in a more obvious way. [ ld/ChangeLog ] * emulparams/elf64bmip.sh, emulparams/elf64btsmip.sh (COMMONPAGESIZE): Define. [ ld/testsuite/ChangeLog ] * ld-mips-elf/multi-got-no-shared.d: Adjust for recent change of ELF_MAXPAGESIZE.
Diffstat (limited to 'bfd/elf32-mips.c')
-rw-r--r--bfd/elf32-mips.c14
1 files changed, 11 insertions, 3 deletions
diff --git a/bfd/elf32-mips.c b/bfd/elf32-mips.c
index fd8a427712..5745df5b94 100644
--- a/bfd/elf32-mips.c
+++ b/bfd/elf32-mips.c
@@ -1610,15 +1610,20 @@ static const struct ecoff_debug_swap mips_elf32_ecoff_debug_swap = {
#undef TARGET_BIG_NAME
#undef ELF_MAXPAGESIZE
+#undef ELF_COMMONPAGESIZE
#define TARGET_LITTLE_SYM bfd_elf32_tradlittlemips_vec
#define TARGET_LITTLE_NAME "elf32-tradlittlemips"
#define TARGET_BIG_SYM bfd_elf32_tradbigmips_vec
#define TARGET_BIG_NAME "elf32-tradbigmips"
-/* The SVR4 MIPS ABI says that this should be 0x10000, and Linux uses
- page sizes of up to that limit, so we need to respect it. */
+/* The MIPS ABI says at Page 5-1:
+ Virtual addresses and file offsets for MIPS segments are congruent
+ modulo 64 KByte (0x10000) or larger powers of 2. Because 64 KBytes
+ is the maximum page size, the files are suitable for paging
+ regardless of physical page size. */
#define ELF_MAXPAGESIZE 0x10000
+#define ELF_COMMONPAGESIZE 0x1000
#define elf32_bed elf32_tradbed
/* Include the target file again for this target. */
@@ -1703,6 +1708,9 @@ mips_vxworks_final_write_processing (bfd *abfd, bfd_boolean linker)
#undef TARGET_BIG_SYM
#undef TARGET_BIG_NAME
+#undef ELF_MAXPAGESIZE
+#undef ELF_COMMONPAGESIZE
+
#define TARGET_LITTLE_SYM bfd_elf32_littlemips_vxworks_vec
#define TARGET_LITTLE_NAME "elf32-littlemips-vxworks"
#define TARGET_BIG_SYM bfd_elf32_bigmips_vxworks_vec
@@ -1711,8 +1719,8 @@ mips_vxworks_final_write_processing (bfd *abfd, bfd_boolean linker)
#undef elf32_bed
#define elf32_bed elf32_mips_vxworks_bed
-#undef ELF_MAXPAGESIZE
#define ELF_MAXPAGESIZE 0x1000
+#define ELF_COMMONPAGESIZE 0x1000
#undef elf_backend_want_got_plt
#define elf_backend_want_got_plt 1