mirror of
https://sourceware.org/git/glibc.git
synced 2025-07-28 00:21:52 +03:00
Update.
2004-12-16 Ulrich Drepper <drepper@redhat.com> * tst-context1.c (stacks): Use bigger stack size.
This commit is contained in:
@ -1,3 +1,7 @@
|
|||||||
|
2004-12-16 Ulrich Drepper <drepper@redhat.com>
|
||||||
|
|
||||||
|
* tst-context1.c (stacks): Use bigger stack size.
|
||||||
|
|
||||||
2004-12-16 Jakub Jelinek <jakub@redhat.com>
|
2004-12-16 Jakub Jelinek <jakub@redhat.com>
|
||||||
|
|
||||||
* sysdeps/unix/sysv/linux/sparc/sparc32/clone.S: New file.
|
* sysdeps/unix/sysv/linux/sparc/sparc32/clone.S: New file.
|
||||||
|
@ -37,7 +37,7 @@ typedef struct {
|
|||||||
unsigned long guard[3];
|
unsigned long guard[3];
|
||||||
} tst_context_t;
|
} tst_context_t;
|
||||||
|
|
||||||
static char stacks[N][PTHREAD_STACK_MIN];
|
static char stacks[N][2 * PTHREAD_STACK_MIN];
|
||||||
static tst_context_t ctx[N][2];
|
static tst_context_t ctx[N][2];
|
||||||
static volatile int failures;
|
static volatile int failures;
|
||||||
|
|
||||||
@ -110,7 +110,7 @@ tf (void *arg)
|
|||||||
printf ("%d: %s: before makecontext\n", n, __FUNCTION__);
|
printf ("%d: %s: before makecontext\n", n, __FUNCTION__);
|
||||||
|
|
||||||
ctx[n][1].uctx.uc_stack.ss_sp = stacks[n];
|
ctx[n][1].uctx.uc_stack.ss_sp = stacks[n];
|
||||||
ctx[n][1].uctx.uc_stack.ss_size = PTHREAD_STACK_MIN;
|
ctx[n][1].uctx.uc_stack.ss_size = sizeof (stacks[n]);
|
||||||
ctx[n][1].uctx.uc_link = &ctx[n][0].uctx;
|
ctx[n][1].uctx.uc_link = &ctx[n][0].uctx;
|
||||||
makecontext (&ctx[n][1].uctx, (void (*) (void)) fct, 1, (long int) n);
|
makecontext (&ctx[n][1].uctx, (void (*) (void)) fct, 1, (long int) n);
|
||||||
|
|
||||||
|
@ -275,17 +275,17 @@ ENTRY(__getcontext)
|
|||||||
ld r5,RTLD_GLOBAL_RO_DL_HWCAP_OFFSET(r5)
|
ld r5,RTLD_GLOBAL_RO_DL_HWCAP_OFFSET(r5)
|
||||||
# else
|
# else
|
||||||
ld r5,0(r5) /* Load extern _dl_hwcap. */
|
ld r5,0(r5) /* Load extern _dl_hwcap. */
|
||||||
# endif
|
# endif
|
||||||
la r10,(SIGCONTEXT_V_RESERVE+8)(r3)
|
la r10,(SIGCONTEXT_V_RESERVE+8)(r3)
|
||||||
la r9,(SIGCONTEXT_V_RESERVE+24)(r3)
|
la r9,(SIGCONTEXT_V_RESERVE+24)(r3)
|
||||||
|
|
||||||
andis. r5,r5,(PPC_FEATURE_HAS_ALTIVEC >> 16)
|
andis. r5,r5,(PPC_FEATURE_HAS_ALTIVEC >> 16)
|
||||||
|
|
||||||
clrrdi r10,r10,4
|
clrrdi r10,r10,4
|
||||||
beq L(has_no_vec)
|
beq L(has_no_vec)
|
||||||
clrrdi r9,r9,4
|
clrrdi r9,r9,4
|
||||||
mr r5,r10 /* Capture *v_regs value in r5. */
|
mr r5,r10 /* Capture *v_regs value in r5. */
|
||||||
|
|
||||||
stvx v0,0,r10
|
stvx v0,0,r10
|
||||||
stvx v1,0,r9
|
stvx v1,0,r9
|
||||||
addi r10,r10,32
|
addi r10,r10,32
|
||||||
|
@ -401,12 +401,12 @@ ENTRY(__swapcontext)
|
|||||||
#endif
|
#endif
|
||||||
la r10,(SIGCONTEXT_V_RESERVE+8)(r3)
|
la r10,(SIGCONTEXT_V_RESERVE+8)(r3)
|
||||||
la r9,(SIGCONTEXT_V_RESERVE+24)(r3)
|
la r9,(SIGCONTEXT_V_RESERVE+24)(r3)
|
||||||
|
|
||||||
andis. r8,r8,(PPC_FEATURE_HAS_ALTIVEC >> 16)
|
andis. r8,r8,(PPC_FEATURE_HAS_ALTIVEC >> 16)
|
||||||
|
|
||||||
clrrdi r10,r10,4
|
clrrdi r10,r10,4
|
||||||
beq L(has_no_vec)
|
beq L(has_no_vec)
|
||||||
|
|
||||||
clrrdi r9,r9,4
|
clrrdi r9,r9,4
|
||||||
mr r8,r10 /* Capture *v_regs value in r5. */
|
mr r8,r10 /* Capture *v_regs value in r5. */
|
||||||
|
|
||||||
@ -493,7 +493,7 @@ ENTRY(__swapcontext)
|
|||||||
mfvscr v0
|
mfvscr v0
|
||||||
mfspr r0,VRSAVE
|
mfspr r0,VRSAVE
|
||||||
stvx v0,0,r10
|
stvx v0,0,r10
|
||||||
stw r0,0(9)
|
stw r0,0(r9)
|
||||||
|
|
||||||
L(has_no_vec):
|
L(has_no_vec):
|
||||||
/*
|
/*
|
||||||
|
Reference in New Issue
Block a user