From 62497f9c8b39d6de707ed0f3a6019699ab5ce3a8 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Thu, 3 Oct 2002 00:24:35 +0000 Subject: [PATCH] Update. 2002-10-02 Ulrich Drepper * 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. --- ChangeLog | 8 + FAQ.in | 36 +++-- NEWS | 4 +- README.template | 3 +- po/libc.pot | 6 +- sysdeps/hppa/elf/initfini.c | 162 ++++++++++---------- sysdeps/mach/hurd/mips/init-first.c | 24 +-- sysdeps/s390/s390-32/initfini.c | 222 +++++++++++++-------------- sysdeps/sh/elf/initfini.c | 226 ++++++++++++++-------------- sysdeps/sparc/sparc32/soft-fp/sfp-machine.h | 50 +++--- sysdeps/unix/sysv/linux/powerpc/bits/utmp.h | 2 +- sysdeps/unix/sysv/linux/sparc/bits/utmp.h | 2 +- sysdeps/unix/sysv/linux/x86_64/bits/utmp.h | 2 +- 13 files changed, 377 insertions(+), 370 deletions(-) diff --git a/ChangeLog b/ChangeLog index 9478980..e1289cf 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2002-10-02 Ulrich Drepper + + * 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 Jakub Jelinek diff --git a/FAQ.in b/FAQ.in index c5d96c9..ba99f9c 100644 --- a/FAQ.in +++ b/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: - - - -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 diff --git a/NEWS b/NEWS index 6f3b06f..095ea50 100644 --- a/NEWS +++ b/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 with functions `getifaddrs' and `freeifaddrs': BSD-compatible interface for getting all network interface addresses. diff --git a/README.template b/README.template index 7840319..9b300a9 100644 --- a/README.template +++ b/README.template @@ -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: diff --git a/po/libc.pot b/po/libc.pot index 1e0d207..e8ca1c3 100644 --- a/po/libc.pot +++ b/po/libc.pot @@ -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 \n" "Language-Team: LANGUAGE \n" @@ -3586,7 +3586,7 @@ msgstr "" msgid "Unmatched ) or \\)" msgstr "" -#: posix/regcomp.c:670 +#: posix/regcomp.c:673 msgid "No previous regular expression" msgstr "" diff --git a/sysdeps/hppa/elf/initfini.c b/sysdeps/hppa/elf/initfini.c index d325d53..4275cd5 100644 --- a/sysdeps/hppa/elf/initfini.c +++ b/sysdeps/hppa/elf/initfini.c @@ -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*/\ "); diff --git a/sysdeps/mach/hurd/mips/init-first.c b/sysdeps/mach/hurd/mips/init-first.c index 5adba3b..5f76de7 100644 --- a/sysdeps/mach/hurd/mips/init-first.c +++ b/sysdeps/mach/hurd/mips/init-first.c @@ -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 diff --git a/sysdeps/s390/s390-32/initfini.c b/sysdeps/s390/s390-32/initfini.c index 334755f..ef38158 100644 --- a/sysdeps/s390/s390-32/initfini.c +++ b/sysdeps/s390/s390-32/initfini.c @@ -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*/\ "); diff --git a/sysdeps/sh/elf/initfini.c b/sysdeps/sh/elf/initfini.c index b41c7ec..7697e93 100644 --- a/sysdeps/sh/elf/initfini.c +++ b/sysdeps/sh/elf/initfini.c @@ -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*/\ "); diff --git a/sysdeps/sparc/sparc32/soft-fp/sfp-machine.h b/sysdeps/sparc/sparc32/soft-fp/sfp-machine.h index ea7ffa7..40bcbb4 100644 --- a/sysdeps/sparc/sparc32/soft-fp/sfp-machine.h +++ b/sysdeps/sparc/sparc32/soft-fp/sfp-machine.h @@ -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 #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"); \ diff --git a/sysdeps/unix/sysv/linux/powerpc/bits/utmp.h b/sysdeps/unix/sysv/linux/powerpc/bits/utmp.h index 13b8fdc..b9eadf6 100644 --- a/sysdeps/unix/sysv/linux/powerpc/bits/utmp.h +++ b/sysdeps/unix/sysv/linux/powerpc/bits/utmp.h @@ -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 diff --git a/sysdeps/unix/sysv/linux/sparc/bits/utmp.h b/sysdeps/unix/sysv/linux/sparc/bits/utmp.h index 13b8fdc..b9eadf6 100644 --- a/sysdeps/unix/sysv/linux/sparc/bits/utmp.h +++ b/sysdeps/unix/sysv/linux/sparc/bits/utmp.h @@ -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 diff --git a/sysdeps/unix/sysv/linux/x86_64/bits/utmp.h b/sysdeps/unix/sysv/linux/x86_64/bits/utmp.h index 13b8fdc..b9eadf6 100644 --- a/sysdeps/unix/sysv/linux/x86_64/bits/utmp.h +++ b/sysdeps/unix/sysv/linux/x86_64/bits/utmp.h @@ -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 -- 2.7.4