[ 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.
This commit is contained in:
Thiemo Seufer 2006-06-12 11:35:45 +00:00
parent d07676f875
commit 7fd91fe0bb
9 changed files with 40 additions and 17 deletions

View File

@ -1,3 +1,11 @@
2006-06-12 Thiemo Seufer <ths@mips.com>
* 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.
2006-06-12 Nick Clifton <nickc@redhat.com>
PR binutils/2735

View File

@ -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

View File

@ -3152,10 +3152,8 @@ extern bfd_boolean bfd_elf64_archive_write_armap
#define TARGET_BIG_SYM bfd_elf64_bigmips_vec
#define TARGET_BIG_NAME "elf64-bigmips"
/* The SVR4 MIPS ABI says that this should be 0x10000, but Irix 5 uses
a value of 0x1000, and we are compatible.
FIXME: How does this affect NewABI? */
#define ELF_MAXPAGESIZE 0x1000
#define ELF_MAXPAGESIZE 0x10000
#define ELF_COMMONPAGESIZE 0x1000
#include "elf64-target.h"
@ -3166,15 +3164,15 @@ extern bfd_boolean bfd_elf64_archive_write_armap
#undef TARGET_BIG_NAME
#undef ELF_MAXPAGESIZE
#undef ELF_COMMONPAGESIZE
#define TARGET_LITTLE_SYM bfd_elf64_tradlittlemips_vec
#define TARGET_LITTLE_NAME "elf64-tradlittlemips"
#define TARGET_BIG_SYM bfd_elf64_tradbigmips_vec
#define TARGET_BIG_NAME "elf64-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. */
#define ELF_MAXPAGESIZE 0x10000
#define ELF_COMMONPAGESIZE 0x1000
#define elf64_bed elf64_tradbed
/* Include the target file again for this target. */

View File

@ -2380,10 +2380,7 @@ static const struct ecoff_debug_swap mips_elf32_ecoff_debug_swap = {
#define TARGET_BIG_SYM bfd_elf32_nbigmips_vec
#define TARGET_BIG_NAME "elf32-nbigmips"
/* The SVR4 MIPS ABI says that this should be 0x10000, but Irix 5 uses
a value of 0x1000, and we are compatible.
FIXME: How does this affect NewABI? */
#define ELF_MAXPAGESIZE 0x1000
#define ELF_MAXPAGESIZE 0x10000
#define ELF_COMMONPAGESIZE 0x1000
#include "elf32-target.h"
@ -2395,15 +2392,15 @@ 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_ntradlittlemips_vec
#define TARGET_LITTLE_NAME "elf32-ntradlittlemips"
#define TARGET_BIG_SYM bfd_elf32_ntradbigmips_vec
#define TARGET_BIG_NAME "elf32-ntradbigmips"
/* 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. */
#define ELF_MAXPAGESIZE 0x10000
#define ELF_COMMONPAGESIZE 0x1000
#define elf32_bed elf32_tradbed
/* Include the target file again for this target. */

View File

@ -1,3 +1,8 @@
2006-06-12 Thiemo Seufer <ths@mips.com>
* emulparams/elf64bmip.sh, emulparams/elf64btsmip.sh (COMMONPAGESIZE):
Define.
2006-06-09 Alan Modra <amodra@bigpond.net.au>
* ldlang.h (lang_input_statement_type): Use bitfields for booleans.

View File

@ -3,6 +3,7 @@ OUTPUT_FORMAT="elf64-bigmips"
BIG_OUTPUT_FORMAT="elf64-bigmips"
LITTLE_OUTPUT_FORMAT="elf64-littlemips"
SHLIB_TEXT_START_ADDR=0x3ffffe0000
COMMONPAGESIZE="CONSTANT (COMMONPAGESIZE)"
# IRIX6 defines these symbols. 0x40 is the size of the ELF header.
EXECUTABLE_SYMBOLS="

View File

@ -5,6 +5,7 @@
OUTPUT_FORMAT="elf64-tradbigmips"
BIG_OUTPUT_FORMAT="elf64-tradbigmips"
LITTLE_OUTPUT_FORMAT="elf64-tradlittlemips"
COMMONPAGESIZE="CONSTANT (COMMONPAGESIZE)"
# Magic sections.
OTHER_TEXT_SECTIONS='*(.mips16.fn.*) *(.mips16.call.*)'

View File

@ -1,3 +1,8 @@
2006-06-12 Thiemo Seufer <ths@mips.com>
* ld-mips-elf/multi-got-no-shared.d: Adjust for recent change of
ELF_MAXPAGESIZE.
2006-06-11 Richard Sandiford <richard@codesourcery.com>
* ld-mips-elf/stub-dynsym-1.s,

View File

@ -8,11 +8,11 @@
.*: +file format.*
Disassembly of section \.text:
004000b0 <[^>]*> 3c1c0046 lui gp,0x46
004000b0 <[^>]*> 3c1c0043 lui gp,0x43
004000b4 <[^>]*> 279c9ff0 addiu gp,gp,-24592
004000b8 <[^>]*> afbc0008 sw gp,8\(sp\)
#...
00408d60 <[^>]*> 3c1c0047 lui gp,0x47
00408d60 <[^>]*> 3c1c0044 lui gp,0x44
00408d64 <[^>]*> 279cb960 addiu gp,gp,-18080
00408d68 <[^>]*> afbc0008 sw gp,8\(sp\)
#pass