Commit graph

94 commits

Author SHA1 Message Date
mykola2312
4bafdc7f6e remove unused __cu_memmove 2022-06-07 11:04:54 +03:00
mykola2312
a0aa466054 fix cu_memcmp on x86_64 2022-06-07 11:00:02 +03:00
mykola2312
17bbc4af49 implement SuperH4 support, building with custom stdlib (libc) 2022-06-07 10:23:57 +03:00
mykola2312
011ead1a1c update README.md 2022-05-24 23:44:31 +03:00
mykola2312
8e67534001 update test 2022-05-24 23:18:36 +03:00
mykola2312
62a3cd2447 fix heap_realloc that it will do aligned resize in mblock_t units 2022-05-24 23:15:58 +03:00
mykola2312
0570f9fdd9 add prev and next block checking in heap_free 2022-05-24 21:54:00 +03:00
mykola2312
dae46bb74d remaster & refactor dynamic memory allocator - heap 2022-05-24 21:51:01 +03:00
mykola2312
7ec6ee870c update README.md 2022-05-21 16:33:49 +03:00
mykola2312
df1f6df916 TODO: rewrite dynamic memory allocator (heap), found critical issues 2022-05-21 16:32:11 +03:00
mykola2312
003e51b692 implement va_list for ARMv7 - cu_va_start and cu_va_arg works now based on frame-pointer (r11) for variable arguments, indexed differently than x86 stack ABI does 2022-05-21 10:38:35 +03:00
mykola2312
5448323450 make heap working on 32 bit ARMv7 2022-05-21 09:15:47 +03:00
mykola2312
089366af77 implement _cu_memset, cu_memzero & cu_memtest in ARMv7, dynamic struct working now 2022-05-21 08:49:49 +03:00
mykola2312
13b40a44d3 implement _cu_memcmp in ARMv7 2022-05-21 07:20:14 +03:00
mykola2312
3cca1f83ce implement _cu_memmove in ARMv7, fix CMake that it will generate all code in ARM or Thumb modes 2022-05-21 07:00:00 +03:00
mykola2312
cae1f56d5e implement _cu_memcpy in ARMv7, fix assembly alignment and enable hardware endianness byte-swapping 2022-05-21 05:41:13 +03:00
mykola2312
cbe497ca4d implement hw_bswap16 and hw_bswap23 in ARMv7 2022-05-21 03:51:37 +03:00
mykola2312
b4a64b7ee1 make it for A profile, but test assembly for M 2022-05-21 03:48:50 +03:00
mykola2312
e97770f8f6 implement CMake ARM architecture compile options auto-config 2022-05-21 03:09:14 +03:00
mykola2312
1da681acea implement ARMv7 different architecture profiles, for M profile Cortex-M4 - ARMv7E-M. TODO: Fix profile conflicts with cutil and test targets 2022-05-21 02:58:08 +03:00
mykola2312
e13b19ae51 update README.md 2022-05-19 03:29:45 +03:00
mykola2312
bc74c09dac implement cu_va_start and cu_va_arg in AArch64 2022-05-19 03:26:54 +03:00
mykola2312
c6be4302a7 implement cu_memtest in AArch64 2022-05-19 02:19:22 +03:00
mykola2312
dea3141a34 implement cu_memzero in AArch64 2022-05-19 02:03:49 +03:00
mykola2312
ea5ab7aa5d implement _cu_memset in AArch64 2022-05-19 01:59:11 +03:00
mykola2312
66ecb9d7e4 implement _cu_memcmp in AArch64 2022-05-19 01:31:33 +03:00
mykola2312
219bfa538d implement _cu_memmove in AArch64 2022-05-19 01:04:20 +03:00
mykola2312
a80088be55 implement _cu_memcpy in AArch64 2022-05-19 00:53:44 +03:00
mykola2312
9a9c972e24 implement hw_bswap32 and hw_bswap64 for AArch64 via rev instruction 2022-05-18 22:58:29 +03:00
mykola2312
3f84f3e163 implement AArch64 in CMake, prepare for AArch64 2022-05-18 22:52:38 +03:00
mykola2312
53ff61b659 update README.md 2022-05-18 06:44:08 +03:00
mykola2312
40864beb12 make cutil use internal dynamic memory allocator if there is no stdlib that provides it 2022-05-18 06:40:35 +03:00
mykola2312
ebef59e3da implement heap_realloc 2022-05-18 06:32:22 +03:00
mykola2312
3f01b5abfd dynamic memory allocator - implement heap_alloc & heap_free, heap_join and heap_split 2022-05-18 05:59:23 +03:00
mykola2312
be897d4d5a update README.md 2022-05-17 05:26:26 +03:00
mykola2312
b03cf8ec73 fix code spacings 2022-05-17 05:24:11 +03:00
mykola2312
b80fe62700 write documentating commentary for cu_sprintf & cu_sscanf in string.h header. test - works fine 2022-05-17 05:10:51 +03:00
mykola2312
3591102cd5 fix cu_sprintf cu_va_arg starting index so it does parse right arguments 2022-05-17 04:53:55 +03:00
mykola2312
fa5aa1446c test cu_sprintf & cu_sscanf 2022-05-17 04:45:39 +03:00
mykola2312
c7cce44067 implement cu_sprintf & cu_sscanf, also cu_(i/u/x)prints, cu_ato(i/u) 2022-05-17 04:35:02 +03:00
mykola2312
261322aaba add redundant includes for stdint.h and stddef.h when compiling with stdlib - necessary for IDE error-checking 2022-05-17 02:47:11 +03:00
mykola2312
fdae28a2d8 update README.md 2022-05-17 02:44:54 +03:00
mykola2312
8573d49455 test new _cu_memcmp and string functions 2022-05-17 02:41:27 +03:00
mykola2312
752d263d9c implement std functions for string processing & text converting multi-byte (UTF-8) character set to double-byte character set and vise-versa 2022-05-17 02:36:16 +03:00
mykola2312
371c4bb518 implement _cu_memcmp and cu_memcmp function-holder 2022-05-17 02:32:37 +03:00
mykola2312
a07e2d6f01 update ifndef-define statements in every header with CUTIL_ prefix that already included files with matching defines will not collide 2022-05-17 02:14:28 +03:00
mykola2312
f744ec0f35 make cutil work without stdlib via CMake option NOSTDLIB=ON, using internal implementations 2022-05-17 01:57:18 +03:00
mykola2312
c11dd9aede update README.md 2022-05-15 23:14:41 +03:00
mykola2312
6864acb832 implement va_list - variable arguments 2022-05-15 23:13:42 +03:00
mykola2312
9eafc640fd fix _cu_memmove in assembly, now it's byte-by-byte moving 2022-05-15 22:23:48 +03:00