mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-24 02:03:35 +08:00
Update.
2001-04-19 Alan Modra <amodra@one.net.au> * Makerules (libc_pic.os): Add $(LDFLAGS-c_pic.os). * sysdeps/hppa/Makefile (LDFLAGS-c_pic.os): Define. (CFLAGS-.os): Remove. * sysdeps/unix/sysv/linux/hppa/sysdep.h (CALL_MCOUNT): Update comment. * sysdeps/unix/sysv/linux/hppa/sys/ucontext.h (NGREG, NFPREG, gregset): Correct for new kernel definitions. 2001-04-19 Alan Modra <alan@linuxcare.com.au> * sysdeps/hppa/elf/initfini.c: Change dlt reg save to r3 and generate unwind info by hand. 2001-04-19 Ulrich Drepper <drepper@redhat.com> * sysdeps/unix/sysv/linux/powerpc/mmap64.c (__mmap64): Optimize a bit. * configure.in: Correct regular expression for msgfmt. Patch by Bruno Haible <haible@ilog.fr>.
This commit is contained in:
parent
821fcfd5c3
commit
49547c68f9
23
ChangeLog
23
ChangeLog
@ -1,3 +1,26 @@
|
||||
2001-04-19 Alan Modra <amodra@one.net.au>
|
||||
|
||||
* Makerules (libc_pic.os): Add $(LDFLAGS-c_pic.os).
|
||||
* sysdeps/hppa/Makefile (LDFLAGS-c_pic.os): Define.
|
||||
(CFLAGS-.os): Remove.
|
||||
|
||||
* sysdeps/unix/sysv/linux/hppa/sysdep.h (CALL_MCOUNT): Update comment.
|
||||
|
||||
* sysdeps/unix/sysv/linux/hppa/sys/ucontext.h (NGREG, NFPREG,
|
||||
gregset): Correct for new kernel definitions.
|
||||
|
||||
2001-04-19 Alan Modra <alan@linuxcare.com.au>
|
||||
|
||||
* sysdeps/hppa/elf/initfini.c: Change dlt reg save to r3 and
|
||||
generate unwind info by hand.
|
||||
|
||||
2001-04-19 Ulrich Drepper <drepper@redhat.com>
|
||||
|
||||
* sysdeps/unix/sysv/linux/powerpc/mmap64.c (__mmap64): Optimize a bit.
|
||||
|
||||
* configure.in: Correct regular expression for msgfmt.
|
||||
Patch by Bruno Haible <haible@ilog.fr>.
|
||||
|
||||
2001-04-19 Andreas Jaeger <aj@suse.de>
|
||||
|
||||
* po/el.po: Add comment explaining what's broken.
|
||||
|
@ -500,7 +500,7 @@ LDFLAGS-c.so += -u __register_frame
|
||||
# between libc.so and ld.so, which can make it impossible to upgrade.
|
||||
$(common-objpfx)libc_pic.os: $(common-objpfx)libc_pic.a
|
||||
$(LINK.o) -nostdlib -nostartfiles -r -o $@ \
|
||||
-Wl,-d -Wl,--whole-archive $^
|
||||
$(LDFLAGS-c_pic.os) -Wl,-d -Wl,--whole-archive $^
|
||||
# Use our own special initializer and finalizer files for libc.so.
|
||||
$(common-objpfx)libc.so: $(elfobjdir)/soinit.os \
|
||||
$(common-objpfx)libc_pic.os \
|
||||
|
@ -1,4 +1,4 @@
|
||||
# Copyright (C) 2000 Free Software Foundation, Inc.
|
||||
# Copyright (C) 2000, 2001 Free Software Foundation, Inc.
|
||||
# This file is part of the GNU C Library.
|
||||
# Contributed by David Huggins-Daines (dhd@debian.org)
|
||||
|
||||
@ -17,8 +17,10 @@
|
||||
# write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
# Boston, MA 02111-1307, USA.
|
||||
|
||||
# We need this for all shared objects since the build process uses ld -r
|
||||
CFLAGS-.os += -ffunction-sections
|
||||
# We used to need this since the build process uses ld -r. Now we use
|
||||
# ld -r --unique=.text* which does more or less the same thing, but better.
|
||||
# CFLAGS-.os += -ffunction-sections
|
||||
LDFLAGS-c_pic.os += -Wl,--unique=.text*
|
||||
|
||||
ifeq ($(subdir),elf)
|
||||
dl-routines += dl-symaddr dl-fptr
|
||||
|
@ -59,8 +59,6 @@ __asm__ ("
|
||||
.align 4
|
||||
.globl _init
|
||||
.type _init,@function
|
||||
.proc
|
||||
.callinfo
|
||||
_init:
|
||||
stw %rp,-20(%sp)
|
||||
stwm %r4,64(%sp)
|
||||
@ -68,25 +66,38 @@ _init:
|
||||
bl __gmon_start__,%rp
|
||||
copy %r19,%r4 /* delay slot */
|
||||
copy %r4,%r19
|
||||
.align 4
|
||||
.procend
|
||||
/*@_init_PROLOG_ENDS*/
|
||||
|
||||
/*@_init_EPILOG_BEGINS*/
|
||||
.section .init
|
||||
copy %r4,%r19
|
||||
ldw -84(%sp),%rp
|
||||
bv %r0(%rp)
|
||||
ldwm -64(%sp),%r4
|
||||
.text
|
||||
.align 4
|
||||
.weak __gmon_start__
|
||||
.type __gmon_start__,@function
|
||||
__gmon_start__:
|
||||
.proc
|
||||
.callinfo
|
||||
__gmon_start__:
|
||||
.entry
|
||||
bv,n %r0(%r2)
|
||||
.exit
|
||||
.procend
|
||||
|
||||
/* Here is the tail end of _init. We put __gmon_start before this so
|
||||
that the assembler creates the .PARISC.unwind section for us, ie.
|
||||
with the right attributes. */
|
||||
.section .init
|
||||
ldw -84(%sp),%rp
|
||||
copy %r4,%r19
|
||||
bv %r0(%rp)
|
||||
_end_init:
|
||||
ldwm -64(%sp),%r4
|
||||
|
||||
/* Our very own unwind info, because the assembler can't handle
|
||||
functions split into two or more pieces. */
|
||||
.section .PARISC.unwind
|
||||
.extern _init
|
||||
.word _init, _end_init
|
||||
.byte 0x08, 0x01, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08
|
||||
|
||||
/*@_init_EPILOG_ENDS*/
|
||||
|
||||
/*@_fini_PROLOG_BEGINS*/
|
||||
@ -94,23 +105,26 @@ __gmon_start__:
|
||||
.align 4
|
||||
.globl _fini
|
||||
.type _fini,@function
|
||||
.proc
|
||||
.callinfo
|
||||
_fini:
|
||||
stw %rp,-20(%sp)
|
||||
stwm %r4,64(%sp)
|
||||
stw %r19,-32(%sp)
|
||||
copy %r19,%r4
|
||||
.align 4
|
||||
.procend
|
||||
/*@_fini_PROLOG_ENDS*/
|
||||
|
||||
/*@_fini_EPILOG_BEGINS*/
|
||||
.section .fini
|
||||
copy %r4,%r19
|
||||
ldw -84(%sp),%rp
|
||||
copy %r4,%r19
|
||||
bv %r0(%rp)
|
||||
_end_fini:
|
||||
ldwm -64(%sp),%r4
|
||||
|
||||
.section .PARISC.unwind
|
||||
.extern _fini
|
||||
.word _fini, _end_fini
|
||||
.byte 0x08, 0x01, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08
|
||||
|
||||
/*@_fini_EPILOG_ENDS*/
|
||||
|
||||
/*@TRAILER_BEGINS*/
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* Copyright (C) 1997, 1998, 2000 Free Software Foundation, Inc.
|
||||
/* Copyright (C) 1997, 1998, 2000, 2001 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,15 +33,16 @@
|
||||
typedef unsigned long int greg_t;
|
||||
|
||||
/* Number of general registers. */
|
||||
#define NGREG 42
|
||||
#define NFPREG 33
|
||||
#define NGREG 80
|
||||
#define NFPREG 32
|
||||
|
||||
/* Container for all general registers. */
|
||||
typedef struct gregset
|
||||
{
|
||||
greg_t g_regs[32];
|
||||
greg_t sr_regs[5];
|
||||
greg_t g_pad[5];
|
||||
greg_t sr_regs[8];
|
||||
greg_t cr_regs[24];
|
||||
greg_t g_pad[16];
|
||||
} gregset_t;
|
||||
|
||||
/* Container for all FPU registers. */
|
||||
|
@ -89,13 +89,8 @@
|
||||
1: .size C_SYMBOL_NAME(name),1b-C_SYMBOL_NAME(name)
|
||||
|
||||
/* If compiled for profiling, call `mcount' at the start of each function. */
|
||||
#ifdef PROF
|
||||
/* The mcount code relies on a normal frame pointer being on the stack
|
||||
to locate our caller, so push one just for its benefit. */
|
||||
#define CALL_MCOUNT /* XXX */
|
||||
#else
|
||||
/* No, don't bother. gcc will put the call in for us. */
|
||||
#define CALL_MCOUNT /* Do nothing. */
|
||||
#endif
|
||||
|
||||
/* syscall wrappers consist of
|
||||
#include <sysdep.h>
|
||||
@ -231,7 +226,7 @@
|
||||
register unsigned long __r21 __asm__("r21") = (unsigned long)r21; \
|
||||
LOAD_ARGS_5(r26,r25,r24,r23,r22)
|
||||
|
||||
#define ASM_ARGS_0
|
||||
#define ASM_ARGS_0
|
||||
#define ASM_ARGS_1 , "r" (__r26)
|
||||
#define ASM_ARGS_2 , "r" (__r26), "r" (__r25)
|
||||
#define ASM_ARGS_3 , "r" (__r26), "r" (__r25), "r" (__r24)
|
||||
|
Loading…
Reference in New Issue
Block a user