[PATCH] arm64: remove special treatment for the link order of head.o

Arnaldo Carvalho de Melo acme at kernel.org
Tue Mar 28 12:52:43 PDT 2023


Em Tue, Mar 28, 2023 at 01:33:29PM +0300, Eduard Zingerman escreveu:
> 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 at 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 at zoe:~/ref/linux(master)$ aarch64-linux-gnu-size  vmlinux
> > >    text    data     bss     dec     hex filename
> > > 24561282 8186912 622032 33370226 1fd3072 vmlinux
> > > masahiro at 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 at 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 at zoe:~/ref/linux2(testing)$ aarch64-linux-gnu-size  vmlinux
> > >    text    data     bss     dec     hex filename
> > > 24561329 8186912 622032 33370273 1fd30a1 vmlinux
> > > masahiro at 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 at 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 at zoe:~/ref/linux(master)$ pahole --version
> > > v1.22
> > > 
> > > masahiro at 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@google.com/
> 
> 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 at github.com:acmel/dwarves.git
> 
> compile 'pahole' and try with?

pahole 1.25 is long overdue, so let see if this got fixed with what is
in master, please take a look, you can as well get it from:

git://git.kernel.org/pub/scm/devel/pahole/pahole.git

- Arnald o



More information about the linux-arm-kernel mailing list