* 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:
parent
fddf5b5bc2
commit
cbff5e0d66
9 changed files with 225 additions and 93 deletions
|
@ -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
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue