summaryrefslogtreecommitdiffstats
path: root/scripts/mod
diff options
context:
space:
mode:
authorPaolo Abeni <pabeni@redhat.com>2023-09-14 19:48:23 +0200
committerPaolo Abeni <pabeni@redhat.com>2023-09-14 19:48:23 +0200
commitf2fa1c812c91e99d0317d1fc7d845e1e05f39716 (patch)
tree8253727a8947e8b63a5c9b504d0bfb735648471b /scripts/mod
parent59bb1d698028d7f01650f9def579efdfdfb7039f (diff)
parent9fdfb15a3dbf818e06be514f4abbfc071004cbe7 (diff)
downloadlinux-f2fa1c812c91e99d0317d1fc7d845e1e05f39716.tar.gz
linux-f2fa1c812c91e99d0317d1fc7d845e1e05f39716.zip
Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net
Cross-merge networking fixes after downstream PR. No conflicts. Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Diffstat (limited to 'scripts/mod')
-rw-r--r--scripts/mod/modpost.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/scripts/mod/modpost.c b/scripts/mod/modpost.c
index 34a5386d444a..de499dce5265 100644
--- a/scripts/mod/modpost.c
+++ b/scripts/mod/modpost.c
@@ -1228,6 +1228,15 @@ static void check_export_symbol(struct module *mod, struct elf_info *elf,
*/
s->is_func = (ELF_ST_TYPE(sym->st_info) == STT_FUNC);
+ /*
+ * For parisc64, symbols prefixed $$ from the library have the symbol type
+ * STT_LOPROC. They should be handled as functions too.
+ */
+ if (elf->hdr->e_ident[EI_CLASS] == ELFCLASS64 &&
+ elf->hdr->e_machine == EM_PARISC &&
+ ELF_ST_TYPE(sym->st_info) == STT_LOPROC)
+ s->is_func = true;
+
if (match(secname, PATTERNS(INIT_SECTIONS)))
warn("%s: %s: EXPORT_SYMBOL used for init symbol. Remove __init or EXPORT_SYMBOL.\n",
mod->name, name);