From fc6cc44de9d4924a3daaaf506691fb1ec0817305 Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Thu, 6 Nov 2025 09:29:42 -0600 Subject: [PATCH] cpukit/libdl: Correct comparisons of different signedness The GCC warning -Wsign-compare flagged these instances of comparing signed and unsigned types. A common pair was size_t and int. --- cpukit/libdl/rtl-allocator.c | 2 +- cpukit/libdl/rtl-archive.c | 2 +- cpukit/libdl/rtl-debugger.c | 2 +- cpukit/libdl/rtl-elf.c | 8 ++++---- cpukit/libdl/rtl-obj.c | 4 ++-- cpukit/libdl/rtl-rap.c | 8 ++++---- cpukit/libdl/rtl-shell.c | 20 ++++++++++---------- cpukit/libdl/rtl-sym.c | 2 +- cpukit/libdl/rtl-trace.c | 2 +- cpukit/libdl/rtl-unresolved.c | 2 +- 10 files changed, 26 insertions(+), 26 deletions(-) diff --git a/cpukit/libdl/rtl-allocator.c b/cpukit/libdl/rtl-allocator.c index 7503183367..5519ea69a8 100644 --- a/cpukit/libdl/rtl-allocator.c +++ b/cpukit/libdl/rtl-allocator.c @@ -61,7 +61,7 @@ static const char* tag_labels[6] = void rtems_rtl_alloc_initialise (rtems_rtl_alloc_data* data) { - int c; + size_t c; data->allocator = rtems_rtl_alloc_heap; for (c = 0; c < RTEMS_RTL_ALLOC_TAGS; ++c) rtems_chain_initialize_empty (&data->indirects[c]); diff --git a/cpukit/libdl/rtl-archive.c b/cpukit/libdl/rtl-archive.c index 2782d1d53e..a31def1caa 100644 --- a/cpukit/libdl/rtl-archive.c +++ b/cpukit/libdl/rtl-archive.c @@ -109,7 +109,7 @@ rtems_rtl_seek_read (int fd, off_t off, size_t len, uint8_t* buffer) { if (lseek (fd, off, SEEK_SET) < 0) return false; - if (read (fd, buffer, len) != len) + if (read (fd, buffer, len) != (ssize_t)len) return false; return true; } diff --git a/cpukit/libdl/rtl-debugger.c b/cpukit/libdl/rtl-debugger.c index 3c25605f5e..dd23078cf5 100644 --- a/cpukit/libdl/rtl-debugger.c +++ b/cpukit/libdl/rtl-debugger.c @@ -68,7 +68,7 @@ _rtld_linkmap_add (rtems_rtl_obj* obj) struct link_map* l = obj->linkmap; struct link_map* prev; uint32_t obj_num = obj->obj_num; - int i; + size_t i; if (rtems_rtl_trace (RTEMS_RTL_TRACE_DETAIL)) printf ("rtl: linkmap_add\n"); diff --git a/cpukit/libdl/rtl-elf.c b/cpukit/libdl/rtl-elf.c index aa626dd7d1..50d22f0712 100644 --- a/cpukit/libdl/rtl-elf.c +++ b/cpukit/libdl/rtl-elf.c @@ -443,7 +443,7 @@ rtems_rtl_elf_relocate_worker (rtems_rtl_obj* obj, rtems_rtl_obj_sect* strtab; bool is_rela; size_t reloc_size; - int reloc; + size_t reloc; /* * First check if the section the relocations are for exists. If it does not @@ -690,7 +690,7 @@ rtems_rtl_elf_common (rtems_rtl_obj* obj, { rtems_rtl_elf_common_data* common = (rtems_rtl_elf_common_data*) data; rtems_rtl_obj_cache* symbols; - int sym; + size_t sym; rtems_rtl_obj_caches (&symbols, NULL, NULL); @@ -887,7 +887,7 @@ rtems_rtl_elf_symbols_load (rtems_rtl_obj* obj, rtems_rtl_obj_sym* gsym; char* gstring; size_t common_offset; - int sym; + size_t sym; strtab = rtems_rtl_obj_find_section (obj, ".strtab"); if (!strtab) @@ -1218,7 +1218,7 @@ rtems_rtl_elf_symbols_locate (rtems_rtl_obj* obj, (void) sect; (void) data; - int sym; + size_t sym; for (sym = 0; sym < obj->local_syms; ++sym) { diff --git a/cpukit/libdl/rtl-obj.c b/cpukit/libdl/rtl-obj.c index edcf1e8a62..488057308d 100644 --- a/cpukit/libdl/rtl-obj.c +++ b/cpukit/libdl/rtl-obj.c @@ -1357,7 +1357,7 @@ rtems_rtl_obj_run_cdtors (rtems_rtl_obj* obj, uint32_t mask) { rtems_rtl_cdtor* handler; size_t handlers = sect->size / sizeof (rtems_rtl_cdtor); - int c; + size_t c; for (c = 0, handler = sect->base; c < handlers; ++c) if (*handler) (*handler) (); @@ -1407,7 +1407,7 @@ rtems_rtl_obj_run_dtors (rtems_rtl_obj* obj) static bool rtems_rtl_obj_file_load (rtems_rtl_obj* obj, int fd) { - int l; + size_t l; for (l = 0; l < (sizeof (loaders) / sizeof (rtems_rtl_loader_table)); ++l) { diff --git a/cpukit/libdl/rtl-rap.c b/cpukit/libdl/rtl-rap.c index cab0e46969..e6a7e36270 100644 --- a/cpukit/libdl/rtl-rap.c +++ b/cpukit/libdl/rtl-rap.c @@ -201,7 +201,7 @@ static uint32_t rtems_rtl_rap_get_uint32 (const uint8_t* buffer) { uint32_t value = 0; - int b; + size_t b; for (b = 0; b < sizeof (uint32_t); ++b) { value <<= 8; @@ -471,8 +471,8 @@ rtems_rtl_rap_load_linkmap (rtems_rtl_rap* rap, rtems_rtl_obj* obj) section_detail* tmp2; uint32_t obj_detail_size; uint32_t pos = 0; - int i; - int j; + uint32_t i; + uint32_t j; obj_detail_size = sizeof (struct link_map) * obj->obj_num; @@ -600,7 +600,7 @@ static bool rtems_rtl_rap_load_symbols (rtems_rtl_rap* rap, rtems_rtl_obj* obj) { rtems_rtl_obj_sym* gsym; - int sym; + uint32_t sym; obj->global_size = rap->symbols * sizeof (rtems_rtl_obj_sym) + rap->strtab_size; diff --git a/cpukit/libdl/rtl-shell.c b/cpukit/libdl/rtl-shell.c index b3f3e80474..2f7005b044 100644 --- a/cpukit/libdl/rtl-shell.c +++ b/cpukit/libdl/rtl-shell.c @@ -100,8 +100,8 @@ rtems_rtl_obj_summary_iterator (rtems_chain_node* node, void* data) static int rtems_rtl_count_symbols (rtems_rtl_data* rtl) { - int count; - int bucket; + size_t count; + size_t bucket; for (count = 0, bucket = 0; bucket < rtl->globals.nbuckets; ++bucket) count += rtems_rtl_chain_count (&rtl->globals.buckets[bucket]); return count; @@ -178,7 +178,7 @@ typedef struct static bool rtems_rtl_parse_opt (const char opt, int argc, char *argv[]) { - size_t arg; + int arg; for (arg = 1; arg < argc; ++arg) { if (argv[arg][0] == '-') @@ -200,7 +200,7 @@ rtems_rtl_check_opts (const rtems_printer* printer, char* argv[]) { size_t olen = strlen (opts); - size_t arg; + int arg; for (arg = 1; arg < argc; ++arg) { if (argv[arg][0] == '-') @@ -347,7 +347,7 @@ rtems_rtl_print_symbols (rtems_rtl_obj_print* print, { regex_t rege; int max_len = 0; - int s; + size_t s; if (print->re_symbol != NULL && !rtems_rtl_regx_compile (print->printer, @@ -700,7 +700,7 @@ rtems_rtl_shell_sym (const rtems_printer* printer, int argc, char* argv[]) int rtems_rtl_shell_object (const rtems_printer* printer, int argc, char* argv[]) { - size_t arg; + int arg; --argc; ++argv; @@ -1055,7 +1055,7 @@ rtems_rtl_shell_call (const rtems_printer* printer, int argc, char* argv[]) { if (args_s) { - size_t arg; + int arg; for (arg = label + 1; arg < argc; ++arg) { size_t o = strlen (values.s); @@ -1071,8 +1071,8 @@ rtems_rtl_shell_call (const rtems_printer* printer, int argc, char* argv[]) } else if (args_u || args_i) { - size_t arg; - size_t i; + int arg; + int i; if (argc > (label + 1 + CALL_ARG_COUNT)) { rtems_printf (printer, "error: too many args\n"); @@ -1216,7 +1216,7 @@ rtems_rtl_shell_command (int argc, char* argv[]) rtems_printer printer; int arg; - int t; + size_t t; rtems_print_printer_printf (&printer); diff --git a/cpukit/libdl/rtl-sym.c b/cpukit/libdl/rtl-sym.c index 98519b6c23..da6f5a8037 100644 --- a/cpukit/libdl/rtl-sym.c +++ b/cpukit/libdl/rtl-sym.c @@ -184,7 +184,7 @@ rtems_rtl_symbol_global_add (rtems_rtl_obj* obj, void* voidp; } copy_voidp; const rtems_rtl_tls_offset* tls_off; - int b; + size_t b; sym->name = (const char*) &esyms[s]; s += strlen (sym->name) + 1; diff --git a/cpukit/libdl/rtl-trace.c b/cpukit/libdl/rtl-trace.c index f3f86902cd..40398d0e9e 100644 --- a/cpukit/libdl/rtl-trace.c +++ b/cpukit/libdl/rtl-trace.c @@ -102,7 +102,7 @@ rtems_rtl_trace_shell_command (const rtems_printer* printer, rtems_rtl_trace_mask clear_value = 0; bool set = true; int arg; - int t; + size_t t; for (arg = 1; arg < argc; arg++) { diff --git a/cpukit/libdl/rtl-unresolved.c b/cpukit/libdl/rtl-unresolved.c index 1666ed8f47..3524d8e870 100644 --- a/cpukit/libdl/rtl-unresolved.c +++ b/cpukit/libdl/rtl-unresolved.c @@ -137,7 +137,7 @@ rtems_rtl_unresolved_rec_is_last (rtems_rtl_unresolv_block* block, int index = rtems_rtl_unresolved_rec_index (block, rec); return (rec == NULL || (index < 0) || - (index >= block->recs) || + (index >= (int) block->recs) || (rec->type == rtems_rtl_unresolved_empty)); }