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

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

📁 linux下编译交叉工具链的工具源码
💻 PATCH
📖 第 1 页 / 共 4 页
字号:
+#undef CC1_SPEC+#define CC1_SPEC \+  "-musermode -ml -m4 %{profile:-p}"++#undef LINK_SPEC+#define LINK_SPEC \+  "%{mrelax:-relax} \+   %{shared:-shared} \+   %{!static: \+     %{rdynamic:-export-dynamic} \+     %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2}} \+    %{static:-static}"diff -ruN gcc-20030210.orig/gcc/config/sh/sh4eb-linux.h gcc-20030210/gcc/config/sh/sh4eb-linux.h--- gcc-20030210.orig/gcc/config/sh/sh4eb-linux.h	Thu Jan  1 09:00:00 1970+++ gcc-20030210/gcc/config/sh/sh4eb-linux.h	Sat Feb 22 01:40:14 2003@@ -0,0 +1,29 @@+#undef TARGET_VERSION+#define TARGET_VERSION  fputs (" (SH4EB GNU/Linux with ELF)", stderr);++#undef CPP_SPEC+#define CPP_SPEC \+  "-D__BIG_ENDIAN__ \+   -D__SH4__ \+   -D__SIZE_TYPE__=unsigned\\ int \+   -D__PTRDIFF_TYPE__=int \+   %{fPIC:-D__PIC__ -D__pic__} \+   %{fpic:-D__PIC__ -D__pic__} \+   %{posix:-D_POSIX_SOURCE} \+   %{pthread:-D_REENTRANT -D_PTHREADS}"++#undef ASM_SPEC+#define ASM_SPEC  "%{mrelax:-relax}"++#undef CC1_SPEC+#define CC1_SPEC \+  "-musermode -mb -m4 %{profile:-p}"++#undef LINK_SPEC+#define LINK_SPEC \+  "%{mrelax:-relax} \+   %{shared:-shared} \+   %{!static: \+     %{rdynamic:-export-dynamic} \+     %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2}} \+    %{static:-static}"diff -ruN gcc-20030210.orig/gcc/config/sh/t-linux gcc-20030210/gcc/config/sh/t-linux--- gcc-20030210.orig/gcc/config/sh/t-linux	Thu May 17 12:16:12 2001+++ gcc-20030210/gcc/config/sh/t-linux	Sat Feb 22 01:40:14 2003@@ -1,10 +1,20 @@-TARGET_LIBGCC2_CFLAGS = -fpic+TARGET_LIBGCC2_CFLAGS = -fpic -DNO_FPSCR_VALUES+LIBGCC1 = libgcc1-asm.a+CROSS_LIBGCC1 = libgcc1-asm.a+LIBGCC1_TEST = libgcc1-test LIB1ASMFUNCS = _ashiftrt _ashiftrt_n _ashiftlt _lshiftrt _movstr \   _movstr_i4 _mulsi3 _sdivsi3 _sdivsi3_i4 _udivsi3 _udivsi3_i4 _set_fpscr \   _ic_invalidate+LIB2ADDEH = $(srcdir)/unwind-sjlj.c+LIB2ADDEHDEP = unwind.inc unwind-sjlj.c -MULTILIB_OPTIONS= mb m3e/m4+MULTILIB_OPTIONS= mb m4 MULTILIB_DIRNAMES=  MULTILIB_MATCHES =  -EXTRA_MULTILIB_PARTS= crtbegin.o crtend.o crtbeginS.o crtendS.o+EXTRA_MULTILIB_PARTS= crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o++# Override t-slibgcc-elf-ver to export some libgcc symbols with+# the symbol versions that glibc used and SH specific.+SHLIB_MAPFILES =  $(srcdir)/libgcc-std.ver \+		  $(srcdir)/config/sh/libgcc-glibc.verdiff -ruN gcc-20030210.orig/gcc/config/sh/t-linux-nomulti gcc-20030210/gcc/config/sh/t-linux-nomulti--- gcc-20030210.orig/gcc/config/sh/t-linux-nomulti	Thu Jan  1 09:00:00 1970+++ gcc-20030210/gcc/config/sh/t-linux-nomulti	Sat Feb 22 01:40:14 2003@@ -0,0 +1,9 @@+LIBGCC = libgcc.a+EXTRA_PARTS = crtbegin.o crtbeginS.o crtend.o crtendS.o crtbeginT.o++INSTALL_LIBGCC = install-libgcc++MULTILIB_OPTIONS=+MULTILIB_DIRNAMES= +MULTILIB_MATCHES = +EXTRA_MULTILIB_PARTS=diff -ruN gcc-20030210.orig/gcc/config.gcc gcc-20030210/gcc/config.gcc--- gcc-20030210.orig/gcc/config.gcc	Fri Jan 31 19:17:13 2003+++ gcc-20030210/gcc/config.gcc	Sat Feb 22 01:40:14 2003@@ -337,9 +337,9 @@ sparc*-*-*) 	cpu_type=sparc 	;;-sh64-*-*)-	cpu_type=sh-	;;+sh*-*-*)+ 	cpu_type=sh+ 	;; esac  tm_file=${cpu_type}/${cpu_type}.h@@ -3018,9 +3018,31 @@ 	  thread_file='rtems' 	fi 	;;-sh-*-linux*)+sh*-*-linux*) 	tm_file="${tm_file} sh/elf.h sh/linux.h"-	tmake_file="sh/t-sh sh/t-elf sh/t-linux"+	tmake_file="sh/t-sh sh/t-elf t-slibgcc-elf-ver t-linux sh/t-linux"+	extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o"+	case $machine in+		sh3eb-*)+			tm_file="${tm_file} sh/sh3eb-linux.h"+			tmake_file="${tmake_file} sh/t-linux-nomulti"+			;;+		sh4eb-*)+			tm_file="${tm_file} sh/sh4eb-linux.h"+			tmake_file="${tmake_file} sh/t-linux-nomulti"+			;;+		sh3-*)+			tm_file="${tm_file} sh/sh3-linux.h"+			tmake_file="${tmake_file} sh/t-linux-nomulti"+			;;+		sh4-*)+			tm_file="${tm_file} sh/sh4-linux.h"+			tmake_file="${tmake_file} sh/t-linux-nomulti"+			;;+		*)+			;;+	esac+	xmake_file=x-linux 	gas=yes gnu_ld=yes 	float_format=sh 	;;diff -ruN gcc-20030210.orig/gcc/dwarf2out.c gcc-20030210/gcc/dwarf2out.c--- gcc-20030210.orig/gcc/dwarf2out.c	Mon Feb 10 19:36:25 2003+++ gcc-20030210/gcc/dwarf2out.c	Sat Feb 22 01:40:14 2003@@ -10224,7 +10224,9 @@ 	  /* We can have a normal definition following an inline one in the 	     case of redefinition of GNU C extern inlines. 	     It seems reasonable to use AT_specification in this case.  */-	  && !get_AT_unsigned (old_die, DW_AT_inline))+	  && !get_AT_unsigned (old_die, DW_AT_inline)+	  /* Skip the nested function.  */+	  && !decl_function_context (decl)) 	{ 	  /* ??? This can happen if there is a bug in the program, for 	     instance, if it has duplicate function definitions.  Ideally,diff -ruN gcc-20030210.orig/gcc/final.c gcc-20030210/gcc/final.c--- gcc-20030210.orig/gcc/final.c	Fri Jan 31 19:17:20 2003+++ gcc-20030210/gcc/final.c	Sat Feb 22 01:40:14 2003@@ -1128,7 +1128,7 @@ 	    } 	} -      INSN_ADDRESSES (uid) = insn_current_address;+      INSN_ADDRESSES (uid) = insn_current_address + insn_lengths[uid];        if (GET_CODE (insn) == NOTE || GET_CODE (insn) == BARRIER 	  || GET_CODE (insn) == CODE_LABEL)diff -ruN gcc-20030210.orig/gcc/mkmap-symver.awk gcc-20030210/gcc/mkmap-symver.awk--- gcc-20030210.orig/gcc/mkmap-symver.awk	Fri Jan 31 19:17:26 2003+++ gcc-20030210/gcc/mkmap-symver.awk	Sat Feb 22 01:40:14 2003@@ -89,7 +89,11 @@     output(inherit[lib]);    printf("%s {\n", lib);-  printf("  global:\n");+  for (sym in ver)+    if ((ver[sym] == lib) && (sym in def))+      count++;+  if (count > 0)+    printf("  global:\n");   for (sym in ver)     if ((ver[sym] == lib) && (sym in def))       {diff -ruN gcc-20030210.orig/gcc/reload1.c gcc-20030210/gcc/reload1.c--- gcc-20030210.orig/gcc/reload1.c	Fri Jan 31 19:17:29 2003+++ gcc-20030210/gcc/reload1.c	Sat Feb 22 01:40:14 2003@@ -6103,6 +6103,7 @@ 	    for (j = 0; j < n_reloads; j++) 	      if (rld[j].in != 0 		  && rld[j].when_needed != RELOAD_OTHER+		  && rld[j].when_needed != RELOAD_FOR_OUTPUT_ADDRESS 		  && reg_overlap_mentioned_for_reload_p (rld[j].in, 							 rld[i].in)) 		rld[j].when_neededdiff -ruN gcc-20030210.orig/gcc/reorg.c gcc-20030210/gcc/reorg.c--- gcc-20030210.orig/gcc/reorg.c	Fri Jan 31 19:17:30 2003+++ gcc-20030210/gcc/reorg.c	Sat Feb 22 01:40:14 2003@@ -3265,6 +3265,14 @@ 		|| condjump_in_parallel_p (XVECEXP (PATTERN (insn), 0, 0)))) 	continue; +#ifdef MD_CAN_REDIRECT_BRANCH+      /* On some targets, branches with delay slots can have a limited+	 displacement.  Give the back end a chance to tell us we can't do+	 this.  */+      if (! MD_CAN_REDIRECT_BRANCH (insn, delay_insn))+	continue;+#endif+       target_label = JUMP_LABEL (delay_insn);        if (target_label)diff -ruN gcc-20030210.orig/gcc/tree-inline.c gcc-20030210/gcc/tree-inline.c--- gcc-20030210.orig/gcc/tree-inline.c	Fri Jan 31 19:17:33 2003+++ gcc-20030210/gcc/tree-inline.c	Sat Feb 22 01:40:14 2003@@ -836,11 +836,17 @@    /* Don't try to inline functions that are not well-suited to      inlining.  */-  if (!inlinable_function_p (fn, id))-    return NULL_TREE;+  if (! inlinable_function_p (fn, id)+      || ! (*lang_hooks.tree_inlining.start_inlining) (fn))+    {+      if (DECL_INLINE (fn) && warn_inline && ! flag_really_no_inline)+	{+	  warning_with_decl (fn, "inlining failed in call to `%s'");+	  warning ("called from here");+	} -  if (! (*lang_hooks.tree_inlining.start_inlining) (fn))-    return NULL_TREE;+      return NULL_TREE;+    }    /* Set the current filename and line number to the function we are      inlining so that when we create new _STMT nodes here they getdiff -ruN gcc-20030210.orig/libjava/Makefile.in gcc-20030210/libjava/Makefile.in--- gcc-20030210.orig/libjava/Makefile.in	Tue Jan 28 10:44:37 2003+++ gcc-20030210/libjava/Makefile.in	Sat Feb 22 01:40:14 2003@@ -1637,6 +1637,7 @@ 	"AS=$(AS)" \ 	"CC=$(CC)" \ 	"CXX=$(CXX)" \+	"GCJ=$(GCJ)" \ 	"LD=$(LD)" \ 	"LIBCFLAGS=$(LIBCFLAGS)" \ 	"NM=$(NM)" \diff -ruN gcc-20030210.orig/libjava/configure gcc-20030210/libjava/configure--- gcc-20030210.orig/libjava/configure	Tue Jan 28 10:44:37 2003+++ gcc-20030210/libjava/configure	Sat Feb 22 01:42:11 2003@@ -2031,7 +2031,7 @@ # This must be Linux ELF. linux-gnu*)   case $host_cpu in-  alpha* | hppa* | i*86 | powerpc* | sparc* | ia64* )+  alpha* | hppa* | i*86 | powerpc* | sparc* | ia64* | sh* )     lt_cv_deplibs_check_method=pass_all ;;   *)     # glibc up to 2.1.1 does not perform some relocations on ARMdiff -ruN gcc-20030210.orig/libjava/java/net/natInetAddress.cc gcc-20030210/libjava/java/net/natInetAddress.cc--- gcc-20030210.orig/libjava/java/net/natInetAddress.cc	Tue Mar  5 05:02:19 2002+++ gcc-20030210/libjava/java/net/natInetAddress.cc	Sat Feb 22 01:40:14 2003@@ -56,7 +56,7 @@ #endif  #ifndef HAVE_GETHOSTNAME_DECL-extern "C" int gethostname (char *name, int namelen);+extern "C" int gethostname (char *name, unsigned int namelen); #endif  #ifdef DISABLE_JAVA_NETdiff -ruN gcc-20030210.orig/libjava/libltdl/aclocal.m4 gcc-20030210/libjava/libltdl/aclocal.m4--- gcc-20030210.orig/libjava/libltdl/aclocal.m4	Sun Sep 10 17:04:40 2000+++ gcc-20030210/libjava/libltdl/aclocal.m4	Sat Feb 22 01:40:14 2003@@ -573,7 +573,7 @@ # This must be Linux ELF. linux-gnu*)   case "$host_cpu" in-  alpha* | i*86 | powerpc* | sparc* | ia64* )+  alpha* | i*86 | powerpc* | sparc* | ia64* | sh*)     lt_cv_deplibs_check_method=pass_all ;;   *)     # glibc up to 2.1.1 does not perform some relocations on ARMdiff -ruN gcc-20030210.orig/libjava/sysdep/sh/locks.h gcc-20030210/libjava/sysdep/sh/locks.h--- gcc-20030210.orig/libjava/sysdep/sh/locks.h	Thu Jan  1 09:00:00 1970+++ gcc-20030210/libjava/sysdep/sh/locks.h	Sat Feb 22 01:40:14 2003@@ -0,0 +1,72 @@+// locks.h - Thread synchronization primitives. SuperH implementation.++/* Copyright (C) 2002  Free Software Foundation++   This file is part of libgcj.++This software is copyrighted work licensed under the terms of the+Libgcj License.  Please consult the file "LIBGCJ_LICENSE" for+details.  */++#ifndef __SYSDEP_LOCKS_H__+#define __SYSDEP_LOCKS_H__++typedef size_t obj_addr_t;	/* Integer type big enough for object	*/+				/* address.				*/++static unsigned char __cas_lock = 0;++inline static void+__cas_start_atomic (void)+{+  unsigned int val;++  do+    __asm__ __volatile__ ("tas.b @%1; movt %0"+			  : "=r" (val)+			  : "r" (&__cas_lock)+			  : "memory");+  while (val == 0);+}++inline static void+__cas_end_atomic (void)+{+  __asm__ __volatile__ (" " : : : "memory");+  __cas_lock = 0;+}++inline static bool+compare_and_swap (volatile obj_addr_t *addr, obj_addr_t old,+		  obj_addr_t new_val)+{+  bool ret;++  __cas_start_atomic ();+  if (*addr != old)+    ret = false;+  else+    {+      *addr = new_val;+      ret = true;+    }+  __cas_end_atomic ();++  return ret;+}++inline static void+release_set (volatile obj_addr_t *addr, obj_addr_t new_val)+{+  __asm__ __volatile__ (" " : : : "memory");+  *(addr) = new_val;+}++inline static bool+compare_and_swap_release (volatile obj_addr_t *addr, obj_addr_t old,+			  obj_addr_t new_val)+{+  return compare_and_swap (addr, old, new_val);+}++#endif /* ! __SYSDEP_LOCKS_H__ */diff -ruN gcc-20030210.orig/libstdc++-v3/acinclude.m4 gcc-20030210/libstdc++-v3/acinclude.m4--- gcc-20030210.orig/libstdc++-v3/acinclude.m4	Tue Jan 28 02:30:41 2003+++ gcc-20030210/libstdc++-v3/acinclude.m4	Sat Feb 22 01:40:14 2003@@ -1828,9 +1828,10 @@   GLIBCPP_INCLUDES="-I${glibcpp_builddir}/include/${target_alias} -I${glibcpp_builddir}/include"    # Passed down for canadian crosses.-  if test x"$CANADIAN" = xyes; then-    TOPLEVEL_INCLUDES='-I$(includedir)'-  fi+  #if test x"$CANADIAN" = xyes; then+  #  TOPLEVEL_INCLUDES='-I$(includedir)'+  #fi+  TOPLEVEL_INCLUDES=''    LIBMATH_INCLUDES='-I$(top_srcdir)/libmath' diff -ruN gcc-20030210.orig/libstdc++-v3/aclocal.m4 gcc-20030210/libstdc++-v3/aclocal.m4--- gcc-20030210.orig/libstdc++-v3/aclocal.m4	Mon Feb 10 19:36:47 2003+++ gcc-20030210/libstdc++-v3/aclocal.m4	Sat Feb 22 01:40:14 2003@@ -1840,9 +1840,10 @@   GLIBCPP_INCLUDES="-I${glibcpp_builddir}/include/${target_alias} -I${glibcpp_builddir}/include"    # Passed down for canadian crosses.-  if test x"$CANADIAN" = xyes; then-    TOPLEVEL_INCLUDES='-I$(includedir)'-  fi+  #if test x"$CANADIAN" = xyes; then+  #  TOPLEVEL_INCLUDES='-I$(includedir)'+  #fi+  TOPLEVEL_INCLUDES=''    LIBMATH_INCLUDES='-I$(top_srcdir)/libmath' diff -ruN gcc-20030210.orig/libstdc++-v3/configure gcc-20030210/libstdc++-v3/configure--- gcc-20030210.orig/libstdc++-v3/configure	Mon Feb 10 19:37:17 2003+++ gcc-20030210/libstdc++-v3/configure	Sat Feb 22 01:40:14 2003@@ -1982,7 +1982,7 @@ # This must be Linux ELF. linux-gnu*)   case $host_cpu in-  alpha* | hppa* | i*86 | powerpc* | sparc* | ia64* )+  alpha* | hppa* | i*86 | powerpc* | sparc* | ia64* | sh*)     lt_cv_deplibs_check_method=pass_all ;;   *)     # glibc up to 2.1.1 does not perform some relocations on ARM@@ -22340,9 +22340,10 @@   GLIBCPP_INCLUDES="-I${glibcpp_builddir}/include/${target_alias} -I${glibcpp_builddir}/include"    # Passed down for canadian crosses.-  if test x"$CANADIAN" = xyes; then-    TOPLEVEL_INCLUDES='-I$(includedir)'-  fi+  #if test x"$CANADIAN" = xyes; then+  #  TOPLEVEL_INCLUDES='-I$(includedir)'+  #fi+  TOPLEVEL_INCLUDES=''    LIBMATH_INCLUDES='-I$(top_srcdir)/libmath' diff -ruN gcc-20030210.orig/libtool.m4 gcc-20030210/libtool.m4--- gcc-20030210.orig/libtool.m4	Fri Jan 31 19:16:59 2003+++ gcc-20030210/libtool.m4	Sat Feb 22 01:40:14 2003@@ -597,7 +597,7 @@ # This must be Linux ELF. linux-gnu*)   case $host_cpu in-  alpha* | hppa* | i*86 | powerpc* | sparc* | ia64* )+  alpha* | hppa* | i*86 | powerpc* | sparc* | ia64* | sh* )     lt_cv_deplibs_check_method=pass_all ;;   *)     # glibc up to 2.1.1 does not perform some relocations on ARMdiff -ruN gcc-20030210.orig/zlib/configure gcc-20030210/zlib/configure--- gcc-20030210.orig/zlib/configure	Tue Jan 28 10:44:15 2003+++ gcc-20030210/zlib/configure	Sat Feb 22 01:40:14 2003@@ -1571,7 +1571,7 @@ # This must be Linux ELF. linux-gnu*)   case $host_cpu in-  alpha* | hppa* | i*86 | powerpc* | sparc* | ia64* )+  alpha* | hppa* | i*86 | powerpc* | sparc* | ia64* | sh* )     lt_cv_deplibs_check_method=pass_all ;;   *)     # glibc up to 2.1.1 does not perform some relocations on ARM

⌨️ 快捷键说明

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