On Tue, 2020-10-06 at 18:44 +0900, Hajime Tazaki wrote: > Note that this patch should be merged with "um: move arch/um/os-Linux > dir to tools/um" but for now it is separate to make the review easier. Not a fan of that, I must say ... > +extern void (*__start_os_exitcalls)(void); > +extern void (*__stop_os_exitcalls)(void); > + > +void os_exitcalls(void) > +{ > + exitcall_t *call; > + > + call = &__stop_os_exitcalls; > + while (--call >= &__start_os_exitcalls) > + (*call)(); You should check for and skip NULL pointers, there always are alignment issues with automatic section filling like this, more so with clang than gcc. > +} > + > +extern int (*__start_os_initcalls)(void); > +extern int (*__stop_os_initcalls)(void); > + > +int os_initcalls(void) > +{ > + initcall_t *call; > + > + call = &__stop_os_initcalls; > + while (--call >= &__start_os_initcalls) > + (*call)(); Same here. johannes