Re: [rfa/rfc] Build libcommon.a for gdb and gdbserver

Pedro Alves
2011-01-28T15:22:07Z

On Friday 28 January 2011 15:04:38, Pedro Alves wrote:
> >
> > Yao> 4 Building libcommon.a for gdb and gdbserver respectively.
> >
> > This seems to mean that we must build libcommon twice. I don't
> > understand that -- what is the benefit, versus having a single library?
>
> See above. It's not possible currently. gdb/common/ includes
> headers from gdb/ when built for gdb, and headers from gdbserver/
> when built for gdbserver.

... and I should stress that gdbserver must be buildable for a
different target you're building gdb for. Consider:

- you build gdb for an x86-linux host, --target=arm-linux.
libcommon.a built for x86.
- you build gdbserver to run on arm-linux (host). libcommon.a
built for arm.

hence, you get two libcommon builds, even if we get
rid of all the headers mess. Only the
native-gdb-that-also-builds-gdbserver special
case would be able to get by with a single build.

libcommon.a could also be split into two distinct
libraries. One, for common, but native-target independent
stuff: utils, signal, xml, common structures, etc.
Another, for native target backend stuff (think ptrace):
gdbserver/linux-low.c and friends, merged with
gdb/linux-nat.c and friends could go into this other
library. But to a first approximation, a single
common library is good too.

--
Pedro Alves