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: