[PATCH v12 0/11 Add support for CRC64 generation in linker

Martin Liška mliska@suse.cz
Wed Mar 8 09:31:28 GMT 2023


On 3/7/23 19:08, Ulf Samuelsson via Binutils wrote:
> 
> On 2023-03-07 14:59, Nick Clifton wrote:
>> Hi Ulf,
>>
>>> Patchset XII
>>> testsuite fixed to skip some tests.
>>
>> Thanks.  I have now applied your patch set.
>>
>> I made some small changes, mostly code formatting and correcting
>> some of the error messages.
>>
>> Thank you very much for persisting with this patch contribution.
>>
> The Buildbot reports errors though!
> 
> Best Regards
> 
> Ulf Samuelsson
> 
> 
>> Cheers
>>   Nick
>>
>>

Hi.

I think this patch set caused the following build failure:

[  173s] gcc -DHAVE_CONFIG_H -I. -I../../ld  -I. -I../../ld -I../bfd -I../../ld/../bfd -I../../ld/../include  -fomit-frame-pointer -O2 -Wall -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=3 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -Werror=return-type  -Wno-error     -DLOCALEDIR="\"/usr/share/locale\""  -W -Wall -Wstrict-prototypes -Wmissing-prototypes -Wshadow -Wstack-usage=262144 -Werror -DELF_LIST_OPTIONS=true -DELF_SHLIB_LIST_OPTIONS=false -DELF_PLT_UNWIND_LIST_OPTIONS=false   -fomit-frame-pointer -O2 -Wall -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=3 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -Werror=return-type  -Wno-error     -MT ldcrc64.o -MD -MP -MF .deps/ldcrc64.Tpo -c -o ldcrc64.o ../../ld/ldcrc64.c
[  173s] ../../ld/ldcrc64.c:109:1: error: conflicting types for 'init_crc64_tab'; have 'uint64_t *(algorithm_desc_t *)' {aka 'long long unsigned int *(algorithm_desc_t *)'}
[  173s]   109 | init_crc64_tab (algorithm_desc_t * dsc)
[  173s]       | ^~~~~~~~~~~~~~
[  173s] In file included from ../../ld/ldcrc64.c:33:
[  173s] ../../ld/lddigest.h:166:17: note: previous declaration of 'init_crc64_tab' with type 'bfd_vma *(algorithm_desc_t *)' {aka 'long unsigned int *(algorithm_desc_t *)'}
[  173s]   166 | extern bfd_vma *init_crc64_tab (algorithm_desc_t * dsc);
[  173s]       |                 ^~~~~~~~~~~~~~
[  173s] ../../ld/ldcrc64.c:140:10: error: conflicting types for 'calc_crc64'; have 'uint64_t(algorithm_desc_t *, const unsigned char *, size_t)' {aka 'long long unsigned int(algorithm_desc_t *, const unsigned char *, unsigned int)'}
[  173s]   140 | uint64_t calc_crc64
[  173s]       |          ^~~~~~~~~~
[  173s] ../../ld/lddigest.h:167:16: note: previous declaration of 'calc_crc64' with type 'bfd_vma(algorithm_desc_t *, const unsigned char *, size_t)' {aka 'long unsigned int(algorithm_desc_t *, const unsigned char *, unsigned int)'}
[  173s]   167 | extern bfd_vma calc_crc64
[  173s]       |                ^~~~~~~~~~
[  173s] make[4]: *** [Makefile:1604: ldcrc64.o] Error 1
[  173s] make[4]: Leaving directory '/home/abuild/rpmbuild/BUILD/binutils-2.40.50/build-dir/ld'

that happens on i586-linux-gnu host if I configure with --target=avr

Can you please take a look?
Thanks,
Martin


More information about the Binutils mailing list