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

Heiko Carstens hca at linux.ibm.com
Thu Feb 13 04:53:02 PST 2025


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.



More information about the linux-arm-kernel mailing list