* peicode.h (coff_swap_filehdr_out) [COFF_IMAGE_WITH_PE]: Define

as _bfd_XXi_only_swap_filehdr_out.
(pe_mkobject) [PEI_FORCE_MINIMUM_ALIGNMENT]: Set
pe->force_minimum_alignment to TRUE.
(pe_mkobject) [PEI_TARGET_SUBSYSTEM]: Set pe->target_subsystem to
PEI_TARGET_SUBSYSTEM.
(pe_print_private_bfd_data): Call
_bfd_XX_print_private_bfd_data_common() instead of
_bfd_pe_print_private_bfd_data_common().
(pe_bfd_copy_private_bfd_data): Call
_bfd_XX_bfd_copy_private_bfd_data_common() instead of
_bfd_pe_bfd_copy_private_bfd_data_common().
(coff_bfd_copy_private_section_data): Define as
_bfd_XX_bfd_copy_private_section_data instead of
_bfd_pe_bfd_copy_private_section_data.
(coff_get_symbol_info): Define as _bfd_XX_get_symbol_info instead
of a _bfd_pe_get_symbol_info.

* peigen.c: Delete.

* peXXigen.c: Renamed from peigen.c.
(COFF_WITH_XX): Define this macro (will get expanded into
COFF_WITH_pep or COFF_WITH_pe, depending on whether this is being
compiled as peigen.c or pepigen.c.
[COFF_WITH_pep]: Include "coff/ia64.h" instead of "coff/i386.h" to
define the canonical PEP structures and definitions.
(_bfd_XXi_swap_aouthdr_out): If pe->force_minimum_alignment is in
effect, enforce minimum file and section alignments.  If
extra->Subsystem is IMAGE_SUBSYSTEM_UNKNOWN, set it to
pe->target_subsystem (this defaults to IMAGE_SUBSYSTEM_UNKNOWN,
so, by default, this is a no-op).

* libpei.h: Rename COFF_WITH_PEP to COFF_WITH_pep.
(_bfd_XX_bfd_copy_private_bfd_data_common): Add macros to map
_bfd_XXfoo to _bfd_pepfoo if COFF_WIT_PEP is defined and to
_bfd_pefoo if it's not defined.  Use these macros to define
coff swap macros.

* libcoff.h (pe_tdata): Add members target_subsystem and
force_minimum_alignment.

* efi-app-ia64.c (COFF_WITH_pep): Rename COFF_WITH_PEP to
COFF_WITH_pep.
(PEI_TARGET_SUBSYSTEM): Rename from PEI_DEFAULT_TARGET_SUBSYSTEM.

* configure.in (bfd_efi_app_ia64_vec): Use pepigen.lo instead of
peigen.lo.

* coff-ia64.c: Rename COFF_WITH_PEP to COFF_WITH_pep.
(AOUTSZ): Rename PEP64AOUTSZ and PEP64AOUTHDR to PEPAOUTSZ and
PEPAOUTHDR.

* Makefile.in (BFD64_BACKENDS): Mention pepigen.lo.
(BFD64_BACKENDS_CFILES): Mention pepigen.c
(peigen.c): Add rule to generate from peXXigen.c.
(pepigen.c): Ditto.
(pepigen.lo): List dependencies for pepigen.lo.

* unwind-ia64.c (unw_decode_x1): Declare code arg with
ATTRIBUTE_UNUSED.
(unw_decode_x2): Ditto.
(unw_decode_x3): Ditto.
(unw_decode_x4): Ditto.

* pe.h (PEPAOUTSZ): Rename from PEP64AOUTSZ.
Rename from PEPAOUTHDR.
This commit is contained in:
DJ Delorie 2001-02-13 19:23:08 +00:00
parent fddf5b5bc2
commit cbff5e0d66
9 changed files with 225 additions and 93 deletions

View file

@ -1,5 +1,5 @@
/* Support for the generic parts of PE/PEI, for BFD.
Copyright 1995, 1996, 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
Copyright 1995, 1996, 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
Written by Cygnus Solutions.
This file is part of BFD, the Binary File Descriptor library.
@ -221,9 +221,9 @@ coff_swap_filehdr_in (abfd, src, dst)
}
#ifdef COFF_IMAGE_WITH_PE
#define coff_swap_filehdr_out _bfd_pei_only_swap_filehdr_out
# define coff_swap_filehdr_out _bfd_XXi_only_swap_filehdr_out
#else
#define coff_swap_filehdr_out _bfd_pe_only_swap_filehdr_out
# define coff_swap_filehdr_out _bfd_pe_only_swap_filehdr_out
#endif
static void
@ -302,6 +302,14 @@ pe_mkobject (abfd)
/* in_reloc_p is architecture dependent. */
pe->in_reloc_p = in_reloc_p;
#ifdef PEI_FORCE_MINIMUM_ALIGNMENT
pe->force_minimum_alignment = 1;
#endif
#ifdef PEI_TARGET_SUBSYSTEM
pe->target_subsystem = PEI_TARGET_SUBSYSTEM;
#endif
return true;
}
@ -365,7 +373,7 @@ pe_print_private_bfd_data (abfd, vfile)
{
FILE *file = (FILE *) vfile;
if (!_bfd_pe_print_private_bfd_data_common (abfd, vfile))
if (!_bfd_XX_print_private_bfd_data_common (abfd, vfile))
return false;
if (pe_saved_coff_bfd_print_private_bfd_data != NULL)
@ -385,7 +393,7 @@ static boolean
pe_bfd_copy_private_bfd_data (ibfd, obfd)
bfd *ibfd, *obfd;
{
if (!_bfd_pe_bfd_copy_private_bfd_data_common (ibfd, obfd))
if (!_bfd_XX_bfd_copy_private_bfd_data_common (ibfd, obfd))
return false;
if (pe_saved_coff_bfd_copy_private_bfd_data)
@ -395,9 +403,9 @@ pe_bfd_copy_private_bfd_data (ibfd, obfd)
}
#define coff_bfd_copy_private_section_data \
_bfd_pe_bfd_copy_private_section_data
_bfd_XX_bfd_copy_private_section_data
#define coff_get_symbol_info _bfd_pe_get_symbol_info
#define coff_get_symbol_info _bfd_XX_get_symbol_info
#ifdef COFF_IMAGE_WITH_PE