⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gcc-20030210-sh-linux-1.patch

📁 linux下编译交叉工具链的工具源码
💻 PATCH
📖 第 1 页 / 共 4 页
字号:
 GLOBAL(movstrSI56): 	mov.l	@(52,r5),r0 	mov.l	r0,@(52,r4) 	.global	GLOBAL(movstrSI52)+	FUNC(GLOBAL(movstrSI52)) GLOBAL(movstrSI52): 	mov.l	@(48,r5),r0 	mov.l	r0,@(48,r4) 	.global	GLOBAL(movstrSI48)+	FUNC(GLOBAL(movstrSI48)) GLOBAL(movstrSI48): 	mov.l	@(44,r5),r0 	mov.l	r0,@(44,r4) 	.global	GLOBAL(movstrSI44)+	FUNC(GLOBAL(movstrSI44)) GLOBAL(movstrSI44): 	mov.l	@(40,r5),r0 	mov.l	r0,@(40,r4) 	.global	GLOBAL(movstrSI40)+	FUNC(GLOBAL(movstrSI40)) GLOBAL(movstrSI40): 	mov.l	@(36,r5),r0 	mov.l	r0,@(36,r4) 	.global	GLOBAL(movstrSI36)+	FUNC(GLOBAL(movstrSI36)) GLOBAL(movstrSI36): 	mov.l	@(32,r5),r0 	mov.l	r0,@(32,r4) 	.global	GLOBAL(movstrSI32)+	FUNC(GLOBAL(movstrSI32)) GLOBAL(movstrSI32): 	mov.l	@(28,r5),r0 	mov.l	r0,@(28,r4) 	.global	GLOBAL(movstrSI28)+	FUNC(GLOBAL(movstrSI28)) GLOBAL(movstrSI28): 	mov.l	@(24,r5),r0 	mov.l	r0,@(24,r4) 	.global	GLOBAL(movstrSI24)+	FUNC(GLOBAL(movstrSI24)) GLOBAL(movstrSI24): 	mov.l	@(20,r5),r0 	mov.l	r0,@(20,r4) 	.global	GLOBAL(movstrSI20)+	FUNC(GLOBAL(movstrSI20)) GLOBAL(movstrSI20): 	mov.l	@(16,r5),r0 	mov.l	r0,@(16,r4) 	.global	GLOBAL(movstrSI16)+	FUNC(GLOBAL(movstrSI16)) GLOBAL(movstrSI16): 	mov.l	@(12,r5),r0 	mov.l	r0,@(12,r4) 	.global	GLOBAL(movstrSI12)+	FUNC(GLOBAL(movstrSI12)) GLOBAL(movstrSI12): 	mov.l	@(8,r5),r0 	mov.l	r0,@(8,r4) 	.global	GLOBAL(movstrSI8)+	FUNC(GLOBAL(movstrSI8)) GLOBAL(movstrSI8): 	mov.l	@(4,r5),r0 	mov.l	r0,@(4,r4) 	.global	GLOBAL(movstrSI4)+	FUNC(GLOBAL(movstrSI4)) GLOBAL(movstrSI4): 	mov.l	@(0,r5),r0 	mov.l	r0,@(0,r4)+	.global	GLOBAL(movstrSI0)+	FUNC(GLOBAL(movstrSI0)) GLOBAL(movstrSI0): 	rts 	nop +	ENDFUNC(GLOBAL(movstrSI64))+	ENDFUNC(GLOBAL(movstrSI60))+	ENDFUNC(GLOBAL(movstrSI56))+	ENDFUNC(GLOBAL(movstrSI52))+	ENDFUNC(GLOBAL(movstrSI48))+	ENDFUNC(GLOBAL(movstrSI44))+	ENDFUNC(GLOBAL(movstrSI40))+	ENDFUNC(GLOBAL(movstrSI36))+	ENDFUNC(GLOBAL(movstrSI32))+	ENDFUNC(GLOBAL(movstrSI28))+	ENDFUNC(GLOBAL(movstrSI24))+	ENDFUNC(GLOBAL(movstrSI20))+	ENDFUNC(GLOBAL(movstrSI16))+	ENDFUNC(GLOBAL(movstrSI12))+	ENDFUNC(GLOBAL(movstrSI8))+	ENDFUNC(GLOBAL(movstrSI4))+	ENDFUNC(GLOBAL(movstrSI0))+ 	.align	4  	.global	GLOBAL(movstr)+	FUNC(GLOBAL(movstr)) GLOBAL(movstr): 	mov.l	@(60,r5),r0 	mov.l	r0,@(60,r4)@@ -775,6 +895,8 @@ 	add	#64,r5 	bra	GLOBAL(movstr) 	add	#64,r4++	FUNC(GLOBAL(movstr)) #endif  #ifdef L_movstr_i4@@ -783,6 +905,10 @@ 	.global	GLOBAL(movstr_i4_odd) 	.global	GLOBAL(movstrSI12_i4) +	FUNC(GLOBAL(movstr_i4_even))+	FUNC(GLOBAL(movstr_i4_odd))+	FUNC(GLOBAL(movstrSI12_i4))+ 	.p2align	5 L_movstr_2mod4_end: 	mov.l	r0,@(16,r4)@@ -791,6 +917,11 @@  	.p2align	2 +GLOBAL(movstr_i4_even):+	mov.l	@r5+,r0+	bra	L_movstr_start_even+	mov.l	@r5+,r1+ GLOBAL(movstr_i4_odd): 	mov.l	@r5+,r1 	add	#-4,r4@@ -817,10 +948,8 @@ 	rts 	mov.l	r3,@(12,r4) -GLOBAL(movstr_i4_even):-	mov.l	@r5+,r0-	bra	L_movstr_start_even-	mov.l	@r5+,r1+	ENDFUNC(GLOBAL(movstr_i4_even))+	ENDFUNC(GLOBAL(movstr_i4_odd))  	.p2align	4 GLOBAL(movstrSI12_i4):@@ -831,12 +960,16 @@ 	mov.l	r1,@(4,r4) 	rts 	mov.l	r2,@(8,r4)++	ENDFUNC(GLOBAL(movstrSI12_i4))+ #endif  #ifdef L_mulsi3   	.global	GLOBAL(mulsi3)+	FUNC(GLOBAL(mulsi3))  ! r4 =       aabb ! r5 =       ccdd@@ -869,7 +1002,7 @@ 	rts 	add	r2,r0 -+	FUNC(GLOBAL(mulsi3)) #endif #endif /* ! __SH5__ */ #ifdef L_sdivsi3_i4@@ -879,6 +1012,7 @@ !! args in r4 and r5, result in fpul, clobber dr0, dr2  	.global	GLOBAL(sdivsi3_i4)+	FUNC(GLOBAL(sdivsi3_i4)) GLOBAL(sdivsi3_i4): 	lds r4,fpul 	float fpul,dr0@@ -888,6 +1022,8 @@ 	rts 	ftrc dr0,fpul +	ENDFUNC(GLOBAL(sdivsi3_i4))+ #elif defined(__SH4_SINGLE__) || defined(__SH4_SINGLE_ONLY__) || (defined (__SH5__) && ! defined __SH4_NOFPU__) !! args in r4 and r5, result in fpul, clobber r2, dr0, dr2 @@ -896,6 +1032,7 @@ 	.mode	SHcompact #endif 	.global	GLOBAL(sdivsi3_i4)+	FUNC(GLOBAL(sdivsi3_i4)) GLOBAL(sdivsi3_i4): 	sts.l fpscr,@-r15 	mov #8,r2@@ -910,6 +1047,8 @@ 	rts 	lds.l @r15+,fpscr +	ENDFUNC(GLOBAL(sdivsi3_i4))+ #endif /* ! __SH5__ || __SH5__ == 32 */ #endif /* ! __SH4__ */ #endif@@ -924,9 +1063,10 @@ !! !! -!! args in r4 and r5, result in r0 clobber r1,r2,r3+!! args in r4 and r5, result in r0 clobber r1, r2, r3, and t bit  	.global	GLOBAL(sdivsi3)+	FUNC(GLOBAL(sdivsi3)) #if __SHMEDIA__ #if __SH5__ == 32 	.section	.text..SHmedia32,"ax"@@ -1076,6 +1216,7 @@ div0:	rts 	mov	#0,r0 +	ENDFUNC(GLOBAL(sdivsi3)) #endif /* ! __SHMEDIA__ */ #endif /* ! __SH4__ */ #endif@@ -1084,9 +1225,11 @@ 	.title "SH DIVIDE" !! 4 byte integer Divide code for the Hitachi SH #ifdef __SH4__-!! args in r4 and r5, result in fpul, clobber r0, r1, r4, r5, dr0, dr2, dr4+!! args in r4 and r5, result in fpul, clobber r0, r1, r4, r5, dr0, dr2, dr4,+!! and t bit  	.global	GLOBAL(udivsi3_i4)+	FUNC(GLOBAL(udivsi3_i4)) GLOBAL(udivsi3_i4): 	mov #1,r1 	cmp/hi r1,r5@@ -1127,6 +1270,8 @@ L1: 	.double 2147483648 +	ENDFUNC(GLOBAL(udivsi3_i4))+ #elif defined(__SH4_SINGLE__) || defined(__SH4_SINGLE_ONLY__) || (defined (__SH5__) && ! defined __SH4_NOFPU__) !! args in r4 and r5, result in fpul, clobber r0, r1, r4, r5, dr0, dr2, dr4 @@ -1135,6 +1280,7 @@ 	.mode	SHcompact #endif 	.global	GLOBAL(udivsi3_i4)+	FUNC(GLOBAL(udivsi3_i4)) GLOBAL(udivsi3_i4): 	mov #1,r1 	cmp/hi r1,r5@@ -1183,6 +1329,8 @@ #endif 	.double 2147483648 +	ENDFUNC(GLOBAL(udivsi3_i4))+ #endif /* ! __SH5__ || __SH5__ == 32 */ #endif /* ! __SH4__ */ #endif@@ -1199,6 +1347,7 @@  !! args in r4 and r5, result in r0, clobbers r4, pr, and t bit 	.global	GLOBAL(udivsi3)+	FUNC(GLOBAL(udivsi3))  #if __SHMEDIA__ #if __SH5__ == 32@@ -1299,6 +1448,8 @@ ret:	rts 	mov	r4,r0 +	ENDFUNC(GLOBAL(udivsi3))+ #endif /* ! __SHMEDIA__ */ #endif /* __SH4__ */ #endif@@ -1308,6 +1459,7 @@ 	.mode	SHcompact #endif 	.global GLOBAL(set_fpscr)+	FUNC(GLOBAL(set_fpscr)) GLOBAL(set_fpscr): 	lds r4,fpscr 	mov.l LOCAL(set_fpscr_L1),r1@@ -1340,11 +1492,16 @@ 	.align 2 LOCAL(set_fpscr_L1): 	.long GLOBAL(fpscr_values)++	ENDFUNC(GLOBAL(set_fpscr))++#ifndef NO_FPSCR_VALUES #ifdef __ELF__         .comm   GLOBAL(fpscr_values),8,4 #else         .comm   GLOBAL(fpscr_values),8 #endif /* ELF */+#endif /* NO_FPSCR_VALUES */ #endif /* SH3E / SH4 */ #endif /* L_set_fpscr */ #ifdef L_ic_invalidate@@ -1360,6 +1517,7 @@ 	blink	tr0, r63 #elif defined(__SH4_SINGLE__) || defined(__SH4__) || defined(__SH4_SINGLE_ONLY__) 	.global GLOBAL(ic_invalidate)+	FUNC(GLOBAL(ic_invalidate)) GLOBAL(ic_invalidate): 	ocbwb	@r4 	mova	0f,r0@@ -1382,6 +1540,9 @@ 	nop 	.endr 	.endr++	ENDFUNC(GLOBAL(ic_invalidate))+ #endif /* SH4 */ #endif /* L_ic_invalidate */ diff -ruN gcc-20030210.orig/gcc/config/sh/libgcc-glibc.ver gcc-20030210/gcc/config/sh/libgcc-glibc.ver--- gcc-20030210.orig/gcc/config/sh/libgcc-glibc.ver	Thu Jan  1 09:00:00 1970+++ gcc-20030210/gcc/config/sh/libgcc-glibc.ver	Sat Feb 22 01:40:14 2003@@ -0,0 +1,21 @@+# In order to work around the very problems that force us to now generally+# create a libgcc.so, glibc reexported a number of routines from libgcc.a.+# By now choosing the same version tags for these specific routines, we+# maintain enough binary compatibility to allow future versions of glibc+# to defer implementation of these routines to libgcc.so via DT_AUXILIARY.++# Note that we cannot use the default libgcc-glibc.ver file on sh,+# because GLIBC_2.0 does not exist on this architecture, as the first +# ever glibc release on the platform was GLIBC_2.2.++%inherit GCC_3.0 GLIBC_2.2+GLIBC_2.2 {+  __register_frame+  __register_frame_table+  __deregister_frame+  __register_frame_info+  __deregister_frame_info+  __frame_state_for+  __register_frame_info_table+}+diff -ruN gcc-20030210.orig/gcc/config/sh/linux.h gcc-20030210/gcc/config/sh/linux.h--- gcc-20030210.orig/gcc/config/sh/linux.h	Tue Apr 16 05:27:42 2002+++ gcc-20030210/gcc/config/sh/linux.h	Sat Feb 22 01:40:14 2003@@ -19,6 +19,10 @@ the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */ +/* We're not SYSVR4, not having /usr/ccs */+#undef MD_EXEC_PREFIX+#undef MD_STARTFILE_PREFIX+ /* Run-time Target Specification.  */ #undef TARGET_VERSION #define TARGET_VERSION  fputs (" (SH GNU/Linux with ELF)", stderr);@@ -39,6 +43,28 @@ #undef WCHAR_TYPE_SIZE #define WCHAR_TYPE_SIZE BITS_PER_WORD +/* This was defined in linux.h.  Define it here also. */+#undef  DEFAULT_VTABLE_THUNKS+#define DEFAULT_VTABLE_THUNKS   1++/* Likewise.  */+#define HANDLE_PRAGMA_PACK_PUSH_POP++/* Pick up the return address upon entry to a procedure. Used for+   dwarf2 unwind information.  This also enables the table driven+   mechanism.  */++#define INCOMING_RETURN_ADDR_RTX	gen_rtx_REG (Pmode, PR_REG)+#define DWARF_FRAME_RETURN_COLUMN	DWARF_FRAME_REGNUM (PR_REG)++#undef CPP_SPEC+#define CPP_SPEC "\+   %{m4:-D__SH4__} \+   %{!m4:%(cpp_default_cpu_spec)} \+   %(subtarget_cpp_spec) \+   %(subtarget_cpp_ptr_spec) \+   %(subtarget_cpp_endian_spec) "+ #undef SUBTARGET_CPP_SPEC #define SUBTARGET_CPP_SPEC "\    %{fPIC:-D__PIC__ -D__pic__} \@@ -55,36 +81,45 @@ #undef CPP_DEFAULT_CPU_SPEC #define CPP_DEFAULT_CPU_SPEC "-D__SH3__ -D__sh3__" - #undef CPP_PREDEFINES #define CPP_PREDEFINES "-D__ELF__ -Dunix -D__sh__ -D__gnu_linux__ -Dlinux -Asystem=posix" +/* The GNU C++ standard library requires that these macros be defined.  */+#undef CPLUSPLUS_CPP_SPEC+#define CPLUSPLUS_CPP_SPEC "-D_GNU_SOURCE %(cpp)"+ #undef ASM_SPEC-#define ASM_SPEC  "%{!mb:-little} %{mrelax:-relax}"+#define ASM_SPEC  "%{mb:-big} %{!mb:-little} %{mrelax:-relax}"  #undef CC1_SPEC #define CC1_SPEC \-  "-musermode %{!mb:-ml} %{!m3e:%{!m4:-m3}}"--#undef CC1PLUS_SPEC-#define CC1PLUS_SPEC \-  "-musermode %{!mb:-ml} %{!m3e:%{!m4:-m3}}"+  "-musermode %{!mb:-ml} %{!m4:-m3} %{profile:-p}" +/* XXX: It's wrong if prefix != /usr */ #undef LINK_SPEC #define LINK_SPEC \-  "%{!mb:-m shlelf_linux} %{mrelax:-relax} \+  "%{!mb:-m shlelf_linux -EL} %{mb:-m shelf_linux -EB} %{mrelax:-relax} \    %{shared:-shared} \    %{!static: \      %{rdynamic:-export-dynamic} \      %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2} \-     %{!rpath:-rpath /lib}} \+     %{!mb:%{!m4:-rpath-link /usr/sh-linux/lib }} \+     %{!mb:%{m4:-rpath-link /usr/sh-linux/lib/m4 }} \+     %{mb:%{!m4:-rpath-link /usr/sh-linux/lib/mb }} \+     %{mb:%{m4:-rpath-link /usr/sh-linux/lib/mb/m4 }}} \    %{static:-static}"  #undef LIB_SPEC+#undef LIB_SPEC #define LIB_SPEC \   "%{shared: -lc} \-   %{!shared: %{pthread:-lthread} \-     %{profile:-lc_p} %{!profile: -lc}}"+   %{!shared: %{mieee:-lieee} %{pthread:-lpthread} \+	%{profile:-lc_p} %{!profile: -lc}}"+

⌨️ 快捷键说明

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