Yvan Roux [Fri, 14 Nov 2014 15:35:24 +0000 (14 15:35 +0000)]
Make Linaro GCC 4.9-2014.11.
From-SVN: r217563
Yvan Roux [Fri, 14 Nov 2014 09:07:17 +0000 (14 09:07 +0000)]
Add Linaro release macros (Linaro only patch.)
2014-11-14 Yvan Roux <yvan.roux@linaro.org>
Add Linaro release macros (Linaro only patch.)
* Makefile.in (LINAROVER, LINAROVER_C, LINAROVER_S): Define.
(CFLAGS-cppbuiltin.o): Add LINAROVER macro definition.
(cppbuiltin.o): Depend on $(LINAROVER).
* cppbuiltin.c (parse_linarover): New.
(define_GNUC__): Define __LINARO_RELEASE__ and __LINARO_SPIN__ macros.
From-SVN: r217544
Yvan Roux [Thu, 13 Nov 2014 14:00:48 +0000 (13 14:00 +0000)]
backport: [multiple changes]
2014-11-13 Yvan Roux <yvan.roux@linaro.org>
Backport from trunk r216229, r216230.
2014-10-14 Andrew Pinski <apinski@cavium.com>
* explow.c (convert_memory_address_addr_space): Rename to ...
(convert_memory_address_addr_space_1): This. Add in_const argument.
Inside a CONST RTL, permute the conversion and addition of constant
for zero and sign extended pointers.
(convert_memory_address_addr_space): New function.
2014-10-14 Andrew Pinski <apinski@cavium.com>
Revert:
2011-08-19 H.J. Lu <hongjiu.lu@intel.com>
PR middle-end/49721
* explow.c (convert_memory_address_addr_space): Also permute the
conversion and addition of constant for zero-extend.
From-SVN: r217497
Christophe Lyon [Mon, 3 Nov 2014 15:16:44 +0000 (3 16:16 +0100)]
Merge branches/gcc-4_9-branch rev 216979
From-SVN: r217045
Kyrylo Tkachov [Fri, 31 Oct 2014 14:32:34 +0000 (31 14:32 +0000)]
[AArch64] LINK_SPEC changes for Cortex-A53 erratum 835769 workaround
* config/aarch64/aarch64-elf-raw.h (CA53_ERR_835769_SPEC): Define.
(LINK_SPEC): Include CA53_ERR_835769_SPEC.
* config/aarch64/aarch64-linux.h (CA53_ERR_835769_SPEC): Define.
(LINK_SPEC): Include CA53_ERR_835769_SPEC.
From-SVN: r216979
Jakub Jelinek [Fri, 31 Oct 2014 11:33:13 +0000 (31 12:33 +0100)]
re PR sanitizer/63697 (-fsanitize=undefined doesn't detect some subtraction overflows)
PR sanitizer/63697
* tree-vrp.c (simplify_internal_call_using_ranges): For subcode ==
MINUS_EXPR, check overflow on vr0.min - vr1.max and vr0.max - vr1.min
instead of vr0.min - vr1.min and vr0.max - vr1.max.
* c-c++-common/ubsan/overflow-sub-3.c: New test.
From-SVN: r216966
GCC Administrator [Fri, 31 Oct 2014 00:16:31 +0000 (31 00:16 +0000)]
Daily bump.
From-SVN: r216947
David Edelsohn [Thu, 30 Oct 2014 15:00:54 +0000 (30 11:00 -0400)]
backport: configure.host (aix4.3+, 5+): Do not use -G in link command.
Backported from mainline.
2014-10-30 David Edelsohn <dje.gcc@gmail.com>
* configure.host (aix4.3+, 5+): Do not use -G in link command.
From-SVN: r216937
Georg-Johann Lay [Thu, 30 Oct 2014 13:31:50 +0000 (30 13:31 +0000)]
re PR target/63633 ([avr] internal compiler error: unrecognizable insn with mult insns)
gcc/
PR63633
* config/avr/avr-protos.h (regmask): New inline function.
(avr_fix_inputs, avr_emit3_fix_outputs): New protos.
* config/avr/avr.c (avr_fix_operands, avr_move_fixed_operands)
(avr_fix_inputs, avr_emit3_fix_outputs): New functions.
* config/avr/avr-fixed.md (mulqq3_nomul, muluqq3_nomul)
(mul<ALL2QA>3, mul<ALL4A>3, <usdiv><ALL1Q>3, <usdiv><ALL2QA>3)
(<usdiv><ALL4A>3, round<ALL124QA>3): Fix input operands.
* config/avr/avr-dimode.md (add<ALL8>3, sub<ALL8>3)
(<ss_addsub><ALL8S>3, <us_addsub><ALL8U>3, cbranch<ALL8>4)
(<di_shifts><ALL8>3, <any_extend>mulsidi3): Fix input operands.
* config/avr/avr.md (mulqi3_call, mulhi3_call, mulsi3, mulpsi3)
(mulu<QIHI>si3, muls<QIHI>si3, mulohisi3, <any_extend>mulhisi3)
(usmulhisi3, <any_extend>mulhi3_highpart, mulsqipsi3)
(fmul, fmuls, fmulsu): Fix operands. Turn insn into expander as
needed.
gcc/testsuite/
PR63633
* gcc.target/avr/torture/pr63633-ice-mult.c: New test.
From-SVN: r216934
Jakub Jelinek [Thu, 30 Oct 2014 09:56:05 +0000 (30 10:56 +0100)]
BASE-VER: Set to 4.9.3.
* BASE-VER: Set to 4.9.3.
* DEV-PHASE: Set to prerelease.
From-SVN: r216911
GCC Administrator [Thu, 30 Oct 2014 08:27:26 +0000 (30 08:27 +0000)]
Mark as release
From-SVN: r216909
GCC Administrator [Thu, 30 Oct 2014 08:27:22 +0000 (30 08:27 +0000)]
Mark ChangeLog
From-SVN: r216908
GCC Administrator [Thu, 30 Oct 2014 08:27:18 +0000 (30 08:27 +0000)]
Mark ChangeLog
From-SVN: r216907
GCC Administrator [Thu, 30 Oct 2014 08:27:14 +0000 (30 08:27 +0000)]
Mark ChangeLog
From-SVN: r216906
GCC Administrator [Thu, 30 Oct 2014 08:27:09 +0000 (30 08:27 +0000)]
Mark ChangeLog
From-SVN: r216905
GCC Administrator [Thu, 30 Oct 2014 08:27:05 +0000 (30 08:27 +0000)]
Mark ChangeLog
From-SVN: r216904
GCC Administrator [Thu, 30 Oct 2014 08:27:01 +0000 (30 08:27 +0000)]
Mark ChangeLog
From-SVN: r216903
GCC Administrator [Thu, 30 Oct 2014 08:26:57 +0000 (30 08:26 +0000)]
Mark ChangeLog
From-SVN: r216902
GCC Administrator [Thu, 30 Oct 2014 08:26:52 +0000 (30 08:26 +0000)]
Mark ChangeLog
From-SVN: r216901
GCC Administrator [Thu, 30 Oct 2014 08:26:48 +0000 (30 08:26 +0000)]
Mark ChangeLog
From-SVN: r216900
GCC Administrator [Thu, 30 Oct 2014 08:26:43 +0000 (30 08:26 +0000)]
Mark ChangeLog
From-SVN: r216899
GCC Administrator [Thu, 30 Oct 2014 08:26:39 +0000 (30 08:26 +0000)]
Mark ChangeLog
From-SVN: r216898
GCC Administrator [Thu, 30 Oct 2014 08:26:34 +0000 (30 08:26 +0000)]
Mark ChangeLog
From-SVN: r216897
GCC Administrator [Thu, 30 Oct 2014 08:26:30 +0000 (30 08:26 +0000)]
Mark ChangeLog
From-SVN: r216896
GCC Administrator [Thu, 30 Oct 2014 08:26:26 +0000 (30 08:26 +0000)]
Mark ChangeLog
From-SVN: r216895
GCC Administrator [Thu, 30 Oct 2014 08:26:22 +0000 (30 08:26 +0000)]
Mark ChangeLog
From-SVN: r216894
GCC Administrator [Thu, 30 Oct 2014 08:26:18 +0000 (30 08:26 +0000)]
Mark ChangeLog
From-SVN: r216893
GCC Administrator [Thu, 30 Oct 2014 08:26:13 +0000 (30 08:26 +0000)]
Mark ChangeLog
From-SVN: r216892
GCC Administrator [Thu, 30 Oct 2014 08:26:09 +0000 (30 08:26 +0000)]
Mark ChangeLog
From-SVN: r216891
GCC Administrator [Thu, 30 Oct 2014 08:26:04 +0000 (30 08:26 +0000)]
Mark ChangeLog
From-SVN: r216890
GCC Administrator [Thu, 30 Oct 2014 08:25:59 +0000 (30 08:25 +0000)]
Mark ChangeLog
From-SVN: r216889
GCC Administrator [Thu, 30 Oct 2014 08:25:55 +0000 (30 08:25 +0000)]
Mark ChangeLog
From-SVN: r216888
GCC Administrator [Thu, 30 Oct 2014 08:25:51 +0000 (30 08:25 +0000)]
Mark ChangeLog
From-SVN: r216887
GCC Administrator [Thu, 30 Oct 2014 08:25:47 +0000 (30 08:25 +0000)]
Mark ChangeLog
From-SVN: r216886
GCC Administrator [Thu, 30 Oct 2014 08:25:43 +0000 (30 08:25 +0000)]
Mark ChangeLog
From-SVN: r216885
GCC Administrator [Thu, 30 Oct 2014 08:25:38 +0000 (30 08:25 +0000)]
Mark ChangeLog
From-SVN: r216884
GCC Administrator [Thu, 30 Oct 2014 08:25:34 +0000 (30 08:25 +0000)]
Mark ChangeLog
From-SVN: r216883
GCC Administrator [Thu, 30 Oct 2014 08:25:26 +0000 (30 08:25 +0000)]
Mark ChangeLog
From-SVN: r216882
GCC Administrator [Thu, 30 Oct 2014 08:25:22 +0000 (30 08:25 +0000)]
Mark ChangeLog
From-SVN: r216881
GCC Administrator [Thu, 30 Oct 2014 08:25:18 +0000 (30 08:25 +0000)]
Mark ChangeLog
From-SVN: r216880
GCC Administrator [Thu, 30 Oct 2014 08:25:14 +0000 (30 08:25 +0000)]
Mark ChangeLog
From-SVN: r216879
GCC Administrator [Thu, 30 Oct 2014 08:25:09 +0000 (30 08:25 +0000)]
Mark ChangeLog
From-SVN: r216878
GCC Administrator [Thu, 30 Oct 2014 08:25:04 +0000 (30 08:25 +0000)]
Mark ChangeLog
From-SVN: r216877
GCC Administrator [Thu, 30 Oct 2014 08:24:59 +0000 (30 08:24 +0000)]
Mark ChangeLog
From-SVN: r216876
GCC Administrator [Thu, 30 Oct 2014 08:24:55 +0000 (30 08:24 +0000)]
Mark ChangeLog
From-SVN: r216875
GCC Administrator [Thu, 30 Oct 2014 08:24:50 +0000 (30 08:24 +0000)]
Mark ChangeLog
From-SVN: r216874
GCC Administrator [Thu, 30 Oct 2014 08:24:46 +0000 (30 08:24 +0000)]
Mark ChangeLog
From-SVN: r216873
GCC Administrator [Thu, 30 Oct 2014 08:24:42 +0000 (30 08:24 +0000)]
Mark ChangeLog
From-SVN: r216872
GCC Administrator [Thu, 30 Oct 2014 08:24:38 +0000 (30 08:24 +0000)]
Mark ChangeLog
From-SVN: r216871
GCC Administrator [Thu, 30 Oct 2014 08:24:32 +0000 (30 08:24 +0000)]
Mark ChangeLog
From-SVN: r216870
GCC Administrator [Thu, 30 Oct 2014 08:24:28 +0000 (30 08:24 +0000)]
Mark ChangeLog
From-SVN: r216869
GCC Administrator [Thu, 30 Oct 2014 08:24:24 +0000 (30 08:24 +0000)]
Mark ChangeLog
From-SVN: r216868
GCC Administrator [Thu, 30 Oct 2014 08:24:16 +0000 (30 08:24 +0000)]
Mark ChangeLog
From-SVN: r216867
GCC Administrator [Thu, 30 Oct 2014 08:24:12 +0000 (30 08:24 +0000)]
Mark ChangeLog
From-SVN: r216866
GCC Administrator [Thu, 30 Oct 2014 08:24:07 +0000 (30 08:24 +0000)]
Mark ChangeLog
From-SVN: r216865
GCC Administrator [Thu, 30 Oct 2014 08:24:03 +0000 (30 08:24 +0000)]
Mark ChangeLog
From-SVN: r216864
GCC Administrator [Thu, 30 Oct 2014 08:23:58 +0000 (30 08:23 +0000)]
Mark ChangeLog
From-SVN: r216863
GCC Administrator [Thu, 30 Oct 2014 08:23:54 +0000 (30 08:23 +0000)]
Mark ChangeLog
From-SVN: r216862
GCC Administrator [Thu, 30 Oct 2014 08:23:50 +0000 (30 08:23 +0000)]
Mark ChangeLog
From-SVN: r216861
GCC Administrator [Thu, 30 Oct 2014 08:23:45 +0000 (30 08:23 +0000)]
Mark ChangeLog
From-SVN: r216860
GCC Administrator [Thu, 30 Oct 2014 00:16:20 +0000 (30 00:16 +0000)]
Daily bump.
From-SVN: r216857
Kyrylo Tkachov [Wed, 29 Oct 2014 21:51:53 +0000 (29 21:51 +0000)]
[AArch64] Restore recog state after finding pre-madd instruction
* config/aarch64/aarch64.c (aarch64_madd_needs_nop): Restore
recog state after aarch64_prev_real_insn call.
* gcc.target/aarch64/madd_after_asm_1.c: New test.
From-SVN: r216853
GCC Administrator [Wed, 29 Oct 2014 00:16:21 +0000 (29 00:16 +0000)]
Daily bump.
From-SVN: r216815
Guozhi Wei [Tue, 28 Oct 2014 00:20:13 +0000 (28 00:20 +0000)]
re PR tree-optimization/63530 (GCC generates incorrect aligned store on ARM after the loop is unrolled.)
PR tree-optimization/63530
tree-vect-data-refs.c (vect_create_addr_base_for_vector_ref): Set
pointer alignment according to DR_MISALIGNMENT.
gcc.dg/vect/pr63530.c: New test.
From-SVN: r216770
GCC Administrator [Tue, 28 Oct 2014 00:16:20 +0000 (28 00:16 +0000)]
Daily bump.
From-SVN: r216768
Eric Botcazou [Mon, 27 Oct 2014 10:59:18 +0000 (27 10:59 +0000)]
decl.c (gnat_to_gnu_entity): Remove superfluous computation for the max size.
2014-10-27 Eric Botcazou <ebotcazou@adacore.com>
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Remove
superfluous computation for the max size.
<E_Array_Subtype>: Likewise. Make sure that the max size calculation
does not overflow at compile time.
From-SVN: r216726
GCC Administrator [Mon, 27 Oct 2014 00:16:22 +0000 (27 00:16 +0000)]
Daily bump.
From-SVN: r216722
John David Anglin [Sun, 26 Oct 2014 14:50:46 +0000 (26 14:50 +0000)]
linux-unwind.h (pa32_read_access_ok): New function.
* config/pa/linux-unwind.h (pa32_read_access_ok): New function.
(pa32_fallback_frame_state): Use pa32_read_access_ok to check if
memory read accesses are ok.
From-SVN: r216717
GCC Administrator [Sun, 26 Oct 2014 00:16:19 +0000 (26 00:16 +0000)]
Daily bump.
From-SVN: r216695
GCC Administrator [Sat, 25 Oct 2014 00:16:09 +0000 (25 00:16 +0000)]
Daily bump.
From-SVN: r216685
Yury Gribov [Fri, 24 Oct 2014 20:15:37 +0000 (24 20:15 +0000)]
re PR sanitizer/63638 (internal compiler error: in asan_expand_check_ifn (with -fsanitize=address))
2014-10-25 Yury Gribov <y.gribov@samsung.com>
PR sanitizer/63638
* asan.c (enum asan_check_flags): Fixed ASAN_CHECK_LAST.
* c-c++-common/asan/pr63638.c: New test.
From-SVN: r216677
Yvan Roux [Fri, 24 Oct 2014 11:21:54 +0000 (24 11:21 +0000)]
Bump version number, post release.
From-SVN: r216636
Yvan Roux [Fri, 24 Oct 2014 11:16:21 +0000 (24 11:16 +0000)]
Make Linaro GCC 4.9-2014.10-1.
From-SVN: r216634
Yvan Roux [Fri, 24 Oct 2014 07:50:18 +0000 (24 07:50 +0000)]
Fix broken merge branches/gcc-4_9-branch rev 216130
From-SVN: r216616
Markus Trippelsdorf [Fri, 24 Oct 2014 06:44:48 +0000 (24 06:44 +0000)]
Fix bootstrap/PR63632
r216566 (r216568 for 4.9 branch) added %{fno-lto} to LINK_COMMAND_SPEC.
However the linker doesn't understand -fno-lto and errors out.
This causes an LTO/PGO bootstrap failure, because -fno-lto is used
during STAGEprofile.
Fixed by filtering out -fno-lto in collect2.c.
From-SVN: r216614
GCC Administrator [Fri, 24 Oct 2014 00:16:42 +0000 (24 00:16 +0000)]
Daily bump.
From-SVN: r216608
GCC Administrator [Thu, 23 Oct 2014 00:16:14 +0000 (23 00:16 +0000)]
Daily bump.
From-SVN: r216570
Richard Biener [Wed, 22 Oct 2014 21:42:48 +0000 (22 21:42 +0000)]
re PR lto/63603 (Linking with -fno-lto still invokes LTO)
2014-10-22 Richard Biener <rguenther@suse.de>
Tobias Burnus <burnus@net-b.de>
PR lto/63603
* gcc.c (LINK_COMMAND_SPEC): Add %{fno-lto}.
Co-Authored-By: Tobias Burnus <burnus@net-b.de>
From-SVN: r216568
Georg-Johann Lay [Wed, 22 Oct 2014 10:46:11 +0000 (22 10:46 +0000)]
re PR target/63223 ([avr] Make jumptables work with -Wl,--section-start,.text=)
PR target/63223
* config/avr/lib1funcs.S (__do_global_dtors): Reverse execution
order to first...last.
From-SVN: r216551
GCC Administrator [Wed, 22 Oct 2014 00:16:14 +0000 (22 00:16 +0000)]
Daily bump.
From-SVN: r216537
Jakub Jelinek [Tue, 21 Oct 2014 12:27:25 +0000 (21 14:27 +0200)]
re PR tree-optimization/63563 (ICE: in vectorizable_store, at tree-vect-stmts.c:5106 with -mavx2)
PR tree-optimization/63563
* tree-vect-data-refs.c (vect_analyze_data_ref_accesses): Bail out
if either dra or drb stmts are not normal loads/stores.
* gcc.target/i386/pr63563.c: New test.
From-SVN: r216508
GCC Administrator [Tue, 21 Oct 2014 00:16:16 +0000 (21 00:16 +0000)]
Daily bump.
From-SVN: r216499
Yury Gribov [Mon, 20 Oct 2014 11:04:54 +0000 (20 11:04 +0000)]
backport: misalign-1.c: New test.
2014-10-20 Yury Gribov <y.gribov@samsung.com>
Backported from mainline
2014-05-30 Jakub Jelinek <jakub@redhat.com>
* c-c++-common/asan/misalign-1.c: New test.
* c-c++-common/asan/misalign-2.c: New test.
From-SVN: r216459
Janne Blomqvist [Mon, 20 Oct 2014 08:04:39 +0000 (20 11:04 +0300)]
PR 63589 Fix splitting of PATH in find_addr2line.
2014-10-20 Janne Blomqvist <jb@gcc.gnu.org>
PR libfortran/63589
* configure.ac: Check for strtok_r.
* runtime/main.c (gfstrtok_r): Fallback implementation of
strtok_r.
(find_addr2line): Use strtok_r to split PATH.
* config.h.in: Regenerated.
* configure: Regenerated.
From-SVN: r216450
GCC Administrator [Mon, 20 Oct 2014 00:16:14 +0000 (20 00:16 +0000)]
Daily bump.
From-SVN: r216446
GCC Administrator [Sun, 19 Oct 2014 00:16:14 +0000 (19 00:16 +0000)]
Daily bump.
From-SVN: r216431
François Dumont [Sat, 18 Oct 2014 09:33:28 +0000 (18 09:33 +0000)]
re PR libstdc++/63500 (bug in debug version of std::make_move_iterator?)
2014-10-18 François Dumont <fdumont@gcc.gnu.org>
Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/63500
* include/debug/functions.h (__foreign_iterator_aux2): Do not check for
foreign iterators if input iterators returns rvalue reference.
* testsuite/23_containers/vector/63500.cc: New.
Co-Authored-By: Jonathan Wakely <jwakely@redhat.com>
From-SVN: r216423
GCC Administrator [Sat, 18 Oct 2014 00:16:14 +0000 (18 00:16 +0000)]
Daily bump.
From-SVN: r216418
Jakub Jelinek [Fri, 17 Oct 2014 15:21:34 +0000 (17 17:21 +0200)]
asan.c (instrument_derefs): Allow instrumentation of odd-sized accesses even for -fsanitize=address.
* asan.c (instrument_derefs): Allow instrumentation of odd-sized
accesses even for -fsanitize=address.
(execute_sanopt): Only allow use_calls for -fsanitize=kernel-address.
* c-c++-common/asan/instrument-with-calls-1.c: Add
-fno-sanitize=address -fsanitize=kernel-address to dg-options.
* c-c++-common/asan/instrument-with-calls-2.c: Likewise.
From-SVN: r216408
Jakub Jelinek [Fri, 17 Oct 2014 10:53:36 +0000 (17 12:53 +0200)]
re PR tree-optimization/63302 (Code with 64-bit long long constants is miscompiled on 32-bit host)
PR tree-optimization/63302
* tree-ssa-reassoc.c (optimize_range_tests_xor,
optimize_range_tests_diff): Use !integer_pow2p () instead of
tree_log2 () < 0.
* gcc.c-torture/execute/pr63302.c: New test.
From-SVN: r216392
Yvan Roux [Fri, 17 Oct 2014 10:38:24 +0000 (17 10:38 +0000)]
Bump version number, post release.
From-SVN: r216390
Yvan Roux [Fri, 17 Oct 2014 10:35:01 +0000 (17 10:35 +0000)]
Make Linaro GCC 4.9-2014.10.
From-SVN: r216388
GCC Administrator [Fri, 17 Oct 2014 00:16:11 +0000 (17 00:16 +0000)]
Daily bump.
From-SVN: r216357
Yury Gribov [Thu, 16 Oct 2014 13:55:02 +0000 (16 13:55 +0000)]
Instrument unaligned objects in KASan.
2014-10-16 Yury Gribov <y.gribov@samsung.com>
* asan.c (instrument_derefs): Enable unaligned path for KASan.
From-SVN: r216334
Yury Gribov [Thu, 16 Oct 2014 13:54:21 +0000 (16 13:54 +0000)]
backport: asan.c (asan_finish_file): Disable __asan_init calls for KASan; don't emit empty ctors.
2014-10-16 Yury Gribov <y.gribov@samsung.com>
Backport from mainline
2014-10-03 Yury Gribov <y.gribov@samsung.com>
* asan.c (asan_finish_file): Disable __asan_init calls for KASan;
don't emit empty ctors.
From-SVN: r216333
Yury Gribov [Thu, 16 Oct 2014 13:53:33 +0000 (16 13:53 +0000)]
backport: re PR sanitizer/61897 (sanitizer internal compiler error: in build2_stat, at tree.c:4160)
2014-10-16 Yury Gribov <y.gribov@samsung.com>
Backport from mainline
2014-09-01 Yury Gribov <y.gribov@samsung.com>
PR sanitizer/61897
PR sanitizer/62140
* asan.c (asan_mem_ref_get_end): Handle non-ptroff_t lengths.
(build_check_stmt): Likewise.
(instrument_strlen_call): Likewise.
(asan_expand_check_ifn): Likewise and fix types.
(maybe_cast_to_ptrmode): New function.
* c-c++-common/asan/pr62140-1.c: New test.
* c-c++-common/asan/pr62140-2.c: New test.
From-SVN: r216332
Yury Gribov [Thu, 16 Oct 2014 13:52:45 +0000 (16 13:52 +0000)]
backport: [multiple changes]
2014-10-16 Yury Gribov <y.gribov@samsung.com>
Backport from mainline
2014-08-18 Yury Gribov <y.gribov@samsung.com>
PR sanitizer/62089
* asan.c (instrument_derefs): Fix bitfield check.
* c-c++-common/asan/pr62089.c: New test.
* c-c++-common/asan/bitfield-1.c: New test.
* c-c++-common/asan/bitfield-2.c: New test.
* c-c++-common/asan/bitfield-3.c: New test.
* c-c++-common/asan/bitfield-4.c: New test.
Backport from mainline
2014-08-28 Yury Gribov <y.gribov@samsung.com>
* c-c++-common/asan/pr62089.c: Fix test on 32-bit platforms.
From-SVN: r216331
Yury Gribov [Thu, 16 Oct 2014 13:51:45 +0000 (16 13:51 +0000)]
Move inlining of Asan memory checks to sanopt pass.
Change asan-instrumentation-with-call-threshold to more closely match LLVM.
2014-10-16 Yury Gribov <y.gribov@samsung.com>
Backport from mainline
2014-08-11 Yury Gribov <y.gribov@samsung.com>
* asan.c (asan_check_flags): New enum.
(build_check_stmt_with_calls): Removed function.
(build_check_stmt): Split inlining logic to
asan_expand_check_ifn.
(instrument_derefs): Rename parameter.
(instrument_mem_region_access): Rename parameter.
(instrument_strlen_call): Likewise.
(asan_expand_check_ifn): New function.
(asan_instrument): Remove old code.
(pass_sanopt::execute): Change handling of
asan-instrumentation-with-call-threshold.
(asan_clear_shadow): Fix formatting.
(asan_function_start): Likewise.
(asan_emit_stack_protection): Likewise.
* doc/invoke.texi (asan-instrumentation-with-call-threshold):
Update description.
* internal-fn.c (expand_ASAN_CHECK): New function.
* internal-fn.def (ASAN_CHECK): New internal function.
* params.def (PARAM_ASAN_INSTRUMENTATION_WITH_CALL_THRESHOLD):
Update description.
(PARAM_ASAN_USE_AFTER_RETURN): Likewise.
* tree.c: Small comment fix.
* c-c++-common/asan/inc.c: Update test.
* c-c++-common/asan/instrument-with-calls-2.c: Likewise.
* c-c++-common/asan/no-redundant-instrumentation-1.c: Likewise.
* c-c++-common/asan/no-redundant-instrumentation-2.c: Likewise.
* c-c++-common/asan/no-redundant-instrumentation-3.c: Likewise.
* c-c++-common/asan/no-redundant-instrumentation-4.c: Likewise.
* c-c++-common/asan/no-redundant-instrumentation-5.c: Likewise.
* c-c++-common/asan/no-redundant-instrumentation-6.c: Likewise.
* c-c++-common/asan/no-redundant-instrumentation-7.c: Likewise.
* c-c++-common/asan/no-redundant-instrumentation-8.c: Likewise.
* c-c++-common/asan/no-redundant-instrumentation-9.c: Likewise.
From-SVN: r216330
Yury Gribov [Thu, 16 Oct 2014 13:50:42 +0000 (16 13:50 +0000)]
Added fnspec to internal functions.
2014-10-16 Yury Gribov <y.gribov@samsung.com>
Backport from mainline
2014-08-11 Yury Gribov <y.gribov@samsung.com>
* gimple.c (gimple_call_fnspec): Support internal functions.
(gimple_call_return_flags): Use const.
* Makefile.in (GTFILES): Add internal-fn.h to list of GC files.
* internal-fn.def: Add fnspec information.
* internal-fn.h (internal_fn_fnspec): New function.
(init_internal_fns): Declare new function.
* internal-fn.c (internal_fn_fnspec_array): New global variable.
(init_internal_fns): New function.
* tree-core.h: Update macro call.
* tree.c (build_common_builtin_nodes): Initialize internal fns.
Backport from mainline
2014-08-12 Yury Gribov <y.gribov@samsung.com>
* internal-fn.c (init_internal_fns): Fix off-by-one.
From-SVN: r216329
Yury Gribov [Thu, 16 Oct 2014 13:49:11 +0000 (16 13:49 +0000)]
backport: cpp.texi (__SANITIZE_ADDRESS__): Updated description.
2014-10-16 Yury Gribov <y.gribov@samsung.com>
Backport from mainline
2014-07-31 Yury Gribov <y.gribov@samsung.com>
* doc/cpp.texi (__SANITIZE_ADDRESS__): Updated description.
* doc/invoke.texi (-fsanitize=kernel-address): Describe new option.
* flag-types.h (SANITIZE_USER_ADDRESS, SANITIZE_KERNEL_ADDRESS):
New enums.
* gcc.c (sanitize_spec_function): Support new option.
(SANITIZER_SPEC): Remove now redundant check.
* opts.c (common_handle_option): Support new option.
(finish_options): Check for incompatibilities.
* toplev.c (process_options): Split userspace-specific checks.
From-SVN: r216328