Re: [RFC] New codectl(2) system call for sframe registration

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 7/23/25 8:09 AM, Mathieu Desnoyers wrote:
On 2025-07-22 17:13, Steven Rostedt wrote:
On Tue, 22 Jul 2025 14:04:37 -0700
Indu Bhagat <indu.bhagat@xxxxxxxxxx> wrote:

Yes and No.  The offset at which the text is loaded is _one_ part of the
information to "fill in the blanks".  The other part is what to do with
that information (text_vma) or how to relocate the SFrame section itself
a.k.a. the relocation entries.  To know the relocations, one will need
to get access to the respective relocation section, and hence access to
the ELF section headers.

You mean to find where in the sframe section itself that needs to be update?

OK, that makes sense. So sframes does need to still be in an ELF file for
its own relocations and such.

It will be interesting on how to do compression and on-demand page loading.

There would need to be a table as well that will denote where in the
decompressed pages that relocations need to be performed.

If we can find a way to express all sframe "pointers" as offsets from a
text_vma base, then there is no need for relocations. This would
minimize complexity.


(So we got into the topic of relocation in the context of compressing SFrame sections, the details of which are not chalked out yet. As I mentioned SHF_ALLOC|SHF_COMPRESSED usecase needs to be discussed further. But stating the following in case there has been a misunderstanding.)

The SFrame FDE func start addr field is indeed an offset from the field itself to the start PC of the function in the text section. So in relocatable files (object files, or ld -r i.e. ET_REL), we see the relocations.

These relocations can be resolved at link time by the linker. So for shared libraries and executables (ET_DYN, ET_EXEC), once the SFrame section in placed in the PT_LOAD segment, there are no relocations for readers/consumers. These relocations remain for relocatable objects.

A consumer of relocatable object, e.g., in case of kernel modules, will need to take care of the relocations when adding the module.




[Index of Archives]     [Linux Samsung SoC]     [Linux Rockchip SoC]     [Linux Actions SoC]     [Linux for Synopsys ARC Processors]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]


  Powered by Linux