Jan (janneke) Nieuwenhuizen
c0dcbaa0a1
DRAFT lib: Only provide dlopen, dlclose prototype for BOOTSTRAP.
...
* include/dlfcn.h (dlopen, dlclose)[!BOOTSTRAP]: Remove.
2023-01-08 10:19:06 +01:00
Jan (janneke) Nieuwenhuizen
c90eea888d
DRAFT lib: Use FLT_RADIX==2. Fixes gawk-3.1.8.
...
* include/float.h (FLT_RADIX): Set to 2.
2023-01-08 10:19:06 +01:00
Jan (janneke) Nieuwenhuizen
5e0e66dcf0
DRAFT lib: Implement system.
...
* lib/stub/system.c: Move to...
* lib/stdlib/system.c: ...here. Implement.
* build-aux/configure-lib.sh (libc_gnu_SOURCES): Update file name.
* include/stdlib.h (system): Add prototype.
2023-01-08 10:19:05 +01:00
Jan (janneke) Nieuwenhuizen
5281b8e611
DRAFT lib: Add putenv.
...
* lib/posix/putenv.c: New file.
* build-aux/configure-lib.sh (libc_gnu_SOURCES): Add it.
* include/stdlib.h (putenv): Add prototype.
2023-01-08 10:19:05 +01:00
Jan (janneke) Nieuwenhuizen
d814b6dbed
DRAFT lib: unsetenv: Fix signature.
...
* lib/posix/unsetenv.c (unsetenv): Return int.
* include/stdlib.h (unsetenv): Update prototype.
2023-01-08 10:19:05 +01:00
Jan (janneke) Nieuwenhuizen
e7e70a9f48
DRAFT lib: Add missing pipe prototype.
...
* include/unistd.h (pipe: New prototype.
2023-01-08 10:19:05 +01:00
Jan (janneke) Nieuwenhuizen
a41e27284a
DRAFT lib: Implement popen, pclose.
...
* lib/stub/pclose.c: Move to...
* lib/stdio/pclose.c: ...here. Implement.
* lib/stub/popen.c: Move to...
* lib/stdio/popen.c: ...here. Implement.
* build-aux/configure-lib.sh (libc_gnu_SOURCES): Update file locations.
2023-01-08 10:19:05 +01:00
Jan (janneke) Nieuwenhuizen
c1fa5334f9
DRAFT lib: Add strcoll stub.
...
* lib/stub/strcoll.c: New file.
* build-aux/configure-lib.sh (libc_gnu_SOURCES): Add it.
* include/string.h (strcoll): Add prototype.
2023-01-08 10:19:05 +01:00
Jan (janneke) Nieuwenhuizen
050cc288c3
DRAFT lib: setbuf: Fix signature, add prototype.
...
* lib/stub/setbuf.c (setbuf): Fix signature.
* include/stdio.h (setbuf): Add prototype.
2023-01-08 10:19:05 +01:00
Jan (janneke) Nieuwenhuizen
fd156286bf
lib: Add sigfillset stub.
...
* lib/stub/sigfillset.c: New file.
* include/signal.h (sigfillset): Add prototype.
* build-aux/configure-lib.sh (libc_gnu_SOURCES): Add it.
2023-01-08 10:19:04 +01:00
Jan (janneke) Nieuwenhuizen
eba6f4d5cb
lib: Add debugging to sigset stubs.
...
* lib/stub/sigaction.c (sigaction): Add debugging.
* lib/stub/sigaddset.c (sigaddset): Likewise.
* lib/stub/sigblock.c (sigblock): Likewise.
* lib/stub/sigdelset.c (sigdelset): Likewise
* lib/stub/sigemptyset.c (sigemptyset): Likewise.
2023-01-08 10:19:04 +01:00
Jan (janneke) Nieuwenhuizen
6d2851faa3
lib: sigdelset: Add missing prototype.
...
* include/signal.h (sigdelset): Add prototype.
2023-01-08 10:19:04 +01:00
Jan (janneke) Nieuwenhuizen
517eaed93a
lib: Define SIGSTKSZ, MINSIGSTKSZ.
...
* include/signal.h (MINSIGSTKSZ, SIGSTKSZ): New defines.
2023-01-08 10:19:04 +01:00
Jan (janneke) Nieuwenhuizen
62818a5d32
DRAFT lib: Add readv, writev.
...
* include/linux/arm/syscall.h (SYS_readv, SYS_writev): New defines.
* include/linux/x86/syscall.h (SYS_readv, SYS_writev): New defines.
* include/linux/x86_64/syscall.h (SYS_readv, SYS_writev): New defines.
* include/sys/uio.h,
lib/linux/readv.c,
lib/linux/writev.c: New files.
* build-aux/configure-lib.sh (libc_gnu_SOURCES): Add them.
2023-01-08 10:19:04 +01:00
Jan (janneke) Nieuwenhuizen
b2e29dc639
DRAFT lib: stat: Use SYS_stat64 for 32bit platforms.
...
* include/linux/arm/syscall.h (SYS_stat64, SYS_lstat64,
SYS_fstat64)[__SIZEOF_LONG_LONG__ == 8]:
New defines.
(SYS_stat, SYS_lstat, SYS_fstat)[__SIZEOF_LONG_LONG__ == 8]: Redefine them.
* include/linux/x86/syscall.h (SYS_stat64, SYS_lstat64,
SYS_fstat64)[__SIZEOF_LONG_LONG__ == 8]:
New defines.
(SYS_stat, SYS_lstat, SYS_fstat)[__SIZEOF_LONG_LONG__ == 8]: Redefine them.
* include/sys/stat.h (struct stat): Move definition to...
* include/linux/arm/kernel-stat.h,
include/linux/m2/kernel-stat.h,
include/linux/x86/kernel-stat.h,
include/linux/x86_64/kernel-stat.h: These new files.
* include/gnu/x86/kernel-stat.h: New file.
* configure (main): Copy <srcdest>include/<kernel>/<arch>/*.h to
include/.
* configure.sh: Likewise.
* .gitignore: Ignore them. Add copyright header.
* build-aux/GNUmakefile.in (X86_ARCH_HEADERS, ARCH_HEADERS): New
variables.
(build): Use them.
(include/arch/%.h, arch-dir): New targets.
* 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.
2023-01-08 10:19:04 +01:00
Jan (janneke) Nieuwenhuizen
596e19f521
lib: readdir: save_errno.
2023-01-08 10:19:04 +01:00
Jan (janneke) Nieuwenhuizen
d2fdf59bf9
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.
2023-01-08 10:19:03 +01:00
Jan (janneke) Nieuwenhuizen
8424108027
DRAFT lib: strerror: Fix typo, fix static message.
...
* lib/string/strerror.c (strerror): Fix typo, always show error number.
2023-01-08 10:19:03 +01:00
Jan (janneke) Nieuwenhuizen
4b3c013d25
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.
2023-01-08 10:19:03 +01:00
Jan (janneke) Nieuwenhuizen
5b2734a217
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.
2023-01-08 10:19:03 +01:00
Jan (janneke) Nieuwenhuizen
f3bd42d142
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.
2023-01-08 10:19:03 +01:00
Jan (janneke) Nieuwenhuizen
44cbf3ae48
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.
2023-01-08 10:19:03 +01:00
Jan (janneke) Nieuwenhuizen
c5cfca2617
DRAFT lib: Add sysconf stub.
...
* lib/stub/sysconf.c: New file.
* include/unistd.h (sysconf): Add prototype.
2023-01-08 10:19:03 +01:00
Jan (janneke) Nieuwenhuizen
3d6af32247
lib: test: Add 80-qsort-stress.
...
* lib/tests/stdlib/80-qsort-stress.c: New test.
* build-aux/check-mescc.sh (tcc_tests): Add it.
2023-01-08 10:19:02 +01:00
Jan (janneke) Nieuwenhuizen
1a67ef1157
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.
2023-01-08 10:19:02 +01:00
Jan (janneke) Nieuwenhuizen
ef07f530a3
lib: test: 80-qsort: Fix warnings.
...
* lib/tests/stdlib/80-qsort.c: Include missing stdlib.h.
(compare_int): Fix signature.
2023-01-08 10:19:02 +01:00
Jan Nieuwenhuizen
459eb999f0
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.
2023-01-08 10:19:02 +01:00
Danny Milosavljevic
af09c71462
lib: vfscanf: Add missing #include.
...
* lib/stdio/vfscanf.c: Add missing #include.
2023-01-08 10:19:02 +01:00
Jan Nieuwenhuizen
ac8496aa3b
build: Improve --with-system-libc support.
...
* lib/stub/asctime.c: Add missing mes/lib.h, errno.h include.
2023-01-08 10:19:02 +01:00
Jan Nieuwenhuizen
78958d14b2
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.
2023-01-08 10:19:02 +01:00
Jan Nieuwenhuizen
61bd6b43c9
lib: Support gcc-4.6.4: Avoid type/size_t conflicts.
...
* include/stdint.h: Remove typedefs, include sys/types.h.
2023-01-08 10:19:01 +01:00
Jan Nieuwenhuizen
ad8faa0637
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.
2023-01-08 10:19:01 +01:00
Jan (janneke) Nieuwenhuizen
4d40db9b81
lib/tests: Add 90-mmap.c.
...
* lib/tests/posix/90-mmap.c: New test.
* build-aux/check-mescc.sh (gnu_tests): Add it.
2023-01-08 10:19:01 +01:00
Jan Nieuwenhuizen
7b68276526
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.
2023-01-08 10:19:01 +01:00
Jan Nieuwenhuizen
628950e669
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.
2023-01-08 10:19:01 +01:00
Jan Nieuwenhuizen
e0a97b3985
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.
2023-01-08 10:19:01 +01:00
Jan Nieuwenhuizen
61886d29eb
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.
2023-01-08 10:19:01 +01:00
Jan Nieuwenhuizen
7d7441f5a8
lib: vfprintf, vsnprintf: Support gcc-4.6.4: #-type.
...
* lib/stdio/vfprintf.c (vfprintf): Support #-type prefix. Show whole
format upon error.
* lib/stdio/vsnprintf.c (vsnprintf): Likewise.
* lib/stdio/vfscanf.c (vfscanf): Show whole template upon error.
* lib/stdio/vsscanf.c (vsscanf): Likewise.
2023-01-08 10:19:00 +01:00
Jan Nieuwenhuizen
8445e7840d
lib: atexit: Support gcc-4.6.4: return 0.
...
* lib/stdlib/atexit.c (atexit): return 0.
2023-01-08 10:19:00 +01:00
Jan Nieuwenhuizen
26cb792ed9
lib: Support gcc-4.6.4: Add SSIZE_MAX macro.
...
* include/stdint.h (SSIZE_MAX): New macro.
2023-01-08 10:19:00 +01:00
Jan Nieuwenhuizen
ac681c499d
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.
2023-01-08 10:19:00 +01:00
Jan Nieuwenhuizen
50cc80ef14
lib: Support gcc-4.6.4: Add stdint [U]SHRT macros.
...
* include/stdint.h (SHRT_MAX, SHRT_MIN, USHRT_MAX, USHRT_MIN): New
macro.
2023-01-08 10:19:00 +01:00
Jan Nieuwenhuizen
361c4f4882
lib: Support gcc-4.6.4: Fix uintptr_t, add [u]intmax_t.
...
* include/stdint.h: Fix uintptr_t, add [u]intmax_t.
2023-01-08 10:18:55 +01:00
Jan (janneke) Nieuwenhuizen
1c81749672
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.
2023-01-08 10:18:46 +01:00
Jan (janneke) Nieuwenhuizen
ab7203c1d6
doc: Use HTTPS.
...
* COPYING: Replace by new version (which uses HTTPS).
* HACKING,
README,
doc/fdl-1.3.texi,
doc/mes.texi: Use HTTPS.
2023-01-08 10:18:45 +01:00
Jan (janneke) Nieuwenhuizen
9ef3077213
doc: Update `HACKING'.
...
* HACKING (SETUP): Update arm triplet.
2023-01-08 10:18:44 +01:00
Jan (janneke) Nieuwenhuizen
a156fb08b2
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
97be538621
scaffold: Remove obsolete malloc.
...
* scaffold/lib/stdlib/malloc.c: Remove.
2022-05-07 08:45:06 +02:00
Jan (janneke) Nieuwenhuizen
327074e7ff
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
209ee8da2e
linux/read.c remove extra mes.h include.
2022-05-05 23:26:28 +02:00