📄 gcc-20030210-sh-linux-1.patch
字号:
diff -ruN gcc-20030210.orig/boehm-gc/configure gcc-20030210/boehm-gc/configure--- gcc-20030210.orig/boehm-gc/configure Fri Jan 31 19:17:00 2003+++ gcc-20030210/boehm-gc/configure Sat Feb 22 01:40:14 2003@@ -1922,7 +1922,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/config-ml.in gcc-20030210/config-ml.in--- gcc-20030210.orig/config-ml.in Fri Jan 31 19:16:59 2003+++ gcc-20030210/config-ml.in Sat Feb 22 01:40:14 2003@@ -545,6 +545,7 @@ if [ -d ../$${dir}/$${lib} ]; then \ flags=`echo $$i | sed -e 's/^[^;]*;//' -e 's/@/ -/g'`; \ if (cd ../$${dir}/$${lib}; $(MAKE) $(FLAGS_TO_PASS) \+ DESTDIR="$(DESTDIR)" \ CFLAGS="$(CFLAGS) $${flags}" \ prefix="$(prefix)" \ exec_prefix="$(exec_prefix)" \diff -ruN gcc-20030210.orig/debian/edit-specs.in gcc-20030210/debian/edit-specs.in--- gcc-20030210.orig/debian/edit-specs.in Thu Jan 1 09:00:00 1970+++ gcc-20030210/debian/edit-specs.in Sat Feb 22 01:40:14 2003@@ -0,0 +1,45 @@+/^*asm:$/ {+n+c\+@AS_ENDIAN_FLAG@ %{mrelax:-relax}+}+/^*cpp:$/ {+n+c\+%(cpp_default_cpu_spec) %(subtarget_cpp_spec) %(subtarget_cpp_ptr_spec) %(subtarget_cpp_endian_spec)+}+/^*cc1:$/ {+n+c\+-musermode @CC1_CPU_ENDIAN_FLAGS@ %{profile:-p}+}+/^*link:$/ {+n+c\+%{!static:--eh-frame-hdr} @LINKER_CPU_ENDIAN_FLAGS@ @LINKER_RPATH_LINK_FLAG@ %{mrelax:-relax} %{shared:-shared} %{!static: %{rdynamic:-export-dynamic} %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2}} %{static:-static}+}+/^*multilib:$/ {+n+c\+. ;+}+/^*multilib_matches:$/ {+n+c\++}+/^*multilib_options:$/ {+n+c\++}+/^*subtarget_cpp_endian_spec:$/ {+n+c\+@CPP_ENDIAN_DEF@+}+/^*cpp_default_cpu_spec:$/ {+n+c\+@CPP_CPU_DEFS@+}diff -ruN gcc-20030210.orig/debian/install-CPU-linux gcc-20030210/debian/install-CPU-linux--- gcc-20030210.orig/debian/install-CPU-linux Thu Jan 1 09:00:00 1970+++ gcc-20030210/debian/install-CPU-linux Sat Feb 22 01:40:14 2003@@ -0,0 +1,111 @@+#! /bin/sh++VERSION=$1; shift+CPU=$1++# literally (binary-ly) same+PROGS_C="cpp gcc"+PROGS_ADDITIONAL="c++ g++ g77 gcj"++DRIVERS_C="cc1 cpp0 tradcpp0"+DRIVERS_ADDITIONAL="cc1obj cc1plus collect2 f771 jc1 jvgenmain"+if [ -z "$STEP1_COMPILER_BUILD" ]; then+ PROGS="$PROGS_C $PROGS_ADDITIONAL"+ DRIVERS="$DRIVERS_C $DRIVERSADDITIONAL"+ INITIAL=""+else+ PROGS=$PROGS_C+ DRIVERS=$DRIVERS_C+ INITIAL="-initial"+fi++OBJS="crtbegin.o crtbeginS.o crtend.o crtendS.o"+LIBS_C="libgcc.a"+LIBS_1="libgcc_s.so libgcc_s.so.1 libstdc++.so libstdc++.so.3 libstdc++.so.3.0.2"+LIBS_2="libobjc.a libstdc++.a libsupc++.a"+INCLUDE="include"++cd debian/gcc-sh-linux-others${INITIAL} || exit 1++# Make directories.+mkdir -p usr/bin usr/share usr/share/man usr/share/man/man1 usr/lib \+ usr/lib/gcc-lib usr/lib/gcc-lib/${CPU}-linux \+ usr/lib/gcc-lib/${CPU}-linux/${VERSION} \+ usr/${CPU}-linux usr/${CPU}-linux/lib++# Make symbolic links for include dir.+(cd usr/${CPU}-linux; ln -s ../sh-linux/include .)++# Make symbolic links for executables.+(cd usr/bin;+ for p in ${PROGS}; do+ ln -s shCPU-linux-GCC ${CPU}-linux-$p+ done)++case "${CPU}" in+ sh3)+ MULTILIBDIR=+ AS_ENDIAN_FLAG="-little"+ CPP_ENDIAN_DEF="-D__LITTLE_ENDIAN__"+ CPP_CPU_DEFS="-D__SH3__ -D__sh3__"+ CC1_CPU_ENDIAN_FLAGS="-ml -m3"+ LINKER_CPU_ENDIAN_FLAGS="-m shlelf_linux -EL --architecture sh3"+ LINKER_RPATH_LINK_FLAG="-rpath-link /usr/sh3-linux/lib"+ ;;+ sh3eb)+ MULTILIBDIR=/mb+ AS_ENDIAN_FLAG="-big"+ CPP_ENDIAN_DEF="-D__BIG_ENDIAN__"+ CPP_CPU_DEFS="-D__SH3__ -D__sh3__"+ CC1_CPU_ENDIAN_FLAGS="-mb -m3"+ LINKER_CPU_ENDIAN_FLAGS="-m shelf_linux -EB --architecture sh3"+ LINKER_RPATH_LINK_FLAG="-rpath-link /usr/sh3eb-linux/lib"+ ;;+ sh4)+ MULTILIBDIR=/m4+ AS_ENDIAN_FLAG="-little"+ CPP_ENDIAN_DEF="-D__LITTLE_ENDIAN__"+ CPP_CPU_DEFS="-D__SH4__"+ CC1_CPU_ENDIAN_FLAGS="-ml -m4"+ LINKER_CPU_ENDIAN_FLAGS="-m shlelf_linux -EL --architecture sh4"+ LINKER_RPATH_LINK_FLAG="-rpath-link /usr/sh4-linux/lib"+ ;;+ sh4eb)+ MULTILIBDIR=/mb/m4+ AS_ENDIAN_FLAG="-big"+ CPP_ENDIAN_DEF="-D__BIG_ENDIAN__"+ CPP_CPU_DEFS="-D__SH4__"+ CC1_CPU_ENDIAN_FLAGS="-mb -m4"+ LINKER_CPU_ENDIAN_FLAGS="-m shelf_linux -EB --architecture sh4"+ LINKER_RPATH_LINK_FLAG="-rpath-link /usr/sh4eb-linux/lib"+ ;;+esac++# Make symbolic links for GCC drivers, objects, libraries, and include dir.+(cd usr/lib/gcc-lib/${CPU}-linux/${VERSION};+ for f in ${DRIVERS} ${INCLUDE}; do+ ln -s ../../sh-linux/${VERSION}/$f $f;+ done+ for f in ${OBJS} ${LIBS_C}; do+ ln -s ../../sh-linux/${VERSION}${MULTILIBDIR}/$f $f;+ done)++if [ -z "$STEP1_COMPILER_BUILD" ]; then+ for f in ${LIBS_1} ${LIBS_2}; do+ mv ../gcc-sh-linux/usr/sh-linux/lib${MULTILIBDIR}/$f usr/${CPU}-linux/lib/;+ done+fi++sed -e "s+@AS_ENDIAN_FLAG@+${AS_ENDIAN_FLAG}+" \+ -e "s+@CPP_ENDIAN_DEF@+${CPP_ENDIAN_DEF}+" \+ -e "s+@CPP_CPU_DEFS@+${CPP_CPU_DEFS}+" \+ -e "s+@CC1_CPU_ENDIAN_FLAGS@+${CC1_CPU_ENDIAN_FLAGS}+" \+ -e "s+@LINKER_CPU_ENDIAN_FLAGS@+${LINKER_CPU_ENDIAN_FLAGS}+" \+ -e "s+@LINKER_RPATH_LINK_FLAG@+${LINKER_RPATH_LINK_FLAG}+" \+ ../edit-specs.in >../edit-specs-${CPU}.sed++sed -f ../edit-specs-${CPU}.sed \+ ../gcc-sh-linux${INITIAL}/usr/lib/gcc-lib/sh-linux/${VERSION}/specs \+ > usr/lib/gcc-lib/${CPU}-linux/${VERSION}/specs++exit 0diff -ruN gcc-20030210.orig/debian/multilib-symlink gcc-20030210/debian/multilib-symlink--- gcc-20030210.orig/debian/multilib-symlink Thu Jan 1 09:00:00 1970+++ gcc-20030210/debian/multilib-symlink Sat Feb 22 01:40:14 2003@@ -0,0 +1,10 @@+#! /bin/sh++cd /usr/sh-linux/lib+ln -s ../../sh3-linux/lib/{*.a,*.so*,*.o} .+cd m4+ln -s ../../../sh4-linux/lib/{*.a,*.so*,*.o} .+cd ../mb+ln -s ../../../sh3eb-linux/lib/{*.a,*.so*,*.o} .+cd m4+ln -s ../../../../sh4eb-linux/lib/{*.a,*.so*,*.o} .diff -ruN gcc-20030210.orig/debian/shCPU-linux-GCC gcc-20030210/debian/shCPU-linux-GCC--- gcc-20030210.orig/debian/shCPU-linux-GCC Thu Jan 1 09:00:00 1970+++ gcc-20030210/debian/shCPU-linux-GCC Sat Feb 22 01:40:14 2003@@ -0,0 +1,59 @@+#! /bin/bash++BASENAME=${0##*/}+PROG=${BASENAME##*-}+CPU=${BASENAME%%-*}++if [ "$PROG" = gcc ]; then+ if [ "$1" = "-b" -a "$2" = "i386-linux" ]; then+ shift 2+ exec /usr/bin/gcc "$@"+ elif [ "$1" = "-print-multi-lib" -o "$1" = "--print-multi-lib" ]; then+ echo ".;"+ exit 0+ elif [ "$1" = "-print-multi-os-directory" -o "$1" = "--print-multi-os-directory" ]; then+ echo "."+ exit 0+ elif [ "$1" = "-dumpspecs" ]; then+ cat /usr/lib/gcc-lib/${CPU}-linux/@@VERSION@@/specs+ exit 0+ fi+fi++case "${CPU}" in+ sh3)+ ARCH=m3+ DEFINES="-D__sh3__ -D__SH3__ -D__LITTLE_ENDIAN__"+ ENDIAN=ml+ ;;+ sh3eb)+ ARCH=m3+ DEFINES="-D__sh3__ -D__SH3__ -D__BIG_ENDIAN__"+ ENDIAN=mb+ ;;+ sh4)+ ARCH=m4+ DEFINES="-D__SH4__ -D__LITTLE_ENDIAN__"+ ENDIAN=ml+ ;;+ sh4eb)+ ARCH=m4+ DEFINES="-D__SH4__ -D__BIG_ENDIAN__"+ ENDIAN=mb+ ;;+esac++# Prepend the appropriate options+# If user specifies some options, it will be overridden++case "${PROG}" in+ cpp)+ exec sh-linux-${PROG} $DEFINES "$@"+ ;;+ c++|g++|g77|gcc|gcj)+ exec sh-linux-${PROG} -$ARCH -$ENDIAN "$@"+ ;;+esac++echo "Something wrong..."+exit 1diff -ruN gcc-20030210.orig/gcc/config/sh/elf.h gcc-20030210/gcc/config/sh/elf.h--- gcc-20030210.orig/gcc/config/sh/elf.h Fri Feb 22 01:42:28 2002+++ gcc-20030210/gcc/config/sh/elf.h Sat Feb 22 01:40:14 2003@@ -170,3 +170,7 @@ #undef ENDFILE_SPEC #define ENDFILE_SPEC \ "%{!shared:crtend.o%s} %{shared:crtendS.o%s} crtn.o%s"++/* ASM_OUTPUT_CASE_LABEL is defined in elfos.h. With it, + redundant .align will be generated. */+#undef ASM_OUTPUT_CASE_LABELdiff -ruN gcc-20030210.orig/gcc/config/sh/lib1funcs.asm gcc-20030210/gcc/config/sh/lib1funcs.asm--- gcc-20030210.orig/gcc/config/sh/lib1funcs.asm Fri Feb 22 01:42:28 2002+++ gcc-20030210/gcc/config/sh/lib1funcs.asm Sat Feb 22 01:40:14 2003@@ -39,8 +39,13 @@ #ifdef __ELF__ #define LOCAL(X) .L_##X+#define FUNC(X) .type X,@function; .hidden X+#define _ENDFUNC(X) .Lfe_##X: .size X,.Lfe_##X-X+#define ENDFUNC(X) _ENDFUNC(X) #else #define LOCAL(X) L_##X+#define FUNC(X)+#define ENDFUNC(X) #endif #ifdef __linux__@@ -91,6 +96,40 @@ .global GLOBAL(ashiftrt_r4_31) .global GLOBAL(ashiftrt_r4_32) + FUNC(GLOBAL(ashiftrt_r4_0))+ FUNC(GLOBAL(ashiftrt_r4_1))+ FUNC(GLOBAL(ashiftrt_r4_2))+ FUNC(GLOBAL(ashiftrt_r4_3))+ FUNC(GLOBAL(ashiftrt_r4_4))+ FUNC(GLOBAL(ashiftrt_r4_5))+ FUNC(GLOBAL(ashiftrt_r4_6))+ FUNC(GLOBAL(ashiftrt_r4_7))+ FUNC(GLOBAL(ashiftrt_r4_8))+ FUNC(GLOBAL(ashiftrt_r4_9))+ FUNC(GLOBAL(ashiftrt_r4_10))+ FUNC(GLOBAL(ashiftrt_r4_11))+ FUNC(GLOBAL(ashiftrt_r4_12))+ FUNC(GLOBAL(ashiftrt_r4_13))+ FUNC(GLOBAL(ashiftrt_r4_14))+ FUNC(GLOBAL(ashiftrt_r4_15))+ FUNC(GLOBAL(ashiftrt_r4_16))+ FUNC(GLOBAL(ashiftrt_r4_17))+ FUNC(GLOBAL(ashiftrt_r4_18))+ FUNC(GLOBAL(ashiftrt_r4_19))+ FUNC(GLOBAL(ashiftrt_r4_20))+ FUNC(GLOBAL(ashiftrt_r4_21))+ FUNC(GLOBAL(ashiftrt_r4_22))+ FUNC(GLOBAL(ashiftrt_r4_23))+ FUNC(GLOBAL(ashiftrt_r4_24))+ FUNC(GLOBAL(ashiftrt_r4_25))+ FUNC(GLOBAL(ashiftrt_r4_26))+ FUNC(GLOBAL(ashiftrt_r4_27))+ FUNC(GLOBAL(ashiftrt_r4_28))+ FUNC(GLOBAL(ashiftrt_r4_29))+ FUNC(GLOBAL(ashiftrt_r4_30))+ FUNC(GLOBAL(ashiftrt_r4_31))+ FUNC(GLOBAL(ashiftrt_r4_32))+ .align 1 GLOBAL(ashiftrt_r4_32): GLOBAL(ashiftrt_r4_31):@@ -170,6 +209,41 @@ GLOBAL(ashiftrt_r4_0): rts nop++ ENDFUNC(GLOBAL(ashiftrt_r4_0))+ ENDFUNC(GLOBAL(ashiftrt_r4_1))+ ENDFUNC(GLOBAL(ashiftrt_r4_2))+ ENDFUNC(GLOBAL(ashiftrt_r4_3))+ ENDFUNC(GLOBAL(ashiftrt_r4_4))+ ENDFUNC(GLOBAL(ashiftrt_r4_5))+ ENDFUNC(GLOBAL(ashiftrt_r4_6))+ ENDFUNC(GLOBAL(ashiftrt_r4_7))+ ENDFUNC(GLOBAL(ashiftrt_r4_8))+ ENDFUNC(GLOBAL(ashiftrt_r4_9))+ ENDFUNC(GLOBAL(ashiftrt_r4_10))+ ENDFUNC(GLOBAL(ashiftrt_r4_11))+ ENDFUNC(GLOBAL(ashiftrt_r4_12))+ ENDFUNC(GLOBAL(ashiftrt_r4_13))+ ENDFUNC(GLOBAL(ashiftrt_r4_14))+ ENDFUNC(GLOBAL(ashiftrt_r4_15))+ ENDFUNC(GLOBAL(ashiftrt_r4_16))+ ENDFUNC(GLOBAL(ashiftrt_r4_17))+ ENDFUNC(GLOBAL(ashiftrt_r4_18))+ ENDFUNC(GLOBAL(ashiftrt_r4_19))+ ENDFUNC(GLOBAL(ashiftrt_r4_20))+ ENDFUNC(GLOBAL(ashiftrt_r4_21))+ ENDFUNC(GLOBAL(ashiftrt_r4_22))+ ENDFUNC(GLOBAL(ashiftrt_r4_23))+ ENDFUNC(GLOBAL(ashiftrt_r4_24))+ ENDFUNC(GLOBAL(ashiftrt_r4_25))+ ENDFUNC(GLOBAL(ashiftrt_r4_26))+ ENDFUNC(GLOBAL(ashiftrt_r4_27))+ ENDFUNC(GLOBAL(ashiftrt_r4_28))+ ENDFUNC(GLOBAL(ashiftrt_r4_29))+ ENDFUNC(GLOBAL(ashiftrt_r4_30))+ ENDFUNC(GLOBAL(ashiftrt_r4_31))+ ENDFUNC(GLOBAL(ashiftrt_r4_32))+ #endif #ifdef L_ashiftrt_n@@ -192,6 +266,7 @@ ! .global GLOBAL(ashrsi3)+ FUNC(GLOBAL(ashrsi3)) .align 2 GLOBAL(ashrsi3): mov #31,r0@@ -319,6 +394,8 @@ rts nop + ENDFUNC(GLOBAL(ashrsi3))+ #endif #ifdef L_ashiftlt@@ -340,6 +417,7 @@ ! (none) ! .global GLOBAL(ashlsi3)+ FUNC(GLOBAL(ashlsi3)) .align 2 GLOBAL(ashlsi3): mov #31,r0@@ -476,6 +554,8 @@ rts nop + ENDFUNC(GLOBAL(ashlsi3))+ #endif #ifdef L_lshiftrt@@ -497,6 +577,7 @@ ! (none) ! .global GLOBAL(lshrsi3)+ FUNC(GLOBAL(lshrsi3)) .align 2 GLOBAL(lshrsi3): mov #31,r0@@ -633,6 +714,8 @@ rts nop + ENDFUNC(GLOBAL(lshrsi3))+ #endif #ifdef L_movstr@@ -649,76 +732,113 @@ add #64,r4 .align 4 .global GLOBAL(movstrSI64)+ FUNC(GLOBAL(movstrSI64)) GLOBAL(movstrSI64): mov.l @(60,r5),r0 mov.l r0,@(60,r4) .global GLOBAL(movstrSI60)+ FUNC(GLOBAL(movstrSI60)) GLOBAL(movstrSI60): mov.l @(56,r5),r0 mov.l r0,@(56,r4) .global GLOBAL(movstrSI56)+ FUNC(GLOBAL(movstrSI56))
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -