From de1d74d2862d2ce14675b40d2b20809614aeb01f Mon Sep 17 00:00:00 2001 From: Joerg Sonnenberger Date: Tue, 3 May 2005 18:25:13 +0000 Subject: [PATCH] Allocate some additional space for dlopen'd libraries. Currently 256 byte, we can decide later to increase it. --- libexec/rtld-elf/i386/reloc.c | 4 ++-- sys/cpu/i386/include/tls.h | 3 ++- sys/i386/include/tls.h | 3 ++- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/libexec/rtld-elf/i386/reloc.c b/libexec/rtld-elf/i386/reloc.c index 79456d3b31..5e70e158ba 100644 --- a/libexec/rtld-elf/i386/reloc.c +++ b/libexec/rtld-elf/i386/reloc.c @@ -23,7 +23,7 @@ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * * $FreeBSD: src/libexec/rtld-elf/i386/reloc.c,v 1.6.2.2 2002/06/16 20:02:09 dillon Exp $ - * $DragonFly: src/libexec/rtld-elf/i386/reloc.c,v 1.10 2005/04/28 20:53:19 joerg Exp $ + * $DragonFly: src/libexec/rtld-elf/i386/reloc.c,v 1.11 2005/05/03 18:25:13 joerg Exp $ */ /* @@ -340,7 +340,7 @@ allocate_initial_tls(Obj_Entry *objs) * * We may have to replace an 'initial' TLS previously created by libc. */ - tls_static_space = tls_last_offset /* + RTLD_STATIC_TLS_EXTRA */; + tls_static_space = tls_last_offset + RTLD_STATIC_TLS_EXTRA; if (sys_get_tls_area(0, &ti, sizeof(ti)) == 0) old_tcb = ti.base; diff --git a/sys/cpu/i386/include/tls.h b/sys/cpu/i386/include/tls.h index 513e10718b..0a0d2e1e80 100644 --- a/sys/cpu/i386/include/tls.h +++ b/sys/cpu/i386/include/tls.h @@ -28,7 +28,7 @@ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $DragonFly: src/sys/cpu/i386/include/tls.h,v 1.2 2005/03/29 23:04:36 joerg Exp $ + * $DragonFly: src/sys/cpu/i386/include/tls.h,v 1.3 2005/05/03 18:25:13 joerg Exp $ */ #ifndef _MACHINE_TLS_H_ @@ -52,6 +52,7 @@ struct tls_dtv { #define RTLD_TCB_HAS_SELF_POINTER #define RTLD_STATIC_TLS_ALIGN 16 #define RTLD_STATIC_TLS_ALIGN_MASK (RTLD_STATIC_TLS_ALIGN - 1) +#define RTLD_STATIC_TLS_EXTRA 256 #define RTLD_STATIC_TLS_VARIANT_II /* Get the current TCB. */ diff --git a/sys/i386/include/tls.h b/sys/i386/include/tls.h index 03f5f5d6cf..28c1ac705a 100644 --- a/sys/i386/include/tls.h +++ b/sys/i386/include/tls.h @@ -28,7 +28,7 @@ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $DragonFly: src/sys/i386/include/Attic/tls.h,v 1.2 2005/03/29 23:04:36 joerg Exp $ + * $DragonFly: src/sys/i386/include/Attic/tls.h,v 1.3 2005/05/03 18:25:13 joerg Exp $ */ #ifndef _MACHINE_TLS_H_ @@ -52,6 +52,7 @@ struct tls_dtv { #define RTLD_TCB_HAS_SELF_POINTER #define RTLD_STATIC_TLS_ALIGN 16 #define RTLD_STATIC_TLS_ALIGN_MASK (RTLD_STATIC_TLS_ALIGN - 1) +#define RTLD_STATIC_TLS_EXTRA 256 #define RTLD_STATIC_TLS_VARIANT_II /* Get the current TCB. */ -- 2.35.2