From: Pedro Alves <palves@redhat.com>
To: Jan Kratochvil <jan.kratochvil@redhat.com>
Cc: Philippe Waroquiers <philippe.waroquiers@skynet.be>,
gdb-patches@sourceware.org
Subject: Re: [patch+NEWS] Avoid false valgrind warnings on linux_ptrace_test_ret_to_nx
Date: Mon, 25 Feb 2013 18:10:00 -0000 [thread overview]
Message-ID: <512BA904.8080604@redhat.com> (raw)
In-Reply-To: <20130225143242.GB25286@host2.jankratochvil.net>
On 02/25/2013 02:32 PM, Jan Kratochvil wrote:
> On Wed, 20 Feb 2013 18:30:18 +0100, Pedro Alves wrote:
>> On 02/20/2013 04:08 PM, Jan Kratochvil wrote:
>>> OTOH here you ask for the opposite, unchecked inclusion of include file
>>> which is very complicated
>>> with compiler-dependent parts and arch-specific code,
>>> which all seem to me to possibly cause compilation failures.
>>
>> Now I'm at a total loss. I have no idea what you're considering
>> very complicated, and what needs to be compiler dependent.
>
>> All I was thinking was something like the patch below.
>
> It primarily misses the --with-valgrind feature: to error out when user does
> want the (valgrind) support but system does not have the prerequisite files.
>
> As the packaging system may omit some of the prerequisites (such as when PKG
> splits out its PKG-devel subpackage) one needs to ensure such build will fail.
> We do not want to quietly build new GDB missing some of the expected features.
> --with-valgrind makes this easy. Otherwise the packager needs to place in
> the .spec file:
> grep HAVE_VALGRIND_VALGRIND_H gdb/config.h
> Moreover multiple times as config.h gets sometimes rebuilt during some build
> scenarios.
>
> For example Fedora gdb.spec already has such a hack because there is no
> corresponding --with-*/--enable-* option for this one:
> ! grep '_RELOCATABLE.*1' gdb/config.h
>
> It may be clear I do not want to introduce more such greps there.
Thanks. That's a much better rationale than handling
imagined broken headers.
>
>
> So with the --with-valgrind requirement we end up discussing whether these 8
> lines of code should or should not be there:
>
> + AC_MSG_CHECKING([for RUNNING_ON_VALGRIND macro])
> + AC_CACHE_VAL(gdb_cv_check_running_on_valgrind, [
> + AC_LINK_IFELSE(
> + [AC_LANG_PROGRAM([[#include <valgrind/valgrind.h>]],
> + [[return RUNNING_ON_VALGRIND;]])],
> + [gdb_cv_check_running_on_valgrind=yes],
> + [gdb_cv_check_running_on_valgrind=no])])
> + AC_MSG_RESULT($gdb_cv_check_running_on_valgrind)
>
> I believe there is a real risk there can exist old system(s) on non-x86* arch
> having valgrind/valgrind.h available but failing to build RUNNING_ON_VALGRIND.
>
> Sure people have different opinions what is useful and what is just a bloat.
> Although when I already wrote the code I do not find such a serious problem to
> put there such 8 lines to sanity check the compatibility.
It was the fact that the desire for the option wasn't fully explained
and the "is there a rule for configure checks" question that
prompted me to go more general, as I didn't want to set precedent
for adding checks for unknown problems without reason. It's better
to wait for the problems to appear, so at least our future
selves wanting to change this code know what sort of problems
to expect.
Going back to this particular case, as long as we have to have
the --with-foo switch, I agree those 8 lines are no real issue.
I find the non-x86* argument somewhat compelling. I do still
think the mention of valgrind/valgrind.h here:
[--with-valgrind was requested but <valgrind/valgrind.h> was not found])
isn't 100% correct, and will be misleading -- your non-x86* example
failing to build RUNNING_ON_VALGRIND would show that error, though
the header was indeed found. If you don't like the other suggestion for
"support" and you still want to mention the header, then adding a "working"
would be fine with me:
[--with-valgrind was requested but working <valgrind/valgrind.h> was not found])
Anyway, that's a very minor detail. I went through the patch again, and
it stills looks good to me otherwise.
Thanks, this email I'm replying to has the sort of info that
was obvious to you, but was not to me and maybe others (either
present or future selves doing archaeology), and is good
and useful info to have explicit on patch submissions (*).
(*) - and I wish in commit logs - following Joel's lead, I've
been personally making an effort to push self-contained commit
logs with full change description myself.
--
Pedro Alves
next prev parent reply other threads:[~2013-02-25 18:10 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-02-19 18:42 [patch] " Jan Kratochvil
2013-02-19 19:11 ` Pedro Alves
2013-02-20 14:06 ` Jan Kratochvil
2013-02-20 15:06 ` Pedro Alves
2013-02-20 15:24 ` [patch+NEWS] " Jan Kratochvil
2013-02-20 15:56 ` Pedro Alves
2013-02-20 16:08 ` Jan Kratochvil
2013-02-20 17:30 ` Pedro Alves
2013-02-25 14:33 ` Jan Kratochvil
2013-02-25 18:10 ` Pedro Alves [this message]
2013-02-26 3:00 ` Jan Kratochvil
2013-02-20 20:15 ` Andreas Schwab
2013-02-25 14:19 ` Jan Kratochvil
2013-02-19 21:09 ` [patch] " Philippe Waroquiers
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=512BA904.8080604@redhat.com \
--to=palves@redhat.com \
--cc=gdb-patches@sourceware.org \
--cc=jan.kratochvil@redhat.com \
--cc=philippe.waroquiers@skynet.be \
/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