ELF Object File Format Flashcards

1
Q

(1) Elf header

A

Word size, byte ordering, file type (.o, exec, .so), machine type, etc.

ex of some info stored in a header: 64bit, little endian, linux, executable (.out), AMD x86-64, as well as pointers to program header table & address of the entry point

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

(2) segment header table

A

Page size, virtual addresses memory segments (sections), segment sizes.

This part of ELF is required for executables

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

(3) .text

A

code. yummy c code. c code yum

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

(4) .rodata

A

“read only” data section

jump tables, static constants, etc..

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

(5) .data

A

initialized global vars

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

(6) .bss

A

Uninitialized global variables
“Block Started by Symbol”
“Better Save Space”
Has section header but occupies no space

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

(7) .symtab

A

Symbol table
Procedure and static variable names
Section names and locations

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

(8) .rel.text

A

Relocation info for .text section

Addresses of
instructions that will need to be
modified in the executable

Instructions for modifying.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

(9) .rel.data

A

Relocation info for .data section

Addresses of pointer data that will need to be
modified in the merged executable

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

(10) .debug

A

info for symbolic debugging (gcc -g)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

(11) section header table

A

offsets and sizes of each section

How well did you know this?
1
Not at all
2
3
4
5
Perfectly