diff --git a/presets/arm32/skeleton.armtcc b/presets/arm32/skeleton.armtcc new file mode 100644 index 00000000..d00f2cd9 --- /dev/null +++ b/presets/arm32/skeleton.armtcc @@ -0,0 +1,16 @@ + +#include +#include + +#define SERIAL_OUT ((int*)0x4000048) + +void putchar_(char c) { + *SERIAL_OUT = c; +} + +int main() { + int x = 2024*2; + x /= 2; // TODO: we need this to bring in __aeabi_uldivmod() etc. + printf("Hello World! %d\n", x); + return 0; +} diff --git a/src/worker/lib/arm32/arm-libtcc1.a b/src/worker/lib/arm32/libtcc1.a similarity index 100% rename from src/worker/lib/arm32/arm-libtcc1.a rename to src/worker/lib/arm32/libtcc1.a diff --git a/src/worker/platforms.ts b/src/worker/platforms.ts index 12a5a384..63559b34 100644 --- a/src/worker/platforms.ts +++ b/src/worker/platforms.ts @@ -359,8 +359,8 @@ export var PLATFORM_PARAMS = { arch: 'arm32', define: ['__ARM__', 'DISABLE_UNIMPLEMENTED_LIBC_APIS', 'PRINTF_ALIAS_STANDARD_FUNCTION_NAMES_SOFT'], extra_compile_args: ['-I./arch/arm/include', '-I./openlibm/include', '-I./openlibm/src', '-I./printf/src'], - extra_link_files: ['crt0.c', 'arm-libtcc1.a', 'libc.a'], - extra_link_args: ['arm-libtcc1.a', 'libc.a'], + extra_link_files: ['crt0.c', 'libtcc1.a', 'libc.a'], + extra_link_args: ['-ltcc1', '-lc'], crt0: 'crt0.c', }, };