[PATCH] Fix GCC9 warning on elf32-arm.c:elf32_arm_final_link_relocate
Sergio Durigan Junior
sergiodj@redhat.com
Mon Jan 21 20:41:00 GMT 2019
More information about the Binutils mailing list
Mon Jan 21 20:41:00 GMT 2019
- Previous message (by thread): New French PO file for 'bfd' (version 2.31.90)
- Next message (by thread): [PATCH] Fix GCC9 warning on elf32-arm.c:elf32_arm_final_link_relocate
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Fedora Rawhide has just switched to GCC9, and now GDB doesn't compile
because of a BFD warning:
BUILDSTDERR: ../../bfd/elf32-arm.c: In function 'elf32_arm_final_link_relocate':
BUILDSTDERR: ../../bfd/elf32-arm.c:10907:10: error: absolute value function 'labs' given an argument of type 'bfd_signed_vma' {aka 'long long int'} but has parameter of type 'long int' which may cause truncation of value [-Werror=absolute-value]
BUILDSTDERR: 10907 | value = labs (relocation);
BUILDSTDERR: | ^~~~
You can take a look at the full build log here:
https://kojipkgs.fedoraproject.org//work/tasks/4828/32174828/build.log
The fix is (apparently) simple: instead of using 'labs', we should use
'llabs', since we're passing a 'bfd_signed_vma' to it, which is at
least a 'long long int', as far as I have checked. This is what this
patch does.
OK to apply?
---
bfd/ChangeLog | 5 +++++
bfd/elf32-arm.c | 2 +-
2 files changed, 6 insertions(+), 1 deletion(-)
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 717999968a..d3fcd83ea6 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,8 @@
+2019-01-21 Sergio Durigan Junior <sergiodj@redhat.com>
+
+ * elf32-arm.c (elf32_arm_final_link_relocate): Use 'llabs' instead
+ of 'labs' (and fix GCC warning).
+
2019-01-21 Nick Clifton <nickc@redhat.com>
* po/pt.po: Updated Portuguese translation.
diff --git a/bfd/elf32-arm.c b/bfd/elf32-arm.c
index 53baea269b..28ee9d55a8 100644
--- a/bfd/elf32-arm.c
+++ b/bfd/elf32-arm.c
@@ -10904,7 +10904,7 @@ elf32_arm_final_link_relocate (reloc_howto_type * howto,
/* PR 21523: Use an absolute value. The user of this reloc will
have already selected an ADD or SUB insn appropriately. */
- value = labs (relocation);
+ value = llabs (relocation);
if (value >= 0x1000)
return bfd_reloc_overflow;
--
2.17.2
- Previous message (by thread): New French PO file for 'bfd' (version 2.31.90)
- Next message (by thread): [PATCH] Fix GCC9 warning on elf32-arm.c:elf32_arm_final_link_relocate
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Binutils mailing list