On Sat, 2023-03-25 at 20:42 +0900, Masahiro Yamada wrote: [...] > > Strange. > > > > I used the .config file Aurelien provided, but > > I still cannot reproduce this issue. > > > > > > The vmlinux size is small > > as-is in the current mainline. > > > > > > > > [mainline] > > > > > > masahiro@zoe:~/ref/linux(master)$ git log --oneline -1 > > 65aca32efdcb (HEAD -> master, origin/master, origin/HEAD) Merge tag > > 'mm-hotfixes-stable-2023-03-24-17-09' of > > git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm > > masahiro@zoe:~/ref/linux(master)$ aarch64-linux-gnu-size vmlinux > > text data bss dec hex filename > > 24561282 8186912 622032 33370226 1fd3072 vmlinux > > masahiro@zoe:~/ref/linux(master)$ aarch64-linux-gnu-readelf -S > > vmlinux | grep -A1 BTF > > [15] .BTF PROGBITS ffff8000091c0708 011d0708 > > 000000000048209c 0000000000000000 A 0 0 1 > > [16] .BTF_ids PROGBITS ffff8000096427a4 016527a4 > > 0000000000000a1c 0000000000000000 A 0 0 1 > > > > > > > > > > [mainline + revert 994b7ac] > > > > masahiro@zoe:~/ref/linux2(testing)$ git log --oneline -2 > > 856c80dd789c (HEAD -> testing) Revert "arm64: remove special treatment > > for the link order of head.o" > > 65aca32efdcb (origin/master, origin/HEAD, master) Merge tag > > 'mm-hotfixes-stable-2023-03-24-17-09' of > > git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm > > masahiro@zoe:~/ref/linux2(testing)$ aarch64-linux-gnu-size vmlinux > > text data bss dec hex filename > > 24561329 8186912 622032 33370273 1fd30a1 vmlinux > > masahiro@zoe:~/ref/linux2(testing)$ aarch64-linux-gnu-readelf -S > > vmlinux | grep -A1 BTF > > [15] .BTF PROGBITS ffff8000091c0708 011d0708 > > 00000000004820cb 0000000000000000 A 0 0 1 > > [16] .BTF_ids PROGBITS ffff8000096427d4 016527d4 > > 0000000000000a1c 0000000000000000 A 0 0 1 > > > > > > > > I still do not know what affects reproducibility. > > (compiler version, pahole version, etc. ?) > > > > > > > > > > Aurelien used GCC 12 + binutils 2.40, but > > my toolchain is a bit older. > > > > > > > > FWIW, I tested this on Ubuntu 22.04LTS. > > > > masahiro@zoe:~/ref/linux(master)$ aarch64-linux-gnu-gcc --version > > aarch64-linux-gnu-gcc (Ubuntu 11.3.0-1ubuntu1~22.04) 11.3.0 > > Copyright (C) 2021 Free Software Foundation, Inc. > > This is free software; see the source for copying conditions. There is NO > > warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. > > > > masahiro@zoe:~/ref/linux(master)$ pahole --version > > v1.22 > > > > masahiro@zoe:~/ref/linux(master)$ aarch64-linux-gnu-as --version > > GNU assembler (GNU Binutils for Ubuntu) 2.38 > > Copyright (C) 2022 Free Software Foundation, Inc. > > This program is free software; you may redistribute it under the terms of > > the GNU General Public License version 3 or later. > > This program has absolutely no warranty. > > This assembler was configured for a target of `aarch64-linux-gnu'. > > > > > > I did the same things in Deiban sid > in order to use newer versions of tools. Hi Masahiro, An upgrade from gcc 11 to gcc 12, BTF section increase and a number of duplicate IDs reported by resolve_btfids matches the description of the following thread: https://lore.kernel.org/bpf/Y%2FP1yxAuV6Wj3A0K@xxxxxxxxxx/ The issue is caused by change in GNU assembler DWARF generation. I've sent a patch to fix it a few weeks ago and it is merged in dwarves master: a9498899109d ("dwarf_loader: Fix for BTF id drift caused by adding unspecified types") Could you please grab a fresh version of dwarves from: git@xxxxxxxxxx:acmel/dwarves.git compile 'pahole' and try with? Thanks, Eduard > > > > Yup, I saw a huge increase in the .BTF section, > and observed the difference w/wo 994b7ac. > > masahiro@3e9802d667e3:~/ref/linux2$ aarch64-linux-gnu-readelf -S > vmlinux | grep -A1 BTF > [15] .BTF PROGBITS ffff8000091d26c4 011e26c4 > 000000000093e626 0000000000000000 A 0 0 1 > [16] .BTF_ids PROGBITS ffff800009b10cec 01b20cec > 0000000000000a1c 0000000000000000 A 0 0 1 > > > I guess some tool might be affecting this. > Even with 994b7ac reverted, the .BTF section > is much bigger. > > > At the same time, I saw a ton of warnings > while building BTF. > > > masahiro@3e9802d667e3:~/ref/linux2$ cat /etc/os-release > PRETTY_NAME="Debian GNU/Linux bookworm/sid" > NAME="Debian GNU/Linux" > VERSION_CODENAME=bookworm > ID=debian > HOME_URL="https://www.debian.org/" > SUPPORT_URL="https://www.debian.org/support" > BUG_REPORT_URL="https://bugs.debian.org/" > > > > LD vmlinux > BTFIDS vmlinux > WARN: multiple IDs found for 'task_struct': 177, 16690 - using 177 > WARN: multiple IDs found for 'file': 517, 16712 - using 517 > WARN: multiple IDs found for 'vm_area_struct': 524, 16714 - using 524 > WARN: multiple IDs found for 'inode': 586, 16773 - using 586 > WARN: multiple IDs found for 'path': 618, 16802 - using 618 > WARN: multiple IDs found for 'task_struct': 177, 17267 - using 177 > WARN: multiple IDs found for 'file': 517, 17312 - using 517 > WARN: multiple IDs found for 'vm_area_struct': 524, 17315 - using 524 > WARN: multiple IDs found for 'seq_file': 1029, 17376 - using 1029 > WARN: multiple IDs found for 'inode': 586, 17494 - using 586 > WARN: multiple IDs found for 'path': 618, 17523 - using 618 > WARN: multiple IDs found for 'cgroup': 704, 17532 - using 704 > WARN: multiple IDs found for 'task_struct': 177, 18652 - using 177 > WARN: multiple IDs found for 'file': 517, 18704 - using 517 > WARN: multiple IDs found for 'vm_area_struct': 524, 18707 - using 524 > WARN: multiple IDs found for 'seq_file': 1029, 18781 - using 1029 > WARN: multiple IDs found for 'inode': 586, 18911 - using 586 > WARN: multiple IDs found for 'path': 618, 18940 - using 618 > WARN: multiple IDs found for 'cgroup': 704, 18949 - using 704 > WARN: multiple IDs found for 'task_struct': 177, 20514 - using 177 > WARN: multiple IDs found for 'file': 517, 20515 - using 517 > WARN: multiple IDs found for 'vm_area_struct': 524, 20541 - using 524 > WARN: multiple IDs found for 'inode': 586, 20595 - using 586 > WARN: multiple IDs found for 'path': 618, 20624 - using 618 > WARN: multiple IDs found for 'cgroup': 704, 20639 - using 704 > WARN: multiple IDs found for 'seq_file': 1029, 20801 - using 1029 > ... > > > > > I am not sure whether these warnings are related to > the current issue or not. > > > I did not look into it any further. > I may not be seeing a sane build result. > >