|
@@ -64,6 +64,16 @@
|
|
|
|
|
|
#ifdef CONFIG_EFI
|
|
#ifdef CONFIG_EFI
|
|
|
|
|
|
|
|
+/*
|
|
|
|
+ * Prevent the symbol aliases below from being emitted into the kallsyms
|
|
|
|
+ * table, by forcing them to be absolute symbols (which are conveniently
|
|
|
|
+ * ignored by scripts/kallsyms) rather than section relative symbols.
|
|
|
|
+ * The distinction is only relevant for partial linking, and only for symbols
|
|
|
|
+ * that are defined within a section declaration (which is not the case for
|
|
|
|
+ * the definitions below) so the resulting values will be identical.
|
|
|
|
+ */
|
|
|
|
+#define KALLSYMS_HIDE(sym) ABSOLUTE(sym)
|
|
|
|
+
|
|
/*
|
|
/*
|
|
* The EFI stub has its own symbol namespace prefixed by __efistub_, to
|
|
* The EFI stub has its own symbol namespace prefixed by __efistub_, to
|
|
* isolate it from the kernel proper. The following symbols are legally
|
|
* isolate it from the kernel proper. The following symbols are legally
|
|
@@ -73,25 +83,25 @@
|
|
* linked at. The routines below are all implemented in assembler in a
|
|
* linked at. The routines below are all implemented in assembler in a
|
|
* position independent manner
|
|
* position independent manner
|
|
*/
|
|
*/
|
|
-__efistub_memcmp = __pi_memcmp;
|
|
|
|
-__efistub_memchr = __pi_memchr;
|
|
|
|
-__efistub_memcpy = __pi_memcpy;
|
|
|
|
-__efistub_memmove = __pi_memmove;
|
|
|
|
-__efistub_memset = __pi_memset;
|
|
|
|
-__efistub_strlen = __pi_strlen;
|
|
|
|
-__efistub_strcmp = __pi_strcmp;
|
|
|
|
-__efistub_strncmp = __pi_strncmp;
|
|
|
|
-__efistub___flush_dcache_area = __pi___flush_dcache_area;
|
|
|
|
|
|
+__efistub_memcmp = KALLSYMS_HIDE(__pi_memcmp);
|
|
|
|
+__efistub_memchr = KALLSYMS_HIDE(__pi_memchr);
|
|
|
|
+__efistub_memcpy = KALLSYMS_HIDE(__pi_memcpy);
|
|
|
|
+__efistub_memmove = KALLSYMS_HIDE(__pi_memmove);
|
|
|
|
+__efistub_memset = KALLSYMS_HIDE(__pi_memset);
|
|
|
|
+__efistub_strlen = KALLSYMS_HIDE(__pi_strlen);
|
|
|
|
+__efistub_strcmp = KALLSYMS_HIDE(__pi_strcmp);
|
|
|
|
+__efistub_strncmp = KALLSYMS_HIDE(__pi_strncmp);
|
|
|
|
+__efistub___flush_dcache_area = KALLSYMS_HIDE(__pi___flush_dcache_area);
|
|
|
|
|
|
#ifdef CONFIG_KASAN
|
|
#ifdef CONFIG_KASAN
|
|
-__efistub___memcpy = __pi_memcpy;
|
|
|
|
-__efistub___memmove = __pi_memmove;
|
|
|
|
-__efistub___memset = __pi_memset;
|
|
|
|
|
|
+__efistub___memcpy = KALLSYMS_HIDE(__pi_memcpy);
|
|
|
|
+__efistub___memmove = KALLSYMS_HIDE(__pi_memmove);
|
|
|
|
+__efistub___memset = KALLSYMS_HIDE(__pi_memset);
|
|
#endif
|
|
#endif
|
|
|
|
|
|
-__efistub__text = _text;
|
|
|
|
-__efistub__end = _end;
|
|
|
|
-__efistub__edata = _edata;
|
|
|
|
|
|
+__efistub__text = KALLSYMS_HIDE(_text);
|
|
|
|
+__efistub__end = KALLSYMS_HIDE(_end);
|
|
|
|
+__efistub__edata = KALLSYMS_HIDE(_edata);
|
|
|
|
|
|
#endif
|
|
#endif
|
|
|
|
|