[ 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:
parent
d07676f875
commit
7fd91fe0bb
9 changed files with 40 additions and 17 deletions
|
@ -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>
|
2006-06-12 Nick Clifton <nickc@redhat.com>
|
||||||
|
|
||||||
PR binutils/2735
|
PR binutils/2735
|
||||||
|
|
|
@ -1610,15 +1610,20 @@ static const struct ecoff_debug_swap mips_elf32_ecoff_debug_swap = {
|
||||||
#undef TARGET_BIG_NAME
|
#undef TARGET_BIG_NAME
|
||||||
|
|
||||||
#undef ELF_MAXPAGESIZE
|
#undef ELF_MAXPAGESIZE
|
||||||
|
#undef ELF_COMMONPAGESIZE
|
||||||
|
|
||||||
#define TARGET_LITTLE_SYM bfd_elf32_tradlittlemips_vec
|
#define TARGET_LITTLE_SYM bfd_elf32_tradlittlemips_vec
|
||||||
#define TARGET_LITTLE_NAME "elf32-tradlittlemips"
|
#define TARGET_LITTLE_NAME "elf32-tradlittlemips"
|
||||||
#define TARGET_BIG_SYM bfd_elf32_tradbigmips_vec
|
#define TARGET_BIG_SYM bfd_elf32_tradbigmips_vec
|
||||||
#define TARGET_BIG_NAME "elf32-tradbigmips"
|
#define TARGET_BIG_NAME "elf32-tradbigmips"
|
||||||
|
|
||||||
/* The SVR4 MIPS ABI says that this should be 0x10000, and Linux uses
|
/* The MIPS ABI says at Page 5-1:
|
||||||
page sizes of up to that limit, so we need to respect it. */
|
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_MAXPAGESIZE 0x10000
|
||||||
|
#define ELF_COMMONPAGESIZE 0x1000
|
||||||
#define elf32_bed elf32_tradbed
|
#define elf32_bed elf32_tradbed
|
||||||
|
|
||||||
/* Include the target file again for this target. */
|
/* 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_SYM
|
||||||
#undef TARGET_BIG_NAME
|
#undef TARGET_BIG_NAME
|
||||||
|
|
||||||
|
#undef ELF_MAXPAGESIZE
|
||||||
|
#undef ELF_COMMONPAGESIZE
|
||||||
|
|
||||||
#define TARGET_LITTLE_SYM bfd_elf32_littlemips_vxworks_vec
|
#define TARGET_LITTLE_SYM bfd_elf32_littlemips_vxworks_vec
|
||||||
#define TARGET_LITTLE_NAME "elf32-littlemips-vxworks"
|
#define TARGET_LITTLE_NAME "elf32-littlemips-vxworks"
|
||||||
#define TARGET_BIG_SYM bfd_elf32_bigmips_vxworks_vec
|
#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
|
#undef elf32_bed
|
||||||
#define elf32_bed elf32_mips_vxworks_bed
|
#define elf32_bed elf32_mips_vxworks_bed
|
||||||
|
|
||||||
#undef ELF_MAXPAGESIZE
|
|
||||||
#define ELF_MAXPAGESIZE 0x1000
|
#define ELF_MAXPAGESIZE 0x1000
|
||||||
|
#define ELF_COMMONPAGESIZE 0x1000
|
||||||
|
|
||||||
#undef elf_backend_want_got_plt
|
#undef elf_backend_want_got_plt
|
||||||
#define elf_backend_want_got_plt 1
|
#define elf_backend_want_got_plt 1
|
||||||
|
|
|
@ -3152,10 +3152,8 @@ extern bfd_boolean bfd_elf64_archive_write_armap
|
||||||
#define TARGET_BIG_SYM bfd_elf64_bigmips_vec
|
#define TARGET_BIG_SYM bfd_elf64_bigmips_vec
|
||||||
#define TARGET_BIG_NAME "elf64-bigmips"
|
#define TARGET_BIG_NAME "elf64-bigmips"
|
||||||
|
|
||||||
/* The SVR4 MIPS ABI says that this should be 0x10000, but Irix 5 uses
|
#define ELF_MAXPAGESIZE 0x10000
|
||||||
a value of 0x1000, and we are compatible.
|
#define ELF_COMMONPAGESIZE 0x1000
|
||||||
FIXME: How does this affect NewABI? */
|
|
||||||
#define ELF_MAXPAGESIZE 0x1000
|
|
||||||
|
|
||||||
#include "elf64-target.h"
|
#include "elf64-target.h"
|
||||||
|
|
||||||
|
@ -3166,15 +3164,15 @@ extern bfd_boolean bfd_elf64_archive_write_armap
|
||||||
#undef TARGET_BIG_NAME
|
#undef TARGET_BIG_NAME
|
||||||
|
|
||||||
#undef ELF_MAXPAGESIZE
|
#undef ELF_MAXPAGESIZE
|
||||||
|
#undef ELF_COMMONPAGESIZE
|
||||||
|
|
||||||
#define TARGET_LITTLE_SYM bfd_elf64_tradlittlemips_vec
|
#define TARGET_LITTLE_SYM bfd_elf64_tradlittlemips_vec
|
||||||
#define TARGET_LITTLE_NAME "elf64-tradlittlemips"
|
#define TARGET_LITTLE_NAME "elf64-tradlittlemips"
|
||||||
#define TARGET_BIG_SYM bfd_elf64_tradbigmips_vec
|
#define TARGET_BIG_SYM bfd_elf64_tradbigmips_vec
|
||||||
#define TARGET_BIG_NAME "elf64-tradbigmips"
|
#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_MAXPAGESIZE 0x10000
|
||||||
|
#define ELF_COMMONPAGESIZE 0x1000
|
||||||
#define elf64_bed elf64_tradbed
|
#define elf64_bed elf64_tradbed
|
||||||
|
|
||||||
/* Include the target file again for this target. */
|
/* Include the target file again for this target. */
|
||||||
|
|
|
@ -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_SYM bfd_elf32_nbigmips_vec
|
||||||
#define TARGET_BIG_NAME "elf32-nbigmips"
|
#define TARGET_BIG_NAME "elf32-nbigmips"
|
||||||
|
|
||||||
/* The SVR4 MIPS ABI says that this should be 0x10000, but Irix 5 uses
|
#define ELF_MAXPAGESIZE 0x10000
|
||||||
a value of 0x1000, and we are compatible.
|
|
||||||
FIXME: How does this affect NewABI? */
|
|
||||||
#define ELF_MAXPAGESIZE 0x1000
|
|
||||||
#define ELF_COMMONPAGESIZE 0x1000
|
#define ELF_COMMONPAGESIZE 0x1000
|
||||||
|
|
||||||
#include "elf32-target.h"
|
#include "elf32-target.h"
|
||||||
|
@ -2395,15 +2392,15 @@ static const struct ecoff_debug_swap mips_elf32_ecoff_debug_swap = {
|
||||||
#undef TARGET_BIG_NAME
|
#undef TARGET_BIG_NAME
|
||||||
|
|
||||||
#undef ELF_MAXPAGESIZE
|
#undef ELF_MAXPAGESIZE
|
||||||
|
#undef ELF_COMMONPAGESIZE
|
||||||
|
|
||||||
#define TARGET_LITTLE_SYM bfd_elf32_ntradlittlemips_vec
|
#define TARGET_LITTLE_SYM bfd_elf32_ntradlittlemips_vec
|
||||||
#define TARGET_LITTLE_NAME "elf32-ntradlittlemips"
|
#define TARGET_LITTLE_NAME "elf32-ntradlittlemips"
|
||||||
#define TARGET_BIG_SYM bfd_elf32_ntradbigmips_vec
|
#define TARGET_BIG_SYM bfd_elf32_ntradbigmips_vec
|
||||||
#define TARGET_BIG_NAME "elf32-ntradbigmips"
|
#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_MAXPAGESIZE 0x10000
|
||||||
|
#define ELF_COMMONPAGESIZE 0x1000
|
||||||
#define elf32_bed elf32_tradbed
|
#define elf32_bed elf32_tradbed
|
||||||
|
|
||||||
/* Include the target file again for this target. */
|
/* Include the target file again for this target. */
|
||||||
|
|
|
@ -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>
|
2006-06-09 Alan Modra <amodra@bigpond.net.au>
|
||||||
|
|
||||||
* ldlang.h (lang_input_statement_type): Use bitfields for booleans.
|
* ldlang.h (lang_input_statement_type): Use bitfields for booleans.
|
||||||
|
|
|
@ -3,6 +3,7 @@ OUTPUT_FORMAT="elf64-bigmips"
|
||||||
BIG_OUTPUT_FORMAT="elf64-bigmips"
|
BIG_OUTPUT_FORMAT="elf64-bigmips"
|
||||||
LITTLE_OUTPUT_FORMAT="elf64-littlemips"
|
LITTLE_OUTPUT_FORMAT="elf64-littlemips"
|
||||||
SHLIB_TEXT_START_ADDR=0x3ffffe0000
|
SHLIB_TEXT_START_ADDR=0x3ffffe0000
|
||||||
|
COMMONPAGESIZE="CONSTANT (COMMONPAGESIZE)"
|
||||||
|
|
||||||
# IRIX6 defines these symbols. 0x40 is the size of the ELF header.
|
# IRIX6 defines these symbols. 0x40 is the size of the ELF header.
|
||||||
EXECUTABLE_SYMBOLS="
|
EXECUTABLE_SYMBOLS="
|
||||||
|
|
|
@ -5,6 +5,7 @@
|
||||||
OUTPUT_FORMAT="elf64-tradbigmips"
|
OUTPUT_FORMAT="elf64-tradbigmips"
|
||||||
BIG_OUTPUT_FORMAT="elf64-tradbigmips"
|
BIG_OUTPUT_FORMAT="elf64-tradbigmips"
|
||||||
LITTLE_OUTPUT_FORMAT="elf64-tradlittlemips"
|
LITTLE_OUTPUT_FORMAT="elf64-tradlittlemips"
|
||||||
|
COMMONPAGESIZE="CONSTANT (COMMONPAGESIZE)"
|
||||||
|
|
||||||
# Magic sections.
|
# Magic sections.
|
||||||
OTHER_TEXT_SECTIONS='*(.mips16.fn.*) *(.mips16.call.*)'
|
OTHER_TEXT_SECTIONS='*(.mips16.fn.*) *(.mips16.call.*)'
|
||||||
|
|
|
@ -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>
|
2006-06-11 Richard Sandiford <richard@codesourcery.com>
|
||||||
|
|
||||||
* ld-mips-elf/stub-dynsym-1.s,
|
* ld-mips-elf/stub-dynsym-1.s,
|
||||||
|
|
|
@ -8,11 +8,11 @@
|
||||||
.*: +file format.*
|
.*: +file format.*
|
||||||
|
|
||||||
Disassembly of section \.text:
|
Disassembly of section \.text:
|
||||||
004000b0 <[^>]*> 3c1c0046 lui gp,0x46
|
004000b0 <[^>]*> 3c1c0043 lui gp,0x43
|
||||||
004000b4 <[^>]*> 279c9ff0 addiu gp,gp,-24592
|
004000b4 <[^>]*> 279c9ff0 addiu gp,gp,-24592
|
||||||
004000b8 <[^>]*> afbc0008 sw gp,8\(sp\)
|
004000b8 <[^>]*> afbc0008 sw gp,8\(sp\)
|
||||||
#...
|
#...
|
||||||
00408d60 <[^>]*> 3c1c0047 lui gp,0x47
|
00408d60 <[^>]*> 3c1c0044 lui gp,0x44
|
||||||
00408d64 <[^>]*> 279cb960 addiu gp,gp,-18080
|
00408d64 <[^>]*> 279cb960 addiu gp,gp,-18080
|
||||||
00408d68 <[^>]*> afbc0008 sw gp,8\(sp\)
|
00408d68 <[^>]*> afbc0008 sw gp,8\(sp\)
|
||||||
#pass
|
#pass
|
||||||
|
|
Loading…
Reference in a new issue