summaryrefslogtreecommitdiffstats
path: root/newlib
Commit message (Collapse)AuthorAgeFilesLines
* Importing catanhl.c from NetBSD.Aditya Upadhyay2017-06-292-1/+43
|
* Importing casinl.c from NetBSD.Aditya Upadhyay2017-06-292-1/+121
|
* Importing ccosl.c from NetBSD.Aditya Upadhyay2017-06-292-1/+46
|
* Importing cacosl.c from NetBSD.Aditya Upadhyay2017-06-292-1/+46
|
* Adding cephes_subrl.h and cephes_subrl.c from NetBSD.Aditya Upadhyay2017-06-293-2/+140
|
* Importing cexpl.c from NetBSD.Aditya Upadhyay2017-06-292-1/+47
|
* Importing cprojl.c from NetBSD.Aditya Upadhyay2017-06-292-1/+65
|
* Importing cargl.c from NetBSD.Aditya Upadhyay2017-06-292-1/+19
|
* Importing csqrtl.c from NetBSD.Aditya Upadhyay2017-06-292-1/+113
|
* Importing clogl.c from NetBSD.Aditya Upadhyay2017-06-292-0/+47
|
* Importing cacoshl.c from NetBSD.Aditya Upadhyay2017-06-292-1/+46
|
* unistd.h: Remove trailing whitespaceDionna Glaze2017-06-291-1/+1
|
* unistd.h: remove mktempCorinna Vinschen2017-06-291-1/+0
| | | | | | mktemp is already correctly declared in stdlib.h Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Make gethostname, getdtablesize, mktemp, ualarm available in BSD, ↵Dionna Glaze2017-06-291-2/+5
| | | | XOPEN_SOURCE >= 500.
* aarch64: optimize the unaligned case of memcmpSebastian Pop2017-06-261-2/+55
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This brings to newlib a performance improvement that we developed in Bionic libc. That change has been submitted for review to Bionic libc: https://android-review.googlesource.com/418279 A similar patch has been submitted for review in glibc: https://sourceware.org/ml/libc-alpha/2017-06/msg01143.html Patch written by Vikas Sinha and Sebastian Pop. The performance was measured on the bionic-benchmarks on a hikey (aarch64 8xA53) board. There was no performance change to the existing benchmark and a performance improvement on the new benchmark for memcmp on the unaligned side. The new benchmark has been submitted for review at https://android-review.googlesource.com/414860 The overall performance improves by 18% for the small data set 8 and the performance improves by 450% for the large data set 64k. The base is with the libc from /system/lib64. The bionic libc with this patch is in /data. hikey:/data # export LD_LIBRARY_PATH=/system/lib64 hikey:/data # ./bionic-benchmarks --benchmark_filter='BM_string_memcmp*' Run on (8 X 2.4 MHz CPU s) Benchmark Time CPU Iterations ---------------------------------------------------------------------- BM_string_memcmp/8 30 ns 30 ns 22955680 251.07MB/s BM_string_memcmp/64 57 ns 57 ns 12349184 1076.99MB/s BM_string_memcmp/512 305 ns 305 ns 2297163 1.56496GB/s BM_string_memcmp/1024 571 ns 571 ns 1225211 1.66912GB/s BM_string_memcmp/8k 4307 ns 4306 ns 162562 1.77177GB/s BM_string_memcmp/16k 8676 ns 8675 ns 80676 1.75887GB/s BM_string_memcmp/32k 19233 ns 19230 ns 36394 1.58695GB/s BM_string_memcmp/64k 36986 ns 36984 ns 18952 1.65029GB/s BM_string_memcmp_aligned/8 199 ns 199 ns 3519166 38.3336MB/s BM_string_memcmp_aligned/64 386 ns 386 ns 1810734 158.073MB/s BM_string_memcmp_aligned/512 1735 ns 1734 ns 403981 281.525MB/s BM_string_memcmp_aligned/1024 3200 ns 3200 ns 218838 305.151MB/s BM_string_memcmp_aligned/8k 25084 ns 25080 ns 28180 311.507MB/s BM_string_memcmp_aligned/16k 51730 ns 51729 ns 13521 302.057MB/s BM_string_memcmp_aligned/32k 103228 ns 103228 ns 6782 302.727MB/s BM_string_memcmp_aligned/64k 207117 ns 207087 ns 3450 301.806MB/s BM_string_memcmp_unaligned/8 339 ns 339 ns 2070998 22.5302MB/s BM_string_memcmp_unaligned/64 1392 ns 1392 ns 502796 43.8454MB/s BM_string_memcmp_unaligned/512 9194 ns 9194 ns 76133 53.1104MB/s BM_string_memcmp_unaligned/1024 18325 ns 18323 ns 38206 53.2963MB/s BM_string_memcmp_unaligned/8k 148579 ns 148574 ns 4713 52.5831MB/s BM_string_memcmp_unaligned/16k 298169 ns 298120 ns 2344 52.4118MB/s BM_string_memcmp_unaligned/32k 598813 ns 598797 ns 1085 52.188MB/s BM_string_memcmp_unaligned/64k 1196079 ns 1196083 ns 540 52.2539MB/s hikey:/data # export LD_LIBRARY_PATH=/data hikey:/data # ./bionic-benchmarks --benchmark_filter='BM_string_memcmp*' Run on (8 X 2.4 MHz CPU s) Benchmark Time CPU Iterations ---------------------------------------------------------------------- BM_string_memcmp/8 30 ns 30 ns 23209918 252.802MB/s BM_string_memcmp/64 57 ns 57 ns 12348447 1076.95MB/s BM_string_memcmp/512 305 ns 305 ns 2296878 1.56471GB/s BM_string_memcmp/1024 572 ns 571 ns 1224426 1.6689GB/s BM_string_memcmp/8k 4309 ns 4308 ns 162491 1.77109GB/s BM_string_memcmp/16k 9348 ns 9345 ns 74894 1.63285GB/s BM_string_memcmp/32k 18329 ns 18322 ns 38249 1.6656GB/s BM_string_memcmp/64k 36992 ns 36981 ns 18952 1.65045GB/s BM_string_memcmp_aligned/8 199 ns 199 ns 3513925 38.3162MB/s BM_string_memcmp_aligned/64 386 ns 386 ns 1814038 158.192MB/s BM_string_memcmp_aligned/512 1735 ns 1735 ns 402279 281.502MB/s BM_string_memcmp_aligned/1024 3204 ns 3202 ns 218761 304.941MB/s BM_string_memcmp_aligned/8k 25577 ns 25569 ns 27406 305.548MB/s BM_string_memcmp_aligned/16k 52143 ns 52123 ns 13522 299.769MB/s BM_string_memcmp_aligned/32k 105169 ns 105127 ns 6637 297.26MB/s BM_string_memcmp_aligned/64k 206508 ns 206383 ns 3417 302.835MB/s BM_string_memcmp_unaligned/8 282 ns 282 ns 2482953 27.062MB/s BM_string_memcmp_unaligned/64 542 ns 541 ns 1298317 112.77MB/s BM_string_memcmp_unaligned/512 2152 ns 2152 ns 325267 226.915MB/s BM_string_memcmp_unaligned/1024 4025 ns 4025 ns 173904 242.622MB/s BM_string_memcmp_unaligned/8k 32276 ns 32271 ns 21818 242.09MB/s BM_string_memcmp_unaligned/16k 65970 ns 65970 ns 10554 236.851MB/s BM_string_memcmp_unaligned/32k 131241 ns 131242 ns 5129 238.11MB/s BM_string_memcmp_unaligned/64k 266159 ns 266160 ns 2661 234.821MB/s
* string: fix strverscmp doc inclusionYaakov Selkowitz2017-06-191-0/+3
| | | | Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
* string: add strverscmpYaakov Selkowitz2017-06-195-2/+118
| | | | | | The actual implementation is from musl (MIT license). Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
* Fix guard for siginfo_t and pthread_t definitionThomas Preud'homme2017-06-192-8/+12
| | | | | | | | | | | | | Commit 8a3b3bb4d7224d419cc1a4af60ccf7e70edc876b changed the guard on some functions from _POSIX_THREADS to __POSIX_VISIBLE. As a consequence, some use of siginfo_t and pthread_t became visible under configurations where _POSIX_THREADS is unset but __POSIX_VISIBLE is. Build then fails because the definition of those types are still unavailable. This commit make those type definition visible for __POSIX_VISIBLE configurations. This requires moving the siginfo_t definition out of the RTEMS specific definitions in sys/signal.h while still guarding it against cygwin case.
* Revert "Don't overread or write memory returned by _DTOA_R"Corinna Vinschen2017-06-191-13/+12
| | | | This reverts commit efaef1bba263501e1e7264833ddfc9b8c20f9ebc.
* Export XSI sigpauseYaakov Selkowitz2017-06-141-1/+13
| | | | | | | | | | There are two common sigpause variants, both of which take an int argument. If you request _XOPEN_SOURCE or _GNU_SOURCE, you get the System V version, which removes the given signal from the process's signal mask; otherwise you get the BSD version, which sets the process's signal mask to the given value. Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
* newlib/MAINTAINERS: Add OS maintainers section and myself for RTEMS and ↵Joel Sherrill2017-06-141-0/+7
| | | | Write After Approval.
* Feature test macros overhaul: signal.h (part 3)Yaakov Selkowitz2017-06-141-8/+16
| | | | | | | Notably, sigaction and friends are POSIX, but the form of sigpause currently provided is BSD. Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
* stdio.h: guard function macros with !__cplusplusYaakov Selkowitz2017-06-141-0/+2
| | | | | | | | While POSIX allows these functions to also be defined as macros in C, in C++ this is not allowed, and prevents these names (particularly feof) from being used in a custom namespace. Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
* ccoshl: Align formatting to upstreamAditya Upadhyay2017-06-141-6/+6
| | | | Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Importing ccoshl.c from netbsd.Aditya Upadhyay2017-06-133-4/+55
| | | | Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Remove FreeBSD specifics from RTEMS <arpa/inet.h>Sebastian Huber2017-06-121-21/+0
| | | | | | | | | For whatever reason FreeBSD renames several functions provided by <arpa/inet.h> and uses weak references to provide the standard function names. This causes problems on targets lacking proper support for weak references. We do not need this function renaming on RTEMS. Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de>
* Don't overread or write memory returned by _DTOA_RSilviu Baranga2017-06-091-12/+13
| | | | | | | | | | | | | | | Don't over-read memory returned by _DTOA_R, and never write to it since the result might be a string literal. For example, when doing: swprintf(tt, 20, L"%.*f", 6, 0.0); we will get back "0". Instead, write the result returned by _DTOA_R to the output buffer. After this, write the 0 chars directly to the the output buffer (if there are any). This also has the (marginal) advantage that we read/write less memory overall.
* Fix RTEMS ioctl() declarationSebastian Huber2017-06-071-2/+2
| | | | | | Using uint32_t for ioctl_command_t does not work well on 64-bit targets. Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de>
* Update FreeBSD revision of RTEMS <sys/bitset.h>Sebastian Huber2017-06-071-1/+1
| | | | Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de>
* Fix some RTEMS CPUSET(9) macrosSebastian Huber2017-06-071-11/+11
| | | | Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de>
* Fix RTEMS CPU_EQUAL_S()Sebastian Huber2017-06-071-2/+2
| | | | | | | According to the FreeBSD man page BIT_CMP() returns true in case the two sets are NOT equal. Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de>
* Add myself to Write After ApprovalSebastian Huber2017-06-071-0/+1
|
* Fix minor issues in memchr NEON implementationPrakhar Bahuguna2017-06-071-1/+2
|
* Print sign of NaN values.Kito Cheng2017-06-072-0/+8
|
* Add de-facto standard <sys/ioctl.h> for RTEMSSebastian Huber2017-05-253-0/+252
| | | | Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de>
* Add some POSIX header files for RTEMSSebastian Huber2017-05-2520-6/+4641
| | | | | | | | | | | | | | | | | | | | | Add the POSIX header files * arpa/inet.h * net/if.h * netdb.h * netinet/in.h * netinet/tcp.h * sys/socket.h * sys/syslog.h * sys/uio.h * sys/un.h * syslog.h * termios.h and their dependencies for RTEMS. The origin of these files is the latest FreeBSD. Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de>
* FreeBSD compatibility for RTEMS <sys/cpuset.h>Sebastian Huber2017-05-254-138/+402
| | | | | | | | | | | Make the RTEMS <sys/cpuset.h> compatible with the latest FreeBSD version. Fix the CPU_COPY() parameter order, see also: https://devel.rtems.org/ticket/3023 Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de>
* Add __bitcount*() to RTEMS <machine/types.h>Sebastian Huber2017-05-252-0/+92
| | | | | | | Use a dedicated header file <machine/_bitcount.h> to avoid cyclic header dependencies in future changes. Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de>
* Move ARM access.c from machine to sysSebastian Huber2017-05-255-14/+13
| | | | | | | | | The implementation of the POSIX access() function is nothing machine specific like memcpy(), etc. Move it back to the system domain. This avoids problems due to the include search order of the Newlib/GCC build which picks up machine includes before system includes. Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de>
* Increase MSIZE for RTEMSSebastian Huber2017-05-251-1/+1
| | | | | | | | Increase the MSIZE for RTEMS to be in line with the latest FreeBSD version. The legacy network stack of RTEMS will provides its own definition. Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de>
* FreeBSD compatibility for RTEMS <sys/param.h>Sebastian Huber2017-05-252-125/+180
| | | | | | | Update the RTEMS <machine/param.h> and <sys/param.h> to be compatible with the latest FreeBSD version. Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de>
* Add generic <machine/_align.h> for RTEMSSebastian Huber2017-05-252-11/+42
| | | | | | | It uses __BIGGEST_ALIGNMENT__ which is available in recent GCC and LLVM/clang. Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de>
* Add __packed to struct ldieeeKito Cheng2017-04-181-8/+9
| | | | | - We don't want any padding in struct ldieee, otherwise the offset might wrong in most compiler.
* newlib: remove __infinity{f,ld} constantsCorinna Vinschen2017-04-185-35/+6
| | | | | | | | | | | | | | | previous commit 4c90db7bc89e7fa1077025fefdd58269dc71a6ac introduced a compile time error because libm/common/s_infconst.c used the remove __fmath, __dmath, and __ldmath union types. Since this is very old, and unused for a very long time, just drop the file and thus the __infinity constants entirely. Exception: Cygwin exports __infinity from the beginning. There's a very, VERY low probability that any existing executable or lib still uses this constant, but we just keep it in for backward compat, nevertheless. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Remove legacy unions which are no longer usedJeff Johnston2017-04-171-23/+0
| | | | - remove __fmath, __dmath, and __ldmath unions
* Optimise memchr for NEON-enabled processorsPrakhar Bahuguna2017-04-062-2/+185
|
* Add BSD-specific reallocarray()Sebastian Huber2017-04-044-17/+68
| | | | | It is available in FreeBSD, NetBSD and OpenBSD, but not in glibc. It is used for example by OpenSSH.
* Renumber copyright clause 4imp2017-04-041-1/+1
| | | | | | | | | Renumber cluase 4 to 3, per what everybody else did when BSD granted them permission to remove clause 3. My insistance on keeping the same numbering for legal reasons is too pedantic, so give up on that point. Submitted by: Jan Schaumann <jschauma@stevens.edu> Pull Request: https://github.com/freebsd/freebsd/pull/96
* queue.3: Document existing QMD_* macroscem2017-04-041-0/+39
| | | | | | Feedback from: bapt, bdrewery, emaste Sponsored by: Dell EMC Isilon Differential Revision: https://reviews.freebsd.org/D3983
* queue(3): Enhance queue debugging macroscem2017-04-041-5/+37
| | | | | | | | | | | | | Split the QUEUE_MACRO_DEBUG into QUEUE_MACRO_DEBUG_TRACE and QUEUE_MACRO_DEBUG_TRASH. Add the debug macrso QMD_IS_TRASHED() and QMD_SLIST_CHECK_PREVPTR(). Document these in queue.3. Reviewed by: emaste Sponsored by: Dell EMC Isilon Differential Revision: https://reviews.freebsd.org/D3984