[committed] RISC-V: Fix build failures for -Werror=sign-compare.

Message ID 20221027084808.37252-1-nelson@rivosinc.com
State Repeat Merge
Headers
Series [committed] RISC-V: Fix build failures for -Werror=sign-compare. |

Checks

Context Check Description
snail/binutils-gdb-check warning Git am fail log

Commit Message

Nelson Chu Oct. 27, 2022, 8:48 a.m. UTC
  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(-)
  

Patch

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;