Disassembling

$ arm-none-eabi-objdump -s fhc.o

fhc.o:     file format elf32-littlearm

Contents of section .text:
0000 00040020 01010008 00000000 00000000  ... ............
0010 00000000 00000000 00000000 00000000  ................
0020 00000000 00000000 00000000 00000000  ................
0030 00000000 00000000 00000000 00000000  ................
0040 00000000 00000000 00000000 00000000  ................
0050 00000000 00000000 00000000 00000000  ................
0060 00000000 00000000 00000000 00000000  ................
0070 00000000 00000000 00000000 00000000  ................
0080 00000000 00000000 00000000 00000000  ................
0090 00000000 00000000 00000000 00000000  ................
00a0 00000000 00000000 00000000 00000000  ................
00b0 00000000 00000000 00000000 00000000  ................
00c0 00000000 00000000 00000000 00000000  ................
00d0 00000000 00000000 00000000 00000000  ................
00e0 00000000 00000000 00000000 00000000  ................
00f0 00000000 00000000 00000000 00000000  ................
0100 07200130 fde7                        . .0..
Contents of section .data:
. . .
Section 0 (.text):
Size: 0xf0 (240 in decimal)

        VMA: 0x0
LMA: 0x0
File off: 0x34
Alignment: 2^1 (2)
Attributes: Contents, Alloc, Load, Readonly, Code

This section is the code section (.text) containing executable instructions. It is read-only, allocated in memory, and will be loaded at virtual address 0x0.


Section 1 (.data):

Size: 0x0 LMA: 0x0 File off: 0x124 Alignment: 2^0 (1) Attributes: Contents, Alloc, Load, Data

This section is a data section (.data) containing initialized data. It is allocated in memory and will be loaded at virtual address 0x0.


Section 2 (.bss):

Size: 0x0 VMA: 0x0 LMA: 0x0 File off: 0x124 Alignment: 2^0 (1) Attributes: Alloc This section is likely the BSS section (.bss) containing uninitialized data. It is allocated in memory, but does not have content in the file.


Section 3 (.ARM.attributes):

Size: 0x21 (33 in decimal) VMA: 0x0 LMA: 0x0 File off: 0x124 Alignment: 2^0 (1) Attributes: Contents, Readonly This section might contain ARM-specific attributes, and it is read-only.

Each section serves a specific purpose in the executable or object file, such as holding code, initialized data, uninitialized data, or other attributes.