Changeset f356618 in mainline for uspace/lib/c/generic/elf/elf_mod.c
- Timestamp:
- 2016-05-22T21:05:55Z (9 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- b3364b7c
- Parents:
- af2254ec (diff), 3a9414e (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the(diff)
links above to see all the changes relative to each parent. - File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/c/generic/elf/elf_mod.c
raf2254ec rf356618 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 info->tls_align = hdr->p_align; 263 } 264 250 265 /** Process segment header. 251 266 * 267 * @param elf Pointer to loader state buffer. 252 268 * @param entry Segment header. 253 269 * … … 277 293 case 0x70000000: 278 294 /* FIXME: MIPS reginfo */ 295 break; 296 case PT_TLS: 297 /* Parse TLS program header */ 298 tls_program_header(elf, entry, &elf->info->tls); 299 DPRINTF("TLS header found at %p\n", 300 (void *)((uint8_t *)entry->p_vaddr + elf->bias)); 279 301 break; 280 302 case PT_SHLIB:
Note:
See TracChangeset
for help on using the changeset viewer.