From 6e0784c79584726fe200eb2ab136c89bea012e62 Mon Sep 17 00:00:00 2001 From: Sunil Nimmagadda Date: Fri, 16 Oct 2026 10:44:06 +0530 Subject: Leave the annotation name as is but rename variable for clarity. --- mkelf.lua | 38 +++++++++++++++++++++++++------------- 1 file changed, 25 insertions(+), 13 deletions(-) (limited to 'mkelf.lua') diff --git a/mkelf.lua b/mkelf.lua index b362077..e09c772 100644 --- a/mkelf.lua +++ b/mkelf.lua @@ -136,7 +136,7 @@ local function ElfHeader_pack(hdr) hdr.shstrndx) end ----@class ProgramHeaders +---@class ProgramHeader ---@field type integer ---@field flags integer ---@field offset integer @@ -169,7 +169,7 @@ local SegmentFlags = { r = 0x3, } ----@param hdr ProgramHeaders +---@param hdr ProgramHeader ---@param endian Endian ---@param class Class ---@nodiscard @@ -220,16 +220,28 @@ local function main() shnum = 0, shstrndx = 0, } - ---@type ProgramHeaders - local pheader = { - type = SegmentType.dynamic, - flags = SegmentFlags.x, - offset = 0xf, - vaddr = 0xff, - paddr = 0xfff, - filesz = 0xffff, - memsz = 0xfffff, - align = 1, + ---@type ProgramHeader[] + local phdrs = { + { + type = SegmentType.dynamic, + flags = SegmentFlags.x, + offset = 0xf, + vaddr = 0xff, + paddr = 0xfff, + filesz = 0xffff, + memsz = 0xfffff, + align = 1, + }, + { + type = SegmentType.dynamic, + flags = SegmentFlags.r, + offset = 0xa, + vaddr = 0xaa, + paddr = 0xaaa, + filesz = 0xaaaa, + memsz = 0xaaaaa, + align = 1, + } } local output = "a.out" for i in ipairs(arg) do @@ -242,7 +254,7 @@ local function main() end local f = assert(io.open(output, "w")) f:write(ElfHeader_pack(header)) - f:write(ElfPHeader_pack(pheader, header.data, header.class)) + f:write(ElfPHeader_pack(phdrs, header.data, header.class)) f:close() end -- cgit v1.3