Changeset f570cdf in mainline for uspace/lib/c/generic/elf/elf_mod.c


Ignore:
Timestamp:
2016-05-24T15:32:57Z (8 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
c170438
Parents:
dcc150cb (diff), 0a981e3 (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.
Message:

Merge with mainline

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/lib/c/generic/elf/elf_mod.c

    rdcc150cb rf570cdf  
    248248}
    249249
     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 */
     256static 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
    250265/** Process segment header.
    251266 *
     267 * @param elf   Pointer to loader state buffer.
    252268 * @param entry Segment header.
    253269 *
     
    277293        case 0x70000000:
    278294                /* 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));
    279301                break;
    280302        case PT_SHLIB:
Note: See TracChangeset for help on using the changeset viewer.