Skip to contentSkip to conversation

m68k: Restore symbol versions for symbols exported from assembly

PATCH In review Ben Hutchings 3 participants 4 messages Jul 19, 2017 m68k architecture

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 m68k: Restore symbol versions for symbols exported from assembly

Add <asm/asm-prototypes.h> so that genksyms knows the types of these symbols and can generate CRCs for them.

Fixes d13ffb563044 ("m68k: move exports to definitions"

---
This is build-tested only (m5475evb_defconfig + MODVERSIONS=y).

Ben.

 arch/m68k/include/asm/asm-prototypes.h | 5 +++++
 1 file changed, 5 insertions(+)
 create mode 100644 arch/m68k/include/asm/asm-prototypes.h
arch/m68k/include/asm/asm-prototypes.h new file +5 -0
new file mode 100644
index 000000000000..4cd692a44c11
@@ -0,0 +1,5 @@
+extern void __divsi3(void);
+extern void __modsi3(void);
+extern void __mulsi3(void);
+extern void __udivsi3(void);
+extern void __umodsi3(void);
#1 lore raw

Hi Ben,

On Wed, Jul 19, 2017 at 2:03 AM, Ben Hutchings <[email protected]> wrote:

I'l add

WARNING: EXPORT symbol "__divsi3" [vmlinux] version generation
failed, symbol will not be versioned.
WARNING: EXPORT symbol "__umodsi3" [vmlinux] version generation
failed, symbol will not be versioned.
WARNING: EXPORT symbol "__mulsi3" [vmlinux] version generation
failed, symbol will not be versioned.
WARNING: EXPORT symbol "__modsi3" [vmlinux] version generation
failed, symbol will not be versioned.
WARNING: EXPORT symbol "__udivsi3" [vmlinux] version generation
failed, symbol will not be versioned.

here

Quoted 7 lines

Add <asm/asm-prototypes.h> so that genksyms knows the types of these symbols and can generate CRCs for them.

Fixes d13ffb563044 ("m68k: move exports to definitions"

---
This is build-tested only (m5475evb_defconfig + MODVERSIONS=y).

Looks good:

Module.symvers 2017-07-19 10:54:47.688589137 +0200 renamed from Module.symvers.bad 2017-07-19 10:54:05.384703370 +0200 +5 -5
@@ -719,7 +719,7 @@
 0x422a24c3 iget5_locked vmlinux EXPORT_SYMBOL
 0x3dcb88a0 irq_set_handler_data vmlinux EXPORT_SYMBOL
 0x3697548b yield_to vmlinux EXPORT_SYMBOL_GPL
-0x00000000 __udivsi3 vmlinux EXPORT_SYMBOL
+0xfb7d9c45 __udivsi3 vmlinux EXPORT_SYMBOL
 0xa8aeb247 sk_page_frag_refill vmlinux EXPORT_SYMBOL
 0xc10b4ba4 user_revoke vmlinux EXPORT_SYMBOL
 0x946d56b0 dcache_dir_lseek vmlinux EXPORT_SYMBOL
@@ -1700,7 +1700,7 @@
 0xba79bf8b seq_open vmlinux EXPORT_SYMBOL
 0x833feac5 mnt_drop_write vmlinux EXPORT_SYMBOL_GPL
 0x6c209eab __alloc_percpu_gfp vmlinux EXPORT_SYMBOL_GPL
-0x00000000 __umodsi3 vmlinux EXPORT_SYMBOL
+0x8320bea8 __umodsi3 vmlinux EXPORT_SYMBOL
 0xf84eb949 simple_readpage vmlinux EXPORT_SYMBOL
 0x5eac9dcc __page_frag_cache_drain vmlinux EXPORT_SYMBOL
 0xa7441ace __lock_page vmlinux EXPORT_SYMBOL
@@ -2587,9 +2587,9 @@
 0x94eea794 getnstimeofday64 vmlinux EXPORT_SYMBOL
 0x36907c9c __siphash_aligned vmlinux EXPORT_SYMBOL
 0x0c051022 __udp_enqueue_schedule_skb vmlinux EXPORT_SYMBOL_GPL
-0x00000000 __modsi3 vmlinux EXPORT_SYMBOL
-0x00000000 __mulsi3 vmlinux EXPORT_SYMBOL
-0x00000000 __divsi3 vmlinux EXPORT_SYMBOL
+0x594e1317 __modsi3 vmlinux EXPORT_SYMBOL
+0x497aef78 __mulsi3 vmlinux EXPORT_SYMBOL
+0x211331fa __divsi3 vmlinux EXPORT_SYMBOL
 0x3e9110fa __hw_addr_unsync vmlinux EXPORT_SYMBOL
 0xb874b87a __clzsi2 vmlinux EXPORT_SYMBOL
 0xed9f9a20 __ctzsi2 vmlinux EXPORT_SYMBOL

Will apply and queue for v4.14.

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- [email protected]

In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds

#2 lore raw
In reply to Ben Hutchings

arch/m68k/include/asm/asm-prototypes.h line 5

Quoted 11 lines · Ben Hutchings
arch/m68k/include/asm/asm-prototypes.h new file +5 -0
new file mode 100644
index 000000000000..4cd692a44c11
@@ -0,0 +1,5 @@
+extern void __divsi3(void);
+extern void __modsi3(void);
+extern void __mulsi3(void);
+extern void __udivsi3(void);
+extern void __umodsi3(void);

That doesn't match the actual prototypes.

Andreas.

Signature · 3 lines
Andreas Schwab, [email protected]
GPG Key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."
#3 lore raw
Quoted 15 lines · Andreas Schwab

arch/m68k/include/asm/asm-prototypes.h line 5

Quoted 11 lines · Ben Hutchings
arch/m68k/include/asm/asm-prototypes.h new file +5 -0
new file mode 100644
index 000000000000..4cd692a44c11
@@ -0,0 +1,5 @@
+extern void __divsi3(void);
+extern void __modsi3(void);
+extern void __mulsi3(void);
+extern void __udivsi3(void);
+extern void __umodsi3(void);

That doesn't match the actual prototypes.

I know. But the compiler doesn't care, and their real ABI is extremely stable.

Ben.

Signature · 3 lines
Ben Hutchings
Theory and practice are closer in theory than in practice.
                             - John Levine, moderator of comp.compilers