Changes in uspace/lib/c/generic/elf/elf_mod.c [17341d4:6adb775f] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/c/generic/elf/elf_mod.c
r17341d4 r6adb775f 248 248 } 249 249 250 /** Process TLS program header. 251 * 252 * @param elf Pointer to loader state buffer. 253 * @param hdr TLS program header 254 * @param info Place to store TLS info 255 */ 256 static void tls_program_header(elf_ld_t *elf, elf_segment_header_t *hdr, 257 elf_tls_info_t *info) 258 { 259 info->tdata = (void *)((uint8_t *)hdr->p_vaddr + elf->bias); 260 info->tdata_size = hdr->p_filesz; 261 info->tbss_size = hdr->p_memsz - hdr->p_filesz; 262 } 263 250 264 /** Process segment header. 251 265 * 266 * @param elf Pointer to loader state buffer. 252 267 * @param entry Segment header. 253 268 * … … 277 292 case 0x70000000: 278 293 /* FIXME: MIPS reginfo */ 294 break; 295 case PT_TLS: 296 /* Parse TLS program header */ 297 tls_program_header(elf, entry, &elf->info->tls); 298 DPRINTF("TLS header found at %p\n", 299 (void *)((uint8_t *)entry->p_vaddr + elf->bias)); 279 300 break; 280 301 case PT_SHLIB:
Note:
See TracChangeset
for help on using the changeset viewer.