26 lines
721 B
C
26 lines
721 B
C
#ifndef RELOCATE_H
|
|
#define RELOCATE_H
|
|
|
|
/* relocate() is conceptually impossible with KEEP_IT_REAL */
|
|
#ifndef KEEP_IT_REAL
|
|
|
|
/* An entry in the post-relocation function table */
|
|
struct post_reloc_fn {
|
|
void ( *post_reloc ) ( void );
|
|
};
|
|
|
|
/* Use double digits to avoid problems with "10" < "9" on alphabetic sort */
|
|
#define POST_RELOC_LIBRM "00"
|
|
|
|
/* Macro for creating a post-relocation function table entry */
|
|
#define POST_RELOC_FN( post_reloc_order, post_reloc_func ) \
|
|
static struct post_reloc_fn post_reloc_functions \
|
|
__attribute__ (( used, __section__( ".post_reloc_fns." \
|
|
post_reloc_order ) )) = { \
|
|
.post_reloc = post_reloc_func, \
|
|
};
|
|
|
|
#endif
|
|
|
|
#endif /* RELOCATE_H */
|