mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-11 07:40:05 +00:00
Update.
2003-05-29 Ulrich Drepper <drepper@redhat.com> * sysdeps/unix/sysv/linux/ia64/lowlevellock.h (lll_futex_requeue): Find break parameter in correct asm argument. 2003-05-30 Jakub Jelinek <jakub@redhat.com> * sysdeps/unix/sysv/linux/powerpc/bits/pthreadtypes.h (pthread_cond_t): Add __mutex. * sysdeps/unix/sysv/linux/powerpc/lowlevellock.h (FUTEX_REQUEUE, lll_futex_requeue, lll_mutex_unlock_force): Define.
This commit is contained in:
parent
ea2630c632
commit
e7c5ac68ed
@ -1,3 +1,15 @@
|
||||
2003-05-29 Ulrich Drepper <drepper@redhat.com>
|
||||
|
||||
* sysdeps/unix/sysv/linux/ia64/lowlevellock.h (lll_futex_requeue):
|
||||
Find break parameter in correct asm argument.
|
||||
|
||||
2003-05-30 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
* sysdeps/unix/sysv/linux/powerpc/bits/pthreadtypes.h
|
||||
(pthread_cond_t): Add __mutex.
|
||||
* sysdeps/unix/sysv/linux/powerpc/lowlevellock.h (FUTEX_REQUEUE,
|
||||
lll_futex_requeue, lll_mutex_unlock_force): Define.
|
||||
|
||||
2003-05-28 Kaz Kojima <kkojima@rr.iij4u.or.jp>
|
||||
|
||||
* sysdeps/sh/tcb-offsets.sym: Define MUTEX_FUTEX.
|
||||
|
@ -35,7 +35,7 @@
|
||||
#define LLL_MUTEX_LOCK_INITIALIZER (0)
|
||||
|
||||
#define lll_futex_clobbers \
|
||||
"out4", "out5", "out6", "out7", \
|
||||
"out5", "out6", "out7", \
|
||||
/* Non-stacked integer registers, minus r8, r10, r15. */ \
|
||||
"r2", "r3", "r9", "r11", "r12", "r13", "r14", "r16", "r17", "r18", \
|
||||
"r19", "r20", "r21", "r22", "r23", "r24", "r25", "r26", "r27", \
|
||||
@ -100,14 +100,14 @@
|
||||
register long int __r10 asm ("r10"); \
|
||||
register long int __r15 asm ("r15") = SYS_futex; \
|
||||
\
|
||||
__asm __volatile ("break %7;;" \
|
||||
__asm __volatile ("break %8;;" \
|
||||
: "=r" (__r8), "=r" (__r10), "=r" (__r15), \
|
||||
"=r" (__o0), "=r" (__o1), "=r" (__o2), "r" (__o3), \
|
||||
"=r" (__o0), "=r" (__o1), "=r" (__o2), "=r" (__o3), \
|
||||
"=r" (__o4) \
|
||||
: "i" (0x100000), "2" (__r15), "3" (__o0), "4" (__o1), \
|
||||
"5" (__o2), "6" (__o3), "7" (__o4) \
|
||||
: lll_futex_clobbers); \
|
||||
__r8; \
|
||||
__r10 == -1 ? -__r8 : __r8; \
|
||||
})
|
||||
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* Startup code for programs linked with GNU libc.
|
||||
Copyright (C) 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
|
||||
Copyright (C) 1998,1999,2000,2001,2002,2003 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
@ -21,29 +21,50 @@
|
||||
#include "bp-sym.h"
|
||||
|
||||
/* These are the various addresses we require. */
|
||||
#ifdef PIC
|
||||
.section ".data"
|
||||
#else
|
||||
.section ".rodata"
|
||||
#endif
|
||||
.align 2
|
||||
L(start_addresses):
|
||||
.long _SDA_BASE_
|
||||
.long JUMPTARGET(BP_SYM (main))
|
||||
.long JUMPTARGET(__libc_csu_init)
|
||||
.long JUMPTARGET(__libc_csu_fini)
|
||||
.long BP_SYM (main)
|
||||
.long __libc_csu_init
|
||||
.long __libc_csu_fini
|
||||
ASM_SIZE_DIRECTIVE(L(start_addresses))
|
||||
|
||||
.section ".text"
|
||||
#ifdef PIC
|
||||
L(start_addressesp):
|
||||
.long L(start_addresses)-L(branch)
|
||||
#endif
|
||||
ENTRY(_start)
|
||||
/* Save the stack pointer, in case we're statically linked under Linux. */
|
||||
mr r9,r1
|
||||
/* Set up an initial stack frame, and clear the LR. */
|
||||
clrrwi r1,r1,4
|
||||
#ifdef PIC
|
||||
bcl 20,31,L(branch)
|
||||
L(branch):
|
||||
li r0,0
|
||||
mflr r13
|
||||
#else
|
||||
li r0,0
|
||||
#endif
|
||||
stwu r1,-16(r1)
|
||||
mtlr r0
|
||||
stw r0,0(r1)
|
||||
/* Set r13 to point at the 'small data area', and put the address of
|
||||
start_addresses in r8... */
|
||||
#ifdef PIC
|
||||
lwz r8,L(start_addressesp)-L(branch)(r13)
|
||||
add r8,r13,r8
|
||||
lwz r13,0(r8)
|
||||
#else
|
||||
lis r8,L(start_addresses)@ha
|
||||
lwzu r13,L(start_addresses)@l(r8)
|
||||
#endif
|
||||
/* and continue in libc-start, in glibc. */
|
||||
b JUMPTARGET(BP_SYM (__libc_start_main))
|
||||
END(_start)
|
||||
|
Loading…
Reference in New Issue
Block a user