From: Dodji Seketeli Date: Fri, 13 Jan 2017 23:06:19 +0000 (+0100) Subject: [dwarf reader] Do not over de-duplicate function *definitions* X-Git-Tag: upstream/1.0~152 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=2421bcc8779b26d65e9824ce70af5fcb7ae54bcb;p=platform%2Fupstream%2Flibabigail.git [dwarf reader] Do not over de-duplicate function *definitions* When a function needs to be completed, we sometimes wrongly try to de-duplicate rather than just complete it. * src/abg-dwarf-reader.cc (build_or_get_fn_decl_if_not_suppressed): Do try to de-duplicate a function if it's to be completed. Signed-off-by: Dodji Seketeli --- diff --git a/src/abg-dwarf-reader.cc b/src/abg-dwarf-reader.cc index 1396dbc2..35273745 100644 --- a/src/abg-dwarf-reader.cc +++ b/src/abg-dwarf-reader.cc @@ -12291,12 +12291,13 @@ build_or_get_fn_decl_if_not_suppressed(read_context& ctxt, if (function_is_suppressed(ctxt, scope, fn_die)) return fn; - if ((fn = is_function_decl(ctxt.lookup_artifact_from_die(fn_die, - where_offset)))) - { - ctxt.associate_die_to_decl(fn_die, fn, /*do_associate_by_repr=*/true); - return fn; - } + if (!result) + if ((fn = is_function_decl(ctxt.lookup_artifact_from_die(fn_die, + where_offset)))) + { + ctxt.associate_die_to_decl(fn_die, fn, /*do_associate_by_repr=*/true); + return fn; + } fn = build_function_decl(ctxt, fn_die, where_offset, result);