summaryrefslogtreecommitdiff
path: root/linker.ld
diff options
context:
space:
mode:
authorAnna (navi) Figueiredo Gomes <navi@vlhl.dev>2024-01-07 20:19:20 +0100
committerAnna (navi) Figueiredo Gomes <navi@vlhl.dev>2024-01-07 20:19:24 +0100
commit0ee22520f50b4f006a554c79dd0e5f1d5d780d4d (patch)
tree0345608543d423f376909614700da4f11ace1b28 /linker.ld
parent30d6e8f850d2fe26fffdeef0c38fc627ef8bab9a (diff)
replace make with meson
Signed-off-by: Anna (navi) Figueiredo Gomes <navi@vlhl.dev>
Diffstat (limited to 'linker.ld')
-rw-r--r--linker.ld62
1 files changed, 0 insertions, 62 deletions
diff --git a/linker.ld b/linker.ld
deleted file mode 100644
index 87fb6c4..0000000
--- a/linker.ld
+++ /dev/null
@@ -1,62 +0,0 @@
-/* The bootloader will look at this image and start execution at the symbol
- designated as the entry point. */
-ENTRY(bootstrap)
-
-/* Tell where the various sections of the object files will be put in the final
- kernel image. */
-SECTIONS
-{
- /* It used to be universally recommended to use 1MiB as a start offset,
- as it was effectively guaranteed to be available under BIOS systems.
- However, UEFI has made things more complicated, and experimental data
- strongly suggests that 2M is a safer place to load. In 2016, a new
- feature was introduced to the multiboot2 spec to inform bootloaders
- that a kernel can be loaded anywhere within a range of addresses and
- will be able to relocations to itself to run from such a loader-selected
- address, in order to give the loader freedom in selecting a span of
- memory which is verified to be available by the firmware, in order to
- work around this issue. This does not use that feature, so 2M was
- chosen as a safer option than the traditional 1M. */
- . = 2M;
-
- .bootstrap BLOCK(4K) : ALIGN(4K)
- {
- *(.multiboot)
- *(.bootstrap)
- }
-
- /* First put the multiboot header, as it is required to be put very early
- early in the image or the bootloader won't recognize the file format.
- Next we'll put the .text section. */
- .text BLOCK(4K) : ALIGN(4K)
- {
- *(.text)
- }
-
- /* Read-only data. */
- .rodata BLOCK(4K) : ALIGN(4K)
- {
- *(.rodata)
- }
-
- /* Read-write data (initialized) */
- .data BLOCK(4K) : ALIGN(4K)
- {
- *(.data)
- }
-
- /* Read-write data (uninitialized) and stack */
- .bss BLOCK(4K) : ALIGN(4K)
- {
- *(COMMON)
- *(.bss)
- }
-
- .end BLOCK(4K) : ALIGN(4K)
- {
- *(.end)
- }
-
- /* The compiler may produce other sections, by default it will put them in
- a segment with the same name. Simply add stuff here as needed. */
-}