Tags: mlund/llvm-mos-sdk
Tags
Clear screen via crt0.c (llvm-mos#38) * Minimal OSI C1P implementation All boilerplate except for the custom _exit implementation that jumps to the PROM monitor prompt. * __putchar() for OSI target * Remove obsolete comment * Switch to loop exit implementation This does make more sense with the existing examples that otherweise would jump directly to the PROM monitor. * Switch to exit-loop implementation The endless loop in the abort implementation is obsolete with the switch to the common-exit-loop implementation. * Address review comments Use ' ' consistently for space character. Fix incorrect encoding for CR and LF. * C standard semantics of '\n' * Attempt to implement crt0.c This is a first broken attempt to hook up a call for clearing the screen before entering main. * Missing newline * Fix problem with crt0.c The CMake call for merge_libraries for common-crt0-o was missing. This caused an invalid executable being generated where main itself was missing. * Adapt to new library merging strategy It is no longer necessary to merge the crt0.o module explicitly with the parent library crt0.o module. * Fix incorrect argument for memset() Fixed the bug that the address of function scr_base was passed to memset() instead of calling scr_base() and passing the result to memset(). * Fix C++ namespace pollution Fix pollution of C++ namespace by class name that is not prefixed by underscores. Fixes llvm-mos#39. * Simplify clear screen in crt0 Replaced crt0 C module containing inline assembly with plain assembler module where __clrscr is called directly without involving an additional C function.
Simplify library handling. This uses library merging to join together dependent libraries. This allows the common libraries to be a real set of targets; this in turn means it's easy to make an ad-hoc target, then later bless it into a real one shipped with the SDK.