jon.recoil.org

Module Eh_frame_registration

Generate EH frame registration code for manual runtime registration.

When using the dissector with LLD that lacks 64-bit EH frame support, we suppress LLD's 32-bit .eh_frame_hdr generation and instead register the .eh_frame section manually at runtime using libgcc's frame registration functions.

val linker_script_sections : string

Linker script sections that define __EH_FRAME_BEGIN__ and provide an empty .eh_frame_hdr table. This should be included in the SECTIONS block of the linker script when manual EH frame registration is used.

val generate : temp_dir:string -> string

generate ~temp_dir creates a C file with .init/.fini constructors that call __register_frame_info_bases and __deregister_frame_info_bases, compiles it, and returns the path to the resulting object file.

  • parameter temp_dir

    Directory where the C and object files will be created

  • returns

    Path to the compiled object file