From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Thu, 08 Oct 2020 22:16:55 +0900 Message-ID: From: Hajime Tazaki Subject: Re: [RFC v7 04/21] um: host: implement os_initcalls and os_exitcalls In-Reply-To: <255740d56676f005fc01e1a76959fef80ad68ef5.camel@sipsolutions.net> References: <255740d56676f005fc01e1a76959fef80ad68ef5.camel@sipsolutions.net> MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue") Content-Type: text/plain; charset=US-ASCII To: johannes@sipsolutions.net Cc: linux-um@lists.infradead.org, jdike@addtoit.com, richard@nod.at, anton.ivanov@cambridgegreys.com, tavi.purdila@gmail.com, linux-kernel-library@freelists.org, linux-arch@vger.kernel.org, tavi@cs.pub.ro, retrage01@gmail.com List-ID: On Thu, 08 Oct 2020 00:22:18 +0900, Johannes Berg wrote: > > 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 ... Now I found that this patch should be together with the patch 02/21 um: add os init and exit calls. I will do that from next time. > > +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. Understand, I'll fix it. > > +} > > + > > +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. Okay. -- Hajime