* 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:
Daniel Jacobowitz 2005-01-28 17:58:24 +00:00
parent 319850b451
commit b134237006
6 changed files with 25 additions and 3 deletions

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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