rem: image->symhash = (unsigned int *)(d[i].d_un.d_ptr + image->regions[0].delta);
add: image->symhash = (uint32 *)(d[i].d_un.d_ptr + image->regions[0].delta);
context: elf_parse_dynamic_section(struct elf_image_info *image){	struct Elf32_Dyn *d;	int i;	int needed_offset = -1;	PRINT(("top of elf_parse_dynamic_section\n"));	image->symhash = 0;	image->syms = 0;	image->strtab = 0;	d = (struct Elf32_Dyn *)image->dynamic_ptr;	if (!d)		return ERR_GENERAL;	for (i = 0; d[i].d_tag != DT_NULL; i++) {		switch (d[i].d_tag) {			case DT_NEEDED:				needed_offset = d[i].d_un.d_ptr + image->regions[0].delta;				break;			case DT_HASH:				image->symhash = (unsigned int *)(d[i].d_un.d_ptr + image->regions[0].delta);				break;			case DT_STRTAB:				image->strtab = (char *)(d[i].d_un.d_ptr + image->regions[0].delta);				break;			case DT_SYMTAB:				image->syms = (struct Elf32_Sym *)(d[i].d_un.d_ptr + image->regions[0].delta);				break;			case DT_REL:				image->rel = (struct Elf32_Rel *)(d[i].d_un.d_ptr + image->regions[0].delta);				break;			case DT_RELSZ:				image->rel_len = d[i].d_un.d_val;				break;			case DT_RELA:				image->rela = (struct Elf32_Rela *)(d[i].d_un.d_ptr + image->regions[0].delta);				break;			case DT_RELASZ:				image->rela_len = d[i].d_un.d_val;				break;			case DT_JMPREL:				image->pltrel = (struct Elf32_Rel *)(d[i].d_un.d_ptr + image->regions[0].delta);				break;			case DT_PLTRELSZ:				image->pltrel_len = d[i].d_un.d_val;				break;			case DT_PLTREL:				image->pltrel_type = d[i].d_un.d_val;				break;			default:				continue;		}	}	// lets make sure we found all the required sections	if (!image->symhash || !image->syms || !image->strtab)		return ERR_GENERAL;	PRINT(("needed_offset = %d\n", needed_offset));	if (needed_offset >= 0)		image->needed = STRING(image, needed_offset);	return B_NO_ERROR;}