[Ada] Add a new gnat tool vxlink

Programming / Compilers / GCC - pmderodat [138bc75d-0d04-0410-961f-82ee72b054a4] - 21 August 2018 14:49 EDT

VxLink is a helper tool used as a wrapper around g++/gcc to build
VxWorks DKM (Downloadable Kernel Modules).

Such DKM is a partially linked object that includes entry points for constructors and destructors.

This tool thus uses g++ to generate an intermediate partially linked object, retrieves the list of constructors and destructors in it and produces a C file that lists those ctors/dtors in a way that is understood be VxWorks kernel. It then links this file with the intermediate object to produce a valid DKM.

2018-08-21 Jerome Lambourg

gcc/ada/

- vxlink-bind.adb, vxlink-bind.ads, vxlink-link.adb,
vxlink-link.ads, vxlink-main.adb, vxlink.adb, vxlink.ads: Add a new tool vxlink to handle VxWorks constructors in DKMs.
- gcc-interface/Makefile.in: add rules to build vxlink

3bae5e8b2c5 [Ada] Add a new gnat tool vxlink
gcc/ada/ChangeLog | 7 +
gcc/ada/gcc-interface/Makefile.in | 11 ++
gcc/ada/vxlink-bind.adb | 390 ++++++++++++++++++++++++++++++++++++++
gcc/ada/vxlink-bind.ads | 87 +++++++++
gcc/ada/vxlink-link.adb | 194 +++++++++++++++++++
gcc/ada/vxlink-link.ads | 63 ++++++
gcc/ada/vxlink-main.adb | 81 ++++++++
gcc/ada/vxlink.adb | 288 ++++++++++++++++++++++++++++
gcc/ada/vxlink.ads | 68 +++++++
9 files changed, 1189 insertions(+)

Upstream: gcc.gnu.org


  • Share