ooff = _dl_find_symbol(symn, _dl_objects, &this, 0, 1);
ooff = _dl_find_symbol(symn, _dl_objects, &this, 0, 1, 1);
_dl_bind(elf_object_t *object, int index){	Elf_RelA *rela;	Elf_Word *addr;	Elf_Addr ooff;	const Elf_Sym *sym, *this;	const char *symn;	rela = (Elf_RelA *)(object->Dyn.info[DT_JMPREL]);	if (ELF_R_TYPE(rela->r_info) == R_TYPE(JMP_SLOT)) {		/*		 * XXXX		 *		 * The first four PLT entries are reserved.  There		 * is some disagreement whether they should have		 * associated relocation entries.  Both the SPARC		 * 32-bit and 64-bit ELF specifications say that		 * they should have relocation entries, but the		 * 32-bit SPARC binutils do not generate them,		 * and now the 64-bit SPARC binutils have stopped		 * generating them too.		 *		 * So, to provide binary compatibility, we will		 * check the first entry, if it is reserved it		 * should not be of the type JMP_SLOT.  If it		 * is JMP_SLOT, then the 4 reserved entries were		 * not generated and our index is 4 entries too far.		 */		index -= 4;	}	rela += index;	sym = object->dyn.symtab;	sym += ELF64_R_SYM(rela->r_info);	symn = object->dyn.strtab + sym->st_name;	addr = (Elf_Word *)(object->load_offs + rela->r_offset);	ooff = _dl_find_symbol(symn, _dl_objects, &this, 0, 1);	if (this == NULL) {		_dl_printf("lazy binding failed!\n");		*((int *)0) = 0;	/* XXX */	}	_dl_reloc_plt(addr, ooff + this->st_value, rela);	return (void *)ooff + this->st_value;}