osprey/common/com/ir_bwrite.cxx File Reference

#include <unistd.h>
#include <fcntl.h>
#include <sys/mman.h>
#include <alloca.h>
#include <signal.h>
#include <errno.h>
#include "elf_stuff.h"
#include <sys/elf_whirl.h>
#include <cmplrs/rcodes.h>
#include "defs.h"
#include "erglob.h"
#include "errors.h"
#include "opcode.h"
#include "mempool.h"
#include "strtab.h"
#include "symtab.h"
#include "const.h"
#include "targ_const.h"
#include "irbdata.h"
#include "config_targ.h"
#include "config_elf_targ.h"
#include "wn_core.h"
#include "wn.h"
#include "wn_map.h"
#include "dwarf_DST_mem.h"
#include "pu_info.h"
#include "ir_elf.h"
#include "ir_bwrite.h"
#include "ir_bcom.h"
#include "ir_bread.h"
#include "tracing.h"

Include dependency graph for ir_bwrite.cxx:

Go to the source code of this file.

Defines

#define USE_STANDARD_TYPES
#define MMAP(addr, len, prot, flags, fd, off)
#define MUNMAP(addr, len)   munmap((void *)(addr), (size_t)(len))
#define OPEN(path, flag, mode)   open((const char *)(path), (int)(flag), (mode_t)(mode))
#define DEFAULT_NUM_OF_SECTIONS   8
#define DEFAULT_TMPDIR   "/usr/tmp"
#define DEFAULT_TEMPLATE   "/elf_wnXXXXXX"

Functions/Subroutines

static void cleanup (Output_File *fl)
static void ir_bwrite_signal_handler (int sig, int err_num)
static Sectionget_section (Elf64_Word sh_info, const char *name, Output_File *fl)
template<class Shdr>
static UINT64 layout_sections (Shdr &strtab_sec, Output_File *fl)
template<class ELF>
static void write_output (UINT64 e_shoff, const typename ELF::Elf_Shdr &strtab_sec, Output_File *fl, const ELF &tag)
static int create_temp_file (Output_File *fl)
Output_FileWN_open_output (char *file_name)
void WN_write_PU_Infos (PU_Info *pu_list, Output_File *fl)
void WN_write_tree (PU_Info *pu, WN_MAP off_map, Output_File *fl)
void WN_write_flags (INT argc, char **argv, Output_File *fl)
void WN_write_globals (Output_File *fl)
void WN_write_symtab (PU_Info *pu, Output_File *fl)
void WN_write_strtab (const void *strtab, UINT64 size, Output_File *fl)
void WN_write_dst (DST_TYPE dst, Output_File *fl)
void WN_write_revision (Output_File *fl)
void WN_close_output (Output_File *fl)
void WN_close_file (void *this_fl)
void Write_PU_Info (PU_Info *pu)
Output_FileOpen_Output_Info (char *output_file)
void Write_Global_Info (PU_Info *pu_tree)
void Close_Output_Info (void)
void WN_write_elf_symtab (const void *symtab, UINT64 size, UINT64 entsize, UINT align, Output_File *fl)

Variables

static void(* old_sigsegv )(int)
static void(* old_sigbus )(int)
Output_FileCurrent_Output = 0
static Output_Fileir_output


Define Documentation

#define DEFAULT_NUM_OF_SECTIONS   8

Definition at line 225 of file ir_bwrite.cxx.

Referenced by get_section().

#define DEFAULT_TEMPLATE   "/elf_wnXXXXXX"

Definition at line 383 of file ir_bwrite.cxx.

#define DEFAULT_TMPDIR   "/usr/tmp"

Definition at line 382 of file ir_bwrite.cxx.

#define MMAP ( addr,
len,
prot,
flags,
fd,
off   ) 

Value:

mmap((void *)(addr), (size_t)(len), (int)(prot), (int)(flags),  \
   (int)(fd), (off_t)(off))

Definition at line 129 of file ir_bwrite.cxx.

Referenced by extract_archive_member().

#define MUNMAP ( addr,
len   )     munmap((void *)(addr), (size_t)(len))

Definition at line 138 of file ir_bwrite.cxx.

Referenced by cleanup(), extract_archive_member(), WN_close_file(), and WN_close_output().

#define OPEN ( path,
flag,
mode   )     open((const char *)(path), (int)(flag), (mode_t)(mode))

Definition at line 145 of file ir_bwrite.cxx.

Referenced by check_for_whirl(), extract_archive_member(), f_open_com(), and WN_open_output().

#define USE_STANDARD_TYPES

Definition at line 66 of file ir_bwrite.cxx.


Function Documentation

static void cleanup ( Output_File fl  )  [static]

void Close_Output_Info ( void   ) 

static int create_temp_file ( Output_File fl  )  [static]

static Section* get_section ( Elf64_Word  sh_info,
const char *  name,
Output_File fl 
) [static]

static void ir_bwrite_signal_handler ( int  sig,
int  err_num 
) [static]

template<class Shdr>
static UINT64 layout_sections ( Shdr &  strtab_sec,
Output_File fl 
) [inline, static]

Output_File* Open_Output_Info ( char *  output_file  ) 

void WN_close_file ( void this_fl  ) 

void WN_close_output ( Output_File fl  ) 

Output_File* WN_open_output ( char *  file_name  ) 

void WN_write_dst ( DST_TYPE  dst,
Output_File fl 
)

void WN_write_elf_symtab ( const void symtab,
UINT64  size,
UINT64  entsize,
UINT  align,
Output_File fl 
)

void WN_write_flags ( INT  argc,
char **  argv,
Output_File fl 
)

void WN_write_globals ( Output_File fl  ) 

void WN_write_PU_Infos ( PU_Info pu_list,
Output_File fl 
)

void WN_write_revision ( Output_File fl  ) 

void WN_write_strtab ( const void strtab,
UINT64  size,
Output_File fl 
)

void WN_write_symtab ( PU_Info pu,
Output_File fl 
)

void WN_write_tree ( PU_Info pu,
WN_MAP  off_map,
Output_File fl 
)

void Write_Global_Info ( PU_Info pu_tree  ) 

template<class ELF>
static void write_output ( UINT64  e_shoff,
const typename ELF::Elf_Shdr &  strtab_sec,
Output_File fl,
const ELF &  tag 
) [inline, static]

void Write_PU_Info ( PU_Info pu  ) 


Variable Documentation

Definition at line 152 of file ir_bwrite.cxx.

Referenced by ir_b_copy_file(), ir_b_save_buf(), and Ir_Lno_Signal_Handler().

Definition at line 1430 of file ir_bwrite.cxx.

void(* old_sigbus)(int) [static]

void(* old_sigsegv)(int) [static]


Generated on Wed Apr 8 14:39:36 2009 for Open64 by  doxygen 1.5.6