NASM - The Netwide Assembler
NASM Forum => Other Discussion => Topic started by: ben321 on August 09, 2023, 11:16:11 PM
-
While Windows PE EXE files just have named sections as defined by section headers, ELF files have named sections, but also something called "program segments", which are unnamed, and are defined by a separate table of headers called program headers. What's up with that?
-
Hi Ben,
I don't know. Where are you seeing this? Possibly 4k (usually) memory "pages"? If ypu can't dp anything about it, I wouldn't worry about it.
Best,
Frank
-
Aren't you confusing with "Program Header Table"?
In general, ELF is simplier then PE (and PE+).
-
Yeah, I am probably confused. Should have stopped after "I don't know'"
Best,
Frank
-
While ELF Sections are used by the linker, ELF Program Segments are used by the (dynamic) loader at the Linux program execution.
Section header tells where is the section's contents located in the file. This is used mostly at link-time.
Program segments instruct the loader at load-time about virtual address where should each segment be memory-mapped at, and what privileges should it be assigned (read,write,execute). See also ELF specification (http://www.skyfree.org/linux/references/ELF_Format.pdf).
If you want to inspect ELF files in Windows, install Linux emulator WSL (https://learn.microsoft.com/en-us/windows/wsl/install) and use
readelf -aW ElfFile
-
Thank you!
Frank
-
Yeah, I am probably confused. Should have stopped after "I don't know'"
Best,
Frank
Frank, I was talking about the "program headers" in the original post.
[]s
Fred
-
Okay, I'm confused on general principles. :)
Are you straightened out, Ben?
Frank