From: Joel Brobecker <brobecker@adacore.com>
To: "Maciej W. Rozycki" <macro@imgtec.com>
Cc: Alan Modra <amodra@gmail.com>,
binutils@sourceware.org, gdb-patches@sourceware.org,
Tristan Gingold <gingold@adacore.com>
Subject: Re: [PATCH, RFA] opcodes: Use autoconf to check for `bfd_mips_elf_get_abiflags' in BFD
Date: Tue, 27 Dec 2016 10:08:00 -0000 [thread overview]
Message-ID: <20161227100841.25zlpfrfcl6vp3xl@adacore.com> (raw)
In-Reply-To: <alpine.DEB.2.00.1612222017020.6743@tp.orcam.me.uk>
> Fix a regression introduced with commit 5e7fc731f80e ("MIPS/opcodes:
> Also set disassembler's ASE flags from ELF structures"), further updated
> with commit 4df995c77118 ("MIPS/opcodes: Also set disassembler's ASE
> flags from ELF structures"), and use autoconf to check for the presence
> of `bfd_mips_elf_get_abiflags' in BFD.
>
> opcodes/
> * mips-dis.c (set_default_mips_dis_options): Use
> HAVE_BFD_MIPS_ELF_GET_ABIFLAGS rather than BFD64 to guard the
> call to `bfd_mips_elf_get_abiflags'.
> * configure.ac: Check for `bfd_mips_elf_get_abiflags' in BFD.
> * Makefile.am (CONFIG_STATUS_DEPENDENCIES): Add `libbfd.la'.
> * aclocal.m4: Regenerate.
> * configure: Regenerate.
> * config.in: Regenerate.
> * Makefile.in: Regenerate.
Unfortunately, this change breaks the following scenario, used
by the src-release.sh script (used to produce our nightly source
packages, as well as our official releases). It also looks like
the change is in the binutils 2.28 branch as well, so if Tristan
uses that script to produce the release, it's not going to work.
The reason for the failure is the following change:
-# development.sh is used to determine -Werror default.
-CONFIG_STATUS_DEPENDENCIES = $(BFDDIR)/development.sh
+# development.sh is used to determine -Werror default, libbfd.la is needed
+# for function availability checks.
+CONFIG_STATUS_DEPENDENCIES = $(BFDDIR)/development.sh ../bfd/libbfd.la
It causes the following scenario to fail:
$ ./configure
$ make configure-host
$ make distclean
I'm pretty sure "./configure; make; make distclean" fails the same way,
but I haven't bothered trying.
The reason it fails is that "make distclean" depends on distclean-host
which then depends on:
distclean-host: maybe-distclean-bfd
distclean-host: maybe-distclean-opcodes
So, "make distclean" first does a "distclean" in bfd, followed by
a "distclean" in opcodes. The bfd distclean results in libbfd.la
being deleted. And because opcodes' Makefile now depends on it,
we get this error:
| make: Entering directory '/[...]/obj/opcodes'
| make: *** No rule to make target '../bfd/libbfd.la', needed by 'config.status'. Stop.
| make: Leaving directory '/[...]/obj/opcodes'
I haven't been able to figure out how distclean depends on
CONFIG_STATUS_DEPENDENCIES, but I'm thiking it's probably one of
the implicit dependencies. But looking at the automake documentation
about CONFIG_STATUS_DEPENDENCIES, it looks like this is meant to be
listing the depedencies to re-generate the Makefile. It don't think
libbfd.a/la is in this category, is it?
I don't have a solution. Perhaps one way to approach the problem
might be to distclean in the reverse order to configure/build?
If opcodes depends on bfd and we distclean bfd, then there might
indeed be some dependencies missing.
We need a solution fairly quickly...
--
Joel
next prev parent reply other threads:[~2016-12-27 10:08 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <E1cHNui-0007Mp-46@kwanyin.sergiodj.net>
2016-12-15 12:16 ` Your commit 'MIPS/opcodes: Also set disassembler's ASE flags from ELF structures' broke GDB Maciej W. Rozycki
2016-12-15 19:04 ` Antoine Tremblay
2016-12-15 20:10 ` Maciej W. Rozycki
2016-12-15 23:03 ` Alan Modra
2016-12-15 23:19 ` Maciej W. Rozycki
2016-12-19 11:49 ` Maciej W. Rozycki
[not found] ` <20161222123958.GA2896@bubble.grove.modra.org>
[not found] ` <alpine.DEB.2.00.1612222017020.6743@tp.orcam.me.uk>
2016-12-27 10:08 ` Joel Brobecker [this message]
2016-12-28 12:11 ` [PATCH, RFA] opcodes: Use autoconf to check for `bfd_mips_elf_get_abiflags' in BFD Alan Modra
2016-12-30 6:44 ` Joel Brobecker
2016-12-31 9:15 ` Maciej W. Rozycki
2016-12-15 19:47 ` Your commit 'MIPS/opcodes: Also set disassembler's ASE flags from ELF structures' broke GDB Yao Qi
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20161227100841.25zlpfrfcl6vp3xl@adacore.com \
--to=brobecker@adacore.com \
--cc=amodra@gmail.com \
--cc=binutils@sourceware.org \
--cc=gdb-patches@sourceware.org \
--cc=gingold@adacore.com \
--cc=macro@imgtec.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox