From 91423284685578362ef18e87c52313ce43a9eabd Mon Sep 17 00:00:00 2001 From: Steven Hugg Date: Sat, 30 Dec 2023 16:25:16 -0500 Subject: [PATCH] arm: merged libc and libtcc1 --- presets/arm32/serialout.c | 7 +++++++ presets/arm32/sieve.c | 35 +++++++++++++++++++++++++++++++++ presets/arm32/skeleton.armtcc | 9 ++------- src/platform/arm32.ts | 1 + src/worker/fs/arm32-fs.zip | Bin 83744 -> 84752 bytes src/worker/lib/arm32/libc.a | Bin 533508 -> 572846 bytes src/worker/lib/arm32/libtcc1.a | Bin 30552 -> 0 bytes src/worker/platforms.ts | 5 ++--- src/worker/tools/arm.ts | 3 --- 9 files changed, 47 insertions(+), 13 deletions(-) create mode 100644 presets/arm32/serialout.c create mode 100644 presets/arm32/sieve.c delete mode 100644 src/worker/lib/arm32/libtcc1.a diff --git a/presets/arm32/serialout.c b/presets/arm32/serialout.c new file mode 100644 index 00000000..b3090a31 --- /dev/null +++ b/presets/arm32/serialout.c @@ -0,0 +1,7 @@ + +#define SERIAL_OUT ((int*)0x4000048) + +void putchar_(char c) { + *SERIAL_OUT = c; +} + diff --git a/presets/arm32/sieve.c b/presets/arm32/sieve.c new file mode 100644 index 00000000..0d7f4e3b --- /dev/null +++ b/presets/arm32/sieve.c @@ -0,0 +1,35 @@ + +#include +#include + +#define true 1 +#define false 0 +#define size 8190 +#define sizepl 8191 + +//#link "serialout.c" + +main() { + char flags[sizepl]; + int i, prime, k, count, iter; + printf("Running benchmark...\n"); + for (iter = 1; iter <= 10; iter ++) { + count=0; + for (i = 0; i <= size; i++) + flags[i] = true; + for (i = 0; i <= size; i++) { + if (flags[i]) { + prime = i + i + 3; + k = i + prime; + while (k <= size) { + flags[k] = false; + k += prime; + } + count = count + 1; + } + } + } + printf("Primes: %d\n", count); + return 0; +} + diff --git a/presets/arm32/skeleton.armtcc b/presets/arm32/skeleton.armtcc index d00f2cd9..7d902706 100644 --- a/presets/arm32/skeleton.armtcc +++ b/presets/arm32/skeleton.armtcc @@ -2,15 +2,10 @@ #include #include -#define SERIAL_OUT ((int*)0x4000048) - -void putchar_(char c) { - *SERIAL_OUT = c; -} +//#link "serialout.c" int main() { - int x = 2024*2; - x /= 2; // TODO: we need this to bring in __aeabi_uldivmod() etc. + int x = 2024; printf("Hello World! %d\n", x); return 0; } diff --git a/src/platform/arm32.ts b/src/platform/arm32.ts index 4a593e71..01110bd8 100644 --- a/src/platform/arm32.ts +++ b/src/platform/arm32.ts @@ -65,6 +65,7 @@ class ARM32Platform extends BaseARMMachinePlatform implements Plat {name:'ROM',start:0x0000000,size:0x100000,type:'ram'}, {name:'I/O',start:0x4000000,size:0x100,type:'io'}, ] } }; + getPlatformName() { return "ARM7"; } getDebugTree() { return this.machine.cpu.getDebugTree(); } disassemble(pc:number, read:(addr:number)=>number) : DisasmLine { var is_thumb = this.machine.cpu.isThumb(); diff --git a/src/worker/fs/arm32-fs.zip b/src/worker/fs/arm32-fs.zip index 49cb5161c35784fb4d2e5e5d38b1d90865b7ef95..f8ee993db0ba11d83aa697358bdc425cd7c24327 100644 GIT binary patch delta 236 zcmZ3`$2wseD{p`|GYc032&^ofKap3C{p^v6sppSOoNQ1iwb7@}nHeZN`K+@tSp3|P ziJQMWvp=0Yp@(DgDQ5vWJ_Z?v%)I2B(v(#F~O!is^gw7!48P0{V=9#HTONWaOH@Q;$(VosU5R m>_$c)xuo%r1|x>8tRPz_8VZZBvVl|v0b!CH1H%j*kQM;cZ%GUQ delta 146 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 QTvV28d6u55Tr_InCk=p^>i_@% diff --git a/src/worker/lib/arm32/libtcc1.a b/src/worker/lib/arm32/libtcc1.a deleted file mode 100644 index 8817120e345c21482f707dc44c01e56dfbea1333..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 30552 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 D;?^xP diff --git a/src/worker/platforms.ts b/src/worker/platforms.ts index 63559b34..c0d1fae0 100644 --- a/src/worker/platforms.ts +++ b/src/worker/platforms.ts @@ -359,9 +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', 'libtcc1.a', 'libc.a'], - extra_link_args: ['-ltcc1', '-lc'], - crt0: 'crt0.c', + extra_link_files: ['crt0.c', 'libc.a'], + extra_link_args: ['crt0.c', '-lc'], }, }; diff --git a/src/worker/tools/arm.ts b/src/worker/tools/arm.ts index be231230..5f3a4a54 100644 --- a/src/worker/tools/arm.ts +++ b/src/worker/tools/arm.ts @@ -352,9 +352,6 @@ export async function linkARMTCC(step: BuildStep): Promise { if (params.define) { params.define.forEach((x) => args.push('-D' + x)); } - if (params.crt0) { - args.push(params.crt0); - } args = args.concat(step.files); if (params.extra_link_args) { args = args.concat(params.extra_link_args);