This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [PATCH] Introduce "gdb/configure.nat" (and delete "gdb/config/*/*.mh" files)
- From: Sergio Durigan Junior <sergiodj at redhat dot com>
- To: Simon Marchi <simon dot marchi at polymtl dot ca>
- Cc: GDB Patches <gdb-patches at sourceware dot org>, Pedro Alves <palves at redhat dot com>, John Baldwin <jhb at freebsd dot org>
- Date: Tue, 02 May 2017 18:17:09 -0400
- Subject: Re: [PATCH] Introduce "gdb/configure.nat" (and delete "gdb/config/*/*.mh" files)
- Authentication-results: sourceware.org; auth=none
- Authentication-results: ext-mx07.extmail.prod.ext.phx2.redhat.com; dmarc=none (p=none dis=none) header.from=redhat.com
- Authentication-results: ext-mx07.extmail.prod.ext.phx2.redhat.com; spf=pass smtp.mailfrom=sergiodj at redhat dot com
- Dkim-filter: OpenDKIM Filter v2.11.0 mx1.redhat.com 263F7C04B31F
- Dmarc-filter: OpenDMARC Filter v1.3.2 mx1.redhat.com 263F7C04B31F
- References: <20170425202309.15771-1-sergiodj@redhat.com> <f891a53a78673a2ca30f15f25130ef30@polymtl.ca> <8737cngise.fsf@redhat.com> <f99c9eb03801ea296fe14b42b9515e14@polymtl.ca>
On Tuesday, May 02 2017, Simon Marchi wrote:
> On 2017-05-02 15:28, Sergio Durigan Junior wrote:
>>>> +# Variables defined here:
>>>> +#
>>>> +# NAT_FILE
>>>> +# NATDEPFILES
>>>> +# NAT_CDEPS
>>>> +# LOADLIBES
>>>> +# MH_CFLAGS
>>>> +# XM_CLIBS
>>>> +# NAT_GENERATED_FILES
>>>> +# HAVE_NATIVE_GCORE_HOST
>>>> +# NAT_EXTRA_FRAGS_FILE
>>>
>>> Could you document (if you know it) what each variable does?
>>
>> Sure. Here's what I know what them. What do you think?
>>
>> # Variables defined here:
>> #
>> # NAT_FILE - The header file with definitions for this host
>
> Looks good.
>
>> #
>> # NATDEPFILES - The depfiles to be compiled for this host
>
> "depfiles" is not so clear I think. Perhaps
>
> NATDEPFILES - Source files required for native debugging on this host.
Adopted.
>> #
>> # NAT_CDEPS - Dynamic symbols to be exported for libthread_db
>
> Looks good.
>
>> #
>> # LOADLIBES - Libraries that will be linked against GDB for this host
>
> Don't we usually say the reverse, the program is linked against the
> libraries?
>
> LOADLIBES - Libraries against which GDB will be linked for this host.
You're right. Fixed.
>> #
>> # MH_CFLAGS - Additional CFLAGS for this host
>
> Looks good.
>
>> #
>> # XM_CLIBS - Host-dependent libs to be linked against GDB.
>
> Same comment about "linked against".
Fixed.
>> # NAT_GENERATED_FILES - Generated files by this host
>
> by -> for?
>
> NAT_GENERATED_FILES - Generated files for this host.
Right, fixed.
>> # HAVE_NATIVE_GCORE_HOST -
>
> I just noticed that this variable is not defined in Makefile.in.
> configure.ac AC_SUBST's _TARGET twice, but not _HOST, so I think you
> confused them.
Yeah, I did confuse. Fixed on gdb/Makefile.in.
> But to be honest, I am also completely confused by what those two
> variables do.
So, doing a bit of archaeology I found that these flags were added by
b292c7831823605b02a564b0a9274f95141c92ee. According to the discussions
relevant to this commit
(<https://sourceware.org/ml/gdb-patches/2013-04/msg00321.html>), I see
that these flags serve to signalize whether the gcore script will be
installed or not.
>> # NAT_EXTRA_FRAGS_FILE - Extra Makefile fragmentsFile containing
>> extra fragments of Makefile
>> # that will be used by this host.
>
> That could be shortened to
>
> NAT_EXTRA_FRAGS_FILE - Extra Makefile fragments that will be used
> for this host.
Hm, not sure. My intention was to make it clear that this variable
needs to contain a filename. Your proposed description could be
interpreted differently, I'm afraid.
> Make sure they all end (or don't end) with a period, for consistency.
Sure; this was just a quick draft, I fixed the inconsistencies now :-).
> Perhaps someone could shed some light on the obscure variables names?
> What do the XM_ and MH_ prefixes stand for? What's the difference
> between XM_CLIBS and LOADLIBES (and why is it called "LIBES"?) ?
Good question, I was also wondering that myself :-).
>>> IMO, the interest of having all of this in a single file is to be able
>>> to factor out common things. A lot of NATDEPFILES are repeated Would
>>> it be possible to have a switch on ${gdb_host} at the top level, and
>>> specify all the files specific to OSes but machine-agnostic? For
>>> example, fork-child.o and inf-ptrace.o probably appear in all the
>>> linux ports.
>>
>> Fair point. I will address what you and Jon mentioned, and resubmit
>> the
>> patch with the modifications.
>
> Ok. But as John mentioned, it's probably better if this patch is a
> simple translation of what's already there, and any "optimization"
> coming in a subsequent patch. It will be easier to track the changes.
Sure. I'll send a series of 2 patches, the first one containing the
original patch (+ the proposed modifications by you and Pedro), and the
second one containing the rearrangement to make things clearer.
Cheers,
--
Sergio
GPG key ID: 237A 54B1 0287 28BF 00EF 31F4 D0EB 7628 65FC 5E36
Please send encrypted e-mail if possible
http://sergiodj.net/