This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
target-delegates.c needs some TLC [was Re: [OB PATCH] target.h (to_traceframe_info): Fix TARGET_DEFAULT_RETURN]
- From: Doug Evans <xdje42 at gmail dot com>
- To: Yao Qi <yao at codesourcery dot com>, Tom Tromey <tromey at redhat dot com>
- Cc: Hui Zhu <hui_zhu at mentor dot com>, gdb-patches ml <gdb-patches at sourceware dot org>
- Date: Wed, 5 Mar 2014 21:20:51 -0800
- Subject: target-delegates.c needs some TLC [was Re: [OB PATCH] target.h (to_traceframe_info): Fix TARGET_DEFAULT_RETURN]
- Authentication-results: sourceware.org; auth=none
On Mon, Mar 3, 2014 at 5:36 PM, Yao Qi <yao@codesourcery.com> wrote:
> On 03/04/2014 09:18 AM, Hui Zhu wrote:
>> I cannot understand about this OB is not right. I have 2 questions to you:
>> 1. Before my patch, does target-delegates.c that generated by make-target-delegates is same with current target-delegates.c?
>
> No, as I said, I forgot to re-generate target-delegates.c.
Hmmm....
I don't even see target-delegates.c in Makefile.in. That feels like a
bug. [Could be blind of course. :-)]
I realize there's a comment in target-delegates.c that says how to
regenerate it, but these kind of things are part of what makefiles are
for.
While I realize we don't want to require perl for building gdb (and I
for one would never advocate it), I wonder if we can do at least a bit
better.
I'm not sure I'd want to require perl for --enable-maintainer-mode
(which is a common trigger for enabling in makefiles the appropriate
rules to auto-regenerate checked-in machine-generated files), but it's
one thought. Failing using --enable-maintainer-mode for this I think
it's a requirement to add a different --enable-foo option to turn on
the necessary makefile rules to regenerate target-delegates.c at build
time as needed.
Another thought would be to at least have makefile issue a warning if
target-delegates.c is out of date, perhaps predicated on
--enable-maintainer-mode, or some other configure option, since doing
so by default is problematic otherwise.