13.2. RTEMS 5 to RTEMS 6¶
This section provides helpful information when migrating from RTEMS 5 to RTEMS 6.
13.2.1. Update to GCC 10 and Later¶
The tool suite for RTEMS 6 uses at least GCC 10. GCC 10 and later enable
-fno-common by default. Code bases which never used this option before may
observe now multiple definition linker errors. For example, if global
variables are declared and defined in header files (usually a missing
extern in the header file).
13.2.2. No -specs bsp_specs GCC Option¶
-spec bsp_specs GCC Option is no longer needed to build RTEMS
applications and there is no
bsp_specs file installed. If you use this
option, then you get an error like this:
sparc-rtems6-gcc: fatal error: cannot read spec file 'bsp_specs': No such file or directory
You can remove this GCC option from your build to fix this error.
Alternatively, you can add an empty
13.2.3. Replacements for Removed APIs¶
rtems_iterate_over_all_threads()directive was removed. Use
rtems_get_current_processor()directive was removed. Use
rtems_get_processor_count()directive was removed. Use
booleantype was removed. Use
single_precisiontype was removed. Use
double_precisiontype was removed. Use
proc_ptrtype was removed. Use a proper function pointer type.
rtems_contexttype was removed. If you need this type in your applications, please ask on the Developers Mailing List.
rtems_context_fptype was removed. If you need this type in your applications, please ask on the Developers Mailing List.
rtems_extensiontype was removed. Use
rtems_io_lookup_name()directive was removed. Use
region_information_blocktype was removed. Use
rtems_thread_cpu_usage_ttype was removed. Use
rtems_rate_monotonic_period_time_ttype was removed. Use
_Copyright_Noticeconstant was removed from the API. Use
_RTEMS_versionconstant was removed from the API. Use
RTEMS_MAXIMUM_NAME_LENGTHdefine was removed. Use
sizeof( rtems_name )instead.
<rtems/system.h>header file was removed. Include