initfini-ia64.patch

来自「linux下编译交叉工具链的工具源码」· PATCH 代码 · 共 220 行

PATCH
220
字号
Retrieved withwget 'http://sources.redhat.com/cgi-bin/cvsweb.cgi/libc/sysdeps/ia64/elf/initfini.c.diff?r1=1.2&r2=1.3&cvsroot=glibc'Revision 1.3, Sun Aug 25 00:34:23 2002 UTC (2 years, 1 month ago) by drepperBranch: MAINCVS Tags: glibc-2-3-1, glibc-2-3Changes since 1.2: +78 -78 lines(__asm__): Don't use newlines embedded in string.Fixes error../sysdeps/ia64/elf/initfini.c:30:10: missing terminating " character../sysdeps/ia64/elf/initfini.c:32:10: #include expects "FILENAME" or <FILENAME>../sysdeps/ia64/elf/initfini.c:37: error: request for member `section' in something not a structure or union../sysdeps/ia64/elf/initfini.c:38: error: parse error before numeric constant../sysdeps/ia64/elf/initfini.c:39: error: syntax error at '#' token../sysdeps/ia64/elf/initfini.c:40: error: syntax error at '#' token../sysdeps/ia64/elf/initfini.c:46: error: syntax error at '@' token../sysdeps/ia64/elf/initfini.c:46: error: syntax error at '#' token../sysdeps/ia64/elf/initfini.c:48: error: parse error before "r15"../sysdeps/ia64/elf/initfini.c:48: warning: type defaults to `int' in declaration of `r15'../sysdeps/ia64/elf/initfini.c:50: error: parse error before '.' token../sysdeps/ia64/elf/initfini.c:56: error: syntax error at '#' token../sysdeps/ia64/elf/initfini.c:57: error: parse error before "r12"../sysdeps/ia64/elf/initfini.c:57: warning: type defaults to `int' in declaration of `r12'../sysdeps/ia64/elf/initfini.c:58: warning: type defaults to `int' in declaration of `r12'../sysdeps/ia64/elf/initfini.c:58: warning: data definition has no type or storage class../sysdeps/ia64/elf/initfini.c:59: error: parse error before "gp"../sysdeps/ia64/elf/initfini.c:59: warning: type defaults to `int' in declaration of `gp'../sysdeps/ia64/elf/initfini.c:63: error: syntax error at '#' token../sysdeps/ia64/elf/initfini.c:74: error: syntax error at '#' token../sysdeps/ia64/elf/initfini.c:80: error: syntax error at '#' token../sysdeps/ia64/elf/initfini.c:81: error: syntax error at '#' token../sysdeps/ia64/elf/initfini.c:89: error: syntax error at '#' token../sysdeps/ia64/elf/initfini.c:92: error: syntax error at '#' token../sysdeps/ia64/elf/initfini.c:96: error: parse error before '.' token../sysdeps/ia64/elf/initfini.c:101: error: syntax error at '#' token../sysdeps/ia64/elf/initfini.c:106: error: syntax error at '#' token../sysdeps/ia64/elf/initfini.c:107:1: missing terminating " charactermake[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 1make[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'make[1]: *** [csu/subdir_lib] Error 2make[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'make: *** [all] Error 2===================================================================RCS file: /cvs/glibc/libc/sysdeps/ia64/elf/initfini.c,vretrieving revision 1.2retrieving revision 1.3diff -u -r1.2 -r1.3--- libc/sysdeps/ia64/elf/initfini.c	2001/07/06 04:55:54	1.2+++ libc/sysdeps/ia64/elf/initfini.c	2002/08/25 00:34:23	1.3@@ -1,5 +1,5 @@ /* Special .init and .fini section support for ia64.-   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,81 +27,81 @@    * crtn.s puts the corresponding function epilogues    in the .init and .fini sections. */ -__asm__ ("--#include \"defs.h\"--/*@HEADER_ENDS*/--/*@_init_PROLOG_BEGINS*/-	.section .init-	.align 16-	.global _init#-	.proc _init#-_init:-	alloc r34 = ar.pfs, 0, 3, 0, 0-	mov r32 = r12-	mov r33 = b0-	adds r12 = -16, r12-	addl r14 = @ltoff(@fptr(__gmon_start__#)), gp-	;;-	ld8 r15 = [r14]-	;;-	cmp.eq p6, p7 = 0, r15-	(p6) br.cond.dptk .L5--/* we could use r35 to save gp, but we use the stack since that's what- * all the other init routines will do --davidm 00/04/05 */-	st8 [r12] = gp, -16-	br.call.sptk.many b0 = __gmon_start__# ;;-	adds r12 = 16, r12-	;;-	ld8 gp = [r12]-	;;-.L5:-	.align 16-	.endp _init#--/*@_init_PROLOG_ENDS*/--/*@_init_EPILOG_BEGINS*/-	.section .init-	.regstk 0,2,0,0-	mov r12 = r32-	mov ar.pfs = r34-	mov b0 = r33-	br.ret.sptk.many b0-	.endp _init#-/*@_init_EPILOG_ENDS*/--/*@_fini_PROLOG_BEGINS*/-	.section .fini-	.align 16-	.global _fini#-	.proc _fini#-_fini:-	alloc r34 = ar.pfs, 0, 3, 0, 0-	mov r32 = r12-	mov r33 = b0-	adds r12 = -16, r12-	;;-	.align 16-	.endp _fini#--/*@_fini_PROLOG_ENDS*/-	br.call.sptk.many b0 = i_am_not_a_leaf# ;;-	;;--/*@_fini_EPILOG_BEGINS*/-	.section .fini-	mov r12 = r32-	mov ar.pfs = r34-	mov b0 = r33-	br.ret.sptk.many b0-	.endp _fini#--/*@_fini_EPILOG_ENDS*/--/*@TRAILER_BEGINS*/-	.weak	__gmon_start__#+__asm__ ("\n\+\n\+#include \"defs.h\"\n\+\n\+/*@HEADER_ENDS*/\n\+\n\+/*@_init_PROLOG_BEGINS*/\n\+	.section .init\n\+	.align 16\n\+	.global _init#\n\+	.proc _init#\n\+_init:\n\+	alloc r34 = ar.pfs, 0, 3, 0, 0\n\+	mov r32 = r12\n\+	mov r33 = b0\n\+	adds r12 = -16, r12\n\+	addl r14 = @ltoff(@fptr(__gmon_start__#)), gp\n\+	;;\n\+	ld8 r15 = [r14]\n\+	;;\n\+	cmp.eq p6, p7 = 0, r15\n\+	(p6) br.cond.dptk .L5\n\+\n\+/* we could use r35 to save gp, but we use the stack since that's what\n\+ * all the other init routines will do --davidm 00/04/05 */\n\+	st8 [r12] = gp, -16\n\+	br.call.sptk.many b0 = __gmon_start__# ;;\n\+	adds r12 = 16, r12\n\+	;;\n\+	ld8 gp = [r12]\n\+	;;\n\+.L5:\n\+	.align 16\n\+	.endp _init#\n\+\n\+/*@_init_PROLOG_ENDS*/\n\+\n\+/*@_init_EPILOG_BEGINS*/\n\+	.section .init\n\+	.regstk 0,2,0,0\n\+	mov r12 = r32\n\+	mov ar.pfs = r34\n\+	mov b0 = r33\n\+	br.ret.sptk.many b0\n\+	.endp _init#\n\+/*@_init_EPILOG_ENDS*/\n\+\n\+/*@_fini_PROLOG_BEGINS*/\n\+	.section .fini\n\+	.align 16\n\+	.global _fini#\n\+	.proc _fini#\n\+_fini:\n\+	alloc r34 = ar.pfs, 0, 3, 0, 0\n\+	mov r32 = r12\n\+	mov r33 = b0\n\+	adds r12 = -16, r12\n\+	;;\n\+	.align 16\n\+	.endp _fini#\n\+\n\+/*@_fini_PROLOG_ENDS*/\n\+	br.call.sptk.many b0 = i_am_not_a_leaf# ;;\n\+	;;\n\+\n\+/*@_fini_EPILOG_BEGINS*/\n\+	.section .fini\n\+	mov r12 = r32\n\+	mov ar.pfs = r34\n\+	mov b0 = r33\n\+	br.ret.sptk.many b0\n\+	.endp _fini#\n\+\n\+/*@_fini_EPILOG_ENDS*/\n\+\n\+/*@TRAILER_BEGINS*/\n\+	.weak	__gmon_start__#\n\ ");

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?