GDB (xrefs)
|
#include "defs.h"
#include "coff-pe-read.h"
#include "bfd.h"
#include "gdbtypes.h"
#include "command.h"
#include "gdbcmd.h"
#include "symtab.h"
#include "symfile.h"
#include "objfiles.h"
#include "gdbsupport/common-utils.h"
#include "coff/internal.h"
#include <ctype.h>
Go to the source code of this file.
Classes | |
struct | read_pe_section_data |
Macros | |
#define | IMAGE_SCN_CNT_CODE 0x20 |
#define | IMAGE_SCN_CNT_INITIALIZED_DATA 0x40 |
#define | IMAGE_SCN_CNT_UNINITIALIZED_DATA 0x80 |
#define | PE_SECTION_INDEX_TEXT 0 |
#define | PE_SECTION_INDEX_DATA 1 |
#define | PE_SECTION_INDEX_BSS 2 |
#define | PE_SECTION_TABLE_SIZE 3 |
#define | PE_SECTION_INDEX_INVALID -1 |
#define | DEFAULT_COFF_PE_TEXT_SECTION_OFFSET 0x1000 |
Functions | |
static int | read_pe_section_index (const char *section_name) |
static int | get_pe_section_index (const char *section_name, const std::vector< read_pe_section_data > §ions) |
static void | add_pe_exported_sym (minimal_symbol_reader &reader, const char *sym_name, unsigned long func_rva, int ordinal, const struct read_pe_section_data *section_data, const char *dll_name, struct objfile *objfile) |
static int | add_pe_forwarded_sym (minimal_symbol_reader &reader, const char *sym_name, const char *forward_dll_name, const char *forward_func_name, int ordinal, const char *dll_name, struct objfile *objfile) |
static void | read_pe_truncate_name (char *dll_name) |
static unsigned int | pe_get16 (bfd *abfd, int where, bool *fail) |
static unsigned int | pe_get32 (bfd *abfd, int where, bool *fail) |
static unsigned int | pe_as16 (void *ptr) |
static unsigned int | pe_as32 (void *ptr) |
void | read_pe_exported_syms (minimal_symbol_reader &reader, struct objfile *objfile) |
CORE_ADDR | pe_text_section_offset (struct bfd *abfd) |
static void | show_debug_coff_pe_read (struct ui_file *file, int from_tty, struct cmd_list_element *c, const char *value) |
void | _initialize_coff_pe_read () |
Variables | |
static unsigned int | debug_coff_pe_read |
#define DEFAULT_COFF_PE_TEXT_SECTION_OFFSET 0x1000 |
Definition at line 620 of file coff-pe-read.c.
Referenced by pe_text_section_offset().
#define IMAGE_SCN_CNT_CODE 0x20 |
Definition at line 60 of file coff-pe-read.c.
Referenced by read_pe_exported_syms().
#define IMAGE_SCN_CNT_INITIALIZED_DATA 0x40 |
Definition at line 61 of file coff-pe-read.c.
Referenced by read_pe_exported_syms().
#define IMAGE_SCN_CNT_UNINITIALIZED_DATA 0x80 |
Definition at line 62 of file coff-pe-read.c.
Referenced by read_pe_exported_syms().
#define PE_SECTION_INDEX_BSS 2 |
Definition at line 65 of file coff-pe-read.c.
Referenced by read_pe_exported_syms(), and read_pe_section_index().
#define PE_SECTION_INDEX_DATA 1 |
Definition at line 64 of file coff-pe-read.c.
Referenced by read_pe_exported_syms(), and read_pe_section_index().
#define PE_SECTION_INDEX_INVALID -1 |
Definition at line 67 of file coff-pe-read.c.
Referenced by get_pe_section_index(), read_pe_exported_syms(), and read_pe_section_index().
#define PE_SECTION_INDEX_TEXT 0 |
Definition at line 63 of file coff-pe-read.c.
Referenced by read_pe_exported_syms(), and read_pe_section_index().
#define PE_SECTION_TABLE_SIZE 3 |
Definition at line 66 of file coff-pe-read.c.
Referenced by read_pe_exported_syms().
void _initialize_coff_pe_read | ( | ) |
Definition at line 697 of file coff-pe-read.c.
Referenced by initialize_all_files().
|
static |
Definition at line 122 of file coff-pe-read.c.
References debug_coff_pe_read, gdb_printf(), gdb_stdlog, read_pe_section_data::index, read_pe_section_data::ms_type, mst_unknown, minimal_symbol_reader::record_with_info(), read_pe_section_data::section_name, and read_pe_section_data::vma_offset.
Referenced by read_pe_exported_syms().
|
static |
Definition at line 173 of file coff-pe-read.c.
References debug_coff_pe_read, gdb_printf(), gdb_stdlog, lookup_bound_minimal_symbol(), bound_minimal_symbol::minsym, minimal_symbol_reader::record_with_info(), general_symbol_info::section_index(), minimal_symbol::type(), and minimal_symbol::unrelocated_address().
Referenced by read_pe_exported_syms().
|
static |
Definition at line 102 of file coff-pe-read.c.
References PE_SECTION_INDEX_INVALID.
Referenced by read_pe_exported_syms().
|
static |
Definition at line 285 of file coff-pe-read.c.
Referenced by read_pe_exported_syms().
|
static |
Definition at line 293 of file coff-pe-read.c.
Referenced by read_pe_exported_syms().
|
static |
Definition at line 257 of file coff-pe-read.c.
References SEEK_SET.
Referenced by pe_text_section_offset(), and read_pe_exported_syms().
|
static |
Definition at line 271 of file coff-pe-read.c.
References SEEK_SET.
Referenced by pe_text_section_offset(), and read_pe_exported_syms().
CORE_ADDR pe_text_section_offset | ( | struct bfd * | abfd | ) |
Definition at line 623 of file coff-pe-read.c.
References DEFAULT_COFF_PE_TEXT_SECTION_OFFSET, pe_get16(), pe_get32(), and SEEK_SET.
Referenced by windows_xfer_shared_library().
void read_pe_exported_syms | ( | minimal_symbol_reader & | reader, |
struct objfile * | objfile ) |
Definition at line 305 of file coff-pe-read.c.
References add_pe_exported_sym(), add_pe_forwarded_sym(), debug_coff_pe_read, gdb_bfd_sections(), gdb_printf(), gdb_stdlog, get_pe_section_index(), IMAGE_SCN_CNT_CODE, IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_CNT_UNINITIALIZED_DATA, mst_bss, mst_data, mst_text, mst_unknown, objfile::obfd, pe_as16(), pe_as32(), pe_get16(), pe_get32(), PE_SECTION_INDEX_BSS, PE_SECTION_INDEX_DATA, PE_SECTION_INDEX_INVALID, PE_SECTION_INDEX_TEXT, PE_SECTION_TABLE_SIZE, read_pe_section_index(), read_pe_truncate_name(), and SEEK_SET.
Referenced by coff_read_minsyms().
|
static |
Definition at line 74 of file coff-pe-read.c.
References PE_SECTION_INDEX_BSS, PE_SECTION_INDEX_DATA, PE_SECTION_INDEX_INVALID, and PE_SECTION_INDEX_TEXT.
Referenced by read_pe_exported_syms().
|
static |
Definition at line 247 of file coff-pe-read.c.
Referenced by read_pe_exported_syms().
|
static |
Definition at line 687 of file coff-pe-read.c.
References gdb_printf().
|
static |
Definition at line 47 of file coff-pe-read.c.
Referenced by add_pe_exported_sym(), add_pe_forwarded_sym(), and read_pe_exported_syms().