|
@@ -30,6 +30,7 @@
|
|
* __ctors_start, __ctors_end
|
|
* __ctors_start, __ctors_end
|
|
* __irqentry_text_start, __irqentry_text_end
|
|
* __irqentry_text_start, __irqentry_text_end
|
|
* __softirqentry_text_start, __softirqentry_text_end
|
|
* __softirqentry_text_start, __softirqentry_text_end
|
|
|
|
+ * __start_opd, __end_opd
|
|
*/
|
|
*/
|
|
extern char _text[], _stext[], _etext[];
|
|
extern char _text[], _stext[], _etext[];
|
|
extern char _data[], _sdata[], _edata[];
|
|
extern char _data[], _sdata[], _edata[];
|
|
@@ -49,12 +50,15 @@ extern char __start_once[], __end_once[];
|
|
/* Start and end of .ctors section - used for constructor calls. */
|
|
/* Start and end of .ctors section - used for constructor calls. */
|
|
extern char __ctors_start[], __ctors_end[];
|
|
extern char __ctors_start[], __ctors_end[];
|
|
|
|
|
|
|
|
+/* Start and end of .opd section - used for function descriptors. */
|
|
|
|
+extern char __start_opd[], __end_opd[];
|
|
|
|
+
|
|
extern __visible const void __nosave_begin, __nosave_end;
|
|
extern __visible const void __nosave_begin, __nosave_end;
|
|
|
|
|
|
-/* function descriptor handling (if any). Override
|
|
|
|
- * in asm/sections.h */
|
|
|
|
|
|
+/* Function descriptor handling (if any). Override in asm/sections.h */
|
|
#ifndef dereference_function_descriptor
|
|
#ifndef dereference_function_descriptor
|
|
#define dereference_function_descriptor(p) (p)
|
|
#define dereference_function_descriptor(p) (p)
|
|
|
|
+#define dereference_kernel_function_descriptor(p) (p)
|
|
#endif
|
|
#endif
|
|
|
|
|
|
/* random extra sections (if any). Override
|
|
/* random extra sections (if any). Override
|