( bzt | 2024. 01. 17., sze – 00:56 )

Na ez tök kafa, ha jól értem, így maradtál a gyári linker scriptnél, ami jó, mert kevesebb szívás. Ja, egy megjegyzés: mivel fix toolchain-t használsz, ezért valószínűleg nálad nem gond, de én belefutottam már abba, hogy nem minden linker szereti a "naked" attribútumot (*khm* LLVM/lld). Hosszas trial-and-error után ez oldotta meg nálam, hogy naked nélkül is garantáltan ne legyen function prologue se function epilogue (gcc-vel is megy): void __attribute__((noreturn)) _startup(void) { /* inline assembly-vel kezelve a vermet és a _start hívást meg a visszatérést */ asm volatile(...); __builtin_unreachable(); } Iszonyat csúnya, de mivel híváskor nincs még verem, így az inline assembly rész az, ahol a vermet beállítom, emiatt pedig ugye nem lehet function prologue, mert az már használni akarná.