Object-xcoff.C File Reference

#include <regex.h>
#include "symtabAPI/h/Symtab.h"
#include "symtabAPI/src/Object.h"
#include "common/h/pathName.h"
#include "Collections.h"
#include "Module.h"
#include "debug.h"
#include <procinfo.h>
#include <sys/ioctl.h>
#include <sys/types.h>
#include <fcntl.h>
#include <assert.h>
#include <stdlib.h>
#include <unistd.h>
#include <stdio.h>
#include <string.h>
#include <sys/time.h>
#include <sys/reg.h>
#include <sys/user.h>
#include <sys/wait.h>
#include <sys/param.h>
#include <set>
#include <iomanip>
#include <xcoff.h>
#include <exceptab.h>
#include <ar.h>
#include <scnhdr.h>
#include <dlfcn.h>
#include "common/h/debugOstream.h"

Go to the source code of this file.

Data Structures

struct  iform
struct  dform
struct  xlform
union  instructUnion

Defines

#define __XCOFF_HYBRID__
#define __AR_BIG__
#define __AR_SMALL__
#define C_WEAKEXT   0
#define Bop   18
#define Lop   32
#define BCLRop   19
#define BCCTRxop   528
#define PARSE_AOUT_DIE(errType, errCode)
#define SCNH_NAME(i)   (char *)(scnh_base + scn_size * (i) + s_name_off)
#define SCNH_PADDR(i)   ((*(uint64_t *)(scnh_base + scn_size * (i) + s_paddr_off)) >> word_shift)
#define SCNH_VADDR(i)   ((*(uint64_t *)(scnh_base + scn_size * (i) + s_vaddr_off)) >> word_shift)
#define SCNH_SIZE(i)   ((*(uint64_t *)(scnh_base + scn_size * (i) + s_size_off)) >> word_shift)
#define SCNH_SCNPTR(i)   ((*(uint64_t *)(scnh_base + scn_size * (i) + s_scnptr_off)) >> word_shift)
#define SCNH_RELPTR(i)   ((*(uint64_t *)(scnh_base + scn_size * (i) + s_relptr_off)) >> word_shift)
#define SCNH_LNNOPTR(i)   ((*(uint64_t *)(scnh_base + scn_size * (i) + s_lnnoptr_off)) >> word_shift)
#define SCNH_EXCEPTPTR(i)   ((*(uint64_t *)(scnh_base + scn_size * (i) + s_exceptptr_off)) >> word_shift)
#define SCNH_NRELOC(i)   ((*(uint32_t *)(scnh_base + scn_size * (i) + s_nreloc_off)) >> half_shift)
#define SCNH_NLNNO(i)   ((*(uint32_t *)(scnh_base + scn_size * (i) + s_nlnno_off)) >> half_shift)
#define SCNH_FLAGS(i)   (*(uint32_t *)(scnh_base + scn_size * (i) + s_flags_off))
#define PARSE_AR_DIE(errType, errCode)

Functions

unsigned long roundup4 (unsigned long val)
Region::perm_t getRegionPerms (unsigned flags)
Region::RegionType getRegionType (unsigned flags)
bool parseCompilerType (Object *objPtr)

Variables

char errorLine [100]
std::string symt_current_func_name
std::string symt_current_mangled_func_name
Symbolsymt_current_func = NULL
Offset trueBaseAddress = 0

Define Documentation

#define __AR_BIG__

Definition at line 76 of file Object-xcoff.C.

#define __AR_SMALL__

Definition at line 77 of file Object-xcoff.C.

#define __XCOFF_HYBRID__

Definition at line 35 of file Object-xcoff.C.

#define BCCTRxop   528

Definition at line 100 of file Object-xcoff.C.

#define BCLRop   19

Definition at line 99 of file Object-xcoff.C.

#define Bop   18

Definition at line 97 of file Object-xcoff.C.

#define C_WEAKEXT   0

Definition at line 86 of file Object-xcoff.C.

Referenced by Dyninst::SymtabAPI::Object::parse_aout().

#define Lop   32

Definition at line 98 of file Object-xcoff.C.

#define PARSE_AOUT_DIE ( errType,
errCode   ) 
Value:
{ \
      fprintf(stderr,"warning:parsing a.out file %s(%s): %s \n", \
              mf->filename().c_str(), member_.c_str(), errType); \
      err_func_(errType); \
      return; \
      }

Definition at line 431 of file Object-xcoff.C.

Referenced by Dyninst::SymtabAPI::Object::parse_aout().

#define PARSE_AR_DIE ( errType,
errCode   ) 
Value:
{ \
      sprintf(errorLine, "Error parsing archive file %s: %s\n", \
              mf->pathname().c_str(), errType); \
      err_func_(errType); \
      return; \
      }

Definition at line 1228 of file Object-xcoff.C.

Referenced by Dyninst::SymtabAPI::Object::load_archive().

#define SCNH_EXCEPTPTR (  )     ((*(uint64_t *)(scnh_base + scn_size * (i) + s_exceptptr_off)) >> word_shift)

Definition at line 450 of file Object-xcoff.C.

#define SCNH_FLAGS (  )     (*(uint32_t *)(scnh_base + scn_size * (i) + s_flags_off))

Definition at line 453 of file Object-xcoff.C.

Referenced by Dyninst::SymtabAPI::Object::parse_aout().

#define SCNH_LNNOPTR (  )     ((*(uint64_t *)(scnh_base + scn_size * (i) + s_lnnoptr_off)) >> word_shift)

Definition at line 449 of file Object-xcoff.C.

Referenced by Dyninst::SymtabAPI::Object::parse_aout().

#define SCNH_NAME (  )     (char *)(scnh_base + scn_size * (i) + s_name_off)

Definition at line 443 of file Object-xcoff.C.

Referenced by Dyninst::SymtabAPI::Object::parse_aout().

#define SCNH_NLNNO (  )     ((*(uint32_t *)(scnh_base + scn_size * (i) + s_nlnno_off)) >> half_shift)

Definition at line 452 of file Object-xcoff.C.

Referenced by Dyninst::SymtabAPI::Object::parse_aout().

#define SCNH_NRELOC (  )     ((*(uint32_t *)(scnh_base + scn_size * (i) + s_nreloc_off)) >> half_shift)

Definition at line 451 of file Object-xcoff.C.

#define SCNH_PADDR (  )     ((*(uint64_t *)(scnh_base + scn_size * (i) + s_paddr_off)) >> word_shift)

Definition at line 444 of file Object-xcoff.C.

Referenced by Dyninst::SymtabAPI::Object::parse_aout().

#define SCNH_RELPTR (  )     ((*(uint64_t *)(scnh_base + scn_size * (i) + s_relptr_off)) >> word_shift)

Definition at line 448 of file Object-xcoff.C.

#define SCNH_SCNPTR (  )     ((*(uint64_t *)(scnh_base + scn_size * (i) + s_scnptr_off)) >> word_shift)

Definition at line 447 of file Object-xcoff.C.

Referenced by Dyninst::SymtabAPI::Object::parse_aout().

#define SCNH_SIZE (  )     ((*(uint64_t *)(scnh_base + scn_size * (i) + s_size_off)) >> word_shift)

Definition at line 446 of file Object-xcoff.C.

Referenced by Dyninst::SymtabAPI::Object::parse_aout().

#define SCNH_VADDR (  )     ((*(uint64_t *)(scnh_base + scn_size * (i) + s_vaddr_off)) >> word_shift)

Definition at line 445 of file Object-xcoff.C.

Referenced by Dyninst::SymtabAPI::Object::parse_aout().


Function Documentation

Region::perm_t getRegionPerms ( unsigned  flags  ) 
Region::RegionType getRegionType ( unsigned  flags  ) 
bool parseCompilerType ( Object objPtr  ) 
unsigned long roundup4 ( unsigned long  val  ) 

Definition at line 133 of file Object-xcoff.C.

Referenced by Dyninst::SymtabAPI::Object::parse_aout().


Variable Documentation

char errorLine[100]

Definition at line 89 of file Object-xcoff.C.

Definition at line 92 of file Object-xcoff.C.

Definition at line 90 of file Object-xcoff.C.

Definition at line 91 of file Object-xcoff.C.

Offset trueBaseAddress = 0

Definition at line 1509 of file Object-xcoff.C.

 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 12 Jul 2013 for SymtabAPI by  doxygen 1.6.1