bfd: Fix regression when building bfd on mingw32

Message ID CABOHX+fAiKiNgmns+FRY_tuNbEhvvvdQWD=LD4ENcX-O2yeaFQ@mail.gmail.com
State New, archived
Headers

Commit Message

Iain Buclaw July 20, 2015, 7:14 p.m. UTC
  Hi,

This patch is as per suggestion from Pedro, I've also added a check
for vasprintf just for completeness sake, and that there is a similar
condition for HAVE_DECL_VASPRINTF in libiberty.h.

https://sourceware.org/ml/gdb-patches/2015-06/msg00654.html

As per my comments earlier, I am going blind on this, but it looks
correct to me, and I can at least verify on my machine that I can see:

configure stage
---
checking whether asprintf is declared... yes
checking whether vasprintf is declared... yes
---
config.h
---
/* Define to 1 if you have the declaration of `asprintf', and to 0 if you
   don't. */
#define HAVE_DECL_ASPRINTF 1

/* Define to 1 if you have the declaration of `vasprintf', and to 0 if you
   don't. */
#define HAVE_DECL_VASPRINTF 1
---

So should either one be false, they should have a proper declaration
in libiberty.h

Luis, can you check this patch is good for you?


Regards
Iain
---
  

Comments

Joel Brobecker Aug. 4, 2015, 3:41 p.m. UTC | #1
Hi Iain,

Thanks for the patch. I've been trying to reproduce, but haven't
had much luck so far, not sure why.

In the meantime, this patch touches bfd, so it needs to be sent
to binutils@ instead.

Thanks!

On Mon, Jul 20, 2015 at 09:14:04PM +0200, Iain Buclaw wrote:
> Hi,
> 
> This patch is as per suggestion from Pedro, I've also added a check
> for vasprintf just for completeness sake, and that there is a similar
> condition for HAVE_DECL_VASPRINTF in libiberty.h.
> 
> https://sourceware.org/ml/gdb-patches/2015-06/msg00654.html
> 
> As per my comments earlier, I am going blind on this, but it looks
> correct to me, and I can at least verify on my machine that I can see:
> 
> configure stage
> ---
> checking whether asprintf is declared... yes
> checking whether vasprintf is declared... yes
> ---
> config.h
> ---
> /* Define to 1 if you have the declaration of `asprintf', and to 0 if you
>    don't. */
> #define HAVE_DECL_ASPRINTF 1
> 
> /* Define to 1 if you have the declaration of `vasprintf', and to 0 if you
>    don't. */
> #define HAVE_DECL_VASPRINTF 1
> ---
> 
> So should either one be false, they should have a proper declaration
> in libiberty.h
> 
> Luis, can you check this patch is good for you?
> 
> 
> Regards
> Iain
> ---

> 2015-07-20  Iain Buclaw  <ibuclaw@gdcproject.org>
> 
> 	* configure.in: Add asprintf and vasprintf to AC_CHECK_DECLS.
> 	* config.in, configure: Regenerate.
> 
> --- a/bfd/config.in
> +++ b/bfd/config.in
> @@ -17,6 +17,10 @@
>  /* Define to 1 if you have the <alloca.h> header file. */
>  #undef HAVE_ALLOCA_H
>  
> +/* Define to 1 if you have the declaration of `asprintf', and to 0 if you
> +   don't. */
> +#undef HAVE_DECL_ASPRINTF
> +
>  /* Define to 1 if you have the declaration of `basename', and to 0 if you
>     don't. */
>  #undef HAVE_DECL_BASENAME
> @@ -72,6 +76,10 @@
>     */
>  #undef HAVE_DECL_STRSTR
>  
> +/* Define to 1 if you have the declaration of `vasprintf', and to 0 if you
> +   don't. */
> +#undef HAVE_DECL_VASPRINTF
> +
>  /* Define to 1 if you have the declaration of `vsnprintf', and to 0 if you
>     don't. */
>  #undef HAVE_DECL_VSNPRINTF
> --- a/bfd/configure
> +++ b/bfd/configure
> @@ -13819,6 +13819,28 @@ cat >>confdefs.h <<_ACEOF
>  #define HAVE_DECL_STRSTR $ac_have_decl
>  _ACEOF
>  
> +ac_fn_c_check_decl "$LINENO" "asprintf" "ac_cv_have_decl_asprintf" "$ac_includes_default"
> +if test "x$ac_cv_have_decl_asprintf" = x""yes; then :
> +  ac_have_decl=1
> +else
> +  ac_have_decl=0
> +fi
> +
> +cat >>confdefs.h <<_ACEOF
> +#define HAVE_DECL_ASPRINTF $ac_have_decl
> +_ACEOF
> +
> +ac_fn_c_check_decl "$LINENO" "vasprintf" "ac_cv_have_decl_vasprintf" "$ac_includes_default"
> +if test "x$ac_cv_have_decl_vasprintf" = x""yes; then :
> +  ac_have_decl=1
> +else
> +  ac_have_decl=0
> +fi
> +
> +cat >>confdefs.h <<_ACEOF
> +#define HAVE_DECL_VASPRINTF $ac_have_decl
> +_ACEOF
> +
>  ac_fn_c_check_decl "$LINENO" "snprintf" "ac_cv_have_decl_snprintf" "$ac_includes_default"
>  if test "x$ac_cv_have_decl_snprintf" = x""yes; then :
>    ac_have_decl=1
> --- a/bfd/configure.ac
> +++ b/bfd/configure.ac
> @@ -232,6 +232,8 @@ AC_CHECK_DECLS(malloc)
>  AC_CHECK_DECLS(realloc)
>  AC_CHECK_DECLS(stpcpy)
>  AC_CHECK_DECLS(strstr)
> +AC_CHECK_DECLS(asprintf)
> +AC_CHECK_DECLS(vasprintf)
>  AC_CHECK_DECLS(snprintf)
>  AC_CHECK_DECLS(vsnprintf)
>  AC_CHECK_DECLS(strnlen)
  
Iain Buclaw Aug. 4, 2015, 3:51 p.m. UTC | #2
On 4 August 2015 at 17:41, Joel Brobecker <brobecker@adacore.com> wrote:
> Hi Iain,
>
> Thanks for the patch. I've been trying to reproduce, but haven't
> had much luck so far, not sure why.
>
> In the meantime, this patch touches bfd, so it needs to be sent
> to binutils@ instead.
>
> Thanks!
>

Hi Joel,

Actually, I got redirected to the binutils ml in the other thread,
it's already been submitted and pushed in.

https://sourceware.org/ml/binutils/2015-07/msg00305.html
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=commit;h=d6f1bafa2c05241b89c0303a9f6a2af89f51c39c

So if you are having difficulties reproducing...
  
Joel Brobecker Aug. 4, 2015, 3:54 p.m. UTC | #3
> Actually, I got redirected to the binutils ml in the other thread,
> it's already been submitted and pushed in.
> 
> https://sourceware.org/ml/binutils/2015-07/msg00305.html
> https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=commit;h=d6f1bafa2c05241b89c0303a9f6a2af89f51c39c

Ah, wonderful, thank you! (catching up after a week away)
  
Pedro Alves Aug. 4, 2015, 3:55 p.m. UTC | #4
On 08/04/2015 04:51 PM, Iain Buclaw wrote:

> Actually, I got redirected to the binutils ml in the other thread,
> it's already been submitted and pushed in.
> 
> https://sourceware.org/ml/binutils/2015-07/msg00305.html
> https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=commit;h=d6f1bafa2c05241b89c0303a9f6a2af89f51c39c
> 
> So if you are having difficulties reproducing...

I think this should be pushed to the 7.10 branch as well.
Could you handle that?

Thanks,
Pedro Alves
  
Iain Buclaw Aug. 4, 2015, 4:09 p.m. UTC | #5
On 4 August 2015 at 17:55, Pedro Alves <palves@redhat.com> wrote:
> On 08/04/2015 04:51 PM, Iain Buclaw wrote:
>
>> Actually, I got redirected to the binutils ml in the other thread,
>> it's already been submitted and pushed in.
>>
>> https://sourceware.org/ml/binutils/2015-07/msg00305.html
>> https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=commit;h=d6f1bafa2c05241b89c0303a9f6a2af89f51c39c
>>
>> So if you are having difficulties reproducing...
>
> I think this should be pushed to the 7.10 branch as well.
> Could you handle that?
>
> Thanks,
> Pedro Alves
>

Will have to wait until this evening if that's OK.  Is there a general
guideline on pushing patches to branch?  I assume that you don't do
anything fancy with git such as merge or cherry-pick.

Regards
Iain
  
Pedro Alves Aug. 4, 2015, 4:14 p.m. UTC | #6
On 08/04/2015 05:09 PM, Iain Buclaw wrote:

> Will have to wait until this evening if that's OK.  

That's super fine.

> Is there a general
> guideline on pushing patches to branch?  I assume that you don't do
> anything fancy with git such as merge or cherry-pick.

Nothing fancy.  non-fast-forward merges are disabled, the server
rejects them.  So to push to branch, simply rebase the patch on top of
the branch and then push to it.  cherry-picking is fine as it's just a
way to get the patch in the first place.

Thanks,
Pedro Alves
  

Patch

2015-07-20  Iain Buclaw  <ibuclaw@gdcproject.org>

	* configure.in: Add asprintf and vasprintf to AC_CHECK_DECLS.
	* config.in, configure: Regenerate.

--- a/bfd/config.in
+++ b/bfd/config.in
@@ -17,6 +17,10 @@ 
 /* Define to 1 if you have the <alloca.h> header file. */
 #undef HAVE_ALLOCA_H
 
+/* Define to 1 if you have the declaration of `asprintf', and to 0 if you
+   don't. */
+#undef HAVE_DECL_ASPRINTF
+
 /* Define to 1 if you have the declaration of `basename', and to 0 if you
    don't. */
 #undef HAVE_DECL_BASENAME
@@ -72,6 +76,10 @@ 
    */
 #undef HAVE_DECL_STRSTR
 
+/* Define to 1 if you have the declaration of `vasprintf', and to 0 if you
+   don't. */
+#undef HAVE_DECL_VASPRINTF
+
 /* Define to 1 if you have the declaration of `vsnprintf', and to 0 if you
    don't. */
 #undef HAVE_DECL_VSNPRINTF
--- a/bfd/configure
+++ b/bfd/configure
@@ -13819,6 +13819,28 @@  cat >>confdefs.h <<_ACEOF
 #define HAVE_DECL_STRSTR $ac_have_decl
 _ACEOF
 
+ac_fn_c_check_decl "$LINENO" "asprintf" "ac_cv_have_decl_asprintf" "$ac_includes_default"
+if test "x$ac_cv_have_decl_asprintf" = x""yes; then :
+  ac_have_decl=1
+else
+  ac_have_decl=0
+fi
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_ASPRINTF $ac_have_decl
+_ACEOF
+
+ac_fn_c_check_decl "$LINENO" "vasprintf" "ac_cv_have_decl_vasprintf" "$ac_includes_default"
+if test "x$ac_cv_have_decl_vasprintf" = x""yes; then :
+  ac_have_decl=1
+else
+  ac_have_decl=0
+fi
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_VASPRINTF $ac_have_decl
+_ACEOF
+
 ac_fn_c_check_decl "$LINENO" "snprintf" "ac_cv_have_decl_snprintf" "$ac_includes_default"
 if test "x$ac_cv_have_decl_snprintf" = x""yes; then :
   ac_have_decl=1
--- a/bfd/configure.ac
+++ b/bfd/configure.ac
@@ -232,6 +232,8 @@  AC_CHECK_DECLS(malloc)
 AC_CHECK_DECLS(realloc)
 AC_CHECK_DECLS(stpcpy)
 AC_CHECK_DECLS(strstr)
+AC_CHECK_DECLS(asprintf)
+AC_CHECK_DECLS(vasprintf)
 AC_CHECK_DECLS(snprintf)
 AC_CHECK_DECLS(vsnprintf)
 AC_CHECK_DECLS(strnlen)