Ifl_desc
extern void Dbg_syms_process(Lm_list *, Ifl_desc *);
Sym *, Sym *, Sym_desc *, Ifl_desc *);
extern void Dbg_file_generic(Lm_list *, Ifl_desc *);
extern void Dbg_sec_order_error(Lm_list *, Ifl_desc *, Word, int);
Ifl_desc *sd_file; /* file where symbol is taken */
Ifl_desc *sdf_file; /* the final input file descriptor */
Ifl_desc *vd_file; /* file that defined version */
extern Ifl_desc *ld_process_mem(const char *, const char *, char *,
Ifl_desc *is_file; /* infile desc for this section */
extern uintptr_t ld_vers_def_process(Is_desc *, Ifl_desc *, Ofl_desc *);
extern uintptr_t ld_vers_need_process(Is_desc *, Ifl_desc *, Ofl_desc *);
extern void ld_vers_promote(Sym_desc *, Word, Ifl_desc *,
extern int ld_vers_sym_process(Ofl_desc *, Is_desc *, Ifl_desc *);
Ifl_desc *, Ofl_desc *);
Ifl_desc *, Ofl_desc *);
const char *(* ms_is_regsym)(Ofl_desc *, Ifl_desc *, Sym *,
extern void ld_comdat_validate(Ofl_desc *, Ifl_desc *);
extern Place_path_info *ld_place_path_info_init(Ofl_desc *, Ifl_desc *,
Word, Ofl_desc *, Rej_desc *, Ifl_desc **);
Ofl_desc *, Word, Rej_desc *, Ifl_desc **);
extern uintptr_t ld_process_ordered(Ofl_desc *, Ifl_desc *,
extern uintptr_t ld_sup_input_section(Ofl_desc*, Ifl_desc *,
extern Sym_desc *ld_sym_enter(const char *, Sym *, Word, Ifl_desc *,
extern uintptr_t ld_sym_nodirect(Is_desc *, Ifl_desc *, Ofl_desc *);
extern uintptr_t ld_sym_process(Is_desc *, Ifl_desc *, Ofl_desc *);
extern uintptr_t ld_sym_resolve(Sym_desc *, Sym *, Ifl_desc *,
extern Ifl_desc *ld_map_ifl(Mapfile *);
Ifl_desc *mf_ifl; /* NULL, or pseudo input file */
Ifl_desc *ifl;
sizeof (Ifl_desc))) == NULL) ||
if ((ifl = libld_calloc(1, sizeof (Ifl_desc))) == NULL)
return ((Ifl_desc *)S_ERROR);
process_capinfo(Ofl_desc *ofl, Ifl_desc *ifl, Is_desc *isp)
return ((Ifl_desc *)S_ERROR);
return ((Ifl_desc *)S_ERROR);
process_input(const char *name, Ifl_desc *ifl, Shdr *shdr, Elf_Scn *scn,
process_reloc(const char *name, Ifl_desc *ifl, Shdr *shdr, Elf_Scn *scn,
process_strtab(const char *name, Ifl_desc *ifl, Shdr *shdr, Elf_Scn *scn,
invalid_section(const char *name, Ifl_desc *ifl, Shdr *shdr, Elf_Scn *scn,
return ((Ifl_desc *)S_ERROR);
process_progbits_alloc(const char *name, Ifl_desc *ifl, Shdr *shdr,
return ((Ifl_desc *)S_ERROR);
return ((Ifl_desc *)S_ERROR);
process_progbits(const char *name, Ifl_desc *ifl, Shdr *shdr, Elf_Scn *scn,
process_debug(const char *name, Ifl_desc *ifl, Shdr *shdr, Elf_Scn *scn,
process_nobits(const char *name, Ifl_desc *ifl, Shdr *shdr, Elf_Scn *scn,
process_array(const char *name, Ifl_desc *ifl, Shdr *shdr, Elf_Scn *scn,
array_process(Is_desc *isc, Ifl_desc *ifl, Ofl_desc *ofl)
process_sym_shndx(const char *name, Ifl_desc *ifl, Shdr *shdr, Elf_Scn *scn,
sym_shndx_process(Is_desc *isc, Ifl_desc *ifl, Ofl_desc *ofl)
process_rel_dynamic(const char *name, Ifl_desc *ifl, Shdr *shdr, Elf_Scn *scn,
Ifl_desc *difl;
sizeof (Ifl_desc))) == NULL) ||
process_section(const char *name, Ifl_desc *ifl, Shdr *shdr, Elf_Scn *scn,
process_dynamic_isgnu(const char *name, Ifl_desc *ifl, Shdr *shdr,
process_dynamic(Is_desc *isc, Ifl_desc *ifl, Ofl_desc *ofl)
Ifl_desc *sifl;
process_progbits_final(Is_desc *isc, Ifl_desc *ifl, Ofl_desc *ofl)
process_group(const char *name, Ifl_desc *ifl, Shdr *shdr, Elf_Scn *scn,
rel_process(Is_desc *isc, Ifl_desc *ifl, Ofl_desc *ofl)
process_exclude(const char *name, Ifl_desc *ifl, Shdr *shdr, Elf_Scn *scn,
typedef uintptr_t (* initial_func_t)(const char *, Ifl_desc *, Shdr *,
typedef uintptr_t (* final_func_t)(Is_desc *, Ifl_desc *, Ofl_desc *);
sf1_cap(Ofl_desc *ofl, Xword val, Ifl_desc *ifl, Is_desc *cisp)
process_elf(Ifl_desc *ifl, Elf *elf, Ofl_desc *ofl)
Word flags, Ofl_desc *ofl, Rej_desc *rej, Ifl_desc **ifl_ret)
Ifl_desc *ifl;
if ((ifl == NULL) || (ifl == (Ifl_desc *)S_ERROR))
Word flags, Rej_desc *rej, Ifl_desc **ifl_ret)
Ifl_desc *
Ifl_desc *ifl;
return ((Ifl_desc *) open_ret);
static Ifl_desc *
Ifl_desc *ifl;
return ((Ifl_desc *)S_ERROR);
return ((Ifl_desc *)open_ret);
Ifl_desc *ifl;
if (ifl == (Ifl_desc *)S_ERROR) {
if (ifl == (Ifl_desc *)S_ERROR) {
if (ifl == (Ifl_desc *)S_ERROR) {
static Ifl_desc *
process_cap(Ofl_desc *ofl, Ifl_desc *ifl, Is_desc *cisp)
Ifl_desc *ifl;
Ifl_desc *gifl = gisc->is_file;
Ifl_desc *ifl = isp->is_file;
Ifl_desc *ifl;
Ifl_desc *ifl;
Ifl_desc *ifl = isp->is_file;
ld_mach_sym_typecheck_sparc(Sym_desc *sdp, Sym *nsym, Ifl_desc *ifl,
ld_is_regsym_sparc(Ofl_desc *ofl, Ifl_desc *ifl, Sym *sym, const char *strs,
ld_reg_check_sparc(Sym_desc *sdp, Sym *nsym, const char *nname, Ifl_desc *ifl,
extern const char *ld_is_regsym_sparc(Ofl_desc *, Ifl_desc *, Sym *,
Ifl_desc *, Ofl_desc *);
Ifl_desc *, Ofl_desc *);
Ifl_desc *
Ifl_desc *ifl;
if ((ifl = libld_calloc(1, sizeof (Ifl_desc))) == NULL)
Ifl_desc *ifl; /* Dummy input file structure */
is_keyshndx_ok(Ifl_desc *ifl, Word keyshndx)
validate_shf_ordered_dest(Ofl_desc *ofl, Ifl_desc *ifl, Word ndx,
ld_process_ordered(Ofl_desc *ofl, Ifl_desc *ifl, Place_path_info *path_info,
Ifl_desc *ifl = isp->is_file;
gnu_comdat_sym(Ifl_desc *ifl, Is_desc *gisp)
ld_place_path_info_init(Ofl_desc *ofl, Ifl_desc *ifl, Place_path_info *info)
Ifl_desc *ifl = isp->is_file;
Ifl_desc *ifl = rsp->rel_isdesc->is_file;
Ifl_desc *ifl = rsp->rel_isdesc->is_file;
Ifl_desc *ifl = rsp->rel_isdesc->is_file;
Ifl_desc *ifl = reld->rel_isdesc->is_file;
Ifl_desc *ifl = reld->rel_isdesc->is_file;
Ifl_desc *ifl;
Ifl_desc *ifl = isp->is_file;
Ifl_desc *ifile = rsect->is_file;
Ifl_desc *file = rsect->is_file;
disp_scansyms(Ifl_desc * ifl, Rel_desc *rld, Boolean rlocal, int inspect,
Ifl_desc *ifile = reld->rel_sym->sd_isc->is_file;
Ifl_desc *ifl = rsp->rel_isdesc->is_file;
Ifl_desc *ifl = rld->rel_isdesc->is_file;
Ifl_desc *ifl = crp->c_sdp->sd_file;
Sym *, Ifl_desc *, Ofl_desc *, int, Word, sd_flag_t) = {
ld_sym_resolve(Sym_desc *sdp, Sym *nsym, Ifl_desc *ifl, Ofl_desc *ofl, int ndx,
sym_visibility(Sym_desc *sdp, Sym *nsym, Ifl_desc *ifl, Ofl_desc *ofl)
sym_typecheck(Sym_desc *sdp, Sym *nsym, Ifl_desc *ifl, Ofl_desc *ofl,
sym_mach_check(Sym_desc *sdp, Sym *nsym, Ifl_desc *ifl, Ofl_desc *ofl,
sym_promote(Sym_desc *sdp, Sym *nsym, Ifl_desc *ifl, Ofl_desc *ofl,
sym_override(Sym_desc *sdp, Sym *nsym, Ifl_desc *ifl, Ofl_desc *ofl,
sym_twoundefs(Sym_desc *sdp, Sym *nsym, Ifl_desc *ifl, Ofl_desc *ofl,
sym_null(Sym_desc *sdp, Sym *nsym, Ifl_desc *ifl, Ofl_desc *ofl,
sym_tworeals(Sym_desc *sdp, Sym *nsym, Ifl_desc *ifl, Ofl_desc *ofl,
Ifl_desc *ifl, Ofl_desc *ofl)
sym_realtent(Sym_desc *sdp, Sym *nsym, Ifl_desc *ifl, Ofl_desc *ofl,
sym_twotent(Sym_desc *sdp, Sym *nsym, Ifl_desc *ifl, Ofl_desc *ofl,
Ifl_desc *ifl = isp->is_file;
Ifl_desc *ifl;
ld_comdat_validate(Ofl_desc *ofl, Ifl_desc *ifl)
Ifl_desc *ifl;
ignore_sym(Ofl_desc *ofl, Ifl_desc *ifl, Sym_desc *sdp, int allow_ldynsym)
Ifl_desc *ifile = isp->is_file;
ld_sup_input_section(Ofl_desc *ofl, Ifl_desc *ifl, const char *sname,
Ifl_desc *ifl = sdp->sd_file;
issue_badaddr_msg(Ifl_desc *ifl, Ofl_desc *ofl, Sym_desc *sdp,
ld_sym_nodirect(Is_desc *isp, Ifl_desc *ifl, Ofl_desc *ofl)
ld_sym_process(Is_desc *isc, Ifl_desc *ifl, Ofl_desc *ofl)
Ifl_desc *ifl = NULL, *_ifl;
if ((ifl = libld_calloc(1, sizeof (Ifl_desc))) == NULL)
ld_sym_enter(const char *name, Sym *osym, Word hash, Ifl_desc *ifl,
if ((usdp = ld_sym_enter(uname, sym, hash, (Ifl_desc *)NULL,
string(Ofl_desc *ofl, Ifl_desc *ifl, Sym *sym, const char *strs, size_t strsize,
Ifl_desc *ifl = sdp->sd_file;
Ifl_desc *ifl;
Ifl_desc *ifl;
Ifl_desc *ifl;
Ifl_desc *ifl;
Ifl_desc *ifl;
Ifl_desc *ifl = sdf->sdf_file;
vers_derefer(Ifl_desc *ifl, Ver_desc *vdp, int weak)
Ifl_desc *ifl;
vers_select(Ofl_desc *ofl, Ifl_desc *ifl, Ver_desc *vdp, const char *ref)
vers_index(Ofl_desc *ofl, Ifl_desc *ifl, int avail)
ld_vers_sym_process(Ofl_desc *ofl, Is_desc *isp, Ifl_desc *ifl)
ld_vers_def_process(Is_desc *isp, Ifl_desc *ifl, Ofl_desc *ofl)
ld_vers_need_process(Is_desc *isp, Ifl_desc *ifl, Ofl_desc *ofl)
ld_vers_promote(Sym_desc *sdp, Word ndx, Ifl_desc *ifl, Ofl_desc *ofl)
Dbg_file_generic(Lm_list *lml, Ifl_desc *ifl)
Ifl_desc *ifl = isp1->is_file;
Dbg_sec_order_error(Lm_list *lml, Ifl_desc *ifl, Word ndx, int error)
Dbg_syms_process(Lm_list *lml, Ifl_desc *ifl)
int col, Sym *osym, Sym *nsym, Sym_desc *sdp, Ifl_desc *ifl)
(Ofl_desc *)ELFPRV(olmp), &rej) == (Ifl_desc *)S_ERROR) {