From: Nick Clifton Date: Fri, 14 Mar 2014 11:21:00 +0000 (+0000) Subject: Fix build time problem with MingGW hosts, which do not have a strnlen() function. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=5a026fc9a26fa613b67cffe87f8cf3b91bb186b4;p=binutils-gdb.git Fix build time problem with MingGW hosts, which do not have a strnlen() function. 2014-03-13 Meador Inge * configure.in: Add strnlen to AC_CHECK_DECLS. * config.in: Regenerate. * configure: Regenerate. * sysdep.h (strnlen): Add prototype. * dwarf.c (strnlen): Move prototype ... * sysdep.h (strnlen): ... to here. --- diff --git a/bfd/ChangeLog b/bfd/ChangeLog index bde7262b01d..6416fb546bf 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,10 @@ +2014-03-14 Meador Inge + + * configure.in: Add strnlen to AC_CHECK_DECLS. + * config.in: Regenerate. + * configure: Regenerate. + * sysdep.h (strnlen): Add prototype. + 2014-03-14 Alan Modra * elf32-ppc.c (ppc_elf_relocate_section): Correct overflow diff --git a/bfd/config.in b/bfd/config.in index 3106c283a4f..05829e27f8a 100644 --- a/bfd/config.in +++ b/bfd/config.in @@ -64,6 +64,10 @@ */ #undef HAVE_DECL_STPCPY +/* Define to 1 if you have the declaration of `strnlen', and to 0 if you + don't. */ +#undef HAVE_DECL_STRNLEN + /* Define to 1 if you have the declaration of `strstr', and to 0 if you don't. */ #undef HAVE_DECL_STRSTR diff --git a/bfd/configure b/bfd/configure index fbf5f44f52b..c5cb2a1e3fc 100755 --- a/bfd/configure +++ b/bfd/configure @@ -13766,6 +13766,17 @@ cat >>confdefs.h <<_ACEOF #define HAVE_DECL_VSNPRINTF $ac_have_decl _ACEOF +ac_fn_c_check_decl "$LINENO" "strnlen" "ac_cv_have_decl_strnlen" "$ac_includes_default" +if test "x$ac_cv_have_decl_strnlen" = x""yes; then : + ac_have_decl=1 +else + ac_have_decl=0 +fi + +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_STRNLEN $ac_have_decl +_ACEOF + # Link in zlib if we can. This allows us to read compressed debug sections. # This is used only by compress.c. diff --git a/bfd/configure.in b/bfd/configure.in index f1ec9656fa4..af98f6276d2 100644 --- a/bfd/configure.in +++ b/bfd/configure.in @@ -239,6 +239,7 @@ AC_CHECK_DECLS(stpcpy) AC_CHECK_DECLS(strstr) AC_CHECK_DECLS(snprintf) AC_CHECK_DECLS(vsnprintf) +AC_CHECK_DECLS(strnlen) # Link in zlib if we can. This allows us to read compressed debug sections. # This is used only by compress.c. diff --git a/bfd/sysdep.h b/bfd/sysdep.h index a30da90b98c..7e441eb653b 100644 --- a/bfd/sysdep.h +++ b/bfd/sysdep.h @@ -170,6 +170,10 @@ extern int fseeko64 (FILE *stream, off64_t offset, int whence); #endif #endif +#if !HAVE_DECL_STRNLEN +size_t strnlen (const char *, size_t); +#endif + /* Define offsetof for those systems which lack it */ #ifndef offsetof diff --git a/binutils/ChangeLog b/binutils/ChangeLog index 1197640ea7b..e4280bb3230 100644 --- a/binutils/ChangeLog +++ b/binutils/ChangeLog @@ -1,3 +1,8 @@ +2014-03-14 Meador Inge + + * dwarf.c (strnlen): Move prototype ... + * sysdep.h (strnlen): ... to here. + 2014-03-12 Nick Clifton PR binutils/16652 diff --git a/binutils/dwarf.c b/binutils/dwarf.c index aa8a1df56b1..c8360b5d24e 100644 --- a/binutils/dwarf.c +++ b/binutils/dwarf.c @@ -29,10 +29,6 @@ #include "dwarf.h" #include "gdb/gdb-index.h" -#if !HAVE_DECL_STRNLEN -size_t strnlen (const char *, size_t); -#endif - static const char *regname (unsigned int regno, int row); static int have_frame_base; diff --git a/binutils/sysdep.h b/binutils/sysdep.h index 33129252ea2..689e8c92ebd 100644 --- a/binutils/sysdep.h +++ b/binutils/sysdep.h @@ -112,6 +112,10 @@ extern int snprintf(char *, size_t, const char *, ...); extern int vsnprintf(char *, size_t, const char *, va_list); #endif +#if !HAVE_DECL_STRNLEN +size_t strnlen (const char *, size_t); +#endif + #ifndef O_RDONLY #define O_RDONLY 0 #endif