Changeset 2c4e1cc in mainline for uspace/lib/c/arch


Ignore:
Timestamp:
2018-04-04T17:01:18Z (7 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:
5754c31e
Parents:
1433ecda
git-author:
Jiří Zárevúcky <jiri.zarevucky@…> (2018-04-03 16:54:34)
git-committer:
Jiří Zárevúcky <jiri.zarevucky@…> (2018-04-04 17:01:18)
Message:

Define TLS consistently in linker scripts, and remove nonstandard symbols.

Read the program header to find TLS instead.

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

Legend:

Unmodified
Added
Removed
  • uspace/lib/c/arch/abs32le/_link.ld.in

    r1433ecda r2c4e1cc  
    88        text PT_LOAD FILEHDR PHDRS FLAGS(5);
    99        data PT_LOAD FLAGS(6);
     10        tls PT_TLS;
    1011}
    1112
     
    4041
    4142        .tdata : {
    42                 _tdata_start = .;
    4343                *(.tdata);
     44                *(.tdata.*);
     45                *(.gnu.linkonce.td.*);
     46        } :data :tls
     47
     48        .tbss : {
     49                *(.tbss);
     50                *(.tbss.*);
    4451                *(.gnu.linkonce.tb.*);
    45                 _tdata_end = .;
    46                 _tbss_start = .;
    47                 *(.tbss);
    48                 _tbss_end = .;
    49         } :data
    50 
    51         _tls_alignment = ALIGNOF(.tdata);
     52        } :data :tls
    5253
    5354        .sbss : {
  • uspace/lib/c/arch/amd64/_link.ld.in

    r1433ecda r2c4e1cc  
    88        text PT_LOAD FILEHDR PHDRS FLAGS(5);
    99        data PT_LOAD FLAGS(6);
     10        tls PT_TLS;
    1011        debug PT_NOTE;
    1112}
     
    4546
    4647        .tdata : {
    47                 _tdata_start = .;
    4848                *(.tdata);
    49                 _tdata_end = .;
    50                 _tbss_start = .;
     49                *(.tdata.*);
     50                *(.gnu.linkonce.td.*);
     51        } :data :tls
     52
     53        .tbss : {
    5154                *(.tbss);
    52                 _tbss_end = .;
    53         } :data
    54 
    55         _tls_alignment = ALIGNOF(.tdata);
     55                *(.tbss.*);
     56                *(.gnu.linkonce.tb.*);
     57        } :data :tls
    5658
    5759        .bss : {
  • uspace/lib/c/arch/arm32/_link.ld.in

    r1433ecda r2c4e1cc  
    88        text PT_LOAD FILEHDR PHDRS FLAGS(5);
    99        data PT_LOAD FLAGS(6);
     10        tls PT_TLS;
    1011}
    1112
     
    4546
    4647        .tdata : {
    47                 _tdata_start = .;
    4848                *(.tdata);
    49                 _tdata_end = .;
    50                 _tbss_start = .;
     49                *(.tdata.*);
     50                *(.gnu.linkonce.td.*);
     51        } :data :tls
     52
     53        .tbss : {
    5154                *(.tbss);
    52                 _tbss_end = .;
    53         } :data
    54 
    55         _tls_alignment = ALIGNOF(.tdata);
     55                *(.tbss.*);
     56                *(.gnu.linkonce.tb.*);
     57        } :data :tls
    5658
    5759        .bss : {
  • uspace/lib/c/arch/ia32/_link.ld.in

    r1433ecda r2c4e1cc  
    9999
    100100        .tdata : {
    101                 _tdata_start = .;
    102101                *(.tdata);
    103                 *(.gnu.linkonce.tb.*);
    104                 _tdata_end = .;
    105         } :data :tls
    106         .tbss : {
    107                 _tbss_start = .;
    108                 *(.tbss);
    109                 _tbss_end = .;
     102                *(.tdata.*);
     103                *(.gnu.linkonce.td.*);
    110104        } :data :tls
    111105
    112         _tls_alignment = MAX(ALIGNOF(.tdata), ALIGNOF(.tbss));
     106        .tbss : {
     107                *(.tbss);
     108                *(.tbss.*);
     109                *(.gnu.linkonce.tb.*);
     110        } :data :tls
    113111
    114112        .bss : {
  • uspace/lib/c/arch/ia64/_link.ld.in

    r1433ecda r2c4e1cc  
    88        text PT_LOAD FILEHDR PHDRS FLAGS(5);
    99        data PT_LOAD FLAGS(6);
     10        tls PT_TLS;
    1011}
    1112
     
    5455
    5556        .tdata : {
    56                 _tdata_start = .;
    5757                *(.tdata);
    58                 _tdata_end = .;
    59                 _tbss_start = .;
     58                *(.tdata.*);
     59                *(.gnu.linkonce.td.*);
     60        } :data :tls
     61
     62        .tbss : {
    6063                *(.tbss);
    61                 _tbss_end = .;
    62         } :data
    63 
    64         _tls_alignment = ALIGNOF(.tdata);
     64                *(.tbss.*);
     65                *(.gnu.linkonce.tb.*);
     66        } :data :tls
    6567
    6668        .bss : {
  • uspace/lib/c/arch/mips32/_link.ld.in

    r1433ecda r2c4e1cc  
    88        text PT_LOAD FILEHDR PHDRS FLAGS(5);
    99        data PT_LOAD FLAGS(6);
     10        tls PT_TLS;
    1011}
    1112
     
    4950
    5051        .tdata : {
    51                 _tdata_start = .;
    5252                *(.tdata);
    53                 _tdata_end = .;
    54         } :data
     53                *(.tdata.*);
     54                *(.gnu.linkonce.td.*);
     55        } :data :tls
    5556
    5657        .tbss : {
    57                 _tbss_start = .;
    5858                *(.tbss);
    59                 _tbss_end = .;
    60         } :data
    61 
    62         _tls_alignment = MAX(ALIGNOF(.tdata), ALIGNOF(.tbss));
     59                *(.tbss.*);
     60                *(.gnu.linkonce.tb.*);
     61        } :data :tls
    6362
    6463        .sbss : {
  • uspace/lib/c/arch/ppc32/_link.ld.in

    r1433ecda r2c4e1cc  
    88        text PT_LOAD FILEHDR PHDRS FLAGS(5);
    99        data PT_LOAD FLAGS(6);
     10        tls PT_TLS;
    1011        debug PT_NOTE;
    1112}
     
    4546
    4647        .tdata : {
    47                 _tdata_start = .;
    4848                *(.tdata);
    49                 _tdata_end = .;
    50                 _tbss_start = .;
     49                *(.tdata.*);
     50                *(.gnu.linkonce.td.*);
     51        } :data :tls
     52
     53        .tbss : {
    5154                *(.tbss);
    52                 _tbss_end = .;
    53         } :data
    54 
    55         _tls_alignment = ALIGNOF(.tdata);
     55                *(.tbss.*);
     56                *(.gnu.linkonce.tb.*);
     57        } :data :tls
    5658
    5759        .bss : {
  • uspace/lib/c/arch/riscv64/_link.ld.in

    r1433ecda r2c4e1cc  
    88        text PT_LOAD FILEHDR PHDRS FLAGS(5);
    99        data PT_LOAD FLAGS(6);
     10        tls PT_TLS;
    1011        debug PT_NOTE;
    1112}
     
    4344
    4445        .tdata : {
    45                 _tdata_start = .;
    4646                *(.tdata);
     47                *(.tdata.*);
     48                *(.gnu.linkonce.td.*);
     49        } :data :tls
     50
     51        .tbss : {
     52                *(.tbss);
     53                *(.tbss.*);
    4754                *(.gnu.linkonce.tb.*);
    48                 _tdata_end = .;
    49                 _tbss_start = .;
    50                 *(.tbss);
    51                 _tbss_end = .;
    52         } :data
    53 
    54         _tls_alignment = ALIGNOF(.tdata);
     55        } :data :tls
    5556
    5657        .sbss : {
  • uspace/lib/c/arch/sparc64/_link.ld.in

    r1433ecda r2c4e1cc  
    88        text PT_LOAD FILEHDR PHDRS FLAGS(5);
    99        data PT_LOAD FLAGS(6);
     10        tls PT_TLS;
    1011        debug PT_NOTE;
    1112}
     
    5051
    5152        .tdata : {
    52                 _tdata_start = .;
    5353                *(.tdata);
    54                 _tdata_end = .;
    55                 _tbss_start = .;
     54                *(.tdata.*);
     55                *(.gnu.linkonce.td.*);
     56        } :data :tls
     57
     58        .tbss : {
    5659                *(.tbss);
    57                 _tbss_end = .;
    58         } :data
    59 
    60         _tls_alignment = ALIGNOF(.tdata);
     60                *(.tbss.*);
     61                *(.gnu.linkonce.tb.*);
     62        } :data :tls
    6163
    6264        .bss : {
Note: See TracChangeset for help on using the changeset viewer.