diff options
author | Dave Korn <dave.korn@artimi.com> | 2009-04-21 02:13:48 +0000 |
---|---|---|
committer | Dave Korn <dave.korn@artimi.com> | 2009-04-21 02:13:48 +0000 |
commit | e48570bbf8cd1587282938c0fd5d4cbdc1537346 (patch) | |
tree | 859fa6c1c45c1f9fa2148aa12bfa5a5eec0d69d8 /bfd/peXXigen.c | |
parent | 73be22b84ad6944a1a46eb5982305012420855bc (diff) | |
download | gdb-e48570bbf8cd1587282938c0fd5d4cbdc1537346.zip gdb-e48570bbf8cd1587282938c0fd5d4cbdc1537346.tar.gz gdb-e48570bbf8cd1587282938c0fd5d4cbdc1537346.tar.bz2 |
bfd/ChangeLog
2009-04-21 Kai Tietz <kai.tietz@onevision.com>
* coff-x86_64.c (PEI_HEADERS): Protect includes.
(bfd_pe_print_pdata): Remove #ifdef PE variation.
* pei-x86_64.c (PEI_HEADERS): Define to prevent double
include in coff-x86_64.c of headers.
(PDATA_ROW_SIZE): New define.
(pex_regs[]): New static array.
(pex64_get_runtime_function): New static function.
(pex64_get_unwind_info): Likewise.
(pex64_get_scope_entry): Likewise.
(pex64_xdata_print_uwd_codes): Likewise.
(pep_get_section_by_rva): Likewise.
(pex64_dump_xdata): Likewise.
(pex64_bfd_print_pdata): Likewise.
(bfd_pe_print_pdata): Define as pex64_bfd_print_pdata.
* peXXigen.c (_bfd_pex64_print_pdata): Removed implementation.
* libpei.h (_bfd_pex64_print_pdata): Removed declaration.
include/ChangeLog
2009-04-21 Kai Tietz <kai.tietz@onevision.com>
* coff/pe.h (pex64_runtime_function): New structure.
(external_pex64_runtime_function): Likewise.
(pex64_unwind_code): Likewise.
(external_pex64_unwind_code): Likewise.
(pex64_unwind_info): Likewise.
(external_pex64_unwind_info): Likewise.
(external_pex64_scope): Likewise.
(pex64_scope): Likewise.
(pex64_scope_entry): Likewise.
(external_pex64_scope_entry): Likewise.
(PEX64_IS_RUNTIME_FUNCTION_CHAINED): New macro.
(PEX64_GET_UNWINDDATA_UNIFIED_RVA): Likewise.
(PEX64_UNWCODE_CODE): Likewise.
(PEX64_UNWCODE_INFO): Likewise.
(UWOP_...): Add defines for unwind code.
(UNW_FLAG_...): Add defined for unwind info flags.
(PEX64_SCOPE_ENTRY_SIZE): New macro.
(PEX64_UWI_VERSION): Likewise.
(PEX64_UWI_FLAGS): Likewise.
(PEX64_UWI_FRAMEREG): Likewise.
(PEX64_UWI_FRAMEOFF): Likewise.
(PEX64_UWI_SIZEOF_UWCODE_ARRAY): Likewise.
(PEX64_OFFSET_TO_UNWIND_CODE): Likewise.
(PEX64_OFFSET_TO_HANDLER_RVA): Likewise.
(PEX64_OFFSET_TO_SCOPE_COUNT): Likewise.
(PEX64_SCOPE_ENTRY): Likewise.
Diffstat (limited to 'bfd/peXXigen.c')
-rw-r--r-- | bfd/peXXigen.c | 81 |
1 files changed, 0 insertions, 81 deletions
diff --git a/bfd/peXXigen.c b/bfd/peXXigen.c index fe712a6..69657fc 100644 --- a/bfd/peXXigen.c +++ b/bfd/peXXigen.c @@ -1903,87 +1903,6 @@ _bfd_XX_print_ce_compressed_pdata (bfd * abfd, void * vfile) #undef PDATA_ROW_SIZE } -#ifdef COFF_WITH_pex64 -/* The PE+ x64 variant. */ -bfd_boolean -_bfd_pex64_print_pdata (bfd *abfd, void *vfile) -{ -# define PDATA_ROW_SIZE (3 * 4) - FILE *file = (FILE *) vfile; - bfd_byte *data = NULL; - asection *section = bfd_get_section_by_name (abfd, ".pdata"); - bfd_size_type datasize = 0; - bfd_size_type i; - bfd_size_type start, stop; - int onaline = PDATA_ROW_SIZE; - struct sym_cache sym_cache = {0, 0}; - - if (section == NULL - || coff_section_data (abfd, section) == NULL - || pei_section_data (abfd, section) == NULL) - return TRUE; - - stop = pei_section_data (abfd, section)->virt_size; - if ((stop % onaline) != 0) - fprintf (file, - _("warning: .pdata section size (%ld) is not a multiple of %d\n"), - (long) stop, onaline); - - fprintf (file, - _("\nThe Function Table (interpreted .pdata section contents)\n")); - - fprintf (file, _("vma:\t\t\tBeginAddress\t EndAddress\t UnwindData\n")); - - datasize = section->size; - if (datasize == 0) - return TRUE; - - if (!bfd_malloc_and_get_section (abfd, section, &data)) - { - if (data != NULL) - free (data); - return FALSE; - } - - start = 0; - - for (i = start; i < stop; i += onaline) - { - bfd_vma begin_addr; - bfd_vma end_addr; - bfd_vma unwind_data_addr; - - if (i + PDATA_ROW_SIZE > stop) - break; - - begin_addr = bfd_get_32 (abfd, data + i); - end_addr = bfd_get_32 (abfd, data + i + 4); - unwind_data_addr = bfd_get_32 (abfd, data + i + 8); - - if (begin_addr == 0 && end_addr == 0 && unwind_data_addr == 0) - /* We are probably into the padding of the section now. */ - break; - - fputc (' ', file); - fprintf_vma (file, i + section->vma); - fprintf (file, ":\t"); - fprintf_vma (file, begin_addr); - fputc (' ', file); - fprintf_vma (file, end_addr); - fputc (' ', file); - fprintf_vma (file, unwind_data_addr); - - fprintf (file, "\n"); - } - - free (data); - - cleanup_syms (&sym_cache); - - return TRUE; -#undef PDATA_ROW_SIZE -} -#endif #define IMAGE_REL_BASED_HIGHADJ 4 static const char * const tbl[] = |