[PATCH 2/3] libctf: create: check the right root-visible flag when adding enumerands

Nick Alcock nick.alcock@oracle.com
Fri Jun 27 18:31:28 GMT 2025


The root-visible flag we're dealing with here is directly out of the dict,
not a flag passed in to the API, so it does not have the values CTF_ADD_ROOT
or CTF_ADD_NONROOT: instead it's simply zero for non-root-visible, nonzero
otherwise.  Fix the test.

libctf/
	* ctf-create.c (ctf_add_enumerator): Fix root-visibility test.
---
 libctf/ctf-create.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/libctf/ctf-create.c b/libctf/ctf-create.c
index ca984e81b51..5820830f086 100644
--- a/libctf/ctf-create.c
+++ b/libctf/ctf-create.c
@@ -1073,7 +1073,7 @@ ctf_add_enumerator (ctf_dict_t *fp, ctf_id_t enid, const char *name,
   /* Enumeration constant names are only added, and only checked for duplicates,
      if the enum they are part of is a root-visible type.  */
 
-  if (root == CTF_ADD_ROOT && ctf_dynhash_lookup (fp->ctf_names, name))
+  if (root && ctf_dynhash_lookup (fp->ctf_names, name))
     {
       if (fp->ctf_flags & LCTF_STRICT_NO_DUP_ENUMERATORS)
 	return (ctf_set_errno (ofp, ECTF_DUPLICATE));
-- 
2.48.1.283.g18c60a128c



More information about the Binutils mailing list