Re: Linux 6.2-rc2

From: SeongJae Park
Date: Mon Jan 23 2023 - 13:28:58 EST


On Mon, 23 Jan 2023 18:09:27 +0900 Masahiro Yamada <masahiroy@xxxxxxxxxx> wrote:

> On Wed, Jan 11, 2023 at 4:14 AM SeongJae Park <sj@xxxxxxxxxx> wrote:
> >
> > Hi Masahiro,
> >
> > On Wed, 11 Jan 2023 03:39:58 +0900 Masahiro Yamada <masahiroy@xxxxxxxxxx> wrote:
> >
> > > On Tue, Jan 10, 2023 at 9:32 AM SeongJae Park <sj@xxxxxxxxxx> wrote:
> > > >
> > > > On Tue, 3 Jan 2023 11:58:48 +0100 Ard Biesheuvel <ardb@xxxxxxxxxx> wrote:
> > > >
> > > > > On Tue, 3 Jan 2023 at 03:13, Linus Torvalds
> > > > > <torvalds@xxxxxxxxxxxxxxxxxxxx> wrote:
> > > > > >
> > > > > > On Mon, Jan 2, 2023 at 5:45 PM Guenter Roeck <linux@xxxxxxxxxxxx> wrote:
> > > > > > >
> > > > [...]
> > > > > --- a/include/asm-generic/vmlinux.lds.h
> > > > > +++ b/include/asm-generic/vmlinux.lds.h
> > > > > @@ -896,7 +896,7 @@
> > > > > * Otherwise, the type of .notes section would become PROGBITS
> > > > > instead of NOTES.
> > > > > */
> > > > > #define NOTES \
> > > > > - /DISCARD/ : { *(.note.GNU-stack) } \
> > > > > + .note.GNU-stack : { *(.note.GNU-stack) } \
> > > > > .notes : AT(ADDR(.notes) - LOAD_OFFSET) { \
> > > > > BOUNDED_SECTION_BY(.note.*, _notes) \
> > > > > } NOTES_HEADERS \
> > > > >
> > > > > The .note.GNU-stack has zero size, so the result should be the same.
> > > > >
> > > >
> > > > This also fixes ARCH=um build error on my system.
> > > >
> > > > Tested-by: SeongJae Park <sj@xxxxxxxxxx>
> > >
> > >
> > >
> > > I am able to build ARCH=um defconfig at least.
> > >
> > > Can you provide the steps to reproduce the build error?
> >
> > I do the build for kunit test, like below.
> >
> > mkdir ../kunit.out
> > echo "
> > CONFIG_KUNIT=y
> >
> > CONFIG_DAMON=y
> > CONFIG_DAMON_KUNIT_TEST=y
> >
> > CONFIG_DAMON_VADDR=y
> > CONFIG_DAMON_VADDR_KUNIT_TEST=y
> >
> > CONFIG_DEBUG_FS=y
> > CONFIG_DAMON_DBGFS=y
> > CONFIG_DAMON_DBGFS_KUNIT_TEST=y
> > CONFIG_DAMON_PADDR=y" > ../kunit.out/.kunitconfig
> > ./tools/testsing/kunit/kunit.py run --build_dir ../kunit.out
> > [19:12:37] Configuring KUnit Kernel ...
> > [19:12:37] Building KUnit Kernel ...
> > Populating config with:
> > $ make ARCH=um O=../kunit.out/ olddefconfig
> > Building with:
> > $ make ARCH=um O=../kunit.out/ --jobs=36
> > ERROR:root:`.exit.text' referenced in section `.uml.exitcall.exit' of arch/um/drivers/virtio_uml.o: defined in discarded section `.exit.text' of arch/um/drivers/virtio_uml.o
> > collect2: error: ld returned 1 exit status
> > make[2]: *** [/home/sjpark/linux/scripts/Makefile.vmlinux:34: vmlinux] Error 1
> > make[1]: *** [/home/sjpark/linux/Makefile:1252: vmlinux] Error 2
> > make: *** [Makefile:242: __sub-make] Error 2
> >
> >
> > Thanks,
> > SJ
> >
>
>
> I did not see the error, though.
>
> The test seems to have succeeded.
>
>
>
>
> masahiro@zoe:~/ref/linux(master)$ cat ../kunit.out/.kunitconfig
> CONFIG_KUNIT=y
>
> CONFIG_DAMON=y
> CONFIG_DAMON_KUNIT_TEST=y
>
> CONFIG_DAMON_VADDR=y
> CONFIG_DAMON_VADDR_KUNIT_TEST=y
>
> CONFIG_DEBUG_FS=y
> CONFIG_DAMON_DBGFS=y
> CONFIG_DAMON_DBGFS_KUNIT_TEST=y
> CONFIG_DAMON_PADDR=y
> masahiro@zoe:~/ref/linux(master)$ ./tools/testing/kunit/kunit.py run
> --build_dir ../kunit.out
> [18:05:19] Configuring KUnit Kernel ...
> Regenerating .config ...
> Populating config with:
> $ make ARCH=um O=../kunit.out olddefconfig
> [18:05:22] Building KUnit Kernel ...
> Populating config with:
> $ make ARCH=um O=../kunit.out olddefconfig
> Building with:
> $ make ARCH=um O=../kunit.out --jobs=16
> [18:05:47] Starting KUnit Kernel (1/1)...
> [18:05:47] ============================================================
> [18:05:47] ==================== damon (9 subtests) ====================
> [18:05:47] [PASSED] damon_test_target
> [18:05:47] [PASSED] damon_test_regions
> [18:05:47] [PASSED] damon_test_aggregate
> [18:05:47] [PASSED] damon_test_split_at
> [18:05:47] [PASSED] damon_test_merge_two
> [18:05:47] [PASSED] damon_test_merge_regions_of
> [18:05:47] [PASSED] damon_test_split_regions_of
> [18:05:47] [PASSED] damon_test_ops_registration
> [18:05:47] [PASSED] damon_test_set_regions
> [18:05:47] ====================== [PASSED] damon ======================
> [18:05:47] ============== damon-operations (6 subtests) ===============
> [18:05:47] [PASSED] damon_test_three_regions_in_vmas
> [18:05:47] [PASSED] damon_test_apply_three_regions1
> [18:05:47] [PASSED] damon_test_apply_three_regions2
> [18:05:47] [PASSED] damon_test_apply_three_regions3
> [18:05:47] [PASSED] damon_test_apply_three_regions4
> [18:05:47] [PASSED] damon_test_split_evenly
> [18:05:47] ================ [PASSED] damon-operations =================
> [18:05:47] ================= damon-dbgfs (3 subtests) =================
> [18:05:47] [PASSED] damon_dbgfs_test_str_to_ints
> [18:05:47] [PASSED] damon_dbgfs_test_set_targets
> [18:05:47] [PASSED] damon_dbgfs_test_set_init_regions
> [18:05:47] =================== [PASSED] damon-dbgfs ===================
> [18:05:47] ============================================================
> [18:05:47] Testing complete. Ran 18 tests: passed: 18
> [18:05:47] Elapsed time: 28.194s total, 3.017s configuring, 25.058s
> building, 0.086s running

Thank you for sharing your results. I think it may depend on the compiler
version, because I use a quite old compiler.

$ gcc --version
gcc (Ubuntu 9.4.0-1ubuntu1~20.04.1) 9.4.0

Thanks,
SJ

[...]