Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

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
Loading
Loading
Loading
Loading
+0 −6
Original line number Diff line number Diff line
@@ -53,12 +53,6 @@
	CON_INITCALL
  }

  .uml.initcall.init : {
	__uml_initcall_start = .;
	*(.uml.initcall.init)
	__uml_initcall_end = .;
  }

  SECURITY_INIT

  .exitcall : {
+0 −5
Original line number Diff line number Diff line
@@ -64,14 +64,10 @@ struct uml_param {
        int (*setup_func)(char *, int *);
};

extern initcall_t __uml_initcall_start, __uml_initcall_end;
extern initcall_t __uml_postsetup_start, __uml_postsetup_end;
extern const char *__uml_help_start, *__uml_help_end;
#endif

#define __uml_initcall(fn)					  	\
	static initcall_t __uml_initcall_##fn __uml_init_call = fn

#define __uml_exitcall(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;
 */
#define __uml_init_setup	__used __section(.uml.setup.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_exit_call		__used __section(.uml.exitcall.exit)

+0 −12
Original line number Diff line number Diff line
@@ -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)
{
	uml_cleanup();
@@ -151,7 +140,6 @@ int __init main(int argc, char **argv, char **envp)
	scan_elf_aux(envp);
#endif

	do_uml_initcalls();
	change_sig(SIGPIPE, 0);
	ret = linux_main(argc, argv);