Changeset 4f205248 in mainline for uspace/lib/c/arch


Ignore:
Timestamp:
2018-04-23T18:50:40Z (8 years ago)
Author:
Jiří Zárevúcky <jiri.zarevucky@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
a2eb85d
Parents:
8d58fca
git-author:
Jiří Zárevúcky <jiri.zarevucky@…> (2018-04-23 17:47:09)
git-committer:
Jiří Zárevúcky <jiri.zarevucky@…> (2018-04-23 18:50:40)
Message:

Honor TLS alignment.

Location:
uspace/lib/c/arch
Files:
10 edited

Legend:

Unmodified
Added
Removed
  • uspace/lib/c/arch/abs32le/src/tls.c

    r8d58fca r4f205248  
    3434#include <stdint.h>
    3535
    36 tcb_t *tls_alloc_arch(void **data, size_t size)
     36tcb_t *tls_alloc_arch(size_t size, size_t align)
    3737{
    38         return tls_alloc_variant_2(data, size);
     38        return tls_alloc_variant_2(size, align);
    3939}
    4040
    41 void tls_free_arch(tcb_t *tcb, size_t size)
     41void tls_free_arch(tcb_t *tcb, size_t size, size_t align)
    4242{
    43         tls_free_variant_2(tcb, size);
     43        tls_free_variant_2(tcb, size, align);
    4444}
    4545
  • uspace/lib/c/arch/amd64/src/tls.c

    r8d58fca r4f205248  
    3838#include <stddef.h>
    3939
    40 tcb_t *tls_alloc_arch(void **data, size_t size)
     40tcb_t *tls_alloc_arch(size_t size, size_t align)
    4141{
    42         return tls_alloc_variant_2(data, size);
     42        return tls_alloc_variant_2(size, align);
    4343}
    4444
    45 void tls_free_arch(tcb_t *tcb, size_t size)
     45void tls_free_arch(tcb_t *tcb, size_t size, size_t align)
    4646{
    47         tls_free_variant_2(tcb, size);
     47        tls_free_variant_2(tcb, size, align);
    4848}
    4949
  • uspace/lib/c/arch/arm32/src/tls.c

    r8d58fca r4f205248  
    3838#include <stddef.h>
    3939
    40 tcb_t *tls_alloc_arch(void **data, size_t size)
     40tcb_t *tls_alloc_arch(size_t size, size_t align)
    4141{
    42         return tls_alloc_variant_1(data, size);
     42        return tls_alloc_variant_1(size, align);
    4343}
    4444
    45 void tls_free_arch(tcb_t *tcb, size_t size)
     45void tls_free_arch(tcb_t *tcb, size_t size, size_t align)
    4646{
    47         tls_free_variant_1(tcb, size);
     47        tls_free_variant_1(tcb, size, align);
    4848}
    4949
  • uspace/lib/c/arch/ia32/src/rtld/reloc.c

    r8d58fca r4f205248  
    181181                case R_386_TLS_TPOFF:
    182182                        DPRINTF("fixup R_386_TLS_TPOFF\n");
    183                         *r_ptr = (dest->ioffs + sym_def->st_value) - dest->rtld->tls_size;
     183                        *r_ptr = sym_def->st_value + dest->tpoff;
    184184                        break;
    185185
  • uspace/lib/c/arch/ia32/src/tls.c

    r8d58fca r4f205248  
    4545#endif
    4646
    47 tcb_t *tls_alloc_arch(void **data, size_t size)
     47tcb_t *tls_alloc_arch(size_t size, size_t align)
    4848{
    49         return tls_alloc_variant_2(data, size);
     49        return tls_alloc_variant_2(size, align);
    5050}
    5151
    52 void tls_free_arch(tcb_t *tcb, size_t size)
     52void tls_free_arch(tcb_t *tcb, size_t size, size_t align)
    5353{
    54         tls_free_variant_2(tcb, size);
     54        tls_free_variant_2(tcb, size, align);
    5555}
    5656
  • uspace/lib/c/arch/ia64/src/tls.c

    r8d58fca r4f205248  
    3737#include <tls.h>
    3838
    39 tcb_t *tls_alloc_arch(void **data, size_t size)
     39tcb_t *tls_alloc_arch(size_t size, size_t align)
    4040{
    41         return tls_alloc_variant_1(data, size);
     41        return tls_alloc_variant_1(size, align);
    4242}
    4343
    44 void tls_free_arch(tcb_t *tcb, size_t size)
     44void tls_free_arch(tcb_t *tcb, size_t size, size_t align)
    4545{
    46         tls_free_variant_1(tcb, size);
     46        tls_free_variant_1(tcb, size, align);
    4747}
    4848
  • uspace/lib/c/arch/mips32/src/tls.c

    r8d58fca r4f205248  
    3737#include <stddef.h>
    3838
    39 tcb_t *tls_alloc_arch(void **data, size_t size)
     39tcb_t *tls_alloc_arch(size_t size, size_t align)
    4040{
    41         return tls_alloc_variant_1(data, size);
     41        return tls_alloc_variant_1(size, align);
    4242}
    4343
    44 void tls_free_arch(tcb_t *tcb, size_t size)
     44void tls_free_arch(tcb_t *tcb, size_t size, size_t align)
    4545{
    46         tls_free_variant_1(tcb, size);
     46        tls_free_variant_1(tcb, size, align);
    4747}
    4848
  • uspace/lib/c/arch/ppc32/src/tls.c

    r8d58fca r4f205248  
    3636#include <stddef.h>
    3737
    38 tcb_t *tls_alloc_arch(void **data, size_t size)
     38tcb_t *tls_alloc_arch(size_t size, size_t align)
    3939{
    40         return tls_alloc_variant_1(data, size);
     40        return tls_alloc_variant_1(size, align);
    4141}
    4242
    43 void tls_free_arch(tcb_t *tcb, size_t size)
     43void tls_free_arch(tcb_t *tcb, size_t size, size_t align)
    4444{
    45         tls_free_variant_1(tcb, size);
     45        tls_free_variant_1(tcb, size, align);
    4646}
    4747
  • uspace/lib/c/arch/riscv64/src/tls.c

    r8d58fca r4f205248  
    3333#include <stddef.h>
    3434
    35 tcb_t *tls_alloc_arch(void **data, size_t size)
     35tcb_t *tls_alloc_arch(size_t size, size_t align)
    3636{
    37         return tls_alloc_variant_2(data, size);
     37        return tls_alloc_variant_2(size, align);
    3838}
    3939
    40 void tls_free_arch(tcb_t *tcb, size_t size)
     40void tls_free_arch(tcb_t *tcb, size_t size, size_t align)
    4141{
    42         tls_free_variant_2(tcb, size);
     42        tls_free_variant_2(tcb, size, align);
    4343}
    4444
  • uspace/lib/c/arch/sparc64/src/tls.c

    r8d58fca r4f205248  
    3838#include <stddef.h>
    3939
    40 tcb_t *tls_alloc_arch(void **data, size_t size)
     40tcb_t *tls_alloc_arch(size_t size, size_t align)
    4141{
    42         return tls_alloc_variant_2(data, size);
     42        return tls_alloc_variant_2(size, align);
    4343}
    4444
    45 void tls_free_arch(tcb_t *tcb, size_t size)
     45void tls_free_arch(tcb_t *tcb, size_t size, size_t align)
    4646{
    47         tls_free_variant_2(tcb, size);
     47        tls_free_variant_2(tcb, size, align);
    4848}
    4949
Note: See TracChangeset for help on using the changeset viewer.