Changeset c4c5de5 in mainline for libc/arch/amd64


Ignore:
Timestamp:
2006-03-24T14:29:19Z (20 years ago)
Author:
Ondrej Palkovsky <ondrap@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/fix-logger-deadlock, topic/msim-upgrade, topic/simplify-dev-export
Children:
8fe1cdb
Parents:
520492a
Message:

Completed support for TLS in GCC (modifier thread) for ia32,amd64,ia64 and mips.

Location:
libc/arch/amd64
Files:
1 added
3 edited

Legend:

Unmodified
Added
Removed
  • libc/arch/amd64/Makefile.inc

    r520492a rc4c5de5  
    3434
    3535ARCH_SOURCES += arch/$(ARCH)/src/syscall.S \
    36                 arch/$(ARCH)/src/psthread.S
     36                arch/$(ARCH)/src/psthread.S \
     37                arch/$(ARCH)/src/thread.c
    3738
    3839LFLAGS += -N
  • libc/arch/amd64/_link.ld.in

    r520492a rc4c5de5  
    2121                *(.data);
    2222        } :data
     23        .tdata : {
     24                _tdata_start = .;
     25                *(.tdata);
     26                _tdata_end = .;
     27        } :data
     28        .tbss : {
     29                _tbss_start = .;
     30                *(.tbss);
     31                _tbss_end = .;
     32        } :data
     33       
    2334        .bss : {
    2435                *(COMMON);
  • libc/arch/amd64/include/thread.h

    r520492a rc4c5de5  
    3232#include <libc.h>
    3333
    34 static inline void __tls_set(void *tls)
     34typedef struct {
     35        void *self;
     36        void *pst_data;
     37} tcb_t;
     38
     39static inline void __tcb_set(tcb_t *tcb)
    3540{
    36         __SYSCALL1(SYS_TLS_SET, (sysarg_t) tls);
     41        __SYSCALL1(SYS_TLS_SET, (sysarg_t) tcb);
    3742}
    3843
    39 static inline void * __tls_get(void)
     44static inline tcb_t * __tcb_get(void)
    4045{
    4146        void * retval;
Note: See TracChangeset for help on using the changeset viewer.