Files
bsb2/user/sections.ld
2026-02-10 16:37:28 +01:00

53 lines
1.2 KiB
Plaintext

/* 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 */
}
}