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 "common/common-utils.h"
#include "coff/internal.h"
#include <ctype.h>
Go to the source code of this file.
Classes | |
struct | read_pe_section_data |
struct | pe_sections_info |
Defines | |
#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, struct read_pe_section_data *sections, int nb_sections) |
static void | get_section_vmas (bfd *abfd, asection *sectp, void *context) |
static void | add_pe_exported_sym (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 (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) |
static unsigned int | pe_get32 (bfd *abfd, int where) |
static unsigned int | pe_as16 (void *ptr) |
static unsigned int | pe_as32 (void *ptr) |
void | read_pe_exported_syms (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 (void) |
Variables | |
static unsigned int | debug_coff_pe_read |
#define DEFAULT_COFF_PE_TEXT_SECTION_OFFSET 0x1000 |
Definition at line 624 of file coff-pe-read.c.
Referenced by pe_text_section_offset().
#define IMAGE_SCN_CNT_CODE 0x20 |
Definition at line 59 of file coff-pe-read.c.
Referenced by read_pe_exported_syms().
#define IMAGE_SCN_CNT_INITIALIZED_DATA 0x40 |
Definition at line 60 of file coff-pe-read.c.
Referenced by read_pe_exported_syms().
#define IMAGE_SCN_CNT_UNINITIALIZED_DATA 0x80 |
Definition at line 61 of file coff-pe-read.c.
Referenced by read_pe_exported_syms().
#define PE_SECTION_INDEX_BSS 2 |
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_DATA 1 |
Definition at line 63 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 66 of file coff-pe-read.c.
Referenced by get_pe_section_index(), get_section_vmas(), read_pe_exported_syms(), and read_pe_section_index().
#define PE_SECTION_INDEX_TEXT 0 |
Definition at line 62 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 65 of file coff-pe-read.c.
Referenced by read_pe_exported_syms().
void _initialize_coff_pe_read | ( | void | ) |
static void add_pe_exported_sym | ( | 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] |
Definition at line 152 of file coff-pe-read.c.
References _, debug_coff_pe_read, fprintf_unfiltered(), gdb_stdlog, read_pe_section_data::ms_type, mst_unknown, prim_record_minimal_symbol(), read_pe_section_data::section_name, read_pe_section_data::vma_offset, xfree(), and xstrprintf().
Referenced by read_pe_exported_syms().
static int add_pe_forwarded_sym | ( | const char * | sym_name, |
const char * | forward_dll_name, | ||
const char * | forward_func_name, | ||
int | ordinal, | ||
const char * | dll_name, | ||
struct objfile * | objfile | ||
) | [static] |
Definition at line 200 of file coff-pe-read.c.
References _, debug_coff_pe_read, fprintf_unfiltered(), gdb_stdlog, lookup_minimal_symbol_and_objfile(), bound_minimal_symbol::minsym, MSYMBOL_TYPE, prim_record_minimal_symbol(), SYMBOL_VALUE_ADDRESS, xfree(), xsnprintf(), and xstrprintf().
Referenced by read_pe_exported_syms().
static int get_pe_section_index | ( | const char * | section_name, |
struct read_pe_section_data * | sections, | ||
int | nb_sections | ||
) | [static] |
Definition at line 101 of file coff-pe-read.c.
References PE_SECTION_INDEX_INVALID.
Referenced by get_section_vmas().
static void get_section_vmas | ( | bfd * | abfd, |
asection * | sectp, | ||
void * | context | ||
) | [static] |
Definition at line 125 of file coff-pe-read.c.
References get_pe_section_index(), pe_sections_info::nb_sections, PE_SECTION_INDEX_INVALID, read_pe_section_data::rva_start, sections, pe_sections_info::sections, and read_pe_section_data::vma_offset.
Referenced by read_pe_exported_syms().
Definition at line 300 of file coff-pe-read.c.
Referenced by read_pe_exported_syms().
Definition at line 308 of file coff-pe-read.c.
Referenced by read_pe_exported_syms().
Definition at line 280 of file coff-pe-read.c.
Referenced by pe_text_section_offset(), and read_pe_exported_syms().
Definition at line 290 of file coff-pe-read.c.
Referenced by pe_text_section_offset(), and read_pe_exported_syms().
CORE_ADDR pe_text_section_offset | ( | struct bfd * | abfd | ) |
Definition at line 627 of file coff-pe-read.c.
References DEFAULT_COFF_PE_TEXT_SECTION_OFFSET, pe_get16(), and pe_get32().
Referenced by windows_xfer_shared_library().
void read_pe_exported_syms | ( | struct objfile * | objfile | ) |
Definition at line 320 of file coff-pe-read.c.
References _, add_pe_exported_sym(), add_pe_forwarded_sym(), ANOFFSET, debug_coff_pe_read, do_cleanups(), fprintf_unfiltered(), free_current_contents(), gdb_stdlog, get_section_vmas(), IMAGE_SCN_CNT_CODE, IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_CNT_UNINITIALIZED_DATA, int, len, make_cleanup(), mst_bss, mst_data, mst_text, mst_unknown, name, pe_sections_info::nb_sections, null_cleanup(), 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(), SECT_OFF_TEXT, objfile::section_offsets, pe_sections_info::sections, strrchr(), xfree(), xmalloc(), xrealloc(), and xzalloc().
Referenced by coff_symtab_read().
static int read_pe_section_index | ( | const char * | section_name | ) | [static] |
Definition at line 73 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 void read_pe_truncate_name | ( | char * | dll_name | ) | [static] |
Definition at line 270 of file coff-pe-read.c.
References strrchr().
Referenced by read_pe_exported_syms().
static void show_debug_coff_pe_read | ( | struct ui_file * | file, |
int | from_tty, | ||
struct cmd_list_element * | c, | ||
const char * | value | ||
) | [static] |
Definition at line 682 of file coff-pe-read.c.
References _, and fprintf_filtered().
unsigned int debug_coff_pe_read [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().