[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