mirror of
https://sourceware.org/git/glibc.git
synced 2025-12-24 17:51:17 +03:00
Update.
1998-11-17 Ulrich Drepper <drepper@cygnus.com> * stdio-common/printf_fphex.c (__printf_fphex): Correct printing of denormalized numbers. 1998-10-06 Geoff Keating <geoffk@ozemail.com.au> * sysdeps/powerpc/dl-machine.h (elf_machine_load_address): Suppress another parentheses warning, make nano-optimisation. * sysdeps/powerpc/dl-machine.h (_dl_runtime_resolve): Preserve saved LR on stack so _mcount works. (_dl_prof_resolve): Likewise. * sysdeps/powerpc/register-dump.h: Print FPRs. Adjust for correct signal handler calling convention. * sysdeps/unix/sysv/linux/powerpc/sigcontextinfo.h: Adjust for correct signal handler calling convention---more like x86 linux and mklinux, less like linux-ppc versions between 2.1 and 2.1.126. 1998-11-17 Ulrich Drepper <drepper@cygnus.com> * configure.in: Correct allowed makeinfo version. 1998-11-17 Philip Blundell <pb@nexus.co.uk> * sysdeps/generic/bits/mathdef.h: Fix typo. * intl/locale.alias: Change `japanese' alias to match X11R6's.
This commit is contained in:
@@ -91,8 +91,7 @@ elf_machine_load_address (void)
|
||||
/* So now work out the difference between where the branch actually points,
|
||||
and the offset of that location in memory from the start of the file. */
|
||||
return ((Elf32_Addr)branchaddr - *got
|
||||
+ (*branchaddr & 0x3fffffc
|
||||
| (int)(*branchaddr << 6 & 0x80000000) >> 6));
|
||||
+ ((int)(*branchaddr << 6 & 0xffffff00) >> 6));
|
||||
}
|
||||
|
||||
#define ELF_MACHINE_BEFORE_RTLD_RELOC(dynamic_info) /* nothing */
|
||||
@@ -111,7 +110,7 @@ elf_machine_load_address (void)
|
||||
_dl_runtime_resolve:
|
||||
# We need to save the registers used to pass parameters, and register 0,
|
||||
# which is used by _mcount; the registers are saved in a stack frame.
|
||||
stwu 1,-48(1)
|
||||
stwu 1,-64(1)
|
||||
stw 0,12(1)
|
||||
stw 3,16(1)
|
||||
stw 4,20(1)
|
||||
@@ -123,7 +122,7 @@ _dl_runtime_resolve:
|
||||
mflr 0
|
||||
# We also need to save some of the condition register fields.
|
||||
stw 7,32(1)
|
||||
stw 0,52(1)
|
||||
stw 0,48(1)
|
||||
stw 8,36(1)
|
||||
mfcr 0
|
||||
stw 9,40(1)
|
||||
@@ -133,7 +132,7 @@ _dl_runtime_resolve:
|
||||
# 'fixup' returns the address we want to branch to.
|
||||
mtctr 3
|
||||
# Put the registers back...
|
||||
lwz 0,52(1)
|
||||
lwz 0,48(1)
|
||||
lwz 10,44(1)
|
||||
lwz 9,40(1)
|
||||
mtlr 0
|
||||
@@ -147,7 +146,7 @@ _dl_runtime_resolve:
|
||||
lwz 3,16(1)
|
||||
lwz 0,12(1)
|
||||
# ...unwind the stack frame, and jump to the PLT entry we updated.
|
||||
addi 1,1,48
|
||||
addi 1,1,64
|
||||
bctr
|
||||
.size _dl_runtime_resolve,.-_dl_runtime_resolve
|
||||
|
||||
@@ -157,7 +156,7 @@ _dl_runtime_resolve:
|
||||
_dl_prof_resolve:
|
||||
# We need to save the registers used to pass parameters, and register 0,
|
||||
# which is used by _mcount; the registers are saved in a stack frame.
|
||||
stwu 1,-48(1)
|
||||
stwu 1,-64(1)
|
||||
stw 0,12(1)
|
||||
stw 3,16(1)
|
||||
stw 4,20(1)
|
||||
@@ -169,7 +168,7 @@ _dl_prof_resolve:
|
||||
mflr 5
|
||||
# We also need to save some of the condition register fields.
|
||||
stw 7,32(1)
|
||||
stw 5,52(1)
|
||||
stw 5,48(1)
|
||||
stw 8,36(1)
|
||||
mfcr 0
|
||||
stw 9,40(1)
|
||||
@@ -179,7 +178,7 @@ _dl_prof_resolve:
|
||||
# 'fixup' returns the address we want to branch to.
|
||||
mtctr 3
|
||||
# Put the registers back...
|
||||
lwz 0,52(1)
|
||||
lwz 0,48(1)
|
||||
lwz 10,44(1)
|
||||
lwz 9,40(1)
|
||||
mtlr 0
|
||||
@@ -193,7 +192,7 @@ _dl_prof_resolve:
|
||||
lwz 3,16(1)
|
||||
lwz 0,12(1)
|
||||
# ...unwind the stack frame, and jump to the PLT entry we updated.
|
||||
addi 1,1,48
|
||||
addi 1,1,64
|
||||
bctr
|
||||
.size _dl_prof_resolve,.-_dl_prof_resolve
|
||||
# Undo '.section text'.
|
||||
|
||||
Reference in New Issue
Block a user