mirror of
https://git.rtems.org/rtems-libbsd/
synced 2025-10-15 02:36:30 +08:00
Prevent invalid optimizations for linker sets
This commit is contained in:
@@ -51,35 +51,35 @@
|
||||
static void const * const __set_##set##_sym_##sym \
|
||||
__section("set_" #set) __used = &sym
|
||||
#else /* __rtems__ */
|
||||
#define RTEMS_BSD_DEFINE_SET(set, type) \
|
||||
type const __CONCAT(_bsd__start_set_,set)[0] \
|
||||
__section(".rtemsroset.bsd." __STRING(set) ".begin") __used; \
|
||||
type const __CONCAT(_bsd__stop_set_,set)[0] \
|
||||
#define RTEMS_BSD_DEFINE_SET(set, type) \
|
||||
type volatile const __CONCAT(_bsd__start_set_,set)[0] \
|
||||
__section(".rtemsroset.bsd." __STRING(set) ".begin") __used; \
|
||||
type volatile const __CONCAT(_bsd__stop_set_,set)[0] \
|
||||
__section(".rtemsroset.bsd." __STRING(set) ".end") __used
|
||||
|
||||
#define RTEMS_BSD_DECLARE_SET(set, type) \
|
||||
extern type const __CONCAT(_bsd__start_set_,set)[0]; \
|
||||
extern type const __CONCAT(_bsd__stop_set_,set)[0]
|
||||
extern type volatile const __CONCAT(_bsd__start_set_,set)[0]; \
|
||||
extern type volatile const __CONCAT(_bsd__stop_set_,set)[0]
|
||||
|
||||
#define RTEMS_BSD_DEFINE_SET_ITEM(set, sym, type) \
|
||||
static type const __set_##set##_sym_##sym \
|
||||
static type volatile const __set_##set##_sym_##sym \
|
||||
__section(".rtemsroset.bsd." __STRING(set) ".content") __used
|
||||
|
||||
#define __MAKE_SET(set, sym) \
|
||||
RTEMS_BSD_DEFINE_SET_ITEM(set, sym, const void *) = &sym
|
||||
|
||||
#define RTEMS_BSD_DEFINE_RWSET(set, type) \
|
||||
type __CONCAT(_bsd__start_set_,set)[0] \
|
||||
__section(".rtemsrwset.bsd." __STRING(set) ".begin") __used; \
|
||||
type __CONCAT(_bsd__start_set_,set)[0] \
|
||||
__section(".rtemsrwset.bsd." __STRING(set) ".begin") __used; \
|
||||
type __CONCAT(_bsd__stop_set_,set)[0] \
|
||||
__section(".rtemsrwset.bsd." __STRING(set) ".end") __used
|
||||
|
||||
#define RTEMS_BSD_DECLARE_RWSET(set, type) \
|
||||
extern type __CONCAT(_bsd__start_set_,set)[0]; \
|
||||
extern type __CONCAT(_bsd__stop_set_,set)[0]
|
||||
extern type volatile __CONCAT(_bsd__start_set_,set)[0]; \
|
||||
extern type volatile __CONCAT(_bsd__stop_set_,set)[0]
|
||||
|
||||
#define RTEMS_BSD_DEFINE_RWSET_ITEM(set, sym, type) \
|
||||
static type __set_##set##_sym_##sym \
|
||||
static type volatile __set_##set##_sym_##sym \
|
||||
__section(".rtemsrwset.bsd." __STRING(set) ".content") __used
|
||||
|
||||
#define __MAKE_RWSET(set, sym) \
|
||||
|
Reference in New Issue
Block a user