mirror of
https://sourceware.org/git/glibc.git
synced 2024-12-22 19:00:07 +00:00
Update.
2001-07-06 Jakub Jelinek <jakub@redhat.com> * sysdeps/unix/sysv/linux/i386/sigaction.c (RESTORE2): Put asm explicitly into .text section. 2001-04-16 Jes Sorensen <jes@linuxcare.com> * sysdeps/unix/sysv/linux/ia64/bits/sigcontext.h (struct sigcontext): Add 16 longwords reserved for future use to match changes in the kernel. 2001-07-03 Jes Sorensen <jes@trained-monkey.org> * sysdeps/ia64/strncpy.S: Call strnlen() when determining the string length rather than strlen(). Solves the performance problem of doing strlen on a 5MB string when strncpy was called with a length argument of 5 bytes. 2001-07-02 Jakub Jelinek <jakub@redhat.com> * sysdeps/sparc/sparc32/dl-machine.h (elf_machine_rela): Handle R_SPARC_UA16 and R_SPARC_UA32. * sysdeps/sparc/sparc64/dl-machine.h (elf_machine_rela): Likewise. 2001-07-01 Stephen L Moshier <moshier@mediaone.net> * sysdeps/ieee754/ldbl-96/e_acoshl.c (__ieee754_acoshl): acosh(x) = ln(2x) if x > 2^30. * sysdeps/ieee754/ldbl-128/e_acoshl.c (__ieee754_acoshl): acosh(x) = ln(2x) if x > 2^54. * sysdeps/hppa/dl-machine.h (elf_machine_rela): Handle relocs
This commit is contained in:
parent
6c112c15ad
commit
4dbb64174c
33
ChangeLog
33
ChangeLog
@ -1,3 +1,34 @@
|
||||
2001-07-06 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
* sysdeps/unix/sysv/linux/i386/sigaction.c (RESTORE2): Put asm
|
||||
explicitly into .text section.
|
||||
|
||||
2001-04-16 Jes Sorensen <jes@linuxcare.com>
|
||||
|
||||
* sysdeps/unix/sysv/linux/ia64/bits/sigcontext.h (struct sigcontext):
|
||||
Add 16 longwords reserved for future use to match changes in the
|
||||
kernel.
|
||||
|
||||
2001-07-03 Jes Sorensen <jes@trained-monkey.org>
|
||||
|
||||
* sysdeps/ia64/strncpy.S: Call strnlen() when determining the
|
||||
string length rather than strlen(). Solves the performance problem
|
||||
of doing strlen on a 5MB string when strncpy was called with a
|
||||
length argument of 5 bytes.
|
||||
|
||||
2001-07-02 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
* sysdeps/sparc/sparc32/dl-machine.h (elf_machine_rela): Handle
|
||||
R_SPARC_UA16 and R_SPARC_UA32.
|
||||
* sysdeps/sparc/sparc64/dl-machine.h (elf_machine_rela): Likewise.
|
||||
|
||||
2001-07-01 Stephen L Moshier <moshier@mediaone.net>
|
||||
|
||||
* sysdeps/ieee754/ldbl-96/e_acoshl.c (__ieee754_acoshl):
|
||||
acosh(x) = ln(2x) if x > 2^30.
|
||||
* sysdeps/ieee754/ldbl-128/e_acoshl.c (__ieee754_acoshl):
|
||||
acosh(x) = ln(2x) if x > 2^54.
|
||||
|
||||
2001-07-07 Mark Kettenis <kettenis@gnu.org>
|
||||
|
||||
* sysdeps/mach/hurd/i386/exc2signal.c (_hurd_exception2signal):
|
||||
@ -297,7 +328,7 @@
|
||||
|
||||
2001-06-17 Alan Modra <amodra@bigpond.net.au>
|
||||
|
||||
* sysdeps/hppa/dl-machine.h (elf_machine_rela): handle relocs
|
||||
* sysdeps/hppa/dl-machine.h (elf_machine_rela): Handle relocs
|
||||
at unaligned address.
|
||||
|
||||
2001-06-18 Ulrich Drepper <drepper@redhat.com>
|
||||
|
@ -25,8 +25,8 @@
|
||||
in1: src
|
||||
in2: char count
|
||||
|
||||
If n >= 24, do a memcpy(dest, src, min(strlen(src)+1, n)), followed by a
|
||||
memset(dest + strlen(src), 0, n - strlen(src) - 1) if necessary.
|
||||
If n >= 24, do a memcpy(dest, src, min(strnlen(src, n)+1, n)), followed by a
|
||||
memset(dest + strlen(src, n), 0, n - strlen(src, n) - 1) if necessary.
|
||||
|
||||
Otherwise, copy characters one by one and fill with nulls if necessary. */
|
||||
|
||||
@ -58,8 +58,9 @@ ENTRY(strncpy)
|
||||
cmp.gtu p6, p0 = 24, n
|
||||
(p6) br.cond.spnt .cpyfew
|
||||
mov out0 = src
|
||||
mov tmp = gp ;;
|
||||
br.call.sptk.many b0 = strlen# ;; // rc = strlen(src);
|
||||
mov out1 = n
|
||||
mov tmp = gp
|
||||
br.call.sptk.many b0 = strnlen# ;; // rc = strnlen(src, n);
|
||||
add len = 1, rc // include the null in len
|
||||
mov gp = tmp
|
||||
mov out0 = dest ;;
|
||||
|
@ -51,7 +51,7 @@ ln2 = 0.6931471805599453094172321214581766L;
|
||||
GET_LDOUBLE_WORDS64(hx,lx,x);
|
||||
if(hx<0x3fff000000000000LL) { /* x < 1 */
|
||||
return (x-x)/(x-x);
|
||||
} else if(hx >=0x401b000000000000LL) { /* x > 2**28 */
|
||||
} else if(hx >=0x4035000000000000LL) { /* x > 2**54 */
|
||||
if(hx >=0x7fff000000000000LL) { /* x is inf of NaN */
|
||||
return x+x;
|
||||
} else
|
||||
|
@ -434,6 +434,16 @@ elf_machine_rela (struct link_map *map, const Elf32_Rela *reloc,
|
||||
case R_SPARC_HI22:
|
||||
*reloc_addr = (*reloc_addr & 0xffc00000) | (value >> 10);
|
||||
break;
|
||||
case R_SPARC_UA16:
|
||||
((unsigned char *) reloc_addr) [0] = value >> 8;
|
||||
((unsigned char *) reloc_addr) [1] = value;
|
||||
break;
|
||||
case R_SPARC_UA32:
|
||||
((unsigned char *) reloc_addr) [0] = value >> 24;
|
||||
((unsigned char *) reloc_addr) [1] = value >> 16;
|
||||
((unsigned char *) reloc_addr) [2] = value >> 8;
|
||||
((unsigned char *) reloc_addr) [3] = value;
|
||||
break;
|
||||
#endif
|
||||
case R_SPARC_NONE: /* Alright, Wilbur. */
|
||||
break;
|
||||
|
@ -338,6 +338,16 @@ elf_machine_rela (struct link_map *map, const Elf64_Rela *reloc,
|
||||
elf_machine_fixup_plt(map, 0, reloc, reloc_addr, value);
|
||||
break;
|
||||
#ifndef RTLD_BOOTSTRAP
|
||||
case R_SPARC_UA16:
|
||||
((unsigned char *) reloc_addr) [0] = value >> 8;
|
||||
((unsigned char *) reloc_addr) [1] = value;
|
||||
break;
|
||||
case R_SPARC_UA32:
|
||||
((unsigned char *) reloc_addr) [0] = value >> 24;
|
||||
((unsigned char *) reloc_addr) [1] = value >> 16;
|
||||
((unsigned char *) reloc_addr) [2] = value >> 8;
|
||||
((unsigned char *) reloc_addr) [3] = value;
|
||||
break;
|
||||
case R_SPARC_UA64:
|
||||
if (! ((long) reloc_addr & 3))
|
||||
{
|
||||
|
@ -163,6 +163,7 @@ weak_alias (__libc_sigaction, sigaction)
|
||||
#define RESTORE2(name, syscall) \
|
||||
asm \
|
||||
( \
|
||||
".text\n" \
|
||||
" .align 16\n" \
|
||||
"__" #name ":\n" \
|
||||
" movl $" #syscall ", %eax\n" \
|
||||
@ -179,6 +180,7 @@ RESTORE (restore_rt, __NR_rt_sigreturn)
|
||||
# define RESTORE2(name, syscall) \
|
||||
asm \
|
||||
( \
|
||||
".text\n" \
|
||||
" .align 8\n" \
|
||||
"__" #name ":\n" \
|
||||
" popl %eax\n" \
|
||||
|
@ -48,6 +48,7 @@ struct sigcontext
|
||||
unsigned long int sc_br[8]; /* branch registers */
|
||||
unsigned long int sc_gr[32]; /* general registers (static partition) */
|
||||
struct ia64_fpreg sc_fr[128]; /* floating-point registers */
|
||||
unsigned long int sc_rsvd[16];/* reserved for future use */
|
||||
|
||||
/* sc_mask is actually an sigset_t but we don't want to
|
||||
* include the kernel headers here. */
|
||||
|
Loading…
Reference in New Issue
Block a user