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