[committed] RISC-V: Fix build failures for -Werror=sign-compare.
Nelson Chu
nelson@rivosinc.com
Thu Oct 27 08:48:08 GMT 2022
elfnn-riscv.c: In function ‘riscv_relax_resolve_delete_relocs’:
elfnn-riscv.c:4256:30: error: operand of ‘?:’ changes signedness from ‘int’ to ‘unsigned int’ due to unsignedness of other operand [-Werror=sign-compare]
So make the operands unsigned could resolve problem.
bfd/
* elfnn-riscv.c (riscv_relax_resolve_delete_relocs): Fixed build
failures for -Werror=sign-compare.
---
bfd/elfnn-riscv.c | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/bfd/elfnn-riscv.c b/bfd/elfnn-riscv.c
index cf852636c9c..0570a971b5a 100644
--- a/bfd/elfnn-riscv.c
+++ b/bfd/elfnn-riscv.c
@@ -4239,7 +4239,10 @@ riscv_relax_resolve_delete_relocs (bfd *abfd,
rel_next = relocs + i;
if (ELFNN_R_TYPE ((rel_next)->r_info) == R_RISCV_DELETE
&& (rel_next)->r_offset > rel->r_offset)
- break;
+ {
+ BFD_ASSERT (rel_next - rel > 0);
+ break;
+ }
else
rel_next = NULL;
}
@@ -4253,7 +4256,8 @@ riscv_relax_resolve_delete_relocs (bfd *abfd,
rel->r_info = ELFNN_R_INFO (0, R_RISCV_NONE);
/* Skip ahead to the next delete reloc. */
- i = rel_next != NULL ? rel_next - relocs - 1 : sec->reloc_count;
+ i = rel_next != NULL ? (unsigned int) (rel_next - relocs - 1)
+ : sec->reloc_count;
}
return true;
--
2.37.0 (Apple Git-136)
More information about the Binutils
mailing list