* elf-bfd.h (struct elf_backend_data): Add minpagesize.
* elf32-arm.c (ELF_MINPAGESIZE): Define. * elf32-ppc.c (ELF_MINPAGESIZE): Define. * elfcode.h (elf_object_p): Use minpagesize instead of maxpagesize. * elfxx-target.h (ELF_MINPAGESIZE): Default to ELF_MAXPAGESIZE. (elfNN_bed): Include ELF_MINPAGESIZE.
This commit is contained in:
parent
319850b451
commit
b134237006
6 changed files with 25 additions and 3 deletions
|
@ -1,3 +1,13 @@
|
|||
2005-01-28 Daniel Jacobowitz <dan@codesourcery.com>
|
||||
|
||||
* elf-bfd.h (struct elf_backend_data): Add minpagesize.
|
||||
* elf32-arm.c (ELF_MINPAGESIZE): Define.
|
||||
* elf32-ppc.c (ELF_MINPAGESIZE): Define.
|
||||
* elfcode.h (elf_object_p): Use minpagesize instead of
|
||||
maxpagesize.
|
||||
* elfxx-target.h (ELF_MINPAGESIZE): Default to ELF_MAXPAGESIZE.
|
||||
(elfNN_bed): Include ELF_MINPAGESIZE.
|
||||
|
||||
2005-01-28 Julian Brown <julian@codesourcery.com>
|
||||
|
||||
* bin-in.h (bfd_elf32_arm_set_target_relocs): Update prototype.
|
||||
|
|
|
@ -551,6 +551,11 @@ struct elf_backend_data
|
|||
/* The maximum page size for this backend. */
|
||||
bfd_vma maxpagesize;
|
||||
|
||||
/* The minimum page size for this backend. An input object will not be
|
||||
considered page aligned unless its sections are correctly aligned for
|
||||
pages at least this large. May be smaller than maxpagesize. */
|
||||
bfd_vma minpagesize;
|
||||
|
||||
/* The BFD flags applied to sections created for dynamic linking. */
|
||||
flagword dynamic_sec_flags;
|
||||
|
||||
|
|
|
@ -5721,6 +5721,7 @@ const struct elf_size_info elf32_arm_size_info = {
|
|||
#else
|
||||
#define ELF_MAXPAGESIZE 0x8000
|
||||
#endif
|
||||
#define ELF_MINPAGESIZE 0x1000
|
||||
|
||||
#define bfd_elf32_bfd_copy_private_bfd_data elf32_arm_copy_private_bfd_data
|
||||
#define bfd_elf32_bfd_merge_private_bfd_data elf32_arm_merge_private_bfd_data
|
||||
|
|
|
@ -6171,6 +6171,7 @@ static struct bfd_elf_special_section const ppc_elf_special_sections[]=
|
|||
#else
|
||||
#define ELF_MAXPAGESIZE 0x10000
|
||||
#endif
|
||||
#define ELF_MINPAGESIZE 0x1000
|
||||
#define elf_info_to_howto ppc_elf_info_to_howto
|
||||
|
||||
#ifdef EM_CYGNUS_POWERPC
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/* ELF executable support for BFD.
|
||||
Copyright 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
|
||||
2001, 2002, 2003, 2004 Free Software Foundation, Inc.
|
||||
2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
|
||||
|
||||
Written by Fred Fish @ Cygnus Support, from information published
|
||||
in "UNIX System V Release 4, Programmers Guide: ANSI C and
|
||||
|
@ -680,7 +680,7 @@ elf_object_p (bfd *abfd)
|
|||
&& (i_shdrp[shindex].sh_flags & SHF_ALLOC) != 0
|
||||
&& i_shdrp[shindex].sh_type != SHT_NOBITS
|
||||
&& (((i_shdrp[shindex].sh_addr - i_shdrp[shindex].sh_offset)
|
||||
% ebd->maxpagesize)
|
||||
% ebd->minpagesize)
|
||||
!= 0))
|
||||
abfd->flags &= ~D_PAGED;
|
||||
}
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/* Target definitions for NN-bit ELF
|
||||
Copyright 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
|
||||
2003, 2004 Free Software Foundation, Inc.
|
||||
2003, 2004, 2005 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of BFD, the Binary File Descriptor library.
|
||||
|
||||
|
@ -283,6 +283,10 @@
|
|||
#define ELF_MAXPAGESIZE 1
|
||||
#endif
|
||||
|
||||
#ifndef ELF_MINPAGESIZE
|
||||
#define ELF_MINPAGESIZE ELF_MAXPAGESIZE
|
||||
#endif
|
||||
|
||||
#ifndef ELF_DYNAMIC_SEC_FLAGS
|
||||
/* Note that we set the SEC_IN_MEMORY flag for these sections. */
|
||||
#define ELF_DYNAMIC_SEC_FLAGS \
|
||||
|
@ -519,6 +523,7 @@ static const struct elf_backend_data elfNN_bed =
|
|||
ELF_ARCH, /* arch */
|
||||
ELF_MACHINE_CODE, /* elf_machine_code */
|
||||
ELF_MAXPAGESIZE, /* maxpagesize */
|
||||
ELF_MINPAGESIZE, /* minpagesize */
|
||||
ELF_DYNAMIC_SEC_FLAGS, /* dynamic_sec_flags */
|
||||
elf_info_to_howto,
|
||||
elf_info_to_howto_rel,
|
||||
|
|
Loading…
Reference in a new issue