This patch only moves ubsan ChangeLog entries to its own ChangeLogs, to make merging easy. This is only makeshift; when doing the final merge into trunk I'll prepend the ubsan CL entries into regular CLs.
Applying to ubsan branch. --- gcc/ChangeLog | 117 ----------------------------------------- gcc/ChangeLog.ubsan | 117 +++++++++++++++++++++++++++++++++++++++++ gcc/c-family/ChangeLog | 52 ------------------ gcc/c-family/ChangeLog.ubsan | 52 ++++++++++++++++++ gcc/cp/ChangeLog | 4 -- gcc/cp/ChangeLog.ubsan | 4 ++ gcc/testsuite/ChangeLog | 29 ---------- gcc/testsuite/ChangeLog.ubsan | 29 ++++++++++ 8 files changed, 202 insertions(+), 202 deletions(-) create mode 100644 gcc/ChangeLog.ubsan create mode 100644 gcc/c-family/ChangeLog.ubsan create mode 100644 gcc/cp/ChangeLog.ubsan create mode 100644 gcc/testsuite/ChangeLog.ubsan diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 7eb40f1..32f46ec 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,120 +1,3 @@ -2013-07-24 Marek Polacek <pola...@redhat.com> - - * ubsan.c (struct ubsan_typedesc): Improve comment. - -2013-07-21 Marek Polacek <pola...@redhat.com> - - * ubsan.c (struct ubsan_typedesc): Add comments. - (ubsan_typedesc_hasher::hash): Don't hash the VAR_DECL element. - (ubsan_typedesc_hasher::equal): Adjust comment. - (ubsan_typedesc_get_alloc_pool): Remove comment. - (empty_ubsan_typedesc_hash_table): Remove function. - (ubsan_source_location_type): Remove bogus comment. - (get_tinfo_for_type): Remove function. - (get_ubsan_type_info_for_type): New function. - (ubsan_type_descriptor): Use ASM_GENERATE_INTERNAL_LABEL instead of - ASM_FORMAT_PRIVATE_NAME. Use TYPE_MAIN_VARIANT of the type. - (ubsan_create_data): Likewise. - -2013-07-15 Marek Polacek <pola...@redhat.com> - - * gcc.c (ADD_STATIC_LIBUBSAN_LIBS): Define. - (LIBUBSAN_SPEC): Likewise. - (LIBUBSAN_EARLY_SPEC): Likewise. - (SANITIZER_SPEC): Handle libubsan. - (SANITIZER_EARLY_SPEC): Likewise. - -2013-07-15 Marek Polacek <pola...@redhat.com> - - * builtin-attrs.def (ATTR_COLD_NOTHROW_LEAF_LIST): Define. - * sanitizer.def (BUILT_IN_UBSAN_HANDLE_DIVREM_OVERFLOW): Don't mark - as NORETURN. - (BUILT_IN_UBSAN_HANDLE_SHIFT_OUT_OF_BOUNDS): Likewise. - * asan.c (ATTR_COLD_NOTHROW_LEAF_LIST): Define. - -2013-07-14 Marek Polacek <pola...@redhat.com> - - * opts.c (common_handle_option): Add -fsanitize=unreachable option. - * builtins.c (fold_builtin_0): Use SANITIZE_UNREACHABLE instead of - SANITIZE_UNDEFINED. - * flag-types.h (enum sanitize_code): Add SANITIZE_UNREACHABLE. - -2013-07-14 Marek Polacek <pola...@redhat.com> - - * Makefile.in (c-family/c-ubsan.o): Add alloc-pool.h, CGRAPH_H, - GIMPLE_H, HASH_TABLE_H, output.h, toplev.h and ubsan.h dependencies. - (builtins.o): Add ubsan.h dependency. - -2013-07-14 Marek Polacek <pola...@redhat.com> - - * builtins.c: Include ubsan.h. - (fold_builtin_0): Instrument __builtin_unreachable. - * sanitizer.def (BUILT_IN_UBSAN_HANDLE_BUILTIN_UNREACHABLE): Define. - * Makefile.in: Add ubsan.c. - * ubsan.h: New file. - * ubsan.c: New file. - -2013-07-14 Jakub Jelinek <ja...@redhat.com> - - * gcc.c: Document %{%:function(args):X}. - (SANITIZER_EARLY_SPEC, SANITIZER_SPEC): Use %:sanitize(address) - instead of fsanitize=address and %:sanitize(thread) instead of - fsanitize=thread. - (static_spec_functions): Add sanitize. - (handle_spec_function): Add retval_nonnull argument and if non-NULL, - store funcval != NULL there. - (do_spec_1): Adjust handle_spec_function caller. - (handle_braces): Allow %:function(args) as condition. - (sanitize_spec_function): New function. - * common.opt (fsanitize=): Add Driver. - * config/darwin.h (LINK_COMMAND_SPEC_A): Use %:sanitize(address) - instead of fsanitize=address. - * config/arm/linux-eabi.h (ASAN_CC1_SPEC): Use %:sanitize(address) - instead of fsanitize=address*. - -2013-07-14 Marek Polacek <pola...@redhat.com> - - * common.opt (flag_sanitize): Add variable. - (fsanitize=): Add option. - (fsanitize=thread): Remove option. - (fsanitize=address): Likewise. - * flag-types.h (sanitize_code): New enum. - * opts.c (common_handle_option): Parse command line arguments - of -fsanitize=. - * varasm.c (get_variable_section): Adjust. - (assemble_noswitch_variable): Likewise. - (assemble_variable): Likewise. - (output_constant_def_contents): Likewise. - (categorize_decl_for_section): Likewise. - (place_block_symbol): Likewise. - (output_object_block): Likewise. - * builtins.def: Likewise. - * toplev.c (compile_file): Likewise. - (process_options): Likewise. - * cppbuiltin.c: Likewise. - * tsan.c (tsan_pass): Likewise. - (tsan_gate): Likewise. - (tsan_gate_O0): Likewise. - * cfgexpand.c (partition_stack_vars): Likewise. - (expand_stack_vars): Likewise. - (defer_stack_allocation): Likewise. - (expand_used_vars): Likewise. - * cfgcleanup.c (old_insns_match_p): Likewise. - * asan.c (asan_finish_file): Likewise. - (asan_instrument): Likewise. - (gate_asan): Likewise. - -2013-07-05 Marek Polacek <pola...@redhat.com> - - * Makefile.in: Add ubsan.c. - * common.opt: Add -fsanitize=undefined option. - * doc/invoke.texi: Document the new flag. - * sanitizer.def (DEF_SANITIZER_BUILTIN): Define. - * builtin-attrs.def (ATTR_COLD): Define. - * asan.c (initialize_sanitizer_builtins): Build - BT_FN_VOID_PTR_PTR_PTR. - * builtins.def (BUILT_IN_UBSAN_HANDLE_DIVREM_OVERFLOW, - BUILT_IN_UBSAN_HANDLE_SHIFT_OUT_OF_BOUNDS): Define. 2013-07-05 Thomas Quinot <qui...@adacore.com> diff --git a/gcc/ChangeLog.ubsan b/gcc/ChangeLog.ubsan new file mode 100644 index 0000000..3d15c19 --- /dev/null +++ b/gcc/ChangeLog.ubsan @@ -0,0 +1,117 @@ +2013-07-24 Marek Polacek <pola...@redhat.com> + + * ubsan.c (struct ubsan_typedesc): Improve comment. + +2013-07-21 Marek Polacek <pola...@redhat.com> + + * ubsan.c (struct ubsan_typedesc): Add comments. + (ubsan_typedesc_hasher::hash): Don't hash the VAR_DECL element. + (ubsan_typedesc_hasher::equal): Adjust comment. + (ubsan_typedesc_get_alloc_pool): Remove comment. + (empty_ubsan_typedesc_hash_table): Remove function. + (ubsan_source_location_type): Remove bogus comment. + (get_tinfo_for_type): Remove function. + (get_ubsan_type_info_for_type): New function. + (ubsan_type_descriptor): Use ASM_GENERATE_INTERNAL_LABEL instead of + ASM_FORMAT_PRIVATE_NAME. Use TYPE_MAIN_VARIANT of the type. + (ubsan_create_data): Likewise. + +2013-07-15 Marek Polacek <pola...@redhat.com> + + * gcc.c (ADD_STATIC_LIBUBSAN_LIBS): Define. + (LIBUBSAN_SPEC): Likewise. + (LIBUBSAN_EARLY_SPEC): Likewise. + (SANITIZER_SPEC): Handle libubsan. + (SANITIZER_EARLY_SPEC): Likewise. + +2013-07-15 Marek Polacek <pola...@redhat.com> + + * builtin-attrs.def (ATTR_COLD_NOTHROW_LEAF_LIST): Define. + * sanitizer.def (BUILT_IN_UBSAN_HANDLE_DIVREM_OVERFLOW): Don't mark + as NORETURN. + (BUILT_IN_UBSAN_HANDLE_SHIFT_OUT_OF_BOUNDS): Likewise. + * asan.c (ATTR_COLD_NOTHROW_LEAF_LIST): Define. + +2013-07-14 Marek Polacek <pola...@redhat.com> + + * opts.c (common_handle_option): Add -fsanitize=unreachable option. + * builtins.c (fold_builtin_0): Use SANITIZE_UNREACHABLE instead of + SANITIZE_UNDEFINED. + * flag-types.h (enum sanitize_code): Add SANITIZE_UNREACHABLE. + +2013-07-14 Marek Polacek <pola...@redhat.com> + + * Makefile.in (c-family/c-ubsan.o): Add alloc-pool.h, CGRAPH_H, + GIMPLE_H, HASH_TABLE_H, output.h, toplev.h and ubsan.h dependencies. + (builtins.o): Add ubsan.h dependency. + +2013-07-14 Marek Polacek <pola...@redhat.com> + + * builtins.c: Include ubsan.h. + (fold_builtin_0): Instrument __builtin_unreachable. + * sanitizer.def (BUILT_IN_UBSAN_HANDLE_BUILTIN_UNREACHABLE): Define. + * Makefile.in: Add ubsan.c. + * ubsan.h: New file. + * ubsan.c: New file. + +2013-07-14 Jakub Jelinek <ja...@redhat.com> + + * gcc.c: Document %{%:function(args):X}. + (SANITIZER_EARLY_SPEC, SANITIZER_SPEC): Use %:sanitize(address) + instead of fsanitize=address and %:sanitize(thread) instead of + fsanitize=thread. + (static_spec_functions): Add sanitize. + (handle_spec_function): Add retval_nonnull argument and if non-NULL, + store funcval != NULL there. + (do_spec_1): Adjust handle_spec_function caller. + (handle_braces): Allow %:function(args) as condition. + (sanitize_spec_function): New function. + * common.opt (fsanitize=): Add Driver. + * config/darwin.h (LINK_COMMAND_SPEC_A): Use %:sanitize(address) + instead of fsanitize=address. + * config/arm/linux-eabi.h (ASAN_CC1_SPEC): Use %:sanitize(address) + instead of fsanitize=address*. + +2013-07-14 Marek Polacek <pola...@redhat.com> + + * common.opt (flag_sanitize): Add variable. + (fsanitize=): Add option. + (fsanitize=thread): Remove option. + (fsanitize=address): Likewise. + * flag-types.h (sanitize_code): New enum. + * opts.c (common_handle_option): Parse command line arguments + of -fsanitize=. + * varasm.c (get_variable_section): Adjust. + (assemble_noswitch_variable): Likewise. + (assemble_variable): Likewise. + (output_constant_def_contents): Likewise. + (categorize_decl_for_section): Likewise. + (place_block_symbol): Likewise. + (output_object_block): Likewise. + * builtins.def: Likewise. + * toplev.c (compile_file): Likewise. + (process_options): Likewise. + * cppbuiltin.c: Likewise. + * tsan.c (tsan_pass): Likewise. + (tsan_gate): Likewise. + (tsan_gate_O0): Likewise. + * cfgexpand.c (partition_stack_vars): Likewise. + (expand_stack_vars): Likewise. + (defer_stack_allocation): Likewise. + (expand_used_vars): Likewise. + * cfgcleanup.c (old_insns_match_p): Likewise. + * asan.c (asan_finish_file): Likewise. + (asan_instrument): Likewise. + (gate_asan): Likewise. + +2013-07-05 Marek Polacek <pola...@redhat.com> + + * Makefile.in: Add ubsan.c. + * common.opt: Add -fsanitize=undefined option. + * doc/invoke.texi: Document the new flag. + * sanitizer.def (DEF_SANITIZER_BUILTIN): Define. + * builtin-attrs.def (ATTR_COLD): Define. + * asan.c (initialize_sanitizer_builtins): Build + BT_FN_VOID_PTR_PTR_PTR. + * builtins.def (BUILT_IN_UBSAN_HANDLE_DIVREM_OVERFLOW, + BUILT_IN_UBSAN_HANDLE_SHIFT_OUT_OF_BOUNDS): Define. diff --git a/gcc/c-family/ChangeLog b/gcc/c-family/ChangeLog index 4ab80fb..363559a 100644 --- a/gcc/c-family/ChangeLog +++ b/gcc/c-family/ChangeLog @@ -1,55 +1,3 @@ -2013-07-14 Marek Polacek <pola...@redhat.com> - - * c-ubsan.c (struct ubsan_typedesc): Move to ubsan.c. - (struct ubsan_typedesc_hasher): Likewise. - (ubsan_typedesc_hasher::hash): Likewise. - (ubsan_typedesc_hasher::equal): Likewise. - (ubsan_typedesc_init): Likewise. - (ubsan_typedesc_get_alloc_pool): Likewise. - (get_typedesc_hash_table): Likewise. - (ubsan_typedesc_new): Likewise. - (empty_ubsan_typedesc_hash_table): Likewise. - (uptr_type): Likewise. - (ubsan_encode_value): Likewise. - (ubsan_type_descriptor_type): Likewise. - (ubsan_source_location_type): Likewise. - (ubsan_source_location): Likewise. - (get_tinfo_for_type): Likewise. - (ubsan_type_descriptor): Likewise. - (ubsan_create_data): Likewise. - * c-ubsan.h: Rename GCC_UBSAN_H to GCC_C_UBSAN_H. - -2013-07-07 Marek Polacek <pola...@redhat.com> - - * c-ubsan.c (empty_ubsan_typedesc_hash_table): Comment out function. - -2013-07-05 Marek Polacek <pola...@redhat.com> - - * c-ubsan.c (struct ubsan_typedesc): Declare. - (ubsan_typedesc_ht): New hashtable. - (ubsan_typedesc_hasher::hash): New function. - (ubsan_typedesc_hasher::equal): Likewise. - (ubsan_typedesc_init): Likewise. - (ubsan_typedesc_get_alloc_pool): Likewise. - (get_typedesc_hash_table): Likewise. - (ubsan_typedesc_new): Likewise. - (empty_ubsan_typedesc_hash_table): Likewise. - (uptr_type): Likewise. - (ubsan_encode_value): Likewise. - (ubsan_type_descriptor_type): Likewise. - (ubsan_source_location_type): Likewise. - (ubsan_source_location): Likewise. - (get_tinfo_for_type): Likewise. - (ubsan_type_descriptor): Likewise. - (ubsan_create_data): Likewise. - (ubsan_instrument_division): Create and pass arguments for the ubsan - library. - (ubsan_instrument_shift): Likewise. - -2013-07-05 Marek Polacek <pola...@redhat.com> - - * c-ubsan.c: New file. - * c-ubsan.h: New file. 2013-07-04 Joern Rennecke <joern.renne...@embecosm.com> diff --git a/gcc/c-family/ChangeLog.ubsan b/gcc/c-family/ChangeLog.ubsan new file mode 100644 index 0000000..d982089 --- /dev/null +++ b/gcc/c-family/ChangeLog.ubsan @@ -0,0 +1,52 @@ +2013-07-14 Marek Polacek <pola...@redhat.com> + + * c-ubsan.c (struct ubsan_typedesc): Move to ubsan.c. + (struct ubsan_typedesc_hasher): Likewise. + (ubsan_typedesc_hasher::hash): Likewise. + (ubsan_typedesc_hasher::equal): Likewise. + (ubsan_typedesc_init): Likewise. + (ubsan_typedesc_get_alloc_pool): Likewise. + (get_typedesc_hash_table): Likewise. + (ubsan_typedesc_new): Likewise. + (empty_ubsan_typedesc_hash_table): Likewise. + (uptr_type): Likewise. + (ubsan_encode_value): Likewise. + (ubsan_type_descriptor_type): Likewise. + (ubsan_source_location_type): Likewise. + (ubsan_source_location): Likewise. + (get_tinfo_for_type): Likewise. + (ubsan_type_descriptor): Likewise. + (ubsan_create_data): Likewise. + * c-ubsan.h: Rename GCC_UBSAN_H to GCC_C_UBSAN_H. + +2013-07-07 Marek Polacek <pola...@redhat.com> + + * c-ubsan.c (empty_ubsan_typedesc_hash_table): Comment out function. + +2013-07-05 Marek Polacek <pola...@redhat.com> + + * c-ubsan.c (struct ubsan_typedesc): Declare. + (ubsan_typedesc_ht): New hashtable. + (ubsan_typedesc_hasher::hash): New function. + (ubsan_typedesc_hasher::equal): Likewise. + (ubsan_typedesc_init): Likewise. + (ubsan_typedesc_get_alloc_pool): Likewise. + (get_typedesc_hash_table): Likewise. + (ubsan_typedesc_new): Likewise. + (empty_ubsan_typedesc_hash_table): Likewise. + (uptr_type): Likewise. + (ubsan_encode_value): Likewise. + (ubsan_type_descriptor_type): Likewise. + (ubsan_source_location_type): Likewise. + (ubsan_source_location): Likewise. + (get_tinfo_for_type): Likewise. + (ubsan_type_descriptor): Likewise. + (ubsan_create_data): Likewise. + (ubsan_instrument_division): Create and pass arguments for the ubsan + library. + (ubsan_instrument_shift): Likewise. + +2013-07-05 Marek Polacek <pola...@redhat.com> + + * c-ubsan.c: New file. + * c-ubsan.h: New file. diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 65bd55d..ea02784 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,7 +1,3 @@ -2013-07-05 Marek Polacek <pola...@redhat.com> - - * typeck.c (cp_build_binary_op): Add division by zero and shift - instrumentation. 2013-07-04 Paolo Carlini <paolo.carl...@oracle.com> diff --git a/gcc/cp/ChangeLog.ubsan b/gcc/cp/ChangeLog.ubsan new file mode 100644 index 0000000..0ab2870 --- /dev/null +++ b/gcc/cp/ChangeLog.ubsan @@ -0,0 +1,4 @@ +2013-07-05 Marek Polacek <pola...@redhat.com> + + * typeck.c (cp_build_binary_op): Add division by zero and shift + instrumentation. diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 19aa109..4479470 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,32 +1,3 @@ -2013-07-22 Marek Polacek <pola...@redhat.com> - - * c-c++-common/ubsan/div-by-zero-3.c: Add more testing. - * c-c++-common/ubsan/div-by-zero-1.c: Likewise. - * c-c++-common/ubsan/shift-1.c: Likewise. - * c-c++-common/ubsan/shift-2.c: Likewise. - * c-c++-common/ubsan/div-by-zero-2.c: Likewise. - -2013-07-18 Marek Polacek <pola...@redhat.com> - - * lib/ubsan-dg.exp: Fix a typo in comment. - -2013-07-15 Marek Polacek <pola...@redhat.com> - - * lib/ubsan-dg.exp: New file. - * g++.dg/ubsan/ubsan.exp: New file. - * gcc.dg/ubsan/ubsan.exp: New file. - * g++.dg/ubsan/cxx11-shift-1.C: New test. - * g++.dg/ubsan/cxx11-shift-2.C: New test. - * c-c++-common/ubsan/div-by-zero-3.c: New test. - * c-c++-common/ubsan/div-by-zero-1.c: New test. - * c-c++-common/ubsan/div-by-zero-4.c: New test. - * c-c++-common/ubsan/shift-3.c: New test. - * c-c++-common/ubsan/unreachable-1.c: New test. - * c-c++-common/ubsan/shift-1.c: New test. - * c-c++-common/ubsan/shift-2.c: New test. - * c-c++-common/ubsan/div-by-zero-2.c: New test. - * gcc.dg/ubsan/c99-shift-2.c: New test. - * gcc.dg/ubsan/c99-shift-1.c: New test. 2013-07-04 Joern Rennecke <joern.renne...@embecosm.com> diff --git a/gcc/testsuite/ChangeLog.ubsan b/gcc/testsuite/ChangeLog.ubsan new file mode 100644 index 0000000..453bd61 --- /dev/null +++ b/gcc/testsuite/ChangeLog.ubsan @@ -0,0 +1,29 @@ +2013-07-22 Marek Polacek <pola...@redhat.com> + + * c-c++-common/ubsan/div-by-zero-3.c: Add more testing. + * c-c++-common/ubsan/div-by-zero-1.c: Likewise. + * c-c++-common/ubsan/shift-1.c: Likewise. + * c-c++-common/ubsan/shift-2.c: Likewise. + * c-c++-common/ubsan/div-by-zero-2.c: Likewise. + +2013-07-18 Marek Polacek <pola...@redhat.com> + + * lib/ubsan-dg.exp: Fix a typo in comment. + +2013-07-15 Marek Polacek <pola...@redhat.com> + + * lib/ubsan-dg.exp: New file. + * g++.dg/ubsan/ubsan.exp: New file. + * gcc.dg/ubsan/ubsan.exp: New file. + * g++.dg/ubsan/cxx11-shift-1.C: New test. + * g++.dg/ubsan/cxx11-shift-2.C: New test. + * c-c++-common/ubsan/div-by-zero-3.c: New test. + * c-c++-common/ubsan/div-by-zero-1.c: New test. + * c-c++-common/ubsan/div-by-zero-4.c: New test. + * c-c++-common/ubsan/shift-3.c: New test. + * c-c++-common/ubsan/unreachable-1.c: New test. + * c-c++-common/ubsan/shift-1.c: New test. + * c-c++-common/ubsan/shift-2.c: New test. + * c-c++-common/ubsan/div-by-zero-2.c: New test. + * gcc.dg/ubsan/c99-shift-2.c: New test. + * gcc.dg/ubsan/c99-shift-1.c: New test. -- 1.7.7.6 Marek