mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-27 03:33:33 +08:00
Update.
2002-10-02 Ulrich Drepper <drepper@redhat.com> * sysdeps/s390/s390-32/initfini.c: Avoid unterminated string literals. * sysdeps/sh/elf/initfini.c: Likewise. * sysdeps/mach/hurd/mips/init-first.c: Likewise. * sysdeps/hppa/elf/initfini.c: Likewise. * sysdeps/sparc/sparc32/soft-fp/sfp-machine.h: Likewise.
This commit is contained in:
parent
4c98451b0e
commit
62497f9c8b
@ -1,3 +1,11 @@
|
||||
2002-10-02 Ulrich Drepper <drepper@redhat.com>
|
||||
|
||||
* sysdeps/s390/s390-32/initfini.c: Avoid unterminated string literals.
|
||||
* sysdeps/sh/elf/initfini.c: Likewise.
|
||||
* sysdeps/mach/hurd/mips/init-first.c: Likewise.
|
||||
* sysdeps/hppa/elf/initfini.c: Likewise.
|
||||
* sysdeps/sparc/sparc32/soft-fp/sfp-machine.h: Likewise.
|
||||
|
||||
2002-10-02 Steven Munroe <sjmunroe@us.ibm.com>
|
||||
Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
|
36
FAQ.in
36
FAQ.in
@ -66,8 +66,7 @@ a local mirror first.
|
||||
|
||||
You should always try to use the latest official release. Older versions
|
||||
may not have all the features GNU libc requires. The current releases of
|
||||
gcc (2.95 or newer) should work with the GNU C library (for powerpc see
|
||||
?powerpc; for ARM see ?arm; for MIPS see ?mips).
|
||||
gcc (3.2 or newer) should work with the GNU C library (for MIPS see ?mips).
|
||||
|
||||
Please note that gcc 2.95 and 2.95.x cannot compile glibc on Alpha due to
|
||||
problems in the complex float support.
|
||||
@ -98,18 +97,11 @@ them.
|
||||
|
||||
??powerpc Which compiler should I use for powerpc?
|
||||
|
||||
{GK} You want to use at least gcc 2.95 (together with the right versions
|
||||
of all the other tools, of course). See also ?excpt.
|
||||
{} Removed. Does not apply anymore.
|
||||
|
||||
??arm Which tools should I use for ARM?
|
||||
|
||||
{PB} You should use egcs 1.1 or a later version. For ELF systems some
|
||||
changes are needed to the compiler; a patch against egcs-1.1.x can be found
|
||||
at:
|
||||
|
||||
<ftp://ftp.netwinder.org/users/p/philb/egcs-1.1.1pre2-diff-981126>
|
||||
|
||||
Binutils 2.10.1 or later is also required.
|
||||
{} Removed. Does not apply anymore.
|
||||
|
||||
?? Do I need some more things to compile the GNU C Library?
|
||||
|
||||
@ -305,9 +297,7 @@ test in the sources.
|
||||
|
||||
There are some failures which are not directly related to the GNU libc:
|
||||
- Some compilers produce buggy code. No compiler gets single precision
|
||||
complex numbers correct on Alpha. Otherwise, the egcs 1.1 release should be
|
||||
ok; gcc 2.8.1 might cause some failures; gcc 2.7.2.x is so buggy that
|
||||
explicit checks have been used so that you can't build with it.
|
||||
complex numbers correct on Alpha. Otherwise, gcc-3.2 should be ok.
|
||||
- The kernel might have bugs. For example on Linux/Alpha 2.0.34 the
|
||||
floating point handling has quite a number of bugs and therefore most of
|
||||
the test cases in the math subdirectory will fail. Linux 2.2 has
|
||||
@ -367,8 +357,8 @@ newer.
|
||||
|
||||
??mips Which tools should I use for MIPS?
|
||||
|
||||
{AJ} You should use the current development version of gcc 3.0 or newer from
|
||||
CVS. gcc 2.95.x does not work correctly on mips-linux.
|
||||
{AJ} You should use the current development version of gcc 3.2 or newer from
|
||||
CVS.
|
||||
|
||||
You need also recent binutils, anything before and including 2.11 will not
|
||||
work correctly. Either try the Linux binutils 2.11.90.0.5 from HJ Lu or the
|
||||
@ -635,7 +625,7 @@ you got with your distribution.
|
||||
glibc 2.x?
|
||||
|
||||
{AJ} There's only correct support for glibc 2.0.x in gcc 2.7.2.3 or later.
|
||||
But you should get at least gcc 2.95.2.1 (or later versions) instead.
|
||||
But you should get at least gcc 2.95.3 (or later versions) anyway
|
||||
|
||||
?? The `gencat' utility cannot process the catalog sources which
|
||||
were used on my Linux libc5 based system. Why?
|
||||
@ -1025,7 +1015,8 @@ repository.
|
||||
{BH} You are using g++ 2.95.2? After upgrading to glibc 2.2, you need to
|
||||
apply a patch to the include files in /usr/include/g++, because the fpos_t
|
||||
type has changed in glibc 2.2. The patch is at
|
||||
http://clisp.cons.org/~haible/gccinclude-glibc-2.2-compat.diff
|
||||
|
||||
http://www.haible.de/bruno/gccinclude-glibc-2.2-compat.diff
|
||||
|
||||
?? When recompiling GCC, I get compilation errors in libio.
|
||||
|
||||
@ -1033,7 +1024,6 @@ http://clisp.cons.org/~haible/gccinclude-glibc-2.2-compat.diff
|
||||
This version is needed because the fpos_t type and a few libio internals
|
||||
have changed in glibc 2.2, and gcc 2.95.3 contains a corresponding patch.
|
||||
|
||||
|
||||
?? Why shall glibc never get installed on GNU/Linux systems in
|
||||
/usr/local?
|
||||
|
||||
@ -1047,6 +1037,14 @@ installation, use another directory as argument to --prefix. If you like to
|
||||
install this glibc version as default version, overriding the existing one,
|
||||
use --prefix=/usr and everything will go in the right places.
|
||||
|
||||
?? When recompiling GCC, I get compilation errors in libstdc++.
|
||||
|
||||
{BH} You are trying to recompile gcc 3.2? You need to patch gcc 3.2,
|
||||
because some last minute changes were made in glibc 2.3 which were not
|
||||
known when gcc 3.2 was released. The patch is at
|
||||
|
||||
http://www.haible.de/bruno/gcc-3.2-glibc-2.3-compat.diff
|
||||
|
||||
? Source and binary incompatibilities, and what to do about them
|
||||
|
||||
?? I expect GNU libc to be 100% source code compatible with
|
||||
|
4
NEWS
4
NEWS
@ -1,4 +1,4 @@
|
||||
GNU C Library NEWS -- history of user-visible changes. 2002-8-29
|
||||
GNU C Library NEWS -- history of user-visible changes. 2002-10-2
|
||||
Copyright (C) 1992-2001, 2002 Free Software Foundation, Inc.
|
||||
See the end for copying conditions.
|
||||
|
||||
@ -40,7 +40,7 @@ Version 2.3
|
||||
Changes by Ulrich Drepper. SH support by Kaz Kojima.
|
||||
|
||||
* Bruno Haible contributed iconv converters for ISO-2022-JP-3, SHIFT JIS-X0213,
|
||||
and EUC-JISX0213.
|
||||
EUC-JISX0213, and TISCII.
|
||||
|
||||
* New header <ifaddrs.h> with functions `getifaddrs' and `freeifaddrs':
|
||||
BSD-compatible interface for getting all network interface addresses.
|
||||
|
@ -19,9 +19,10 @@ configurations:
|
||||
mips*-*-linux-gnu Linux-2.x on MIPS
|
||||
ia64-*-linux-gnu Linux-2.x on ia64
|
||||
s390-*-linux-gnu Linux-2.x on IBM S/390
|
||||
s390x-*-linux-gnu Linux-2.x on IBM S/390 64-bit
|
||||
s390x-*-linux-gnu Linux-2.4+ on IBM S/390 64-bit
|
||||
sh-*-linux-gnu Linux-2.x on Super Hitachi
|
||||
cris-*-linux-gnu Linux-2.4+ on CRIS
|
||||
x86-64-*-linux-gnu Linux-2.4+ on x86-64
|
||||
|
||||
Former releases of this library (version 1.09.1 and perhaps earlier
|
||||
versions) used to run on the following configurations:
|
||||
|
@ -5,8 +5,8 @@
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: libc 2.2.94\n"
|
||||
"POT-Creation-Date: 2002-09-23 22:43-0700\n"
|
||||
"Project-Id-Version: libc 2.3\n"
|
||||
"POT-Creation-Date: 2002-10-02 17:22-0700\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
@ -3586,7 +3586,7 @@ msgstr ""
|
||||
msgid "Unmatched ) or \\)"
|
||||
msgstr ""
|
||||
|
||||
#: posix/regcomp.c:670
|
||||
#: posix/regcomp.c:673
|
||||
msgid "No previous regular expression"
|
||||
msgstr ""
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* Special .init and .fini section support for HPPA
|
||||
Copyright (C) 2000 Free Software Foundation, Inc.
|
||||
Copyright (C) 2000, 2002 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
|
||||
@ -39,84 +39,84 @@
|
||||
making the comparison and indirect call is quite expensive (see the
|
||||
comment in sysdeps/generic/initfini.c). */
|
||||
|
||||
__asm__ ("
|
||||
|
||||
#include \"defs.h\"
|
||||
|
||||
/*@HEADER_ENDS*/
|
||||
|
||||
/*@_init_PROLOG_BEGINS*/
|
||||
.section .init
|
||||
.align 4
|
||||
.globl _init
|
||||
.type _init,@function
|
||||
_init:
|
||||
stw %rp,-20(%sp)
|
||||
stwm %r4,64(%sp)
|
||||
stw %r19,-32(%sp)
|
||||
bl __gmon_start__,%rp
|
||||
copy %r19,%r4 /* delay slot */
|
||||
copy %r4,%r19
|
||||
/*@_init_PROLOG_ENDS*/
|
||||
|
||||
/*@_init_EPILOG_BEGINS*/
|
||||
.text
|
||||
.align 4
|
||||
.weak __gmon_start__
|
||||
.type __gmon_start__,@function
|
||||
__gmon_start__:
|
||||
.proc
|
||||
.callinfo
|
||||
.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*/
|
||||
.section .fini
|
||||
.align 4
|
||||
.globl _fini
|
||||
.type _fini,@function
|
||||
_fini:
|
||||
stw %rp,-20(%sp)
|
||||
stwm %r4,64(%sp)
|
||||
stw %r19,-32(%sp)
|
||||
copy %r19,%r4
|
||||
/*@_fini_PROLOG_ENDS*/
|
||||
|
||||
/*@_fini_EPILOG_BEGINS*/
|
||||
.section .fini
|
||||
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*/
|
||||
__asm__ ("\
|
||||
\n\
|
||||
#include \"defs.h\"\n\
|
||||
\n\
|
||||
/*@HEADER_ENDS*/\n\
|
||||
\n\
|
||||
/*@_init_PROLOG_BEGINS*/\n\
|
||||
.section .init\n\
|
||||
.align 4\n\
|
||||
.globl _init\n\
|
||||
.type _init,@function\n\
|
||||
_init:\n\
|
||||
stw %rp,-20(%sp)\n\
|
||||
stwm %r4,64(%sp)\n\
|
||||
stw %r19,-32(%sp)\n\
|
||||
bl __gmon_start__,%rp\n\
|
||||
copy %r19,%r4 /* delay slot */\n\
|
||||
copy %r4,%r19\n\
|
||||
/*@_init_PROLOG_ENDS*/\n\
|
||||
\n\
|
||||
/*@_init_EPILOG_BEGINS*/\n\
|
||||
.text\n\
|
||||
.align 4\n\
|
||||
.weak __gmon_start__\n\
|
||||
.type __gmon_start__,@function\n\
|
||||
__gmon_start__:\n\
|
||||
.proc\n\
|
||||
.callinfo\n\
|
||||
.entry\n\
|
||||
bv,n %r0(%r2)\n\
|
||||
.exit\n\
|
||||
.procend\n\
|
||||
\n\
|
||||
/* Here is the tail end of _init. We put __gmon_start before this so\n\
|
||||
that the assembler creates the .PARISC.unwind section for us, ie.\n\
|
||||
with the right attributes. */\n\
|
||||
.section .init\n\
|
||||
ldw -84(%sp),%rp\n\
|
||||
copy %r4,%r19\n\
|
||||
bv %r0(%rp)\n\
|
||||
_end_init:\n\
|
||||
ldwm -64(%sp),%r4\n\
|
||||
\n\
|
||||
/* Our very own unwind info, because the assembler can't handle\n\
|
||||
functions split into two or more pieces. */\n\
|
||||
.section .PARISC.unwind\n\
|
||||
.extern _init\n\
|
||||
.word _init, _end_init\n\
|
||||
.byte 0x08, 0x01, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08\n\
|
||||
\n\
|
||||
/*@_init_EPILOG_ENDS*/\n\
|
||||
\n\
|
||||
/*@_fini_PROLOG_BEGINS*/\n\
|
||||
.section .fini\n\
|
||||
.align 4\n\
|
||||
.globl _fini\n\
|
||||
.type _fini,@function\n\
|
||||
_fini:\n\
|
||||
stw %rp,-20(%sp)\n\
|
||||
stwm %r4,64(%sp)\n\
|
||||
stw %r19,-32(%sp)\n\
|
||||
copy %r19,%r4\n\
|
||||
/*@_fini_PROLOG_ENDS*/\n\
|
||||
\n\
|
||||
/*@_fini_EPILOG_BEGINS*/\n\
|
||||
.section .fini\n\
|
||||
ldw -84(%sp),%rp\n\
|
||||
copy %r4,%r19\n\
|
||||
bv %r0(%rp)\n\
|
||||
_end_fini:\n\
|
||||
ldwm -64(%sp),%r4\n\
|
||||
\n\
|
||||
.section .PARISC.unwind\n\
|
||||
.extern _fini\n\
|
||||
.word _fini, _end_fini\n\
|
||||
.byte 0x08, 0x01, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08\n\
|
||||
\n\
|
||||
/*@_fini_EPILOG_ENDS*/\n\
|
||||
\n\
|
||||
/*@TRAILER_BEGINS*/\
|
||||
");
|
||||
|
@ -216,7 +216,7 @@ _init:\n\
|
||||
jal preinit\n\
|
||||
sd $28, 6*8($29)\n\
|
||||
move $16, $29 # Save the old stack pointer to s0 ($16)\n\
|
||||
daddu $4, $29, 4*8
|
||||
daddu $4, $29, 4*8\n\
|
||||
jal __init\n\
|
||||
# Restore saved registers from the old stack.\n\
|
||||
ld $28, 6*8($16)\n\
|
||||
@ -251,7 +251,7 @@ _init:\n\
|
||||
jal preinit\n\
|
||||
sw $28, 24($29)\n\
|
||||
move $16, $29 # Save the old stack pointer to s0 ($16)\n\
|
||||
addu $4, $29, 32
|
||||
addu $4, $29, 32\n\
|
||||
jal __init\n\
|
||||
# Restore saved registers from the old stack.\n\
|
||||
lw $28, 24($16)\n\
|
||||
@ -343,12 +343,12 @@ asm ("\
|
||||
.globl __libc_init_first\n\
|
||||
__libc_init_first:\n\
|
||||
dsubu $29, 8\n\
|
||||
sd $31, 0($29)
|
||||
sd $31, 0($29)\n\
|
||||
jal __mach_init\n\
|
||||
ld $4, 0($29)
|
||||
ld $5, 1*8($29)
|
||||
ld $6, 2*8($29)
|
||||
ld $7, 3*8($29)
|
||||
ld $4, 0($29)\n\
|
||||
ld $5, 1*8($29)\n\
|
||||
ld $6, 2*8($29)\n\
|
||||
ld $7, 3*8($29)\n\
|
||||
j ___libc_init_first\n\
|
||||
");
|
||||
#else
|
||||
@ -358,12 +358,12 @@ asm ("\
|
||||
.globl __libc_init_first\n\
|
||||
__libc_init_first:\n\
|
||||
subu $29, 4\n\
|
||||
sw $31, 0($29)
|
||||
sw $31, 0($29)\n\
|
||||
jal __mach_init\n\
|
||||
lw $4, 0($29)
|
||||
lw $5, 4($29)
|
||||
lw $6, 8($29)
|
||||
lw $7, 12($29)
|
||||
lw $4, 0($29)\n\
|
||||
lw $5, 4($29)\n\
|
||||
lw $6, 8($29)\n\
|
||||
lw $7, 12($29)\n\
|
||||
j ___libc_init_first\n\
|
||||
");
|
||||
#endif
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* Special .init and .fini section support for S/390.
|
||||
Copyright (C) 2000, 2001 Free Software Foundation, Inc.
|
||||
Copyright (C) 2000, 2001, 2002 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
|
||||
@ -27,114 +27,114 @@
|
||||
* crtn.s puts the corresponding function epilogues
|
||||
in the .init and .fini sections. */
|
||||
|
||||
__asm__ ("
|
||||
|
||||
#include \"defs.h\"
|
||||
|
||||
/*@HEADER_ENDS*/
|
||||
|
||||
/*@TESTS_BEGIN*/
|
||||
|
||||
/*@TESTS_END*/
|
||||
|
||||
/*@_init_PROLOG_BEGINS*/
|
||||
|
||||
.section .init
|
||||
#NO_APP
|
||||
.align 4
|
||||
.globl _init
|
||||
.type _init,@function
|
||||
_init:
|
||||
# leaf function 0
|
||||
# automatics 0
|
||||
# outgoing args 0
|
||||
# need frame pointer 0
|
||||
# call alloca 0
|
||||
# has varargs 0
|
||||
# incoming args (stack) 0
|
||||
# function length 36
|
||||
STM 6,15,24(15)
|
||||
BRAS 13,.LTN1_0
|
||||
.LT1_0:
|
||||
.LC14:
|
||||
.long __gmon_start__@GOT
|
||||
.LC15:
|
||||
.long _GLOBAL_OFFSET_TABLE_-.LT1_0
|
||||
.LTN1_0:
|
||||
LR 1,15
|
||||
AHI 15,-96
|
||||
ST 1,0(15)
|
||||
L 12,.LC15-.LT1_0(13)
|
||||
AR 12,13
|
||||
L 1,.LC14-.LT1_0(13)
|
||||
L 1,0(1,12)
|
||||
LTR 1,1
|
||||
JE .L22
|
||||
BASR 14,1
|
||||
.L22:
|
||||
#APP
|
||||
.align 4,0x07
|
||||
END_INIT
|
||||
|
||||
/*@_init_PROLOG_ENDS*/
|
||||
|
||||
/*@_init_EPILOG_BEGINS*/
|
||||
.align 4
|
||||
.section .init
|
||||
#NO_APP
|
||||
.align 4
|
||||
L 4,152(15)
|
||||
LM 6,15,120(15)
|
||||
BR 4
|
||||
#APP
|
||||
END_INIT
|
||||
|
||||
/*@_init_EPILOG_ENDS*/
|
||||
|
||||
/*@_fini_PROLOG_BEGINS*/
|
||||
.section .fini
|
||||
#NO_APP
|
||||
.align 4
|
||||
.globl _fini
|
||||
.type _fini,@function
|
||||
_fini:
|
||||
# leaf function 0
|
||||
# automatics 0
|
||||
# outgoing args 0
|
||||
# need frame pointer 0
|
||||
# call alloca 0
|
||||
# has varargs 0
|
||||
# incoming args (stack) 0
|
||||
# function length 30
|
||||
STM 6,15,24(15)
|
||||
BRAS 13,.LTN2_0
|
||||
.LT2_0:
|
||||
.LC17:
|
||||
.long _GLOBAL_OFFSET_TABLE_-.LT2_0
|
||||
.LTN2_0:
|
||||
LR 1,15
|
||||
AHI 15,-96
|
||||
ST 1,0(15)
|
||||
L 12,.LC17-.LT2_0(13)
|
||||
AR 12,13
|
||||
#APP
|
||||
.align 4,0x07
|
||||
END_FINI
|
||||
|
||||
/*@_fini_PROLOG_ENDS*/
|
||||
|
||||
/*@_fini_EPILOG_BEGINS*/
|
||||
.align 4
|
||||
.section .fini
|
||||
#NO_APP
|
||||
.align 4
|
||||
L 4,152(15)
|
||||
LM 6,15,120(15)
|
||||
BR 4
|
||||
#APP
|
||||
END_FINI
|
||||
|
||||
/*@_fini_EPILOG_ENDS*/
|
||||
|
||||
/*@TRAILER_BEGINS*/
|
||||
__asm__ ("\
|
||||
\n\
|
||||
#include \"defs.h\"\n\
|
||||
\n\
|
||||
/*@HEADER_ENDS*/\n\
|
||||
\n\
|
||||
/*@TESTS_BEGIN*/\n\
|
||||
\n\
|
||||
/*@TESTS_END*/\n\
|
||||
\n\
|
||||
/*@_init_PROLOG_BEGINS*/\n\
|
||||
\n\
|
||||
.section .init\n\
|
||||
#NO_APP\n\
|
||||
.align 4\n\
|
||||
.globl _init\n\
|
||||
.type _init,@function\n\
|
||||
_init:\n\
|
||||
# leaf function 0\n\
|
||||
# automatics 0\n\
|
||||
# outgoing args 0\n\
|
||||
# need frame pointer 0\n\
|
||||
# call alloca 0\n\
|
||||
# has varargs 0\n\
|
||||
# incoming args (stack) 0\n\
|
||||
# function length 36\n\
|
||||
STM 6,15,24(15)\n\
|
||||
BRAS 13,.LTN1_0\n\
|
||||
.LT1_0:\n\
|
||||
.LC14:\n\
|
||||
.long __gmon_start__@GOT\n\
|
||||
.LC15:\n\
|
||||
.long _GLOBAL_OFFSET_TABLE_-.LT1_0\n\
|
||||
.LTN1_0:\n\
|
||||
LR 1,15\n\
|
||||
AHI 15,-96\n\
|
||||
ST 1,0(15)\n\
|
||||
L 12,.LC15-.LT1_0(13)\n\
|
||||
AR 12,13\n\
|
||||
L 1,.LC14-.LT1_0(13)\n\
|
||||
L 1,0(1,12)\n\
|
||||
LTR 1,1\n\
|
||||
JE .L22\n\
|
||||
BASR 14,1\n\
|
||||
.L22:\n\
|
||||
#APP\n\
|
||||
.align 4,0x07\n\
|
||||
END_INIT\n\
|
||||
\n\
|
||||
/*@_init_PROLOG_ENDS*/\n\
|
||||
\n\
|
||||
/*@_init_EPILOG_BEGINS*/\n\
|
||||
.align 4\n\
|
||||
.section .init\n\
|
||||
#NO_APP\n\
|
||||
.align 4\n\
|
||||
L 4,152(15)\n\
|
||||
LM 6,15,120(15)\n\
|
||||
BR 4\n\
|
||||
#APP\n\
|
||||
END_INIT\n\
|
||||
\n\
|
||||
/*@_init_EPILOG_ENDS*/\n\
|
||||
\n\
|
||||
/*@_fini_PROLOG_BEGINS*/\n\
|
||||
.section .fini\n\
|
||||
#NO_APP\n\
|
||||
.align 4\n\
|
||||
.globl _fini\n\
|
||||
.type _fini,@function\n\
|
||||
_fini:\n\
|
||||
# leaf function 0\n\
|
||||
# automatics 0\n\
|
||||
# outgoing args 0\n\
|
||||
# need frame pointer 0\n\
|
||||
# call alloca 0\n\
|
||||
# has varargs 0\n\
|
||||
# incoming args (stack) 0\n\
|
||||
# function length 30\n\
|
||||
STM 6,15,24(15)\n\
|
||||
BRAS 13,.LTN2_0\n\
|
||||
.LT2_0:\n\
|
||||
.LC17:\n\
|
||||
.long _GLOBAL_OFFSET_TABLE_-.LT2_0\n\
|
||||
.LTN2_0:\n\
|
||||
LR 1,15\n\
|
||||
AHI 15,-96\n\
|
||||
ST 1,0(15)\n\
|
||||
L 12,.LC17-.LT2_0(13)\n\
|
||||
AR 12,13\n\
|
||||
#APP\n\
|
||||
.align 4,0x07\n\
|
||||
END_FINI\n\
|
||||
\n\
|
||||
/*@_fini_PROLOG_ENDS*/\n\
|
||||
\n\
|
||||
/*@_fini_EPILOG_BEGINS*/\n\
|
||||
.align 4\n\
|
||||
.section .fini\n\
|
||||
#NO_APP\n\
|
||||
.align 4\n\
|
||||
L 4,152(15)\n\
|
||||
LM 6,15,120(15)\n\
|
||||
BR 4\n\
|
||||
#APP\n\
|
||||
END_FINI\n\
|
||||
\n\
|
||||
/*@_fini_EPILOG_ENDS*/\n\
|
||||
\n\
|
||||
/*@TRAILER_BEGINS*/\
|
||||
");
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* Special .init and .fini section support for SH.
|
||||
Copyright (C) 2000 Free Software Foundation, Inc.
|
||||
Copyright (C) 2000, 2002 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
|
||||
@ -27,116 +27,116 @@
|
||||
* crtn.s puts the corresponding function epilogues
|
||||
in the .init and .fini sections. */
|
||||
|
||||
__asm__ ("
|
||||
|
||||
#include \"defs.h\"
|
||||
#define SHARED
|
||||
|
||||
/*@HEADER_ENDS*/
|
||||
|
||||
/*@TESTS_BEGIN*/
|
||||
|
||||
/*@TESTS_END*/
|
||||
|
||||
/*@_init_PROLOG_BEGINS*/
|
||||
.section .init
|
||||
.align 5
|
||||
.global _init
|
||||
.type _init,@function
|
||||
_init:
|
||||
mov.l r12,@-r15
|
||||
mov.l r14,@-r15
|
||||
sts.l pr,@-r15
|
||||
#ifdef SHARED
|
||||
mova .L22,r0
|
||||
mov.l .L22,r12
|
||||
add r0,r12
|
||||
mova .L23,r0
|
||||
mov.l .L23,r1
|
||||
add r0,r1
|
||||
#else
|
||||
mov.l .L23,r1
|
||||
#endif
|
||||
jsr @r1
|
||||
mov r15,r14
|
||||
bra 1f
|
||||
nop
|
||||
.align 2
|
||||
#ifdef SHARED
|
||||
.L22:
|
||||
.long _GLOBAL_OFFSET_TABLE_
|
||||
.L23:
|
||||
.long __gmon_start__@PLT
|
||||
#else
|
||||
.L23:
|
||||
.long __gmon_start__
|
||||
#endif
|
||||
1:
|
||||
ALIGN
|
||||
END_INIT
|
||||
|
||||
|
||||
/*@_init_PROLOG_ENDS*/
|
||||
|
||||
/*@_init_EPILOG_BEGINS*/
|
||||
.section .init
|
||||
mov r14,r15
|
||||
lds.l @r15+,pr
|
||||
mov.l @r15+,r14
|
||||
rts
|
||||
mov.l @r15+,r12
|
||||
END_INIT
|
||||
.section .text
|
||||
.align 5
|
||||
.weak __gmon_start__
|
||||
.type __gmon_start__,@function
|
||||
__gmon_start__:
|
||||
mov.l r14,@-r15
|
||||
mov r15,r14
|
||||
mov r14,r15
|
||||
rts
|
||||
mov.l @r15+,r14
|
||||
|
||||
/*@_init_EPILOG_ENDS*/
|
||||
|
||||
/*@_fini_PROLOG_BEGINS*/
|
||||
.section .fini
|
||||
.align 5
|
||||
.global _fini
|
||||
.type _fini,@function
|
||||
_fini:
|
||||
mov.l r12,@-r15
|
||||
mov.l r14,@-r15
|
||||
sts.l pr,@-r15
|
||||
#ifdef SHARED
|
||||
mova .L27,r0
|
||||
mov.l .L27,r12
|
||||
add r0,r12
|
||||
#endif
|
||||
mov r15,r14
|
||||
ALIGN
|
||||
END_FINI
|
||||
#ifdef SHARED
|
||||
bra 1f
|
||||
nop
|
||||
.align 2
|
||||
.L27:
|
||||
.long _GLOBAL_OFFSET_TABLE_
|
||||
#endif
|
||||
1:
|
||||
/*@_fini_PROLOG_ENDS*/
|
||||
|
||||
/*@_fini_EPILOG_BEGINS*/
|
||||
.section .fini
|
||||
mov r14,r15
|
||||
lds.l @r15+,pr
|
||||
mov.l @r15+,r14
|
||||
rts
|
||||
mov.l @r15+,r12
|
||||
|
||||
END_FINI
|
||||
|
||||
/*@_fini_EPILOG_ENDS*/
|
||||
|
||||
/*@TRAILER_BEGINS*/
|
||||
__asm__ ("\
|
||||
\n\
|
||||
#include \"defs.h\"\n\
|
||||
#define SHARED\n\
|
||||
\n\
|
||||
/*@HEADER_ENDS*/\n\
|
||||
\n\
|
||||
/*@TESTS_BEGIN*/\n\
|
||||
\n\
|
||||
/*@TESTS_END*/\n\
|
||||
\n\
|
||||
/*@_init_PROLOG_BEGINS*/\n\
|
||||
.section .init\n\
|
||||
.align 5\n\
|
||||
.global _init\n\
|
||||
.type _init,@function\n\
|
||||
_init:\n\
|
||||
mov.l r12,@-r15\n\
|
||||
mov.l r14,@-r15\n\
|
||||
sts.l pr,@-r15\n\
|
||||
#ifdef SHARED\n\
|
||||
mova .L22,r0\n\
|
||||
mov.l .L22,r12\n\
|
||||
add r0,r12\n\
|
||||
mova .L23,r0\n\
|
||||
mov.l .L23,r1\n\
|
||||
add r0,r1\n\
|
||||
#else\n\
|
||||
mov.l .L23,r1\n\
|
||||
#endif\n\
|
||||
jsr @r1\n\
|
||||
mov r15,r14\n\
|
||||
bra 1f\n\
|
||||
nop\n\
|
||||
.align 2\n\
|
||||
#ifdef SHARED\n\
|
||||
.L22:\n\
|
||||
.long _GLOBAL_OFFSET_TABLE_\n\
|
||||
.L23:\n\
|
||||
.long __gmon_start__@PLT\n\
|
||||
#else\n\
|
||||
.L23:\n\
|
||||
.long __gmon_start__\n\
|
||||
#endif\n\
|
||||
1:\n\
|
||||
ALIGN\n\
|
||||
END_INIT\n\
|
||||
\n\
|
||||
\n\
|
||||
/*@_init_PROLOG_ENDS*/\n\
|
||||
\n\
|
||||
/*@_init_EPILOG_BEGINS*/\n\
|
||||
.section .init\n\
|
||||
mov r14,r15\n\
|
||||
lds.l @r15+,pr\n\
|
||||
mov.l @r15+,r14\n\
|
||||
rts \n\
|
||||
mov.l @r15+,r12\n\
|
||||
END_INIT\n\
|
||||
.section .text\n\
|
||||
.align 5\n\
|
||||
.weak __gmon_start__\n\
|
||||
.type __gmon_start__,@function\n\
|
||||
__gmon_start__:\n\
|
||||
mov.l r14,@-r15\n\
|
||||
mov r15,r14\n\
|
||||
mov r14,r15\n\
|
||||
rts \n\
|
||||
mov.l @r15+,r14\n\
|
||||
\n\
|
||||
/*@_init_EPILOG_ENDS*/\n\
|
||||
\n\
|
||||
/*@_fini_PROLOG_BEGINS*/\n\
|
||||
.section .fini\n\
|
||||
.align 5\n\
|
||||
.global _fini\n\
|
||||
.type _fini,@function\n\
|
||||
_fini:\n\
|
||||
mov.l r12,@-r15\n\
|
||||
mov.l r14,@-r15\n\
|
||||
sts.l pr,@-r15\n\
|
||||
#ifdef SHARED\n\
|
||||
mova .L27,r0\n\
|
||||
mov.l .L27,r12\n\
|
||||
add r0,r12\n\
|
||||
#endif\n\
|
||||
mov r15,r14\n\
|
||||
ALIGN\n\
|
||||
END_FINI\n\
|
||||
#ifdef SHARED\n\
|
||||
bra 1f\n\
|
||||
nop\n\
|
||||
.align 2\n\
|
||||
.L27:\n\
|
||||
.long _GLOBAL_OFFSET_TABLE_\n\
|
||||
#endif\n\
|
||||
1:\n\
|
||||
/*@_fini_PROLOG_ENDS*/\n\
|
||||
\n\
|
||||
/*@_fini_EPILOG_BEGINS*/\n\
|
||||
.section .fini\n\
|
||||
mov r14,r15\n\
|
||||
lds.l @r15+,pr\n\
|
||||
mov.l @r15+,r14\n\
|
||||
rts \n\
|
||||
mov.l @r15+,r12\n\
|
||||
\n\
|
||||
END_FINI\n\
|
||||
\n\
|
||||
/*@_fini_EPILOG_ENDS*/\n\
|
||||
\n\
|
||||
/*@TRAILER_BEGINS*/\
|
||||
");
|
||||
|
@ -1,6 +1,6 @@
|
||||
/* Machine-dependent software floating-point definitions.
|
||||
Sparc userland (_Q_*) version.
|
||||
Copyright (C) 1997,1998,1999 Free Software Foundation, Inc.
|
||||
Copyright (C) 1997,1998,1999, 2002 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
Contributed by Richard Henderson (rth@cygnus.com),
|
||||
Jakub Jelinek (jj@ultra.linux.cz) and
|
||||
@ -20,7 +20,7 @@
|
||||
License along with the GNU C Library; if not, write to the Free
|
||||
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
|
||||
02111-1307 USA. */
|
||||
|
||||
|
||||
#include <fpu_control.h>
|
||||
|
||||
#define _FP_W_TYPE_SIZE 32
|
||||
@ -73,8 +73,8 @@
|
||||
|
||||
/* Some assembly to speed things up. */
|
||||
#define __FP_FRAC_ADD_3(r2,r1,r0,x2,x1,x0,y2,y1,y0) \
|
||||
__asm__ ("addcc %r7,%8,%2
|
||||
addxcc %r5,%6,%1
|
||||
__asm__ ("addcc %r7,%8,%2\n\
|
||||
addxcc %r5,%6,%1\n\
|
||||
addx %r3,%4,%0" \
|
||||
: "=r" ((USItype)(r2)), \
|
||||
"=&r" ((USItype)(r1)), \
|
||||
@ -88,8 +88,8 @@
|
||||
: "cc")
|
||||
|
||||
#define __FP_FRAC_SUB_3(r2,r1,r0,x2,x1,x0,y2,y1,y0) \
|
||||
__asm__ ("subcc %r7,%8,%2
|
||||
subxcc %r5,%6,%1
|
||||
__asm__ ("subcc %r7,%8,%2\n\
|
||||
subxcc %r5,%6,%1\n\
|
||||
subx %r3,%4,%0" \
|
||||
: "=r" ((USItype)(r2)), \
|
||||
"=&r" ((USItype)(r1)), \
|
||||
@ -107,10 +107,10 @@
|
||||
/* We need to fool gcc, as we need to pass more than 10 \
|
||||
input/outputs. */ \
|
||||
register USItype _t1 __asm__ ("g1"), _t2 __asm__ ("g2"); \
|
||||
__asm__ __volatile__ ("
|
||||
addcc %r8,%9,%1
|
||||
addxcc %r6,%7,%0
|
||||
addxcc %r4,%5,%%g2
|
||||
__asm__ __volatile__ ("\
|
||||
addcc %r8,%9,%1\n\
|
||||
addxcc %r6,%7,%0\n\
|
||||
addxcc %r4,%5,%%g2\n\
|
||||
addx %r2,%3,%%g1" \
|
||||
: "=&r" ((USItype)(r1)), \
|
||||
"=&r" ((USItype)(r0)) \
|
||||
@ -132,10 +132,10 @@
|
||||
/* We need to fool gcc, as we need to pass more than 10 \
|
||||
input/outputs. */ \
|
||||
register USItype _t1 __asm__ ("g1"), _t2 __asm__ ("g2"); \
|
||||
__asm__ __volatile__ ("
|
||||
subcc %r8,%9,%1
|
||||
subxcc %r6,%7,%0
|
||||
subxcc %r4,%5,%%g2
|
||||
__asm__ __volatile__ ("\
|
||||
subcc %r8,%9,%1\n\
|
||||
subxcc %r6,%7,%0\n\
|
||||
subxcc %r4,%5,%%g2\n\
|
||||
subx %r2,%3,%%g1" \
|
||||
: "=&r" ((USItype)(r1)), \
|
||||
"=&r" ((USItype)(r0)) \
|
||||
@ -157,9 +157,9 @@
|
||||
#define __FP_FRAC_DEC_4(x3,x2,x1,x0,y3,y2,y1,y0) __FP_FRAC_SUB_4(x3,x2,x1,x0,x3,x2,x1,x0,y3,y2,y1,y0)
|
||||
|
||||
#define __FP_FRAC_ADDI_4(x3,x2,x1,x0,i) \
|
||||
__asm__ ("addcc %3,%4,%3
|
||||
addxcc %2,%%g0,%2
|
||||
addxcc %1,%%g0,%1
|
||||
__asm__ ("addcc %3,%4,%3\n\
|
||||
addxcc %2,%%g0,%2\n\
|
||||
addxcc %1,%%g0,%1\n\
|
||||
addx %0,%%g0,%0" \
|
||||
: "=&r" ((USItype)(x3)), \
|
||||
"=&r" ((USItype)(x2)), \
|
||||
@ -202,18 +202,18 @@ do { \
|
||||
* We need to clear cexc bits if any. \
|
||||
*/ \
|
||||
extern unsigned long long ___Q_numbers[]; \
|
||||
__asm__ __volatile__("
|
||||
ldd [%0], %%f30
|
||||
faddd %%f30, %%f30, %%f30
|
||||
__asm__ __volatile__("\
|
||||
ldd [%0], %%f30\n\
|
||||
faddd %%f30, %%f30, %%f30\
|
||||
" : : "r" (___Q_numbers) : "f30"); \
|
||||
} \
|
||||
else \
|
||||
{ \
|
||||
__asm__ __volatile__("
|
||||
mov %0, %%o0
|
||||
mov %%o7, %%g1
|
||||
call ___Q_simulate_exceptions
|
||||
mov %%g1, %%o7
|
||||
__asm__ __volatile__("\
|
||||
mov %0, %%o0\n\
|
||||
mov %%o7, %%g1\n\
|
||||
call ___Q_simulate_exceptions\n\
|
||||
mov %%g1, %%o7\
|
||||
" : : "r" (_fex) : \
|
||||
"g1", "g2", "g3", "g4", "g5", "o0", \
|
||||
"o1", "o2", "o3", "o4", "o5", "cc"); \
|
||||
|
@ -38,7 +38,7 @@
|
||||
struct lastlog
|
||||
{
|
||||
#if __WORDSIZE == 64 && defined __WORDSIZE_COMPAT32
|
||||
int32_t_t ll_time;
|
||||
int32_t ll_time;
|
||||
#else
|
||||
__time_t ll_time;
|
||||
#endif
|
||||
|
@ -38,7 +38,7 @@
|
||||
struct lastlog
|
||||
{
|
||||
#if __WORDSIZE == 64 && defined __WORDSIZE_COMPAT32
|
||||
int32_t_t ll_time;
|
||||
int32_t ll_time;
|
||||
#else
|
||||
__time_t ll_time;
|
||||
#endif
|
||||
|
@ -38,7 +38,7 @@
|
||||
struct lastlog
|
||||
{
|
||||
#if __WORDSIZE == 64 && defined __WORDSIZE_COMPAT32
|
||||
int32_t_t ll_time;
|
||||
int32_t ll_time;
|
||||
#else
|
||||
__time_t ll_time;
|
||||
#endif
|
||||
|
Loading…
Reference in New Issue
Block a user