Re: "kernel ade access" oops on LoongArch

From: Youling Tang
Date: Wed Feb 15 2023 - 02:23:11 EST




On 02/15/2023 01:35 PM, Xi Ruoyao wrote:
On Wed, 2023-02-15 at 12:52 +0800, Youling Tang wrote:
../stdlib/stdlib.h:141:8: error: ‘_Float32’ does not name a type
141 | extern _Float32 strtof32 (const char *__restrict __nptr,
| ^~~~~~~~

This is because Glibc expects GCC 13 to support _Float32, but early GCC
13 snapshots did not.

/usr/bin/ld: /home/loongson/build_glibc/libc.a(dl-reloc-static-pie.o):
in function `_dl_relocate_static_pie':
/home/loongson/glibc/elf/dl-reloc-static-pie.c:44: undefined reference
to `_DYNAMIC'

Oh, this one is my fault. The check for compiler static PIE support was
not written correctly. I'll fix it for Glibc later, but now you can
update GCC to the latest git master to proceed.


Tested on Loongson-3C5000L-LL machine, using CLFS7.3 system.

$ gcc -v
gcc version 13.0.0 20221018 (experimental) (GCC)

# make check -j32
/home/loongson/build_glibc/math/test-tgmath3-atan2.c: 在函数‘test_atan2_84’中:
/home/loongson/build_glibc/math/test-tgmath3-atan2.c:903:59: 错误:conflicting types for ‘var__Float32x’; have ‘double’
903 | extern typeof (atan2 (vol_var__Float32x, vol_var_char)) var__Float32x __attribute__ ((unused));
| ^~~~~~~~~~~~~

There was a build error in make check, so only tst-mallocfork3-
malloc-check was tested separately.

# make test t=malloc/tst-mallocfork3-malloc-check
make[2]: 离开目录“/home/loongson/glibc/malloc”
PASS: malloc/tst-mallocfork3-malloc-check
original exit status 0
info: signals received during fork: 301
info: signals received during free: 1693
info: signals received during malloc: 119
make[1]: 离开目录“/home/loongson/glibc”

A total of five tests are PASS, and the serial port does not display
CallTrace.

Youling.