mirror of
https://bitbucket.org/padavan/rt-n56u.git
synced 2025-12-17 18:54:46 +08:00
toolchain: move to dir 'toolchain-mipsel', rearrange patches to dirs, drop gcc-4.8.3
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
3
toolchain-mipsel/build_toolchain_3.0.x
Executable file
3
toolchain-mipsel/build_toolchain_3.0.x
Executable file
@@ -0,0 +1,3 @@
|
||||
#!/bin/sh
|
||||
|
||||
./build_toolchain --kernel-3_0
|
||||
@@ -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"
|
||||
3
toolchain-mipsel/clean_toolchain_3.0.x
Executable file
3
toolchain-mipsel/clean_toolchain_3.0.x
Executable file
@@ -0,0 +1,3 @@
|
||||
#!/bin/sh
|
||||
|
||||
./clean_toolchain --kernel-3_0
|
||||
3
toolchain-mipsel/clean_toolchain_3.4.x
Executable file
3
toolchain-mipsel/clean_toolchain_3.4.x
Executable file
@@ -0,0 +1,3 @@
|
||||
#!/bin/sh
|
||||
|
||||
./clean_toolchain --kernel-3_4
|
||||
@@ -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
|
||||
@@ -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
|
||||
Binary file not shown.
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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;
|
||||
@@ -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.
|
||||
|
||||
@@ -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. */
|
||||
@@ -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;
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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
Reference in New Issue
Block a user