From 75a418785a223a0efa41824bf55826271a4ddde6 Mon Sep 17 00:00:00 2001 From: Eric Christopher Date: Mon, 22 Jul 2013 21:54:33 +0000 Subject: [PATCH] dwarf2out.c (die_odr_checksum): New function to use CHECKSUM_ macros and ULEB128 for DIE tag. 2013-07-22 Eric Christopher * dwarf2out.c (die_odr_checksum): New function to use CHECKSUM_ macros and ULEB128 for DIE tag. (generate_type_signature): Use. From-SVN: r201148 --- gcc/ChangeLog | 6 ++++++ gcc/dwarf2out.c | 12 ++++++++++-- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 6999d3f8454..8613ff5d025 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2013-07-22 Eric Christopher + + * dwarf2out.c (die_odr_checksum): New function to use + CHECKSUM_ macros and ULEB128 for DIE tag. + (generate_type_signature): Use. + 2013-07-22 Eric Botcazou * config.gcc (sparc*-*-*): Accept leon3 processor. diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c index c3417636d2c..87f96447fa3 100644 --- a/gcc/dwarf2out.c +++ b/gcc/dwarf2out.c @@ -6103,6 +6103,14 @@ die_checksum_ordered (dw_die_ref die, struct md5_ctx *ctx, int *mark) CHECKSUM_ULEB128 (0); } +/* Add a type name and tag to a hash. */ +static void +die_odr_checksum (int tag, const char *name, md5_ctx *ctx) +{ + CHECKSUM_ULEB128 (tag); + CHECKSUM_STRING (name); +} + #undef CHECKSUM #undef CHECKSUM_STRING #undef CHECKSUM_ATTR @@ -6143,8 +6151,8 @@ generate_type_signature (dw_die_ref die, comdat_type_node *type_node) if (parent != NULL) checksum_die_context (parent, &ctx); - md5_process_bytes (&die->die_tag, sizeof (die->die_tag), &ctx); - md5_process_bytes (name, strlen (name) + 1, &ctx); + /* Checksum the current DIE. */ + die_odr_checksum (die->die_tag, name, &ctx); md5_finish_ctx (&ctx, checksum); add_AT_data8 (type_node->root_die, DW_AT_GNU_odr_signature, &checksum[8]); -- 2.30.2