Main Page | Class Hierarchy | Class List | File List | Class Members | File Members

htelf.cc File Reference

#include "elfstruc.h"
#include "log.h"
#include "htelf.h"
#include "htelfhd.h"
#include "htelfshs.h"
#include "htelfphs.h"
#include "htelfsym.h"
#include "htelfrel.h"
#include "htelfimg.h"
#include "htendian.h"
#include "htexcept.h"
#include "htiobox.h"
#include "stream.h"
#include "tools.h"
#include <stdlib.h>

Go to the source code of this file.

Defines

#define INVENT_BASE   0x100000
#define INVENT_STEPPING   0x100000
#define INVENT_LIMIT   0xffffffff
#define FAKE_SECTION_BASEADDR   0x4acc0000

Functions

bool isValidELFSectionIdx (ht_elf_shared_data *elf_shared, int idx)
bool elf_phys_and_mem_section (elf_section_header *sh, uint elfclass)
bool elf_valid_section (elf_section_header *sh, uint elfclass)
bool elf_addr_to_ofs (elf_section_headers *section_headers, uint elfclass, ELFAddress addr, dword *ofs)
bool elf_addr_to_section (elf_section_headers *section_headers, uint elfclass, ELFAddress addr, int *section)
bool elf_addr_is_valid (elf_section_headers *section_headers, uint elfclass, ELFAddress addr)
bool elf_addr_is_physical (elf_section_headers *section_headers, uint elfclass, ELFAddress addr)
bool elf_ofs_to_addr (elf_section_headers *section_headers, uint elfclass, dword ofs, ELFAddress *addr)
bool elf_ofs_to_section (elf_section_headers *section_headers, uint elfclass, dword ofs, int *section)
bool elf_ofs_to_addr_and_section (elf_section_headers *section_headers, uint elfclass, dword ofs, ELFAddress *addr, int *section)

Variables

format_viewer_if htelf_if


Define Documentation

#define FAKE_SECTION_BASEADDR   0x4acc0000
 

Definition at line 357 of file htelf.cc.

Referenced by ht_elf::fake_undefined_symbols32().

#define INVENT_BASE   0x100000
 

Definition at line 278 of file htelf.cc.

#define INVENT_LIMIT   0xffffffff
 

Definition at line 280 of file htelf.cc.

#define INVENT_STEPPING   0x100000
 

Definition at line 279 of file htelf.cc.


Function Documentation

bool elf_addr_is_physical elf_section_headers section_headers,
uint  elfclass,
ELFAddress  addr
 

Definition at line 605 of file htelf.cc.

References uint.

bool elf_addr_is_valid elf_section_headers section_headers,
uint  elfclass,
ELFAddress  addr
 

Definition at line 578 of file htelf.cc.

References ELFAddress::a32, ELFAddress::a64, elf_section_headers::count, elf_valid_section(), ELFCLASS32, ELFCLASS64, qword_cmp(), elf_section_headers::sheaders32, elf_section_headers::sheaders64, and uint.

bool elf_addr_to_ofs elf_section_headers section_headers,
uint  elfclass,
ELFAddress  addr,
dword *  ofs
 

Definition at line 519 of file htelf.cc.

References ELFAddress::a32, ELFAddress::a64, elf_section_headers::count, elf_phys_and_mem_section(), ELFCLASS32, ELFCLASS64, qword, qword_cmp(), elf_section_headers::sheaders32, elf_section_headers::sheaders64, and uint.

bool elf_addr_to_section elf_section_headers section_headers,
uint  elfclass,
ELFAddress  addr,
int *  section
 

Definition at line 549 of file htelf.cc.

References ELFAddress::a32, ELFAddress::a64, elf_section_headers::count, elf_valid_section(), ELFCLASS32, ELFCLASS64, qword_cmp(), elf_section_headers::sheaders32, elf_section_headers::sheaders64, and uint.

bool elf_ofs_to_addr elf_section_headers section_headers,
uint  elfclass,
dword  ofs,
ELFAddress addr
 

Definition at line 615 of file htelf.cc.

References ELFAddress::a32, ELFAddress::a64, elf_section_headers::count, elf_phys_and_mem_section(), ELFCLASS32, ELFCLASS64, qword, qword_cmp(), elf_section_headers::sheaders32, elf_section_headers::sheaders64, and uint.

bool elf_ofs_to_addr_and_section elf_section_headers section_headers,
uint  elfclass,
dword  ofs,
ELFAddress addr,
int *  section
 

Definition at line 676 of file htelf.cc.

References uint.

bool elf_ofs_to_section elf_section_headers section_headers,
uint  elfclass,
dword  ofs,
int *  section
 

Definition at line 645 of file htelf.cc.

References elf_section_headers::count, elf_valid_section(), ELFCLASS32, ELFCLASS64, qword, qword_cmp(), elf_section_headers::sheaders32, elf_section_headers::sheaders64, and uint.

bool elf_phys_and_mem_section elf_section_header sh,
uint  elfclass
 

Definition at line 489 of file htelf.cc.

References ELF_SHT_PROGBITS, ELFCLASS32, ELFCLASS64, ELF_SECTION_HEADER64::sh_addr, ELF_SECTION_HEADER32::sh_addr, ELF_SECTION_HEADER64::sh_type, ELF_SECTION_HEADER32::sh_type, elf_section_header::sheaders32, elf_section_header::sheaders64, and uint.

bool elf_valid_section elf_section_header sh,
uint  elfclass
 

Definition at line 504 of file htelf.cc.

References ELF_SHT_NOBITS, ELF_SHT_PROGBITS, ELFCLASS32, ELFCLASS64, ELF_SECTION_HEADER64::sh_addr, ELF_SECTION_HEADER32::sh_addr, ELF_SECTION_HEADER64::sh_type, ELF_SECTION_HEADER32::sh_type, elf_section_header::sheaders32, elf_section_header::sheaders64, and uint.

bool isValidELFSectionIdx ht_elf_shared_data elf_shared,
int  idx
 

Definition at line 105 of file htelf.cc.

References elf_section_headers::count, and ht_elf_shared_data::sheaders.

Referenced by ht_elf::relocate_section().


Variable Documentation

format_viewer_if htelf_if
 

Initial value:

 {
        htelf_init,
        0
}

Definition at line 91 of file htelf.cc.


Generated on Fri May 7 21:15:48 2004 by doxygen 1.3.5