Browse Source

Add a member to be used by __cxa_thread_atexit(). Remove padding which would

now misalign things.
ok guenther@
OPENBSD_6_3
kettenis 7 years ago
parent
commit
0e3a7a3d95
1 changed files with 4 additions and 6 deletions
  1. +4
    -6
      src/include/tib.h

+ 4
- 6
src/include/tib.h View File

@ -1,4 +1,4 @@
/* $OpenBSD: tib.h,v 1.5 2017/08/10 13:35:18 guenther Exp $ */
/* $OpenBSD: tib.h,v 1.6 2017/11/28 18:57:02 kettenis Exp $ */
/* /*
* Copyright (c) 2011,2014 Philip Guenther <guenther@openbsd.org> * Copyright (c) 2011,2014 Philip Guenther <guenther@openbsd.org>
* *
@ -135,6 +135,7 @@
*/ */
struct tib { struct tib {
void *tib_atexit;
int tib_thread_flags; /* internal to libpthread */ int tib_thread_flags; /* internal to libpthread */
pid_t tib_tid; pid_t tib_tid;
int tib_cantcancel; int tib_cantcancel;
@ -182,16 +183,12 @@ struct tib {
int tib_cantcancel; int tib_cantcancel;
pid_t tib_tid; pid_t tib_tid;
int tib_thread_flags; /* internal to libpthread */ int tib_thread_flags; /* internal to libpthread */
#if !defined(__LP64__) && !defined(__i386)
int __tib_padding; /* padding for 8byte alignment */
#endif
void *tib_atexit;
}; };
#if defined(__i386) || defined(__amd64) #if defined(__i386) || defined(__amd64)
# define _TIB_PREP(tib) \ # define _TIB_PREP(tib) \
((void)((tib)->__tib_self = (tib))) ((void)((tib)->__tib_self = (tib)))
#elif !defined(__LP64__) && !defined(__i386)
# define _TIB_PREP(tib) ((void)((tib)->__tib_padding = 0))
#endif #endif
#define TIB_EXTRA_ALIGN sizeof(void *) #define TIB_EXTRA_ALIGN sizeof(void *)
@ -207,6 +204,7 @@ struct tib {
#define TIB_INIT(tib, dtv, thread) do { \ #define TIB_INIT(tib, dtv, thread) do { \
(tib)->tib_thread = (thread); \ (tib)->tib_thread = (thread); \
(tib)->tib_atexit = NULL; \
(tib)->tib_locale = NULL; \ (tib)->tib_locale = NULL; \
(tib)->tib_cantcancel = 0; \ (tib)->tib_cantcancel = 0; \
(tib)->tib_cancel_point = 0; \ (tib)->tib_cancel_point = 0; \


Loading…
Cancel
Save