osprey/libdwarf/dwarfdump/print_reloc.c File Reference

#include "globals.h"

Include dependency graph for print_reloc.c:

Go to the source code of this file.

Data Types

type  SYM
type  SYM64

Defines

#define DW_SECTION_REL_DEBUG_INFO   0
#define DW_SECTION_REL_DEBUG_LINE   1
#define DW_SECTION_REL_DEBUG_PUBNAME   2
#define DW_SECTION_REL_DEBUG_ABBREV   3
#define DW_SECTION_REL_DEBUG_ARANGES   4
#define DW_SECTION_REL_DEBUG_FRAME   5
#define DW_SECTION_REL_DEBUG_NUM   6
#define DW_SECTNAME_REL_DEBUG_INFO   ".rel.debug_info"
#define DW_SECTNAME_REL_DEBUG_LINE   ".rel.debug_line"
#define DW_SECTNAME_REL_DEBUG_PUBNAME   ".rel.debug_pubname"
#define DW_SECTNAME_REL_DEBUG_ABBREV   ".rel.debug_abbrev"
#define DW_SECTNAME_REL_DEBUG_ARANGES   ".rel.debug_aranges"
#define DW_SECTNAME_REL_DEBUG_FRAME   ".rel.debug_frame"
#define STRING_FOR_DUPLICATE   " duplicate"
#define STRING_FOR_NULL   " null"
#define SECT_DATA_SET(x)
#define ELF64_R_TYPE(x)   0
#define ELF64_R_SYM(x)   0
#define ELF64_ST_TYPE(x)   0
#define ELF64_ST_BIND(x)   0

Functions/Subroutines

static char * get_reloc_type_names (int index)
static void print_reloc_information_64 (int section_no, Dwarf_Small *buf, Dwarf_Unsigned size)
static void print_reloc_information_32 (int section_no, Dwarf_Small *buf, Dwarf_Unsigned size)
static SYMreadsyms (Elf32_Sym *data, size_t num, Elf *elf, Elf32_Word link)
static SYM64read_64_syms (Elf64_Sym *data, size_t num, Elf *elf, Elf64_Word link)
static voidget_scndata (Elf_Scn *fd_scn, size_t *scn_size)
static void print_relocinfo_64 (Dwarf_Debug dbg, Elf *elf)
static void print_relocinfo_32 (Dwarf_Debug dbg, Elf *elf)
void print_relocinfo (Dwarf_Debug dbg)

Variables

static char * sectnames []
static char * error_msg_duplicate []
static char * error_msg_null []
static char * reloc_type_names []
type {
   Dwarf_Small *   buf
   Dwarf_Unsigned   size
sect_data [DW_SECTION_REL_DEBUG_NUM]
static Elf32_Symsym
static Elf64_Sym * sym_64
static SYMsym_data
static SYM64sym_data_64


Define Documentation

#define DW_SECTION_REL_DEBUG_ABBREV   3

Definition at line 42 of file print_reloc.c.

Referenced by print_relocinfo_32(), and print_relocinfo_64().

#define DW_SECTION_REL_DEBUG_ARANGES   4

Definition at line 43 of file print_reloc.c.

Referenced by print_relocinfo_32(), and print_relocinfo_64().

#define DW_SECTION_REL_DEBUG_FRAME   5

Definition at line 44 of file print_reloc.c.

Referenced by print_relocinfo_32(), and print_relocinfo_64().

#define DW_SECTION_REL_DEBUG_INFO   0

Definition at line 39 of file print_reloc.c.

Referenced by print_relocinfo_32(), and print_relocinfo_64().

#define DW_SECTION_REL_DEBUG_LINE   1

Definition at line 40 of file print_reloc.c.

Referenced by print_relocinfo_32(), and print_relocinfo_64().

#define DW_SECTION_REL_DEBUG_NUM   6

Definition at line 45 of file print_reloc.c.

Referenced by print_relocinfo(), print_relocinfo_32(), and print_relocinfo_64().

#define DW_SECTION_REL_DEBUG_PUBNAME   2

Definition at line 41 of file print_reloc.c.

Referenced by print_relocinfo_32(), and print_relocinfo_64().

#define DW_SECTNAME_REL_DEBUG_ABBREV   ".rel.debug_abbrev"

Definition at line 50 of file print_reloc.c.

#define DW_SECTNAME_REL_DEBUG_ARANGES   ".rel.debug_aranges"

Definition at line 51 of file print_reloc.c.

#define DW_SECTNAME_REL_DEBUG_FRAME   ".rel.debug_frame"

Definition at line 52 of file print_reloc.c.

#define DW_SECTNAME_REL_DEBUG_INFO   ".rel.debug_info"

Definition at line 47 of file print_reloc.c.

#define DW_SECTNAME_REL_DEBUG_LINE   ".rel.debug_line"

Definition at line 48 of file print_reloc.c.

#define DW_SECTNAME_REL_DEBUG_PUBNAME   ".rel.debug_pubname"

Definition at line 49 of file print_reloc.c.

#define ELF64_R_SYM (  )     0

Definition at line 356 of file print_reloc.c.

#define ELF64_R_TYPE (  )     0

Definition at line 353 of file print_reloc.c.

#define ELF64_ST_BIND (  )     0

Definition at line 362 of file print_reloc.c.

#define ELF64_ST_TYPE (  )     0

Definition at line 359 of file print_reloc.c.

#define SECT_DATA_SET (  ) 

Value:

{ \
      if (sect_data[(x)].buf != NULL) { \
    print_error(dbg, error_msg_duplicate[(x)],DW_DLV_OK, err); \
      } \
            if ((data = elf_getdata(scn, 0)) == NULL || data->d_size == 0) { \
    print_error(dbg, error_msg_null[(x)],DW_DLV_OK, err); \
      } \
      sect_data[(x)].buf = data -> d_buf; \
      sect_data[(x)].size = data -> d_size; \
      }

Definition at line 84 of file print_reloc.c.

Referenced by print_relocinfo_32(), and print_relocinfo_64().

#define STRING_FOR_DUPLICATE   " duplicate"

Definition at line 54 of file print_reloc.c.

#define STRING_FOR_NULL   " null"

Definition at line 55 of file print_reloc.c.


Function Documentation

static char* get_reloc_type_names ( int  index  )  [static]

Definition at line 128 of file print_reloc.c.

References buf, reloc_type_names, and sprintf().

Referenced by print_reloc_information_32(), and print_reloc_information_64().

static void * get_scndata ( Elf_Scn fd_scn,
size_t scn_size 
) [static]

Definition at line 462 of file print_reloc.c.

References Elf_Data::d_buf, Elf_Data::d_size, elf_getdata(), and NULL.

Referenced by print_relocinfo_32(), and print_relocinfo_64().

static void print_reloc_information_32 ( int  section_no,
Dwarf_Small buf,
Dwarf_Unsigned  size 
) [static]

static void print_reloc_information_64 ( int  section_no,
Dwarf_Small buf,
Dwarf_Unsigned  size 
) [static]

void print_relocinfo ( Dwarf_Debug  dbg  ) 

static void print_relocinfo_32 ( Dwarf_Debug  dbg,
Elf elf 
) [static]

static void print_relocinfo_64 ( Dwarf_Debug  dbg,
Elf elf 
) [static]

static SYM64 * read_64_syms ( Elf64_Sym *  data,
size_t  num,
Elf elf,
Elf64_Word  link 
) [static]

static SYM * readsyms ( Elf32_Sym data,
size_t  num,
Elf elf,
Elf32_Word  link 
) [static]


Variable Documentation

Definition at line 145 of file print_reloc.c.

char* error_msg_duplicate[] [static]

Initial value:

Definition at line 66 of file print_reloc.c.

char* error_msg_null[] [static]

Initial value:

Definition at line 75 of file print_reloc.c.

char* reloc_type_names[] [static]

Initial value:

 {
    "R_MIPS_NONE",    "R_MIPS_16",    "R_MIPS_32",   "R_MIPS_REL32", 
    "R_MIPS_26",      "R_MIPS_HI16",  "R_MIPS_LO16", "R_MIPS_GPREL16",
    "R_MIPS_LITERAL", "R_MIPS_GOT16", "R_MIPS_PC16", "R_MIPS_CALL16", 
    "R_MIPS_GPREL32",      
    "reloc type 13?", "reloc type 14?", "reloc type 15?",
    "R_MIPS_SHIFT5",        
    "R_MIPS_SHIFT6",       
  "R_MIPS_64",       
  "R_MIPS_GOT_DISP", 
  "R_MIPS_GOT_PAGE", 
  "R_MIPS_GOT_OFST", 
  "R_MIPS_GOT_HI16", 
  "R_MIPS_GOT_LO16", 
  "R_MIPS_SUB",      
  "R_MIPS_INSERT_A", 
  "R_MIPS_INSERT_B", 
  "R_MIPS_DELETE",   
  "R_MIPS_HIGHER",   
  "R_MIPS_HIGHEST",  
  "R_MIPS_CALL_HI16",
  "R_MIPS_CALL_LO16",
  "R_MIPS_SCN_DISP", 
  "R_MIPS_REL16",    
  "R_MIPS_ADD_IMMEDIATE",  
}

Definition at line 95 of file print_reloc.c.

Referenced by get_reloc_type_names().

struct { ... } sect_data[DW_SECTION_REL_DEBUG_NUM] [static]

char* sectnames[] [static]

Definition at line 146 of file print_reloc.c.

Elf32_Sym* sym [static]

Definition at line 189 of file print_reloc.c.

Elf64_Sym* sym_64 [static]

Definition at line 190 of file print_reloc.c.

Referenced by print_relocinfo_64(), and xcoff_write_armap_big().

SYM* sym_data [static]

Definition at line 191 of file print_reloc.c.

SYM64* sym_data_64 [static]

Definition at line 192 of file print_reloc.c.


Generated on Wed Apr 8 15:51:24 2009 for Open64 by  doxygen 1.5.6