https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66638
--- Comment #7 from ctice at gcc dot gnu.org --- Author: ctice Date: Fri Apr 8 17:09:09 2016 New Revision: 234832 URL: https://gcc.gnu.org/viewcvs?rev=234832&root=gcc&view=rev Log: Unify changes with Android's GCC 4.9 compiler. Add the following changes from the Android GCC 4.9 compiler (mostly adding fixes for aarch64): Fix mingw build breakage 1) Add missing _GCOV_fopen if !__KERNEL__ 2) Use _fullpath Backport Cortex-A57's machine description support from trunk Adjust generic move costs for aarch64. Backport from trunk Enable C++ exceptions and RTTI by default. Modify LINK_SPEC to pass --fix-cortex-a53-843419 as default Rename libstdc++.so to libgnustl_shared.so when enabling bionic libs. Drop mips64r2 from Android compiler's multilib Merge "Drop mips64r2 from Android compiler's multilib" Adjust several costs for AArch64: Refactor aarch64_address_costs; add cost tables for Cortex-A7; better estimate cost of building a constant; wrap aarch64_rtx_costs to dump verbose output; factor out common MULT cases; det default costs and handle vector modes; cost memory accesses using address costs; better cost logical operations; improve costs for div/mod and sign/zero extend operations; cost comparisons, flag setting operators and IF_THEN_ELSE; cost more Floating point RTX; cost TRUNCATE, SET, SYMBOL_REF, HIGH and LO_SUM; dump a message if we are unable to cost an insn; fix typos in cost data structure. Add several improvements for AArch64 (Backported from GCC 5): (spill code - swap order in shr patterns; spill code - swap order in shl pattern; fix aarch64_rtx_costs of PLUS/MINUS; cost operand 0 in FP compare-with-0.0 case; properly cost FABD pattern; properly handle mvn-register and add EON+shift pattern and cost appropriately). Disable inlining of memcpy for x86 with 'rep movs'. Default to TLS guard for x86 stack-protector. Change gcc BASE-VER from 4.9.x-google to 4.9.x Cherry pick the following fixes from trunk: PR bootstrap/66638, 67954 (svn rev 230894, PR tree-optimization/65447, PR tree-optimization/52563, tree-optimization/62173, PR tree-optimization/48052, PR 64878, PR65048, PR65177, PR65735. Port revision 219584 from linaro/gcc-4_9-branch Fix for arm64 bad code for copysignl. Added: branches/google/gcc-4_9-mobile/gcc/sancov.c branches/google/gcc-4_9-mobile/gcc/testsuite/gcc.dg/sancov/ branches/google/gcc-4_9-mobile/gcc/testsuite/gcc.dg/sancov/asan.c branches/google/gcc-4_9-mobile/gcc/testsuite/gcc.dg/sancov/basic0.c branches/google/gcc-4_9-mobile/gcc/testsuite/gcc.dg/sancov/basic1.c branches/google/gcc-4_9-mobile/gcc/testsuite/gcc.dg/sancov/basic2.c Modified: branches/google/gcc-4_9-mobile/ChangeLog branches/google/gcc-4_9-mobile/config/futex.m4 branches/google/gcc-4_9-mobile/configure branches/google/gcc-4_9-mobile/configure.ac branches/google/gcc-4_9-mobile/gcc/BASE-VER branches/google/gcc-4_9-mobile/gcc/ChangeLog branches/google/gcc-4_9-mobile/gcc/Makefile.in branches/google/gcc-4_9-mobile/gcc/builtins.def branches/google/gcc-4_9-mobile/gcc/cfghooks.c branches/google/gcc-4_9-mobile/gcc/cfgloop.c branches/google/gcc-4_9-mobile/gcc/cfgloop.h branches/google/gcc-4_9-mobile/gcc/common.opt branches/google/gcc-4_9-mobile/gcc/config/aarch64/aarch64-cores.def branches/google/gcc-4_9-mobile/gcc/config/aarch64/aarch64-elf-raw.h branches/google/gcc-4_9-mobile/gcc/config/aarch64/aarch64-linux.h branches/google/gcc-4_9-mobile/gcc/config/aarch64/aarch64-protos.h branches/google/gcc-4_9-mobile/gcc/config/aarch64/aarch64-tune.md branches/google/gcc-4_9-mobile/gcc/config/aarch64/aarch64.c branches/google/gcc-4_9-mobile/gcc/config/aarch64/aarch64.md branches/google/gcc-4_9-mobile/gcc/config/aarch64/aarch64.opt branches/google/gcc-4_9-mobile/gcc/config/i386/i386.c branches/google/gcc-4_9-mobile/gcc/config/linux-android.h branches/google/gcc-4_9-mobile/gcc/config/mips/t-linux-android64 branches/google/gcc-4_9-mobile/gcc/configure branches/google/gcc-4_9-mobile/gcc/doc/invoke.texi branches/google/gcc-4_9-mobile/gcc/except.c branches/google/gcc-4_9-mobile/gcc/expmed.c branches/google/gcc-4_9-mobile/gcc/gcov-io.h branches/google/gcc-4_9-mobile/gcc/loop-init.c branches/google/gcc-4_9-mobile/gcc/lra-constraints.c branches/google/gcc-4_9-mobile/gcc/omp-low.c branches/google/gcc-4_9-mobile/gcc/params.def branches/google/gcc-4_9-mobile/gcc/passes.def branches/google/gcc-4_9-mobile/gcc/sanitizer.def branches/google/gcc-4_9-mobile/gcc/testsuite/ChangeLog branches/google/gcc-4_9-mobile/gcc/testsuite/gcc.dg/tree-ssa/scev-3.c branches/google/gcc-4_9-mobile/gcc/testsuite/gcc.dg/tree-ssa/scev-4.c branches/google/gcc-4_9-mobile/gcc/tree-cfg.c branches/google/gcc-4_9-mobile/gcc/tree-cfg.h branches/google/gcc-4_9-mobile/gcc/tree-chrec.c branches/google/gcc-4_9-mobile/gcc/tree-chrec.h branches/google/gcc-4_9-mobile/gcc/tree-pass.h branches/google/gcc-4_9-mobile/gcc/tree-scalar-evolution.c branches/google/gcc-4_9-mobile/gcc/tree-scalar-evolution.h branches/google/gcc-4_9-mobile/gcc/tree-ssa-loop-ivopts.c branches/google/gcc-4_9-mobile/gcc/tree-ssa-loop-niter.c branches/google/gcc-4_9-mobile/gcc/tree-ssa-loop-niter.h branches/google/gcc-4_9-mobile/gcc/tree-ssa-threadedge.c branches/google/gcc-4_9-mobile/gcc/tree-ssa-threadupdate.c branches/google/gcc-4_9-mobile/gcc/tree-ssa-threadupdate.h branches/google/gcc-4_9-mobile/libgcc/libgcov-util.c branches/google/gcc-4_9-mobile/libstdc++-v3/Makefile.in branches/google/gcc-4_9-mobile/libstdc++-v3/acinclude.m4 branches/google/gcc-4_9-mobile/libstdc++-v3/configure branches/google/gcc-4_9-mobile/libstdc++-v3/configure.ac branches/google/gcc-4_9-mobile/libstdc++-v3/doc/Makefile.in branches/google/gcc-4_9-mobile/libstdc++-v3/include/Makefile.in branches/google/gcc-4_9-mobile/libstdc++-v3/libsupc++/Makefile.in branches/google/gcc-4_9-mobile/libstdc++-v3/po/Makefile.in branches/google/gcc-4_9-mobile/libstdc++-v3/python/Makefile.in branches/google/gcc-4_9-mobile/libstdc++-v3/src/Makefile.am branches/google/gcc-4_9-mobile/libstdc++-v3/src/Makefile.in branches/google/gcc-4_9-mobile/libstdc++-v3/src/c++11/Makefile.in branches/google/gcc-4_9-mobile/libstdc++-v3/src/c++98/Makefile.in branches/google/gcc-4_9-mobile/libstdc++-v3/testsuite/Makefile.in