libctf: create: non-root-visible types should not appear in name tables
We were accidentally interning newly-added and newly-opened non-root-visible types into name tables, and removing names from name tables when such types were removed. This is very wrong: the whole point of non-root-visible types is they do not go in name tables and cannot be looked up by name. This bug made non-root-visible types basically identical to root-visible types, right back to the earliest days of libctf in the Solaris era. libctf/ * ctf-open.c (init_types): Only intern root-visible types. * ctf-create.c (ctf_dtd_insert): Likewise. (ctf_dtd_delete): Only remove root-visible types. (ctf_rollback): Likewise. (ctf_add_generic): Adjust. (ctf_add_struct_sized): Adjust comment. (ctf_add_union_sized): Likewise. (ctf_add_enum): Likewise. * ctf-impl.h (ctf_dtd_insert): Adjust prototype.
Loading
-
mentioned in commit 17708cd4
-
mentioned in commit 7a7c8326
-
mentioned in commit 21397b78
-
mentioned in commit acc7a74a
-
mentioned in commit 66dd4c38
-
mentioned in commit 0daea2d6
-
mentioned in commit 4d71e17a
-
mentioned in commit 81900d2b
-
mentioned in commit e05406c5
-
mentioned in commit 682c71f4
-
mentioned in commit 8a6764d3
Please register or sign in to comment