Anonymous user
Limine Bare Bones: Difference between revisions
m
no edit summary
[unchecked revision] | [unchecked revision] |
mNo edit summary |
mNo edit summary |
||
Line 21:
As one may notice, there is no "entry point" assembly stub, as one is not necessary with the Limine protocol when using a language which can make use of a standard SysV x86 [[Calling Conventions|calling convention]].
Furthermore, we will download the header file '''limine.h''' which defines structures and constants that we will use to interact with the bootloader from [https://
Obviously, this is just a bare bones example, and one should always refer to the [https://github.com/limine-bootloader/limine/blob/trunk/PROTOCOL.md Limine protocol specification] for more details and information.
Line 254:
# Internal C flags that should not be changed by the user.
override CFLAGS +=
-std=gnu11
-ffreestanding
-fno-stack-protector \
-fno-stack-check
-fno-lto
-fno-pie
-fno-pic
-m64
-march=x86-64
-mabi=sysv
-mno-80387
-mno-mmx
-mno-sse
-mno-sse2
-mno-red-zone
-mcmodel=kernel
# Internal C preprocessor flags that should not be changed by the user.
override CPPFLAGS := \
-I.
$(CPPFLAGS)
-MMD
-MP
# Internal linker flags that should not be changed by the user.
override LDFLAGS +=
-nostdlib
-static
-m elf_x86_64
-z max-page-size=0x1000 \
-T linker.ld
|