summaryrefslogtreecommitdiff
path: root/include
AgeCommit message (Collapse)Author
2019-05-13preadv/pwritev: fix offset argument typeMax Filippov
preadv/pwritev don't provide separate version for 64-bit wide off_t, and default to 32-bit wide off_t, which results in a mismatch between declaration and definition for user programs built with -D_FILE_OFFSET_BITS=64. Make offset argument of both functions __off64_t. This fixes test misc/tst-preadvwritev on xtensa. Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
2018-12-31csky: Add EM_CSKY for ldsoGuo Ren
Support EM_CSKY 252 elf format. Changelog: Increase EM_NUM to 253 Signed-off-by: Guo Ren <ren_guo@c-sky.com> Signed-off-by: Mao Han <han_mao@c-sky.com>
2018-08-10rtld: Add FDPIC code for armChristophe Lyon
Add FDPIC dynamic relocations support, similar to what other FDPIC targets do. Lazy binding is implemented in a folllow-up patch. Disable the SEND* macros because they involve relocations to access constant strings that are unsupported by the existing arm version. Define DL_START, START, ARCH_NEEDS_BOOTSTRAP_RELOCS, DL_CHECK_LIB_TYPE similarly to what other FDPIC targets do. Define raise() because _dl_find_hash references __aeabi_uidivmod, which uses __aeabi_idiv0 which in turn references raise. * include/elf.h (R_ARM_FUNCDESC): Define. (R_ARM_FUNCDESC_VALUE): Define. * ldso/include/dl-string.h (SEND_STDERR, SEND_ADDRESS_STDERR) (SEND_NUMBER_STDERR): Define empty for __FDPIC__. * ldso/ldso/arm/dl-inlines.h: New file. * ldso/ldso/arm/dl-startup.h (PERFORM_BOOTSTRAP_RELOC): Fix type of load_addr. Fix handling of R_ARM_RELATIVE, add support for R_ARM_FUNCDESC_VALUE. (DL_START, START): Define for __FDPIC__. (raise): Define. * ldso/ldso/arm/dl-sysdep.h (ARCH_NEEDS_BOOTSTRAP_RELOCS): Define. (DL_CHECK_LIB_TYPE): Define. (elf_machine_type_class): Take into account FDPIC related relocations. (elf_machine_load_address): Support __FDPIC__. (elf_machine_relative): Likewise. * ldso/ldso/arm/elfinterp.c (_dl_linux_resolver): Dummy support for __FDPIC__, implemented in a later patch. (_dl_do_reloc): Fix reloc_adr computation for __FDPIC__, fix handling of local symbols. Fix handling of R_ARM_RELATIVE, add support for R_ARM_FUNCDESC_VALUE, R_ARM_FUNCDESC. * ldso/ldso/arm/resolve.S: Make _dl_linux_resolve hidden. * ldso/ldso/fdpic/dl-inlines.h (htab_delete): Declare. * libc/sysdeps/linux/arm/bits/elf-fdpic.h: New file, similar to bfin's. * libc/sysdeps/linux/arm/crtreloc.c: Likewise. * libc/sysdeps/linux/arm/find_exidx.c (__dl_addr_in_loadaddr) Define. (find_exidx_callback): Support __FDPIC__. Signed-off-by: Mickaël Guêné <mickael.guene@st.com> Signed-off-by: Christophe Lyon <christophe.lyon@st.com>
2018-08-10rtld: Add #if defined (__FDPIC__)Christophe Lyon
Like for other FDPIC targets, add defined(__FDPIC__) where needed. * include/link.h: Include bits/elf-fdpic.h if __FDPIC__ is defined. (link_map): Use elf32_fdpic_loadaddr if __FDPIC__ is defined. (dl_phdr_info): Likewise. * ldso/include/dl-elf.h (__dl_parse_dynamic_info): Support __FDPIC__. * ldso/include/dl-hash.h (elf_resolve): Add funcdesc_ht field if __FDPIC__ is defined. * ldso/ldso/dl-hash.c (_dl_find_hash): Support __FDPIC__. * libc/misc/elf/dl-iterate-phdr.c (dl_iterate_phdr): Support __FDPIC__. Signed-off-by: Mickaël Guêné <mickael.guene@st.com> Signed-off-by: Christophe Lyon <christophe.lyon@st.com>
2018-06-29elf.h: add some missing definesWaldemar Brodkorb
2018-06-15Fix prototypes for preadv pwritev.Vlad Starodubtsev
2018-05-05librt: clock_nanosleep could be even used without threadsWaldemar Brodkorb
2018-05-01librt: declare clock_nanosleep not only for NPTLWaldemar Brodkorb
Reported-by: Baruch Siach <baruch@tkos.co.il> Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
2018-03-01fix issue with LDSO_GNU_HASH_SUPPORTWaldemar Brodkorb
Under Fedora 27 there is a problem with the existing ld check. Binutils ld segfaults. Add a glibc compat macro to complete the build on Fedora. Signed-off-by: Sven Anders <anders@anduras.de>
2018-02-03add libc version compatibilityWaldemar Brodkorb
2018-01-31malloc: add malloc_usable_size()Waldemar Brodkorb
2018-01-31remove arc4random (rc4 based)Waldemar Brodkorb
OpenBSD arc4random is using chacha20 cipher algorithm for a long time. This copy is still based on deprecated rc4 cipher algorithm. We could either update the arc4random.c or drop it. Drop it. Users should better use libbsd when using arc4random interface. Musl/glibc does not have arc4random either.
2018-01-20include/elf.h: sync with GNU C libraryWaldemar Brodkorb
Add NT_GNU_BUILD_ID and other defines to allow applications using it to successfully compile. (f.e. firefox)
2017-12-31m68k: add NPTL/TLS supportWaldemar Brodkorb
Port over NPTL/TLS support from GNU C Library. In the first step only the slower syscall is used for TLS access. The uClibc-ng testsuite shows 79 errors, so their is room for bugfixes and improvements.
2017-11-19csky: port to uclibc-ngGuo Ren
Follow the steps to build c-sky uclibc linux system: 1. git clone https://github.com/c-sky/buildroot.git 2. cd buildroot 3. make qemu_csky_ck810_uclibc_defconfig 4. make Follow the buildroot/board/qemu/csky/readme.txt to run. This buildroot toolchain is pre-build, But you can rebuild the c-sky uclibc-ng alone and install it to the buildroot sysroot manually. We'll try our best to improve the uclibc-ng continuously. Signed-off-by: Guo Ren <ren_guo@c-sky.com>
2017-11-19remove unused FORTIFY code fragmentsWaldemar Brodkorb
2017-11-03math: add exception handling functionalitySergey Cherkashin
According to standards SVID and SYSV. Modified lgamma calling in case when 'signgam' variable should not be used. Signed-off-by: Waldemar Brodkorb <wbx@uclibc-ng.org>
2017-11-02convert accept4() to use cancel.h macrosWaldemar Brodkorb
2017-10-01recvmmsg/sendmmsg: add recvmmsg sendmmsg support.Guo Ren
The recvmmsg and sendmmsg is very important for UDP stream application. If we only use recvmsg for UDP stream, it will only copy one mtu size of data in a syscall. And recvmmsg copy as many as you want in a syscall. So recvmmsg is more efficient,and some applications will depends on the recvmmsg and sendmmsg, eg: UDP media stream player. Signed-off-by: Guo Ren <ren_guo@c-sky.com>
2017-07-28stdlib.h: Fix valloc declaration.Eugene Yudin
2017-07-28nptl: remove sysdep-cancel ASM macros, convert to CWaldemar Brodkorb
2017-07-28rt: convert mq_timedsend/mq_timedreceive to use cancel.h macrosWaldemar Brodkorb
2017-07-18netinet/in.h: add IPPROTO_MHWaldemar Brodkorb
Fix compile of latest iproute2 package. Reported-By: Baruch Siach <baruch@tkos.co.il>
2017-07-05udp.h: sync completely with GNU C libraryWaldemar Brodkorb
2017-06-22remove __FAVOR_BSDWaldemar Brodkorb
Remove __FAVOR_BSD and sync with GNU C library Some issues compiling knock application fixed. Reported-By: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-06-21remove editor hints for viWaldemar Brodkorb
2017-06-08wchar.h: wchar_t must be definedWaldemar Brodkorb
Fix compile issues with uchar.h users, f.e. systemd.
2017-06-06sys/time.h: sync with GNU C libraryWaldemar Brodkorb
In commit 4b7634a5e03b0da6f8875de9d3f74c1cf6f2a6e8 non-null check was removed. Fixes a compiler warning when trying to compile systemd.
2017-06-06sys/types.h: sync with GNU C libraryWaldemar Brodkorb
Fixed in glibc commit f9cfa295ae3f2556bd8808f0ff693cfe44f4ac25. Found via Buildroot autobuilder and gdbm package cross-compile.
2017-06-01include/features.h: add _DEFAULT_SOURCE macroAnthony G. Basile
man feature_test_macros(7) specifies that _BSD_SOURCE and _SVID_SOURCE have been deprecated in favor of _DEFAULT_SOURCE since libc 2.20. Specifying either of the former is now equivalent to specifying just the latter. We add this macro to conform to this standard, but do not add the compiler warning to maintain full backwards compatibility with earlier version of glibc and uclibc. Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2017-05-22include/sys/reboot.h: add constants RB_SW_SUSPEND and RB_KEXECAnthony G. Basile
This syncs up <sys/reboot.h> with the GNU C library, see their commit 1a09dc56. These constants are needed by init systems like openrc. Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2017-05-22“new LT” is gonemirabilos
Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
2017-05-22add another generated filemirabilos
Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
2017-05-14or1k: add NPTL/TLS supportWaldemar Brodkorb
Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
2017-05-07sync features.h with GNU C library, fixes gcc 7.1 toolchain creationWaldemar Brodkorb
2017-04-22sys/stat.h: fix missing struct timespec definitionDamien Riegel
This is a second attempt to fix a compilation failure involving a missing struct timespec definition in some situation. Previous attempt was following commit but it had undesirable side effects and was reverted: 657c4a9d6c fcntl.h: fix a missing `struct timespec` definition A similar issue was identified and reported in glibc [1], and the fix was to include the timespec definition if __USE_XOPEN2K8 was defined. To minimize the possible impact of this new fix, it was decided to not replace __USE_ATFILE by __USE_XOPEN2K8 as glibc did, but to add an additional OR condition on __USE_XOPEN2K8. [1] https://sourceware.org/bugzilla/show_bug.cgi?id=21371 Signed-off-by: Damien Riegel <damien.riegel@savoirfairelinux.com>
2017-04-22remove unused HP_TIMING_AVAIL and headerWaldemar Brodkorb
cleanup unused and unsupported code.
2017-04-18cleanup dead code in signal.hWaldemar Brodkorb
2017-04-04Revert "fcntl.h: fix a missing `struct timespec` definition"Waldemar Brodkorb
This reverts commit 657c4a9d6c2e649d86307f46ce9d5e44192f6e7a. This breaks a lot of package cross-compilation as lvm, ruby, ipsec-tools. :(
2017-03-20remove RPC implementationWaldemar Brodkorb
The included RPC implementation is ipv4 only. Other C library projects have either deprecated the internal RPC implementation (GNU C Library) or never implemented such functionality (musl C Library). The latest rpcbind release (0.2.4) checks for libtirpc and does not allow to be build with uClibc-ng RPC without patching. The common use case for RPC nowadays is to use rpcbind together with nfs-utils to provide NFS server or client support to a system. The included RPC implementation does create issues with duplicate symbol failures when statically compiling with RPC enabled.
2017-03-17sync header with GNU libc / kernelWaldemar Brodkorb
The header is not in sync with GNU libc and Linux kernel and therefore produces compile errors with qemu-user (2.8.0). Reported-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
2017-02-28fcntl.h: fix a missing `struct timespec` definitionDamien Riegel
If a source file is compiled with: #define _XOPEN_SOURCE 700 #define _POSIX_C_SOURCE 200112L Then including fcntl.h results in the following error: In file included from fcntl.h:37:0, from test.c:4: sys/stat.h:371:54: error: array type has incomplete element type ‘struct timespec’ extern int futimens (int __fd, const struct timespec __times[2]) __THROW; To fix that, we force the definition of struct timespec in fcntl.h when __USE_XOPEN2K8 is defined. This mimics the behavior of glibc which contains the following line in its io/fcntl.h header (included by fcntlh.h): #ifdef __USE_XOPEN2K8 # include <bits/types/struct_timespec.h> #endif This bug was spotted during the compilation of BoringSSL against uClibc. Signed-off-by: Damien Riegel <damien.riegel@savoirfairelinux.com>
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-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-14add wrappers for preadv/pwritevWaldemar Brodkorb
2017-01-14add uchar.h minimal from GNU libcWaldemar Brodkorb
2017-01-14add secure_getenv() functionWaldemar Brodkorb
2016-12-21remove obstack supportWaldemar Brodkorb
Remove __UCLIBC_HAS_OBSTACK__ as it isn't very uptodate and maintained part. It shouldn't be required for any software and mostly shipped with stuff which use it. (f.e. binutils-gdb)
2016-12-20sys/cdefs.h: add definition of __attribute_alloc_size__Thomas Petazzoni
Commit cee0b058fa0b4501b289a2da365182d60314d746 ("add aligned_alloc required for latest gcc libstdc++") added the prototype of aligned_alloc() to <stdlib.h>. This prototype contains '__attribute_alloc_size__ ((2))', but this is not defined anywhere in uClibc-ng. This commit addresses that by adding the relevant definition in <sys/cdefs.h>, borrowed from glibc. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>