mirror of
https://gcc.gnu.org/git/gcc.git
synced 2025-01-19 10:54:04 +08:00
re PR bootstrap/37739 (bootstrap broken with core gcc > gcc-4.2.x)
PR bootstrap/37739 * config.host: For powerpc*-*-linux* host with 32-bit GCC, use rs6000/x-linux-relax snippet if ld is new enough, otherwise use rs6000/x-linux-O1. * config/rs6000/x-linux-relax: New file. * config/x-cflags-O1: New file. From-SVN: r142833
This commit is contained in:
parent
dd88bc9747
commit
acd08fa87c
@ -1,3 +1,12 @@
|
||||
2008-12-19 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR bootstrap/37739
|
||||
* config.host: For powerpc*-*-linux* host with 32-bit GCC,
|
||||
use rs6000/x-linux-relax snippet if ld is new enough,
|
||||
otherwise use rs6000/x-linux-O1.
|
||||
* config/rs6000/x-linux-relax: New file.
|
||||
* config/x-cflags-O1: New file.
|
||||
|
||||
2008-12-18 Joseph Myers <joseph@codesourcery.com>
|
||||
|
||||
* config/rs6000/rs6000.c (rs6000_generate_compare): Condition
|
||||
|
@ -124,6 +124,27 @@ case ${host} in
|
||||
host_xmake_file="${host_xmake_file} rs6000/x-rs6000"
|
||||
;;
|
||||
esac
|
||||
case ${host} in
|
||||
*-*-linux* )
|
||||
if test "${GCC}:${ac_cv_sizeof_long}" = yes:4; then
|
||||
# On powerpc*-*-linux* use -Wl,--relax to link cc1,
|
||||
# if ld is new enough, otherwise force -O1 in CFLAGS.
|
||||
host_ppc_relax_xmake_file=
|
||||
host_ld_ver=`${CC} -Wl,--version 2>/dev/null | sed 1q`
|
||||
if echo "$host_ld_ver" | grep GNU > /dev/null; then
|
||||
host_ld_date=`echo $host_ld_ver \
|
||||
| sed -n 's,^.*\([2-9][0-9][0-9][0-9]\)[-]*\([01][0-9]\)[-]*\([0-3][0-9]\).*$,\1\2\3,p'`
|
||||
if test 0"$host_ld_date" -gt 20080806; then
|
||||
host_ppc_relax_xmake_file=rs6000/x-linux-relax
|
||||
fi
|
||||
fi
|
||||
if test -z "${host_ppc_relax_xmake_file}"; then
|
||||
host_ppc_relax_xmake_file=x-cflags-O1
|
||||
fi
|
||||
host_xmake_file="${host_xmake_file} ${host_ppc_relax_xmake_file}"
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
|
||||
|
2
gcc/config/rs6000/x-linux-relax
Normal file
2
gcc/config/rs6000/x-linux-relax
Normal file
@ -0,0 +1,2 @@
|
||||
# At -O0 cc1 etc. are too large and -Wl,--relax is needed
|
||||
$(COMPILERS) : override LDFLAGS += -Wl,--relax
|
5
gcc/config/x-cflags-O1
Normal file
5
gcc/config/x-cflags-O1
Normal file
@ -0,0 +1,5 @@
|
||||
# At -O0 cc1 etc. are too large on some targets for successful
|
||||
# link; force building libbackend.a with -O1.
|
||||
ifeq ($(filter-out -O0,$(lastword $(filter -O%,$(CFLAGS)))),)
|
||||
$(OBJS) : override CFLAGS += -O1
|
||||
endif
|
Loading…
Reference in New Issue
Block a user