hurd: Move dtv, dtv_t, tcbhead_t declaration to per-arch file.

This commit is contained in:
Samuel Thibault 2014-04-16 23:43:28 +02:00
parent fd15a59b20
commit 9f2a4fbc3c
3 changed files with 30 additions and 21 deletions

View File

@ -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>
* sysdeps/mach/munmap.c (__munmap): Return EINVAL if `addr' is 0.

View File

@ -23,6 +23,30 @@
/* Some things really need not be machine-dependent. */
#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
thread pointer points to is unspecified. Allocate the TCB there. */
#define TLS_TCB_AT_TP 1

View File

@ -27,27 +27,6 @@
# 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. */
# define TLS_INIT_TCB_SIZE sizeof (tcbhead_t)