Commit Graph

2318 Commits

Author SHA1 Message Date
Jan (janneke) Nieuwenhuizen 299f63e823
use preprocessed musl 2022-10-30 22:25:00 +01:00
Jan (janneke) Nieuwenhuizen 00096e6c9a
WIP getdents/opendir LARGEFILE 2022-10-30 22:24:59 +01:00
Jan (janneke) Nieuwenhuizen 9c72c28a06
squash! stat/64 2022-10-30 20:01:11 +01:00
Jan (janneke) Nieuwenhuizen f8227e5bd7
lib: fcntl: Use long, for x86_64 data.
* lib/linux/fcntl.c (fcntl): Use long for data.
2022-10-30 18:57:57 +01:00
Jan (janneke) Nieuwenhuizen ed2d8d19f6
squash! stat, off_t => _LARGE_FILES Split me? 2022-10-30 18:57:33 +01:00
Jan (janneke) Nieuwenhuizen 34d241e4dc
lib: Fix off_t.
* include/sys/types.h [!__M2__]: Change to long long.
2022-10-30 16:31:55 +01:00
Jan (janneke) Nieuwenhuizen 9fa0d4098c
squash! stat 2022-10-30 13:08:18 +01:00
Jan (janneke) Nieuwenhuizen 6291f055ad
squash! stat 2022-10-30 11:31:16 +01:00
Jan (janneke) Nieuwenhuizen 54dd7c86e6
squash! syscall <arch> 2022-10-29 20:46:12 +02:00
Jan (janneke) Nieuwenhuizen cc37b3b0a6
lib: readdir: save_errno. 2022-10-29 20:46:12 +02:00
Jan (janneke) Nieuwenhuizen 31417d0a00
DRAFT lib: Add strsignal stub.
* lib/stub/strsignal.c: New file.
* build-aux/configure-lib.sh (libc_gnu_SOURCES): Add it.
* include/string.h (strsignal): Add prototype.
2022-10-29 20:46:12 +02:00
Jan (janneke) Nieuwenhuizen 3af3ad690d
DRAFT lib: strerror: Fix typo, fix static message.
* lib/string/strerror.c (strerror): Fix typo, always show error number.
2022-10-29 20:46:12 +02:00
Jan (janneke) Nieuwenhuizen 0d3ff702b7
squash! stat
* configure (main): Copy <srcdest>include/<kernel>/<arch>/*.h to
include/.
* configure.sh: Likewise.
* .gitignore: Ignore them.  Add copyright header.
* build-aux/bootstrap.sh.in (AM_CPPFLAGS): Replace
<srcdest>include/<kernel>/<cpu> with built ../include.
* build-aux/build.sh.in (AM_CPPFLAGS): Likewise.
* build-aux/install.sh.in: Also install built include.
2022-10-29 20:46:11 +02:00
Jan (janneke) Nieuwenhuizen c31ccf0898
squash! stat 2022-10-29 20:46:11 +02:00
Jan (janneke) Nieuwenhuizen 6b54b5cd4c
squash! stat 2022-10-29 20:46:11 +02:00
Jan (janneke) Nieuwenhuizen 0e7fba0eec
DRAFT lib: stat: Use SYS_stat64 for 32bit platforms.
* include/linux/arm/syscall.h (SYS_stat64): New define.
* include/linux/x86/syscall.h (SYS_stat64): Likewise.
* lib/linux/stat.c (SYS_stat)[(__i386__ || __arm__) && SYS_stat64):
Redefine to SYS_stat64.
2022-10-29 20:46:11 +02:00
Jan (janneke) Nieuwenhuizen 26832dbb71
squash! linux/open.c 2022-10-29 20:46:11 +02:00
Jan (janneke) Nieuwenhuizen 1772cad25d
DRAFT lib: __assert_fail: Update to standard.
* lib/mes/__assert_fail.c (__assert_fail): Add file, line, function
parameters.
* lib/mes/assert_msg.c (assert_msg): Update caller.
* include/assert.h (assert): Update caller.
(__assert_fail): Update prototype.
* include/mes/lib.h (__assert_fail): Likewise.
2022-10-29 20:46:11 +02:00
Jan (janneke) Nieuwenhuizen a90d7bdc14
DRAFT lib: setitimer: Rename from settimer.
* lib/linux/settimer.c: Rename to...
* lib/linux/setitimer.c: ...this.
* build-aux/configure-lib.sh (libc_gnu_SOURCES): Update accordingly.
2022-10-29 20:46:11 +02:00
Jan (janneke) Nieuwenhuizen e82dba55fe
DRAFT lib: Add localeconv.
* lib/locale/localeconv.c: New file.
* build-aux/configure-lib.sh (libc_gnu_SOURCES): Add it.
* include/locale.h (struct lconv): New type.
(localeconv): Add prototype.
2022-10-29 20:46:10 +02:00
Jan (janneke) Nieuwenhuizen 2796a4794a
DRAFT lib: Add getpagesize stub.
* include/limits.h (PAGE_SIZE): New define.
* lib/stub/getpagesize.c: New file.
* build-aux/configure-lib.sh (libc_gnu_SOURCES): Add it.
* include/unistd.h (getpagesize): Add prototype.
2022-10-29 20:46:10 +02:00
Jan (janneke) Nieuwenhuizen 31679d6e86
DRAFT lib: Add sysconf stub.
* lib/stub/sysconf.c: New file.
* include/unistd.h (sysconf): Add prototype.
2022-10-26 15:33:12 +02:00
Jan (janneke) Nieuwenhuizen dfab232bbb
lib: test: Add 80-qsort-stress.
* lib/tests/stdlib/80-qsort-stress.c: New test.
* build-aux/check-mescc.sh (tcc_tests): Add it.
2022-10-25 16:02:04 +02:00
Jan (janneke) Nieuwenhuizen 16282f8ecd
lib: stdio/qsort: Refactor, fixes GCC-4.6.4.
* lib/stdlib/qsort.c (qswap): Refactor.
(qpart): Add "lo" parametor, use "hi" instead of
count.  Refactor.
(qsort): Move to...
(_qsort): ...this, and refactor.
(qsort): New function.
2022-10-25 16:02:04 +02:00
Jan (janneke) Nieuwenhuizen 7b3d0c7aa6
lib: test: 80-qsort: Fix warnings.
* lib/tests/stdlib/80-qsort.c: Include missing stdlib.h.
(compare_int): Fix signature.
2022-10-25 15:01:54 +02:00
Jan (janneke) Nieuwenhuizen f22d640465
doc: Update `HACKING'.
* HACKING (SETUP): Update arm triplet.
2022-10-25 15:01:54 +02:00
Danny Milosavljevic 266c207954
lib: vfscanf: Add missing #include.
* lib/stdio/vfscanf.c: Add missing #include.
2022-10-25 15:01:54 +02:00
Jan Nieuwenhuizen 895bebf395
build: Improve --with-system-libc support.
* lib/stub/asctime.c: Add missing mes/lib.h, errno.h include.
2022-10-25 15:01:54 +02:00
Jan Nieuwenhuizen c45cbff8ba
lib: vsscanf: Support gcc-4.6.4: Support *, [, s.
* lib/stdio/vsscanf.c (vsscanf): Support  *, [, s.
* lib/stdio/vfscanf.c (vfscanf): Likewise.
* lib/tests/stdio/90-sscanf.c: Test it.
* build-aux/check-mescc.sh (tests): Run it.
* lib/x86-mes/x86.M1 (mov____%al,0x32(%ebp): New macro.
2022-10-25 15:01:54 +02:00
Jan Nieuwenhuizen 571ea5ce9e
lib: Support gcc-4.6.4: Avoid type/size_t conflicts.
* include/stdint.h: Remove typedefs, include sys/types.h.
2022-10-25 15:01:54 +02:00
Jan Nieuwenhuizen 130d6c465f
lib: Support gcc-4.6.4: Add strtok.
* include/string.h (strtok): Declare.
* lib/string/strtok.c (strtok): New file.
* lib/libc+gnu.c: Include it.
2022-10-25 15:01:54 +02:00
Jan (janneke) Nieuwenhuizen c2784d43de
lib/tests: Add 90-mmap.c.
* lib/tests/posix/90-mmap.c: New test.
* build-aux/check-mescc.sh (gnu_tests): Add it.
2022-10-25 15:01:53 +02:00
Jan Nieuwenhuizen f17307c418
lib: Support gcc-4.6.4: Add mmap, munmap.
* include/linux/x86/syscall.h (SYS_mmap, SYS_munmap): New defines.
* include/linux/x86_64/syscall.h (SYS_mmap, SYS_munmap): New defines.
* include/linux/arm/syscall (SYS_mmap, SYS_munmap): New defines..
* include/sys/mman.h (MAP_SHARED, MAP_PRIVATE, MAP_ANONYMOUS,
MAP_POPULATE, MAP_ANON, MAP_FAILED): New macro.
(mmap, munmap): Declare.
* lib/linux/x86-mes-gcc/mes.c (_sys_call6): New function.
* lib/linux/x86-mes/mes.c (__sys_call6): New function.
(_sys_call6): New function.
* lib/linux/x86_64-mes-gcc/mes.c (_sys_call6): New function.
* lib/linux/x86_64-mes/mes.c (__sys_call): Cater for 6 syscall parameters.
(_sys_call6): New function.
* lib/x86-mes/x86.M1 (pop____%ebp): New macro.
* lib/x86_64-mes/x86_64.M1 (mov____0x8(%rbp),%r9): New macro.
* lib/linux/arm-mes-gcc/syscall.c (_sys_call6, __sys_call6): Enable.
* lib/linux/mmap.c: New file.
* lib/linux/munmap.c: New file.
* build-aux/configure-lib.sh (libc_gnu_SOURCES): Add them.
2022-10-25 15:01:53 +02:00
Jan Nieuwenhuizen 48e495189e
lib: Support gcc-4.6.4: Add labs.
* lib/math/labs.c: New file.
* include/math.h (labs): Declare.
* build-aux/configure-lib.sh (libc_gnu_SOURCES): Add it.
2022-10-25 15:01:53 +02:00
Jan Nieuwenhuizen 3f5a2523ac
lib: Support gcc-4.6.4: Implement rewind.
* lib/stdio/rewind.c: Move from ../stub.  Implement.
* include/stdio.h (rewind): Declare.
* build-aux/configure-lib.sh (libc_gnu_SOURCES): Update include.
* lib/stub/rewind.c: Remove.
2022-10-25 15:01:53 +02:00
Jan Nieuwenhuizen 2792233e56
lib: Support gcc-4.6.4: Add asctime stub.
* lib/stub/asctime.c: New file.
* lib/libc+gnu.c: Include it.
* include/time.h (asctime): Declare.
2022-10-25 15:01:53 +02:00
Jan Nieuwenhuizen 85153b6fa8
lib: vfprintf, vsnprintf: Support gcc-4.6.4: #-type.
* lib/stdio/vfscanf.c (vfscanf): Show whole template upon error.
* lib/stdio/vsscanf.c (vsscanf): Likewise.
* lib/stdio/vsnprintf.c (vsnprintf): Likewise.  Support #-type prefix.
* lib/stdio/vfprintf.c (vfprintf): Likewise.  Use fileno.  Return count.
* build-aux/configure-lib.sh (libc_gnu_SOURCES): Move fileno...
(libc_tcc_SOURCES): ...here.
2022-10-25 15:01:00 +02:00
Jan Nieuwenhuizen 7799f3688e
lib: atexit: Support gcc-4.6.4: return 0.
* lib/stdlib/atexit.c (atexit): return 0.
2019-02-08 13:29:30 +01:00
Jan Nieuwenhuizen fc50c1be58
lib: Support gcc-4.6.4: Add SSIZE_MAX macro.
* include/stdint.h (SSIZE_MAX): New macro.
2019-02-07 21:18:06 +01:00
Jan Nieuwenhuizen c7e08071ee
lib: Support gcc-4.6.4: Add float macros.
* include/float.h (DBL_EPSILON, DBL_MANT_DIG, DBL_MAX, DBL_MIN,
FLT_RADIX, LDBL_EPSILON, LDBL_MANT_DIG, LDBL_MAX, LDBL_MIN): New
macro.
2019-02-01 09:29:49 +01:00
Jan Nieuwenhuizen d55a7d946b
lib: Support gcc-4.6.4: Add stdint [U]SHRT macros.
* include/stdint.h (SHRT_MAX, SHRT_MIN, USHRT_MAX, USHRT_MIN): New
macro.
2019-02-01 09:29:39 +01:00
Jan Nieuwenhuizen 223606b2ca
lib: Support gcc-4.6.4: Fix uintptr_t, add [u]intmax_t.
* include/stdint.h: Fix uintptr_t, add [u]intmax_t.
2019-01-16 13:21:36 +01:00
Jan (janneke) Nieuwenhuizen c2e41ff647
mescc: Fix Guile warnings.
* module/mescc/mescc.scm (GUILE-with-output-to-file): Remove.n
(with-output-to-file): Rename to...
(with-output-to-file*): ...this.
(mescc:preprocess, mescc:compile, infos->hex2): Update callers.
2022-10-19 10:01:48 +02:00
Jan (janneke) Nieuwenhuizen 75fde18d24
core: Move M2_PTR_SIZE, M2_CELL_SIZE to include file.
* lib/posix/getenv.c (M2_PTR_SIZE),
lib/posix/setenv.c (M2_PTR_SIZE): Move definition...
* include/mes/lib-mini.h (M2_PTR_SIZE): ...here.
* src/gc.c (M2_CELL_SIZE),
src/symbol.c (M2_CELL_SIZE),
src/test/gc.c (M2_CELL_SIZE),
src/vector.c (M2_CELL_SIZE): Move definition...
* include/mes/mes.h (M2_CELL_SIZE): ...here.
2022-05-07 10:50:06 +02:00
Jan (janneke) Nieuwenhuizen 3ee3a94525
scaffold: Remove obsolete malloc.
* scaffold/lib/stdlib/malloc.c: Remove.
2022-05-07 08:45:06 +02:00
Jan (janneke) Nieuwenhuizen cc33dd95c3
time.c: include sys/time for gettimeofday.
* lib/linux/time.c: Include <sys/time.h>.
2022-05-05 23:26:46 +02:00
Jan (janneke) Nieuwenhuizen 770ae64ccc
linux/read.c remove extra mes.h include. 2022-05-05 23:26:28 +02:00
Jan (janneke) Nieuwenhuizen 9af39b008e
lib: linux: Add wait4.
* lib/linux/waitpid.c (waitpid): Factor-out wait4 call to...
* lib/linux/wait4.c: ...new file here.
* include/sys/wait.h (wait4): Add prototype.  Include sys/resource.h.
* include/sys/resource.h (struct rusage): Remove gratuitous "int" for
M2-Planet.
* build-aux/configure-lib.sh (libc_SOURCES): Add it.
* kaem.run,
simple.make (M2_SOURCES),
simple.sh: Likewise.  Also add resource.h.
2022-05-04 15:56:07 +02:00
Jan (janneke) Nieuwenhuizen 9c7e1550a1
lib: linux/time: Remove SYS_time specialization.
* lib/linux/time.c (time)[SYS_time]: Remove specialization.
[!SYS_time && !SYS_gettimeofday]: Remove fallback.
2022-05-04 14:14:51 +02:00
Jan (janneke) Nieuwenhuizen a2f0f44a96
kaem: Add kaem.arm and kaem.x86.
* kaem.arm,
kaem.x86: New files.
2022-05-03 23:35:41 +02:00