From 78f0df1cf849af8b0ade40a8ebcffd7fb53635cb Mon Sep 17 00:00:00 2001 From: Felix Morgner Date: Thu, 30 Oct 2025 15:59:48 +0100 Subject: libs: begin ELF support implementation --- libs/elf/CMakeLists.txt | 19 +++++++++++++++++++ libs/elf/include/elf/format.hpp | 15 +++++++++++++++ libs/elf/include/elf/section_header.hpp | 23 +++++++++++++++++++++++ 3 files changed, 57 insertions(+) create mode 100644 libs/elf/CMakeLists.txt create mode 100644 libs/elf/include/elf/format.hpp create mode 100644 libs/elf/include/elf/section_header.hpp (limited to 'libs/elf') diff --git a/libs/elf/CMakeLists.txt b/libs/elf/CMakeLists.txt new file mode 100644 index 0000000..66e59ee --- /dev/null +++ b/libs/elf/CMakeLists.txt @@ -0,0 +1,19 @@ +add_library("elf" INTERFACE) +add_library("libs::elf" ALIAS "elf") + +target_sources("elf" INTERFACE + FILE_SET HEADERS + BASE_DIRS "include" + FILES + "include/elf/format.hpp" + "include/elf/section_header.hpp" + +) + +target_include_directories("elf" INTERFACE + "include" +) + +set_target_properties("elf" PROPERTIES + VERIFY_INTERFACE_HEADER_SETS YES +) \ No newline at end of file diff --git a/libs/elf/include/elf/format.hpp b/libs/elf/include/elf/format.hpp new file mode 100644 index 0000000..b3220f5 --- /dev/null +++ b/libs/elf/include/elf/format.hpp @@ -0,0 +1,15 @@ +#ifndef ELF_FORMAT_HPP +#define ELF_FORMAT_HPP + +namespace elf +{ + + enum struct format + { + elf32, + elf64, + }; + +} // namespace elf + +#endif \ No newline at end of file diff --git a/libs/elf/include/elf/section_header.hpp b/libs/elf/include/elf/section_header.hpp new file mode 100644 index 0000000..0ff5e4b --- /dev/null +++ b/libs/elf/include/elf/section_header.hpp @@ -0,0 +1,23 @@ +#ifndef ELF_SECTION_HEADER_HPP +#define ELF_SECTION_HEADER_HPP + +#include "format.hpp" + +#include + +namespace elf +{ + + enum struct section_header_type : std::uint32_t + { + }; + + template + struct section_header + { + std::uint32_t name_offset; + section_header_type type; + }; +} // namespace elf + +#endif \ No newline at end of file -- cgit v1.2.3