This commit is contained in:
2026-02-10 16:37:28 +01:00
parent 67291f7f19
commit dd352266dc
13 changed files with 175 additions and 0 deletions

52
user/sections.ld Normal file
View File

@@ -0,0 +1,52 @@
/* Einstiegspunkt ist deine 'start' Funktion im C++ Code */
ENTRY(start)
SECTIONS
{
/* * 1. Startadresse: 64 MiB (0x4000000)
* Hier beginnt der virtuelle Adressraum für dein Programm.
*/
. = 0x4000000;
/* --- Code Segment --- */
.text : ALIGN(4096) {
*(.text)
*(.text.*)
}
/* --- Read-Only Data (Strings, Consts) --- */
.rodata : ALIGN(4096) {
*(.rodata)
*(.rodata.*)
}
/* --- Initialized Data & C++ Arrays --- */
.data : ALIGN(4096) {
*(.data)
*(.data.*)
/* preinit_array */
PROVIDE(__preinit_array_start = .);
KEEP(*(.preinit_array))
PROVIDE(__preinit_array_end = .);
/* init_array (Globale Konstruktoren) */
PROVIDE(__init_array_start = .);
KEEP(*(SORT(.init_array.*)))
KEEP(*(.init_array))
PROVIDE(__init_array_end = .);
/* fini_array (Globale Destruktoren) */
PROVIDE(__fini_array_start = .);
KEEP(*(SORT(.fini_array.*)))
KEEP(*(.fini_array))
PROVIDE(__fini_array_end = .);
}
/* Müll entfernen */
/DISCARD/ : {
*(.comment)
*(.eh_frame) /* Außer du willst C++ Exceptions supporten, dann behalten */
}
}