summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2015-12-05remove sh64 supportWaldemar Brodkorb
No real hardware available. The project for sh64 with sh5 seems dead since 10 years. Gcc will remove support for it soon.
2015-12-05remove __UCLIBC_ASM_GLOBAL_DIRECTIVE__Waldemar Brodkorb
.globl can be used for every architecture so remove the define. Sync with GNU C library.
2015-12-05remove __UCLIBC_HAVE_ASM_GLOBAL_DOT_NAME__Waldemar Brodkorb
It's even no longer required for non-ported ppc64 architecture. Sync with GNU C library. This simplify the macros in include/libc-symbols.h.
2015-11-30bfin: fix clashing with newer gccWaldemar Brodkorb
See here for a discussion about the problem: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=47779 Latest gcc/binutils git can generate a working uClibc-ng toolchain. Binaries tested on Arcturus uCBF54x board via chroot from original firmware.
2015-11-30bfin: use vfork.S againWaldemar Brodkorb
Actually revert 711ad9f92c1cf992c4a3d9f4f709bd692be7789c, as it breaks vfork() on real hardware. So the common implementation no longer works for bfin.
2015-11-30xtensa: avoid some compiler warningsWaldemar Brodkorb
Signed-off-by: Max Filippov <jcmvbkbc@gmail.com> Signed-off-by: Waldemar Brodkorb <wbx@uclibc-ng.org>
2015-11-23xtensa: remove ldso workaround by real pointer checkWaldemar Brodkorb
An abort() is only generated when gcc does not implement a trap handler for the target architecture. This fixes the abort() generation. Latest gcc git master also contains a trap handler for xtensa. Signed-off-by: Max Filippov <jcmvbkbc@gmail.com> Signed-off-by: Walemar Brodkorb <wbx@uclibc-ng.org>
2015-11-23mips: remove ISA choiceWaldemar Brodkorb
We don't add cpu specific CFLAGS to the build, so the ISA config symbols for MIPS are noops. Simple remove them. Reported-By: Bryan Hundven <bryanhundven@gmail.com>
2015-11-15bump version, preparing releasev1.0.9Waldemar Brodkorb
2015-11-13metag: add missing header fileWaldemar Brodkorb
When installing header files a warning is generated, because the header is mandatory.
2015-11-13tests/tls: Implement TLS macros for metagJames Hogan
Implement the TLS macros in tls-macros.h for metag. Signed-off-by: James Hogan <james.hogan@imgtec.com>
2015-11-13i386: use socketcall even if newer linux exposes direct syscallsWaldemar Brodkorb
The changeset 9dea5dc921b5f4045a18c63eb92e84dc274d17eb in the Linux kernel expose the direct syscalls for sockets. For example udhcpc then will use sendto syscall directly and get an EINVAL error. Disable direct syscalls as it was done for SPARC in the past. Musl and GNU libc are not affected, as they already disable direct socket syscalls on i386. Reported-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
2015-11-12docs: update the list of build systems, which support uClibc-ngWaldemar Brodkorb
2015-11-11h8300: do not use LDFLAGS, they are wrong. testsuite compile fails with itWaldemar Brodkorb
2015-11-11h8300: disable test using mprotect(), not available for h8300Waldemar Brodkorb
2015-11-11reduce timeoutfactor, fasten test runs!Waldemar Brodkorb
2015-11-08fanotify: include needed Linux definitionsWaldemar Brodkorb
To support older Linux kernel f.e. 2.6.32.68 include all required definitions. Copied from musl libc fanotify.h. Reported by Thomas Petazzoni from Buildroot project.
2015-11-08add support for euidaccess/eaccess legacy functionsWaldemar Brodkorb
Implementation taken from musl libc project. Missing functions recognized by buildroot autobuilders with failing open-vm-tools.
2015-11-03sh4a: allow to build a sh4a toolchainWaldemar Brodkorb
Add correct compiler settings.
2015-11-03h8300: fix compile with 4.2.x kernelWaldemar Brodkorb
2015-11-03unistd: fix #if conditionThomas Petazzoni
Commit dfa593d4d881116723a4401b466ea964fb12327b ("syncfs: add system call support") modified the #if condition around the definition of the syncfs() prototype in a way that doesn't build, causing build failures of any file including <unistd.h>: output/host/usr/powerpc-buildroot-linux-uclibc/sysroot/usr/include/unistd.h:988:14: error: #if with no expression #if __USE_GNU Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Reported-by: Xi-Sheng Luo <lxsjason@gmail.com>
2015-10-24bump version to 1.0.8v1.0.8Waldemar Brodkorb
2015-10-22ARC: With NPTL support, GP is no longer used for PICVineet Gupta
Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
2015-10-22NPTL/ARC: fix __lll_lock_wait_private redefinition for static linksVineet Gupta
Commit 2d9740a65a "uclibc: nptl: fix __lll_lock_wait_private multiple definition" did a sweeping change which did for all in tree arches at that time (ARC wasn't) Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
2015-10-22NPTL/ARCv2: Implement full memory barrier for NPTLVineet Gupta
Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
2015-10-22alpha: add special umount2 handlingWaldemar Brodkorb
Only on Linux alpha __NR_oldumount is defined and a umount not umount2 syscall, but with two parameter is used. Add special handling for it and an alias for umount2() users. There was a discussion about this special handling, but it seems it was never committed upstream: http://marc.info/?l=linux-alpha&m=137455037930738&w=2 Runtime tested with qemu-alpha and a statically linked busybox binary.
2015-10-22alpha: fix kernel_stat structWaldemar Brodkorb
2015-10-22alpha: fix header nameWaldemar Brodkorb
2015-10-22alpha: enable in menuWaldemar Brodkorb
2015-10-20confdata: fix invalid writeBen Boeckel
stndup will copy *up to* the size parameter, not allocate a buffer of that size, so the buffer is not necessarily large enough to fit the ".old" extension. Caught with glibc's MALLOC_CHECK_=3. Signed-off-by: Ben Boeckel <mathstuf@gmail.com>
2015-10-19lm32: add new architectureWaldemar Brodkorb
Add support for FPGA systems from Lattice Semiconductor http://www.latticesemi.com Merge https://github.com/m-labs/uclibc-lm32.git
2015-10-19mips: sync header with glibcWaldemar Brodkorb
Fixes following compile error, when UCLIBC_HAS_CONTEXT_FUNCS is enabled on a mips64 build: CC libc/sysdeps/linux/common/_exit.os libc/sysdeps/linux/mips/swapcontext.S: Assembler messages: libc/sysdeps/linux/mips/swapcontext.S:110: Error: Illegal operands `s.d fs6,(30*8+296)($4)' libc/sysdeps/linux/mips/swapcontext.S:111: Error: Illegal operands `s.d fs7,(31*8+296)($4)' libc/sysdeps/linux/mips/swapcontext.S:149: Error: Illegal operands `l.d fs6,(30*8+296)($2)' libc/sysdeps/linux/mips/swapcontext.S:150: Error: Illegal operands `l.d fs7,(31*8+296)($2)' Reported-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-10-16ia64: enable and fix compile issuesWaldemar Brodkorb
Enable ia64 in the menu. Fix build for architectures withou ld.so support. Fix syntax error in bits/byteswap.h.
2015-10-14syncfs: add system call supportBartosz Golaszewski
Add support for the syncfs() system call. Signed-off-by: Bartosz Golaszewski <bartekgola@gmail.com>
2015-10-14fanotify: add system call supportBartosz Golaszewski
Add support for fanotify_init() and fanotify_mark() syscalls. The header file is taken from glibc. Signed-off-by: Bartosz Golaszewski <bartekgola@gmail.com>
2015-10-13or1k: add missing fileWaldemar Brodkorb
2015-10-12bump versionv1.0.7Waldemar Brodkorb
2015-10-12restrict linuxthreads/nptl choiceWaldemar Brodkorb
For architectures supporting no MMU systems, allow to use Linuxthreads. BFLAT does not support TLS right now, so NPTL can not be used.
2015-10-12fix static binaries linked with pthread and compiled with sspWaldemar Brodkorb
Move TLS initialization for static builds up to the calling function as suggested by Daniel Fahlgren. Reported-By: Daniel Fahlgren <daniel@fahlgren.se>
2015-10-09add new architecture support for or1kWaldemar Brodkorb
Information about Openrisc: http://opencores.org/or1k/Main_Page Integrated from: https://github.com/openrisc/uClibc-or1k
2015-10-08xtensa: support call0 ABIMax Filippov
Most changes are mechanical replacement of 'retw' instruction with 'abi_ret' macro, defined to 'retw' or 'ret' according to ABI. Assembly code that makes calls is duplicated for call0 ABI with changed register numbers for parameters/return value and call instruction. 'entry' instructions are replaced with 'abi_entry' macro. More interesting changes: - non-leaf assembly functions (e.g. _dl_tlsdesc_dynamic, _dl_linux_resolve, SYSCALL_ERROR_HANDLER, PSEUDO) now need to preserve registers around intermediate calls they make, use temporary stack frame for that; - setjmp/longjmp only need to save and restore return address, stack pointer and callee-saved registers in the jmpbuf; - __clone and syscall functions had hardcoded offsets to parameter passed on stack, on call0 ABI they don't need stack frame, so the offset is different. Replace these offsets with FRAMESIZE macro. Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
2015-10-05libc: posix_fallocate must return an error number on failureYuriy Kolerov
posix_fallocate implementation in uClibc relies on fallocate system call - it just returns what fallocate returns. However fallocate returns -1 on failure and assigns an error number to errno variable. In the same time posix_fallocate must return an error number but not -1. What does this patch: if fallocate returns -1 then posix_fallocate returns errno. Otherwise posix_fallocate returns 0 on success. However there is a side effect - posix_fallocate sets errno on failure because fallocate does it. But POSIX does not forbid it thus it's not a problem. Signed-off-by: Yuriy Kolerov <yuriy.kolerov@synopsys.com>
2015-10-05libc: fix sign extension in fallocate()Yuriy Kolerov
For common generic syscall ABI fallocate syscall handler in kernel expects a 64-bit signed arguments for offset and len. However uClibc has 2 wrappers for this syscall: fallocate and fallocate64. On 32-bit machines fallocate (not fallocate64) expects 32-bit values of offset and len. Thus in this case uClibc's fallocate must pass to the syscall those values with sign extension. High word of 64-bit value must be 0 or 0xFFFFFFFF depending on sign of the original 32-bit value (offset or len). It is how sign extansion works - all high bits of the negative value must be 1. So on 32-bit machines uClibc's fallocate does sign extension incorrectly when 32-bit values are passed (offset or len). It just fills the second word of 64-bit value by zeros. E.g. fallocate works incorrectly when offset or length is negative value - in this case kernel thinks that positive values are passed. Solution is to call fallocate64 from fallocate and pass 32-bit values of offset and len to fallocate64. off_t type is automatically converted to off64_t with an appropriate sign extension. Then fallocate64 invokes kernel's system call properly. This error is detected in LTP's test kernel/syscalls/fallocate02: ----------->8---------- fallocate(..., 1, -1024, 1024) failed, expected errno:22: TEST_ERRNO=0 fallocate(..., 1, 1024, -1024) failed, expected errno:22: TEST_ERRNO=0 fallocate(..., 1, 12288, -1024) failed, expected errno:22: TEST_ERRNO=0 fallocate(..., 1, -24576, 1024) failed, expected errno:22: TEST_ERRNO=0 ----------->8---------- fallocate does not emit an error because negative values are passed to the kernel without sign extension and kernel thinks that it got valid positive values. Signed-off-by: Yuriy Kolerov <yuriy.kolerov@synopsys.com>
2015-10-05libc: fix setting return value and errno in fallocate()Yuriy Kolerov
fallocate system call must return 0 on success. On error, -1 is returned and errno is set to indicate the error. However there is an error in fallocate which is fixed by this patch - it does not set errno and returns invalid value on error (it returns error code instead of -1). This error is detected in LTP's test kernel/syscalls/fallocate02: ----------->8---------- fallocate(..., 1, 0, 1024) failed, expected errno:9: TEST_ERRNO=0 fallocate(..., 1, -1024, 1024) failed, expected errno:22: TEST_ERRNO=0 fallocate(..., 1, 1024, -1024) failed, expected errno:22: TEST_ERRNO=0 fallocate(..., 1, 12288, 0) failed, expected errno:22: TEST_ERRNO=0 fallocate(..., 1, 12288, -1024) failed, expected errno:22: TEST_ERRNO=0 fallocate(..., 1, -24576, 1024) failed, expected errno:22: TEST_ERRNO=0 ----------->8---------- Signed-off-by: Yuriy Kolerov <yuriy.kolerov@synopsys.com>
2015-09-15NPTL: fix CFLAGS for cancellation pointsMax Filippov
Stack unwinding that happens during NPTL thread cancellation needs cancellable syscall wrapper functions to be compiled with -fexceptions -fasynchronous-unwind-tables to be able to unwind to cleanup handlers registered before syscall invocation. Add these flags for all cancellable syscall wrappers. Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
2015-09-11Revert "tgmath.h: disable builtins"Waldemar Brodkorb
This reverts commit d1671548b968103f4df1b80659e60ae1fc5a67b3. You get following errors while compiling freeswitch: awgn.c: In function 'awgn_init_dbov': awgn.c:110:5: error: void value not ignored as it ought to be s->rms = pow(10.0, level/20.0)*32768.0; Reverting this commit allows to build the code.
2015-08-30tst-mkostemps: fix test case on read-only root filesystemWaldemar Brodkorb
Better use /tmp as embedded systems might have a read-only root. Fix two wrong asserts.
2015-08-27nptl_db/db_info: fix the incorrect initial size for dtvpJunling Zheng
When debugging a program on ARMv7 with thread-local storage declared using "__thread", attempting to print a thread-local variable will result in the following message: Cannot find thread-local storage for Thread <snip> (LWP <snip>), executable file /tmp/tls: capability not available This can be traced back to uclibc libpthread/nptl_db/td_thr_tls_get_addr.c which gdb uses to look up the address of the TLS. The function returns TD_NOCAPAB due to a mismatch in size between the DTV pointer and the size recorded in the db description. The problem lies in libpthread/nptl_db/db_info.c which initializes the db with the sizeof the union dtv. Instead it should be the sizeof a pointer to union dtv. Fixed the initial size for dtvp to sizeof a pointer, instead of sizeof the union. Refer to: http://sourceware.org/ml/libc-alpha/2006-10/msg00088.html https://sourceware.org/git/?p=glibc.git;a=commitdiff;h=416b630981788c1f08e746e19765aa0e5c2a1360 Signed-off-by: Junling Zheng <zhengjunling@huawei.com>
2015-08-22bump versionv1.0.6Waldemar Brodkorb
2015-08-22add tests for mkostemps()Romain Naour
Signed-off-by: Romain Naour <romain.naour@openwide.fr>