Re: [RFC][PATCH] ftrace,objtool: PC32 based __mcount_loc

From: Steven Rostedt
Date: Wed Jun 22 2022 - 10:54:45 EST


On Fri, 17 Jun 2022 12:40:00 +0100
Mark Rutland <mark.rutland@xxxxxxx> wrote:

> We have a similar issue on arm64, which is exacerbated by needing ABS64
> relocations (24 bytes per entry!) adding significant bloat when FTRACE is
> enabled.

I have patches that bring down the size quite a bit. The mcount loc is
read into the dyn_rec, which has two longs (the second long is the
flags that only use 32 bits, but is a long to make it aligned, as a 64
bit word followed by a 32bit word just added 32 bits of padding to make
it an array).

The patches make it into two ints (which bring down the size for 64 bit
machines). The lists are broken up into blocks, and what I do is put
the top 32 bits of a word into the top of the block, and make sure that
they are the same among all the entries in the block.

I guess its time to bring this back alive.

-- Steve

>
> It'd be really nice if going forwards compilers could expose an option to
> generate PC32/PREL32 entries directly for this.