summaryrefslogtreecommitdiff
path: root/libc/sysdeps
AgeCommit message (Collapse)Author
2017-09-14arc: Ensure that debugger can recognize sigrestorerAnton Kolesov
An issue has been found with current implementation of signal restorer function in uClibc and how GDB handles it. When debugger information is not present, everything worked fine, because GDB would use a built-in logic to determine if function is a signal restorer. However when debugging information is present, debugger would rely solely on it and wouldn't use ARC-specific functions to detect signal handler frames. Because debug information for signal restorer is generated completely by the compiler, it lacks a marker, that identifies this as a signal frame that requires special handling. While it is possible to insert that marker via inline assembly, that still doesn't solve the whole problem, because some other expectations are not met by the debug information - there is no "nop" in front of the function, needed to fool debugger into thinking that this was a function call, and references to previous frame information need to be described manually. The simplest way to fix the problem is just to make sure that signal restorer function will not have any debug function at all, which can be done by writing it in assembly. Alternative, more complex, solution, where debug information for signal frame is manually defined can be found in glibc/sysdeps/unix/sysv/linux/x86_64/sigaction.c [1]. [1] https://sourceware.org/git/?p=glibc.git;a=blob;f=sysdeps/unix/sysv/linux/x86_64/sigaction.c;hb=HEAD Signed-off-by: Anton Kolesov <Anton.Kolesov@synopsys.com>
2017-08-10sys/ptrace.h: remove obsolete Linux PTRACE_SEIZE_DEVEL constantWaldemar Brodkorb
Remove enum __ptrace_flags along with the only constant it contains, PTRACE_SEIZE_DEVEL, from Linux's sys/ptrace.h files. Following GNU C library commit: 60e2846e2633a990bdf474004a373bde54c0bc5f
2017-07-28aarch64: finetuning, sync with glibcWaldemar Brodkorb
2017-07-28fix tolower and localesEugene Yudin
The function towlower doesn't work with locales different from C. Issue was introduced in commit: 8cde3a9bf2856dcb9a759dec7ecb04a68e712254 Call to setlocale is needed for correct generation of the table uplow_diff. Otherwise you receive compile time error "range assumption error" after uncommenting the call. Similar problem described here: http://lists.uclibc.org/pipermail/uclibc/2015-March/048852.html This commit fix the problem by using int32_t values.
2017-07-28cleanup unused defines and includes from clone.SWaldemar Brodkorb
2017-06-23sparc64: add basic supportWaldemar Brodkorb
No NPTL, no LDSO support. Bootup with Busybox Ash in Qemu working. Testuite shows only two failures, but mksh continue/break support doesn't work.
2017-06-21remove editor hints for viWaldemar Brodkorb
2017-06-08fcntl.h: fixup namespace for O_DIRECTORY/O_NOFOLLOW/O_CLOEXECWaldemar Brodkorb
Sync with GNU C library. Found while trying to compile linux-rdma to uClibc-ng. Reported-by: Alexey Brodkin <Alexey.Brodkin@synopsys.com>
2017-05-24sparc: cleanup sparc64 bits and unused soft-fpWaldemar Brodkorb
Remove a lot of unused 64 Bit header stuff.
2017-05-17x86: fix segfaults on SMP machineWaldemar Brodkorb
As reported by Bering-uClibc project uClibc-ng for x86 generates a segfault on SMP machines when trying to run ntpd. A small test case is here: https://gist.github.com/ddrown Use a similar nop instruction as for x86_64 in the code. Signed-off-by: KP.Kirchdoerfer <kapeka@bering-uclibc.de>
2017-05-14or1k: add NPTL/TLS supportWaldemar Brodkorb
Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
2017-05-14or1k: add clone() from old GNU libc implementationWaldemar Brodkorb
2017-04-22remove unused HP_TIMING_AVAIL and headerWaldemar Brodkorb
cleanup unused and unsupported code.
2017-04-16or1k: remove unused fileWaldemar Brodkorb
Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
2017-04-16libm: allow long double wrappers for all architecturesWaldemar Brodkorb
If you enable these wrappers, be sure you don't need long double precision on your embedded device, as these only enables long double warpper functions to the existing double math functions. Required to build some software as lvm2. Signed-off-by: Waldemar Brodkorb <wbx@uclibc-ng.org>
2017-02-23guard new syscalls preadv/pwritevWaldemar Brodkorb
2017-02-18or1k: add missing definition of ucontextWaldemar Brodkorb
Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
2017-02-18remove dead code in dlfcn.hWaldemar Brodkorb
2017-02-13remove unused assignment in cloneWaldemar Brodkorb
Patch fetched from GNU libc mailinglist.
2017-02-03fstat: make new code aarch64 specificWaldemar Brodkorb
The new code get's used by MIPS64 N64 and fails. Make the new code aarch64 specific.
2017-02-01aarch64: fix syscall_error_handler, fixes tst-mqueue errorsWaldemar Brodkorb
Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
2017-02-01g/c __libc_errnomirabilos
Signed-off-by: mirabilos <m@mirbsd.org> Signed-off-by: Waldemar Brodkorb <wbx@uclibc-ng.org>
2017-02-01add experimental aarch64 supportWaldemar Brodkorb
Ported over from GNU C Library and runtime tested in Qemu.
2017-01-29use safe, even if possibly a few cycles slower, six-argument syscall ↵mirabilos
implementation Signed-off-by: mirabilos <m@mirbsd.org> Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
2017-01-29extract six-argument syscalls from the restmirabilos
(still same implementation though) Signed-off-by: mirabilos <m@mirbsd.org> Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
2017-01-29remove dead codeWaldemar Brodkorb
Signed-off-by: mirabilos <m@mirbsd.org> Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
2017-01-29Fix make rule for generation of "ucontext_i.h" when building in separate ↵Sergey Organov
directory (with O=) For me it was enabling of UCLIBC_SUSV3_LEGACY=y that broke compilation in separate directory.
2017-01-28remove PID cachingWaldemar Brodkorb
Follow GNU C Library from c579f48edba88380635ab98cb612030e3ed8691e and remove the PID caching. These simplifies the architecture specific assembly code. The run of the test suite found no regressions, it even solves some of the test failures for x86/x86_64/sparc. Reviewed-by: Max Filippov <jcmvbkbc@gmail.com> Reviewed-by: Vineet Gupta <Vineet.Gupta1@synopsys.com> Acked-by: Matthew Fortune <Matthew.Fortune@imgtec.com> Acked-by: Alexey Brodkin <Alexey.Brodkin@synopsys.com>
2017-01-28mips: PROF is never defined, kill dead codeWaldemar Brodkorb
2017-01-22nds32: add NPTL/TLS, *context function, libm changes and code cleanupVincent Ren-Wei Chen
This commit includes following features. 1. Support NPTL/TLS 2. Add libm function which is used to handle FP rounding and excpetions (ex: fclrexcpt,fedisblxcpti,feenablxcpt... ) 3. Add *context function for operating user context (ex: setcontext,getcontext,makecontext... ) 4. Change the return flow from signal handler 5. Cleanup of old code The testsuite only has 2 errors, tst-cpuclock1 and tst-cputimer1, which are related to timing accuracy. (math and locale tests are disabled) Signed-off-by: Vincent Ren-Wei Chen <vincentc@andestech.com>
2017-01-20ppc: fix mq_sendWaldemar Brodkorb
Add a similar fix as in 8dd85e041bdccf630c90e12ea044f55d28da9396. Reported-By: Steven Seeger <steven.seeger@frontier.com>
2017-01-14add wrappers for preadv/pwritevWaldemar Brodkorb
2017-01-12use multiline comment for better copyright parsingWaldemar Brodkorb
2017-01-05mips: sync with GNU libc, fix mips64r6 n32 compilationWaldemar Brodkorb
2016-12-28add init_module/delete_module syscall wrappersWaldemar Brodkorb
Add the wrappers unconditionally, because kmod package still uses them.
2016-12-26mips: use the common dirent.hWaldemar Brodkorb
2016-12-23remove UCLIBC_LINUX_MODULE_26Waldemar Brodkorb
The syscall wrappers are not required and other C libraries do not provide them. Busybox modutils.c must be patched so that syscall() is used for uClibc-ng. Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
2016-12-10libc/sysdeps/linux/common/madvise.c: disable on noMMU architecturesThomas Petazzoni
Similar to what was done in commit 9945c6d21797553e78cbef8034f6dd16b3824df5 for posix_madvise(). Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-12-02nds32: in latest gcc from Andes, this got renamedWaldemar Brodkorb
2016-11-28posix_madvise not available for noMMUWaldemar Brodkorb
2016-11-27remove UCLIBC_HAS_LFSWaldemar Brodkorb
2016-11-27do not define madvise related macros for noMMU targetsWaldemar Brodkorb
2016-11-27fixup gcc warningsWaldemar Brodkorb
Remove following warning from common code: warning: ISO C90 forbids mixed declarations and code
2016-11-27microblaze: sync sysdep-cancel.h/sydep.h with GNU libcWaldemar Brodkorb
2016-11-27arm: use common ret_ERRVALWaldemar Brodkorb
Fixes mq_send return value and errno issue. Reported-by: Frank Liu <fliu@universalbiosensors.com> Tested-by: Frank Liu <fliu@universalbiosensors.com>
2016-11-27mips: fix SIGILL problem with mips ISA r6Waldemar Brodkorb
2016-11-13NPTL/ARC: provide a kernel assisted atomic cmpxchgVineet Gupta
For hardware configurations lacking LLOCK/SCOND (say ARC750), use a syscall to atomically do the cmpxchg. This is costly and painful, but really the only way out. Note that kenrel only guarantees this to work in a UP configuraion Reported-by: Avinash Patil <avinashp@quantenna.com> Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
2016-11-13NPTL/ARC: implement __arch_exchange_32_acq using native EXVineet Gupta
ARC EX instruction maps directly to this primitive, thus helps elide the llock/scond based retry loop where possible. Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
2016-11-10nptl: add pthread_getname_np/pthread_setname_np from GNU libcWaldemar Brodkorb
These functions are used by firefox for example. Tested with running firefox on x86 system.
2016-11-04nios2: sync support with glibcWaldemar Brodkorb
Only static linking is supported for now. More debugging and analyzing for ld.so, TLS and NPTL is required. But at least you can bootup a static root fileystem in Qemu.