Skip to contentSkip to conversation

WTF: patch "[PATCH] ARC: export __udivdi3 for modules" was seriously submitted to be applied to the 4.7-stable tree?

PATCH [email protected] 2 participants 2 messages Sep 5, 2016 – Sep 6, 2016

Subsystems (2)
lore
Share & tools
lore

[email protected]

author maintainer
#0 lore raw

The patch below was submitted to be applied to the 4.7-stable tree.

I fail to see how this patch meets the stable kernel rules as found at Documentation/stable_kernel_rules.txt.

I could be totally wrong, and if so, please respond to <[email protected]> and let me know why this patch should be applied. Otherwise, it is now dropped from my patch queues, never to be seen again.

thanks,

greg k-h

------------------ original commit in Linus's tree ------------------

Quoted 1 line

From c57653dc94d0db7bf63067433ceaa97bdcd0a312 Mon Sep 17 00:00:00 2001

From: Vineet Gupta <[email protected]>
Date: Fri, 19 Aug 2016 13:59:02 -0700
Subject: [PATCH] ARC: export __udivdi3 for modules

Some module using div_u64() was failing to link because the libgcc 64-bit divide assist routine was not being exported for modules

arch/arc/kernel/arcksyms.c +2 -0
index 4d9e77724bed..000dd041ab42 100644
@@ -28,6 +28,7 @@ extern void __muldf3(void);
 extern void __divdf3(void);
 extern void __floatunsidf(void);
 extern void __floatunsisf(void);
+extern void __udivdi3(void);
 
 EXPORT_SYMBOL(__ashldi3);
 EXPORT_SYMBOL(__ashrdi3);
@@ -45,6 +46,7 @@ EXPORT_SYMBOL(__muldf3);
 EXPORT_SYMBOL(__divdf3);
 EXPORT_SYMBOL(__floatunsidf);
 EXPORT_SYMBOL(__floatunsisf);
+EXPORT_SYMBOL(__udivdi3);
 
 /* ARC optimised assembler routines */
 EXPORT_SYMBOL(memset);
#1 lore raw
Quoted 9 lines · On 09/05/2016 06:04 AM, [email protected] wrote:

The patch below was submitted to be applied to the 4.7-stable tree.

I fail to see how this patch meets the stable kernel rules as found at Documentation/stable_kernel_rules.txt.

I could be totally wrong, and if so, please respond to <[email protected]> and let me know why this patch should be applied. Otherwise, it is now dropped from my patch queues, never to be seen again.

Hi Greg,

This again is a fallout of gcc 6.x usage - the generated code now has a reference to a libgcc routine which was not called before - hence the need for export in modules.

Thx,
-Vineet

Quoted 41 lines

thanks,

greg k-h

------------------ original commit in Linus's tree ------------------

From c57653dc94d0db7bf63067433ceaa97bdcd0a312 Mon Sep 17 00:00:00 2001
From: Vineet Gupta <[email protected]>
Date: Fri, 19 Aug 2016 13:59:02 -0700
Subject: [PATCH] ARC: export __udivdi3 for modules

Some module using div_u64() was failing to link because the libgcc 64-bit divide assist routine was not being exported for modules

arch/arc/kernel/arcksyms.c +2 -0
index 4d9e77724bed..000dd041ab42 100644
@@ -28,6 +28,7 @@ extern void __muldf3(void);
 extern void __divdf3(void);
 extern void __floatunsidf(void);
 extern void __floatunsisf(void);
+extern void __udivdi3(void);
 
 EXPORT_SYMBOL(__ashldi3);
 EXPORT_SYMBOL(__ashrdi3);
@@ -45,6 +46,7 @@ EXPORT_SYMBOL(__muldf3);
 EXPORT_SYMBOL(__divdf3);
 EXPORT_SYMBOL(__floatunsidf);
 EXPORT_SYMBOL(__floatunsisf);
+EXPORT_SYMBOL(__udivdi3);
 
 /* ARC optimised assembler routines */
 EXPORT_SYMBOL(memset);