mirror of
https://sourceware.org/git/glibc.git
synced 2024-12-23 11:20:07 +00:00
* sysdeps/unix/sysv/linux/hppa/pt-initfini.c: Do not use
multi-line strings. 2003-02-04 Andreas Jaeger <aj@suse.de> * sysdeps/unix/sysv/linux/hppa/pt-initfini.c: Do not use multi-line strings.
This commit is contained in:
parent
e1798f551d
commit
85cb580365
@ -1,3 +1,8 @@
|
||||
2003-02-04 Andreas Jaeger <aj@suse.de>
|
||||
|
||||
* sysdeps/unix/sysv/linux/hppa/pt-initfini.c: Do not use
|
||||
multi-line strings.
|
||||
|
||||
2003-01-30 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
* sysdeps/s390/tls.h (TLS_INIT_TP): Return NULL, not 0.
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* Special .init and .fini section support for HPPA. Linuxthreads version.
|
||||
Copyright (C) 2001 Free Software Foundation, Inc.
|
||||
Copyright (C) 2001, 2003 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
|
||||
The GNU C Library is free software; you can redistribute it
|
||||
@ -41,70 +41,69 @@
|
||||
and epilogues. Therefore we write these in assembly to make sure
|
||||
they do the right thing. */
|
||||
|
||||
__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 __pthread_initialize_minimal,%rp
|
||||
copy %r19,%r4 /* delay slot */
|
||||
copy %r4,%r19
|
||||
/*@_init_PROLOG_ENDS*/
|
||||
|
||||
/*@_init_EPILOG_BEGINS*/
|
||||
/* Here is the tail end of _init. */
|
||||
.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,\"a\",@progbits
|
||||
.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,\"a\",@progbits
|
||||
.extern _fini
|
||||
.word _fini, _end_fini
|
||||
.byte 0x08, 0x01, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08
|
||||
|
||||
/*@_fini_EPILOG_ENDS*/
|
||||
|
||||
/*@TRAILER_BEGINS*/
|
||||
");
|
||||
__asm__ (
|
||||
"#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 __pthread_initialize_minimal,%rp\n"
|
||||
" copy %r19,%r4 /* delay slot */\n"
|
||||
" copy %r4,%r19\n"
|
||||
"/*@_init_PROLOG_ENDS*/\n"
|
||||
"\n"
|
||||
"/*@_init_EPILOG_BEGINS*/\n"
|
||||
"/* Here is the tail end of _init. */\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,\"a\",@progbits\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,\"a\",@progbits\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*/\n"
|
||||
);
|
||||
|
Loading…
Reference in New Issue
Block a user