translation_unit::language die_lang = translation_unit::LANG_UNKNOWN;
ctxt.get_die_language(die, die_lang);
- if (is_c_language(die_lang))
+ if (is_c_language(die_lang)
+ || ctxt.die_parent_map(source_of_die).empty())
{
+ // In units for the C languages all decls belong to the global
+ // namespace. This is generally the case if Libabigail
+ // determined that no DIE -> parent map was needed.
ABG_ASSERT(dwarf_tag(die) != DW_TAG_member);
return ctxt.global_scope();
}
--- /dev/null
+Functions changes summary: 0 Removed, 0 Changed, 0 Added function
+Variables changes summary: 0 Removed, 1 Changed, 0 Added variable
+
+1 Changed variable:
+
+ [C] 'rtld_global_ro _rtld_global_ro' was changed at ldsodefs.h:675:1:
+ type of variable changed:
+ type size hasn't changed
+ 6 data member changes:
+ 'int (const char**, const char**, bool*, void (void*)*, void*)* _dl_catch_error' offset changed from 5120 to 5376 (in bits) (by +256 bits)
+ 'void (void*)* _dl_error_free' offset changed from 5184 to 5440 (in bits) (by +256 bits)
+ 'void* (link_map*)* _dl_tls_get_addr_soft' offset changed from 5248 to 5120 (in bits) (by -128 bits)
+ 'int ()* _dl_discover_osversion' offset changed from 5312 to 5184 (in bits) (by -128 bits)
+ 'audit_ifaces* _dl_audit' offset changed from 5376 to 5248 (in bits) (by -128 bits)
+ 'unsigned int _dl_naudit' offset changed from 5440 to 5312 (in bits) (by -128 bits)
+
abigail::tools_utils::ABIDIFF_ABI_CHANGE,
"data/test-abidiff-exit/test-PR29144-report-2.txt",
"output/test-abidiff-exit/test-PR29144-report-2.txt"
+ },
+ {
+ "data/test-abidiff-exit/ld-2.28-210.so",
+ "data/test-abidiff-exit/ld-2.28-211.so",
+ "",
+ "",
+ "",
+ "--no-default-suppression",
+ abigail::tools_utils::ABIDIFF_ABI_CHANGE,
+ "data/test-abidiff-exit/test-ld-2.28-210.so--ld-2.28-211.so.txt",
+ "output/test-abidiff-exit/test-ld-2.28-210.so--ld-2.28-211.so.txt"
},
{0, 0, 0 ,0, 0, 0, abigail::tools_utils::ABIDIFF_OK, 0, 0}
};