[PATCH] objcopy.c: Fix bfd_copy_private_symbol_data on 32-bit hosts
H.J. Lu
hjl.tools@gmail.com
Tue Apr 23 15:30:03 GMT 2024
On Tue, Apr 23, 2024 at 7:13 AM H.J. Lu <hjl.tools@gmail.com> wrote:
>
> Use long with bfd_copy_private_symbol_data to fix
>
> .../binutils/objcopy.c: In
> function ‘copy_object’:
> .../binutils/objcopy.c:3383:17: error: comparison of integer expressions of different signedness: ‘unsigned int’ and ‘long int’ [-Werror=sign-compare]
> 3383 | for (i = 0; i < symcount; i++)
> | ^
>
> on 32-bit hosts.
>
> PR binutils/14493
> * objcopy.c (copy_object): Use long with
> bfd_copy_private_symbol_data.
> ---
> binutils/objcopy.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/binutils/objcopy.c b/binutils/objcopy.c
> index 634ebae3fc3..e8ca1374935 100644
> --- a/binutils/objcopy.c
> +++ b/binutils/objcopy.c
> @@ -3380,8 +3380,8 @@ copy_object (bfd *ibfd, bfd *obfd, const bfd_arch_info_type *input_arch)
> symcount = filter_symbols (ibfd, obfd, osympp, isympp, symcount);
> }
>
> - for (i = 0; i < symcount; i++)
> - if (!bfd_copy_private_symbol_data (ibfd, osympp[i], obfd, osympp[i]))
> + for (long s = 0; s < symcount; s++)
> + if (!bfd_copy_private_symbol_data (ibfd, osympp[s], obfd, osympp[s]))
> {
> status = 1;
> return false;
> --
> 2.44.0
>
Tested on Linux/x86-64 and Linux/i686. I am checking it in.
--
H.J.
More information about the Binutils
mailing list