|
@@ -42,15 +42,15 @@ typedef void (*exitcall_t)(void);
|
|
|
|
|
|
/* These are for everybody (although not all archs will actually
|
|
|
discard it in modules) */
|
|
|
-#define __init __attribute__ ((__section__ (".init.text")))
|
|
|
-#define __initdata __attribute__ ((__section__ (".init.data")))
|
|
|
-#define __exitdata __attribute__ ((__section__(".exit.data")))
|
|
|
-#define __exit_call __attribute_used__ __attribute__ ((__section__ (".exitcall.exit")))
|
|
|
+#define __init __section(.init.text)
|
|
|
+#define __initdata __section(.init.data)
|
|
|
+#define __exitdata __section(.exit.data)
|
|
|
+#define __exit_call __used __section(.exitcall.exit)
|
|
|
|
|
|
#ifdef MODULE
|
|
|
-#define __exit __attribute__ ((__section__(".exit.text")))
|
|
|
+#define __exit __section(.exit.text)
|
|
|
#else
|
|
|
-#define __exit __attribute_used__ __attribute__ ((__section__(".exit.text")))
|
|
|
+#define __exit __used __section(.exit.text)
|
|
|
#endif
|
|
|
|
|
|
#endif
|
|
@@ -103,16 +103,16 @@ extern struct uml_param __uml_setup_start, __uml_setup_end;
|
|
|
* Mark functions and data as being only used at initialization
|
|
|
* or exit time.
|
|
|
*/
|
|
|
-#define __uml_init_setup __attribute_used__ __attribute__ ((__section__ (".uml.setup.init")))
|
|
|
-#define __uml_setup_help __attribute_used__ __attribute__ ((__section__ (".uml.help.init")))
|
|
|
-#define __uml_init_call __attribute_used__ __attribute__ ((__section__ (".uml.initcall.init")))
|
|
|
-#define __uml_postsetup_call __attribute_used__ __attribute__ ((__section__ (".uml.postsetup.init")))
|
|
|
-#define __uml_exit_call __attribute_used__ __attribute__ ((__section__ (".uml.exitcall.exit")))
|
|
|
+#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)
|
|
|
|
|
|
#ifndef __KERNEL__
|
|
|
|
|
|
#define __define_initcall(level,fn) \
|
|
|
- static initcall_t __initcall_##fn __attribute_used__ \
|
|
|
+ static initcall_t __initcall_##fn __used \
|
|
|
__attribute__((__section__(".initcall" level ".init"))) = fn
|
|
|
|
|
|
/* Userspace initcalls shouldn't depend on anything in the kernel, so we'll
|
|
@@ -122,7 +122,7 @@ extern struct uml_param __uml_setup_start, __uml_setup_end;
|
|
|
|
|
|
#define __exitcall(fn) static exitcall_t __exitcall_##fn __exit_call = fn
|
|
|
|
|
|
-#define __init_call __attribute_used__ __attribute__ ((__section__ (".initcall.init")))
|
|
|
+#define __init_call __used __section(.initcall.init)
|
|
|
|
|
|
#endif
|
|
|
|