toolchain: move to dir 'toolchain-mipsel', rearrange patches to dirs, drop gcc-4.8.3

This commit is contained in:
andy.padavan
2015-04-20 03:37:39 +07:00
parent 1b933f72b5
commit 728075eb1c
156 changed files with 157 additions and 573 deletions

View File

@@ -1,8 +1,8 @@
* BUILD INSTRUCTION *
1) To build the firmware, you need Linux environment. Debian squeeze 6.0.7 and
1) To build the firmware, you need Linux environment. Debian 'wheezy' 6.8.0 and
Ubuntu 10.04, 10.10, 11.04 distros has been tested.
2) Build cross-toolchain for MIPS32_R2 CPU (binutils-2.21.1, gcc-447, uclibc-0.9.33.2)
2) Build cross-toolchain for MIPS32_R2 CPU (binutils-2.24, gcc-447, uclibc-0.9.33.2)
from external package toolchain-rt3883.
3) Manual configure firmware content via .config file. Use comment mark # for
disable features. Change param "CONFIG_TOOLCHAIN_DIR=" to target cross-toolchain
@@ -11,14 +11,9 @@
the firmware file (*.trx) will be placed to directory "images".
WARNING!
After building the firmware, be sure that the firmware file size (*.trx) does not
exceed 7995392 bytes (8060928 - 65536)!
* NOTE *
To build the firmware under Debian squeeze you need the packages:
To build the firmware under Debian 'wheezy' you need the packages:
- build-essential
- gawk
- sudo
@@ -40,5 +35,5 @@ To build cross-toolchain, you need additional packages:
-
03/31/2013
04/20/2015
Padavan

View File

@@ -1,10 +1,10 @@
* ИНСТРУКЦИЯ ПО СБОРКЕ ПРОШИВКИ RT-N56U *
* ИНСТРУКЦИЯ ПО СБОРКЕ ПРОШИВКИ *
1) Для сборки прошивки требуется Linux окружение 32 или 64 бита. Сборка прошивки
протестирована на Linux дистрибутивах Debian squeeze 6.0.7 и Ubuntu 10.04,
протестирована на Linux дистрибутивах Debian 'wheezy' 6.8.0 и Ubuntu 10.04,
10.10, 11.04.
2) Первым делом необходимо собрать кросс-toolchain (набор для кросс-компиляции)
под MIPS32_R2 CPU, состоящий из пакетов binutils-2.21.1, gcc-447, uclibc-0.9.33.2.
под MIPS32_R2 CPU, состоящий из пакетов binutils-2.24, gcc-447, uclibc-0.9.33.2.
Перейти в директорию toolchain-rt3883 и выполнить скрипт сборки. Сборка
кросс-toolchain занимает от 10 до минут до нескольких часов, в зависимости
от типа CPU хоста. Если кросс-toolchain уже собран, этот пункт пропускается.
@@ -17,15 +17,9 @@
(*.trx) будет находиться в директории images.
ВНИМАНИЕ!
После сборки прошивки убедитесь что размер файла образа прошивки (*.trx) не превышает
размер 7995392 байт!!! Где 8060928 - максимальный размер пространства под прошивку в
NOR флеше RT-N56U, за минусом 65536 байт - размер раздела Storage.
* ПРИМЕЧАНИЕ *
Для сборки прошивки из под Linux дистрибутива Debian Squeeze требуются пакеты:
Для сборки прошивки из под Linux дистрибутива Debian 'wheezy' требуются пакеты:
- build-essential
- gawk
- sudo
@@ -46,5 +40,5 @@ NOR флеше RT-N56U, за минусом 65536 байт - размер раз
-
31.03.2013
20.04.2015
Padavan

View File

@@ -4,9 +4,9 @@ DIR=`pwd`
. "$DIR/versions.inc"
KERNELVER="3.0.x"
if [ "$1" = "--kernel-3_4" ] ; then
KERNELVER="3.4.x"
KERNELVER="3.4.x"
if [ "$1" = "--kernel-3_0" ] ; then
KERNELVER="3.0.x"
fi
DO_UNPACK=YES
@@ -37,38 +37,44 @@ export PREFIX="$DIR/$ID_TOOLCHAIN"
export PATH="${PATH}:$PREFIX/bin:$PREFIX/lib"
export CC=gcc
##################################TUNE FOR CURRENT VERSION GCC BUILD####################################
##################################TUNE FOR CURRENT VERSION HOST GCC BUILD###############################
HOSTCFLAGS="-O2 -Wno-pointer-sign -Wno-trigraphs"
HOSTGCCVER=`gcc --version | grep "gcc" | awk {' print $3 '} | cut -f -2 -d .`
HOSTGCCVER=`gcc --version | grep "gcc" | awk {' print $3 '} | cut -f -2 -d '.'`
echo "Host GCC version=$HOSTGCCVER"
if [ "$HOSTGCCVER" != "4.3" ] && [ "$HOSTGCCVER" != "4.4" ]; then
HOSTCFLAGS="$HOSTCFLAGS -Wno-format-security"
if [ "$HOSTGCCVER" != "4.5" ]; then
HOSTCFLAGS="$HOSTCFLAGS -Wno-unused-but-set-variable -Wno-sizeof-pointer-memaccess"
HOSTCFLAGS="$HOSTCFLAGS -fno-delete-null-pointer-checks"
fi
if [ "$HOSTGCCVER" = "4.8" ] || [ "$HOSTGCCVER" = "4.9" ]; then
HOSTCFLAGS="$HOSTCFLAGS -fno-aggressive-loop-optimizations -fno-tree-slsr -fno-var-tracking-assignments"
fi
fi
export CFLAGS="$HOSTCFLAGS"
##################################TUNE FOR CURRENT VERSION TARGET GCC BUILD#############################
GCCMJ=`echo $GCCVER | cut -f -2 -d '.'`
echo "Target GCC version=$GCCMJ"
EXT_OPT="--disable-sanity-checks --disable-werror"
EXT_OPT="$EXT_OPT --disable-lto --enable-ld=yes --enable-gold=no"
if [ "$GCCVER" = "4.6.4" ] || [ "$GCCVER" = "4.7.4" ] || [ "$GCCVER" = "4.8.3" ]; then
if [ "$GCCMJ" = "4.6" ] || [ "$GCCMJ" = "4.7" ] || [ "$GCCMJ" = "4.8" ] || [ "$GCCMJ" = "4.9" ]; then
EXT_OPT="$EXT_OPT --disable-biendian --disable-softfloat"
EXT_OPT="$EXT_OPT --disable-libquadmath --disable-libquadmath-support"
fi
if [ "$GCCVER" = "4.8.3" ]; then
if [ "$GCCMJ" = "4.8" ] || [ "$GCCMJ" = "4.9" ]; then
EXT_OPT="$EXT_OPT --disable-libatomic --with-pic"
fi
#####################################CHECK TLS SUPPORT FOR UCLIBC#######################################
UCLIBCM=`echo $UCLIBCVER | cut -f3 -d '.' `
UCLIBCMJ=`echo $UCLIBCVER | cut -f3 -d '.' `
TLS_OPT="--disable-tls --disable-threads"
if [ $UCLIBCM -ge 32 ] ; then
eval `grep \^UCLIBC_HAS_TLS= "$TARGET_DIR/${ID_UCLIBC}.config"`
[ "$UCLIBC_HAS_TLS" = "y" ] && TLS_OPT="--enable-tls --enable-threads=posix"
fi
eval `grep \^UCLIBC_HAS_TLS= "$TARGET_DIR/${ID_UCLIBC}.config"`
[ "$UCLIBC_HAS_TLS" = "y" ] && TLS_OPT="--enable-tls --enable-threads=posix"
#########################################################################################################
@@ -81,9 +87,6 @@ if [ "$DO_UNPACK" = "YES" ]; then
echo "=================EXTRACT-KERNEL-HEADERS================="
rm -rf include
tar xjf kernel-headers-${KERNELVER}.tar.bz2
if [ $UCLIBCM -le 28 ] ; then
tar xjf uClibc-$UCLIBCVER-headers.tar.bz2
fi
echo "====================EXTRACT-BINUTILS===================="
rm -rf $ID_BINUTILS
tar xjf $ID_BINUTILS.tar.bz2
@@ -95,19 +98,19 @@ if [ "$DO_UNPACK" = "YES" ]; then
tar xjf $ID_GCC.tar.bz2
echo "===================PATCHING-BINUTILS===================="
cd $ID_BINUTILS
for i in `ls ../patches/${ID_BINUTILS}*.patch 2>/dev/null` ; do
for i in `ls ../patches/${ID_BINUTILS}/*.patch 2>/dev/null` ; do
[ -f ${i} ] && patch -p1 < ${i}
done
cd ..
echo "=====================PATCHING-GCC======================="
cd $ID_GCC
for i in `ls ../patches/${ID_GCC}*.patch 2>/dev/null` ; do
for i in `ls ../patches/${ID_GCC}/*.patch 2>/dev/null` ; do
[ -f ${i} ] && patch -p1 < ${i}
done
cd ..
echo "====================PATCHING-UCLIBC====================="
cd $ID_UCLIBC
for i in `ls ../patches/${ID_UCLIBC}*.patch 2>/dev/null` ; do
for i in `ls ../patches/${ID_UCLIBC}/*.patch 2>/dev/null` ; do
[ -f ${i} ] && patch -p1 < ${i}
done
cd ..
@@ -118,10 +121,8 @@ if [ "$DO_HEADERS" = "YES" ]; then
rm -rf "$PREFIX/include"
rm -rf "$PREFIX/usr/include"
cp -rf "$TARGET_DIR/include" "$PREFIX/include"
if [ $UCLIBCM -gt 28 ] ; then
cp -fv ${ID_UCLIBC}.config $ID_UCLIBC/.config
make -C $ID_UCLIBC install_headers
fi
mkdir -p "$PREFIX/usr"
ln -sf ../include "$PREFIX/usr/include"
fi
@@ -179,7 +180,7 @@ if [ "$DO_GCCCPP" = "YES" ]; then
fi
# sanity
if [ "$GCCVER" = "4.4.7" ] ; then
if [ "$GCCMJ" = "4.4" ] ; then
cp -rf "$PREFIX/man" "$PREFIX/share" && rm -rf "$PREFIX/man"
cp -rf "$PREFIX/info" "$PREFIX/share" && rm -rf "$PREFIX/info"
fi

View File

@@ -0,0 +1,3 @@
#!/bin/sh
./build_toolchain --kernel-3_0

View File

@@ -4,14 +4,14 @@ DIR=`pwd`
. "$DIR/versions.inc"
KERNELVER="3.0.x"
if [ "$1" = "--kernel-3_4" ] ; then
KERNELVER="3.4.x"
fi
TARGET="mipsel-linux-uclibc"
TARGET_DIR="$DIR/src/$TARGET-toolchain"
KERNELVER="3.4.x"
if [ "$1" = "--kernel-3_0" ] ; then
KERNELVER="3.0.x"
fi
ID_BINUTILS="binutils-$BINUTILSVER"
ID_GCC="gcc-$GCCVER"
ID_UCLIBC="uClibc-$UCLIBCVER"

View File

@@ -0,0 +1,3 @@
#!/bin/sh
./clean_toolchain --kernel-3_0

View File

@@ -0,0 +1,3 @@
#!/bin/sh
./clean_toolchain --kernel-3_4

View File

@@ -1,16 +1,22 @@
* Ralink RT3883/3662 CROSS-TOOLCHAIN BUILD INSTRUCTION *
* CROSS-TOOLCHAIN BUILD INSTRUCTION *
To build the cross-toolchain, you need Linux environment. Debian squeeze 6.0.7
and Ubuntu 10.04 distros has been tested.
The cross-toolchain is builded to CPU with arch MIPS32_R2 LE:
- Ralink RT3883/RT3662 (MIPS 74Kc)
- MediaTek MT7620 (MIPS 24KEc)
- MediaTek MT7621 (MIPS 1004Kc)
To build the cross-toolchain, you need Linux environment. Debian 'wheezy' 7.8.0
is recommended.
Just run build script "build_toolchain" and wait for the build process complete.
The "build_toolchain" script is intended to build cross-toolchain for Linux
kernel 3.0.x. Target directory is "toolchain-3.0.x".
The "build_toolchain_3.4.x" script is intended to build cross-toolchain for Linux
kernel 3.4.x. Target directory is "toolchain-3.4.x".
The "build_toolchain_3.0.x" script is intended to build cross-toolchain for Linux
kernel 3.0.x. Target directory is "toolchain-3.0.x". Linux kernel 3.0.x used only
for ASUS RT-N65U board (iNIC_mii.ko is pre-compiled as blob w/o source code).
* CROSS-TOOLCHAIN PACKAGES *
@@ -21,7 +27,7 @@ uClibc-0.9.33.2 + upstream patches
* NOTE *
To build the cross-toolchain under Debian squeeze you need the packages:
To build the cross-toolchain under Debian 'wheezy' you need the packages:
- build-essential
- gawk
- sudo
@@ -41,5 +47,5 @@ To build the cross-toolchain under Debian squeeze you need the packages:
-
03/12/2014
04/20/2015
Padavan

View File

@@ -1,19 +1,25 @@
* ИНСТРУКЦИЯ ПО СБОРКЕ КРОСС-TOOLCHAIN для CPU Ralink RT3883/3662 (MIPS-74Kc) *
* ИНСТРУКЦИЯ ПО СБОРКЕ КРОСС-TOOLCHAIN *
Кросс-toolchain собирается под CPU архитектуры MIPS32_R2 LE:
- Ralink RT3883/RT3662 (MIPS 74Kc)
- MediaTek MT7620 (MIPS 24KEc)
- MediaTek MT7621 (MIPS 1004Kc)
Для сборки кросс-toolchain требуется Linux окружение 32 или 64 бита. Сборка
кросс-toolchain протестирована на Linux дистрибутивах Debian squeeze 6.0.7 и
Ubuntu 10.04.
кросс-toolchain протестирована на Linux дистрибутиве Debian 'wheezy' 7.8.0.
Для сборки кросс-toolchain необходимо выполнить скрипт "build_toolchain"
и дождаться окончания процедуры сборки. Сборка занимает от 10 минут до
нескольких часов, в зависимости от типа CPU хоста.
Скрипт "build_toolchain" выполнит сборку кросс-toolchain для ядра Linux 3.0.x.
Собранный кросс-toolchain будет находится в директории "toolchain-3.0.x".
Скрипт "build_toolchain_3.4.x" выполнит сборку кросс-toolchain для ядра Linux 3.4.x.
Скрипт "build_toolchain" выполнит сборку кросс-toolchain для ядра Linux 3.4.x.
Собранный кросс-toolchain будет находится в директории "toolchain-3.4.x".
Скрипт "build_toolchain_3.0.x" выполнит сборку кросс-toolchain для ядра Linux 3.0.x.
Собранный кросс-toolchain будет находится в директории "toolchain-3.0.x". Ядро
Linux 3.0.x используется только для модели ASUS RT-N65U ввиду наличия бинарного
драйвера iNIC_mii.ko без исходных кодов.
* КОМПОНЕНТЫ КРОСС-TOOLCHAIN *
@@ -24,7 +30,7 @@ uClibc-0.9.33.2 + upstream патчи
* ПРИМЕЧАНИЕ *
Для сборки кросс-toolchain из под Linux дистрибутива Debian Squeeze требуются пакеты:
Для сборки кросс-toolchain из под Linux дистрибутива Debian 'wheezy' требуются пакеты:
- build-essential
- gawk
- sudo
@@ -43,5 +49,5 @@ uClibc-0.9.33.2 + upstream патчи
-
12.03.2014
20.04.2015
Padavan

View File

@@ -1,6 +1,6 @@
--- a/gcc/Makefile.in
+++ b/gcc/Makefile.in
@@ -4327,18 +4327,10 @@ doc/gcc.info: $(TEXI_GCC_FILES)
@@ -3866,18 +3866,10 @@
doc/gccint.info: $(TEXI_GCCINT_FILES)
doc/cppinternals.info: $(TEXI_CPPINT_FILES)

View File

@@ -1,8 +1,8 @@
diff -uB a/libstdc++-v3/include/Makefile.am b/libstdc++-v3/include/Makefile.am
--- a/libstdc++-v3/include/Makefile.am
+++ b/libstdc++-v3/include/Makefile.am
@@ -831,8 +831,10 @@
PCHFLAGS=-Winvalid-pch -x c++-header $(CXXFLAGS)
@@ -853,8 +853,10 @@
PCHFLAGS=-x c++-header $(CXXFLAGS)
if GLIBCXX_BUILD_PCH
pch_build = ${pch_output}
+pch_install = install-pch
@@ -12,7 +12,7 @@ diff -uB a/libstdc++-v3/include/Makefile.am b/libstdc++-v3/include/Makefile.am
endif
# List of all timestamp files. By keeping only one copy of this list, both
@@ -1101,7 +1103,7 @@
@@ -1123,7 +1125,7 @@
# the rest are taken from the original source tree.
if GLIBCXX_HOSTED
@@ -21,7 +21,7 @@ diff -uB a/libstdc++-v3/include/Makefile.am b/libstdc++-v3/include/Makefile.am
else
install-data-local: install-freestanding-headers
endif
@@ -1194,6 +1196,16 @@
@@ -1218,6 +1220,16 @@
${thread_host_headers}; do \
$(INSTALL_DATA) $${file} $(DESTDIR)${host_installdir}; done
@@ -41,8 +41,8 @@ diff -uB a/libstdc++-v3/include/Makefile.am b/libstdc++-v3/include/Makefile.am
diff -uB a/libstdc++-v3/include/Makefile.in b/libstdc++-v3/include/Makefile.in
--- a/libstdc++-v3/include/Makefile.in
+++ b/libstdc++-v3/include/Makefile.in
@@ -1062,6 +1062,8 @@
PCHFLAGS = -Winvalid-pch -x c++-header $(CXXFLAGS)
@@ -1099,6 +1099,8 @@
PCHFLAGS = -x c++-header $(CXXFLAGS)
@GLIBCXX_BUILD_PCH_FALSE@pch_build =
@GLIBCXX_BUILD_PCH_TRUE@pch_build = ${pch_output}
+@GLIBCXX_BUILD_PCH_FALSE@pch_install =
@@ -50,7 +50,7 @@ diff -uB a/libstdc++-v3/include/Makefile.in b/libstdc++-v3/include/Makefile.in
# List of all timestamp files. By keeping only one copy of this list, both
# CLEANFILES and all-local are kept up-to-date.
@@ -1459,7 +1461,7 @@
@@ -1526,7 +1528,7 @@
# host_headers_extra are taken out of the build tree staging area;
# the rest are taken from the original source tree.
@@ -59,7 +59,7 @@ diff -uB a/libstdc++-v3/include/Makefile.in b/libstdc++-v3/include/Makefile.in
@GLIBCXX_HOSTED_FALSE@install-data-local: install-freestanding-headers
# This is a subset of the full install-headers rule. We only need <cstddef>,
@@ -1550,6 +1552,16 @@
@@ -1619,6 +1621,16 @@
${thread_host_headers}; do \
$(INSTALL_DATA) $${file} $(DESTDIR)${host_installdir}; done

View File

@@ -239,7 +239,7 @@
@item -Wstack-protector
@opindex Wstack-protector
@opindex Wno-stack-protector
@@ -5720,7 +5736,7 @@ so, the first branch is redirected to ei
@@ -5721,7 +5737,7 @@ so, the first branch is redirected to ei
second branch or a point immediately following it, depending on whether
the condition is known to be true or false.
@@ -248,7 +248,7 @@
@item -fsplit-wide-types
@opindex fsplit-wide-types
@@ -5865,7 +5881,7 @@ safely dereference null pointers. Use
@@ -5866,7 +5882,7 @@ safely dereference null pointers. Use
@option{-fno-delete-null-pointer-checks} to disable this optimization
for programs which depend on that behavior.

View File

@@ -4,9 +4,9 @@ http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43081
--- trunk/gcc/cp/ChangeLog 2010/03/20 17:45:37 157596
+++ trunk/gcc/cp/ChangeLog 2010/03/20 18:01:18 157597
@@ -1,6 +1,12 @@
PR c++/35335
* error.c (dump_expr): Handle EXPR_STMT like BIND_EXPR.
@@ -213,6 +213,12 @@
* cp-tree.h (current_class_ptr): Give NULL even when cfun
has NULL cfun->language.
+2010-03-20 Simon Martin <simartin@users.sourceforge.net>
+
@@ -16,12 +16,12 @@ http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43081
+
2009-11-13 Jason Merrill <jason@redhat.com>
PR c++/21008, DR 515
PR c++/27425
--- trunk/gcc/cp/decl2.c 2010/03/20 17:45:37 157596
+++ trunk/gcc/cp/decl2.c 2010/03/20 18:01:18 157597
@@ -908,8 +908,13 @@
If we get here, it must be a pure specifier for a method. */
if (TREE_CODE (TREE_TYPE (value)) == METHOD_TYPE)
@@ -864,8 +864,13 @@
}
else if (TREE_CODE (TREE_TYPE (value)) == METHOD_TYPE)
{
- gcc_assert (error_operand_p (init) || integer_zerop (init));
- DECL_PURE_VIRTUAL_P (value) = 1;
@@ -37,7 +37,7 @@ http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43081
{
--- trunk/gcc/testsuite/ChangeLog 2010/03/20 17:45:37 157596
+++ trunk/gcc/testsuite/ChangeLog 2010/03/20 18:01:18 157597
@@ -108,6 +108,12 @@
@@ -2013,6 +2013,12 @@
* gcc.target/powerpc/ppc-sdata-1.c: Require nonpic.
* gcc.target/powerpc/ppc-sdata-2.c: Likewise.

View File

@@ -4,7 +4,7 @@ http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43884
--- trunk/gcc/ChangeLog 2011/01/22 21:38:39 169135
+++ trunk/gcc/ChangeLog 2011/01/22 21:47:40 169136
@@ -1,6 +1,13 @@
@@ -540,6 +540,13 @@
* reload1.c (choose_reload_regs): Don't look for equivalences for
output reloads of constant loads.
@@ -20,7 +20,7 @@ http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43884
Backport from mainline
--- trunk/gcc/predict.c 2011/01/22 21:38:39 169135
+++ trunk/gcc/predict.c 2011/01/22 21:47:40 169136
@@ -126,7 +126,7 @@ maybe_hot_frequency_p (int freq)
@@ -123,7 +123,7 @@ maybe_hot_frequency_p (int freq)
}
if (profile_status == PROFILE_ABSENT)
return true;

View File

@@ -4,7 +4,7 @@ http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46914
--- gcc-4_5-branch/libstdc++-v3/ChangeLog 2011/02/01 18:15:39 169494
+++ gcc-4_5-branch/libstdc++-v3/ChangeLog 2011/02/01 18:15:56 169495
@@ -1,6 +1,13 @@
@@ -6,6 +6,13 @@
* GCC 4.4.6 released.

View File

@@ -21,7 +21,7 @@
* config/pa/pa.h (REGISTER_MOVE_COST): Increase to 18 cost of
--- trunk/gcc/cfgloopmanip.c 2009/12/02 14:49:11 154913
+++ trunk/gcc/cfgloopmanip.c 2009/12/02 15:22:01 154914
@@ -278,10 +278,9 @@
@@ -279,10 +279,9 @@
edge ae;
basic_block *rem_bbs, *bord_bbs, from, bb;
VEC (basic_block, heap) *dom_bbs;
@@ -33,7 +33,7 @@
if (!can_remove_branch_p (e))
return false;
@@ -342,15 +341,9 @@
@@ -343,15 +342,9 @@
dom_bbs = NULL;
/* Cancel loops contained in the path. */

View File

@@ -23,7 +23,7 @@
* config/sparc/sparc.md (return_internal): Adjust 'length' attribute.
--- trunk/gcc/bb-reorder.c 2010/01/10 21:46:42 155795
+++ trunk/gcc/bb-reorder.c 2010/01/10 23:31:30 155796
@@ -1981,7 +1981,9 @@
@@ -1985,7 +1985,9 @@
{
if (targetm.cannot_modify_jumps_p ())
return false;
@@ -34,7 +34,7 @@
}
@@ -2072,9 +2074,6 @@
@@ -2076,9 +2078,6 @@
|| single_pred_p (single_succ (bb)))
continue;

View File

@@ -4,7 +4,7 @@
--- gcc-4_5-branch/gcc/ChangeLog 2011/04/18 14:01:13 172646
+++ gcc-4_5-branch/gcc/ChangeLog 2011/04/18 14:02:22 172647
@@ -418,6 +418,21 @@
@@ -419,6 +419,21 @@
register, return false if mode isn't a scalar integer mode.
* config/pa/pa64-regs.h (HARD_REGNO_MODE_OK): Likewise.
@@ -28,7 +28,7 @@
Backported from 4.6 branch
--- gcc-4_5-branch/gcc/cfgloopmanip.c 2011/04/18 14:01:13 172646
+++ gcc-4_5-branch/gcc/cfgloopmanip.c 2011/04/18 14:02:22 172647
@@ -174,7 +174,7 @@
@@ -175,7 +175,7 @@
{
sbitmap in_queue;
basic_block *queue, *qtop, *qbeg, *qend;
@@ -37,7 +37,7 @@
edge e;
/* We pass through blocks back-reachable from FROM, testing whether some
@@ -214,12 +214,14 @@
@@ -215,12 +215,14 @@
/* Subloop header, maybe move the loop upward. */
if (!fix_loop_placement (from->loop_father))
continue;
@@ -52,7 +52,7 @@
}
FOR_EACH_EDGE (e, ei, from->succs)
@@ -248,9 +250,12 @@
@@ -249,9 +251,12 @@
&& (nca == base_loop
|| nca != pred->loop_father))
pred = pred->loop_father->header;
@@ -69,7 +69,7 @@
--- gcc-4_5-branch/gcc/fold-const.c 2011/04/18 14:01:13 172646
+++ gcc-4_5-branch/gcc/fold-const.c 2011/04/18 14:02:22 172647
@@ -16074,12 +16074,17 @@ fold_indirect_ref_1 (tree type, tree op0)
@@ -15553,12 +15553,17 @@ fold_indirect_ref_1 (tree type, tree op0)
}
/* *(foo *)&fooarray => fooarray[0] */
else if (TREE_CODE (optype) == ARRAY_TYPE
@@ -87,8 +87,8 @@
+ return NULL_TREE;
return build4 (ARRAY_REF, type, op, min_val, NULL_TREE, NULL_TREE);
}
@@ -16150,7 +16155,9 @@ fold_indirect_ref_1 (tree type, tree op0)
/* *(foo *)&complexfoo => __real__ complexfoo */
@@ -15625,7 +15630,9 @@ fold_indirect_ref_1 (tree type, tree op0)
/* *(foo *)fooarrptr => (*fooarrptr)[0] */
if (TREE_CODE (TREE_TYPE (subtype)) == ARRAY_TYPE
@@ -99,7 +99,7 @@
{
tree type_domain;
tree min_val = size_zero_node;
@@ -16158,6 +16165,9 @@ fold_indirect_ref_1 (tree type, tree op0)
@@ -15633,6 +15640,9 @@ fold_indirect_ref_1 (tree type, tree op0)
type_domain = TYPE_DOMAIN (TREE_TYPE (sub));
if (type_domain && TYPE_MIN_VALUE (type_domain))
min_val = TYPE_MIN_VALUE (type_domain);
@@ -111,7 +111,7 @@
--- gcc-4_5-branch/gcc/testsuite/ChangeLog 2011/04/18 14:01:13 172646
+++ gcc-4_5-branch/gcc/testsuite/ChangeLog 2011/04/18 14:02:22 172647
@@ -251,6 +251,14 @@
@@ -252,6 +252,14 @@
* g++.dg/template/operator11.C: New.

View File

@@ -4,7 +4,7 @@
--- trunk/gcc/ChangeLog 2009/09/26 14:38:38 152202
+++ trunk/gcc/ChangeLog 2009/09/26 16:46:43 152203
@@ -41,6 +41,14 @@
@@ -43,6 +43,14 @@
* config/mips/mips.md (loadgp_newabi_<mode>): Add missing earlyclobber.

Some files were not shown because too many files have changed in this diff Show More