Skip to contentSkip to conversation

build failure of next-20220906 for vkms

DISCUSSION Sudip Mukherjee (Codethink) 4 participants 10 messages Sep 6, 2022 – Sep 9, 2022

Subsystems (4)
lore
Share & tools
lore
#0 lore raw

Hi All,

The builds of next-20220906 fails for mips, xtensa and arm allmodconfig.

The errors in mips and xtensa are:

ERROR: modpost: "__divdi3" [drivers/gpu/drm/vkms/vkms.ko] undefined!
ERROR: modpost: "__udivdi3" [drivers/gpu/drm/vkms/vkms.ko] undefined!

The error in arm is:

ERROR: modpost: "__aeabi_uldivmod" [drivers/gpu/drm/vkms/vkms.ko] undefined!
ERROR: modpost: "__aeabi_ldivmod" [drivers/gpu/drm/vkms/vkms.ko] undefined!

Trying to do a git bisect to find out the offending commit.

I will be happy to test any patch or provide any extra log if needed.

Signature · 2 lines
Regards
Sudip
#1 lore raw

Re: build failure of next-20220906 due to 396369d67549 ("drm: vkms: Add support to the RGB565 format")

Quoted 10 lines · Sudip Mukherjee (Codethink)

Hi All,

The builds of next-20220906 fails for mips, xtensa and arm allmodconfig.

The errors in mips and xtensa are:

ERROR: modpost: "__divdi3" [drivers/gpu/drm/vkms/vkms.ko] undefined!
ERROR: modpost: "__udivdi3" [drivers/gpu/drm/vkms/vkms.ko] undefined!

Quoted 7 lines

The error in arm is:

ERROR: modpost: "__aeabi_uldivmod" [drivers/gpu/drm/vkms/vkms.ko] undefined!
ERROR: modpost: "__aeabi_ldivmod" [drivers/gpu/drm/vkms/vkms.ko] undefined!

Trying to do a git bisect to find out the offending commit.

git bisect points to 396369d67549 ("drm: vkms: Add support to the RGB565 format")

Signature · 2 lines
Regards
Sudip
#2 lore raw

Re: build failure of next-20220906 due to 396369d67549 ("drm: vkms: Add support to the RGB565 format")

Quoted 14 lines · Sudip Mukherjee
Quoted 12 lines · Sudip Mukherjee (Codethink)

Hi All,

The builds of next-20220906 fails for mips, xtensa and arm allmodconfig.

The errors in mips and xtensa are:

ERROR: modpost: "__divdi3" [drivers/gpu/drm/vkms/vkms.ko] undefined!
ERROR: modpost: "__udivdi3" [drivers/gpu/drm/vkms/vkms.ko] undefined!

The error in arm is:

Quoted 8 lines
Quoted 5 lines

ERROR: modpost: "__aeabi_uldivmod" [drivers/gpu/drm/vkms/vkms.ko] undefined!
ERROR: modpost: "__aeabi_ldivmod" [drivers/gpu/drm/vkms/vkms.ko] undefined!

Trying to do a git bisect to find out the offending commit.

git bisect points to 396369d67549 ("drm: vkms: Add support to the RGB565 format")

Are these architectures incapable of doing 64bits int division?

Quoted 2 lines
#3 lore raw

Re: build failure of next-20220906 due to 396369d67549 ("drm: vkms: Add support to the RGB565 format")

Quoted 19 lines · Igor Matheus Andrade Torrente
Quoted 18 lines · Sudip Mukherjee
Quoted 16 lines · Sudip Mukherjee (Codethink)

Hi All,

The builds of next-20220906 fails for mips, xtensa and arm allmodconfig.

The errors in mips and xtensa are:

ERROR: modpost: "__divdi3" [drivers/gpu/drm/vkms/vkms.ko] undefined!
ERROR: modpost: "__udivdi3" [drivers/gpu/drm/vkms/vkms.ko] undefined!

The error in arm is:

ERROR: modpost: "__aeabi_uldivmod" [drivers/gpu/drm/vkms/vkms.ko] undefined!
ERROR: modpost: "__aeabi_ldivmod" [drivers/gpu/drm/vkms/vkms.ko] undefined!

Quoted 6 lines
Quoted 4 lines
Quoted 1 line

Trying to do a git bisect to find out the offending commit.

git bisect points to 396369d67549 ("drm: vkms: Add support to the RGB565 format")

Are these architectures incapable of doing 64bits int division?

Yeah 32bit archs in general can't do that, and you have to use the right macros because otherwise gcc falls back to its own built-ins, and those don't exist in the kernel since the kernel isn't (cannot!) linked against any userspace library.

For pretty much this reasons it's really good to build test against 32bit x86, or probably more relevant these days, 32bit arm.

Cheers, Daniel

Signature · 3 lines
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
#4 lore raw

Re: build failure of next-20220906 due to 396369d67549 ("drm: vkms: Add support to the RGB565 format")

Quoted 27 lines · Daniel Vetter
Quoted 19 lines · Igor Matheus Andrade Torrente
Quoted 18 lines · Sudip Mukherjee
Quoted 16 lines · Sudip Mukherjee (Codethink)

Hi All,

The builds of next-20220906 fails for mips, xtensa and arm allmodconfig.

The errors in mips and xtensa are:

ERROR: modpost: "__divdi3" [drivers/gpu/drm/vkms/vkms.ko] undefined!
ERROR: modpost: "__udivdi3" [drivers/gpu/drm/vkms/vkms.ko] undefined!

The error in arm is:

ERROR: modpost: "__aeabi_uldivmod" [drivers/gpu/drm/vkms/vkms.ko] undefined!
ERROR: modpost: "__aeabi_ldivmod" [drivers/gpu/drm/vkms/vkms.ko] undefined!

Quoted 6 lines
Quoted 4 lines
Quoted 1 line

Trying to do a git bisect to find out the offending commit.

git bisect points to 396369d67549 ("drm: vkms: Add support to the RGB565 format")

Are these architectures incapable of doing 64bits int division?

Quoted 7 lines

Yeah 32bit archs in general can't do that, and you have to use the right macros because otherwise gcc falls back to its own built-ins, and those don't exist in the kernel since the kernel isn't (cannot!) linked against any userspace library.

For pretty much this reasons it's really good to build test against 32bit x86, or probably more relevant these days, 32bit arm.

Forgot to add: include/math.h for all your division needs. -Daniel

Signature · 3 lines
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
#5 lore raw

Re: build failure of next-20220906 due to 396369d67549 ("drm: vkms: Add support to the RGB565 format")

In reply to Sudip Mukherjee
Quoted 14 lines · Sudip Mukherjee
Quoted 12 lines · Sudip Mukherjee (Codethink)

Hi All,

The builds of next-20220906 fails for mips, xtensa and arm allmodconfig.

The errors in mips and xtensa are:

ERROR: modpost: "__divdi3" [drivers/gpu/drm/vkms/vkms.ko] undefined!
ERROR: modpost: "__udivdi3" [drivers/gpu/drm/vkms/vkms.ko] undefined!

The error in arm is:

Quoted 8 lines
Quoted 5 lines

ERROR: modpost: "__aeabi_uldivmod" [drivers/gpu/drm/vkms/vkms.ko] undefined!
ERROR: modpost: "__aeabi_ldivmod" [drivers/gpu/drm/vkms/vkms.ko] undefined!

Trying to do a git bisect to find out the offending commit.

git bisect points to 396369d67549 ("drm: vkms: Add support to the RGB565 format")

Hi Sudip,

Thanks for pointing out this issue.

I think we can replace the macros that are triggering those compilation error by functions in drm/drm_fixed.h that do the same calculation.

I checked those errors when building for arm and i386 and the issues are fixed after applying the patch below. I appreciate if you can test.

I didn't check with mips and xtensa, but I guess it works in the same way.

Igor,

it would be good if you double-check the calculation and compare to your previous results.

Thanks,

Melissa

---

From 0853d85c0b9d6108f916665ff55efa079f28bc53 Mon Sep 17 00:00:00 2001
From: Melissa Wen <[email protected]>
Date: Wed, 7 Sep 2022 15:14:31 -0100
Subject: [PATCH] drm/vkms: fix 32 bits compilation error by replacing macros

Replace vkms_formats macro for fixed-point operations with functions from drm/drm_fixed.h to do the same job and fix 32-bits compilation errors.

Fixes a19c2ac9858 ("drm: vkms: Add support to the RGB565 format")
---
 drivers/gpu/drm/vkms/vkms_formats.c | 54 +++++++++++------------------
 1 file changed, 20 insertions(+), 34 deletions(-)
drivers/gpu/drm/vkms/vkms_formats.c +20 -34
index 30bf8e6660ad..5c2612b822d4 100644
@@ -1,27 +1,12 @@
 // SPDX-License-Identifier: GPL-2.0+
 
-#include <drm/drm_rect.h>
+#include <linux/kernel.h>
 #include <linux/minmax.h>
+#include <drm/drm_rect.h>
+#include <drm/drm_fixed.h>
 
 #include "vkms_formats.h"
 
-/* The following macros help doing fixed point arithmetic. */
-/*
- * With Fixed-Point scale 15 we have 17 and 15 bits of integer and fractional
- * parts respectively.
- *  | 0000 0000 0000 0000 0.000 0000 0000 0000 |
- * 31                                          0
- */
-#define SHIFT 15
-
-#define INT_TO_FIXED(a) ((a) << SHIFT)
-#define FIXED_MUL(a, b) ((s32)(((s64)(a) * (b)) >> SHIFT))
-#define FIXED_DIV(a, b) ((s32)(((s64)(a) << SHIFT) / (b)))
-/* This macro converts a fixed point number to int, and round half up it */
-#define FIXED_TO_INT_ROUND(a) (((a) + (1 << (SHIFT - 1))) >> SHIFT)
-#define INT_TO_FIXED_DIV(a, b) (FIXED_DIV(INT_TO_FIXED(a), INT_TO_FIXED(b)))
-#define INT_TO_FIXED_DIV(a, b) (FIXED_DIV(INT_TO_FIXED(a), INT_TO_FIXED(b)))
-
 static size_t pixel_offset(const struct vkms_frame_info *frame_info, int x, int y)
 {
 	return frame_info->offset + (y * frame_info->pitch)
@@ -137,20 +122,21 @@ static void RGB565_to_argb_u16(struct line_buffer *stage_buffer,
 	int x_limit = min_t(size_t, drm_rect_width(&frame_info->dst),
 			       stage_buffer->n_pixels);
 
-	s32 fp_rb_ratio = INT_TO_FIXED_DIV(65535, 31);
-	s32 fp_g_ratio = INT_TO_FIXED_DIV(65535, 63);
+	s32 fp_rb_ratio = drm_fixp_div(drm_int2fixp(65535), 31);
+	s32 fp_g_ratio = drm_fixp_div(drm_int2fixp(65535), 63);
 
 	for (size_t x = 0; x < x_limit; x++, src_pixels++) {
 		u16 rgb_565 = le16_to_cpu(*src_pixels);
-		s32 fp_r = INT_TO_FIXED((rgb_565 >> 11) & 0x1f);
-		s32 fp_g = INT_TO_FIXED((rgb_565 >> 5) & 0x3f);
-		s32 fp_b = INT_TO_FIXED(rgb_565 & 0x1f);
+		s32 fp_r = drm_int2fixp((rgb_565 >> 11) & 0x1f);
+		s32 fp_g = drm_int2fixp((rgb_565 >> 5) & 0x3f);
+		s32 fp_b = drm_int2fixp(rgb_565 & 0x1f);
 
 		out_pixels[x].a = (u16)0xffff;
-		out_pixels[x].r = FIXED_TO_INT_ROUND(FIXED_MUL(fp_r, fp_rb_ratio));
-		out_pixels[x].g = FIXED_TO_INT_ROUND(FIXED_MUL(fp_g, fp_g_ratio));
-		out_pixels[x].b = FIXED_TO_INT_ROUND(FIXED_MUL(fp_b, fp_rb_ratio));
+		out_pixels[x].r = drm_fixp2int(drm_fixp_mul(fp_r, fp_rb_ratio));
+		out_pixels[x].g = drm_fixp2int(drm_fixp_mul(fp_g, fp_g_ratio));
+		out_pixels[x].b = drm_fixp2int(drm_fixp_mul(fp_b, fp_rb_ratio));
 	}
+
 }
 
 
@@ -249,17 +235,17 @@ static void argb_u16_to_RGB565(struct vkms_frame_info *frame_info,
 	int x_limit = min_t(size_t, drm_rect_width(&frame_info->dst),
 			    src_buffer->n_pixels);
 
-	s32 fp_rb_ratio = INT_TO_FIXED_DIV(65535, 31);
-	s32 fp_g_ratio = INT_TO_FIXED_DIV(65535, 63);
+	s32 fp_rb_ratio = drm_fixp_div(drm_int2fixp(65535), 31);
+	s32 fp_g_ratio = drm_fixp_div(drm_int2fixp(65535), 63);
 
 	for (size_t x = 0; x < x_limit; x++, dst_pixels++) {
-		s32 fp_r = INT_TO_FIXED(in_pixels[x].r);
-		s32 fp_g = INT_TO_FIXED(in_pixels[x].g);
-		s32 fp_b = INT_TO_FIXED(in_pixels[x].b);
+		s32 fp_r = drm_int2fixp(in_pixels[x].r);
+		s32 fp_g = drm_int2fixp(in_pixels[x].g);
+		s32 fp_b = drm_int2fixp(in_pixels[x].b);
 
-		u16 r = FIXED_TO_INT_ROUND(FIXED_DIV(fp_r, fp_rb_ratio));
-		u16 g = FIXED_TO_INT_ROUND(FIXED_DIV(fp_g, fp_g_ratio));
-		u16 b = FIXED_TO_INT_ROUND(FIXED_DIV(fp_b, fp_rb_ratio));
+		u16 r = drm_fixp2int(drm_fixp_div(fp_r, fp_rb_ratio));
+		u16 g = drm_fixp2int(drm_fixp_div(fp_g, fp_g_ratio));
+		u16 b = drm_fixp2int(drm_fixp_div(fp_b, fp_rb_ratio));
 
 		*dst_pixels = cpu_to_le16(r << 11 | g << 5 | b);
 	}
Signature · 1 line
2.35.1
#6 lore raw

Re: build failure of next-20220906 due to 396369d67549 ("drm: vkms: Add support to the RGB565 format")

Hi Melissa,

Quoted 27 lines · Melissa Wen
Quoted 14 lines · Sudip Mukherjee
Quoted 12 lines · Sudip Mukherjee (Codethink)

Hi All,

The builds of next-20220906 fails for mips, xtensa and arm allmodconfig.

The errors in mips and xtensa are:

ERROR: modpost: "__divdi3" [drivers/gpu/drm/vkms/vkms.ko] undefined!
ERROR: modpost: "__udivdi3" [drivers/gpu/drm/vkms/vkms.ko] undefined!

The error in arm is:

Quoted 8 lines
Quoted 5 lines

ERROR: modpost: "__aeabi_uldivmod" [drivers/gpu/drm/vkms/vkms.ko] undefined!
ERROR: modpost: "__aeabi_ldivmod" [drivers/gpu/drm/vkms/vkms.ko] undefined!

Trying to do a git bisect to find out the offending commit.

git bisect points to 396369d67549 ("drm: vkms: Add support to the RGB565 format")

Hi Sudip,

Quoted 7 lines

Thanks for pointing out this issue.

I think we can replace the macros that are triggering those compilation error by functions in drm/drm_fixed.h that do the same calculation.

I checked those errors when building for arm and i386 and the issues are fixed after applying the patch below. I appreciate if you can test.

Sorry, could not test as the downloaded mbox is saying patch is corrupted and could not be applied. Can you please attach the patch or maybe send using git send-email.

Signature · 2 lines
Regards
Sudip
#7 lore raw

Re: build failure of next-20220906 due to 396369d67549 ("drm: vkms: Add support to the RGB565 format")

Quoted 35 lines · Sudip Mukherjee

Hi Melissa,

Quoted 32 lines · Melissa Wen
Quoted 14 lines · Sudip Mukherjee
Quoted 12 lines · Sudip Mukherjee (Codethink)

Hi All,

The builds of next-20220906 fails for mips, xtensa and arm allmodconfig.

The errors in mips and xtensa are:

ERROR: modpost: "__divdi3" [drivers/gpu/drm/vkms/vkms.ko] undefined!
ERROR: modpost: "__udivdi3" [drivers/gpu/drm/vkms/vkms.ko] undefined!

The error in arm is:

Quoted 8 lines
Quoted 5 lines

ERROR: modpost: "__aeabi_uldivmod" [drivers/gpu/drm/vkms/vkms.ko] undefined!
ERROR: modpost: "__aeabi_ldivmod" [drivers/gpu/drm/vkms/vkms.ko] undefined!

Trying to do a git bisect to find out the offending commit.

git bisect points to 396369d67549 ("drm: vkms: Add support to the RGB565 format")

Hi Sudip,

Thanks for pointing out this issue.

I think we can replace the macros that are triggering those compilation error by functions in drm/drm_fixed.h that do the same calculation.

Quoted 6 lines
Quoted 2 lines

I checked those errors when building for arm and i386 and the issues are fixed after applying the patch below. I appreciate if you can test.

Sorry, could not test as the downloaded mbox is saying patch is corrupted and could not be applied. Can you please attach the patch or maybe send using git send-email.

Sorry, my bad. It's attached. Let me know if goes smoothly.

Thanks again,

Melissa

Quoted 5 lines
Signature · 3 lines
-- 
Regards
Sudip

From d52824abf4d3913dfd82a927f320ad4f670545d1 Mon Sep 17 00:00:00 2001
From: Melissa Wen <[email protected]>
Date: Wed, 7 Sep 2022 15:14:31 -0100
Subject: [PATCH] drm/vkms: fix 32 bits compilation error by replacing macros

Replace vkms_formats macro for fixed-point operations with functions from drm/drm_fixed.h to do the same job and fix 32-bits compilation errors.

Fixes a19c2ac9858 ("drm: vkms: Add support to the RGB565 format")
---
 drivers/gpu/drm/vkms/vkms_formats.c | 53 +++++++++++------------------
 1 file changed, 19 insertions(+), 34 deletions(-)
drivers/gpu/drm/vkms/vkms_formats.c +19 -34
index 300abb4d1dfe..ddcd3cfeeaac 100644
@@ -1,27 +1,12 @@
 // SPDX-License-Identifier: GPL-2.0+
 
-#include <drm/drm_rect.h>
+#include <linux/kernel.h>
 #include <linux/minmax.h>
+#include <drm/drm_rect.h>
+#include <drm/drm_fixed.h>
 
 #include "vkms_formats.h"
 
-/* The following macros help doing fixed point arithmetic. */
-/*
- * With Fixed-Point scale 15 we have 17 and 15 bits of integer and fractional
- * parts respectively.
- *  | 0000 0000 0000 0000 0.000 0000 0000 0000 |
- * 31                                          0
- */
-#define SHIFT 15
-
-#define INT_TO_FIXED(a) ((a) << SHIFT)
-#define FIXED_MUL(a, b) ((s32)(((s64)(a) * (b)) >> SHIFT))
-#define FIXED_DIV(a, b) ((s32)(((s64)(a) << SHIFT) / (b)))
-/* This macro converts a fixed point number to int, and round half up it */
-#define FIXED_TO_INT_ROUND(a) (((a) + (1 << (SHIFT - 1))) >> SHIFT)
-#define INT_TO_FIXED_DIV(a, b) (FIXED_DIV(INT_TO_FIXED(a), INT_TO_FIXED(b)))
-#define INT_TO_FIXED_DIV(a, b) (FIXED_DIV(INT_TO_FIXED(a), INT_TO_FIXED(b)))
-
 static size_t pixel_offset(const struct vkms_frame_info *frame_info, int x, int y)
 {
 	return frame_info->offset + (y * frame_info->pitch)
@@ -137,19 +122,19 @@ static void RGB565_to_argb_u16(struct line_buffer *stage_buffer,
 	int x_limit = min_t(size_t, drm_rect_width(&frame_info->dst),
 			       stage_buffer->n_pixels);
 
-	s32 fp_rb_ratio = INT_TO_FIXED_DIV(65535, 31);
-	s32 fp_g_ratio = INT_TO_FIXED_DIV(65535, 63);
+	s32 fp_rb_ratio = drm_fixp_div(drm_int2fixp(65535), 31);
+	s32 fp_g_ratio = drm_fixp_div(drm_int2fixp(65535), 63);
 
 	for (size_t x = 0; x < x_limit; x++, src_pixels++) {
 		u16 rgb_565 = le16_to_cpu(*src_pixels);
-		s32 fp_r = INT_TO_FIXED((rgb_565 >> 11) & 0x1f);
-		s32 fp_g = INT_TO_FIXED((rgb_565 >> 5) & 0x3f);
-		s32 fp_b = INT_TO_FIXED(rgb_565 & 0x1f);
+		s32 fp_r = drm_int2fixp((rgb_565 >> 11) & 0x1f);
+		s32 fp_g = drm_int2fixp((rgb_565 >> 5) & 0x3f);
+		s32 fp_b = drm_int2fixp(rgb_565 & 0x1f);
 
 		out_pixels[x].a = (u16)0xffff;
-		out_pixels[x].r = FIXED_TO_INT_ROUND(FIXED_MUL(fp_r, fp_rb_ratio));
-		out_pixels[x].g = FIXED_TO_INT_ROUND(FIXED_MUL(fp_g, fp_g_ratio));
-		out_pixels[x].b = FIXED_TO_INT_ROUND(FIXED_MUL(fp_b, fp_rb_ratio));
+		out_pixels[x].r = drm_fixp2int(drm_fixp_mul(fp_r, fp_rb_ratio));
+		out_pixels[x].g = drm_fixp2int(drm_fixp_mul(fp_g, fp_g_ratio));
+		out_pixels[x].b = drm_fixp2int(drm_fixp_mul(fp_b, fp_rb_ratio));
 	}
 }
 
@@ -248,17 +233,17 @@ static void argb_u16_to_RGB565(struct vkms_frame_info *frame_info,
 	int x_limit = min_t(size_t, drm_rect_width(&frame_info->dst),
 			    src_buffer->n_pixels);
 
-	s32 fp_rb_ratio = INT_TO_FIXED_DIV(65535, 31);
-	s32 fp_g_ratio = INT_TO_FIXED_DIV(65535, 63);
+	s32 fp_rb_ratio = drm_fixp_div(drm_int2fixp(65535), 31);
+	s32 fp_g_ratio = drm_fixp_div(drm_int2fixp(65535), 63);
 
 	for (size_t x = 0; x < x_limit; x++, dst_pixels++) {
-		s32 fp_r = INT_TO_FIXED(in_pixels[x].r);
-		s32 fp_g = INT_TO_FIXED(in_pixels[x].g);
-		s32 fp_b = INT_TO_FIXED(in_pixels[x].b);
+		s32 fp_r = drm_int2fixp(in_pixels[x].r);
+		s32 fp_g = drm_int2fixp(in_pixels[x].g);
+		s32 fp_b = drm_int2fixp(in_pixels[x].b);
 
-		u16 r = FIXED_TO_INT_ROUND(FIXED_DIV(fp_r, fp_rb_ratio));
-		u16 g = FIXED_TO_INT_ROUND(FIXED_DIV(fp_g, fp_g_ratio));
-		u16 b = FIXED_TO_INT_ROUND(FIXED_DIV(fp_b, fp_rb_ratio));
+		u16 r = drm_fixp2int(drm_fixp_div(fp_r, fp_rb_ratio));
+		u16 g = drm_fixp2int(drm_fixp_div(fp_g, fp_g_ratio));
+		u16 b = drm_fixp2int(drm_fixp_div(fp_b, fp_rb_ratio));
 
 		*dst_pixels = cpu_to_le16(r << 11 | g << 5 | b);
 	}
Signature · 1 line
2.35.1
author Tested-by
#8 lore raw

Re: build failure of next-20220906 due to 396369d67549 ("drm: vkms: Add support to the RGB565 format")

Quoted 37 lines · Melissa Wen
Quoted 35 lines · Sudip Mukherjee

Hi Melissa,

Quoted 32 lines · Melissa Wen
Quoted 14 lines · Sudip Mukherjee
Quoted 12 lines · Sudip Mukherjee (Codethink)

Hi All,

The builds of next-20220906 fails for mips, xtensa and arm allmodconfig.

The errors in mips and xtensa are:

ERROR: modpost: "__divdi3" [drivers/gpu/drm/vkms/vkms.ko] undefined!
ERROR: modpost: "__udivdi3" [drivers/gpu/drm/vkms/vkms.ko] undefined!

The error in arm is:

Quoted 8 lines
Quoted 5 lines

ERROR: modpost: "__aeabi_uldivmod" [drivers/gpu/drm/vkms/vkms.ko] undefined!
ERROR: modpost: "__aeabi_ldivmod" [drivers/gpu/drm/vkms/vkms.ko] undefined!

Trying to do a git bisect to find out the offending commit.

git bisect points to 396369d67549 ("drm: vkms: Add support to the RGB565 format")

Hi Sudip,

Thanks for pointing out this issue.

I think we can replace the macros that are triggering those compilation error by functions in drm/drm_fixed.h that do the same calculation.

Quoted 8 lines
Quoted 6 lines
Quoted 2 lines

I checked those errors when building for arm and i386 and the issues are fixed after applying the patch below. I appreciate if you can test.

Sorry, could not test as the downloaded mbox is saying patch is corrupted and could not be applied. Can you please attach the patch or maybe send using git send-email.

Sorry, my bad. It's attached. Let me know if goes smoothly.

Thanks. That was perfect.
And with that I can confirm I don't see the failure on mips and arm. Not tested on xtensa but should be fixed there also.

Signature · 2 lines
Regards
Sudip
#9 lore raw

Re: build failure of next-20220906 due to 396369d67549 ("drm: vkms: Add support to the RGB565 format")

Quoted 45 lines · Sudip Mukherjee
Quoted 44 lines · Melissa Wen
Quoted 41 lines · Sudip Mukherjee

Hi Melissa,

Quoted 27 lines · Melissa Wen
Quoted 14 lines · Sudip Mukherjee
Quoted 12 lines · Sudip Mukherjee (Codethink)

Hi All,

The builds of next-20220906 fails for mips, xtensa and arm allmodconfig.

The errors in mips and xtensa are:

ERROR: modpost: "__divdi3" [drivers/gpu/drm/vkms/vkms.ko] undefined!
ERROR: modpost: "__udivdi3" [drivers/gpu/drm/vkms/vkms.ko] undefined!

The error in arm is:

Quoted 8 lines
Quoted 5 lines

ERROR: modpost: "__aeabi_uldivmod" [drivers/gpu/drm/vkms/vkms.ko] undefined!
ERROR: modpost: "__aeabi_ldivmod" [drivers/gpu/drm/vkms/vkms.ko] undefined!

Trying to do a git bisect to find out the offending commit.

git bisect points to 396369d67549 ("drm: vkms: Add support to the RGB565 format")

Hi Sudip,

Quoted 7 lines

Thanks for pointing out this issue.

I think we can replace the macros that are triggering those compilation error by functions in drm/drm_fixed.h that do the same calculation.

I checked those errors when building for arm and i386 and the issues are fixed after applying the patch below. I appreciate if you can test.

Sorry, could not test as the downloaded mbox is saying patch is corrupted and could not be applied. Can you please attach the patch or maybe send using git send-email.

Quoted 7 lines
Quoted 1 line

Sorry, my bad. It's attached. Let me know if goes smoothly.

Thanks. That was perfect.
And with that I can confirm I don't see the failure on mips and arm. Not tested on xtensa but should be fixed there also.

Thanks for testing it.

Melissa

Quoted 5 lines
Signature · 3 lines
-- 
Regards
Sudip