Re: [RFA]: Modified Watchthreads Patch

Daniel Jacobowitz
2004-12-10T23:10:30Z

On Sat, Dec 11, 2004 at 12:50:11AM +0200, Eli Zaretskii wrote:
> > Date: Fri, 10 Dec 2004 08:31:16 -0500
> > From: Daniel Jacobowitz <drow@false.org>
> > Cc: Jeff Johnston <jjohnstn@redhat.com>, gdb-patches@sources.redhat.com
> >
> > On Fri, Dec 10, 2004 at 02:20:39PM +0200, Eli Zaretskii wrote:
> > > Hmm... the new function insert_watchpoints_for_new_thread is called
> > > only by ia64_linux_new_thread. Is there any policy for functions that
> > > are only used by a single port? Do we care that all the other GDB
> > > builds will get a useless function compiled into them? Should we
> > > perhaps #ifdef it away conditioned on some symbol?
> >
> > Let's not. Conditional compilation is bad...
>
> I asked several questions. It sounds like you only replied to the
> last one.

(1) I don't know of any policy.

(2) Well, I don't care. I think it's relatively harmless and we
already include a large number of "useless" functions to simplify
design.

(3) We've been trying to move away from conditional compilation within
core files for several years, if I understand correctly.

> If possible, I'd like to hear opinions or official policy, if there is
> one, on the other questions.

GDB does not have much in the way of "official" policy. This is the
closest thing from gdbint:

@cindex portability
Insertion of new @code{#ifdef}'s will be frowned upon. It's much better
to write the code portably than to conditionalize it for various systems.

> > However, I think ia64_linux_new_thread's use should be taken as an
> > example. If I understand Jeff's patch correctly, a number of other
> > targets with hardware watchpoints will need it also.
>
> Which ones, and how do they get along now?

They don't work. I don't know any target on which multi-threaded
watchpoints work; do you?

--
Daniel Jacobowitz