What is meant by statically moved or static segment movement

The elf-format executable file contains various segments, such as code, data, bss, stack, etc. If we say that the segment xyz is statically moved, what does this mean?

The elf binary format contains relative addresses for each segment. When we talk about static relocation, does this mean that relative addresses are actually physical addresses?

+3
source share
3 answers

Static movement means moving data or encoding and assigning absolute locations to them before starting the program. For example: Linker is an example of a static move that moves several program modules and combines them into a program.

+3
source

Static relocation refers to address translations that are performed before the program starts. A typical equipment command cycle is as follows:

loop
    w := M[instr_ctr];          (* fetch instruction *)
    oc := Opcode(w);
    adr := Address(w);
    instr_ctr := instr_ctr + 1;
    case oc of
    1:  reg := reg+M[adr];    (* add *)
    2:  M[adr] := reg;        (* store *)
    3:  instr_ctr := adr;     (* branch *)
    ...
    end
end (* loop *)
+2
source

( ) :   A x   B x

/ , IBM 360, B , , , A

When the program was downloaded at 16384, a constant 16384 was added to each program address during the download process.

+1
source

Source: https://habr.com/ru/post/1768606/


All Articles