summaryrefslogtreecommitdiffstats
path: root/cpukit/include/rtems/linkersets.h (unfollow)
Commit message (Collapse)AuthorFilesLines
2023-07-26rtems: Add files to Doxygen groupsSebastian Huber1-10/+40
Provide basic Doxygen comments. Update #3706. Update #3707.
2023-05-20Update company nameSebastian Huber1-1/+1
The embedded brains GmbH & Co. KG is the legal successor of embedded brains GmbH.
2022-09-19Do not use RTEMS_INLINE_ROUTINESebastian Huber1-1/+1
Directly use "static inline" which is available in C99 and later. This brings the RTEMS implementation closer to standard C. Close #3935.
2022-08-29Revert "linkersets.h: Fix gcc 12 warning"Sebastian Huber1-1/+1
This reverts commit f930206724e65f188fe3b095826ceb1b11000f65. The linker set begin must be a symbol and not a zero-initialized item.
2022-08-19linkersets.h: Fix gcc 12 warningRyan Long1-1/+1
Changing the offset from 0 to 1 got rid of a warning stating that offset 0 is out of bounds. Updates #4662
2022-03-25cpukit/include/rtems: Change license to BSD-2Joel Sherrill1-3/+22
Updates #3053.
2022-03-10cpukit/: Scripted embedded brains header file clean upJoel Sherrill1-6/+0
Updates #4625.
2021-03-05cpukit: Explicitly enforce alignment requirementsKinsey Moore1-20/+32
According to commentary on GCC bug https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99143, the alignment behavior of linker sections on which RTEMS has relied was never guaranteed to be consistent across platforms and any alignment requirements for linker sections needs to be enforced explicitly. This adds those explicit alignment requirements. Closes #4255.
2021-01-25Fix RTEMS_LINKER_ROSET_ITEM_ORDERED_DECLARE()Sebastian Huber1-1/+1
Add "extern" similar to RTEMS_LINKER_RWSET_ITEM_ORDERED_DECLARE(). Close #4221.
2020-02-06score: Fix linker sets on small data area targetsSebastian Huber1-3/+13
Update #3865.
2019-11-25linkersets: Revert to zero-length arraysSebastian Huber1-18/+8
This partially reverts commit 7ec08391fee73d7a25855089f4996f3c4f448007. Since the RTEMS_DEFINE_GLOBAL_SYMBOL_IN_SECTION() cannot control the alignment of the symbol it cannot be used to define the begin of a linker set. File scope basic __asm__ statements cannot have operands, so there is no way to specify the desired alignment.
2019-10-28linkersets: Avoid use of zero-length arraySebastian Huber1-12/+22
Use RTEMS_DEFINE_GLOBAL_SYMBOL_IN_SECTION() instead.
2018-01-25Remove make preinstallChris Johns1-0/+0
A speciality of the RTEMS build system was the make preinstall step. It copied header files from arbitrary locations into the build tree. The header files were included via the -Bsome/build/tree/path GCC command line option. This has at least seven problems: * The make preinstall step itself needs time and disk space. * Errors in header files show up in the build tree copy. This makes it hard for editors to open the right file to fix the error. * There is no clear relationship between source and build tree header files. This makes an audit of the build process difficult. * The visibility of all header files in the build tree makes it difficult to enforce API barriers. For example it is discouraged to use BSP-specifics in the cpukit. * An introduction of a new build system is difficult. * Include paths specified by the -B option are system headers. This may suppress warnings. * The parallel build had sporadic failures on some hosts. This patch removes the make preinstall step. All installed header files are moved to dedicated include directories in the source tree. Let @RTEMS_CPU@ be the target architecture, e.g. arm, powerpc, sparc, etc. Let @RTEMS_BSP_FAMILIY@ be a BSP family base directory, e.g. erc32, imx, qoriq, etc. The new cpukit include directories are: * cpukit/include * cpukit/score/cpu/@RTEMS_CPU@/include * cpukit/libnetworking The new BSP include directories are: * bsps/include * bsps/@RTEMS_CPU@/include * bsps/@RTEMS_CPU@/@RTEMS_BSP_FAMILIY@/include There are build tree include directories for generated files. The include directory order favours the most general header file, e.g. it is not possible to override general header files via the include path order. The "bootstrap -p" option was removed. The new "bootstrap -H" option should be used to regenerate the "headers.am" files. Update #3254.
2016-12-06score: Simplify linker set APISebastian Huber1-25/+38
Resurrect RTEMS_LINKER_SET_BEGIN() and RTEMS_LINKER_SET_END(). Add new macros RTEMS_LINKER_SET_ITEM_COUNT(), RTEMS_LINKER_SET_IS_EMPTY(), and RTEMS_LINKER_SET_FOREACH(). Remove confusing RTEMS_LINKER_SET_ASSIGN_BEGIN() and RTEMS_LINKER_SET_ASSIGN_END(). Fix RTEMS_LINKER_SET_SIZE() to return the size in characters as specified by the documentation. Update #2408. Update #2790.
2016-10-13score: Rename RTEMS_OBFUSCATE_POINTER()Sebastian Huber1-2/+2
The inline asm construct works for everything which fits into a register. Close #2790.
2016-10-12score: More robust linker setsSebastian Huber1-19/+31
Update #2408. Update #2790.
2016-08-02linker set: Allow adding any variable into contentChristian Mauderer1-0/+8
The newly created macro adds any kind of variable into a linker set. It allows (for example) the saving an execution state of a function using the following method: - put a group of different variables into one linker set - save the memory area containing the group of variables before the execution of a function - restore the memory area after the function has been executed
2015-12-08Add RTEMS linker setsSebastian Huber1-0/+96
Update #2408.