Changeset View
Changeset View
Standalone View
Standalone View
contrib/elftoolchain/elfcopy/elfcopy.h
Show First 20 Lines • Show All 129 Lines • ▼ Show 20 Lines | struct section { | ||||
uint64_t flags; /* section flags */ | uint64_t flags; /* section flags */ | ||||
uint64_t vma; /* section virtual addr */ | uint64_t vma; /* section virtual addr */ | ||||
uint64_t lma; /* section load addr */ | uint64_t lma; /* section load addr */ | ||||
uint64_t pad_sz;/* section padding size */ | uint64_t pad_sz;/* section padding size */ | ||||
int loadable; /* whether loadable */ | int loadable; /* whether loadable */ | ||||
int pseudo; | int pseudo; | ||||
int nocopy; | int nocopy; | ||||
Elftc_String_Table *strtab; | |||||
TAILQ_ENTRY(section) sec_list; /* next section */ | TAILQ_ENTRY(section) sec_list; /* next section */ | ||||
}; | }; | ||||
TAILQ_HEAD(sectionlist, section); | TAILQ_HEAD(sectionlist, section); | ||||
/* Internal data structure for segments. */ | /* Internal data structure for segments. */ | ||||
struct segment { | struct segment { | ||||
uint64_t vaddr; /* virtual addr (VMA) */ | uint64_t vaddr; /* virtual addr (VMA) */ | ||||
▲ Show 20 Lines • Show All 162 Lines • ▼ Show 20 Lines | |||||
struct section *insert_shtab(struct elfcopy *_ecp, int tail); | struct section *insert_shtab(struct elfcopy *_ecp, int tail); | ||||
int is_remove_reloc_sec(struct elfcopy *_ecp, uint32_t _sh_info); | int is_remove_reloc_sec(struct elfcopy *_ecp, uint32_t _sh_info); | ||||
int is_remove_section(struct elfcopy *_ecp, const char *_name); | int is_remove_section(struct elfcopy *_ecp, const char *_name); | ||||
struct sec_action *lookup_sec_act(struct elfcopy *_ecp, | struct sec_action *lookup_sec_act(struct elfcopy *_ecp, | ||||
const char *_name, int _add); | const char *_name, int _add); | ||||
struct symop *lookup_symop_list(struct elfcopy *_ecp, const char *_name, | struct symop *lookup_symop_list(struct elfcopy *_ecp, const char *_name, | ||||
unsigned int _op); | unsigned int _op); | ||||
void resync_sections(struct elfcopy *_ecp); | void resync_sections(struct elfcopy *_ecp); | ||||
void set_shstrtab(struct elfcopy *_ecp); | |||||
void setup_phdr(struct elfcopy *_ecp); | void setup_phdr(struct elfcopy *_ecp); | ||||
void update_shdr(struct elfcopy *_ecp, int _update_link); | void update_shdr(struct elfcopy *_ecp, int _update_link); | ||||
#ifndef LIBELF_AR | #ifndef LIBELF_AR | ||||
int ac_detect_ar(int _ifd); | int ac_detect_ar(int _ifd); | ||||
void ac_create_ar(struct elfcopy *_ecp, int _ifd, int _ofd); | void ac_create_ar(struct elfcopy *_ecp, int _ifd, int _ofd); | ||||
#endif /* ! LIBELF_AR */ | #endif /* ! LIBELF_AR */ |