[binutils-gdb] libctf ctf-link.c labs?

Alan Modra amodra@sourceware.org
Tue Apr 21 22:33:30 GMT 2026


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=5aab589091ec550956873932cb15ea883763cd15

commit 5aab589091ec550956873932cb15ea883763cd15
Author: Alan Modra <amodra@gmail.com>
Date:   Wed Apr 22 08:02:54 2026 +0930

    libctf ctf-link.c labs?
    
    ctf-link.c has a labs that clang finds suspect when compiling for a
    32-bit host, warning about the signed/unsigned comparison.  (labs
    return is 32-bit signed, 0xffffffffe is 32-bit unsigned on a 32-bit
    host.)  I think the labs is bogus, apparently there because
    ctf_link_deduplicating_count_inputs returns a ssize_t rather than a
    size_t to cover error status returns.  However, the error status isn't
    a negative count but only -1.  So remove the labs.
    
            * ctf-link.c (ctf_link_deduplicating_per_cu): Avoid 32-bit
            host warning; don't use labs, cast "inputs" instead.
            Style/formatting fix.  Report "too many inputs" using %lu.

Diff:
---
 libctf/ctf-link.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/libctf/ctf-link.c b/libctf/ctf-link.c
index 04c019cc85c..10bef42602d 100644
--- a/libctf/ctf-link.c
+++ b/libctf/ctf-link.c
@@ -1114,19 +1114,19 @@ ctf_link_deduplicating_per_cu (ctf_dict_t *fp)
       uint32_t noutputs;
       uint32_t *parents;
 
-      if ((ninputs = ctf_link_deduplicating_count_inputs (fp, in,
-							  &only_input)) == -1)
+      ninputs = ctf_link_deduplicating_count_inputs (fp, in, &only_input);
+      if (ninputs == -1)
 	goto err_open_inputs;
 
       /* CU mapping with no inputs?  Skip.  */
       if (ninputs == 0)
 	continue;
 
-      if (labs ((long int) ninputs) > 0xfffffffe)
+      if ((size_t) ninputs > 0xfffffffe)
 	{
 	  ctf_set_errno (fp, EFBIG);
 	  ctf_err_warn (fp, 0, 0, _("too many inputs in deduplicating "
-				    "link: %li"), (long int) ninputs);
+				    "link: %lu"), (long unsigned) ninputs);
 	  goto err_open_inputs;
 	}


More information about the Binutils-cvs mailing list