Re: BFD MinGW build error: implicit declaration of function 'wcsncasecmp'

Pedro Alves <[email protected]>
Newsgroups gmane.comp.gnu.binutils,gmane.comp.gdb.devel
Message-ID <[email protected]>
Hi there,

Adding the binutils folks.  (bfd is maintained by binutils.)

Looks like fallout from the .rsrc merge support.

On 12/18/2013 09:53 AM, asmwarrior wrote:
> I see the build error when I build GDB(git head) under MSYS+MinGW, here the is build log
> 
> mv -f .deps/pe-i386.Tpo .deps/pe-i386.Plo
> rm -f peigen.c
> sed -e s/XX/pe/g < ../../binutils-gdb/bfd/peXXigen.c > peigen.new
> mv -f peigen.new peigen.c
> /bin/sh ./libtool --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. -I../../binutils-gdb/bfd -D__USE_MINGW_FSEEK    -I. -I../../binutils-gdb/bfd -I../../binutils-gdb/bfd/../include  -DHAVE_i386pe_vec -DHAVE_i386pei_vec -DHAVE_bfd_elf32_i386_vec -DHAVE_bfd_elf32_little_generic_vec -DHAVE_bfd_elf32_big_generic_vec  -DBINDIR='"/mingw/bin"'  -W -Wall -Wstrict-prototypes -Wmissing-prototypes -Wshadow -Wno-format -Werror -O0 -g -D__USE_MINGW_ACCESS -MT peigen.lo -MD -MP -MF .deps/peigen.Tpo -c -o peigen.lo peigen.c
> libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I../../binutils-gdb/bfd -D__USE_MINGW_FSEEK -I. -I../../binutils-gdb/bfd -I../../binutils-gdb/bfd/../include -DHAVE_i386pe_vec -DHAVE_i386pei_vec -DHAVE_bfd_elf32_i386_vec -DHAVE_bfd_elf32_little_generic_vec -DHAVE_bfd_elf32_big_generic_vec -DBINDIR=\"/mingw/bin\" -W -Wall -Wstrict-prototypes -Wmissing-prototypes -Wshadow -Wno-format -Werror -O0 -g -D__USE_MINGW_ACCESS -MT peigen.lo -MD -MP -MF .deps/peigen.Tpo -c peigen.c -o peigen.o
> peigen.c: In function 'rsrc_cmp':
> peigen.c:3006:7: error: implicit declaration of function 'wcsncasecmp' [-Werror=implicit-function-declaration]
>        res = wcsncasecmp (& awc, & bwc, 1);
>        ^
> cc1.exe: all warnings being treated as errors
> make[4]: *** [peigen.lo] Error 1
> make[4]: Leaving directory `/f/build_gdb/mybuild/bfd'
> make[3]: *** [all-recursive] Error 1
> make[3]: Leaving directory `/f/build_gdb/mybuild/bfd'
> make[2]: *** [all] Error 2
> 
> I just see this is related to the change of this commit:
> 
> Revision: 5879bb8fc592e4aea85bdc2a84381d89850e5770
> Author: Nick Clifton <[email protected]>
> Date: 2013-12-17 23:39:13
> Message:
> * peXXigen.c: Include wchar.h if available.
> 
> Include safe-ctype.h.
>     (HighBitSet, SetHighBit, WithoutHighBit): New macros.
>     (pe_print_resource_entries): Rename to
>     rsrc_print_resource_entries.  Handle names that are not RVAs.
>     (pe_print_resource_directory): Rename to
>     rsrc_print_resource_directory.
>     (pe_print_rsrc): Rename to rsrc_print_section.  Corrupt
>     computation of RVA bias.
>     (rsrc_count_entries): New function.
>     (rsrc_count_directory): New function.
>     (rsrc_parse_entry): New function.
>     (rsrc_parse_entries): New function.
>     (rsrc_parse_directory): New function.
>     (rsrc_write_string): New function.
>     (rsrc_compute_rva): New function.
>     (rsrc_write_leaf): New function.
>     (rsrc_write_entry): New function.
>     (rsrc_write_directory): New function.
>     (u16_mbtouc): New function.
>     (rsrc_cmp): New function.
>     (rsrc_print_name): New function.
>     (rsrc_resource_name): New function.
>     (rsrc_merge_string_entries): New function.
>     (rsrc_sort_entries): New function.
>     (rsrc_attach_chain): New function.
>     (rsrc_merge): New function.
>     (rsrc_process_section): New function - merges the contents of a
>     .rsrc section.
>     (_bfd_XXi_final_link_postscript): Call rsrc_process_section.
>     * configure.in (AC_CHECK_HEADERS): Add wchar.h
>     * config.in: Regenerate.
>     * configure: Regenerate.
> ----
> Modified: bfd/ChangeLog
> Modified: bfd/config.in
> Modified: bfd/configure
> Modified: bfd/configure.in
> Modified: bfd/peXXigen.c
> 
> In my ststem, wchar.h exists, but I see there is no functionwcsncasecmp() here.
> 
> Thanks
> 
> Yuanhui Zhang
> 


-- 
Pedro Alves
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.