4.3. Linux Platforms¶
The following table shows the currently supported Linux platforms.
OS |
Version |
CPU |
Network Stack |
Toolchain |
Architecture PIL |
Architecture PSL |
---|---|---|---|---|---|---|
Ubuntu |
22.04 LTS |
x64 |
OS Default |
GCC 12.3.0 |
x86_64leElfgcc12.3.0 x86_64leElfgcc12.3.0CERT |
x86_64leElfgcc12.3.0-Linux5 x86_64leElfgcc12.3.0CERT-Linux5 |
Ubuntu |
18.04 LTS |
ARMv8 (64-bit) |
OS Default |
GCC 7.3.0 |
armv8leElfgcc7.3.0 armv8leElfgcc7.3.0CERT |
armv8leElfgcc7.3.0-Linux4 armv8leElfgcc7.3.0CERT-Linux4 |
Yocto |
5.15.96 |
ARMv8-A (64-bit) |
OS Default |
GCC 11.3.1 |
armv8aleElfgcc11.3.1 armv8aleElfgcc11.3.1CERT |
armv8aleElfgcc11.3.1-Linux5 armv8aleElfgcc11.3.1CERT-Linux5 |
4.3.1. How the PIL was built for Linux platforms¶
This section describes how RTI built the Platform Independent Library (PIL) for Linux.
The following table shows the compiler flags RTI used to create the PIL for Linux platforms:
Architecture |
Library Format |
Compiler Flags Used by RTI |
---|---|---|
x86_64leElfgcc12.3.0 |
Static Release |
C Flags: -fsigned-char -O2 -nostdinc -fstrict-aliasing -fPIC -DNDEBUG |
Shared Release |
C Flags: -fsigned-char -O2 -nostdinc -fstrict-aliasing -fPIC -DNDEBUG |
|
Static Debug |
C Flags: -fsigned-char -nostdinc -fstrict-aliasing -g -fPIC |
|
Shared Debug |
C Flags: -fsigned-char -nostdinc -fstrict-aliasing -g -fPIC |
|
x86_64leElfgcc12.3.0CERT |
Static Release |
C Flags: -fsigned-char -O2 -nostdinc -fstrict-aliasing -fPIC -DNDEBUG |
Static Debug |
C Flags: -fsigned-char -nostdinc -fstrict-aliasing -g -fPIC |
|
armv8leElfgcc7.3.0 |
Static Release |
C Flags: -fsigned-char -O2 -nostdinc -fstrict-aliasing -fPIC -DNDEBUG |
Shared Release |
C Flags: -fsigned-char -O2 -nostdinc -fstrict-aliasing -fPIC -DNDEBUG |
|
Static Debug |
C Flags: -fsigned-char -nostdinc -fstrict-aliasing -g -fPIC |
|
Shared Debug |
C Flags: -fsigned-char -nostdinc -fstrict-aliasing -g -fPIC |
|
armv8leElfgcc7.3.0CERT |
Static Release |
C Flags: -fsigned-char -O2 -nostdinc -fstrict-aliasing -fPIC -DNDEBUG |
Static Debug |
C Flags: -fsigned-char -nostdinc -fstrict-aliasing -g -fPIC |
|
armv8aleElfgcc11.3.1 |
Static Release |
C Flags: -nostdinc -fstrict-aliasing -O -DNDEBUG -fPIC-DNDEBUG |
Shared Release |
C Flags: -nostdinc -fstrict-aliasing -O -DNDEBUG -fPIC -DNDEBUG |
|
Static Debug |
C Flags: -nostdinc -fstrict-aliasing -fsigned-char -O0 -g -fPIC |
|
Shared Debug |
C Flags: -nostdinc -fstrict-aliasing -fsigned-char -O0 -g -fPIC |
|
armv8aleElfgcc11.3.1CERT |
Static Release |
C Flags: -nostdinc -fstrict-aliasing -fsigned-char -O -DNDEBUG |
Static Debug |
C Flags: -fsigned-char -nostdinc -fstrict-aliasing -O0 -g |
|
armv8aleElfgcc11.3.1 |
Static Release |
C Flags: -nostdinc -fstrict-aliasing -fsigned-char -O -DNDEBUG -fPIC -DNDEBUG |
Shared Release |
C Flags: -nostdinc -fstrict-aliasing -fsigned-char -O -DNDEBUG -fPIC -DNDEBUG |
|
Static Debug |
C Flags: -std=c99 -nostdinc -fstrict-aliasing -fsigned-char -O0 -g -fPIC |
|
Shared Debug |
C Flags: -std=c99 -nostdinc -fstrict-aliasing -fsigned-char -O0 -g -fPIC |
|
armv8aleElfgcc11.3.1CERT |
Static Release |
C Flags: -nostdinc -fstrict-aliasing -fsigned-char -O -DNDEBUG |
Static Debug |
C Flags: -fsigned-char -nostdinc -fstrict-aliasing -O0 -g |
Warning
The RTI Connext Micro platform independent libraries are built without the standard C
header-files. However, Connext Micro makes one direct call to
the C library API qsort
. In addition, GCC may insert direct calls
to GLIBC functions and other required functions, such as default C++
constructors and destructors. For this reason, it is necessary to use a
GCC version that is compatible with the GCC version used to build the
platform independent libraries, or provide a C library with an implementation
of the required functions. Future versions of RTI Connext Micro will remove these
dependencies.
4.3.2. Building the PSL from source for Linux platforms¶
Refer to Building the PSL for instructions on how to build your own Platform Support Library (PSL) for Linux platforms.
The following table shows the compiler flags and required options that RTI
used to build the PSL for Linux platforms. When you build the PSL with
rtime-make
, the --target
argument automatically adds all the necessary
flags for the specified architecture.
Architecture PSL |
Library Format |
Compiler Flags Used by RTI |
---|---|---|
x86_64leElfgcc12.3.0-Linux5 |
Static Release |
C Flags: -O2 -fstrict-aliasing -fsigned-char -fPIC -DNDEBUG |
Shared Release |
C Flags: -O2 -fstrict-aliasing -fsigned-char -fPIC -DNDEBUG |
|
Static Debug |
C Flags: -std=c99 -fstrict-aliasing -fsigned-char -g -fPIC |
|
Shared Debug |
C Flags: -std=c99 -fstrict-aliasing -fsigned-char -g -fPIC |
|
x86_64leElfgcc12.3.0CERT-Linux5 |
Static Release |
C Flags: -std=c99 -O2 -fstrict-aliasing -fsigned-char -fPIC -DNDEBUG |
Static Debug |
C Flags: -std=c99 -fstrict-aliasing -fsigned-char -g -fPIC |
|
armv8leElfgcc7.3.0-Linux4 |
Static Release |
C Flags: -std=c99 -O2 -fstrict-aliasing -fsigned-char -fPIC -DNDEBUG |
Shared Release |
C Flags: -std=c99 -O2 -fstrict-aliasing -fsigned-char -fPIC -DNDEBUG |
|
Static Debug |
C Flags: -std=c99 -fstrict-aliasing -fsigned-char -g -fPIC |
|
Shared Debug |
C Flags: -std=c99 -fstrict-aliasing -fsigned-char -g -fPIC |
|
armv8leElfgcc7.3.0CERT-Linux4 |
Static Release |
C Flags: -std=c99 -O2 -fstrict-aliasing -fsigned-char -fPIC -DNDEBUG |
Static Debug |
C Flags: -std=c99 -fstrict-aliasing -fsigned-char -g -fPIC |
|
armv8aleElfgcc11.3.1-Linux5 |
Static Release |
C Flags: -std=c99 -fstrict-aliasing -fsigned-char -O -DNDEBUG |
Shared Release |
C Flags: -std=c99 -fstrict-aliasing -fsigned-char -O -DNDEBUG |
|
Static Debug |
C Flags: -std=c99 -fstrict-aliasing -fsigned-char -O0 -g -fPIC |
|
Shared Debug |
C Flags:-std=c99 -fstrict-aliasing -fsigned-char -O0 -g -fPIC |
|
armv8aleElfgcc11.3.1CERT-Linux5 |
Static Release |
C Flags: -std=c99 -fstrict-aliasing -fsigned-char -O -DNDEBUG |
Static Debug |
C Flags: -std=c99 -fstrict-aliasing -fsigned-char -O0 -g |