Adding support for VxWorks target

Joel Brobecker
2010-04-25T15:47:48Z

Hello,

The following series of patches adds support for cross debugging
VxWorks targets (version 5.x, 6.x and limited support for VxWorks 653).
It's a lot of code overall, and many patches, but it is almost
completely contained in dedicated files, and we've split the changes
in modules/patches, hoping to make it easier for anyone wanting to
look at them.

With VxWorks systems, we communicate with the target by establishing
a connection with the "target server". The target server is a server
running on a host which acts as a multiplexer. The protocol used
between the target server and the target itself is undocumented, and
extremely version/system dependent. The protocol used to talk to the
target server is not documented per se, but WindRiver provides an API
that allows us to do the communication.

What we do, in this port, is use the API to send the various request.
The one problem with the API is that it is not all that stable across
versions - compatibility of the API between WTX versions (we support
versions 2, 3 and 4) is not guaranteed. As a result, we created a thin
abstraction on top of the WTX API that Wind River provides which allowed
us to have that consistent API, making the real code a *LOT* simpler.

As you will see if you read the description of some of the patches,
there are a couple of things that we implemented one way which is
definitly on the quick-and-dirty how-else-could-I-do-it-without-
making-changes-everywhere side. I've pulled these changes out for now,
and we intend to discuss those issues separately in order to find
the proper way to fix them. The only side-effect of pulling these
changes out, as it turns out, is that we are losing support for
partitions in VxWorks 653 systems.

Lastly, these patches were tested on VxWorks 5.x and VxWorks 6.x
using AdaCore's testsuite. We were actually quite surprised at
the almost clean results we got! :)

Documentation will of course follow if the patches make it in the FSF
tree...