Commit cca76c1a authored by Alexander Pateenok's avatar Alexander Pateenok Committed by Richard Weinberger

um: remove uml initcalls

__uml_initcall() is not used and .uml.initcall.init section is empty:

$ grep -r '__uml_initcall('
arch/um/include/shared/init.h:#define __uml_initcall(fn)	\
$ readelf -s ../umobj/linux | grep __uml_initcall
 23214: 00000000603b75d8     0 NOTYPE  GLOBAL DEFAULT   32 __uml_initcall_start
 25337: 00000000603b75d8     0 NOTYPE  GLOBAL DEFAULT   32 __uml_initcall_end

So it is unnecessary.
Signed-off-by: default avatarAlexander Pateenok <pateenoc@gmail.com>
Signed-off-by: default avatarRichard Weinberger <richard@nod.at>
parent 8e0ab914
...@@ -53,12 +53,6 @@ ...@@ -53,12 +53,6 @@
CON_INITCALL CON_INITCALL
} }
.uml.initcall.init : {
__uml_initcall_start = .;
*(.uml.initcall.init)
__uml_initcall_end = .;
}
SECURITY_INIT SECURITY_INIT
.exitcall : { .exitcall : {
......
...@@ -64,14 +64,10 @@ struct uml_param { ...@@ -64,14 +64,10 @@ struct uml_param {
int (*setup_func)(char *, int *); int (*setup_func)(char *, int *);
}; };
extern initcall_t __uml_initcall_start, __uml_initcall_end;
extern initcall_t __uml_postsetup_start, __uml_postsetup_end; extern initcall_t __uml_postsetup_start, __uml_postsetup_end;
extern const char *__uml_help_start, *__uml_help_end; extern const char *__uml_help_start, *__uml_help_end;
#endif #endif
#define __uml_initcall(fn) \
static initcall_t __uml_initcall_##fn __uml_init_call = fn
#define __uml_exitcall(fn) \ #define __uml_exitcall(fn) \
static exitcall_t __uml_exitcall_##fn __uml_exit_call = fn static exitcall_t __uml_exitcall_##fn __uml_exit_call = fn
...@@ -108,7 +104,6 @@ extern struct uml_param __uml_setup_start, __uml_setup_end; ...@@ -108,7 +104,6 @@ extern struct uml_param __uml_setup_start, __uml_setup_end;
*/ */
#define __uml_init_setup __used __section(.uml.setup.init) #define __uml_init_setup __used __section(.uml.setup.init)
#define __uml_setup_help __used __section(.uml.help.init) #define __uml_setup_help __used __section(.uml.help.init)
#define __uml_init_call __used __section(.uml.initcall.init)
#define __uml_postsetup_call __used __section(.uml.postsetup.init) #define __uml_postsetup_call __used __section(.uml.postsetup.init)
#define __uml_exit_call __used __section(.uml.exitcall.exit) #define __uml_exit_call __used __section(.uml.exitcall.exit)
......
...@@ -40,17 +40,6 @@ static void set_stklim(void) ...@@ -40,17 +40,6 @@ static void set_stklim(void)
} }
} }
static __init void do_uml_initcalls(void)
{
initcall_t *call;
call = &__uml_initcall_start;
while (call < &__uml_initcall_end) {
(*call)();
call++;
}
}
static void last_ditch_exit(int sig) static void last_ditch_exit(int sig)
{ {
uml_cleanup(); uml_cleanup();
...@@ -151,7 +140,6 @@ int __init main(int argc, char **argv, char **envp) ...@@ -151,7 +140,6 @@ int __init main(int argc, char **argv, char **envp)
scan_elf_aux(envp); scan_elf_aux(envp);
#endif #endif
do_uml_initcalls();
change_sig(SIGPIPE, 0); change_sig(SIGPIPE, 0);
ret = linux_main(argc, argv); ret = linux_main(argc, argv);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment