shdr 234 bsp/boot/common/elf.c relocate_section(char *img, Elf32_Shdr *shdr) shdr 243 bsp/boot/common/elf.c if (shdr->sh_entsize == 0) shdr 245 bsp/boot/common/elf.c if ((target_sect = sect_addr[shdr->sh_info]) == 0) shdr 247 bsp/boot/common/elf.c if ((symtab = (Elf32_Sym *)sect_addr[shdr->sh_link]) == 0) shdr 253 bsp/boot/common/elf.c nr_reloc = (int)(shdr->sh_size / shdr->sh_entsize); shdr 254 bsp/boot/common/elf.c switch (shdr->sh_type) { shdr 257 bsp/boot/common/elf.c (Elf32_Rel *)(img + shdr->sh_offset), shdr 263 bsp/boot/common/elf.c (Elf32_Rela *)(img + shdr->sh_offset), shdr 278 bsp/boot/common/elf.c Elf32_Shdr *shdr; shdr 284 bsp/boot/common/elf.c shdr = (Elf32_Shdr *)((paddr_t)ehdr + ehdr->e_shoff); shdr 290 bsp/boot/common/elf.c for (i = 0; i < (int)ehdr->e_shnum; i++, shdr++) { shdr 292 bsp/boot/common/elf.c if (shdr->sh_type == SHT_PROGBITS) { shdr 294 bsp/boot/common/elf.c ELFDBG(("sh_addr=%x\n", shdr->sh_addr)); shdr 295 bsp/boot/common/elf.c ELFDBG(("sh_size=%x\n", shdr->sh_size)); shdr 296 bsp/boot/common/elf.c ELFDBG(("sh_offset=%x\n", shdr->sh_offset)); shdr 297 bsp/boot/common/elf.c ELFDBG(("sh_flags=%x\n", shdr->sh_flags)); shdr 299 bsp/boot/common/elf.c switch (shdr->sh_flags & SHF_VALID) { shdr 308 bsp/boot/common/elf.c shdr->sh_addr); shdr 318 bsp/boot/common/elf.c sect_base = load_base + shdr->sh_addr; shdr 319 bsp/boot/common/elf.c memcpy((char *)sect_base, img + shdr->sh_offset, shdr 320 bsp/boot/common/elf.c (size_t)shdr->sh_size); shdr 322 bsp/boot/common/elf.c sect_base, (int)shdr->sh_size)); shdr 325 bsp/boot/common/elf.c } else if (shdr->sh_type == SHT_NOBITS) { shdr 327 bsp/boot/common/elf.c m->bsssz = (size_t)shdr->sh_size; shdr 328 bsp/boot/common/elf.c sect_base = load_base + shdr->sh_addr; shdr 332 bsp/boot/common/elf.c memset((char *)bss_base, 0, (size_t)shdr->sh_size); shdr 335 bsp/boot/common/elf.c } else if (shdr->sh_type == SHT_SYMTAB) { shdr 338 bsp/boot/common/elf.c i, shdr->sh_link)); shdr 339 bsp/boot/common/elf.c sect_addr[i] = img + shdr->sh_offset; shdr 342 bsp/boot/common/elf.c strshndx = (int)shdr->sh_link; shdr 343 bsp/boot/common/elf.c } else if (shdr->sh_type == SHT_STRTAB) { shdr 345 bsp/boot/common/elf.c sect_addr[i] = img + shdr->sh_offset; shdr 362 bsp/boot/common/elf.c shdr = (Elf32_Shdr *)((paddr_t)ehdr + ehdr->e_shoff); shdr 363 bsp/boot/common/elf.c for (i = 0; i < (int)ehdr->e_shnum; i++, shdr++) { shdr 364 bsp/boot/common/elf.c if (shdr->sh_type == SHT_REL || shdr->sh_type == SHT_RELA) { shdr 365 bsp/boot/common/elf.c if (relocate_section(img, shdr) != 0) { shdr 159 usr/server/exec/exec_elf.c relocate_section(Elf32_Shdr *shdr, char *rel_data) shdr 165 usr/server/exec/exec_elf.c if (shdr->sh_entsize == 0) shdr 167 usr/server/exec/exec_elf.c if ((target_sect = sect_addr[shdr->sh_info]) == 0) shdr 169 usr/server/exec/exec_elf.c if ((sym_table = (Elf32_Sym *)sect_addr[shdr->sh_link]) == 0) shdr 172 usr/server/exec/exec_elf.c nr_reloc = (int)(shdr->sh_size / shdr->sh_entsize); shdr 173 usr/server/exec/exec_elf.c switch (shdr->sh_type) { shdr 197 usr/server/exec/exec_elf.c Elf32_Shdr *shdr; shdr 222 usr/server/exec/exec_elf.c shdr = (Elf32_Shdr *)buf; shdr 224 usr/server/exec/exec_elf.c for (i = 0; i < ehdr->e_shnum; i++, shdr++) { shdr 225 usr/server/exec/exec_elf.c if (shdr->sh_type == SHT_NOBITS) { /* bss? */ shdr 226 usr/server/exec/exec_elf.c total_size = shdr->sh_addr + shdr->sh_size; shdr 246 usr/server/exec/exec_elf.c shdr = (Elf32_Shdr *)buf; shdr 247 usr/server/exec/exec_elf.c for (i = 0; i < ehdr->e_shnum; i++, shdr++) { shdr 254 usr/server/exec/exec_elf.c if (shdr->sh_type == SHT_PROGBITS) { shdr 255 usr/server/exec/exec_elf.c switch (shdr->sh_flags & SHF_VALID) { shdr 263 usr/server/exec/exec_elf.c addr = (char *)((u_long)mapped + shdr->sh_addr); shdr 264 usr/server/exec/exec_elf.c if (shdr->sh_size == 0) { shdr 267 usr/server/exec/exec_elf.c } else if (shdr->sh_type == SHT_NOBITS) { shdr 270 usr/server/exec/exec_elf.c (char *)((u_long)mapped + shdr->sh_addr); shdr 272 usr/server/exec/exec_elf.c } else if (shdr->sh_type == SHT_SYMTAB || shdr 273 usr/server/exec/exec_elf.c shdr->sh_type == SHT_RELA || shdr 274 usr/server/exec/exec_elf.c shdr->sh_type == SHT_REL) shdr 277 usr/server/exec/exec_elf.c if ((addr = malloc(shdr->sh_size)) == NULL) { shdr 284 usr/server/exec/exec_elf.c if (lseek(fd, shdr->sh_offset, SEEK_SET) < 0) { shdr 288 usr/server/exec/exec_elf.c if (read(fd, addr, shdr->sh_size) < 0) { shdr 296 usr/server/exec/exec_elf.c shdr = (Elf32_Shdr *)buf; shdr 297 usr/server/exec/exec_elf.c for (i = 0; i < ehdr->e_shnum; i++, shdr++) { shdr 298 usr/server/exec/exec_elf.c if (shdr->sh_type == SHT_REL || shdr->sh_type == SHT_RELA) { shdr 299 usr/server/exec/exec_elf.c if (relocate_section(shdr, sect_addr[i]) != 0) { shdr 310 usr/server/exec/exec_elf.c shdr = (Elf32_Shdr *)buf; shdr 311 usr/server/exec/exec_elf.c for (i = 0; i < ehdr->e_shnum; i++, shdr++) { shdr 312 usr/server/exec/exec_elf.c if (shdr->sh_type == SHT_SYMTAB || shdr 313 usr/server/exec/exec_elf.c shdr->sh_type == SHT_RELA || shdr 314 usr/server/exec/exec_elf.c shdr->sh_type == SHT_REL) {