[RFC] Statistics of new ASAN tests: -fsanitize=pointer-{compare,subtract}

Martin Liška mliska@suse.cz
Fri Dec 29 13:27:00 GMT 2017


Hello.

AS you've probably already noted, me and Jakub installed patches for the new ASAN feature.
It does Address sanitization of pointer comparison (or subtraction) and finds situations where
there pointers point to a different object. And as memory layout is a randomness, that can
lead to a potential problem.

I'm attaching a new patch that introduces a new configuration. For now, it logs all errors
to a tmp folder. It's not expected this will finish without errors (at least for now).
Using the config, bootstrap finishes, but takes couple of hours. It's mainly caused by
slow comparison of pointers to global variables. It's quite known limitation and I have
an idea how to fix that.

Statistics are attached. I'm going to return to that and identify if it's really
a potential issue.

Martin
-------------- next part --------------
$ grep SUMMARY /tmp/gcc-asan-logs.* | sed 's/.*SUMMARY//' | sort | uniq -c | sort -n
      1 : AddressSanitizer: invalid-pointer-pair /home/marxin/gcc/gcc/cp/call.c:4574 in build_op_call_1
      2 : AddressSanitizer: invalid-pointer-pair /home/marxin/gcc/gcc/dse.c:2800 in dse_step2_init
      2 : AddressSanitizer: invalid-pointer-pair /home/marxin/gcc/gcc/genattrtab.c:351 in attr_hash_add_rtx
      3 : AddressSanitizer: invalid-pointer-pair /dev/shm/objdir/libiberty/conftest.c:118 in find_stack_direction
      3 : AddressSanitizer: invalid-pointer-pair /home/marxin/gcc/gcc/cp/call.c:10877 in initialize_reference(tree_node*, tree_node*, int, int)
      3 : AddressSanitizer: invalid-pointer-pair /home/marxin/gcc/gcc/dse.c:2797 in dse_step2_init
      4 : AddressSanitizer: invalid-pointer-pair /home/marxin/gcc/libcpp/directives.c:2669 in _cpp_pop_buffer
      7 : AddressSanitizer: invalid-pointer-pair /home/marxin/gcc/gcc/cp/call.c:10624 in perform_direct_initialization_if_possible(tree_node*, tree_node*, bool, int)
      8 : AddressSanitizer: invalid-pointer-pair /home/marxin/gcc/gcc/cp/parser.c:12435 in cp_parser_declaration_statement
      9 : AddressSanitizer: invalid-pointer-pair /home/marxin/gcc/gcc/cp/call.c:10471 in can_convert_arg(tree_node*, tree_node*, tree_node*, int, int)
     28 : AddressSanitizer: invalid-pointer-pair /home/marxin/gcc/libcpp/line-map.c:234 in get_combined_adhoc_loc(line_maps*, unsigned int, source_range, void*)
     38 : AddressSanitizer: invalid-pointer-pair /home/marxin/gcc/libiberty/regex.c:3109 in byte_regex_compile
     65 : AddressSanitizer: invalid-pointer-pair /home/marxin/gcc/gcc/c/c-parser.c:1525 in c_parser_translation_unit
     71 : AddressSanitizer: invalid-pointer-pair /home/marxin/gcc/gcc/cp/call.c:10491 in can_convert_arg_bad(tree_node*, tree_node*, tree_node*, int, int)
     78 : AddressSanitizer: invalid-pointer-pair /home/marxin/gcc/gcc/cp/call.c:4115 in build_converted_constant_expr(tree_node*, tree_node*, int)
    125 : AddressSanitizer: invalid-pointer-pair /home/marxin/gcc/gcc/cp/call.c:10551 in perform_implicit_conversion_flags(tree_node*, tree_node*, int, int)
    134 : AddressSanitizer: invalid-pointer-pair /home/marxin/gcc/gcc/cfg.c:707 in free_aux_for_edges()
    162 : AddressSanitizer: invalid-pointer-pair /usr/include/bits/stdio.h:100 in putc_unlocked
    177 : AddressSanitizer: invalid-pointer-pair /home/marxin/gcc/gcc/cp/call.c:5954 in build_new_op_1
    250 : AddressSanitizer: invalid-pointer-pair /home/marxin/gcc/gcc/cp/call.c:4311 in build_new_function_call(tree_node*, vec<tree_node*, va_gc, vl_embed>**, int)
    261 : AddressSanitizer: invalid-pointer-pair /home/marxin/gcc/libcpp/directives.c:2149 in do_endif
    288 : AddressSanitizer: invalid-pointer-pair /home/marxin/gcc/gcc/lcm.c:572 in compute_available(simple_bitmap_def**, simple_bitmap_def**, simple_bitmap_def**, simple_bitmap_def**)
    645 : AddressSanitizer: invalid-pointer-pair /home/marxin/gcc/gcc/cp/call.c:9305 in build_new_method_call_1
    832 : AddressSanitizer: invalid-pointer-pair /home/marxin/gcc/gcc/genautomata.c:5076 in store_alt_unit_usage
    895 : AddressSanitizer: invalid-pointer-pair /home/marxin/gcc/gcc/lcm.c:542 in compute_available(simple_bitmap_def**, simple_bitmap_def**, simple_bitmap_def**, simple_bitmap_def**)
   1067 : AddressSanitizer: invalid-pointer-pair /home/marxin/gcc/gcc/cp/parser.c:12739 in cp_parser_declaration
   2724 : AddressSanitizer: invalid-pointer-pair /home/marxin/gcc/gcc/gcc.c:8431 in lookup_compiler
   2724 : AddressSanitizer: invalid-pointer-pair /home/marxin/gcc/gcc/gcc.c:8462 in lookup_compiler
  16369 : AddressSanitizer: invalid-pointer-pair /home/marxin/gcc/gcc/cfg.c:631 in free_aux_for_blocks()
  69260 : AddressSanitizer: invalid-pointer-pair /home/marxin/gcc/libiberty/obstack.c:277 in _obstack_free

-------------- next part --------------
# 1
SUMMARY: AddressSanitizer: invalid-pointer-pair /home/marxin/gcc/gcc/gcc.c:8431 in lookup_compiler
=================================================================
==100701==ERROR: AddressSanitizer: invalid-pointer-pair: 0x61d000000060 0x61d000000080
    #0 0x511fe9 in lookup_compiler /home/marxin/gcc/gcc/gcc.c:8462
    #1 0x51d9c4 in driver::prepare_infiles() /home/marxin/gcc/gcc/gcc.c:8094
    #2 0x409c6a in driver::main(int, char**) /home/marxin/gcc/gcc/gcc.c:7306
    #3 0x40a5b7 in main /home/marxin/gcc/gcc/gcc-main.c:46
    #4 0x7ffff71336e4 in __libc_start_main (/lib64/libc.so.6+0x206e4)
    #5 0x40b398 in _start (/dev/shm/objdir/gcc/xgcc+0x40b398)

0x61d000000060 is located 32 bytes to the left of 2112-byte region [0x61d000000080,0x61d0000008c0)
allocated by thread T0 here:
    #0 0x4d2b70 in __interceptor_malloc /home/marxin/gcc/libsanitizer/asan/asan_malloc_linux.cc:86
    #1 0x640f37 in xmalloc /home/marxin/gcc/libiberty/xmalloc.c:147
    #2 0x409be7 in driver::main(int, char**) /home/marxin/gcc/gcc/gcc.c:7297
    #3 0x66a4e1  (/dev/shm/objdir/gcc/xgcc+0x66a4e1)

0x61d000000080 is located 0 bytes inside of 2112-byte region [0x61d000000080,0x61d0000008c0)
allocated by thread T0 here:
    #0 0x4d2b70 in __interceptor_malloc /home/marxin/gcc/libsanitizer/asan/asan_malloc_linux.cc:86
    #1 0x640f37 in xmalloc /home/marxin/gcc/libiberty/xmalloc.c:147
    #2 0x409be7 in driver::main(int, char**) /home/marxin/gcc/gcc/gcc.c:7297
    #3 0x66a4e1  (/dev/shm/objdir/gcc/xgcc+0x66a4e1)

# 2
SUMMARY: AddressSanitizer: invalid-pointer-pair /home/marxin/gcc/gcc/c/c-parser.c:1525 in c_parser_translation_unit
=================================================================
==101118==ERROR: AddressSanitizer: invalid-pointer-pair: 0x63100008c800 0x63100003c810
    #0 0x352393a in _obstack_free /home/marxin/gcc/libiberty/obstack.c:277
    #1 0xbdfa91 in c_parser_translation_unit /home/marxin/gcc/gcc/c/c-parser.c:1525
    #2 0xbdfa91 in c_parse_file() /home/marxin/gcc/gcc/c/c-parser.c:18313
    #3 0xc9f88f in c_common_parse_file() /home/marxin/gcc/gcc/c-family/c-opts.c:1127
    #4 0x1a500db in compile_file /home/marxin/gcc/gcc/toplev.c:455
    #5 0x976a1e in do_compile /home/marxin/gcc/gcc/toplev.c:2063
    #6 0x976a1e in toplev::main(int, char**) /home/marxin/gcc/gcc/toplev.c:2198
    #7 0x980a24 in main /home/marxin/gcc/gcc/main.c:39
    #8 0x7ffff6a396e4 in __libc_start_main (/lib64/libc.so.6+0x206e4)
    #9 0x981c28 in _start (/dev/shm/objdir/gcc/cc1+0x981c28)

0x63100008c800 is located 0 bytes inside of 65536-byte region [0x63100008c800,0x63100009c800)
allocated by thread T0 here:
    #0 0xa49400 in __interceptor_malloc /home/marxin/gcc/libsanitizer/asan/asan_malloc_linux.cc:86
    #1 0x3526de7 in xmalloc /home/marxin/gcc/libiberty/xmalloc.c:147
    #2 0x6310000787ff  (<unknown module>)

0x63100003c810 is located 16 bytes inside of 65536-byte region [0x63100003c800,0x63100004c800)
allocated by thread T0 here:
    #0 0xa49400 in __interceptor_malloc /home/marxin/gcc/libsanitizer/asan/asan_malloc_linux.cc:86
    #1 0x3526de7 in xmalloc /home/marxin/gcc/libiberty/xmalloc.c:147

# 3
SUMMARY: AddressSanitizer: invalid-pointer-pair /home/marxin/gcc/gcc/cfg.c:631 in free_aux_for_blocks()
=================================================================
==101118==ERROR: AddressSanitizer: invalid-pointer-pair: 0x6310001f4800 0x631000140810
    #0 0x352393a in _obstack_free /home/marxin/gcc/libiberty/obstack.c:277
    #1 0x301e3ad in free_aux_for_blocks() /home/marxin/gcc/gcc/cfg.c:631
    #2 0x21f0940 in vt_finalize /home/marxin/gcc/gcc/var-tracking.c:10406
    #3 0x2223608 in variable_tracking_main_1 /home/marxin/gcc/gcc/var-tracking.c:10471
    #4 0x2223608 in variable_tracking_main() /home/marxin/gcc/gcc/var-tracking.c:10522
    #5 0x2223608 in execute /home/marxin/gcc/gcc/var-tracking.c:10559
    #6 0x1798f0b in execute_one_pass(opt_pass*) /home/marxin/gcc/gcc/passes.c:2497
    #7 0x179a666 in execute_pass_list_1 /home/marxin/gcc/gcc/passes.c:2586
    #8 0x179a690 in execute_pass_list_1 /home/marxin/gcc/gcc/passes.c:2587
    #9 0x179a690 in execute_pass_list_1 /home/marxin/gcc/gcc/passes.c:2587
    #10 0x179a6ef in execute_pass_list(function*, opt_pass*) /home/marxin/gcc/gcc/passes.c:2597
    #11 0xe91df9 in cgraph_node::expand() /home/marxin/gcc/gcc/cgraphunit.c:2139
    #12 0xe94ef4 in expand_all_functions /home/marxin/gcc/gcc/cgraphunit.c:2275
    #13 0xe94ef4 in symbol_table::compile() /home/marxin/gcc/gcc/cgraphunit.c:2623
    #14 0xe9b66b in symbol_table::compile() /home/marxin/gcc/gcc/cgraphunit.c:2537
    #15 0xe9b66b in symbol_table::finalize_compilation_unit() /home/marxin/gcc/gcc/cgraphunit.c:2716
    #16 0x1a5069d in compile_file /home/marxin/gcc/gcc/toplev.c:480
    #17 0x976a1e in do_compile /home/marxin/gcc/gcc/toplev.c:2063
    #18 0x976a1e in toplev::main(int, char**) /home/marxin/gcc/gcc/toplev.c:2198
    #19 0x980a24 in main /home/marxin/gcc/gcc/main.c:39
    #20 0x7ffff6a396e4 in __libc_start_main (/lib64/libc.so.6+0x206e4)
    #21 0x981c28 in _start (/dev/shm/objdir/gcc/cc1+0x981c28)

0x6310001f4800 is located 0 bytes inside of 65536-byte region [0x6310001f4800,0x631000204800)
allocated by thread T0 here:
    #0 0xa49400 in __interceptor_malloc /home/marxin/gcc/libsanitizer/asan/asan_malloc_linux.cc:86
    #1 0x3526de7 in xmalloc /home/marxin/gcc/libiberty/xmalloc.c:147

0x631000140810 is located 16 bytes inside of 65536-byte region [0x631000140800,0x631000150800)
allocated by thread T0 here:
    #0 0xa49400 in __interceptor_malloc /home/marxin/gcc/libsanitizer/asan/asan_malloc_linux.cc:86
    #1 0x3526de7 in xmalloc /home/marxin/gcc/libiberty/xmalloc.c:147

# 4
SUMMARY: AddressSanitizer: invalid-pointer-pair /home/marxin/gcc/libiberty/obstack.c:277 in _obstack_free
=================================================================
==10158==ERROR: AddressSanitizer: invalid-pointer-pair: 0x631000150800 0x631000154810
    #0 0x3523962 in _obstack_free /home/marxin/gcc/libiberty/obstack.c:277
    #1 0x301e3ad in free_aux_for_blocks() /home/marxin/gcc/gcc/cfg.c:631
    #2 0x21f0940 in vt_finalize /home/marxin/gcc/gcc/var-tracking.c:10406
    #3 0x2223608 in variable_tracking_main_1 /home/marxin/gcc/gcc/var-tracking.c:10471
    #4 0x2223608 in variable_tracking_main() /home/marxin/gcc/gcc/var-tracking.c:10522
    #5 0x2223608 in execute /home/marxin/gcc/gcc/var-tracking.c:10559
    #6 0x1798f0b in execute_one_pass(opt_pass*) /home/marxin/gcc/gcc/passes.c:2497
    #7 0x179a666 in execute_pass_list_1 /home/marxin/gcc/gcc/passes.c:2586
    #8 0x179a690 in execute_pass_list_1 /home/marxin/gcc/gcc/passes.c:2587
    #9 0x179a690 in execute_pass_list_1 /home/marxin/gcc/gcc/passes.c:2587
    #10 0x179a6ef in execute_pass_list(function*, opt_pass*) /home/marxin/gcc/gcc/passes.c:2597
    #11 0xe91df9 in cgraph_node::expand() /home/marxin/gcc/gcc/cgraphunit.c:2139
    #12 0xe94ef4 in expand_all_functions /home/marxin/gcc/gcc/cgraphunit.c:2275
    #13 0xe94ef4 in symbol_table::compile() /home/marxin/gcc/gcc/cgraphunit.c:2623
    #14 0xe9b66b in symbol_table::compile() /home/marxin/gcc/gcc/cgraphunit.c:2537
    #15 0xe9b66b in symbol_table::finalize_compilation_unit() /home/marxin/gcc/gcc/cgraphunit.c:2716
    #16 0x1a5069d in compile_file /home/marxin/gcc/gcc/toplev.c:480
    #17 0x976a1e in do_compile /home/marxin/gcc/gcc/toplev.c:2063
    #18 0x976a1e in toplev::main(int, char**) /home/marxin/gcc/gcc/toplev.c:2198
    #19 0x980a24 in main /home/marxin/gcc/gcc/main.c:39
    #20 0x7ffff6a396e4 in __libc_start_main (/lib64/libc.so.6+0x206e4)
    #21 0x981c28 in _start (/dev/shm/objdir/gcc/cc1+0x981c28)

0x631000150800 is located 0 bytes to the right of 65536-byte region [0x631000140800,0x631000150800)
allocated by thread T0 here:
    #0 0xa49400 in __interceptor_malloc /home/marxin/gcc/libsanitizer/asan/asan_malloc_linux.cc:86
    #1 0x3526de7 in xmalloc /home/marxin/gcc/libiberty/xmalloc.c:147

0x631000154810 is located 16 bytes inside of 65536-byte region [0x631000154800,0x631000164800)
allocated by thread T0 here:
    #0 0xa49400 in __interceptor_malloc /home/marxin/gcc/libsanitizer/asan/asan_malloc_linux.cc:86
    #1 0x3526de7 in xmalloc /home/marxin/gcc/libiberty/xmalloc.c:147

# 5
SUMMARY: AddressSanitizer: invalid-pointer-pair /home/marxin/gcc/gcc/cp/parser.c:12739 in cp_parser_declaration
=================================================================
==107803==ERROR: AddressSanitizer: invalid-pointer-pair: 0x6310000c8800 0x631000050920
    #0 0x383a08a in _obstack_free /home/marxin/gcc/libiberty/obstack.c:277
    #1 0xda84a4 in cp_parser_declaration /home/marxin/gcc/gcc/cp/parser.c:12739
    #2 0xda8f16 in cp_parser_declaration_seq_opt /home/marxin/gcc/gcc/cp/parser.c:12612
    #3 0xdaa7f4 in cp_parser_namespace_body /home/marxin/gcc/gcc/cp/parser.c:18562
    #4 0xdaa7f4 in cp_parser_namespace_definition /home/marxin/gcc/gcc/cp/parser.c:18540
    #5 0xda85b7 in cp_parser_declaration /home/marxin/gcc/gcc/cp/parser.c:12716
    #6 0xda8f16 in cp_parser_declaration_seq_opt /home/marxin/gcc/gcc/cp/parser.c:12612
    #7 0xdaa7f4 in cp_parser_namespace_body /home/marxin/gcc/gcc/cp/parser.c:18562
    #8 0xdaa7f4 in cp_parser_namespace_definition /home/marxin/gcc/gcc/cp/parser.c:18540
    #9 0xda85b7 in cp_parser_declaration /home/marxin/gcc/gcc/cp/parser.c:12716
    #10 0xda8f16 in cp_parser_declaration_seq_opt /home/marxin/gcc/gcc/cp/parser.c:12612
    #11 0xda9b6d in cp_parser_translation_unit /home/marxin/gcc/gcc/cp/parser.c:4558
    #12 0xda9b6d in c_parse_file() /home/marxin/gcc/gcc/cp/parser.c:38749
    #13 0xfd13af in c_common_parse_file() /home/marxin/gcc/gcc/c-family/c-opts.c:1127
    #14 0x1d7dfdb in compile_file /home/marxin/gcc/gcc/toplev.c:455
    #15 0x9a244e in do_compile /home/marxin/gcc/gcc/toplev.c:2063
    #16 0x9a244e in toplev::main(int, char**) /home/marxin/gcc/gcc/toplev.c:2198
    #17 0x9ac3c4 in main /home/marxin/gcc/gcc/main.c:39
    #18 0x7ffff6a396e4 in __libc_start_main (/lib64/libc.so.6+0x206e4)
    #19 0x9ad5c8 in _start (/dev/shm/objdir/gcc/cc1plus+0x9ad5c8)

0x6310000c8800 is located 0 bytes inside of 65536-byte region [0x6310000c8800,0x6310000d8800)
allocated by thread T0 here:
    #0 0xa74da0 in __interceptor_malloc /home/marxin/gcc/libsanitizer/asan/asan_malloc_linux.cc:86
    #1 0x383d537 in xmalloc /home/marxin/gcc/libiberty/xmalloc.c:147

0x631000050920 is located 288 bytes inside of 65536-byte region [0x631000050800,0x631000060800)
allocated by thread T0 here:
    #0 0xa74da0 in __interceptor_malloc /home/marxin/gcc/libsanitizer/asan/asan_malloc_linux.cc:86
    #1 0x383d537 in xmalloc /home/marxin/gcc/libiberty/xmalloc.c:147
    #2 0x58beebf  (/dev/shm/objdir/gcc/cc1plus+0x58beebf)

# 6
SUMMARY: AddressSanitizer: invalid-pointer-pair /dev/shm/objdir/libiberty/conftest.c:118 in find_stack_direction
=================================================================
==110852==ERROR: AddressSanitizer: invalid-pointer-pair: 0x631000104810 0x631000258800
    #0 0x301e397 in free_aux_for_blocks() /home/marxin/gcc/gcc/cfg.c:631
    #1 0x21f0940 in vt_finalize /home/marxin/gcc/gcc/var-tracking.c:10406
    #2 0x2223608 in variable_tracking_main_1 /home/marxin/gcc/gcc/var-tracking.c:10471
    #3 0x2223608 in variable_tracking_main() /home/marxin/gcc/gcc/var-tracking.c:10522
    #4 0x2223608 in execute /home/marxin/gcc/gcc/var-tracking.c:10559
    #5 0x1798f0b in execute_one_pass(opt_pass*) /home/marxin/gcc/gcc/passes.c:2497
    #6 0x179a666 in execute_pass_list_1 /home/marxin/gcc/gcc/passes.c:2586
    #7 0x179a690 in execute_pass_list_1 /home/marxin/gcc/gcc/passes.c:2587
    #8 0x179a690 in execute_pass_list_1 /home/marxin/gcc/gcc/passes.c:2587
    #9 0x179a6ef in execute_pass_list(function*, opt_pass*) /home/marxin/gcc/gcc/passes.c:2597
    #10 0xe91df9 in cgraph_node::expand() /home/marxin/gcc/gcc/cgraphunit.c:2139
    #11 0xe94ef4 in expand_all_functions /home/marxin/gcc/gcc/cgraphunit.c:2275
    #12 0xe94ef4 in symbol_table::compile() /home/marxin/gcc/gcc/cgraphunit.c:2623
    #13 0xe9b66b in symbol_table::compile() /home/marxin/gcc/gcc/cgraphunit.c:2537
    #14 0xe9b66b in symbol_table::finalize_compilation_unit() /home/marxin/gcc/gcc/cgraphunit.c:2716
    #15 0x1a5069d in compile_file /home/marxin/gcc/gcc/toplev.c:480
    #16 0x976a1e in do_compile /home/marxin/gcc/gcc/toplev.c:2063
    #17 0x976a1e in toplev::main(int, char**) /home/marxin/gcc/gcc/toplev.c:2198
    #18 0x980a24 in main /home/marxin/gcc/gcc/main.c:39
    #19 0x7ffff6a396e4 in __libc_start_main (/lib64/libc.so.6+0x206e4)
    #20 0x981c28 in _start (/dev/shm/objdir/gcc/cc1+0x981c28)

0x631000104810 is located 16 bytes inside of 65536-byte region [0x631000104800,0x631000114800)
allocated by thread T0 here:
    #0 0xa49400 in __interceptor_malloc /home/marxin/gcc/libsanitizer/asan/asan_malloc_linux.cc:86
    #1 0x3526de7 in xmalloc /home/marxin/gcc/libiberty/xmalloc.c:147

0x631000258800 is located 0 bytes inside of 65536-byte region [0x631000258800,0x631000268800)
allocated by thread T0 here:
    #0 0xa49400 in __interceptor_malloc /home/marxin/gcc/libsanitizer/asan/asan_malloc_linux.cc:86
    #1 0x3526de7 in xmalloc /home/marxin/gcc/libiberty/xmalloc.c:147

# 7
SUMMARY: AddressSanitizer: invalid-pointer-pair /home/marxin/gcc/libiberty/regex.c:3109 in byte_regex_compile
=================================================================
==129100==ERROR: AddressSanitizer: invalid-pointer-pair: 0x606000131f00 0x6030000552d0
    #0 0x53f8b5 in byte_regex_compile /home/marxin/gcc/libiberty/regex.c:3109
    #1 0x54446a in xregcomp /home/marxin/gcc/libiberty/regex.c:7969
    #2 0x51ee97 in get_output_file_with_visibility(input_file_st*) /home/marxin/gcc/gcc/gengtype.c:2194
    #3 0x51f758 in write_func_for_structure /home/marxin/gcc/gcc/gengtype.c:3493
    #4 0x5211d6 in write_types /home/marxin/gcc/gcc/gengtype.c:3752
    #5 0x40adbb in main /home/marxin/gcc/gcc/gengtype.c:5315
    #6 0x7ffff71336e4 in __libc_start_main (/lib64/libc.so.6+0x206e4)
    #7 0x40d068 in _start (/dev/shm/objdir/gcc/build/gengtype+0x40d068)

0x606000131f00 is located 0 bytes inside of 64-byte region [0x606000131f00,0x606000131f40)
allocated by thread T0 here:
    #0 0x4d4c30 in __interceptor_realloc /home/marxin/gcc/libsanitizer/asan/asan_malloc_linux.cc:105
    #1 0x53e41b in byte_regex_compile /home/marxin/gcc/libiberty/regex.c:3109

0x6030000552d0 is located 0 bytes inside of 32-byte region [0x6030000552d0,0x6030000552f0)
freed by thread T0 here:
    #0 0x4d4c30 in __interceptor_realloc /home/marxin/gcc/libsanitizer/asan/asan_malloc_linux.cc:105
    #1 0x53e41b in byte_regex_compile /home/marxin/gcc/libiberty/regex.c:3109

previously allocated by thread T0 here:
    #0 0x4d4840 in __interceptor_malloc /home/marxin/gcc/libsanitizer/asan/asan_malloc_linux.cc:86
    #1 0x53ea39 in byte_regex_compile /home/marxin/gcc/libiberty/regex.c:2436

# 8
SUMMARY: AddressSanitizer: invalid-pointer-pair /home/marxin/gcc/gcc/genattrtab.c:351 in attr_hash_add_rtx
=================================================================
==129540==ERROR: AddressSanitizer: invalid-pointer-pair: 0x6210023f7d48 0x6210023fa1d8
    #0 0x52149e in store_alt_unit_usage /home/marxin/gcc/gcc/genautomata.c:5076
    #1 0x40e9ea in check_regexp_units_distribution /home/marxin/gcc/gcc/genautomata.c:5177
    #2 0x40e9ea in check_unit_distributions_to_automata /home/marxin/gcc/gcc/genautomata.c:5328
    #3 0x40e9ea in expand_automata /home/marxin/gcc/gcc/genautomata.c:9454
    #4 0x40e9ea in main /home/marxin/gcc/gcc/genautomata.c:9639
    #5 0x7ffff71336e4 in __libc_start_main (/lib64/libc.so.6+0x206e4)
    #6 0x410588 in _start (/dev/shm/objdir/gcc/build/genautomata+0x410588)

0x6210023f7d48 is located 1096 bytes inside of 4064-byte region [0x6210023f7900,0x6210023f88e0)
allocated by thread T0 here:
    #0 0x4d7d60 in __interceptor_malloc /home/marxin/gcc/libsanitizer/asan/asan_malloc_linux.cc:86
    #1 0x56f8d7 in xmalloc /home/marxin/gcc/libiberty/xmalloc.c:147

0x6210023fa1d8 is located 216 bytes inside of 4064-byte region [0x6210023fa100,0x6210023fb0e0)
allocated by thread T0 here:
    #0 0x4d7d60 in __interceptor_malloc /home/marxin/gcc/libsanitizer/asan/asan_malloc_linux.cc:86
    #1 0x56f8d7 in xmalloc /home/marxin/gcc/libiberty/xmalloc.c:147

# 9
SUMMARY: AddressSanitizer: invalid-pointer-pair /home/marxin/gcc/gcc/genautomata.c:5076 in store_alt_unit_usage
=================================================================
==129540==ERROR: AddressSanitizer: invalid-pointer-pair: 0x6210023f7d48 0x6210023fa2f8
    #0 0x52149e in store_alt_unit_usage /home/marxin/gcc/gcc/genautomata.c:5076
    #1 0x40e9ea in check_regexp_units_distribution /home/marxin/gcc/gcc/genautomata.c:5177
    #2 0x40e9ea in check_unit_distributions_to_automata /home/marxin/gcc/gcc/genautomata.c:5328
    #3 0x40e9ea in expand_automata /home/marxin/gcc/gcc/genautomata.c:9454
    #4 0x40e9ea in main /home/marxin/gcc/gcc/genautomata.c:9639
    #5 0x7ffff71336e4 in __libc_start_main (/lib64/libc.so.6+0x206e4)
    #6 0x410588 in _start (/dev/shm/objdir/gcc/build/genautomata+0x410588)

0x6210023f7d48 is located 1096 bytes inside of 4064-byte region [0x6210023f7900,0x6210023f88e0)
allocated by thread T0 here:
    #0 0x4d7d60 in __interceptor_malloc /home/marxin/gcc/libsanitizer/asan/asan_malloc_linux.cc:86
    #1 0x56f8d7 in xmalloc /home/marxin/gcc/libiberty/xmalloc.c:147

0x6210023fa2f8 is located 504 bytes inside of 4064-byte region [0x6210023fa100,0x6210023fb0e0)
allocated by thread T0 here:
    #0 0x4d7d60 in __interceptor_malloc /home/marxin/gcc/libsanitizer/asan/asan_malloc_linux.cc:86
    #1 0x56f8d7 in xmalloc /home/marxin/gcc/libiberty/xmalloc.c:147

# 10
SUMMARY: AddressSanitizer: invalid-pointer-pair /home/marxin/gcc/libcpp/line-map.c:234 in get_combined_adhoc_loc(line_maps*, unsigned int, source_range, void*)
=================================================================
==129559==ERROR: AddressSanitizer: invalid-pointer-pair: 0x62b000000200 0x627000003900
    #0 0x5818e8 in get_combined_adhoc_loc(line_maps*, unsigned int, source_range, void*) /home/marxin/gcc/libcpp/line-map.c:234
    #1 0x578fa1 in COMBINE_LOCATION_DATA(line_maps*, unsigned int, source_range, void*) /home/marxin/gcc/libcpp/include/line-map.h:1042
    #2 0x578fa1 in _cpp_lex_direct /home/marxin/gcc/libcpp/lex.c:3148
    #3 0x57e105 in _cpp_lex_token /home/marxin/gcc/libcpp/lex.c:2586
    #4 0x57e3d3 in cpp_peek_token(cpp_reader*, int) /home/marxin/gcc/libcpp/lex.c:2501
    #5 0x5250c7 in parser::peek(unsigned int) /home/marxin/gcc/gcc/genmatch.c:3904
    #6 0x53a36c in parser::peek_ident(char const*, unsigned int) /home/marxin/gcc/gcc/genmatch.c:3922
    #7 0x53a36c in parser::parse_operator_list(unsigned int) /home/marxin/gcc/gcc/genmatch.c:4698
    #8 0x5429e7 in parser::parse_pattern() /home/marxin/gcc/gcc/genmatch.c:4846
    #9 0x545db1 in parser::parser(cpp_reader*) /home/marxin/gcc/gcc/genmatch.c:4938
    #10 0x40f8bc in main /home/marxin/gcc/gcc/genmatch.c:5036
    #11 0x7ffff71336e4 in __libc_start_main (/lib64/libc.so.6+0x206e4)
    #12 0x410e78 in _start (/dev/shm/objdir/gcc/build/genmatch+0x410e78)

0x62b000000200 is located 0 bytes inside of 24576-byte region [0x62b000000200,0x62b000006200)
allocated by thread T0 here:
    #0 0x4d8a40 in __interceptor_realloc /home/marxin/gcc/libsanitizer/asan/asan_malloc_linux.cc:105
    #1 0x5b4d6c in xrealloc /home/marxin/gcc/libiberty/xmalloc.c:179

0x627000003900 is located 0 bytes inside of 12288-byte region [0x627000003900,0x627000006900)
freed by thread T0 here:
    #0 0x4d8a40 in __interceptor_realloc /home/marxin/gcc/libsanitizer/asan/asan_malloc_linux.cc:105
    #1 0x5b4d6c in xrealloc /home/marxin/gcc/libiberty/xmalloc.c:179

previously allocated by thread T0 here:
    #0 0x4d8a40 in __interceptor_realloc /home/marxin/gcc/libsanitizer/asan/asan_malloc_linux.cc:105
    #1 0x5b4d6c in xrealloc /home/marxin/gcc/libiberty/xmalloc.c:179

# 11
SUMMARY: AddressSanitizer: invalid-pointer-pair /home/marxin/gcc/gcc/cp/parser.c:12435 in cp_parser_declaration_statement
=================================================================
==17805==ERROR: AddressSanitizer: invalid-pointer-pair: 0x63100012c800 0x631000100770
    #0 0x383a08a in _obstack_free /home/marxin/gcc/libiberty/obstack.c:277
    #1 0xd0ee36 in cp_parser_statement /home/marxin/gcc/gcc/cp/parser.c:10904
    #2 0xd126df in cp_parser_statement_seq_opt /home/marxin/gcc/gcc/cp/parser.c:11241
    #3 0xd129f1 in cp_parser_compound_statement /home/marxin/gcc/gcc/cp/parser.c:11195
    #4 0xd62f80 in cp_parser_function_body /home/marxin/gcc/gcc/cp/parser.c:21724
    #5 0xd62f80 in cp_parser_ctor_initializer_opt_and_function_body /home/marxin/gcc/gcc/cp/parser.c:21761
    #6 0xd64932 in cp_parser_function_definition_after_declarator /home/marxin/gcc/gcc/cp/parser.c:26665
    #7 0xd695fc in cp_parser_late_parsing_for_member /home/marxin/gcc/gcc/cp/parser.c:27545
    #8 0xd3a229 in cp_parser_class_specifier_1 /home/marxin/gcc/gcc/cp/parser.c:22690
    #9 0xd3e2ad in cp_parser_class_specifier /home/marxin/gcc/gcc/cp/parser.c:22716
    #10 0xd3e2ad in cp_parser_type_specifier /home/marxin/gcc/gcc/cp/parser.c:16722
    #11 0xd6b1fa in cp_parser_decl_specifier_seq /home/marxin/gcc/gcc/cp/parser.c:13583
    #12 0xd7d9f0 in cp_parser_single_declaration /home/marxin/gcc/gcc/cp/parser.c:27031
    #13 0xd7e6a6 in cp_parser_template_declaration_after_parameters /home/marxin/gcc/gcc/cp/parser.c:26723
    #14 0xd7fe8e in cp_parser_explicit_template_declaration /home/marxin/gcc/gcc/cp/parser.c:26960
    #15 0xd7fe8e in cp_parser_template_declaration_after_export /home/marxin/gcc/gcc/cp/parser.c:26979
    #16 0xda85d9 in cp_parser_declaration /home/marxin/gcc/gcc/cp/parser.c:12685
    #17 0xda8f16 in cp_parser_declaration_seq_opt /home/marxin/gcc/gcc/cp/parser.c:12612
    #18 0xdaa7f4 in cp_parser_namespace_body /home/marxin/gcc/gcc/cp/parser.c:18562
    #19 0xdaa7f4 in cp_parser_namespace_definition /home/marxin/gcc/gcc/cp/parser.c:18540
    #20 0xda85b7 in cp_parser_declaration /home/marxin/gcc/gcc/cp/parser.c:12716
    #21 0xda8f16 in cp_parser_declaration_seq_opt /home/marxin/gcc/gcc/cp/parser.c:12612
    #22 0xda9b6d in cp_parser_translation_unit /home/marxin/gcc/gcc/cp/parser.c:4558
    #23 0xda9b6d in c_parse_file() /home/marxin/gcc/gcc/cp/parser.c:38749
    #24 0xfd13af in c_common_parse_file() /home/marxin/gcc/gcc/c-family/c-opts.c:1127
    #25 0x1d7dfdb in compile_file /home/marxin/gcc/gcc/toplev.c:455
    #26 0x9a244e in do_compile /home/marxin/gcc/gcc/toplev.c:2063
    #27 0x9a244e in toplev::main(int, char**) /home/marxin/gcc/gcc/toplev.c:2198
    #28 0x9ac3c4 in main /home/marxin/gcc/gcc/main.c:39
    #29 0x7ffff6a396e4 in __libc_start_main (/lib64/libc.so.6+0x206e4)
    #30 0x9ad5c8 in _start (/dev/shm/objdir/gcc/cc1plus+0x9ad5c8)

0x63100012c800 is located 0 bytes inside of 65536-byte region [0x63100012c800,0x63100013c800)
allocated by thread T0 here:
    #0 0xa74da0 in __interceptor_malloc /home/marxin/gcc/libsanitizer/asan/asan_malloc_linux.cc:86
    #1 0x383d537 in xmalloc /home/marxin/gcc/libiberty/xmalloc.c:147
    #2 0x7fffffff9aaf  ([stack]+0x3faaf)

0x631000100770 is located 65392 bytes inside of 65536-byte region [0x6310000f0800,0x631000100800)
allocated by thread T0 here:
    #0 0xa74da0 in __interceptor_malloc /home/marxin/gcc/libsanitizer/asan/asan_malloc_linux.cc:86
    #1 0x383d537 in xmalloc /home/marxin/gcc/libiberty/xmalloc.c:147
    #2 0x58beebf  (/dev/shm/objdir/gcc/cc1plus+0x58beebf)

# 12
SUMMARY: AddressSanitizer: invalid-pointer-pair /home/marxin/gcc/libcpp/directives.c:2149 in do_endif
=================================================================
==17955==ERROR: AddressSanitizer: invalid-pointer-pair: 0x621000032100 0x621000009cb0
    #0 0x383a08a in _obstack_free /home/marxin/gcc/libiberty/obstack.c:277
    #1 0x375f266 in _cpp_handle_directive /home/marxin/gcc/libcpp/directives.c:547
    #2 0x37897d8 in _cpp_lex_token /home/marxin/gcc/libcpp/lex.c:2598
    #3 0x379c997 in cpp_get_token_1 /home/marxin/gcc/libcpp/macro.c:2627
    #4 0xfb8efc in c_lex_with_flags(tree_node**, unsigned int*, unsigned char*, int) /home/marxin/gcc/gcc/c-family/c-lex.c:401
    #5 0xcd42f6 in cp_lexer_get_preprocessor_token /home/marxin/gcc/gcc/cp/parser.c:786
    #6 0xda9475 in cp_lexer_new_main /home/marxin/gcc/gcc/cp/parser.c:650
    #7 0xda9475 in cp_parser_new /home/marxin/gcc/gcc/cp/parser.c:3852
    #8 0xda9475 in c_parse_file() /home/marxin/gcc/gcc/cp/parser.c:38746
    #9 0xfd13af in c_common_parse_file() /home/marxin/gcc/gcc/c-family/c-opts.c:1127
    #10 0x1d7dfdb in compile_file /home/marxin/gcc/gcc/toplev.c:455
    #11 0x9a244e in do_compile /home/marxin/gcc/gcc/toplev.c:2063
    #12 0x9a244e in toplev::main(int, char**) /home/marxin/gcc/gcc/toplev.c:2198
    #13 0x9ac3c4 in main /home/marxin/gcc/gcc/main.c:39
    #14 0x7ffff6a396e4 in __libc_start_main (/lib64/libc.so.6+0x206e4)
    #15 0x9ad5c8 in _start (/dev/shm/objdir/gcc/cc1plus+0x9ad5c8)

0x621000032100 is located 0 bytes inside of 4064-byte region [0x621000032100,0x6210000330e0)
allocated by thread T0 here:
    #0 0xa74da0 in __interceptor_malloc /home/marxin/gcc/libsanitizer/asan/asan_malloc_linux.cc:86
    #1 0x383d537 in xmalloc /home/marxin/gcc/libiberty/xmalloc.c:147

0x621000009cb0 is located 4016 bytes inside of 4064-byte region [0x621000008d00,0x621000009ce0)
allocated by thread T0 here:
    #0 0xa74da0 in __interceptor_malloc /home/marxin/gcc/libsanitizer/asan/asan_malloc_linux.cc:86
    #1 0x383d537 in xmalloc /home/marxin/gcc/libiberty/xmalloc.c:147

# 13
SUMMARY: AddressSanitizer: invalid-pointer-pair /usr/include/bits/stdio.h:100 in putc_unlocked
=================================================================
==27025==ERROR: AddressSanitizer: invalid-pointer-pair: 0x7ffff7e300df 0x7ffff7e31000
    #0 0x348d40c in putc_unlocked /usr/include/bits/stdio.h:100
    #1 0x348d40c in deps_write(deps const*, _IO_FILE*, unsigned int) /home/marxin/gcc/libcpp/mkdeps.c:340
    #2 0x3463abe in cpp_finish(cpp_reader*, _IO_FILE*) /home/marxin/gcc/libcpp/init.c:766
    #3 0xc9fa71 in c_common_finish() /home/marxin/gcc/gcc/c-family/c-opts.c:1192
    #4 0x976b4a in finalize /home/marxin/gcc/gcc/toplev.c:1997
    #5 0x976b4a in do_compile /home/marxin/gcc/gcc/toplev.c:2072
    #6 0x976b4a in toplev::main(int, char**) /home/marxin/gcc/gcc/toplev.c:2198
    #7 0x980a24 in main /home/marxin/gcc/gcc/main.c:39
    #8 0x7ffff6a396e4 in __libc_start_main (/lib64/libc.so.6+0x206e4)
    #9 0x981c28 in _start (/dev/shm/objdir/gcc/cc1+0x981c28)

Address 0x7ffff7e300df is a wild pointer.
0x7ffff7e31000 is located 6144 bytes to the left of 156112-byte region [0x7ffff7e32800,0x7ffff7e589d0)
freed by thread T0 here:
    #0 0xa49080 in __interceptor_free /home/marxin/gcc/libsanitizer/asan/asan_malloc_linux.cc:66
    #1 0x31c85a5 in void va_heap::release<_haifa_insn_data>(vec<_haifa_insn_data, va_heap, vl_embed>*&) /home/marxin/gcc/gcc/vec.h:307
    #2 0x31c85a5 in vec<_haifa_insn_data, va_heap, vl_ptr>::release() /home/marxin/gcc/gcc/vec.h:1604
    #3 0x31c85a5 in haifa_finish_h_i_d() /home/marxin/gcc/gcc/haifa-sched.c:9073

previously allocated by thread T0 here:
    #0 0xa49400 in __interceptor_malloc /home/marxin/gcc/libsanitizer/asan/asan_malloc_linux.cc:86
    #1 0x3526e7f in xrealloc /home/marxin/gcc/libiberty/xmalloc.c:177

# 14
SUMMARY: AddressSanitizer: invalid-pointer-pair /home/marxin/gcc/gcc/cfg.c:707 in free_aux_for_edges()
=================================================================
==28016==ERROR: AddressSanitizer: invalid-pointer-pair: 0x6310002e4800 0x631000208810
    #0 0x383a08a in _obstack_free /home/marxin/gcc/libiberty/obstack.c:277
    #1 0x334a7d4 in free_aux_for_edges() /home/marxin/gcc/gcc/cfg.c:707
    #2 0x1b2b189 in estimate_bb_frequencies(bool) /home/marxin/gcc/gcc/predict.c:3704
    #3 0x1b38ea6 in tree_estimate_probability(bool) /home/marxin/gcc/gcc/predict.c:2920
    #4 0x1b395d1 in execute /home/marxin/gcc/gcc/predict.c:3831
    #5 0x1ad090b in execute_one_pass(opt_pass*) /home/marxin/gcc/gcc/passes.c:2497
    #6 0x1ad2066 in execute_pass_list_1 /home/marxin/gcc/gcc/passes.c:2586
    #7 0x1ad2090 in execute_pass_list_1 /home/marxin/gcc/gcc/passes.c:2587
    #8 0x1ad20ef in execute_pass_list(function*, opt_pass*) /home/marxin/gcc/gcc/passes.c:2597
    #9 0x1acde85 in do_per_function_toporder(void (*)(function*, void*), void*) /home/marxin/gcc/gcc/passes.c:1739
    #10 0x1ad3356 in execute_ipa_pass_list(opt_pass*) /home/marxin/gcc/gcc/passes.c:2937
    #11 0x11c62ca in ipa_passes /home/marxin/gcc/gcc/cgraphunit.c:2423
    #12 0x11c62ca in symbol_table::compile() /home/marxin/gcc/gcc/cgraphunit.c:2558
    #13 0x11cbebb in symbol_table::compile() /home/marxin/gcc/gcc/cgraphunit.c:2537
    #14 0x11cbebb in symbol_table::finalize_compilation_unit() /home/marxin/gcc/gcc/cgraphunit.c:2716
    #15 0x1d7e59d in compile_file /home/marxin/gcc/gcc/toplev.c:480
    #16 0x9a244e in do_compile /home/marxin/gcc/gcc/toplev.c:2063
    #17 0x9a244e in toplev::main(int, char**) /home/marxin/gcc/gcc/toplev.c:2198
    #18 0x9ac3c4 in main /home/marxin/gcc/gcc/main.c:39
    #19 0x7ffff6a396e4 in __libc_start_main (/lib64/libc.so.6+0x206e4)
    #20 0x9ad5c8 in _start (/dev/shm/objdir/gcc/cc1plus+0x9ad5c8)

0x6310002e4800 is located 0 bytes inside of 65536-byte region [0x6310002e4800,0x6310002f4800)
allocated by thread T0 here:
    #0 0xa74da0 in __interceptor_malloc /home/marxin/gcc/libsanitizer/asan/asan_malloc_linux.cc:86
    #1 0x383d537 in xmalloc /home/marxin/gcc/libiberty/xmalloc.c:147

0x631000208810 is located 16 bytes inside of 65536-byte region [0x631000208800,0x631000218800)
allocated by thread T0 here:
    #0 0xa74da0 in __interceptor_malloc /home/marxin/gcc/libsanitizer/asan/asan_malloc_linux.cc:86
    #1 0x383d537 in xmalloc /home/marxin/gcc/libiberty/xmalloc.c:147

# 15
SUMMARY: AddressSanitizer: invalid-pointer-pair /home/marxin/gcc/libcpp/directives.c:2669 in _cpp_pop_buffer
=================================================================
==50171==ERROR: AddressSanitizer: invalid-pointer-pair: 0x62100002bd00 0x621000009c00
    #0 0x383a08a in _obstack_free /home/marxin/gcc/libiberty/obstack.c:277
    #1 0x3761a06 in _cpp_pop_buffer /home/marxin/gcc/libcpp/directives.c:2669
    #2 0x377c6eb in _cpp_get_fresh_line /home/marxin/gcc/libcpp/lex.c:2665
    #3 0x3783b05 in _cpp_get_fresh_line /home/marxin/gcc/libcpp/lex.c:2635
    #4 0x3783b05 in _cpp_lex_direct /home/marxin/gcc/libcpp/lex.c:2713
    #5 0x3789735 in _cpp_lex_token /home/marxin/gcc/libcpp/lex.c:2586
    #6 0x379c997 in cpp_get_token_1 /home/marxin/gcc/libcpp/macro.c:2627
    #7 0xfd49b8 in scan_translation_unit /home/marxin/gcc/gcc/c-family/c-ppoutput.c:181
    #8 0xfd49b8 in preprocess_file(cpp_reader*) /home/marxin/gcc/gcc/c-family/c-ppoutput.c:101
    #9 0xfd11bb in c_common_init() /home/marxin/gcc/gcc/c-family/c-opts.c:1104
    #10 0xc6345b in cxx_init() /home/marxin/gcc/gcc/cp/lex.c:314
    #11 0x9a22f2 in lang_dependent_init /home/marxin/gcc/gcc/toplev.c:1823
    #12 0x9a22f2 in do_compile /home/marxin/gcc/gcc/toplev.c:2049
    #13 0x9a22f2 in toplev::main(int, char**) /home/marxin/gcc/gcc/toplev.c:2198
    #14 0x9ac3c4 in main /home/marxin/gcc/gcc/main.c:39
    #15 0x7ffff6a396e4 in __libc_start_main (/lib64/libc.so.6+0x206e4)
    #16 0x9ad5c8 in _start (/dev/shm/objdir/prev-gcc/cc1plus+0x9ad5c8)

0x62100002bd00 is located 0 bytes inside of 4064-byte region [0x62100002bd00,0x62100002cce0)
allocated by thread T0 here:
    #0 0xa74da0 in __interceptor_malloc /home/marxin/gcc/libsanitizer/asan/asan_malloc_linux.cc:86
    #1 0x383d537 in xmalloc /home/marxin/gcc/libiberty/xmalloc.c:147

0x621000009c00 is located 3840 bytes inside of 4064-byte region [0x621000008d00,0x621000009ce0)
allocated by thread T0 here:
    #0 0xa74da0 in __interceptor_malloc /home/marxin/gcc/libsanitizer/asan/asan_malloc_linux.cc:86
    #1 0x383d537 in xmalloc /home/marxin/gcc/libiberty/xmalloc.c:147

# 16
SUMMARY: AddressSanitizer: invalid-pointer-pair /home/marxin/gcc/gcc/dse.c:2797 in dse_step2_init
=================================================================
==5118==ERROR: AddressSanitizer: invalid-pointer-pair: 0x631000154810 0x6310009ec800
    #0 0x301e397 in free_aux_for_blocks() /home/marxin/gcc/gcc/cfg.c:631
    #1 0x21f0940 in vt_finalize /home/marxin/gcc/gcc/var-tracking.c:10406
    #2 0x2223608 in variable_tracking_main_1 /home/marxin/gcc/gcc/var-tracking.c:10471
    #3 0x2223608 in variable_tracking_main() /home/marxin/gcc/gcc/var-tracking.c:10522
    #4 0x2223608 in execute /home/marxin/gcc/gcc/var-tracking.c:10559
    #5 0x1798f0b in execute_one_pass(opt_pass*) /home/marxin/gcc/gcc/passes.c:2497
    #6 0x179a666 in execute_pass_list_1 /home/marxin/gcc/gcc/passes.c:2586
    #7 0x179a690 in execute_pass_list_1 /home/marxin/gcc/gcc/passes.c:2587
    #8 0x179a690 in execute_pass_list_1 /home/marxin/gcc/gcc/passes.c:2587
    #9 0x179a6ef in execute_pass_list(function*, opt_pass*) /home/marxin/gcc/gcc/passes.c:2597
    #10 0xe91df9 in cgraph_node::expand() /home/marxin/gcc/gcc/cgraphunit.c:2139
    #11 0xe94ef4 in expand_all_functions /home/marxin/gcc/gcc/cgraphunit.c:2275
    #12 0xe94ef4 in symbol_table::compile() /home/marxin/gcc/gcc/cgraphunit.c:2623
    #13 0xe9b66b in symbol_table::compile() /home/marxin/gcc/gcc/cgraphunit.c:2537
    #14 0xe9b66b in symbol_table::finalize_compilation_unit() /home/marxin/gcc/gcc/cgraphunit.c:2716
    #15 0x1a5069d in compile_file /home/marxin/gcc/gcc/toplev.c:480
    #16 0x976a1e in do_compile /home/marxin/gcc/gcc/toplev.c:2063
    #17 0x976a1e in toplev::main(int, char**) /home/marxin/gcc/gcc/toplev.c:2198
    #18 0x980a24 in main /home/marxin/gcc/gcc/main.c:39
    #19 0x7ffff6a396e4 in __libc_start_main (/lib64/libc.so.6+0x206e4)
    #20 0x981c28 in _start (/dev/shm/objdir/gcc/cc1+0x981c28)

0x631000154810 is located 16 bytes inside of 65536-byte region [0x631000154800,0x631000164800)
allocated by thread T0 here:
    #0 0xa49400 in __interceptor_malloc /home/marxin/gcc/libsanitizer/asan/asan_malloc_linux.cc:86
    #1 0x3526de7 in xmalloc /home/marxin/gcc/libiberty/xmalloc.c:147

0x6310009ec800 is located 0 bytes inside of 65536-byte region [0x6310009ec800,0x6310009fc800)
allocated by thread T0 here:
    #0 0xa49400 in __interceptor_malloc /home/marxin/gcc/libsanitizer/asan/asan_malloc_linux.cc:86
    #1 0x3526de7 in xmalloc /home/marxin/gcc/libiberty/xmalloc.c:147

# 17
SUMMARY: AddressSanitizer: invalid-pointer-pair /home/marxin/gcc/gcc/cp/call.c:5954 in build_new_op_1
=================================================================
==54800==ERROR: AddressSanitizer: invalid-pointer-pair: 0x6310000dc800 0x6310000afcf0
    #0 0x383a08a in _obstack_free /home/marxin/gcc/libiberty/obstack.c:277
    #1 0xae65f4 in build_new_op_1 /home/marxin/gcc/gcc/cp/call.c:5954
    #2 0xae790d in build_new_op(unsigned int, tree_code, int, tree_node*, tree_node*, tree_node*, tree_node**, int) /home/marxin/gcc/gcc/cp/call.c:6046
    #3 0xed03cf in build_x_binary_op(unsigned int, tree_code, tree_node*, tree_code, tree_node*, tree_code, tree_node**, int) /home/marxin/gcc/gcc/cp/typeck.c:4024
    #4 0xdf15c0 in tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*, bool, bool) /home/marxin/gcc/gcc/cp/pt.c:17291
    #5 0xdf1452 in tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*, bool, bool) /home/marxin/gcc/gcc/cp/pt.c:17288
    #6 0xde7575 in tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool) /home/marxin/gcc/gcc/cp/pt.c:16750
    #7 0xde6570 in tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool) /home/marxin/gcc/gcc/cp/pt.c:16195
    #8 0xde5b89 in tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool) /home/marxin/gcc/gcc/cp/pt.c:15973
    #9 0xde72ff in tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool) /home/marxin/gcc/gcc/cp/pt.c:16234
    #10 0xde26a8 in instantiate_decl(tree_node*, bool, bool) /home/marxin/gcc/gcc/cp/pt.c:23283
    #11 0xe3406b in instantiate_pending_templates(int) /home/marxin/gcc/gcc/cp/pt.c:23399
    #12 0xc0ae48 in c_parse_final_cleanups() /home/marxin/gcc/gcc/cp/decl2.c:4705
    #13 0x1d7dfdb in compile_file /home/marxin/gcc/gcc/toplev.c:455
    #14 0x9a244e in do_compile /home/marxin/gcc/gcc/toplev.c:2063
    #15 0x9a244e in toplev::main(int, char**) /home/marxin/gcc/gcc/toplev.c:2198
    #16 0x9ac3c4 in main /home/marxin/gcc/gcc/main.c:39
    #17 0x7ffff6a396e4 in __libc_start_main (/lib64/libc.so.6+0x206e4)
    #18 0x9ad5c8 in _start (/dev/shm/objdir/prev-gcc/cc1plus+0x9ad5c8)

0x6310000dc800 is located 0 bytes inside of 65536-byte region [0x6310000dc800,0x6310000ec800)
allocated by thread T0 here:
    #0 0xa74da0 in __interceptor_malloc /home/marxin/gcc/libsanitizer/asan/asan_malloc_linux.cc:86
    #1 0x383d537 in xmalloc /home/marxin/gcc/libiberty/xmalloc.c:147
    #2 0x7fffffff92ff  ([stack]+0x362ff)

0x6310000afcf0 is located 62704 bytes inside of 65536-byte region [0x6310000a0800,0x6310000b0800)
allocated by thread T0 here:
    #0 0xa74da0 in __interceptor_malloc /home/marxin/gcc/libsanitizer/asan/asan_malloc_linux.cc:86
    #1 0x383d537 in xmalloc /home/marxin/gcc/libiberty/xmalloc.c:147

# 18
SUMMARY: AddressSanitizer: invalid-pointer-pair /home/marxin/gcc/gcc/cp/call.c:10551 in perform_implicit_conversion_flags(tree_node*, tree_node*, int, int)
=================================================================
==54800==ERROR: AddressSanitizer: invalid-pointer-pair: 0x6310000dc800 0x6310000b07f0
    #0 0x383a08a in _obstack_free /home/marxin/gcc/libiberty/obstack.c:277
    #1 0xad01a7 in perform_implicit_conversion_flags(tree_node*, tree_node*, int, int) /home/marxin/gcc/gcc/cp/call.c:10551
    #2 0xc2cb8b in build_noexcept_spec(tree_node*, int) /home/marxin/gcc/gcc/cp/except.c:1199
    #3 0xde0efd in regenerate_decl_from_template /home/marxin/gcc/gcc/cp/pt.c:22644
    #4 0xde0efd in instantiate_decl(tree_node*, bool, bool) /home/marxin/gcc/gcc/cp/pt.c:23209
    #5 0xb3c8e1 in cxx_eval_call_expression /home/marxin/gcc/gcc/cp/constexpr.c:1540
    #6 0xb40d38 in cxx_eval_constant_expression /home/marxin/gcc/gcc/cp/constexpr.c:4133
    #7 0xb40f8f in cxx_eval_constant_expression /home/marxin/gcc/gcc/cp/constexpr.c:4506
    #8 0xb40f8f in cxx_eval_constant_expression /home/marxin/gcc/gcc/cp/constexpr.c:4506
    #9 0xb4e6b0 in cxx_eval_outermost_constant_expr /home/marxin/gcc/gcc/cp/constexpr.c:4770
    #10 0xb53835 in maybe_constant_value(tree_node*, tree_node*) /home/marxin/gcc/gcc/cp/constexpr.c:4985
    #11 0xad9fa6 in build_over_call /home/marxin/gcc/gcc/cp/call.c:7984
    #12 0xad5dae in build_new_method_call_1 /home/marxin/gcc/gcc/cp/call.c:9253
    #13 0xad5dae in build_new_method_call(tree_node*, tree_node*, vec<tree_node*, va_gc, vl_embed>**, tree_node*, int, tree_node**, int) /home/marxin/gcc/gcc/cp/call.c:9322
    #14 0xadd9ca in build_special_member_call(tree_node*, tree_node*, vec<tree_node*, va_gc, vl_embed>**, tree_node*, int, int) /home/marxin/gcc/gcc/cp/call.c:8856
    #15 0xace28a in build_temp /home/marxin/gcc/gcc/cp/call.c:6513
    #16 0xace28a in convert_like_real /home/marxin/gcc/gcc/cp/call.c:6950
    #17 0xad8d02 in build_over_call /home/marxin/gcc/gcc/cp/call.c:7912
    #18 0xadc840 in build_new_function_call(tree_node*, vec<tree_node*, va_gc, vl_embed>**, int) /home/marxin/gcc/gcc/cp/call.c:4307
    #19 0xe6c95e in finish_call_expr(tree_node*, vec<tree_node*, va_gc, vl_embed>**, bool, bool, int) /home/marxin/gcc/gcc/cp/semantics.c:2468
    #20 0xdf40fd in tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*, bool, bool) /home/marxin/gcc/gcc/cp/pt.c:17786
    #21 0xdf8c5d in tsubst(tree_node*, tree_node*, int, tree_node*) /home/marxin/gcc/gcc/cp/pt.c:14302
    #22 0xe278ed in tsubst_decl /home/marxin/gcc/gcc/cp/pt.c:13048
    #23 0xdf9afd in tsubst(tree_node*, tree_node*, int, tree_node*) /home/marxin/gcc/gcc/cp/pt.c:13561
    #24 0xde84a8 in tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool) /home/marxin/gcc/gcc/cp/pt.c:16046
    #25 0xde5b89 in tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool) /home/marxin/gcc/gcc/cp/pt.c:15973
    #26 0xde72ff in tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool) /home/marxin/gcc/gcc/cp/pt.c:16234
    #27 0xde26a8 in instantiate_decl(tree_node*, bool, bool) /home/marxin/gcc/gcc/cp/pt.c:23283
    #28 0xe3406b in instantiate_pending_templates(int) /home/marxin/gcc/gcc/cp/pt.c:23399
    #29 0xc0ae48 in c_parse_final_cleanups() /home/marxin/gcc/gcc/cp/decl2.c:4705
    #30 0x1d7dfdb in compile_file /home/marxin/gcc/gcc/toplev.c:455
    #31 0x9a244e in do_compile /home/marxin/gcc/gcc/toplev.c:2063
    #32 0x9a244e in toplev::main(int, char**) /home/marxin/gcc/gcc/toplev.c:2198
    #33 0x9ac3c4 in main /home/marxin/gcc/gcc/main.c:39
    #34 0x7ffff6a396e4 in __libc_start_main (/lib64/libc.so.6+0x206e4)
    #35 0x9ad5c8 in _start (/dev/shm/objdir/prev-gcc/cc1plus+0x9ad5c8)

0x6310000dc800 is located 0 bytes inside of 65536-byte region [0x6310000dc800,0x6310000ec800)
allocated by thread T0 here:
    #0 0xa74da0 in __interceptor_malloc /home/marxin/gcc/libsanitizer/asan/asan_malloc_linux.cc:86
    #1 0x383d537 in xmalloc /home/marxin/gcc/libiberty/xmalloc.c:147
    #2 0x7fffffff92ff  ([stack]+0x362ff)

0x6310000b07f0 is located 65520 bytes inside of 65536-byte region [0x6310000a0800,0x6310000b0800)
allocated by thread T0 here:
    #0 0xa74da0 in __interceptor_malloc /home/marxin/gcc/libsanitizer/asan/asan_malloc_linux.cc:86
    #1 0x383d537 in xmalloc /home/marxin/gcc/libiberty/xmalloc.c:147

# 19
SUMMARY: AddressSanitizer: invalid-pointer-pair /home/marxin/gcc/gcc/cp/call.c:9305 in build_new_method_call_1
=================================================================
==54800==ERROR: AddressSanitizer: invalid-pointer-pair: 0x6310000dc800 0x6310000afcf0
    #0 0x383a08a in _obstack_free /home/marxin/gcc/libiberty/obstack.c:277
    #1 0xad5965 in build_new_method_call_1 /home/marxin/gcc/gcc/cp/call.c:9305
    #2 0xad5965 in build_new_method_call(tree_node*, tree_node*, vec<tree_node*, va_gc, vl_embed>**, tree_node*, int, tree_node**, int) /home/marxin/gcc/gcc/cp/call.c:9322
    #3 0xadd9ca in build_special_member_call(tree_node*, tree_node*, vec<tree_node*, va_gc, vl_embed>**, tree_node*, int, int) /home/marxin/gcc/gcc/cp/call.c:8856
    #4 0xc43205 in expand_default_init /home/marxin/gcc/gcc/cp/init.c:1889
    #5 0xc43205 in expand_aggr_init_1 /home/marxin/gcc/gcc/cp/init.c:2004
    #6 0xc44811 in build_aggr_init(tree_node*, tree_node*, int, int) /home/marxin/gcc/gcc/cp/init.c:1744
    #7 0xba389b in build_aggr_init_full_exprs /home/marxin/gcc/gcc/cp/decl.c:6160
    #8 0xba389b in check_initializer /home/marxin/gcc/gcc/cp/decl.c:6308
    #9 0xbd79cc in cp_finish_decl(tree_node*, tree_node*, bool, tree_node*, int) /home/marxin/gcc/gcc/cp/decl.c:7004
    #10 0xde9840 in tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool) /home/marxin/gcc/gcc/cp/pt.c:16117
    #11 0xde5b89 in tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool) /home/marxin/gcc/gcc/cp/pt.c:15973
    #12 0xde72ff in tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool) /home/marxin/gcc/gcc/cp/pt.c:16234
    #13 0xde26a8 in instantiate_decl(tree_node*, bool, bool) /home/marxin/gcc/gcc/cp/pt.c:23283
    #14 0xe3406b in instantiate_pending_templates(int) /home/marxin/gcc/gcc/cp/pt.c:23399
    #15 0xc0ae48 in c_parse_final_cleanups() /home/marxin/gcc/gcc/cp/decl2.c:4705
    #16 0x1d7dfdb in compile_file /home/marxin/gcc/gcc/toplev.c:455
    #17 0x9a244e in do_compile /home/marxin/gcc/gcc/toplev.c:2063
    #18 0x9a244e in toplev::main(int, char**) /home/marxin/gcc/gcc/toplev.c:2198
    #19 0x9ac3c4 in main /home/marxin/gcc/gcc/main.c:39
    #20 0x7ffff6a396e4 in __libc_start_main (/lib64/libc.so.6+0x206e4)
    #21 0x9ad5c8 in _start (/dev/shm/objdir/prev-gcc/cc1plus+0x9ad5c8)

0x6310000dc800 is located 0 bytes inside of 65536-byte region [0x6310000dc800,0x6310000ec800)
allocated by thread T0 here:
    #0 0xa74da0 in __interceptor_malloc /home/marxin/gcc/libsanitizer/asan/asan_malloc_linux.cc:86
    #1 0x383d537 in xmalloc /home/marxin/gcc/libiberty/xmalloc.c:147
    #2 0x7fffffff92ff  ([stack]+0x362ff)

0x6310000afcf0 is located 62704 bytes inside of 65536-byte region [0x6310000a0800,0x6310000b0800)
allocated by thread T0 here:
    #0 0xa74da0 in __interceptor_malloc /home/marxin/gcc/libsanitizer/asan/asan_malloc_linux.cc:86
    #1 0x383d537 in xmalloc /home/marxin/gcc/libiberty/xmalloc.c:147

# 20
SUMMARY: AddressSanitizer: invalid-pointer-pair /home/marxin/gcc/gcc/lcm.c:542 in compute_available(simple_bitmap_def**, simple_bitmap_def**, simple_bitmap_def**, simple_bitmap_def**)
=================================================================
==55217==ERROR: AddressSanitizer: invalid-pointer-pair: 0x6230000ccd18 0x6230000ce800
    #0 0x18eaca5 in compute_available(simple_bitmap_def**, simple_bitmap_def**, simple_bitmap_def**, simple_bitmap_def**) /home/marxin/gcc/gcc/lcm.c:542
    #1 0x33df88f in compute_cprop_data /home/marxin/gcc/gcc/cprop.c:644
    #2 0x33df88f in one_cprop_pass /home/marxin/gcc/gcc/cprop.c:1820
    #3 0x33df88f in execute_rtl_cprop /home/marxin/gcc/gcc/cprop.c:1932
    #4 0x33df88f in execute /home/marxin/gcc/gcc/cprop.c:1970
    #5 0x1ad090b in execute_one_pass(opt_pass*) /home/marxin/gcc/gcc/passes.c:2497
    #6 0x1ad2066 in execute_pass_list_1 /home/marxin/gcc/gcc/passes.c:2586
    #7 0x1ad2090 in execute_pass_list_1 /home/marxin/gcc/gcc/passes.c:2587
    #8 0x1ad20ef in execute_pass_list(function*, opt_pass*) /home/marxin/gcc/gcc/passes.c:2597
    #9 0x11c2649 in cgraph_node::expand() /home/marxin/gcc/gcc/cgraphunit.c:2139
    #10 0x11c5744 in expand_all_functions /home/marxin/gcc/gcc/cgraphunit.c:2275
    #11 0x11c5744 in symbol_table::compile() /home/marxin/gcc/gcc/cgraphunit.c:2623
    #12 0x11cbebb in symbol_table::compile() /home/marxin/gcc/gcc/cgraphunit.c:2537
    #13 0x11cbebb in symbol_table::finalize_compilation_unit() /home/marxin/gcc/gcc/cgraphunit.c:2716
    #14 0x1d7e59d in compile_file /home/marxin/gcc/gcc/toplev.c:480
    #15 0x9a244e in do_compile /home/marxin/gcc/gcc/toplev.c:2063
    #16 0x9a244e in toplev::main(int, char**) /home/marxin/gcc/gcc/toplev.c:2198
    #17 0x9ac3c4 in main /home/marxin/gcc/gcc/main.c:39
    #18 0x7ffff6a396e4 in __libc_start_main (/lib64/libc.so.6+0x206e4)
    #19 0x9ad5c8 in _start (/dev/shm/objdir/prev-gcc/cc1plus+0x9ad5c8)

0x6230000ccd18 is located 24 bytes inside of 6912-byte region [0x6230000ccd00,0x6230000ce800)
allocated by thread T0 here:
    #0 0xa74da0 in __interceptor_malloc /home/marxin/gcc/libsanitizer/asan/asan_malloc_linux.cc:86
    #1 0x383d537 in xmalloc /home/marxin/gcc/libiberty/xmalloc.c:147

Address 0x6230000ce800 is a wild pointer.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-Add-new-config-file.patch
Type: text/x-patch
Size: 5682 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20171229/fcb9178d/attachment.bin>


More information about the Gcc-patches mailing list