summaryrefslogtreecommitdiff
path: root/libc
Commit message (Collapse)AuthorAgeFilesLines
* libc/syscalls: Add sbrk implementationTom Hughes2023-04-041-0/+31
| | | | | | | | | | | | | | | | | | | | The sbrk implementation in newlib's nosys library does not do any bounds checking to make sure the allocated memory stays within the heap: https://sourceware.org/git/?p=newlib-cygwin.git;a=blob;f=libgloss/libnosys/sbrk.c This version checks for both overflow and underflow. BRANCH=none BUG=b:234181908 TEST=./test/run_device_tests.py --board bloonchipper => PASS TEST=./test/run_device_tests.py --board dartmonkey -t sbrk => PASS Change-Id: I0be8caee76776c4a0ddabcf979d08f2f0c430aa0 Signed-off-by: Tom Hughes <tomhughes@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4390608 Reviewed-by: Abe Levkoy <alevkoy@chromium.org>
* libc/syscalls: Add gettimeofdayTom Hughes2022-12-151-0/+26
| | | | | | | | | | | | BRANCH=none BUG=b:234181908, b:254530679 TEST=make buildall Signed-off-by: Tom Hughes <tomhughes@chromium.org> Change-Id: I326f1b4103fa7ce577758d5baa42cd572af8affa Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4062463 Reviewed-by: Andrea Grandi <agrandi@google.com> Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com>
* libc/syscalls: Add mkdir stubTom Hughes2022-12-051-0/+23
| | | | | | | | | | | | | | | googletest fails to link without mkdir. This commit adds a stub that always returns an error. BRANCH=none BUG=b:254530679 TEST=make buildall Signed-off-by: Tom Hughes <tomhughes@chromium.org> Change-Id: I1a587cfbb950193cf99e7d98d28f1d20555ec9ef Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4076809 Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com> Reviewed-by: Andrea Grandi <agrandi@google.com>
* libc/syscalls: Implement _writeTom Hughes2022-11-041-0/+16
| | | | | | | | | | | | | | | | All output goes to the UART. _write is used by printf(), so this allows printf() to work correctly. BRANCH=none BUG=b:234181908, b:254530679 TEST=./test/run_device_tests.py --board dartmonkey -t libc_printf Signed-off-by: Tom Hughes <tomhughes@chromium.org> Change-Id: I60a5f283975c21dabac395f00b4738a6db083d29 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3997615 Reviewed-by: Bobby Casey <bobbycasey@google.com> Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com> Reviewed-by: Andrea Grandi <agrandi@google.com>
* libc: Implement _exit(), which is needed by libcTom Hughes2022-10-142-0/+34
_exit() is called by libc functions such as abort() or exit(). This implementation replaces the one from newlib's libnosys. BRANCH=none BUG=b:234181908 TEST=make buildall Signed-off-by: Tom Hughes <tomhughes@chromium.org> Change-Id: I1d8f65fa206b3544a2772f38be854ee905532ad3 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3933256 Reviewed-by: Andrea Grandi <agrandi@google.com>