Re: Linux 6.8-rc5

From: Guenter Roeck
Date: Tue Feb 20 2024 - 16:48:19 EST


Actually,

On 2/20/24 11:57, Linus Torvalds wrote:

Commit a64056bb5a32 ("drm/tests/drm_buddy: add alloc_contiguous test"):

+ u64 mm_size, ps = SZ_4K, i, n_pages, total;
...
+ n_pages = mm_size / ps;


Turns out it wasn't this code, but

Now, the __moddi3() is a *bit* more reasonable, because I assume it comes from

int slot = i % 3;


this code. Sorry, I guess I should have spent more time on it.
Just declaring i as int solves the problem. In my case I used
gcc 11.4. I since also tried with gcc 13.1, but that makes
the problem worse. With that, I get

U __moddi3
U __umoddi3
U __umulsidi3

No idea why a single assignment would result in three undefined
symbols, but there we are. This is with xtensa, but I assume
the same is true for other architectures.

Unfortunately, I can not test your attached patch because the
DRM unit tests blow up my qemu test machines.

Guenter