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:
Ulrich Drepper 2002-10-03 00:24:35 +00:00
parent 4c98451b0e
commit 62497f9c8b
13 changed files with 377 additions and 370 deletions

View File

@ -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
View File

@ -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
View File

@ -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.

View File

@ -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:

View File

@ -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 ""

View File

@ -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*/\
");

View File

@ -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

View File

@ -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*/\
");

View File

@ -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*/\
");

View File

@ -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"); \

View File

@ -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

View File

@ -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

View File

@ -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