53 lines
1.2 KiB
Plaintext
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 */
|
|
}
|
|
}
|