User Details
- User Since
- Jan 23 2017, 5:12 AM (331 w, 5 d)
Thu, Jun 1
- Added comments about sys_*64 syscalls
- Added assertion about offset size in sys_*64 syscalls
- Fixed wait4 implementation
- Rewrote wait and waitpid to use wait4
hey @lntue, can you replace __int128_t with
Thu, May 25
-nostdlib++ is a clang-only flag, gcc fails with:
This is required because libc's UInt<T> can't be used with libc's optional, when trying to get libc built for riscv32, we get the following errors:
/home/mgadelha/tools/llvm-project/libc/src/__support/UInt.h:347:12: note: non-literal type 'optional<UInt<128U>>' cannot be used in a constant expression return remainder; ^ /home/mgadelha/tools/llvm-project/libc/src/__support/UInt.h:352:12: note: in call to '&result->div(COUNT)' result.div(other); ^ /home/mgadelha/tools/llvm-project/libc/test/src/math/CopySignTest.h:37:44: note: in call to '&UIntType(-1)->operator/(COUNT)' constexpr UIntType STEP = UIntType(-1) / COUNT; ^ 1 error generated.
Mon, May 22
Addressed comments
Fri, May 19
- Implement get_val() for x86_64 long double class
- Use dyadic float in clinger_fast_path to fix conversion to long double
Fri, May 12
Fixed compilation with clang < 16, where there is no add_lvalue_reference and add_rvalue_reference
Removed wrong conversion from uint<T> to long double
Tue, May 9
Changed some defines to LIBC_TARGET_ARCH_IS_ANY_RISCV
May 4 2023
addressed comments
ping
May 3 2023
- Fixed wrong define
- Rebased
May 2 2023
- make struct linux_dirent a private header
- rebased
May 1 2023
- Use static_cast<foo> instead of foo(...)
- Changed operator++ and operator-- to use operator+ and operator-, respectively
Apr 28 2023
@sivachandra does my last chance address your comment?
Apr 26 2023
Apply clang-format to syscall_numbers.h.inc
Moved linux specific implementation to linux_dir.cpp
Fixed strtol tests to pass in riscv32
@sivachandra can you clarify what you mean by "This file is supposed to contain the platform independent implementation. Can we improve the platform abstraction to push variance within Linux into the Linux implementation?"?
- Added details about the current status of the riscv32 port in the commit message
- Added LIBC_TARGET_ARCH_IS_ANY_RISCV and fix a syscall infinite recursion
- added siginfo_t dependency to wait.h
- added FUTEX_SYSCALL_ID
- changed SYS_sched_rr_get_interval_time64 to use struct __kernel_timespec instead of a long arr[2]
- improve wait* documentation
Apr 25 2023
Are you able to validate your guess with testing?
Apr 24 2023
ping
ping
Apr 21 2023
Added SYS_sched_rr_get_interval_time64 support to fix sched compilation in riscv32
- Changed ifdef unix to linux
- Changed strlen, memset and memmove to use libc's internal implementation
Apr 20 2023
rebased
Renamed dirs riscv64 to riscv
Addressed comments
Added static assertions
@sivachandra while we don't need this anymore, I think it's a good addition to the codebase.
Add linux_dirent to dirent.h only if unix is defined
- Added new struct linux_dirent to llvm-libc-types
- Removed both ino64_t and off64_t
Thanks, it fixed the problem with sub_with_borrow and add_with_carry in riscv32 for me!
Apr 19 2023
Remove C++ standard library in the runtime components of the libc
Apr 17 2023
Changed ino_t and ino64_t type to UINT64_TYPE
rebased
Added SYS_futex_time64 to syscall_numbers.h.inc
- Added comment about string lenght
- changed memcopy to memmove to prevent UB
Apr 14 2023
Update waitid syscall
Apr 12 2023
Apr 10 2023
Apr 7 2023
Fix error message
Mar 30 2023
ping
Mar 27 2023
Fix variable name
Added a variable to count how many times longjmp was called
- Fixed error message
- Fixed function not being called in release mode
Mar 24 2023
Update return
Mar 23 2023
Address comments
Mar 16 2023
@sivachandra I only tested this in x86_64 and riscv 64, since I don't have aarch64 or armv7 machines available for testing.
We submitted D146245, which should enable llvm to generate better code for setjmp/longjmp.
- Added -fomit-frame-pointer
- Removed attribute((naked)) from setjmp/longjmp
- Because of (2) we don't need the __NOEXCEPT anymore
- Rewrote the riscv functions to use the function arguments directly, instead of fixed offset
- Split the platform specific implementations into different directories/files
Thanks for the review, Siva, I think I've managed to address all your comments thanks to your code snippet (tests are running now, I'll update here if they pass).
Mar 15 2023
Fixed header include
Small change to the cmake file: we only need to set -fno-omit-frame-pointer it's not riscv