hurd: Move dtv, dtv_t, tcbhead_t declaration to per-arch file.
This commit is contained in:
parent
fd15a59b20
commit
9f2a4fbc3c
@ -1,3 +1,9 @@
|
|||||||
|
2014-04-16 Samuel Thibault <samuel.thibault@ens-lyon.org>
|
||||||
|
|
||||||
|
* sysdeps/mach/hurd/tls.h (dtv, dtv_t, tcbhead_t): Move declarations
|
||||||
|
to...
|
||||||
|
* sysdeps/mach/hurd/i386/tls.h: ... here.
|
||||||
|
|
||||||
2014-04-16 Samuel Thibault <samuel.thibault@ens-lyon.org>
|
2014-04-16 Samuel Thibault <samuel.thibault@ens-lyon.org>
|
||||||
|
|
||||||
* sysdeps/mach/munmap.c (__munmap): Return EINVAL if `addr' is 0.
|
* sysdeps/mach/munmap.c (__munmap): Return EINVAL if `addr' is 0.
|
||||||
|
@ -23,6 +23,30 @@
|
|||||||
/* Some things really need not be machine-dependent. */
|
/* Some things really need not be machine-dependent. */
|
||||||
#include <sysdeps/mach/hurd/tls.h>
|
#include <sysdeps/mach/hurd/tls.h>
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef __ASSEMBLER__
|
||||||
|
/* Type for the dtv. */
|
||||||
|
typedef union dtv
|
||||||
|
{
|
||||||
|
size_t counter;
|
||||||
|
struct
|
||||||
|
{
|
||||||
|
void *val;
|
||||||
|
bool is_static;
|
||||||
|
} pointer;
|
||||||
|
} dtv_t;
|
||||||
|
|
||||||
|
|
||||||
|
/* Type of the TCB. */
|
||||||
|
typedef struct
|
||||||
|
{
|
||||||
|
void *tcb; /* Points to this structure. */
|
||||||
|
dtv_t *dtv; /* Vector of pointers to TLS data. */
|
||||||
|
thread_t self; /* This thread's control port. */
|
||||||
|
} tcbhead_t;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
/* The TCB can have any size and the memory following the address the
|
/* The TCB can have any size and the memory following the address the
|
||||||
thread pointer points to is unspecified. Allocate the TCB there. */
|
thread pointer points to is unspecified. Allocate the TCB there. */
|
||||||
#define TLS_TCB_AT_TP 1
|
#define TLS_TCB_AT_TP 1
|
||||||
|
@ -27,27 +27,6 @@
|
|||||||
# include <mach.h>
|
# include <mach.h>
|
||||||
|
|
||||||
|
|
||||||
/* Type for the dtv. */
|
|
||||||
typedef union dtv
|
|
||||||
{
|
|
||||||
size_t counter;
|
|
||||||
struct
|
|
||||||
{
|
|
||||||
void *val;
|
|
||||||
bool is_static;
|
|
||||||
} pointer;
|
|
||||||
} dtv_t;
|
|
||||||
|
|
||||||
|
|
||||||
/* Type of the TCB. */
|
|
||||||
typedef struct
|
|
||||||
{
|
|
||||||
void *tcb; /* Points to this structure. */
|
|
||||||
dtv_t *dtv; /* Vector of pointers to TLS data. */
|
|
||||||
thread_t self; /* This thread's control port. */
|
|
||||||
} tcbhead_t;
|
|
||||||
|
|
||||||
|
|
||||||
/* This is the size of the initial TCB. */
|
/* This is the size of the initial TCB. */
|
||||||
# define TLS_INIT_TCB_SIZE sizeof (tcbhead_t)
|
# define TLS_INIT_TCB_SIZE sizeof (tcbhead_t)
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user