Code: Select all
i686-elf-gcc -c <input file> -o <output file> -ffreestanding -Wall -Wextra -g
Code: Select all
ENTRY(_start)
SECTIONS
{
. = 0x8000;
.text BLOCK(4K) : ALIGN(4K)
{
*(.multiboot)
*(.text)
}
.rodata BLOCK(4K) : ALIGN(4K)
{
*(.rodata)
}
.data BLOCK(4K) : ALIGN(4K)
{
*(.data)
}
.bss BLOCK(4K) : ALIGN(4K)
{
*(COMMON)
*(.bss)
}
.stab BLOCK(4K) : ALIGN(4K)
{
*(.stab)
}
.stabstr BLOCK(4K) : ALIGN(4K)
{
*(.stabstr)
}
.eh_frame BLOCK(4K) : ALIGN(4K)
{
*(.eh_frame)
}
.eh_frame_hdr BLOCK(4K) : ALIGN(4K)
{
*(.eh_frame_hdr)
}
.debug_aranges BLOCK(4K) : ALIGN(4K)
{
*(.debug_aranges)
}
.debug_pubnames BLOCK(4K) : ALIGN(4K)
{
*(.debug_pubnames)
}
.debug_info BLOCK(4K) : ALIGN(4K)
{
*(.debug_info)
}
.debug_abbrev BLOCK(4K) : ALIGN(4K)
{
*(.debug_abbrev)
}
.debug_line BLOCK(4K) : ALIGN(4K)
{
*(.debug_line)
}
.debug_frame BLOCK(4K) : ALIGN(4K)
{
*(.debug_frame)
}
.debug_str BLOCK(4K) : ALIGN(4K)
{
*(.debug_str)
}
.debug_loc BLOCK(4K) : ALIGN(4K)
{
*(.debug_loc)
}
.debug_line_str BLOCK(4K) : ALIGN(4K)
{
*(.debug_line_str)
}
}
Code: Select all
qemu-system-x86_64.exe -s -S -cdrom .\boot.iso
Code: Select all
gdb
set arch i386:x86-64
file bootstrap.elf
target remote localhost:1234