VxWorks Software Development Kit (SDK)

The compilers use by default multiple header files locations, including sysroot/usr/h/public. You should be able to use wr-c++ to compile your application without explicitly specifying the include path to array.

Typo INCLDUE_POSIX_SPAWN in vip_config.json causes posix_spawn to be excluded from the prebuilt image

The prebuilt vxWorks image for the fsl_imx6 BSP does not include posix_spawn. I traced this to a typo in vip_config.json:
“INCLDUE_POSIX_SPAWN” // current — missing ‘U’ in “INCLUDE”
Should be:
“INCLUDE_POSIX_SPAWN” // correct macro name

Impact:

  1. posix_spawn() is gated by #if (defined(INCLUDE_POSIX_SPAWN)) in syscallTbl.h. Since the typo’d macro never expands to a valid name, the entire implementation is excluded at compile time.
  2. Neither _posix_spawnSc (syscall entry) nor posix_spawn (user API) is present in the vxWorks ELF symbol table.

Hi @wbr ! The issue you have identified was tracked as a VxWorks 21.03 defect which was fixed in a following version. However, the VxWorks SDK for QEMU (sabrelite) version 1.5 did not include the POSIX components in its base configuration.

The SDK configurations have changed over their release cycles, so recent SDKs do include many more APIs, including POSIX.

Hi @dan.milea ! Thank you for your reply. However, I haven’t seen a newer version of the VxWorks SDK for QEMU (sabrelite BSP). I need an SDK that works with QEMU on the ARM architecture. Could you tell me where I can download it?

@wbr Currently there aren’t any ARM-based VxWorks SDKs (newer than VxWorks 21.03) for QEMU virtual targets available for download.

@dan.milea All right. Thank you.