patches/glibc/2.2.5/initfini-ia64.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Sat Feb 24 11:00:05 2007 +0000 (2007-02-24)
changeset 1 eeea35fbf182
permissions -rw-r--r--
Add the full crosstool-NG sources to the new repository of its own.
You might just say: 'Yeah! crosstool-NG's got its own repo!".
Unfortunately, that's because the previous repo got damaged beyond repair and I had no backup.
That means I'm putting backups in place in the afternoon.
That also means we've lost history... :-(
yann@1
     1
Retrieved with
yann@1
     2
wget 'http://sources.redhat.com/cgi-bin/cvsweb.cgi/libc/sysdeps/ia64/elf/initfini.c.diff?r1=1.2&r2=1.3&cvsroot=glibc'
yann@1
     3
yann@1
     4
Revision 1.3, Sun Aug 25 00:34:23 2002 UTC (2 years, 1 month ago) by drepper
yann@1
     5
Branch: MAIN
yann@1
     6
CVS Tags: glibc-2-3-1, glibc-2-3
yann@1
     7
Changes since 1.2: +78 -78 lines
yann@1
     8
yann@1
     9
(__asm__): Don't use newlines embedded in string.
yann@1
    10
yann@1
    11
Fixes error
yann@1
    12
yann@1
    13
../sysdeps/ia64/elf/initfini.c:30:10: missing terminating " character
yann@1
    14
../sysdeps/ia64/elf/initfini.c:32:10: #include expects "FILENAME" or <FILENAME>
yann@1
    15
../sysdeps/ia64/elf/initfini.c:37: error: request for member `section' in something not a structure or union
yann@1
    16
../sysdeps/ia64/elf/initfini.c:38: error: parse error before numeric constant
yann@1
    17
../sysdeps/ia64/elf/initfini.c:39: error: syntax error at '#' token
yann@1
    18
../sysdeps/ia64/elf/initfini.c:40: error: syntax error at '#' token
yann@1
    19
../sysdeps/ia64/elf/initfini.c:46: error: syntax error at '@' token
yann@1
    20
../sysdeps/ia64/elf/initfini.c:46: error: syntax error at '#' token
yann@1
    21
../sysdeps/ia64/elf/initfini.c:48: error: parse error before "r15"
yann@1
    22
../sysdeps/ia64/elf/initfini.c:48: warning: type defaults to `int' in declaration of `r15'
yann@1
    23
../sysdeps/ia64/elf/initfini.c:50: error: parse error before '.' token
yann@1
    24
../sysdeps/ia64/elf/initfini.c:56: error: syntax error at '#' token
yann@1
    25
../sysdeps/ia64/elf/initfini.c:57: error: parse error before "r12"
yann@1
    26
../sysdeps/ia64/elf/initfini.c:57: warning: type defaults to `int' in declaration of `r12'
yann@1
    27
../sysdeps/ia64/elf/initfini.c:58: warning: type defaults to `int' in declaration of `r12'
yann@1
    28
../sysdeps/ia64/elf/initfini.c:58: warning: data definition has no type or storage class
yann@1
    29
../sysdeps/ia64/elf/initfini.c:59: error: parse error before "gp"
yann@1
    30
../sysdeps/ia64/elf/initfini.c:59: warning: type defaults to `int' in declaration of `gp'
yann@1
    31
../sysdeps/ia64/elf/initfini.c:63: error: syntax error at '#' token
yann@1
    32
../sysdeps/ia64/elf/initfini.c:74: error: syntax error at '#' token
yann@1
    33
../sysdeps/ia64/elf/initfini.c:80: error: syntax error at '#' token
yann@1
    34
../sysdeps/ia64/elf/initfini.c:81: error: syntax error at '#' token
yann@1
    35
../sysdeps/ia64/elf/initfini.c:89: error: syntax error at '#' token
yann@1
    36
../sysdeps/ia64/elf/initfini.c:92: error: syntax error at '#' token
yann@1
    37
../sysdeps/ia64/elf/initfini.c:96: error: parse error before '.' token
yann@1
    38
../sysdeps/ia64/elf/initfini.c:101: error: syntax error at '#' token
yann@1
    39
../sysdeps/ia64/elf/initfini.c:106: error: syntax error at '#' token
yann@1
    40
../sysdeps/ia64/elf/initfini.c:107:1: missing terminating " character
yann@1
    41
make[2]: *** [/home/dank/wk/crosstool-0.28-rc37/build/ia64-unknown-linux-gnu/gcc-3.3.4-glibc-2.2.5/build-glibc/csu/initfini.s] Error 1
yann@1
    42
make[2]: Leaving directory `/home/dank/wk/crosstool-0.28-rc37/build/ia64-unknown-linux-gnu/gcc-3.3.4-glibc-2.2.5/glibc-2.2.5/csu'
yann@1
    43
make[1]: *** [csu/subdir_lib] Error 2
yann@1
    44
make[1]: Leaving directory `/home/dank/wk/crosstool-0.28-rc37/build/ia64-unknown-linux-gnu/gcc-3.3.4-glibc-2.2.5/glibc-2.2.5'
yann@1
    45
make: *** [all] Error 2
yann@1
    46
yann@1
    47
===================================================================
yann@1
    48
RCS file: /cvs/glibc/libc/sysdeps/ia64/elf/initfini.c,v
yann@1
    49
retrieving revision 1.2
yann@1
    50
retrieving revision 1.3
yann@1
    51
diff -u -r1.2 -r1.3
yann@1
    52
--- libc/sysdeps/ia64/elf/initfini.c	2001/07/06 04:55:54	1.2
yann@1
    53
+++ libc/sysdeps/ia64/elf/initfini.c	2002/08/25 00:34:23	1.3
yann@1
    54
@@ -1,5 +1,5 @@
yann@1
    55
 /* Special .init and .fini section support for ia64.
yann@1
    56
-   Copyright (C) 2000 Free Software Foundation, Inc.
yann@1
    57
+   Copyright (C) 2000, 2002 Free Software Foundation, Inc.
yann@1
    58
    This file is part of the GNU C Library.
yann@1
    59
 
yann@1
    60
    The GNU C Library is free software; you can redistribute it and/or
yann@1
    61
@@ -27,81 +27,81 @@
yann@1
    62
    * crtn.s puts the corresponding function epilogues
yann@1
    63
    in the .init and .fini sections. */
yann@1
    64
 
yann@1
    65
-__asm__ ("
yann@1
    66
-
yann@1
    67
-#include \"defs.h\"
yann@1
    68
-
yann@1
    69
-/*@HEADER_ENDS*/
yann@1
    70
-
yann@1
    71
-/*@_init_PROLOG_BEGINS*/
yann@1
    72
-	.section .init
yann@1
    73
-	.align 16
yann@1
    74
-	.global _init#
yann@1
    75
-	.proc _init#
yann@1
    76
-_init:
yann@1
    77
-	alloc r34 = ar.pfs, 0, 3, 0, 0
yann@1
    78
-	mov r32 = r12
yann@1
    79
-	mov r33 = b0
yann@1
    80
-	adds r12 = -16, r12
yann@1
    81
-	addl r14 = @ltoff(@fptr(__gmon_start__#)), gp
yann@1
    82
-	;;
yann@1
    83
-	ld8 r15 = [r14]
yann@1
    84
-	;;
yann@1
    85
-	cmp.eq p6, p7 = 0, r15
yann@1
    86
-	(p6) br.cond.dptk .L5
yann@1
    87
-
yann@1
    88
-/* we could use r35 to save gp, but we use the stack since that's what
yann@1
    89
- * all the other init routines will do --davidm 00/04/05 */
yann@1
    90
-	st8 [r12] = gp, -16
yann@1
    91
-	br.call.sptk.many b0 = __gmon_start__# ;;
yann@1
    92
-	adds r12 = 16, r12
yann@1
    93
-	;;
yann@1
    94
-	ld8 gp = [r12]
yann@1
    95
-	;;
yann@1
    96
-.L5:
yann@1
    97
-	.align 16
yann@1
    98
-	.endp _init#
yann@1
    99
-
yann@1
   100
-/*@_init_PROLOG_ENDS*/
yann@1
   101
-
yann@1
   102
-/*@_init_EPILOG_BEGINS*/
yann@1
   103
-	.section .init
yann@1
   104
-	.regstk 0,2,0,0
yann@1
   105
-	mov r12 = r32
yann@1
   106
-	mov ar.pfs = r34
yann@1
   107
-	mov b0 = r33
yann@1
   108
-	br.ret.sptk.many b0
yann@1
   109
-	.endp _init#
yann@1
   110
-/*@_init_EPILOG_ENDS*/
yann@1
   111
-
yann@1
   112
-/*@_fini_PROLOG_BEGINS*/
yann@1
   113
-	.section .fini
yann@1
   114
-	.align 16
yann@1
   115
-	.global _fini#
yann@1
   116
-	.proc _fini#
yann@1
   117
-_fini:
yann@1
   118
-	alloc r34 = ar.pfs, 0, 3, 0, 0
yann@1
   119
-	mov r32 = r12
yann@1
   120
-	mov r33 = b0
yann@1
   121
-	adds r12 = -16, r12
yann@1
   122
-	;;
yann@1
   123
-	.align 16
yann@1
   124
-	.endp _fini#
yann@1
   125
-
yann@1
   126
-/*@_fini_PROLOG_ENDS*/
yann@1
   127
-	br.call.sptk.many b0 = i_am_not_a_leaf# ;;
yann@1
   128
-	;;
yann@1
   129
-
yann@1
   130
-/*@_fini_EPILOG_BEGINS*/
yann@1
   131
-	.section .fini
yann@1
   132
-	mov r12 = r32
yann@1
   133
-	mov ar.pfs = r34
yann@1
   134
-	mov b0 = r33
yann@1
   135
-	br.ret.sptk.many b0
yann@1
   136
-	.endp _fini#
yann@1
   137
-
yann@1
   138
-/*@_fini_EPILOG_ENDS*/
yann@1
   139
-
yann@1
   140
-/*@TRAILER_BEGINS*/
yann@1
   141
-	.weak	__gmon_start__#
yann@1
   142
+__asm__ ("\n\
yann@1
   143
+\n\
yann@1
   144
+#include \"defs.h\"\n\
yann@1
   145
+\n\
yann@1
   146
+/*@HEADER_ENDS*/\n\
yann@1
   147
+\n\
yann@1
   148
+/*@_init_PROLOG_BEGINS*/\n\
yann@1
   149
+	.section .init\n\
yann@1
   150
+	.align 16\n\
yann@1
   151
+	.global _init#\n\
yann@1
   152
+	.proc _init#\n\
yann@1
   153
+_init:\n\
yann@1
   154
+	alloc r34 = ar.pfs, 0, 3, 0, 0\n\
yann@1
   155
+	mov r32 = r12\n\
yann@1
   156
+	mov r33 = b0\n\
yann@1
   157
+	adds r12 = -16, r12\n\
yann@1
   158
+	addl r14 = @ltoff(@fptr(__gmon_start__#)), gp\n\
yann@1
   159
+	;;\n\
yann@1
   160
+	ld8 r15 = [r14]\n\
yann@1
   161
+	;;\n\
yann@1
   162
+	cmp.eq p6, p7 = 0, r15\n\
yann@1
   163
+	(p6) br.cond.dptk .L5\n\
yann@1
   164
+\n\
yann@1
   165
+/* we could use r35 to save gp, but we use the stack since that's what\n\
yann@1
   166
+ * all the other init routines will do --davidm 00/04/05 */\n\
yann@1
   167
+	st8 [r12] = gp, -16\n\
yann@1
   168
+	br.call.sptk.many b0 = __gmon_start__# ;;\n\
yann@1
   169
+	adds r12 = 16, r12\n\
yann@1
   170
+	;;\n\
yann@1
   171
+	ld8 gp = [r12]\n\
yann@1
   172
+	;;\n\
yann@1
   173
+.L5:\n\
yann@1
   174
+	.align 16\n\
yann@1
   175
+	.endp _init#\n\
yann@1
   176
+\n\
yann@1
   177
+/*@_init_PROLOG_ENDS*/\n\
yann@1
   178
+\n\
yann@1
   179
+/*@_init_EPILOG_BEGINS*/\n\
yann@1
   180
+	.section .init\n\
yann@1
   181
+	.regstk 0,2,0,0\n\
yann@1
   182
+	mov r12 = r32\n\
yann@1
   183
+	mov ar.pfs = r34\n\
yann@1
   184
+	mov b0 = r33\n\
yann@1
   185
+	br.ret.sptk.many b0\n\
yann@1
   186
+	.endp _init#\n\
yann@1
   187
+/*@_init_EPILOG_ENDS*/\n\
yann@1
   188
+\n\
yann@1
   189
+/*@_fini_PROLOG_BEGINS*/\n\
yann@1
   190
+	.section .fini\n\
yann@1
   191
+	.align 16\n\
yann@1
   192
+	.global _fini#\n\
yann@1
   193
+	.proc _fini#\n\
yann@1
   194
+_fini:\n\
yann@1
   195
+	alloc r34 = ar.pfs, 0, 3, 0, 0\n\
yann@1
   196
+	mov r32 = r12\n\
yann@1
   197
+	mov r33 = b0\n\
yann@1
   198
+	adds r12 = -16, r12\n\
yann@1
   199
+	;;\n\
yann@1
   200
+	.align 16\n\
yann@1
   201
+	.endp _fini#\n\
yann@1
   202
+\n\
yann@1
   203
+/*@_fini_PROLOG_ENDS*/\n\
yann@1
   204
+	br.call.sptk.many b0 = i_am_not_a_leaf# ;;\n\
yann@1
   205
+	;;\n\
yann@1
   206
+\n\
yann@1
   207
+/*@_fini_EPILOG_BEGINS*/\n\
yann@1
   208
+	.section .fini\n\
yann@1
   209
+	mov r12 = r32\n\
yann@1
   210
+	mov ar.pfs = r34\n\
yann@1
   211
+	mov b0 = r33\n\
yann@1
   212
+	br.ret.sptk.many b0\n\
yann@1
   213
+	.endp _fini#\n\
yann@1
   214
+\n\
yann@1
   215
+/*@_fini_EPILOG_ENDS*/\n\
yann@1
   216
+\n\
yann@1
   217
+/*@TRAILER_BEGINS*/\n\
yann@1
   218
+	.weak	__gmon_start__#\n\
yann@1
   219
 ");