This is the mail archive of the libc-hacker@sources.redhat.com mailing list for the glibc project.
Note that libc-hacker is a closed list. You may look at the archives of this list, but subscription and posting are not open.
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
| Other format: | [Raw text] | |
Hi,
The attached patch removes DT_TEXTREL from libpthread.so and
fixes frame info of a few .S files.
Regards,
kaz
--
2004-04-19 Kaz Kojima <kkojima@rr.iij4u.or.jp>
* sysdeps/unix/sysv/linux/sh/sem_timedwait.S: Add frame info.
Use HIDDEN_JUMPTARGET to jump to __pthread_unwind.
* sysdeps/unix/sysv/linux/sh/sem_wait.S: Remove unneeded frame
info. Use HIDDEN_JUMPTARGET to jump to __pthread_unwind.
diff -u3prN ORIG/libc/nptl/sysdeps/unix/sysv/linux/sh/sem_timedwait.S LOCAL/libc/nptl/sysdeps/unix/sysv/linux/sh/sem_timedwait.S
--- ORIG/libc/nptl/sysdeps/unix/sysv/linux/sh/sem_timedwait.S Sat Jul 12 10:28:54 2003
+++ LOCAL/libc/nptl/sysdeps/unix/sysv/linux/sh/sem_timedwait.S Mon Apr 19 12:48:43 2004
@@ -1,4 +1,4 @@
-/* Copyright (C) 2003 Free Software Foundation, Inc.
+/* Copyright (C) 2003, 2004 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
@@ -33,6 +33,7 @@
.globl sem_timedwait
.type sem_timedwait,@function
.align 5
+ cfi_startproc
sem_timedwait:
/* First check for cancellation. */
stc gbr, r0
@@ -59,11 +60,22 @@ sem_timedwait:
1:
/* Check whether the timeout value is valid. */
mov.l r8, @-r15
+ cfi_adjust_cfa_offset(4)
+ cfi_rel_offset (r8, 0)
mov.l r9, @-r15
+ cfi_adjust_cfa_offset(4)
+ cfi_rel_offset (r9, 0)
mov.l r10, @-r15
+ cfi_adjust_cfa_offset(4)
+ cfi_rel_offset (r10, 0)
mov.l r12, @-r15
+ cfi_adjust_cfa_offset(4)
+ cfi_rel_offset (r12, 0)
sts.l pr, @-r15
+ cfi_adjust_cfa_offset(4)
+ cfi_rel_offset (pr, 0)
add #-8, r15
+ cfi_adjust_cfa_offset(8)
mov r4, r8
mov r5, r9
@@ -193,8 +205,10 @@ sem_timedwait:
stc gbr, r0
mov.w .Lclbuf, r1
mov.l .Lunwind, r2
- jmp @r2
+ braf r2
mov.l @(r0,r1), r4
+.Lunwindb:
+ cfi_endproc
.L1k:
.word 1000
@@ -221,5 +235,5 @@ sem_timedwait:
.Ldisable0:
.long __pthread_disable_asynccancel-.Ldisable0b
.Lunwind:
- .long __pthread_unwind
+ .long HIDDEN_JUMPTARGET (__pthread_unwind)-.Lunwindb
.size sem_timedwait,.-sem_timedwait
diff -u3prN ORIG/libc/nptl/sysdeps/unix/sysv/linux/sh/sem_wait.S LOCAL/libc/nptl/sysdeps/unix/sysv/linux/sh/sem_wait.S
--- ORIG/libc/nptl/sysdeps/unix/sysv/linux/sh/sem_wait.S Sat Mar 20 15:24:30 2004
+++ LOCAL/libc/nptl/sysdeps/unix/sysv/linux/sh/sem_wait.S Mon Apr 19 12:49:01 2004
@@ -121,18 +121,10 @@ __new_sem_wait:
mov #-1, r0
9:
lds.l @r15+, pr
- cfi_adjust_cfa_offset (-4)
- cfi_restore (pr)
mov.l @r15+, r12
- cfi_adjust_cfa_offset (-4)
- cfi_restore (r12)
mov.l @r15+, r10
- cfi_adjust_cfa_offset (-4)
- cfi_restore (r10)
rts
mov.l @r15+, r8
- cfi_adjust_cfa_offset (-4)
- cfi_restore (r8)
5:
/* Canceled. */
stc gbr, r0
@@ -144,8 +136,9 @@ __new_sem_wait:
stc gbr, r0
mov.w .Lclbuf, r1
mov.l .Lunwind, r2
- jmp @r2
+ braf r2
mov.l @(r0,r1), r4
+.Lunwindb:
cfi_endproc
.Lchand:
@@ -169,6 +162,6 @@ __new_sem_wait:
.Ldisable0:
.long __pthread_disable_asynccancel-.Ldisable0b
.Lunwind:
- .long __pthread_unwind
+ .long HIDDEN_JUMPTARGET (__pthread_unwind)-.Lunwindb
.size __new_sem_wait,.-__new_sem_wait
versioned_symbol(libpthread, __new_sem_wait, sem_wait, GLIBC_2_1)
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |