I wrote the following (fasm) assembly program:

format ELF64 executable

segment readable executable

include 'io.inc'
include 'unistd64.inc'
entry main

    mov rdi, msg
    call print
    call done

segment readable
msg db "This is a message.", 0xA, 0

When I disassemble with IDA Pro, under the segments I see this:

IDA Pro Segments Tab

My question is, why are both segments called LOAD? What is the meaning behind this? I did not name the segments in my program.


The segments are called LOAD because that is the default name given to segments loaded from an ELF in IDA when they have no name.

The first segment is the equivalent of .text, it contains executable code.

The second segment is the equivalent of .rdata, it contains read-only data that is not executable.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.