This is the mail archive of the
gdb@sourceware.org
mailing list for the GDB project.
Re: [RFC] GDB ARIndex Linux rule cleanup
- From: Eli Zaretskii <eliz at gnu dot org>
- To: Ulrich Weigand <uweigand at de dot ibm dot com>
- Cc: muller at ics dot u-strasbg dot fr, brobecker at adacore dot com, gdb-patches at sourceware dot org, gdb at sourceware dot org
- Date: Wed, 15 Apr 2009 19:03:52 +0300
- Subject: Re: [RFC] GDB ARIndex Linux rule cleanup
- References: <200904151523.n3FFNIY9025877@d12av02.megacenter.de.ibm.com>
- Reply-to: Eli Zaretskii <eliz at gnu dot org>
> Date: Wed, 15 Apr 2009 17:23:18 +0200 (CEST)
> From: "Ulrich Weigand" <uweigand@de.ibm.com>
> Cc: muller@ics.u-strasbg.fr, brobecker@adacore.com, gdb-patches@sourceware.org,
> gdb@sourceware.org
>
> Eli Zaretskii wrote:
>
> > I think GDB's "target" is always the OS kernel, not the OS itself.
> >
> > The distinction FSF asks for is between the GNU/Linux as a whole
> > system, which includes all the main applications and libraries, and
> > Linux as the bare-bones OS. GDB targets the latter, not the former.
>
> Huh? I'd say a large part of what makes up a GDB target is unrelated
> to the OS kernel:
> - Processor properties (register names/types/groups)
That's hardware, and as such, unrelated to our discussion.
> - ABI elements (data types, function calling convention, stack unwinding,
> C++ ABI, platform-specific debug format details, ...)
Which has nothing to do with GNU.
> - Shared library support, thread support (those may depend on kernel
> details, but may also -in particular on Linux- depend on strictly
> user-space library-implemented details ...)
That's not part of the ``target'', in the sense that we were talking
about.
> If you were to write a program using a completely different user-space
> ABI, it might run just fine on the Linux kernel, but GDB configured
> for a -linux target would not really be able to successfully debug the
> program.
We are talking about a specific file, not about the whole of GDB built
for native debugging.
> > > Compare for example the usage in linux-nat.c:
> > >
> > > /* Create a prototype generic GNU/Linux target.
> >
> > That's a mistake, IMO. There's no need for GNU here.
>
> This is common usage throughout the Linux target and native files.
> Even looking just at the very first lines of those files:
Because people who don't understand the essence of the distinction
between the Linux kernel and GNU/Linux as a system get scared and put
the "GNU" part everywhere, lest they err on the wrong side.