Cast relcount to unsigned long when comparing with sec->reloc_count
The type of relcount is long and the type of sec->reloc_count is unsigned int. On 32-bit hosts, GCC issues an error: objcopy.c:2144:20: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare] if (relcount > sec->reloc_count) Cast relcount to unsigned long to silence GCC. * objcopy.c (merge_gnu_build_notes): Cast relcount to unsigned long when comparing with sec->reloc_count.
This commit is contained in:
parent
d17f7b365c
commit
2ecf0cc317
2 changed files with 6 additions and 1 deletions
|
@ -1,3 +1,8 @@
|
||||||
|
2017-05-02 H.J. Lu <hongjiu.lu@intel.com>
|
||||||
|
|
||||||
|
* objcopy.c (merge_gnu_build_notes): Cast relcount to unsigned
|
||||||
|
long when comparing with sec->reloc_count.
|
||||||
|
|
||||||
2017-05-02 Nick Clifton <nickc@redhat.com>
|
2017-05-02 Nick Clifton <nickc@redhat.com>
|
||||||
|
|
||||||
* objcopy.c (merge_gnu_build_notes): Disable merge if there are
|
* objcopy.c (merge_gnu_build_notes): Disable merge if there are
|
||||||
|
|
|
@ -2141,7 +2141,7 @@ merge_gnu_build_notes (bfd * abfd, asection * sec, bfd_size_type size, bfd_byte
|
||||||
represent a single external reloc. Unfortunately the current BFD
|
represent a single external reloc. Unfortunately the current BFD
|
||||||
API does not handle deleting relocs in such situations very well
|
API does not handle deleting relocs in such situations very well
|
||||||
and so it is unsafe to proceed. */
|
and so it is unsafe to proceed. */
|
||||||
if (relcount > sec->reloc_count)
|
if ((unsigned long) relcount > sec->reloc_count)
|
||||||
goto done;
|
goto done;
|
||||||
|
|
||||||
/* Eliminate the duplicates. */
|
/* Eliminate the duplicates. */
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue