Re: [PATCH] arm64: scripts/sorttable: Implement sorting mcount_loc at boot for arm64

From: Heiko Carstens
Date: Thu Feb 13 2025 - 10:19:41 EST


On Thu, Feb 13, 2025 at 01:53:02PM +0100, Heiko Carstens wrote:
> On Mon, Feb 10, 2025 at 02:26:47PM -0500, Steven Rostedt wrote:
> > For the s390 folks. I cross compiled a s390 and looked at the mcount_loc
> > section, and I have no idea how to implement this for that. I wrote a elf
> > parser to dump sections based symbols:
> >
> > https://rostedt.org/code/dump_elf_sym.c
> >
> > And ran it on the s390 vmlinux:
> >
> > $ ./dump_elf_sym vmlinux __start_mcount_loc __stop_mcount_loc
> > 1801620: .. .. .. .. .. .. .. .. 00 00 00 00 00 11 70 20 ......... .....p
> > 1801630: 00 00 00 00 00 11 70 90 00 00 00 00 00 11 70 a0 ......p.. .....p.
> > 1801640: 00 00 00 00 00 11 71 10 00 00 00 00 00 11 71 20 ......q.. .....q
> > 1801650: 00 00 00 00 00 11 71 90 00 00 00 00 01 7c 70 00 ......q.. ....|p.
> > 1801660: 00 00 00 00 01 7c 70 20 00 00 00 00 01 7c 70 40 .....|p . ....|p@
> > 1801670: 00 00 00 00 01 7c 70 60 00 00 00 00 01 7c 70 70 .....|p`. ....|pp
> > 1801680: 00 00 00 00 01 7c 70 98 00 00 00 00 01 7c 70 c0 .....|p.. ....|p.
> > 1801690: 00 00 00 00 01 7c 70 d0 00 00 00 00 01 7c 71 68 .....|p.. ....|qh
> > [..]
> >
> > It looks like addresses in that section...
>
> Those are the addresses of the mcount locations. After looking at
> sorttable.c it really looks like that for s390 we can simply select
> HAVE_BUILDTIME_MCOUNT_SORT without any further changes.
>
> I just tested it with different compiler options (fentry vs hotpatch),
> including selecting FTRACE_SORT_STARTUP_TEST, and as expected everything
> works.
>
> I'm going to give it some more testing in our CI - but if nothing breaks a
> patch which selects HAVE_BUILDTIME_MCOUNT_SORT for s390 will go upstream
> with the next merge window.

Something like this: