summaryrefslogtreecommitdiff
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
commit7fd91fe0bb0c693070dcfb0f1dcc5a91f393d440 (patch)
tree706a18703acf512a08da27d470cb50c36fca79c4 /bfd/elf32-mips.c
parentPR binutils/2735 (diff)
downloadbinutils-gdb-7fd91fe0bb0c693070dcfb0f1dcc5a91f393d440.tar.gz
binutils-gdb-7fd91fe0bb0c693070dcfb0f1dcc5a91f393d440.tar.bz2
binutils-gdb-7fd91fe0bb0c693070dcfb0f1dcc5a91f393d440.zip
[ 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 fd8a4277123..5745df5b94c 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