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: Simon Marchi <simon dot marchi at polymtl dot ca>
- To: Sergio Durigan Junior <sergiodj at redhat dot com>
- 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 16:16:27 -0400
- Subject: Re: [PATCH] Introduce "gdb/configure.nat" (and delete "gdb/config/*/*.mh" files)
- Authentication-results: sourceware.org; auth=none
- References: <20170425202309.15771-1-sergiodj@redhat.com> <f891a53a78673a2ca30f15f25130ef30@polymtl.ca> <8737cngise.fsf@redhat.com>
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.
#
# 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.
#
# MH_CFLAGS - Additional CFLAGS for this host
Looks good.
#
# XM_CLIBS - Host-dependent libs to be linked against GDB.
Same comment about "linked against".
# NAT_GENERATED_FILES - Generated files by this host
by -> for?
NAT_GENERATED_FILES - Generated files for this host.
# 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.
But to be honest, I am also completely confused by what those two
variables do.
# 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.
Make sure they all end (or don't end) with a period, for consistency.
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"?) ?
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.
Thanks,
Simon