ld Map system.map


root@ubuntu:~/arm/raspberry-pi3-mini-os/1.hello_world# grep Map -rn *
Makefile:22:    $(ARMGNU)-ld -T linker.ld -o objects/kernel8.elf  $(OBJ_FILES) -Map system.map
root@ubuntu:~/arm/raspberry-pi3-mini-os/1.hello_world# cat system.map 

Memory Configuration

Name             Origin             Length             Attributes
*default*        0x0000000000000000 0xffffffffffffffff

Linker script and memory map

                0x0000000000080000                . = 0x80000

.text.boot      0x0000000000080000       0x30
 *(.text.boot)
 .text.boot     0x0000000000080000       0x30 objects/boot_s.o
                0x0000000000080000                _start

.text           0x0000000000080030      0x274
 *(.text)
 .text          0x0000000000080030      0x21c objects/uart_c.o
                0x0000000000080030                uart_send
                0x000000000008007c                uart_recv
                0x00000000000800bc                uart_send_string
                0x0000000000080114                uart_init
                0x0000000000080228                putc
 .text          0x000000000008024c       0x2c objects/kernel_c.o
                0x000000000008024c                kernel
 .text          0x0000000000080278       0x1c objects/utils_s.o
                0x0000000000080278                put32
                0x0000000000080280                get32
                0x0000000000080288                delay
 .text          0x0000000000080294       0x10 objects/mm_s.o
                0x0000000000080294                memzero
 .text          0x00000000000802a4        0x0 objects/boot_s.o

.iplt           0x00000000000802a4        0x0
 .iplt          0x00000000000802a4        0x0 objects/uart_c.o

.rodata         0x00000000000802a8       0x10
 *(.rodata)
 .rodata        0x00000000000802a8       0x10 objects/kernel_c.o

.rela.dyn       0x00000000000802b8        0x0
 .rela.iplt     0x00000000000802b8        0x0 objects/uart_c.o
 .rela.text.boot
                0x00000000000802b8        0x0 objects/uart_c.o

.data           0x00000000000802b8        0x0
 *(.data)
 .data          0x00000000000802b8        0x0 objects/uart_c.o
 .data          0x00000000000802b8        0x0 objects/kernel_c.o
 .data          0x00000000000802b8        0x0 objects/utils_s.o
 .data          0x00000000000802b8        0x0 objects/mm_s.o
 .data          0x00000000000802b8        0x0 objects/boot_s.o

.igot.plt       0x00000000000802b8        0x0
 .igot.plt      0x00000000000802b8        0x0 objects/uart_c.o
                0x00000000000802b8                . = ALIGN (0x8)
                0x00000000000802b8                bss_begin = .

.bss            0x00000000000802b8        0x0
 *(.bss*)
 .bss           0x00000000000802b8        0x0 objects/uart_c.o
 .bss           0x00000000000802b8        0x0 objects/kernel_c.o
 .bss           0x00000000000802b8        0x0 objects/utils_s.o
 .bss           0x00000000000802b8        0x0 objects/mm_s.o
 .bss           0x00000000000802b8        0x0 objects/boot_s.o
                0x00000000000802b8                bss_end = .
LOAD objects/uart_c.o
LOAD objects/kernel_c.o
LOAD objects/utils_s.o
LOAD objects/mm_s.o
LOAD objects/boot_s.o
OUTPUT(objects/kernel8.elf elf64-littleaarch64)

.comment        0x0000000000000000       0x30
 .comment       0x0000000000000000       0x30 objects/uart_c.o
                                         0x31 (size before relaxing)
 .comment       0x0000000000000030       0x31 objects/kernel_c.o

.note.GNU-stack
                0x0000000000000000        0x0
 .note.GNU-stack
                0x0000000000000000        0x0 objects/uart_c.o
 .note.GNU-stack
                0x0000000000000000        0x0 objects/kernel_c.o