aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Alcock <nick.alcock@oracle.com>2024-07-15 19:39:48 +0100
committerNick Alcock <nick.alcock@oracle.com>2024-07-31 21:02:04 +0100
commit2b35088f30d95cd45bb572765a7b01260a1d8ee2 (patch)
treecfb6f72357065c90ffc5808aff3765a15c95ee84
parentb404bf7270f9afada6d089624ab5e9b39fcf344c (diff)
downloadbinutils-2b35088f30d95cd45bb572765a7b01260a1d8ee2.zip
binutils-2b35088f30d95cd45bb572765a7b01260a1d8ee2.tar.gz
binutils-2b35088f30d95cd45bb572765a7b01260a1d8ee2.tar.bz2
libctf, dump: correctly dump non-root-visible types
The flag test when dumping non-root-visible tyeps was doubly wrong: the flags word is a *bitfield* containing CTF_ADD_ROOT as one possible value, so needs | and & testing, not just ==, and CTF_ADD_NONROOT is 0, so cannot be tested for this way: one must check for the non-presence of CTF_ADD_ROOT. libctf/ * ctf-dump.c (ctf_dump_format_type): Fix non-root flag test.
-rw-r--r--libctf/ctf-dump.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/libctf/ctf-dump.c b/libctf/ctf-dump.c
index 80a3b26..cd41996 100644
--- a/libctf/ctf-dump.c
+++ b/libctf/ctf-dump.c
@@ -106,7 +106,7 @@ ctf_dump_format_type (ctf_dict_t *fp, ctf_id_t id, int flag)
const char *idstr = "";
id = new_id;
- if (flag == CTF_ADD_NONROOT)
+ if (!(flag & CTF_ADD_ROOT))
{
nonroot_leader = "{";
nonroot_trailer = "}";