diff options
author | Alexander Pateenok <pateenoc@gmail.com> | 2018-04-23 14:20:17 -0400 |
---|---|---|
committer | Richard Weinberger <richard@nod.at> | 2018-06-10 16:49:14 -0400 |
commit | cca76c1ad61d08097af5a691195f9a42d72e978f (patch) | |
tree | 20f48c05786d468e6a52c329b2b047c1191bf872 | |
parent | 8e0ab9140cdafaa258bf7716cb82d73086ee3d06 (diff) |
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: Alexander Pateenok <pateenoc@gmail.com>
Signed-off-by: Richard Weinberger <richard@nod.at>
-rw-r--r-- | arch/um/include/asm/common.lds.S | 6 | ||||
-rw-r--r-- | arch/um/include/shared/init.h | 5 | ||||
-rw-r--r-- | arch/um/os-Linux/main.c | 12 |
3 files changed, 0 insertions, 23 deletions
diff --git a/arch/um/include/asm/common.lds.S b/arch/um/include/asm/common.lds.S index b30d73ca29d0..7adb4e6b658a 100644 --- a/arch/um/include/asm/common.lds.S +++ b/arch/um/include/asm/common.lds.S | |||
@@ -53,12 +53,6 @@ | |||
53 | CON_INITCALL | 53 | CON_INITCALL |
54 | } | 54 | } |
55 | 55 | ||
56 | .uml.initcall.init : { | ||
57 | __uml_initcall_start = .; | ||
58 | *(.uml.initcall.init) | ||
59 | __uml_initcall_end = .; | ||
60 | } | ||
61 | |||
62 | SECURITY_INIT | 56 | SECURITY_INIT |
63 | 57 | ||
64 | .exitcall : { | 58 | .exitcall : { |
diff --git a/arch/um/include/shared/init.h b/arch/um/include/shared/init.h index b3f5865a92c9..c66de434a983 100644 --- a/arch/um/include/shared/init.h +++ b/arch/um/include/shared/init.h | |||
@@ -64,14 +64,10 @@ struct uml_param { | |||
64 | int (*setup_func)(char *, int *); | 64 | int (*setup_func)(char *, int *); |
65 | }; | 65 | }; |
66 | 66 | ||
67 | extern initcall_t __uml_initcall_start, __uml_initcall_end; | ||
68 | extern initcall_t __uml_postsetup_start, __uml_postsetup_end; | 67 | extern initcall_t __uml_postsetup_start, __uml_postsetup_end; |
69 | extern const char *__uml_help_start, *__uml_help_end; | 68 | extern const char *__uml_help_start, *__uml_help_end; |
70 | #endif | 69 | #endif |
71 | 70 | ||
72 | #define __uml_initcall(fn) \ | ||
73 | static initcall_t __uml_initcall_##fn __uml_init_call = fn | ||
74 | |||
75 | #define __uml_exitcall(fn) \ | 71 | #define __uml_exitcall(fn) \ |
76 | static exitcall_t __uml_exitcall_##fn __uml_exit_call = fn | 72 | static exitcall_t __uml_exitcall_##fn __uml_exit_call = fn |
77 | 73 | ||
@@ -108,7 +104,6 @@ extern struct uml_param __uml_setup_start, __uml_setup_end; | |||
108 | */ | 104 | */ |
109 | #define __uml_init_setup __used __section(.uml.setup.init) | 105 | #define __uml_init_setup __used __section(.uml.setup.init) |
110 | #define __uml_setup_help __used __section(.uml.help.init) | 106 | #define __uml_setup_help __used __section(.uml.help.init) |
111 | #define __uml_init_call __used __section(.uml.initcall.init) | ||
112 | #define __uml_postsetup_call __used __section(.uml.postsetup.init) | 107 | #define __uml_postsetup_call __used __section(.uml.postsetup.init) |
113 | #define __uml_exit_call __used __section(.uml.exitcall.exit) | 108 | #define __uml_exit_call __used __section(.uml.exitcall.exit) |
114 | 109 | ||
diff --git a/arch/um/os-Linux/main.c b/arch/um/os-Linux/main.c index 5f970ece5ac3..f1fee2b91239 100644 --- a/arch/um/os-Linux/main.c +++ b/arch/um/os-Linux/main.c | |||
@@ -40,17 +40,6 @@ static void set_stklim(void) | |||
40 | } | 40 | } |
41 | } | 41 | } |
42 | 42 | ||
43 | static __init void do_uml_initcalls(void) | ||
44 | { | ||
45 | initcall_t *call; | ||
46 | |||
47 | call = &__uml_initcall_start; | ||
48 | while (call < &__uml_initcall_end) { | ||
49 | (*call)(); | ||
50 | call++; | ||
51 | } | ||
52 | } | ||
53 | |||
54 | static void last_ditch_exit(int sig) | 43 | static void last_ditch_exit(int sig) |
55 | { | 44 | { |
56 | uml_cleanup(); | 45 | uml_cleanup(); |
@@ -151,7 +140,6 @@ int __init main(int argc, char **argv, char **envp) | |||
151 | scan_elf_aux(envp); | 140 | scan_elf_aux(envp); |
152 | #endif | 141 | #endif |
153 | 142 | ||
154 | do_uml_initcalls(); | ||
155 | change_sig(SIGPIPE, 0); | 143 | change_sig(SIGPIPE, 0); |
156 | ret = linux_main(argc, argv); | 144 | ret = linux_main(argc, argv); |
157 | 145 | ||