Fix GCC9 warning on elf32-arm.c:elf32_arm_final_link_relocate
authorSergio Durigan Junior <sergiodj@redhat.com>
Mon, 21 Jan 2019 20:36:41 +0000 (15:36 -0500)
committerSergio Durigan Junior <sergiodj@redhat.com>
Mon, 28 Jan 2019 15:50:23 +0000 (10:50 -0500)
commit453f8e1e4918171bc12e4d03aab7ee8360dfcfef
tree9f77e4ffd3740e785a2e47eb5e0c0b3314b861c6
parent2d151af7190b9cb7787d4c33fba9e9a4431f8a0c
Fix GCC9 warning on elf32-arm.c:elf32_arm_final_link_relocate

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.

bfd/ChangeLog:
2019-01-25  Sergio Durigan Junior  <sergiodj@redhat.com>

* elf32-arm.c (elf32_arm_final_link_relocate): Use 'llabs' instead
of 'labs' (and fix GCC warning).
bfd/ChangeLog
bfd/elf32-arm.c