1.1 --- a/patches/gcc/3.2.3/120-sh-linux-1.patch Wed Oct 28 12:03:38 2009 +0100
1.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
1.3 @@ -1,1761 +0,0 @@
1.4 -diff -ruN gcc-20030210.orig/boehm-gc/configure gcc-20030210/boehm-gc/configure
1.5 ---- gcc-20030210.orig/boehm-gc/configure Fri Jan 31 19:17:00 2003
1.6 -+++ gcc-20030210/boehm-gc/configure Sat Feb 22 01:40:14 2003
1.7 -@@ -1922,7 +1922,7 @@
1.8 - # This must be Linux ELF.
1.9 - linux-gnu*)
1.10 - case $host_cpu in
1.11 -- alpha* | hppa* | i*86 | powerpc* | sparc* | ia64* )
1.12 -+ alpha* | hppa* | i*86 | powerpc* | sparc* | ia64* | sh* )
1.13 - lt_cv_deplibs_check_method=pass_all ;;
1.14 - *)
1.15 - # glibc up to 2.1.1 does not perform some relocations on ARM
1.16 -diff -ruN gcc-20030210.orig/config-ml.in gcc-20030210/config-ml.in
1.17 ---- gcc-20030210.orig/config-ml.in Fri Jan 31 19:16:59 2003
1.18 -+++ gcc-20030210/config-ml.in Sat Feb 22 01:40:14 2003
1.19 -@@ -545,6 +545,7 @@
1.20 - if [ -d ../$${dir}/$${lib} ]; then \
1.21 - flags=`echo $$i | sed -e 's/^[^;]*;//' -e 's/@/ -/g'`; \
1.22 - if (cd ../$${dir}/$${lib}; $(MAKE) $(FLAGS_TO_PASS) \
1.23 -+ DESTDIR="$(DESTDIR)" \
1.24 - CFLAGS="$(CFLAGS) $${flags}" \
1.25 - prefix="$(prefix)" \
1.26 - exec_prefix="$(exec_prefix)" \
1.27 -diff -ruN gcc-20030210.orig/debian/edit-specs.in gcc-20030210/debian/edit-specs.in
1.28 ---- gcc-20030210.orig/debian/edit-specs.in Thu Jan 1 09:00:00 1970
1.29 -+++ gcc-20030210/debian/edit-specs.in Sat Feb 22 01:40:14 2003
1.30 -@@ -0,0 +1,45 @@
1.31 -+/^*asm:$/ {
1.32 -+n
1.33 -+c\
1.34 -+@AS_ENDIAN_FLAG@ %{mrelax:-relax}
1.35 -+}
1.36 -+/^*cpp:$/ {
1.37 -+n
1.38 -+c\
1.39 -+%(cpp_default_cpu_spec) %(subtarget_cpp_spec) %(subtarget_cpp_ptr_spec) %(subtarget_cpp_endian_spec)
1.40 -+}
1.41 -+/^*cc1:$/ {
1.42 -+n
1.43 -+c\
1.44 -+-musermode @CC1_CPU_ENDIAN_FLAGS@ %{profile:-p}
1.45 -+}
1.46 -+/^*link:$/ {
1.47 -+n
1.48 -+c\
1.49 -+%{!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}
1.50 -+}
1.51 -+/^*multilib:$/ {
1.52 -+n
1.53 -+c\
1.54 -+. ;
1.55 -+}
1.56 -+/^*multilib_matches:$/ {
1.57 -+n
1.58 -+c\
1.59 -+
1.60 -+}
1.61 -+/^*multilib_options:$/ {
1.62 -+n
1.63 -+c\
1.64 -+
1.65 -+}
1.66 -+/^*subtarget_cpp_endian_spec:$/ {
1.67 -+n
1.68 -+c\
1.69 -+@CPP_ENDIAN_DEF@
1.70 -+}
1.71 -+/^*cpp_default_cpu_spec:$/ {
1.72 -+n
1.73 -+c\
1.74 -+@CPP_CPU_DEFS@
1.75 -+}
1.76 -diff -ruN gcc-20030210.orig/debian/install-CPU-linux gcc-20030210/debian/install-CPU-linux
1.77 ---- gcc-20030210.orig/debian/install-CPU-linux Thu Jan 1 09:00:00 1970
1.78 -+++ gcc-20030210/debian/install-CPU-linux Sat Feb 22 01:40:14 2003
1.79 -@@ -0,0 +1,111 @@
1.80 -+#! /bin/sh
1.81 -+
1.82 -+VERSION=$1; shift
1.83 -+CPU=$1
1.84 -+
1.85 -+# literally (binary-ly) same
1.86 -+PROGS_C="cpp gcc"
1.87 -+PROGS_ADDITIONAL="c++ g++ g77 gcj"
1.88 -+
1.89 -+DRIVERS_C="cc1 cpp0 tradcpp0"
1.90 -+DRIVERS_ADDITIONAL="cc1obj cc1plus collect2 f771 jc1 jvgenmain"
1.91 -+if [ -z "$STEP1_COMPILER_BUILD" ]; then
1.92 -+ PROGS="$PROGS_C $PROGS_ADDITIONAL"
1.93 -+ DRIVERS="$DRIVERS_C $DRIVERSADDITIONAL"
1.94 -+ INITIAL=""
1.95 -+else
1.96 -+ PROGS=$PROGS_C
1.97 -+ DRIVERS=$DRIVERS_C
1.98 -+ INITIAL="-initial"
1.99 -+fi
1.100 -+
1.101 -+OBJS="crtbegin.o crtbeginS.o crtend.o crtendS.o"
1.102 -+LIBS_C="libgcc.a"
1.103 -+LIBS_1="libgcc_s.so libgcc_s.so.1 libstdc++.so libstdc++.so.3 libstdc++.so.3.0.2"
1.104 -+LIBS_2="libobjc.a libstdc++.a libsupc++.a"
1.105 -+INCLUDE="include"
1.106 -+
1.107 -+cd debian/gcc-sh-linux-others${INITIAL} || exit 1
1.108 -+
1.109 -+# Make directories.
1.110 -+mkdir -p usr/bin usr/share usr/share/man usr/share/man/man1 usr/lib \
1.111 -+ usr/lib/gcc-lib usr/lib/gcc-lib/${CPU}-linux \
1.112 -+ usr/lib/gcc-lib/${CPU}-linux/${VERSION} \
1.113 -+ usr/${CPU}-linux usr/${CPU}-linux/lib
1.114 -+
1.115 -+# Make symbolic links for include dir.
1.116 -+(cd usr/${CPU}-linux; ln -s ../sh-linux/include .)
1.117 -+
1.118 -+# Make symbolic links for executables.
1.119 -+(cd usr/bin;
1.120 -+ for p in ${PROGS}; do
1.121 -+ ln -s shCPU-linux-GCC ${CPU}-linux-$p
1.122 -+ done)
1.123 -+
1.124 -+case "${CPU}" in
1.125 -+ sh3)
1.126 -+ MULTILIBDIR=
1.127 -+ AS_ENDIAN_FLAG="-little"
1.128 -+ CPP_ENDIAN_DEF="-D__LITTLE_ENDIAN__"
1.129 -+ CPP_CPU_DEFS="-D__SH3__ -D__sh3__"
1.130 -+ CC1_CPU_ENDIAN_FLAGS="-ml -m3"
1.131 -+ LINKER_CPU_ENDIAN_FLAGS="-m shlelf_linux -EL --architecture sh3"
1.132 -+ LINKER_RPATH_LINK_FLAG="-rpath-link /usr/sh3-linux/lib"
1.133 -+ ;;
1.134 -+ sh3eb)
1.135 -+ MULTILIBDIR=/mb
1.136 -+ AS_ENDIAN_FLAG="-big"
1.137 -+ CPP_ENDIAN_DEF="-D__BIG_ENDIAN__"
1.138 -+ CPP_CPU_DEFS="-D__SH3__ -D__sh3__"
1.139 -+ CC1_CPU_ENDIAN_FLAGS="-mb -m3"
1.140 -+ LINKER_CPU_ENDIAN_FLAGS="-m shelf_linux -EB --architecture sh3"
1.141 -+ LINKER_RPATH_LINK_FLAG="-rpath-link /usr/sh3eb-linux/lib"
1.142 -+ ;;
1.143 -+ sh4)
1.144 -+ MULTILIBDIR=/m4
1.145 -+ AS_ENDIAN_FLAG="-little"
1.146 -+ CPP_ENDIAN_DEF="-D__LITTLE_ENDIAN__"
1.147 -+ CPP_CPU_DEFS="-D__SH4__"
1.148 -+ CC1_CPU_ENDIAN_FLAGS="-ml -m4"
1.149 -+ LINKER_CPU_ENDIAN_FLAGS="-m shlelf_linux -EL --architecture sh4"
1.150 -+ LINKER_RPATH_LINK_FLAG="-rpath-link /usr/sh4-linux/lib"
1.151 -+ ;;
1.152 -+ sh4eb)
1.153 -+ MULTILIBDIR=/mb/m4
1.154 -+ AS_ENDIAN_FLAG="-big"
1.155 -+ CPP_ENDIAN_DEF="-D__BIG_ENDIAN__"
1.156 -+ CPP_CPU_DEFS="-D__SH4__"
1.157 -+ CC1_CPU_ENDIAN_FLAGS="-mb -m4"
1.158 -+ LINKER_CPU_ENDIAN_FLAGS="-m shelf_linux -EB --architecture sh4"
1.159 -+ LINKER_RPATH_LINK_FLAG="-rpath-link /usr/sh4eb-linux/lib"
1.160 -+ ;;
1.161 -+esac
1.162 -+
1.163 -+# Make symbolic links for GCC drivers, objects, libraries, and include dir.
1.164 -+(cd usr/lib/gcc-lib/${CPU}-linux/${VERSION};
1.165 -+ for f in ${DRIVERS} ${INCLUDE}; do
1.166 -+ ln -s ../../sh-linux/${VERSION}/$f $f;
1.167 -+ done
1.168 -+ for f in ${OBJS} ${LIBS_C}; do
1.169 -+ ln -s ../../sh-linux/${VERSION}${MULTILIBDIR}/$f $f;
1.170 -+ done)
1.171 -+
1.172 -+if [ -z "$STEP1_COMPILER_BUILD" ]; then
1.173 -+ for f in ${LIBS_1} ${LIBS_2}; do
1.174 -+ mv ../gcc-sh-linux/usr/sh-linux/lib${MULTILIBDIR}/$f usr/${CPU}-linux/lib/;
1.175 -+ done
1.176 -+fi
1.177 -+
1.178 -+sed -e "s+@AS_ENDIAN_FLAG@+${AS_ENDIAN_FLAG}+" \
1.179 -+ -e "s+@CPP_ENDIAN_DEF@+${CPP_ENDIAN_DEF}+" \
1.180 -+ -e "s+@CPP_CPU_DEFS@+${CPP_CPU_DEFS}+" \
1.181 -+ -e "s+@CC1_CPU_ENDIAN_FLAGS@+${CC1_CPU_ENDIAN_FLAGS}+" \
1.182 -+ -e "s+@LINKER_CPU_ENDIAN_FLAGS@+${LINKER_CPU_ENDIAN_FLAGS}+" \
1.183 -+ -e "s+@LINKER_RPATH_LINK_FLAG@+${LINKER_RPATH_LINK_FLAG}+" \
1.184 -+ ../edit-specs.in >../edit-specs-${CPU}.sed
1.185 -+
1.186 -+sed -f ../edit-specs-${CPU}.sed \
1.187 -+ ../gcc-sh-linux${INITIAL}/usr/lib/gcc-lib/sh-linux/${VERSION}/specs \
1.188 -+ > usr/lib/gcc-lib/${CPU}-linux/${VERSION}/specs
1.189 -+
1.190 -+exit 0
1.191 -diff -ruN gcc-20030210.orig/debian/multilib-symlink gcc-20030210/debian/multilib-symlink
1.192 ---- gcc-20030210.orig/debian/multilib-symlink Thu Jan 1 09:00:00 1970
1.193 -+++ gcc-20030210/debian/multilib-symlink Sat Feb 22 01:40:14 2003
1.194 -@@ -0,0 +1,10 @@
1.195 -+#! /bin/sh
1.196 -+
1.197 -+cd /usr/sh-linux/lib
1.198 -+ln -s ../../sh3-linux/lib/{*.a,*.so*,*.o} .
1.199 -+cd m4
1.200 -+ln -s ../../../sh4-linux/lib/{*.a,*.so*,*.o} .
1.201 -+cd ../mb
1.202 -+ln -s ../../../sh3eb-linux/lib/{*.a,*.so*,*.o} .
1.203 -+cd m4
1.204 -+ln -s ../../../../sh4eb-linux/lib/{*.a,*.so*,*.o} .
1.205 -diff -ruN gcc-20030210.orig/debian/shCPU-linux-GCC gcc-20030210/debian/shCPU-linux-GCC
1.206 ---- gcc-20030210.orig/debian/shCPU-linux-GCC Thu Jan 1 09:00:00 1970
1.207 -+++ gcc-20030210/debian/shCPU-linux-GCC Sat Feb 22 01:40:14 2003
1.208 -@@ -0,0 +1,59 @@
1.209 -+#! /bin/bash
1.210 -+
1.211 -+BASENAME=${0##*/}
1.212 -+PROG=${BASENAME##*-}
1.213 -+CPU=${BASENAME%%-*}
1.214 -+
1.215 -+if [ "$PROG" = gcc ]; then
1.216 -+ if [ "$1" = "-b" -a "$2" = "i386-linux" ]; then
1.217 -+ shift 2
1.218 -+ exec /usr/bin/gcc "$@"
1.219 -+ elif [ "$1" = "-print-multi-lib" -o "$1" = "--print-multi-lib" ]; then
1.220 -+ echo ".;"
1.221 -+ exit 0
1.222 -+ elif [ "$1" = "-print-multi-os-directory" -o "$1" = "--print-multi-os-directory" ]; then
1.223 -+ echo "."
1.224 -+ exit 0
1.225 -+ elif [ "$1" = "-dumpspecs" ]; then
1.226 -+ cat /usr/lib/gcc-lib/${CPU}-linux/@@VERSION@@/specs
1.227 -+ exit 0
1.228 -+ fi
1.229 -+fi
1.230 -+
1.231 -+case "${CPU}" in
1.232 -+ sh3)
1.233 -+ ARCH=m3
1.234 -+ DEFINES="-D__sh3__ -D__SH3__ -D__LITTLE_ENDIAN__"
1.235 -+ ENDIAN=ml
1.236 -+ ;;
1.237 -+ sh3eb)
1.238 -+ ARCH=m3
1.239 -+ DEFINES="-D__sh3__ -D__SH3__ -D__BIG_ENDIAN__"
1.240 -+ ENDIAN=mb
1.241 -+ ;;
1.242 -+ sh4)
1.243 -+ ARCH=m4
1.244 -+ DEFINES="-D__SH4__ -D__LITTLE_ENDIAN__"
1.245 -+ ENDIAN=ml
1.246 -+ ;;
1.247 -+ sh4eb)
1.248 -+ ARCH=m4
1.249 -+ DEFINES="-D__SH4__ -D__BIG_ENDIAN__"
1.250 -+ ENDIAN=mb
1.251 -+ ;;
1.252 -+esac
1.253 -+
1.254 -+# Prepend the appropriate options
1.255 -+# If user specifies some options, it will be overridden
1.256 -+
1.257 -+case "${PROG}" in
1.258 -+ cpp)
1.259 -+ exec sh-linux-${PROG} $DEFINES "$@"
1.260 -+ ;;
1.261 -+ c++|g++|g77|gcc|gcj)
1.262 -+ exec sh-linux-${PROG} -$ARCH -$ENDIAN "$@"
1.263 -+ ;;
1.264 -+esac
1.265 -+
1.266 -+echo "Something wrong..."
1.267 -+exit 1
1.268 -diff -ruN gcc-20030210.orig/gcc/config/sh/elf.h gcc-20030210/gcc/config/sh/elf.h
1.269 ---- gcc-20030210.orig/gcc/config/sh/elf.h Fri Feb 22 01:42:28 2002
1.270 -+++ gcc-20030210/gcc/config/sh/elf.h Sat Feb 22 01:40:14 2003
1.271 -@@ -170,3 +170,7 @@
1.272 - #undef ENDFILE_SPEC
1.273 - #define ENDFILE_SPEC \
1.274 - "%{!shared:crtend.o%s} %{shared:crtendS.o%s} crtn.o%s"
1.275 -+
1.276 -+/* ASM_OUTPUT_CASE_LABEL is defined in elfos.h. With it,
1.277 -+ redundant .align will be generated. */
1.278 -+#undef ASM_OUTPUT_CASE_LABEL
1.279 -diff -ruN gcc-20030210.orig/gcc/config/sh/lib1funcs.asm gcc-20030210/gcc/config/sh/lib1funcs.asm
1.280 ---- gcc-20030210.orig/gcc/config/sh/lib1funcs.asm Fri Feb 22 01:42:28 2002
1.281 -+++ gcc-20030210/gcc/config/sh/lib1funcs.asm Sat Feb 22 01:40:14 2003
1.282 -@@ -39,8 +39,13 @@
1.283 -
1.284 - #ifdef __ELF__
1.285 - #define LOCAL(X) .L_##X
1.286 -+#define FUNC(X) .type X,@function; .hidden X
1.287 -+#define _ENDFUNC(X) .Lfe_##X: .size X,.Lfe_##X-X
1.288 -+#define ENDFUNC(X) _ENDFUNC(X)
1.289 - #else
1.290 - #define LOCAL(X) L_##X
1.291 -+#define FUNC(X)
1.292 -+#define ENDFUNC(X)
1.293 - #endif
1.294 -
1.295 - #ifdef __linux__
1.296 -@@ -91,6 +96,40 @@
1.297 - .global GLOBAL(ashiftrt_r4_31)
1.298 - .global GLOBAL(ashiftrt_r4_32)
1.299 -
1.300 -+ FUNC(GLOBAL(ashiftrt_r4_0))
1.301 -+ FUNC(GLOBAL(ashiftrt_r4_1))
1.302 -+ FUNC(GLOBAL(ashiftrt_r4_2))
1.303 -+ FUNC(GLOBAL(ashiftrt_r4_3))
1.304 -+ FUNC(GLOBAL(ashiftrt_r4_4))
1.305 -+ FUNC(GLOBAL(ashiftrt_r4_5))
1.306 -+ FUNC(GLOBAL(ashiftrt_r4_6))
1.307 -+ FUNC(GLOBAL(ashiftrt_r4_7))
1.308 -+ FUNC(GLOBAL(ashiftrt_r4_8))
1.309 -+ FUNC(GLOBAL(ashiftrt_r4_9))
1.310 -+ FUNC(GLOBAL(ashiftrt_r4_10))
1.311 -+ FUNC(GLOBAL(ashiftrt_r4_11))
1.312 -+ FUNC(GLOBAL(ashiftrt_r4_12))
1.313 -+ FUNC(GLOBAL(ashiftrt_r4_13))
1.314 -+ FUNC(GLOBAL(ashiftrt_r4_14))
1.315 -+ FUNC(GLOBAL(ashiftrt_r4_15))
1.316 -+ FUNC(GLOBAL(ashiftrt_r4_16))
1.317 -+ FUNC(GLOBAL(ashiftrt_r4_17))
1.318 -+ FUNC(GLOBAL(ashiftrt_r4_18))
1.319 -+ FUNC(GLOBAL(ashiftrt_r4_19))
1.320 -+ FUNC(GLOBAL(ashiftrt_r4_20))
1.321 -+ FUNC(GLOBAL(ashiftrt_r4_21))
1.322 -+ FUNC(GLOBAL(ashiftrt_r4_22))
1.323 -+ FUNC(GLOBAL(ashiftrt_r4_23))
1.324 -+ FUNC(GLOBAL(ashiftrt_r4_24))
1.325 -+ FUNC(GLOBAL(ashiftrt_r4_25))
1.326 -+ FUNC(GLOBAL(ashiftrt_r4_26))
1.327 -+ FUNC(GLOBAL(ashiftrt_r4_27))
1.328 -+ FUNC(GLOBAL(ashiftrt_r4_28))
1.329 -+ FUNC(GLOBAL(ashiftrt_r4_29))
1.330 -+ FUNC(GLOBAL(ashiftrt_r4_30))
1.331 -+ FUNC(GLOBAL(ashiftrt_r4_31))
1.332 -+ FUNC(GLOBAL(ashiftrt_r4_32))
1.333 -+
1.334 - .align 1
1.335 - GLOBAL(ashiftrt_r4_32):
1.336 - GLOBAL(ashiftrt_r4_31):
1.337 -@@ -170,6 +209,41 @@
1.338 - GLOBAL(ashiftrt_r4_0):
1.339 - rts
1.340 - nop
1.341 -+
1.342 -+ ENDFUNC(GLOBAL(ashiftrt_r4_0))
1.343 -+ ENDFUNC(GLOBAL(ashiftrt_r4_1))
1.344 -+ ENDFUNC(GLOBAL(ashiftrt_r4_2))
1.345 -+ ENDFUNC(GLOBAL(ashiftrt_r4_3))
1.346 -+ ENDFUNC(GLOBAL(ashiftrt_r4_4))
1.347 -+ ENDFUNC(GLOBAL(ashiftrt_r4_5))
1.348 -+ ENDFUNC(GLOBAL(ashiftrt_r4_6))
1.349 -+ ENDFUNC(GLOBAL(ashiftrt_r4_7))
1.350 -+ ENDFUNC(GLOBAL(ashiftrt_r4_8))
1.351 -+ ENDFUNC(GLOBAL(ashiftrt_r4_9))
1.352 -+ ENDFUNC(GLOBAL(ashiftrt_r4_10))
1.353 -+ ENDFUNC(GLOBAL(ashiftrt_r4_11))
1.354 -+ ENDFUNC(GLOBAL(ashiftrt_r4_12))
1.355 -+ ENDFUNC(GLOBAL(ashiftrt_r4_13))
1.356 -+ ENDFUNC(GLOBAL(ashiftrt_r4_14))
1.357 -+ ENDFUNC(GLOBAL(ashiftrt_r4_15))
1.358 -+ ENDFUNC(GLOBAL(ashiftrt_r4_16))
1.359 -+ ENDFUNC(GLOBAL(ashiftrt_r4_17))
1.360 -+ ENDFUNC(GLOBAL(ashiftrt_r4_18))
1.361 -+ ENDFUNC(GLOBAL(ashiftrt_r4_19))
1.362 -+ ENDFUNC(GLOBAL(ashiftrt_r4_20))
1.363 -+ ENDFUNC(GLOBAL(ashiftrt_r4_21))
1.364 -+ ENDFUNC(GLOBAL(ashiftrt_r4_22))
1.365 -+ ENDFUNC(GLOBAL(ashiftrt_r4_23))
1.366 -+ ENDFUNC(GLOBAL(ashiftrt_r4_24))
1.367 -+ ENDFUNC(GLOBAL(ashiftrt_r4_25))
1.368 -+ ENDFUNC(GLOBAL(ashiftrt_r4_26))
1.369 -+ ENDFUNC(GLOBAL(ashiftrt_r4_27))
1.370 -+ ENDFUNC(GLOBAL(ashiftrt_r4_28))
1.371 -+ ENDFUNC(GLOBAL(ashiftrt_r4_29))
1.372 -+ ENDFUNC(GLOBAL(ashiftrt_r4_30))
1.373 -+ ENDFUNC(GLOBAL(ashiftrt_r4_31))
1.374 -+ ENDFUNC(GLOBAL(ashiftrt_r4_32))
1.375 -+
1.376 - #endif
1.377 -
1.378 - #ifdef L_ashiftrt_n
1.379 -@@ -192,6 +266,7 @@
1.380 - !
1.381 -
1.382 - .global GLOBAL(ashrsi3)
1.383 -+ FUNC(GLOBAL(ashrsi3))
1.384 - .align 2
1.385 - GLOBAL(ashrsi3):
1.386 - mov #31,r0
1.387 -@@ -319,6 +394,8 @@
1.388 - rts
1.389 - nop
1.390 -
1.391 -+ ENDFUNC(GLOBAL(ashrsi3))
1.392 -+
1.393 - #endif
1.394 -
1.395 - #ifdef L_ashiftlt
1.396 -@@ -340,6 +417,7 @@
1.397 - ! (none)
1.398 - !
1.399 - .global GLOBAL(ashlsi3)
1.400 -+ FUNC(GLOBAL(ashlsi3))
1.401 - .align 2
1.402 - GLOBAL(ashlsi3):
1.403 - mov #31,r0
1.404 -@@ -476,6 +554,8 @@
1.405 - rts
1.406 - nop
1.407 -
1.408 -+ ENDFUNC(GLOBAL(ashlsi3))
1.409 -+
1.410 - #endif
1.411 -
1.412 - #ifdef L_lshiftrt
1.413 -@@ -497,6 +577,7 @@
1.414 - ! (none)
1.415 - !
1.416 - .global GLOBAL(lshrsi3)
1.417 -+ FUNC(GLOBAL(lshrsi3))
1.418 - .align 2
1.419 - GLOBAL(lshrsi3):
1.420 - mov #31,r0
1.421 -@@ -633,6 +714,8 @@
1.422 - rts
1.423 - nop
1.424 -
1.425 -+ ENDFUNC(GLOBAL(lshrsi3))
1.426 -+
1.427 - #endif
1.428 -
1.429 - #ifdef L_movstr
1.430 -@@ -649,76 +732,113 @@
1.431 - add #64,r4
1.432 - .align 4
1.433 - .global GLOBAL(movstrSI64)
1.434 -+ FUNC(GLOBAL(movstrSI64))
1.435 - GLOBAL(movstrSI64):
1.436 - mov.l @(60,r5),r0
1.437 - mov.l r0,@(60,r4)
1.438 - .global GLOBAL(movstrSI60)
1.439 -+ FUNC(GLOBAL(movstrSI60))
1.440 - GLOBAL(movstrSI60):
1.441 - mov.l @(56,r5),r0
1.442 - mov.l r0,@(56,r4)
1.443 - .global GLOBAL(movstrSI56)
1.444 -+ FUNC(GLOBAL(movstrSI56))
1.445 - GLOBAL(movstrSI56):
1.446 - mov.l @(52,r5),r0
1.447 - mov.l r0,@(52,r4)
1.448 - .global GLOBAL(movstrSI52)
1.449 -+ FUNC(GLOBAL(movstrSI52))
1.450 - GLOBAL(movstrSI52):
1.451 - mov.l @(48,r5),r0
1.452 - mov.l r0,@(48,r4)
1.453 - .global GLOBAL(movstrSI48)
1.454 -+ FUNC(GLOBAL(movstrSI48))
1.455 - GLOBAL(movstrSI48):
1.456 - mov.l @(44,r5),r0
1.457 - mov.l r0,@(44,r4)
1.458 - .global GLOBAL(movstrSI44)
1.459 -+ FUNC(GLOBAL(movstrSI44))
1.460 - GLOBAL(movstrSI44):
1.461 - mov.l @(40,r5),r0
1.462 - mov.l r0,@(40,r4)
1.463 - .global GLOBAL(movstrSI40)
1.464 -+ FUNC(GLOBAL(movstrSI40))
1.465 - GLOBAL(movstrSI40):
1.466 - mov.l @(36,r5),r0
1.467 - mov.l r0,@(36,r4)
1.468 - .global GLOBAL(movstrSI36)
1.469 -+ FUNC(GLOBAL(movstrSI36))
1.470 - GLOBAL(movstrSI36):
1.471 - mov.l @(32,r5),r0
1.472 - mov.l r0,@(32,r4)
1.473 - .global GLOBAL(movstrSI32)
1.474 -+ FUNC(GLOBAL(movstrSI32))
1.475 - GLOBAL(movstrSI32):
1.476 - mov.l @(28,r5),r0
1.477 - mov.l r0,@(28,r4)
1.478 - .global GLOBAL(movstrSI28)
1.479 -+ FUNC(GLOBAL(movstrSI28))
1.480 - GLOBAL(movstrSI28):
1.481 - mov.l @(24,r5),r0
1.482 - mov.l r0,@(24,r4)
1.483 - .global GLOBAL(movstrSI24)
1.484 -+ FUNC(GLOBAL(movstrSI24))
1.485 - GLOBAL(movstrSI24):
1.486 - mov.l @(20,r5),r0
1.487 - mov.l r0,@(20,r4)
1.488 - .global GLOBAL(movstrSI20)
1.489 -+ FUNC(GLOBAL(movstrSI20))
1.490 - GLOBAL(movstrSI20):
1.491 - mov.l @(16,r5),r0
1.492 - mov.l r0,@(16,r4)
1.493 - .global GLOBAL(movstrSI16)
1.494 -+ FUNC(GLOBAL(movstrSI16))
1.495 - GLOBAL(movstrSI16):
1.496 - mov.l @(12,r5),r0
1.497 - mov.l r0,@(12,r4)
1.498 - .global GLOBAL(movstrSI12)
1.499 -+ FUNC(GLOBAL(movstrSI12))
1.500 - GLOBAL(movstrSI12):
1.501 - mov.l @(8,r5),r0
1.502 - mov.l r0,@(8,r4)
1.503 - .global GLOBAL(movstrSI8)
1.504 -+ FUNC(GLOBAL(movstrSI8))
1.505 - GLOBAL(movstrSI8):
1.506 - mov.l @(4,r5),r0
1.507 - mov.l r0,@(4,r4)
1.508 - .global GLOBAL(movstrSI4)
1.509 -+ FUNC(GLOBAL(movstrSI4))
1.510 - GLOBAL(movstrSI4):
1.511 - mov.l @(0,r5),r0
1.512 - mov.l r0,@(0,r4)
1.513 -+ .global GLOBAL(movstrSI0)
1.514 -+ FUNC(GLOBAL(movstrSI0))
1.515 - GLOBAL(movstrSI0):
1.516 - rts
1.517 - nop
1.518 -
1.519 -+ ENDFUNC(GLOBAL(movstrSI64))
1.520 -+ ENDFUNC(GLOBAL(movstrSI60))
1.521 -+ ENDFUNC(GLOBAL(movstrSI56))
1.522 -+ ENDFUNC(GLOBAL(movstrSI52))
1.523 -+ ENDFUNC(GLOBAL(movstrSI48))
1.524 -+ ENDFUNC(GLOBAL(movstrSI44))
1.525 -+ ENDFUNC(GLOBAL(movstrSI40))
1.526 -+ ENDFUNC(GLOBAL(movstrSI36))
1.527 -+ ENDFUNC(GLOBAL(movstrSI32))
1.528 -+ ENDFUNC(GLOBAL(movstrSI28))
1.529 -+ ENDFUNC(GLOBAL(movstrSI24))
1.530 -+ ENDFUNC(GLOBAL(movstrSI20))
1.531 -+ ENDFUNC(GLOBAL(movstrSI16))
1.532 -+ ENDFUNC(GLOBAL(movstrSI12))
1.533 -+ ENDFUNC(GLOBAL(movstrSI8))
1.534 -+ ENDFUNC(GLOBAL(movstrSI4))
1.535 -+ ENDFUNC(GLOBAL(movstrSI0))
1.536 -+
1.537 - .align 4
1.538 -
1.539 - .global GLOBAL(movstr)
1.540 -+ FUNC(GLOBAL(movstr))
1.541 - GLOBAL(movstr):
1.542 - mov.l @(60,r5),r0
1.543 - mov.l r0,@(60,r4)
1.544 -@@ -775,6 +895,8 @@
1.545 - add #64,r5
1.546 - bra GLOBAL(movstr)
1.547 - add #64,r4
1.548 -+
1.549 -+ FUNC(GLOBAL(movstr))
1.550 - #endif
1.551 -
1.552 - #ifdef L_movstr_i4
1.553 -@@ -783,6 +905,10 @@
1.554 - .global GLOBAL(movstr_i4_odd)
1.555 - .global GLOBAL(movstrSI12_i4)
1.556 -
1.557 -+ FUNC(GLOBAL(movstr_i4_even))
1.558 -+ FUNC(GLOBAL(movstr_i4_odd))
1.559 -+ FUNC(GLOBAL(movstrSI12_i4))
1.560 -+
1.561 - .p2align 5
1.562 - L_movstr_2mod4_end:
1.563 - mov.l r0,@(16,r4)
1.564 -@@ -791,6 +917,11 @@
1.565 -
1.566 - .p2align 2
1.567 -
1.568 -+GLOBAL(movstr_i4_even):
1.569 -+ mov.l @r5+,r0
1.570 -+ bra L_movstr_start_even
1.571 -+ mov.l @r5+,r1
1.572 -+
1.573 - GLOBAL(movstr_i4_odd):
1.574 - mov.l @r5+,r1
1.575 - add #-4,r4
1.576 -@@ -817,10 +948,8 @@
1.577 - rts
1.578 - mov.l r3,@(12,r4)
1.579 -
1.580 --GLOBAL(movstr_i4_even):
1.581 -- mov.l @r5+,r0
1.582 -- bra L_movstr_start_even
1.583 -- mov.l @r5+,r1
1.584 -+ ENDFUNC(GLOBAL(movstr_i4_even))
1.585 -+ ENDFUNC(GLOBAL(movstr_i4_odd))
1.586 -
1.587 - .p2align 4
1.588 - GLOBAL(movstrSI12_i4):
1.589 -@@ -831,12 +960,16 @@
1.590 - mov.l r1,@(4,r4)
1.591 - rts
1.592 - mov.l r2,@(8,r4)
1.593 -+
1.594 -+ ENDFUNC(GLOBAL(movstrSI12_i4))
1.595 -+
1.596 - #endif
1.597 -
1.598 - #ifdef L_mulsi3
1.599 -
1.600 -
1.601 - .global GLOBAL(mulsi3)
1.602 -+ FUNC(GLOBAL(mulsi3))
1.603 -
1.604 - ! r4 = aabb
1.605 - ! r5 = ccdd
1.606 -@@ -869,7 +1002,7 @@
1.607 - rts
1.608 - add r2,r0
1.609 -
1.610 --
1.611 -+ FUNC(GLOBAL(mulsi3))
1.612 - #endif
1.613 - #endif /* ! __SH5__ */
1.614 - #ifdef L_sdivsi3_i4
1.615 -@@ -879,6 +1012,7 @@
1.616 - !! args in r4 and r5, result in fpul, clobber dr0, dr2
1.617 -
1.618 - .global GLOBAL(sdivsi3_i4)
1.619 -+ FUNC(GLOBAL(sdivsi3_i4))
1.620 - GLOBAL(sdivsi3_i4):
1.621 - lds r4,fpul
1.622 - float fpul,dr0
1.623 -@@ -888,6 +1022,8 @@
1.624 - rts
1.625 - ftrc dr0,fpul
1.626 -
1.627 -+ ENDFUNC(GLOBAL(sdivsi3_i4))
1.628 -+
1.629 - #elif defined(__SH4_SINGLE__) || defined(__SH4_SINGLE_ONLY__) || (defined (__SH5__) && ! defined __SH4_NOFPU__)
1.630 - !! args in r4 and r5, result in fpul, clobber r2, dr0, dr2
1.631 -
1.632 -@@ -896,6 +1032,7 @@
1.633 - .mode SHcompact
1.634 - #endif
1.635 - .global GLOBAL(sdivsi3_i4)
1.636 -+ FUNC(GLOBAL(sdivsi3_i4))
1.637 - GLOBAL(sdivsi3_i4):
1.638 - sts.l fpscr,@-r15
1.639 - mov #8,r2
1.640 -@@ -910,6 +1047,8 @@
1.641 - rts
1.642 - lds.l @r15+,fpscr
1.643 -
1.644 -+ ENDFUNC(GLOBAL(sdivsi3_i4))
1.645 -+
1.646 - #endif /* ! __SH5__ || __SH5__ == 32 */
1.647 - #endif /* ! __SH4__ */
1.648 - #endif
1.649 -@@ -924,9 +1063,10 @@
1.650 - !!
1.651 - !!
1.652 -
1.653 --!! args in r4 and r5, result in r0 clobber r1,r2,r3
1.654 -+!! args in r4 and r5, result in r0 clobber r1, r2, r3, and t bit
1.655 -
1.656 - .global GLOBAL(sdivsi3)
1.657 -+ FUNC(GLOBAL(sdivsi3))
1.658 - #if __SHMEDIA__
1.659 - #if __SH5__ == 32
1.660 - .section .text..SHmedia32,"ax"
1.661 -@@ -1076,6 +1216,7 @@
1.662 - div0: rts
1.663 - mov #0,r0
1.664 -
1.665 -+ ENDFUNC(GLOBAL(sdivsi3))
1.666 - #endif /* ! __SHMEDIA__ */
1.667 - #endif /* ! __SH4__ */
1.668 - #endif
1.669 -@@ -1084,9 +1225,11 @@
1.670 - .title "SH DIVIDE"
1.671 - !! 4 byte integer Divide code for the Hitachi SH
1.672 - #ifdef __SH4__
1.673 --!! args in r4 and r5, result in fpul, clobber r0, r1, r4, r5, dr0, dr2, dr4
1.674 -+!! args in r4 and r5, result in fpul, clobber r0, r1, r4, r5, dr0, dr2, dr4,
1.675 -+!! and t bit
1.676 -
1.677 - .global GLOBAL(udivsi3_i4)
1.678 -+ FUNC(GLOBAL(udivsi3_i4))
1.679 - GLOBAL(udivsi3_i4):
1.680 - mov #1,r1
1.681 - cmp/hi r1,r5
1.682 -@@ -1127,6 +1270,8 @@
1.683 - L1:
1.684 - .double 2147483648
1.685 -
1.686 -+ ENDFUNC(GLOBAL(udivsi3_i4))
1.687 -+
1.688 - #elif defined(__SH4_SINGLE__) || defined(__SH4_SINGLE_ONLY__) || (defined (__SH5__) && ! defined __SH4_NOFPU__)
1.689 - !! args in r4 and r5, result in fpul, clobber r0, r1, r4, r5, dr0, dr2, dr4
1.690 -
1.691 -@@ -1135,6 +1280,7 @@
1.692 - .mode SHcompact
1.693 - #endif
1.694 - .global GLOBAL(udivsi3_i4)
1.695 -+ FUNC(GLOBAL(udivsi3_i4))
1.696 - GLOBAL(udivsi3_i4):
1.697 - mov #1,r1
1.698 - cmp/hi r1,r5
1.699 -@@ -1183,6 +1329,8 @@
1.700 - #endif
1.701 - .double 2147483648
1.702 -
1.703 -+ ENDFUNC(GLOBAL(udivsi3_i4))
1.704 -+
1.705 - #endif /* ! __SH5__ || __SH5__ == 32 */
1.706 - #endif /* ! __SH4__ */
1.707 - #endif
1.708 -@@ -1199,6 +1347,7 @@
1.709 -
1.710 - !! args in r4 and r5, result in r0, clobbers r4, pr, and t bit
1.711 - .global GLOBAL(udivsi3)
1.712 -+ FUNC(GLOBAL(udivsi3))
1.713 -
1.714 - #if __SHMEDIA__
1.715 - #if __SH5__ == 32
1.716 -@@ -1299,6 +1448,8 @@
1.717 - ret: rts
1.718 - mov r4,r0
1.719 -
1.720 -+ ENDFUNC(GLOBAL(udivsi3))
1.721 -+
1.722 - #endif /* ! __SHMEDIA__ */
1.723 - #endif /* __SH4__ */
1.724 - #endif
1.725 -@@ -1308,6 +1459,7 @@
1.726 - .mode SHcompact
1.727 - #endif
1.728 - .global GLOBAL(set_fpscr)
1.729 -+ FUNC(GLOBAL(set_fpscr))
1.730 - GLOBAL(set_fpscr):
1.731 - lds r4,fpscr
1.732 - mov.l LOCAL(set_fpscr_L1),r1
1.733 -@@ -1340,11 +1492,16 @@
1.734 - .align 2
1.735 - LOCAL(set_fpscr_L1):
1.736 - .long GLOBAL(fpscr_values)
1.737 -+
1.738 -+ ENDFUNC(GLOBAL(set_fpscr))
1.739 -+
1.740 -+#ifndef NO_FPSCR_VALUES
1.741 - #ifdef __ELF__
1.742 - .comm GLOBAL(fpscr_values),8,4
1.743 - #else
1.744 - .comm GLOBAL(fpscr_values),8
1.745 - #endif /* ELF */
1.746 -+#endif /* NO_FPSCR_VALUES */
1.747 - #endif /* SH3E / SH4 */
1.748 - #endif /* L_set_fpscr */
1.749 - #ifdef L_ic_invalidate
1.750 -@@ -1360,6 +1517,7 @@
1.751 - blink tr0, r63
1.752 - #elif defined(__SH4_SINGLE__) || defined(__SH4__) || defined(__SH4_SINGLE_ONLY__)
1.753 - .global GLOBAL(ic_invalidate)
1.754 -+ FUNC(GLOBAL(ic_invalidate))
1.755 - GLOBAL(ic_invalidate):
1.756 - ocbwb @r4
1.757 - mova 0f,r0
1.758 -@@ -1382,6 +1540,9 @@
1.759 - nop
1.760 - .endr
1.761 - .endr
1.762 -+
1.763 -+ ENDFUNC(GLOBAL(ic_invalidate))
1.764 -+
1.765 - #endif /* SH4 */
1.766 - #endif /* L_ic_invalidate */
1.767 -
1.768 -diff -ruN gcc-20030210.orig/gcc/config/sh/libgcc-glibc.ver gcc-20030210/gcc/config/sh/libgcc-glibc.ver
1.769 ---- gcc-20030210.orig/gcc/config/sh/libgcc-glibc.ver Thu Jan 1 09:00:00 1970
1.770 -+++ gcc-20030210/gcc/config/sh/libgcc-glibc.ver Sat Feb 22 01:40:14 2003
1.771 -@@ -0,0 +1,21 @@
1.772 -+# In order to work around the very problems that force us to now generally
1.773 -+# create a libgcc.so, glibc reexported a number of routines from libgcc.a.
1.774 -+# By now choosing the same version tags for these specific routines, we
1.775 -+# maintain enough binary compatibility to allow future versions of glibc
1.776 -+# to defer implementation of these routines to libgcc.so via DT_AUXILIARY.
1.777 -+
1.778 -+# Note that we cannot use the default libgcc-glibc.ver file on sh,
1.779 -+# because GLIBC_2.0 does not exist on this architecture, as the first
1.780 -+# ever glibc release on the platform was GLIBC_2.2.
1.781 -+
1.782 -+%inherit GCC_3.0 GLIBC_2.2
1.783 -+GLIBC_2.2 {
1.784 -+ __register_frame
1.785 -+ __register_frame_table
1.786 -+ __deregister_frame
1.787 -+ __register_frame_info
1.788 -+ __deregister_frame_info
1.789 -+ __frame_state_for
1.790 -+ __register_frame_info_table
1.791 -+}
1.792 -+
1.793 -diff -ruN gcc-20030210.orig/gcc/config/sh/linux.h gcc-20030210/gcc/config/sh/linux.h
1.794 ---- gcc-20030210.orig/gcc/config/sh/linux.h Tue Apr 16 05:27:42 2002
1.795 -+++ gcc-20030210/gcc/config/sh/linux.h Sat Feb 22 01:40:14 2003
1.796 -@@ -19,6 +19,10 @@
1.797 - the Free Software Foundation, 59 Temple Place - Suite 330,
1.798 - Boston, MA 02111-1307, USA. */
1.799 -
1.800 -+/* We're not SYSVR4, not having /usr/ccs */
1.801 -+#undef MD_EXEC_PREFIX
1.802 -+#undef MD_STARTFILE_PREFIX
1.803 -+
1.804 - /* Run-time Target Specification. */
1.805 - #undef TARGET_VERSION
1.806 - #define TARGET_VERSION fputs (" (SH GNU/Linux with ELF)", stderr);
1.807 -@@ -39,6 +43,28 @@
1.808 - #undef WCHAR_TYPE_SIZE
1.809 - #define WCHAR_TYPE_SIZE BITS_PER_WORD
1.810 -
1.811 -+/* This was defined in linux.h. Define it here also. */
1.812 -+#undef DEFAULT_VTABLE_THUNKS
1.813 -+#define DEFAULT_VTABLE_THUNKS 1
1.814 -+
1.815 -+/* Likewise. */
1.816 -+#define HANDLE_PRAGMA_PACK_PUSH_POP
1.817 -+
1.818 -+/* Pick up the return address upon entry to a procedure. Used for
1.819 -+ dwarf2 unwind information. This also enables the table driven
1.820 -+ mechanism. */
1.821 -+
1.822 -+#define INCOMING_RETURN_ADDR_RTX gen_rtx_REG (Pmode, PR_REG)
1.823 -+#define DWARF_FRAME_RETURN_COLUMN DWARF_FRAME_REGNUM (PR_REG)
1.824 -+
1.825 -+#undef CPP_SPEC
1.826 -+#define CPP_SPEC "\
1.827 -+ %{m4:-D__SH4__} \
1.828 -+ %{!m4:%(cpp_default_cpu_spec)} \
1.829 -+ %(subtarget_cpp_spec) \
1.830 -+ %(subtarget_cpp_ptr_spec) \
1.831 -+ %(subtarget_cpp_endian_spec) "
1.832 -+
1.833 - #undef SUBTARGET_CPP_SPEC
1.834 - #define SUBTARGET_CPP_SPEC "\
1.835 - %{fPIC:-D__PIC__ -D__pic__} \
1.836 -@@ -55,36 +81,45 @@
1.837 - #undef CPP_DEFAULT_CPU_SPEC
1.838 - #define CPP_DEFAULT_CPU_SPEC "-D__SH3__ -D__sh3__"
1.839 -
1.840 --
1.841 - #undef CPP_PREDEFINES
1.842 - #define CPP_PREDEFINES "-D__ELF__ -Dunix -D__sh__ -D__gnu_linux__ -Dlinux -Asystem=posix"
1.843 -
1.844 -+/* The GNU C++ standard library requires that these macros be defined. */
1.845 -+#undef CPLUSPLUS_CPP_SPEC
1.846 -+#define CPLUSPLUS_CPP_SPEC "-D_GNU_SOURCE %(cpp)"
1.847 -+
1.848 - #undef ASM_SPEC
1.849 --#define ASM_SPEC "%{!mb:-little} %{mrelax:-relax}"
1.850 -+#define ASM_SPEC "%{mb:-big} %{!mb:-little} %{mrelax:-relax}"
1.851 -
1.852 - #undef CC1_SPEC
1.853 - #define CC1_SPEC \
1.854 -- "-musermode %{!mb:-ml} %{!m3e:%{!m4:-m3}}"
1.855 --
1.856 --#undef CC1PLUS_SPEC
1.857 --#define CC1PLUS_SPEC \
1.858 -- "-musermode %{!mb:-ml} %{!m3e:%{!m4:-m3}}"
1.859 -+ "-musermode %{!mb:-ml} %{!m4:-m3} %{profile:-p}"
1.860 -
1.861 -+/* XXX: It's wrong if prefix != /usr */
1.862 - #undef LINK_SPEC
1.863 - #define LINK_SPEC \
1.864 -- "%{!mb:-m shlelf_linux} %{mrelax:-relax} \
1.865 -+ "%{!mb:-m shlelf_linux -EL} %{mb:-m shelf_linux -EB} %{mrelax:-relax} \
1.866 - %{shared:-shared} \
1.867 - %{!static: \
1.868 - %{rdynamic:-export-dynamic} \
1.869 - %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2} \
1.870 -- %{!rpath:-rpath /lib}} \
1.871 -+ %{!mb:%{!m4:-rpath-link /usr/sh-linux/lib }} \
1.872 -+ %{!mb:%{m4:-rpath-link /usr/sh-linux/lib/m4 }} \
1.873 -+ %{mb:%{!m4:-rpath-link /usr/sh-linux/lib/mb }} \
1.874 -+ %{mb:%{m4:-rpath-link /usr/sh-linux/lib/mb/m4 }}} \
1.875 - %{static:-static}"
1.876 -
1.877 - #undef LIB_SPEC
1.878 -+#undef LIB_SPEC
1.879 - #define LIB_SPEC \
1.880 - "%{shared: -lc} \
1.881 -- %{!shared: %{pthread:-lthread} \
1.882 -- %{profile:-lc_p} %{!profile: -lc}}"
1.883 -+ %{!shared: %{mieee:-lieee} %{pthread:-lpthread} \
1.884 -+ %{profile:-lc_p} %{!profile: -lc}}"
1.885 -+
1.886 -+#if defined(HAVE_LD_EH_FRAME_HDR)
1.887 -+#undef LINK_EH_SPEC
1.888 -+#define LINK_EH_SPEC "%{!static:--eh-frame-hdr} "
1.889 -+#endif
1.890 -
1.891 - #undef STARTFILE_SPEC
1.892 - #define STARTFILE_SPEC \
1.893 -@@ -92,4 +127,40 @@
1.894 - %{pg:gcrt1.o%s} %{!pg:%{p:gcrt1.o%s} \
1.895 - %{!p:%{profile:gcrt1.o%s} \
1.896 - %{!profile:crt1.o%s}}}} \
1.897 -- crti.o%s %{!shared:crtbegin.o%s} %{shared:crtbeginS.o%s}"
1.898 -+ crti.o%s %{static:crtbeginT.o%s}\
1.899 -+ %{!static:%{!shared:crtbegin.o%s} %{shared:crtbeginS.o%s}}"
1.900 -+
1.901 -+#undef FUNCTION_PROFILER
1.902 -+#define FUNCTION_PROFILER(STREAM,LABELNO) \
1.903 -+do \
1.904 -+{ \
1.905 -+ if (flag_pic) \
1.906 -+ { \
1.907 -+ fprintf (STREAM, " mov.l 3f,r1\n"); \
1.908 -+ fprintf (STREAM, " mova 3f,r0\n"); \
1.909 -+ fprintf (STREAM, " add r1,r0\n"); \
1.910 -+ fprintf (STREAM, " mov.l 1f,r1\n"); \
1.911 -+ fprintf (STREAM, " mov.l @(r0,r1),r1\n"); \
1.912 -+ } \
1.913 -+ else \
1.914 -+ { \
1.915 -+ fprintf (STREAM, " mov.l 1f,r1\n"); \
1.916 -+ } \
1.917 -+ fprintf (STREAM, " sts.l pr,@-r15\n"); \
1.918 -+ fprintf (STREAM, " mova 2f,r0\n"); \
1.919 -+ fprintf (STREAM, " jmp @r1\n"); \
1.920 -+ fprintf (STREAM, " lds r0,pr\n"); \
1.921 -+ fprintf (STREAM, " .align 2\n"); \
1.922 -+ if (flag_pic) \
1.923 -+ { \
1.924 -+ fprintf (STREAM, "1: .long mcount@GOT\n"); \
1.925 -+ fprintf (STREAM, "3: .long _GLOBAL_OFFSET_TABLE_\n"); \
1.926 -+ } \
1.927 -+ else \
1.928 -+ { \
1.929 -+ fprintf (STREAM, "1: .long mcount\n"); \
1.930 -+ } \
1.931 -+ fprintf (STREAM, "2: lds.l @r15+,pr\n"); \
1.932 -+} while (0)
1.933 -+
1.934 -+#define NO_SHARED_LIBGCC_MULTILIB
1.935 -diff -ruN gcc-20030210.orig/gcc/config/sh/sh-protos.h gcc-20030210/gcc/config/sh/sh-protos.h
1.936 ---- gcc-20030210.orig/gcc/config/sh/sh-protos.h Fri Feb 22 01:42:28 2002
1.937 -+++ gcc-20030210/gcc/config/sh/sh-protos.h Sat Feb 22 01:40:14 2003
1.938 -@@ -74,6 +74,7 @@
1.939 - extern int shl_sext_length PARAMS ((rtx));
1.940 - extern int gen_shl_sext PARAMS ((rtx, rtx, rtx, rtx));
1.941 - extern rtx gen_datalabel_ref PARAMS ((rtx));
1.942 -+extern int shl_casesi_worker_length PARAMS ((rtx));
1.943 - extern int regs_used PARAMS ((rtx, int));
1.944 - extern void fixup_addr_diff_vecs PARAMS ((rtx));
1.945 - extern int get_dest_uid PARAMS ((rtx, int));
1.946 -diff -ruN gcc-20030210.orig/gcc/config/sh/sh.c gcc-20030210/gcc/config/sh/sh.c
1.947 ---- gcc-20030210.orig/gcc/config/sh/sh.c Fri Feb 22 01:42:28 2002
1.948 -+++ gcc-20030210/gcc/config/sh/sh.c Sat Feb 22 01:40:14 2003
1.949 -@@ -2143,6 +2143,48 @@
1.950 - return sym;
1.951 - }
1.952 -
1.953 -+
1.954 -+/* Function to be used in the length attribute of the casesi_worker
1.955 -+ instruction. Returns number of instructions, which is half of the
1.956 -+ length of bytes. */
1.957 -+
1.958 -+int
1.959 -+shl_casesi_worker_length (insn)
1.960 -+ rtx insn;
1.961 -+{
1.962 -+ rtx set_src, label;
1.963 -+ rtx diff_vec;
1.964 -+
1.965 -+ set_src = SET_SRC (XVECEXP (PATTERN (insn), 0, 0));
1.966 -+ if (!(GET_CODE (set_src) == UNSPEC
1.967 -+ && XINT (set_src, 1) == UNSPEC_CASESI))
1.968 -+ abort ();
1.969 -+
1.970 -+ label = XVECEXP (set_src, 0, 2);
1.971 -+ if (GET_CODE (label) != LABEL_REF)
1.972 -+ abort ();
1.973 -+
1.974 -+ diff_vec = PATTERN (next_real_insn (XEXP (label, 0)));
1.975 -+
1.976 -+ if (GET_CODE (diff_vec) != ADDR_DIFF_VEC)
1.977 -+ abort ();
1.978 -+
1.979 -+ switch (GET_MODE (diff_vec))
1.980 -+ {
1.981 -+ case SImode:
1.982 -+ return 2;
1.983 -+ case HImode:
1.984 -+ if (ADDR_DIFF_VEC_FLAGS (diff_vec).offset_unsigned)
1.985 -+ return 3;
1.986 -+ return 2;
1.987 -+ case QImode:
1.988 -+ if (ADDR_DIFF_VEC_FLAGS (diff_vec).offset_unsigned)
1.989 -+ return 2;
1.990 -+ return 1;
1.991 -+ default:
1.992 -+ abort ();
1.993 -+ }
1.994 -+}
1.995 -
1.996 - /* The SH cannot load a large constant into a register, constants have to
1.997 - come from a pc relative load. The reference of a pc relative load
1.998 -@@ -3190,7 +3232,7 @@
1.999 - vec_lab = XEXP (XEXP (pat, 0), 0);
1.1000 -
1.1001 - /* Search the matching casesi_jump_2. */
1.1002 -- for (prev = vec_lab; ; prev = PREV_INSN (prev))
1.1003 -+ for (prev = vec_lab; prev; prev = PREV_INSN (prev))
1.1004 - {
1.1005 - if (GET_CODE (prev) != JUMP_INSN)
1.1006 - continue;
1.1007 -@@ -3205,6 +3247,13 @@
1.1008 - break;
1.1009 - }
1.1010 -
1.1011 -+ if (prev == NULL)
1.1012 -+ { /* Switch statement has been optimized out. */
1.1013 -+ delete_insn (PREV_INSN (insn));
1.1014 -+ delete_insn (insn);
1.1015 -+ continue;
1.1016 -+ }
1.1017 -+
1.1018 - /* Emit the reference label of the braf where it belongs, right after
1.1019 - the casesi_jump_2 (i.e. braf). */
1.1020 - braf_label = XEXP (XEXP (SET_SRC (XVECEXP (prevpat, 0, 0)), 1), 0);
1.1021 -@@ -3223,7 +3272,7 @@
1.1022 - rtx barrier_or_label;
1.1023 - {
1.1024 - rtx next = next_real_insn (barrier_or_label), pat, prev;
1.1025 -- int slot, credit, jump_to_next;
1.1026 -+ int slot, credit, jump_to_next = 0;
1.1027 -
1.1028 - if (! next)
1.1029 - return 0;
1.1030 -@@ -4507,7 +4556,8 @@
1.1031 - if (current_function_varargs || current_function_stdarg)
1.1032 - {
1.1033 - /* This is not used by the SH3E calling convention */
1.1034 -- if (TARGET_SH1 && ! TARGET_SH3E && ! TARGET_SH5 && ! TARGET_HITACHI)
1.1035 -+ if (TARGET_SH1 && ! TARGET_SH3E && ! TARGET_SH5 && ! TARGET_HITACHI
1.1036 -+ || TARGET_NO_IMPLICIT_FP)
1.1037 - {
1.1038 - /* Push arg regs as if they'd been provided by caller in stack. */
1.1039 - for (i = 0; i < NPARM_REGS(SImode); i++)
1.1040 -@@ -5149,7 +5199,8 @@
1.1041 - tree f_next_o, f_next_o_limit, f_next_fp, f_next_fp_limit, f_next_stack;
1.1042 - tree record;
1.1043 -
1.1044 -- if (TARGET_SH5 || (! TARGET_SH3E && ! TARGET_SH4) || TARGET_HITACHI)
1.1045 -+ if (TARGET_SH5 || (! TARGET_SH3E && ! TARGET_SH4) || TARGET_HITACHI
1.1046 -+ || TARGET_NO_IMPLICIT_FP)
1.1047 - return ptr_type_node;
1.1048 -
1.1049 - record = make_node (RECORD_TYPE);
1.1050 -@@ -5211,7 +5262,8 @@
1.1051 - return;
1.1052 - }
1.1053 -
1.1054 -- if ((! TARGET_SH3E && ! TARGET_SH4) || TARGET_HITACHI)
1.1055 -+ if ((! TARGET_SH3E && ! TARGET_SH4)
1.1056 -+ || TARGET_HITACHI || TARGET_NO_IMPLICIT_FP)
1.1057 - {
1.1058 - std_expand_builtin_va_start (stdarg_p, valist, nextarg);
1.1059 - return;
1.1060 -@@ -5289,7 +5341,8 @@
1.1061 - rsize = (size + UNITS_PER_WORD - 1) & -UNITS_PER_WORD;
1.1062 - pptr_type_node = build_pointer_type (ptr_type_node);
1.1063 -
1.1064 -- if (! TARGET_SH5 && (TARGET_SH3E || TARGET_SH4) && ! TARGET_HITACHI)
1.1065 -+ if (! TARGET_SH5 && (TARGET_SH3E || TARGET_SH4)
1.1066 -+ && ! TARGET_HITACHI && ! TARGET_NO_IMPLICIT_FP)
1.1067 - {
1.1068 - tree f_next_o, f_next_o_limit, f_next_fp, f_next_fp_limit, f_next_stack;
1.1069 - tree next_o, next_o_limit, next_fp, next_fp_limit, next_stack;
1.1070 -diff -ruN gcc-20030210.orig/gcc/config/sh/sh.h gcc-20030210/gcc/config/sh/sh.h
1.1071 ---- gcc-20030210.orig/gcc/config/sh/sh.h Fri Feb 22 01:42:28 2002
1.1072 -+++ gcc-20030210/gcc/config/sh/sh.h Sat Feb 22 01:40:14 2003
1.1073 -@@ -147,10 +147,10 @@
1.1074 - #define HARD_SH4_BIT (1<<5)
1.1075 - #define FPU_SINGLE_BIT (1<<7)
1.1076 - #define SH4_BIT (1<<12)
1.1077 -+#define NO_IMPLICIT_FP_BIT (1<<3)
1.1078 - #define FMOVD_BIT (1<<4)
1.1079 - #define SH5_BIT (1<<0)
1.1080 - #define SPACE_BIT (1<<13)
1.1081 --#define BIGTABLE_BIT (1<<14)
1.1082 - #define RELAX_BIT (1<<15)
1.1083 - #define USERMODE_BIT (1<<16)
1.1084 - #define HITACHI_BIT (1<<22)
1.1085 -@@ -205,6 +205,9 @@
1.1086 - /* Nonzero if we should generate code for a SH5 CPU (either ISA). */
1.1087 - #define TARGET_SH5 (target_flags & SH5_BIT)
1.1088 -
1.1089 -+/* Nonzero if we should not use FPU implicitly. */
1.1090 -+#define TARGET_NO_IMPLICIT_FP (target_flags & NO_IMPLICIT_FP_BIT)
1.1091 -+
1.1092 - /* Nonzero if we should generate code using the SHcompact instruction
1.1093 - set and 32-bit ABI. */
1.1094 - #define TARGET_SHCOMPACT (TARGET_SH5 && TARGET_SH1)
1.1095 -@@ -225,6 +228,7 @@
1.1096 -
1.1097 - /* Nonzero if we should generate code using SHmedia FPU instructions. */
1.1098 - #define TARGET_SHMEDIA_FPU (TARGET_SHMEDIA && TARGET_FPU_DOUBLE)
1.1099 -+
1.1100 - /* Nonzero if we should generate fmovd. */
1.1101 - #define TARGET_FMOVD (target_flags & FMOVD_BIT)
1.1102 -
1.1103 -@@ -234,9 +238,6 @@
1.1104 - /* Nonzero if we should generate smaller code rather than faster code. */
1.1105 - #define TARGET_SMALLCODE (target_flags & SPACE_BIT)
1.1106 -
1.1107 --/* Nonzero to use long jump tables. */
1.1108 --#define TARGET_BIGTABLE (target_flags & BIGTABLE_BIT)
1.1109 --
1.1110 - /* Nonzero to generate pseudo-ops needed by the assembler and linker
1.1111 - to do function call relaxing. */
1.1112 - #define TARGET_RELAX (target_flags & RELAX_BIT)
1.1113 -@@ -297,7 +298,6 @@
1.1114 - {"5-compact-nofpu", TARGET_NONE, "" }, \
1.1115 - {"5-compact-nofpu", SH5_BIT|SH3_BIT|SH2_BIT|SH1_BIT, "Generate FPU-less SHcompact code" }, \
1.1116 - {"b", -LITTLE_ENDIAN_BIT, "" }, \
1.1117 -- {"bigtable", BIGTABLE_BIT, "" }, \
1.1118 - {"dalign", DALIGN_BIT, "" }, \
1.1119 - {"fmovd", FMOVD_BIT, "" }, \
1.1120 - {"hitachi", HITACHI_BIT, "" }, \
1.1121 -@@ -306,6 +306,7 @@
1.1122 - {"isize", ISIZE_BIT, "" }, \
1.1123 - {"l", LITTLE_ENDIAN_BIT, "" }, \
1.1124 - {"no-ieee", -IEEE_BIT, "" }, \
1.1125 -+ {"no-implicit-fp", NO_IMPLICIT_FP_BIT, "" }, \
1.1126 - {"padstruct", PADSTRUCT_BIT, "" }, \
1.1127 - {"prefergot", PREFERGOT_BIT, "" }, \
1.1128 - {"relax", RELAX_BIT, "" }, \
1.1129 -@@ -2493,16 +2494,22 @@
1.1130 - goto LABEL; \
1.1131 - }
1.1132 -
1.1133 -+extern int optimize; /* needed for gen_casesi. */
1.1134 -+extern int optimize_size;
1.1135 -+
1.1136 - /* Specify the machine mode that this machine uses
1.1137 - for the index in the tablejump instruction. */
1.1138 --#define CASE_VECTOR_MODE (TARGET_BIGTABLE ? SImode : HImode)
1.1139 -+#define CASE_VECTOR_MODE SImode
1.1140 -
1.1141 - #define CASE_VECTOR_SHORTEN_MODE(MIN_OFFSET, MAX_OFFSET, BODY) \
1.1142 - ((MIN_OFFSET) >= 0 && (MAX_OFFSET) <= 127 \
1.1143 - ? (ADDR_DIFF_VEC_FLAGS (BODY).offset_unsigned = 0, QImode) \
1.1144 - : (MIN_OFFSET) >= 0 && (MAX_OFFSET) <= 255 \
1.1145 - ? (ADDR_DIFF_VEC_FLAGS (BODY).offset_unsigned = 1, QImode) \
1.1146 -- : (MIN_OFFSET) >= -32768 && (MAX_OFFSET) <= 32767 ? HImode \
1.1147 -+ : (MIN_OFFSET) >= -32768 && (MAX_OFFSET) <= 32767 \
1.1148 -+ ? (ADDR_DIFF_VEC_FLAGS (BODY).offset_unsigned = 0, HImode) \
1.1149 -+ : optimize_size && (MIN_OFFSET) >= 0 && (MAX_OFFSET) <= 65535 \
1.1150 -+ ? (ADDR_DIFF_VEC_FLAGS (BODY).offset_unsigned = 1, HImode) \
1.1151 - : SImode)
1.1152 -
1.1153 - /* Define as C expression which evaluates to nonzero if the tablejump
1.1154 -@@ -3038,10 +3045,7 @@
1.1155 - /* Output an absolute table element. */
1.1156 -
1.1157 - #define ASM_OUTPUT_ADDR_VEC_ELT(STREAM,VALUE) \
1.1158 -- if (TARGET_BIGTABLE) \
1.1159 -- asm_fprintf ((STREAM), "\t.long\t%LL%d\n", (VALUE)); \
1.1160 -- else \
1.1161 -- asm_fprintf ((STREAM), "\t.word\t%LL%d\n", (VALUE)); \
1.1162 -+ asm_fprintf ((STREAM), "\t.long\t%LL%d\n", (VALUE))
1.1163 -
1.1164 - /* Output various types of constants. */
1.1165 -
1.1166 -@@ -3167,8 +3171,6 @@
1.1167 - #define sh_cpu_attr ((enum attr_cpu)sh_cpu)
1.1168 - extern enum processor_type sh_cpu;
1.1169 -
1.1170 --extern int optimize; /* needed for gen_casesi. */
1.1171 --
1.1172 - enum mdep_reorg_phase_e
1.1173 - {
1.1174 - SH_BEFORE_MDEP_REORG,
1.1175 -diff -ruN gcc-20030210.orig/gcc/config/sh/sh.md gcc-20030210/gcc/config/sh/sh.md
1.1176 ---- gcc-20030210.orig/gcc/config/sh/sh.md Sat Nov 23 04:58:06 2002
1.1177 -+++ gcc-20030210/gcc/config/sh/sh.md Sat Feb 22 01:40:14 2003
1.1178 -@@ -1242,7 +1242,7 @@
1.1179 - (clobber (reg:SI PR_REG))
1.1180 - (clobber (reg:SI R4_REG))
1.1181 - (use (match_operand:SI 1 "arith_reg_operand" "r"))]
1.1182 -- "TARGET_SH1 && ! TARGET_SH4"
1.1183 -+ "TARGET_SH1 && ! TARGET_SH4 || TARGET_NO_IMPLICIT_FP"
1.1184 - "jsr @%1%#"
1.1185 - [(set_attr "type" "sfunc")
1.1186 - (set_attr "needs_delay_slot" "yes")])
1.1187 -@@ -1336,7 +1336,7 @@
1.1188 -
1.1189 - operands[3] = gen_reg_rtx (Pmode);
1.1190 - /* Emit the move of the address to a pseudo outside of the libcall. */
1.1191 -- if (TARGET_HARD_SH4 && TARGET_SH3E)
1.1192 -+ if (TARGET_HARD_SH4 && TARGET_SH3E && !TARGET_NO_IMPLICIT_FP)
1.1193 - {
1.1194 - emit_move_insn (operands[3],
1.1195 - gen_rtx_SYMBOL_REF (SImode, \"__udivsi3_i4\"));
1.1196 -@@ -1391,7 +1391,7 @@
1.1197 - (clobber (reg:SI R2_REG))
1.1198 - (clobber (reg:SI R3_REG))
1.1199 - (use (match_operand:SI 1 "arith_reg_operand" "r"))]
1.1200 -- "TARGET_SH1 && ! TARGET_SH4"
1.1201 -+ "TARGET_SH1 && ! TARGET_SH4 || TARGET_NO_IMPLICIT_FP"
1.1202 - "jsr @%1%#"
1.1203 - [(set_attr "type" "sfunc")
1.1204 - (set_attr "needs_delay_slot" "yes")])
1.1205 -@@ -1476,7 +1476,7 @@
1.1206 -
1.1207 - operands[3] = gen_reg_rtx (Pmode);
1.1208 - /* Emit the move of the address to a pseudo outside of the libcall. */
1.1209 -- if (TARGET_HARD_SH4 && TARGET_SH3E)
1.1210 -+ if (TARGET_HARD_SH4 && TARGET_SH3E && !TARGET_NO_IMPLICIT_FP)
1.1211 - {
1.1212 - emit_move_insn (operands[3],
1.1213 - gen_rtx_SYMBOL_REF (SImode, \"__sdivsi3_i4\"));
1.1214 -@@ -6446,6 +6446,8 @@
1.1215 - case SImode:
1.1216 - return \"shll2 %1\;mov.l @(r0,%1),%0\";
1.1217 - case HImode:
1.1218 -+ if (ADDR_DIFF_VEC_FLAGS (diff_vec).offset_unsigned)
1.1219 -+ return \"add %1,%1\;mov.w @(r0,%1),%0\;extu.w %0,%0\";
1.1220 - return \"add %1,%1\;mov.w @(r0,%1),%0\";
1.1221 - case QImode:
1.1222 - if (ADDR_DIFF_VEC_FLAGS (diff_vec).offset_unsigned)
1.1223 -@@ -6455,7 +6457,15 @@
1.1224 - abort ();
1.1225 - }
1.1226 - }"
1.1227 -- [(set_attr "length" "4")])
1.1228 -+ [(set (attr "length")
1.1229 -+ (cond [(eq (symbol_ref "shl_casesi_worker_length (insn)") (const_int 1))
1.1230 -+ (const_string "2")
1.1231 -+ (eq (symbol_ref "shl_casesi_worker_length (insn)") (const_int 2))
1.1232 -+ (const_string "4")
1.1233 -+ ;; Put "match_dup" here so that insn_variable_length_p return 1.
1.1234 -+ (ne (match_dup 2) (match_dup 2))
1.1235 -+ (const_string "4")]
1.1236 -+ (const_string "6")))])
1.1237 -
1.1238 - (define_insn "casesi_shift_media"
1.1239 - [(set (match_operand 0 "arith_reg_operand" "=r")
1.1240 -diff -ruN gcc-20030210.orig/gcc/config/sh/sh3-linux.h gcc-20030210/gcc/config/sh/sh3-linux.h
1.1241 ---- gcc-20030210.orig/gcc/config/sh/sh3-linux.h Thu Jan 1 09:00:00 1970
1.1242 -+++ gcc-20030210/gcc/config/sh/sh3-linux.h Sat Feb 22 01:40:14 2003
1.1243 -@@ -0,0 +1,29 @@
1.1244 -+#undef TARGET_VERSION
1.1245 -+#define TARGET_VERSION fputs (" (SH3 GNU/Linux with ELF)", stderr);
1.1246 -+
1.1247 -+#undef CPP_SPEC
1.1248 -+#define CPP_SPEC \
1.1249 -+ "-D__LITTLE_ENDIAN__ \
1.1250 -+ -D__SH3__ -D__sh3__ \
1.1251 -+ -D__SIZE_TYPE__=unsigned\\ int \
1.1252 -+ -D__PTRDIFF_TYPE__=int \
1.1253 -+ %{fPIC:-D__PIC__ -D__pic__} \
1.1254 -+ %{fpic:-D__PIC__ -D__pic__} \
1.1255 -+ %{posix:-D_POSIX_SOURCE} \
1.1256 -+ %{pthread:-D_REENTRANT -D_PTHREADS}"
1.1257 -+
1.1258 -+#undef ASM_SPEC
1.1259 -+#define ASM_SPEC "%{mrelax:-relax}"
1.1260 -+
1.1261 -+#undef CC1_SPEC
1.1262 -+#define CC1_SPEC \
1.1263 -+ "-musermode -ml -m3 %{profile:-p}"
1.1264 -+
1.1265 -+#undef LINK_SPEC
1.1266 -+#define LINK_SPEC \
1.1267 -+ "%{mrelax:-relax} \
1.1268 -+ %{shared:-shared} \
1.1269 -+ %{!static: \
1.1270 -+ %{rdynamic:-export-dynamic} \
1.1271 -+ %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2}} \
1.1272 -+ %{static:-static}"
1.1273 -diff -ruN gcc-20030210.orig/gcc/config/sh/sh3eb-linux.h gcc-20030210/gcc/config/sh/sh3eb-linux.h
1.1274 ---- gcc-20030210.orig/gcc/config/sh/sh3eb-linux.h Thu Jan 1 09:00:00 1970
1.1275 -+++ gcc-20030210/gcc/config/sh/sh3eb-linux.h Sat Feb 22 01:40:14 2003
1.1276 -@@ -0,0 +1,29 @@
1.1277 -+#undef TARGET_VERSION
1.1278 -+#define TARGET_VERSION fputs (" (SH3EB GNU/Linux with ELF)", stderr);
1.1279 -+
1.1280 -+#undef CPP_SPEC
1.1281 -+#define CPP_SPEC \
1.1282 -+ "-D__BIG_ENDIAN__ \
1.1283 -+ -D__SH3__ -D__sh3__ \
1.1284 -+ -D__SIZE_TYPE__=unsigned\\ int \
1.1285 -+ -D__PTRDIFF_TYPE__=int \
1.1286 -+ %{fPIC:-D__PIC__ -D__pic__} \
1.1287 -+ %{fpic:-D__PIC__ -D__pic__} \
1.1288 -+ %{posix:-D_POSIX_SOURCE} \
1.1289 -+ %{pthread:-D_REENTRANT -D_PTHREADS}"
1.1290 -+
1.1291 -+#undef ASM_SPEC
1.1292 -+#define ASM_SPEC "%{mrelax:-relax}"
1.1293 -+
1.1294 -+#undef CC1_SPEC
1.1295 -+#define CC1_SPEC \
1.1296 -+ "-musermode -mb -m3 %{profile:-p}"
1.1297 -+
1.1298 -+#undef LINK_SPEC
1.1299 -+#define LINK_SPEC \
1.1300 -+ "%{mrelax:-relax} \
1.1301 -+ %{shared:-shared} \
1.1302 -+ %{!static: \
1.1303 -+ %{rdynamic:-export-dynamic} \
1.1304 -+ %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2}} \
1.1305 -+ %{static:-static}"
1.1306 -diff -ruN gcc-20030210.orig/gcc/config/sh/sh4-linux.h gcc-20030210/gcc/config/sh/sh4-linux.h
1.1307 ---- gcc-20030210.orig/gcc/config/sh/sh4-linux.h Thu Jan 1 09:00:00 1970
1.1308 -+++ gcc-20030210/gcc/config/sh/sh4-linux.h Sat Feb 22 01:40:14 2003
1.1309 -@@ -0,0 +1,29 @@
1.1310 -+#undef TARGET_VERSION
1.1311 -+#define TARGET_VERSION fputs (" (SH4 GNU/Linux with ELF)", stderr);
1.1312 -+
1.1313 -+#undef CPP_SPEC
1.1314 -+#define CPP_SPEC \
1.1315 -+ "-D__LITTLE_ENDIAN__ \
1.1316 -+ -D__SH4__ \
1.1317 -+ -D__SIZE_TYPE__=unsigned\\ int \
1.1318 -+ -D__PTRDIFF_TYPE__=int \
1.1319 -+ %{fPIC:-D__PIC__ -D__pic__} \
1.1320 -+ %{fpic:-D__PIC__ -D__pic__} \
1.1321 -+ %{posix:-D_POSIX_SOURCE} \
1.1322 -+ %{pthread:-D_REENTRANT -D_PTHREADS}"
1.1323 -+
1.1324 -+#undef ASM_SPEC
1.1325 -+#define ASM_SPEC "%{mrelax:-relax}"
1.1326 -+
1.1327 -+#undef CC1_SPEC
1.1328 -+#define CC1_SPEC \
1.1329 -+ "-musermode -ml -m4 %{profile:-p}"
1.1330 -+
1.1331 -+#undef LINK_SPEC
1.1332 -+#define LINK_SPEC \
1.1333 -+ "%{mrelax:-relax} \
1.1334 -+ %{shared:-shared} \
1.1335 -+ %{!static: \
1.1336 -+ %{rdynamic:-export-dynamic} \
1.1337 -+ %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2}} \
1.1338 -+ %{static:-static}"
1.1339 -diff -ruN gcc-20030210.orig/gcc/config/sh/sh4eb-linux.h gcc-20030210/gcc/config/sh/sh4eb-linux.h
1.1340 ---- gcc-20030210.orig/gcc/config/sh/sh4eb-linux.h Thu Jan 1 09:00:00 1970
1.1341 -+++ gcc-20030210/gcc/config/sh/sh4eb-linux.h Sat Feb 22 01:40:14 2003
1.1342 -@@ -0,0 +1,29 @@
1.1343 -+#undef TARGET_VERSION
1.1344 -+#define TARGET_VERSION fputs (" (SH4EB GNU/Linux with ELF)", stderr);
1.1345 -+
1.1346 -+#undef CPP_SPEC
1.1347 -+#define CPP_SPEC \
1.1348 -+ "-D__BIG_ENDIAN__ \
1.1349 -+ -D__SH4__ \
1.1350 -+ -D__SIZE_TYPE__=unsigned\\ int \
1.1351 -+ -D__PTRDIFF_TYPE__=int \
1.1352 -+ %{fPIC:-D__PIC__ -D__pic__} \
1.1353 -+ %{fpic:-D__PIC__ -D__pic__} \
1.1354 -+ %{posix:-D_POSIX_SOURCE} \
1.1355 -+ %{pthread:-D_REENTRANT -D_PTHREADS}"
1.1356 -+
1.1357 -+#undef ASM_SPEC
1.1358 -+#define ASM_SPEC "%{mrelax:-relax}"
1.1359 -+
1.1360 -+#undef CC1_SPEC
1.1361 -+#define CC1_SPEC \
1.1362 -+ "-musermode -mb -m4 %{profile:-p}"
1.1363 -+
1.1364 -+#undef LINK_SPEC
1.1365 -+#define LINK_SPEC \
1.1366 -+ "%{mrelax:-relax} \
1.1367 -+ %{shared:-shared} \
1.1368 -+ %{!static: \
1.1369 -+ %{rdynamic:-export-dynamic} \
1.1370 -+ %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2}} \
1.1371 -+ %{static:-static}"
1.1372 -diff -ruN gcc-20030210.orig/gcc/config/sh/t-linux gcc-20030210/gcc/config/sh/t-linux
1.1373 ---- gcc-20030210.orig/gcc/config/sh/t-linux Thu May 17 12:16:12 2001
1.1374 -+++ gcc-20030210/gcc/config/sh/t-linux Sat Feb 22 01:40:14 2003
1.1375 -@@ -1,10 +1,20 @@
1.1376 --TARGET_LIBGCC2_CFLAGS = -fpic
1.1377 -+TARGET_LIBGCC2_CFLAGS = -fpic -DNO_FPSCR_VALUES
1.1378 -+LIBGCC1 = libgcc1-asm.a
1.1379 -+CROSS_LIBGCC1 = libgcc1-asm.a
1.1380 -+LIBGCC1_TEST = libgcc1-test
1.1381 - LIB1ASMFUNCS = _ashiftrt _ashiftrt_n _ashiftlt _lshiftrt _movstr \
1.1382 - _movstr_i4 _mulsi3 _sdivsi3 _sdivsi3_i4 _udivsi3 _udivsi3_i4 _set_fpscr \
1.1383 - _ic_invalidate
1.1384 -+LIB2ADDEH = $(srcdir)/unwind-sjlj.c
1.1385 -+LIB2ADDEHDEP = unwind.inc unwind-sjlj.c
1.1386 -
1.1387 --MULTILIB_OPTIONS= mb m3e/m4
1.1388 -+MULTILIB_OPTIONS= mb m4
1.1389 - MULTILIB_DIRNAMES=
1.1390 - MULTILIB_MATCHES =
1.1391 -
1.1392 --EXTRA_MULTILIB_PARTS= crtbegin.o crtend.o crtbeginS.o crtendS.o
1.1393 -+EXTRA_MULTILIB_PARTS= crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o
1.1394 -+
1.1395 -+# Override t-slibgcc-elf-ver to export some libgcc symbols with
1.1396 -+# the symbol versions that glibc used and SH specific.
1.1397 -+SHLIB_MAPFILES = $(srcdir)/libgcc-std.ver \
1.1398 -+ $(srcdir)/config/sh/libgcc-glibc.ver
1.1399 -diff -ruN gcc-20030210.orig/gcc/config/sh/t-linux-nomulti gcc-20030210/gcc/config/sh/t-linux-nomulti
1.1400 ---- gcc-20030210.orig/gcc/config/sh/t-linux-nomulti Thu Jan 1 09:00:00 1970
1.1401 -+++ gcc-20030210/gcc/config/sh/t-linux-nomulti Sat Feb 22 01:40:14 2003
1.1402 -@@ -0,0 +1,9 @@
1.1403 -+LIBGCC = libgcc.a
1.1404 -+EXTRA_PARTS = crtbegin.o crtbeginS.o crtend.o crtendS.o crtbeginT.o
1.1405 -+
1.1406 -+INSTALL_LIBGCC = install-libgcc
1.1407 -+
1.1408 -+MULTILIB_OPTIONS=
1.1409 -+MULTILIB_DIRNAMES=
1.1410 -+MULTILIB_MATCHES =
1.1411 -+EXTRA_MULTILIB_PARTS=
1.1412 -diff -ruN gcc-20030210.orig/gcc/config.gcc gcc-20030210/gcc/config.gcc
1.1413 ---- gcc-20030210.orig/gcc/config.gcc Fri Jan 31 19:17:13 2003
1.1414 -+++ gcc-20030210/gcc/config.gcc Sat Feb 22 01:40:14 2003
1.1415 -@@ -337,9 +337,9 @@
1.1416 - sparc*-*-*)
1.1417 - cpu_type=sparc
1.1418 - ;;
1.1419 --sh64-*-*)
1.1420 -- cpu_type=sh
1.1421 -- ;;
1.1422 -+sh*-*-*)
1.1423 -+ cpu_type=sh
1.1424 -+ ;;
1.1425 - esac
1.1426 -
1.1427 - tm_file=${cpu_type}/${cpu_type}.h
1.1428 -@@ -3018,9 +3018,31 @@
1.1429 - thread_file='rtems'
1.1430 - fi
1.1431 - ;;
1.1432 --sh-*-linux*)
1.1433 -+sh*-*-linux*)
1.1434 - tm_file="${tm_file} sh/elf.h sh/linux.h"
1.1435 -- tmake_file="sh/t-sh sh/t-elf sh/t-linux"
1.1436 -+ tmake_file="sh/t-sh sh/t-elf t-slibgcc-elf-ver t-linux sh/t-linux"
1.1437 -+ extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o"
1.1438 -+ case $machine in
1.1439 -+ sh3eb-*)
1.1440 -+ tm_file="${tm_file} sh/sh3eb-linux.h"
1.1441 -+ tmake_file="${tmake_file} sh/t-linux-nomulti"
1.1442 -+ ;;
1.1443 -+ sh4eb-*)
1.1444 -+ tm_file="${tm_file} sh/sh4eb-linux.h"
1.1445 -+ tmake_file="${tmake_file} sh/t-linux-nomulti"
1.1446 -+ ;;
1.1447 -+ sh3-*)
1.1448 -+ tm_file="${tm_file} sh/sh3-linux.h"
1.1449 -+ tmake_file="${tmake_file} sh/t-linux-nomulti"
1.1450 -+ ;;
1.1451 -+ sh4-*)
1.1452 -+ tm_file="${tm_file} sh/sh4-linux.h"
1.1453 -+ tmake_file="${tmake_file} sh/t-linux-nomulti"
1.1454 -+ ;;
1.1455 -+ *)
1.1456 -+ ;;
1.1457 -+ esac
1.1458 -+ xmake_file=x-linux
1.1459 - gas=yes gnu_ld=yes
1.1460 - float_format=sh
1.1461 - ;;
1.1462 -diff -ruN gcc-20030210.orig/gcc/dwarf2out.c gcc-20030210/gcc/dwarf2out.c
1.1463 ---- gcc-20030210.orig/gcc/dwarf2out.c Mon Feb 10 19:36:25 2003
1.1464 -+++ gcc-20030210/gcc/dwarf2out.c Sat Feb 22 01:40:14 2003
1.1465 -@@ -10224,7 +10224,9 @@
1.1466 - /* We can have a normal definition following an inline one in the
1.1467 - case of redefinition of GNU C extern inlines.
1.1468 - It seems reasonable to use AT_specification in this case. */
1.1469 -- && !get_AT_unsigned (old_die, DW_AT_inline))
1.1470 -+ && !get_AT_unsigned (old_die, DW_AT_inline)
1.1471 -+ /* Skip the nested function. */
1.1472 -+ && !decl_function_context (decl))
1.1473 - {
1.1474 - /* ??? This can happen if there is a bug in the program, for
1.1475 - instance, if it has duplicate function definitions. Ideally,
1.1476 -diff -ruN gcc-20030210.orig/gcc/final.c gcc-20030210/gcc/final.c
1.1477 ---- gcc-20030210.orig/gcc/final.c Fri Jan 31 19:17:20 2003
1.1478 -+++ gcc-20030210/gcc/final.c Sat Feb 22 01:40:14 2003
1.1479 -@@ -1128,7 +1128,7 @@
1.1480 - }
1.1481 - }
1.1482 -
1.1483 -- INSN_ADDRESSES (uid) = insn_current_address;
1.1484 -+ INSN_ADDRESSES (uid) = insn_current_address + insn_lengths[uid];
1.1485 -
1.1486 - if (GET_CODE (insn) == NOTE || GET_CODE (insn) == BARRIER
1.1487 - || GET_CODE (insn) == CODE_LABEL)
1.1488 -diff -ruN gcc-20030210.orig/gcc/mkmap-symver.awk gcc-20030210/gcc/mkmap-symver.awk
1.1489 ---- gcc-20030210.orig/gcc/mkmap-symver.awk Fri Jan 31 19:17:26 2003
1.1490 -+++ gcc-20030210/gcc/mkmap-symver.awk Sat Feb 22 01:40:14 2003
1.1491 -@@ -89,7 +89,11 @@
1.1492 - output(inherit[lib]);
1.1493 -
1.1494 - printf("%s {\n", lib);
1.1495 -- printf(" global:\n");
1.1496 -+ for (sym in ver)
1.1497 -+ if ((ver[sym] == lib) && (sym in def))
1.1498 -+ count++;
1.1499 -+ if (count > 0)
1.1500 -+ printf(" global:\n");
1.1501 - for (sym in ver)
1.1502 - if ((ver[sym] == lib) && (sym in def))
1.1503 - {
1.1504 -diff -ruN gcc-20030210.orig/gcc/reload1.c gcc-20030210/gcc/reload1.c
1.1505 ---- gcc-20030210.orig/gcc/reload1.c Fri Jan 31 19:17:29 2003
1.1506 -+++ gcc-20030210/gcc/reload1.c Sat Feb 22 01:40:14 2003
1.1507 -@@ -6103,6 +6103,7 @@
1.1508 - for (j = 0; j < n_reloads; j++)
1.1509 - if (rld[j].in != 0
1.1510 - && rld[j].when_needed != RELOAD_OTHER
1.1511 -+ && rld[j].when_needed != RELOAD_FOR_OUTPUT_ADDRESS
1.1512 - && reg_overlap_mentioned_for_reload_p (rld[j].in,
1.1513 - rld[i].in))
1.1514 - rld[j].when_needed
1.1515 -diff -ruN gcc-20030210.orig/gcc/reorg.c gcc-20030210/gcc/reorg.c
1.1516 ---- gcc-20030210.orig/gcc/reorg.c Fri Jan 31 19:17:30 2003
1.1517 -+++ gcc-20030210/gcc/reorg.c Sat Feb 22 01:40:14 2003
1.1518 -@@ -3265,6 +3265,14 @@
1.1519 - || condjump_in_parallel_p (XVECEXP (PATTERN (insn), 0, 0))))
1.1520 - continue;
1.1521 -
1.1522 -+#ifdef MD_CAN_REDIRECT_BRANCH
1.1523 -+ /* On some targets, branches with delay slots can have a limited
1.1524 -+ displacement. Give the back end a chance to tell us we can't do
1.1525 -+ this. */
1.1526 -+ if (! MD_CAN_REDIRECT_BRANCH (insn, delay_insn))
1.1527 -+ continue;
1.1528 -+#endif
1.1529 -+
1.1530 - target_label = JUMP_LABEL (delay_insn);
1.1531 -
1.1532 - if (target_label)
1.1533 -diff -ruN gcc-20030210.orig/gcc/tree-inline.c gcc-20030210/gcc/tree-inline.c
1.1534 ---- gcc-20030210.orig/gcc/tree-inline.c Fri Jan 31 19:17:33 2003
1.1535 -+++ gcc-20030210/gcc/tree-inline.c Sat Feb 22 01:40:14 2003
1.1536 -@@ -836,11 +836,17 @@
1.1537 -
1.1538 - /* Don't try to inline functions that are not well-suited to
1.1539 - inlining. */
1.1540 -- if (!inlinable_function_p (fn, id))
1.1541 -- return NULL_TREE;
1.1542 -+ if (! inlinable_function_p (fn, id)
1.1543 -+ || ! (*lang_hooks.tree_inlining.start_inlining) (fn))
1.1544 -+ {
1.1545 -+ if (DECL_INLINE (fn) && warn_inline && ! flag_really_no_inline)
1.1546 -+ {
1.1547 -+ warning_with_decl (fn, "inlining failed in call to `%s'");
1.1548 -+ warning ("called from here");
1.1549 -+ }
1.1550 -
1.1551 -- if (! (*lang_hooks.tree_inlining.start_inlining) (fn))
1.1552 -- return NULL_TREE;
1.1553 -+ return NULL_TREE;
1.1554 -+ }
1.1555 -
1.1556 - /* Set the current filename and line number to the function we are
1.1557 - inlining so that when we create new _STMT nodes here they get
1.1558 -diff -ruN gcc-20030210.orig/libjava/Makefile.in gcc-20030210/libjava/Makefile.in
1.1559 ---- gcc-20030210.orig/libjava/Makefile.in Tue Jan 28 10:44:37 2003
1.1560 -+++ gcc-20030210/libjava/Makefile.in Sat Feb 22 01:40:14 2003
1.1561 -@@ -1637,6 +1637,7 @@
1.1562 - "AS=$(AS)" \
1.1563 - "CC=$(CC)" \
1.1564 - "CXX=$(CXX)" \
1.1565 -+ "GCJ=$(GCJ)" \
1.1566 - "LD=$(LD)" \
1.1567 - "LIBCFLAGS=$(LIBCFLAGS)" \
1.1568 - "NM=$(NM)" \
1.1569 -diff -ruN gcc-20030210.orig/libjava/configure gcc-20030210/libjava/configure
1.1570 ---- gcc-20030210.orig/libjava/configure Tue Jan 28 10:44:37 2003
1.1571 -+++ gcc-20030210/libjava/configure Sat Feb 22 01:42:11 2003
1.1572 -@@ -2031,7 +2031,7 @@
1.1573 - # This must be Linux ELF.
1.1574 - linux-gnu*)
1.1575 - case $host_cpu in
1.1576 -- alpha* | hppa* | i*86 | powerpc* | sparc* | ia64* )
1.1577 -+ alpha* | hppa* | i*86 | powerpc* | sparc* | ia64* | sh* )
1.1578 - lt_cv_deplibs_check_method=pass_all ;;
1.1579 - *)
1.1580 - # glibc up to 2.1.1 does not perform some relocations on ARM
1.1581 -diff -ruN gcc-20030210.orig/libjava/java/net/natInetAddress.cc gcc-20030210/libjava/java/net/natInetAddress.cc
1.1582 ---- gcc-20030210.orig/libjava/java/net/natInetAddress.cc Tue Mar 5 05:02:19 2002
1.1583 -+++ gcc-20030210/libjava/java/net/natInetAddress.cc Sat Feb 22 01:40:14 2003
1.1584 -@@ -56,7 +56,7 @@
1.1585 - #endif
1.1586 -
1.1587 - #ifndef HAVE_GETHOSTNAME_DECL
1.1588 --extern "C" int gethostname (char *name, int namelen);
1.1589 -+extern "C" int gethostname (char *name, unsigned int namelen);
1.1590 - #endif
1.1591 -
1.1592 - #ifdef DISABLE_JAVA_NET
1.1593 -diff -ruN gcc-20030210.orig/libjava/libltdl/aclocal.m4 gcc-20030210/libjava/libltdl/aclocal.m4
1.1594 ---- gcc-20030210.orig/libjava/libltdl/aclocal.m4 Sun Sep 10 17:04:40 2000
1.1595 -+++ gcc-20030210/libjava/libltdl/aclocal.m4 Sat Feb 22 01:40:14 2003
1.1596 -@@ -573,7 +573,7 @@
1.1597 - # This must be Linux ELF.
1.1598 - linux-gnu*)
1.1599 - case "$host_cpu" in
1.1600 -- alpha* | i*86 | powerpc* | sparc* | ia64* )
1.1601 -+ alpha* | i*86 | powerpc* | sparc* | ia64* | sh*)
1.1602 - lt_cv_deplibs_check_method=pass_all ;;
1.1603 - *)
1.1604 - # glibc up to 2.1.1 does not perform some relocations on ARM
1.1605 -diff -ruN gcc-20030210.orig/libjava/sysdep/sh/locks.h gcc-20030210/libjava/sysdep/sh/locks.h
1.1606 ---- gcc-20030210.orig/libjava/sysdep/sh/locks.h Thu Jan 1 09:00:00 1970
1.1607 -+++ gcc-20030210/libjava/sysdep/sh/locks.h Sat Feb 22 01:40:14 2003
1.1608 -@@ -0,0 +1,72 @@
1.1609 -+// locks.h - Thread synchronization primitives. SuperH implementation.
1.1610 -+
1.1611 -+/* Copyright (C) 2002 Free Software Foundation
1.1612 -+
1.1613 -+ This file is part of libgcj.
1.1614 -+
1.1615 -+This software is copyrighted work licensed under the terms of the
1.1616 -+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
1.1617 -+details. */
1.1618 -+
1.1619 -+#ifndef __SYSDEP_LOCKS_H__
1.1620 -+#define __SYSDEP_LOCKS_H__
1.1621 -+
1.1622 -+typedef size_t obj_addr_t; /* Integer type big enough for object */
1.1623 -+ /* address. */
1.1624 -+
1.1625 -+static unsigned char __cas_lock = 0;
1.1626 -+
1.1627 -+inline static void
1.1628 -+__cas_start_atomic (void)
1.1629 -+{
1.1630 -+ unsigned int val;
1.1631 -+
1.1632 -+ do
1.1633 -+ __asm__ __volatile__ ("tas.b @%1; movt %0"
1.1634 -+ : "=r" (val)
1.1635 -+ : "r" (&__cas_lock)
1.1636 -+ : "memory");
1.1637 -+ while (val == 0);
1.1638 -+}
1.1639 -+
1.1640 -+inline static void
1.1641 -+__cas_end_atomic (void)
1.1642 -+{
1.1643 -+ __asm__ __volatile__ (" " : : : "memory");
1.1644 -+ __cas_lock = 0;
1.1645 -+}
1.1646 -+
1.1647 -+inline static bool
1.1648 -+compare_and_swap (volatile obj_addr_t *addr, obj_addr_t old,
1.1649 -+ obj_addr_t new_val)
1.1650 -+{
1.1651 -+ bool ret;
1.1652 -+
1.1653 -+ __cas_start_atomic ();
1.1654 -+ if (*addr != old)
1.1655 -+ ret = false;
1.1656 -+ else
1.1657 -+ {
1.1658 -+ *addr = new_val;
1.1659 -+ ret = true;
1.1660 -+ }
1.1661 -+ __cas_end_atomic ();
1.1662 -+
1.1663 -+ return ret;
1.1664 -+}
1.1665 -+
1.1666 -+inline static void
1.1667 -+release_set (volatile obj_addr_t *addr, obj_addr_t new_val)
1.1668 -+{
1.1669 -+ __asm__ __volatile__ (" " : : : "memory");
1.1670 -+ *(addr) = new_val;
1.1671 -+}
1.1672 -+
1.1673 -+inline static bool
1.1674 -+compare_and_swap_release (volatile obj_addr_t *addr, obj_addr_t old,
1.1675 -+ obj_addr_t new_val)
1.1676 -+{
1.1677 -+ return compare_and_swap (addr, old, new_val);
1.1678 -+}
1.1679 -+
1.1680 -+#endif /* ! __SYSDEP_LOCKS_H__ */
1.1681 -diff -ruN gcc-20030210.orig/libstdc++-v3/acinclude.m4 gcc-20030210/libstdc++-v3/acinclude.m4
1.1682 ---- gcc-20030210.orig/libstdc++-v3/acinclude.m4 Tue Jan 28 02:30:41 2003
1.1683 -+++ gcc-20030210/libstdc++-v3/acinclude.m4 Sat Feb 22 01:40:14 2003
1.1684 -@@ -1828,9 +1828,10 @@
1.1685 - GLIBCPP_INCLUDES="-I${glibcpp_builddir}/include/${target_alias} -I${glibcpp_builddir}/include"
1.1686 -
1.1687 - # Passed down for canadian crosses.
1.1688 -- if test x"$CANADIAN" = xyes; then
1.1689 -- TOPLEVEL_INCLUDES='-I$(includedir)'
1.1690 -- fi
1.1691 -+ #if test x"$CANADIAN" = xyes; then
1.1692 -+ # TOPLEVEL_INCLUDES='-I$(includedir)'
1.1693 -+ #fi
1.1694 -+ TOPLEVEL_INCLUDES=''
1.1695 -
1.1696 - LIBMATH_INCLUDES='-I$(top_srcdir)/libmath'
1.1697 -
1.1698 -diff -ruN gcc-20030210.orig/libstdc++-v3/aclocal.m4 gcc-20030210/libstdc++-v3/aclocal.m4
1.1699 ---- gcc-20030210.orig/libstdc++-v3/aclocal.m4 Mon Feb 10 19:36:47 2003
1.1700 -+++ gcc-20030210/libstdc++-v3/aclocal.m4 Sat Feb 22 01:40:14 2003
1.1701 -@@ -1840,9 +1840,10 @@
1.1702 - GLIBCPP_INCLUDES="-I${glibcpp_builddir}/include/${target_alias} -I${glibcpp_builddir}/include"
1.1703 -
1.1704 - # Passed down for canadian crosses.
1.1705 -- if test x"$CANADIAN" = xyes; then
1.1706 -- TOPLEVEL_INCLUDES='-I$(includedir)'
1.1707 -- fi
1.1708 -+ #if test x"$CANADIAN" = xyes; then
1.1709 -+ # TOPLEVEL_INCLUDES='-I$(includedir)'
1.1710 -+ #fi
1.1711 -+ TOPLEVEL_INCLUDES=''
1.1712 -
1.1713 - LIBMATH_INCLUDES='-I$(top_srcdir)/libmath'
1.1714 -
1.1715 -diff -ruN gcc-20030210.orig/libstdc++-v3/configure gcc-20030210/libstdc++-v3/configure
1.1716 ---- gcc-20030210.orig/libstdc++-v3/configure Mon Feb 10 19:37:17 2003
1.1717 -+++ gcc-20030210/libstdc++-v3/configure Sat Feb 22 01:40:14 2003
1.1718 -@@ -1982,7 +1982,7 @@
1.1719 - # This must be Linux ELF.
1.1720 - linux-gnu*)
1.1721 - case $host_cpu in
1.1722 -- alpha* | hppa* | i*86 | powerpc* | sparc* | ia64* )
1.1723 -+ alpha* | hppa* | i*86 | powerpc* | sparc* | ia64* | sh*)
1.1724 - lt_cv_deplibs_check_method=pass_all ;;
1.1725 - *)
1.1726 - # glibc up to 2.1.1 does not perform some relocations on ARM
1.1727 -@@ -22340,9 +22340,10 @@
1.1728 - GLIBCPP_INCLUDES="-I${glibcpp_builddir}/include/${target_alias} -I${glibcpp_builddir}/include"
1.1729 -
1.1730 - # Passed down for canadian crosses.
1.1731 -- if test x"$CANADIAN" = xyes; then
1.1732 -- TOPLEVEL_INCLUDES='-I$(includedir)'
1.1733 -- fi
1.1734 -+ #if test x"$CANADIAN" = xyes; then
1.1735 -+ # TOPLEVEL_INCLUDES='-I$(includedir)'
1.1736 -+ #fi
1.1737 -+ TOPLEVEL_INCLUDES=''
1.1738 -
1.1739 - LIBMATH_INCLUDES='-I$(top_srcdir)/libmath'
1.1740 -
1.1741 -diff -ruN gcc-20030210.orig/libtool.m4 gcc-20030210/libtool.m4
1.1742 ---- gcc-20030210.orig/libtool.m4 Fri Jan 31 19:16:59 2003
1.1743 -+++ gcc-20030210/libtool.m4 Sat Feb 22 01:40:14 2003
1.1744 -@@ -597,7 +597,7 @@
1.1745 - # This must be Linux ELF.
1.1746 - linux-gnu*)
1.1747 - case $host_cpu in
1.1748 -- alpha* | hppa* | i*86 | powerpc* | sparc* | ia64* )
1.1749 -+ alpha* | hppa* | i*86 | powerpc* | sparc* | ia64* | sh* )
1.1750 - lt_cv_deplibs_check_method=pass_all ;;
1.1751 - *)
1.1752 - # glibc up to 2.1.1 does not perform some relocations on ARM
1.1753 -diff -ruN gcc-20030210.orig/zlib/configure gcc-20030210/zlib/configure
1.1754 ---- gcc-20030210.orig/zlib/configure Tue Jan 28 10:44:15 2003
1.1755 -+++ gcc-20030210/zlib/configure Sat Feb 22 01:40:14 2003
1.1756 -@@ -1571,7 +1571,7 @@
1.1757 - # This must be Linux ELF.
1.1758 - linux-gnu*)
1.1759 - case $host_cpu in
1.1760 -- alpha* | hppa* | i*86 | powerpc* | sparc* | ia64* )
1.1761 -+ alpha* | hppa* | i*86 | powerpc* | sparc* | ia64* | sh* )
1.1762 - lt_cv_deplibs_check_method=pass_all ;;
1.1763 - *)
1.1764 - # glibc up to 2.1.1 does not perform some relocations on ARM