Hello,

For VxWorks RTPs, the config/vxworks.h has:

 /* For VxWorks, the system provides libc_internal.a.  This is a superset
    of libgcc.a; we want to use it.  Make sure not to dynamically export
    any of its symbols, though.  Always look for libgcc.a first so that
    we get the latest versions of the GNU intrinsics during our builds.  */
 #undef VXWORKS_LIBGCC_SPEC
 #define VXWORKS_LIBGCC_SPEC \
   "-lgcc %{mrtp:--exclude-libs=libc_internal,libgcc -lc_internal}"

This is not quite appropriate for shared RTPs, as there is no shared
version of libc_internal. The corresponding entry points are provided by
the system libc.so instead.

The attached patch is a suggestion to address this by guarding the
inclusion with !shared.

Tested by verifying that we can produce functional static and dynamic
RTPs with the change on VxWorks 6.X.

OK to commit ?

Thanks in advance for your feedback,

Olivier

2014-06-11  Olivier Hainque  <hain...@adacore.com>

        * config/vxworks.h (VXWORKS_LIBGCC_SPEC): Don't link shared RTPs with
        libc_internal.

Attachment: vxworks_libc_internal.diff
Description: Binary data

Reply via email to