blob: 26c6a142b50fe094d39e8dced75f0ca8be49e986 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
#ifndef LTRACE_ELF_H
#define LTRACE_ELF_H
#include <elf.h>
#include "ltrace.h"
#if ELFSIZE == 64
#define Elf_Sym Elf64_Sym
#define Elf_Ehdr Elf64_Ehdr
#define Elf_Shdr Elf64_Shdr
#else
#define Elf_Sym Elf32_Sym
#define Elf_Ehdr Elf32_Ehdr
#define Elf_Shdr Elf32_Shdr
#endif
struct ltelf {
int fd;
void* maddr;
Elf_Ehdr* ehdr;
char* strtab;
Elf_Sym* symtab;
int symtab_len;
};
extern int library_num;
extern char *library[MAX_LIBRARY];
extern struct ltelf library_lte[MAX_LIBRARY];
extern struct library_symbol * read_elf(const char *);
#endif
|