1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-26 23:27:43 +00:00

LibJIT: Integrate GDB JIT Interface with ELF builders

Provide a function to create an ELF image in a format GDB expects.
Outside of ELF platforms this image doesn't make much sense, and in
MacOS a Mach-O memory image is required: see
https://chromium.googlesource.com/v8/v8.git/+/refs/heads/main/src/diagnostics/gdb-jit.cc#1802

Since GDB requires active runtime addresses for the code, copying the
generated code into the image will not help. Instead, `build_gdb_image`
writes the runtime addresses of the code into a NOBITS `.text` section.
This commit is contained in:
Jesús "gsus" Lapastora 2023-12-02 10:11:39 +01:00 committed by Andrew Kaster
parent 48a9d0ede8
commit 149e382735
4 changed files with 122 additions and 0 deletions

View file

@ -0,0 +1,14 @@
/*
* Copyright (c) 2023, Jesús Lapastora <cyber.gsuscode@gmail.com>
*
* SPDX-License-Identifier: BSD-2-Clause
*/
#include <LibJIT/GDB.h>
namespace JIT::GDB {
Optional<FixedArray<u8>> build_gdb_image(ReadonlyBytes, StringView, StringView)
{
return {};
}
}