#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 */