Re: [patch/rfc] Eliminate TARGET_HAS_HARDWARE_WATCHPOINTS

Andrew Cagney
2004-09-07T21:20:06Z

>>>> > In any case, I'd like to see the suggested Autoconf replacement for
>>>> > this before we deprecate the feature.
>>
>>>
>>> This is neither deprecating a feature, nor deprecating a system.
>
>
> ``The feature'' in question is TARGET_HAS_HARDWARE_WATCHPOINTS. It is
> being deprecated/removed, isn't it?

The macro TARGET_HAS_HARDWARE_WATCHPOINTS is just a mechanism that core
GDB might use (it doesn't) when implementing a [user visible] feature
such as ``hardware watchpoints''. I'm not ``expressing disapproval of
or wishing against'' the feature ``hardware watchpoints'', nor am I
``expressing disapproval of or wishing against'' systems that provide
the feature ``hardware watchpoints''.

However, I am formalizing our disapproval of the macro
TARGET_HAS_HARDWARE_WATCHPOINTS. To which I wrote:

> Here there are several things to notice:
>
> - core GDB no longer refers to TARGET_HAS_HARDWARE_WATCHPOINTS
> At one stage target.h had definitions dependant on this macro, but no more. This patch removes the no-longer-needed defintion from configurations, such as GNU/Linux.
>
> - procfs.c and i386v-nat.c do refer to TARGET_HAS_HARDWARE_WATCHPOINTS
> These files should be replying on an autoconf test. This patch replaces those cases with DEPRECATED_{PROCFS,I386V}_USE_HARDWARE_WATCHPOINTS macros.
>
> That leaves no definition so this patch also removes the corresponding documentation.

Regarding the second of those points, procfs.c and i386v-nat.c:

>>> Date: Mon, 06 Sep 2004 10:05:02 -0400
>>> From: Andrew Cagney <cagney@gnu.org>
>>> Cc: gdb-patches@sources.redhat.com
>>>
>>> I'll clarify the comments so that it is clear that:
>>>
>>> - it is native only
>>>
>>> - in all likelyhood all applicable current systems support this
>>> mechanism so no autoconf test is needed (someone needs to do a proper
>>> analysis)
>>>
>>> - its a configuration change, possibly involving an autoconf test
>
>
> Sorry, I'm confused: what will a non-native port do to support both
> targets that have hardware watchpoints and those which do not? Or are
> you saying that _all_ targets have hardware watchpoint support now
> (which I think is not true)?

(my comments were for the native case only).

For the non-native case, as I initially indicated and as an examination
of the code reveals, this macro is never used! Consequently I've in no
way motified or altered GDB's ``hardware watchpoints'' feature on those
targets.

Andrew