]> sourceware.org Git - newlib-cygwin.git/log
newlib-cygwin.git
6 years agocygwin: Export explicit_bzero
Yaakov Selkowitz [Wed, 2 Aug 2017 06:09:49 +0000 (01:09 -0500)]
cygwin: Export explicit_bzero

This was added to newlib together with timingsafe_*cmp but never exported.

Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
6 years agocygwin: generate Alt-Numpad characters independent of NumLock state
Corinna Vinschen [Tue, 1 Aug 2017 12:10:50 +0000 (14:10 +0200)]
cygwin: generate Alt-Numpad characters independent of NumLock state

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
6 years agocygwin: add console issues to release notes
Corinna Vinschen [Mon, 31 Jul 2017 21:08:19 +0000 (23:08 +0200)]
cygwin: add console issues to release notes

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
6 years agocygwin: select: use UNICODE console functions
Corinna Vinschen [Mon, 31 Jul 2017 20:57:06 +0000 (22:57 +0200)]
cygwin: select: use UNICODE console functions

For historical reasons peek_console was calling the functions
PeekConsoleInputA and ReadConsoleInputA.  However, these functions are
not working correctly under at least codepage 65001 (UTF-8) on systems
prior to Windows 10.

Use PeekConsoleInputW and ReadConsoleInputW instead, which work
correctly under all systems and all codepages.

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
6 years agocygwin: console: Use memset to clear an array
Corinna Vinschen [Mon, 31 Jul 2017 09:44:02 +0000 (11:44 +0200)]
cygwin: console: Use memset to clear an array

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
6 years agocygwin: clear screen using wide char function
Corinna Vinschen [Mon, 31 Jul 2017 09:43:35 +0000 (11:43 +0200)]
cygwin: clear screen using wide char function

FillConsoleOutputCharacterA doesn't work correctly in codepage 65001
(UTF-8).  Looks like the character conversion function from ascii char
to unicode char works incorrectly then.  Use FillConsoleOutputCharacterW
instead.

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
6 years agoImporting catanl long double complex method from NetBSD.
Aditya Upadhyay [Fri, 28 Jul 2017 17:29:40 +0000 (22:59 +0530)]
Importing catanl long double complex method from NetBSD.

6 years agoFixing HUGE_VALF to HUGE_VALL.
Aditya Upadhyay [Fri, 28 Jul 2017 17:34:34 +0000 (23:04 +0530)]
Fixing HUGE_VALF to HUGE_VALL.

6 years agostdio: Fix make rule override
Sebastian Huber [Fri, 28 Jul 2017 10:02:43 +0000 (12:02 +0200)]
stdio: Fix make rule override

The Makefile.am contained two rules for the vfwscanf object.

Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de>
6 years agonewlib: regenerate stdlib/Makefile.in
Corinna Vinschen [Fri, 28 Jul 2017 10:44:45 +0000 (12:44 +0200)]
newlib: regenerate stdlib/Makefile.in

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
6 years agoImporting imaxdiv inttypes method from FreeBSD.
Aditya Upadhyay [Tue, 25 Jul 2017 19:30:26 +0000 (01:00 +0530)]
Importing imaxdiv inttypes method from FreeBSD.

6 years agoImporting imaxabs inttypes method from FreeBSD.
Aditya Upadhyay [Tue, 25 Jul 2017 19:29:48 +0000 (00:59 +0530)]
Importing imaxabs inttypes method from FreeBSD.

6 years agocygwin: Set __STDC_ISO_10646__ to Unicode 5.2 value
Corinna Vinschen [Wed, 26 Jul 2017 09:49:58 +0000 (11:49 +0200)]
cygwin: Set __STDC_ISO_10646__ to Unicode 5.2 value

Now that XP is not supported anymore we can freely do that.

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
7 years agocygwin: add release notes for reparse point patches
Corinna Vinschen [Mon, 24 Jul 2017 21:04:34 +0000 (23:04 +0200)]
cygwin: add release notes for reparse point patches

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
7 years agocygwin: unify reparse point checking code into single function
Corinna Vinschen [Mon, 24 Jul 2017 15:33:20 +0000 (17:33 +0200)]
cygwin: unify reparse point checking code into single function

So far we had two functions checking the content of a reparse point,
readdir_check_reparse_point in fhandler_disk_file.cc for the sake of
readdir, and symlink_info::check_reparse_point for the sake of
generic path checking.

* Rename check_reparse_point_target helper to check_reparse_point_string
  and convert to static function.
* Create new check_reparse_point_target helper containing the core
  reparse point checking code
* Just call check_reparse_point_target from readdir_check_reparse_point
  and symlink_info::check_reparse_point and only perform the unique
  task in those functions.

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
7 years agocygwin: fix formatting in check_reparse_point_target
Corinna Vinschen [Mon, 24 Jul 2017 15:32:20 +0000 (17:32 +0200)]
cygwin: fix formatting in check_reparse_point_target

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
7 years agocygwin: Fix resource leak in readdir reparse point handling
Corinna Vinschen [Mon, 24 Jul 2017 15:26:17 +0000 (17:26 +0200)]
cygwin: Fix resource leak in readdir reparse point handling

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
7 years ago[arm] Fix strcpy for unified syntax on ARMv4t thumb.
Richard Earnshaw [Fri, 21 Jul 2017 10:22:25 +0000 (11:22 +0100)]
[arm] Fix strcpy for unified syntax on ARMv4t thumb.

ARMv4t does not support mov between two low registers.  Now we use
unified syntax mov instructions need converting to movs.

7 years agoPrevious patch to support nosys.specs accidentally broke validation specs because...
Tamar Christina [Thu, 20 Jul 2017 12:28:40 +0000 (13:28 +0100)]
Previous patch to support nosys.specs accidentally broke validation specs because ARM_RDI_MONITOR was never passed to the build rule for crt0.

This fixed the compile for nosys and validation specs
but nosys won't run because of existing limitations to
aarch64's syscalls.c, it requires semihosting to get
commandline arguments and heap info without having a
fallback method as ARM does.

Signed-off-by: Tamar Christina <tamar.christina@arm.com>
7 years agoMSP430: Define __BUFSIZ__ as 256 to prevent default of 1024 being used newlib-snapshot-20170720
Jozef Lawrynowicz [Mon, 10 Jul 2017 17:19:00 +0000 (17:19 +0000)]
MSP430: Define __BUFSIZ__ as 256 to prevent default of 1024 being used

7 years agoarm: Update strcpy.c to use UAL syntax.
Ian Tessier via newlib [Wed, 19 Jul 2017 21:02:43 +0000 (14:02 -0700)]
arm: Update strcpy.c to use UAL syntax.

With this change the arm platform can now be fully compiled with Clang.

Tested by comparing the output with GCC 4.8.2, and Clang 4.0, using a
variety of arches, big/little endianness, and arm/thumb mode to verify
the generated assembly output matches between GCC vs Clang with UAL, and
also GCC with UAL vs GCC with non-UAL, for all preprocessor code blocks.

The only difference found is an extra nop at the end of the function
when compiled with GCC using armv7-a/thumb/little-endian/-O2 compared to
Clang. The nop is not emitted when compiled in big-endian mode.

7 years agocygwin: add fflush fix to release notes
Corinna Vinschen [Wed, 19 Jul 2017 08:41:36 +0000 (10:41 +0200)]
cygwin: add fflush fix to release notes

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
7 years agocygwin: Bump DLL version to 2.8.3
Corinna Vinschen [Wed, 19 Jul 2017 08:38:15 +0000 (10:38 +0200)]
cygwin: Bump DLL version to 2.8.3

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
7 years agocygwin: Use errno instead of _impure_ptr->_errno
Corinna Vinschen [Wed, 19 Jul 2017 08:30:47 +0000 (10:30 +0200)]
cygwin: Use errno instead of _impure_ptr->_errno

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
7 years agoRevert "errno: Stop using _impure_ptr->_errno completely"
Corinna Vinschen [Wed, 19 Jul 2017 08:28:39 +0000 (10:28 +0200)]
Revert "errno: Stop using _impure_ptr->_errno completely"

This reverts commit 44b1746a41921533d27aca414a9188314cb725b6.

Bad idea.  _impure_ptr->_errno is used by newlib

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
7 years agoSupport building in a different directory than the default output directory by preser...
Tamar Christina [Mon, 17 Jul 2017 07:46:45 +0000 (08:46 +0100)]
Support building in a different directory than the default output directory by preserving DESTDIR value in recursive calls.

Signed-off-by: Tamar Christina <tamar.christina@arm.com>
7 years agoFix link when nosys.specs is used to link
Tamar Christina [Thu, 13 Jul 2017 10:52:42 +0000 (10:52 +0000)]
Fix link when nosys.specs is used to link

This patch fixes the issue where nosys.specs is used to link.
e.g. The use of crt0 without any support for semihosting requested.

The AArch64 crt0 was missing an #ifdef for the initialise_monitor_handles
which was causing the link to fail. Sorry for missing this before.

7 years agocygwin: 2.8.2: add missing release message text cygwin-2_8_2-release
Corinna Vinschen [Wed, 12 Jul 2017 08:49:10 +0000 (10:49 +0200)]
cygwin: 2.8.2: add missing release message text

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
7 years agocygwin: document signal.h fixes
Yaakov Selkowitz [Wed, 12 Jul 2017 08:24:50 +0000 (03:24 -0500)]
cygwin: document signal.h fixes

Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
7 years agoSynchronize RTEMS <sys/bitset.h> with FreeBSD
Sebastian Huber [Wed, 12 Jul 2017 06:03:29 +0000 (08:03 +0200)]
Synchronize RTEMS <sys/bitset.h> with FreeBSD

Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de>
7 years agocygwin: export fls, flsl, flsll
Corinna Vinschen [Tue, 11 Jul 2017 08:31:44 +0000 (10:31 +0200)]
cygwin: export fls, flsl, flsll

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
7 years agoCygwin: fix guard on struct siginfo_t
Yaakov Selkowitz [Fri, 7 Jul 2017 22:33:59 +0000 (17:33 -0500)]
Cygwin: fix guard on struct siginfo_t

Add line breaks to make it clearer that the struct packing applies to more
than one struct.

Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
7 years agoAdd myself to OS Port Maintainers (RTEMS)
Sebastian Huber [Fri, 7 Jul 2017 05:11:47 +0000 (07:11 +0200)]
Add myself to OS Port Maintainers (RTEMS)

7 years agoSynchronize RTEMS <sys/bitset.h> with FreeBSD
Sebastian Huber [Fri, 7 Jul 2017 05:07:19 +0000 (07:07 +0200)]
Synchronize RTEMS <sys/bitset.h> with FreeBSD

Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de>
7 years agoRename __in and __out in headers to avoid collision with Windows APIs
David Macek [Fri, 7 Jul 2017 08:47:02 +0000 (10:47 +0200)]
Rename __in and __out in headers to avoid collision with Windows APIs

* string.h: Local variables in expansion of strdupa and strndupa
* sys/wait.h: Fields in anonymous union in expansion of __wait_status_to_int

7 years agofix URL shortcuts launch with cygstart, create shortcuts directly in SM/Programs...
Brian Inglis [Thu, 6 Jul 2017 09:35:34 +0000 (03:35 -0600)]
fix URL shortcuts launch with cygstart, create shortcuts directly in SM/Programs/Cygwin

7 years agoReplace the perl character classes with POSIX ones to fix the build when sed is a...
Tamar Christina [Thu, 6 Jul 2017 09:33:31 +0000 (10:33 +0100)]
Replace the perl character classes with POSIX ones to fix the build when sed is a BSD sed instead of GNU.

Signed-off-by: Tamar Christina <tamar.christina@arm.com>
7 years agofix cygwin-doc postinstall/preremove no SMPrograms/Cygwin dir
Brian Inglis [Wed, 5 Jul 2017 18:28:54 +0000 (12:28 -0600)]
fix cygwin-doc postinstall/preremove no SMPrograms/Cygwin dir

7 years agoAdd support for Semihosting v2 support for AArch64 in libgloss.
Tamar Christina [Wed, 5 Jul 2017 12:04:59 +0000 (13:04 +0100)]
Add support for Semihosting v2 support for AArch64 in libgloss.

Semihosting v2 changes are documented here:
https://developer.arm.com/docs/100863/latest/

The biggest change is the addition of an extensions mechanism
to add more extensions in the future.

Signed-off-by: Tamar Christina <tamar.christina@arm.com>
7 years agoAdd support for Semihosting v2 support for ARM in libgloss.
Tamar Christina [Wed, 5 Jul 2017 12:04:07 +0000 (13:04 +0100)]
Add support for Semihosting v2 support for ARM in libgloss.

Semihosting v2 changes are documented here:
https://developer.arm.com/docs/100863/latest/

The biggest change is the addition of an extensions mechanism
to add more extensions in the future.

Signed-off-by: Tamar Christina <tamar.christina@arm.com>
7 years agoAdd the needed build system changes in order to compile and create the new libraries...
Tamar Christina [Wed, 5 Jul 2017 12:02:30 +0000 (13:02 +0100)]
Add the needed build system changes in order to compile and create the new libraries for Semihosting v2 for ARM.

This uses the new recursive build target in multi-build.in

The new spec files are:

For AArch32/ARM (m for mixed mode):
  - rdimon-v2m.specs
  - aprofile-validation-v2m.specs
  - aprofile-ve-v2m.specs

These spec files will be using the new libraries generated
by multi-build.in.

Signed-off-by: Tamar Christina <tamar.christina@arm.com>
7 years agoAdds the needed build system changes in order to compile and create the new libraries...
Tamar Christina [Wed, 5 Jul 2017 12:00:23 +0000 (13:00 +0100)]
Adds the needed build system changes in order to compile and create the new libraries for Semihosting v2.

This uses the new recursive build target in multi-build.in

For AArch64 no new spec files are needed but the makefiles
are modified to keep them in sync with the ARM ones.

Signed-off-by: Tamar Christina <tamar.christina@arm.com>
7 years agoCreate a recursive make target that is modeled after the existing multilib makefile...
Tamar Christina [Wed, 5 Jul 2017 11:54:52 +0000 (12:54 +0100)]
Create a recursive make target that is modeled after the existing multilib makefile config-ml.in which can be used to build the same files within a target multiple ways.

e.g. from the same source file produce multiple libs by varying the
options passed to the compiler.

Signed-off-by: Tamar Christina <tamar.christina@arm.com>
7 years agoFixed warnings for some long double complex methods
Aditya Upadhyay [Wed, 5 Jul 2017 08:58:36 +0000 (14:28 +0530)]
Fixed warnings for some long double complex methods

7 years agoAdd ffsl(), ffsll(), fls(), flsl(), flsll()
Sebastian Huber [Tue, 4 Jul 2017 10:56:22 +0000 (12:56 +0200)]
Add ffsl(), ffsll(), fls(), flsl(), flsll()

Use compiler builtin for ffs().  Remove duplicate implementation from
Cygwin.

Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de>
7 years agoSynchronize <strings.h> with latest FreeBSD
Sebastian Huber [Tue, 4 Jul 2017 09:49:58 +0000 (11:49 +0200)]
Synchronize <strings.h> with latest FreeBSD

Include <strings.h> in <string.h> if __BSD_VISIBLE like on FreeBSD.
Remove redundant declarations from <string.h>.  Make ffsl(), ffsll(),
strncasecmp(), strcasecmp_l(), and strncasecmp_l() visible via
__BSD_VISIBLE instead of __GNU_VISIBLE.  Add fls(), flsl(), and flsll()
to <strings.h> if __BSD_VISIBLE.

Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de>
7 years agoImplement bzero() via memset()
Sebastian Huber [Tue, 4 Jul 2017 12:25:28 +0000 (14:25 +0200)]
Implement bzero() via memset()

Use memset() to implement bzero() to profit from machine-specific
memset() optimizations.

Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de>
7 years agoCygwin: fix signal.h with _POSIX_C_SOURCE=1
Yaakov Selkowitz [Tue, 4 Jul 2017 23:10:02 +0000 (18:10 -0500)]
Cygwin: fix signal.h with _POSIX_C_SOURCE=1

struct sigaction is POSIX.1-1990 but siginfo_t, which is used by its
sa_sigaction member, is POSIX.1b-1993.  Therefore it needs to be guarded
as well, and as part of a union, the struct size is protected.

Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
7 years agoadd scandirat patch to release notes
Corinna Vinschen [Tue, 4 Jul 2017 13:13:31 +0000 (15:13 +0200)]
add scandirat patch to release notes

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
7 years agocygwin: scandirat: fix path given to scandir
Corinna Vinschen [Tue, 4 Jul 2017 13:11:06 +0000 (15:11 +0200)]
cygwin: scandirat: fix path given to scandir

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
7 years agoBump DLL minor version
Corinna Vinschen [Tue, 4 Jul 2017 13:10:27 +0000 (15:10 +0200)]
Bump DLL minor version

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
7 years agoFeature test macros overhaul: unistd.h, part 2 cygwin-2_8_1-release
Yaakov Selkowitz [Thu, 29 Jun 2017 18:45:46 +0000 (13:45 -0500)]
Feature test macros overhaul: unistd.h, part 2

This fixes commit f70aad3de4d845f8b720010a2f8817db842d81e8 as well as some
other functions which were never properly guarded.

Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
7 years agoAdd --enable-newlib-global-stdio-streams
Sebastian Huber [Thu, 29 Jun 2017 05:28:08 +0000 (07:28 +0200)]
Add --enable-newlib-global-stdio-streams

Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de>
7 years agoEnable _REENT_GLOBAL_STDIO_STREAMS for RTEMS
Sebastian Huber [Thu, 29 Jun 2017 06:17:04 +0000 (08:17 +0200)]
Enable _REENT_GLOBAL_STDIO_STREAMS for RTEMS

Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de>
7 years agoIntroduce _REENT_GLOBAL_STDIO_STREAMS
Sebastian Huber [Thu, 22 Jun 2017 07:22:47 +0000 (09:22 +0200)]
Introduce _REENT_GLOBAL_STDIO_STREAMS

In Newlib, the stdio streams are defined to thread-specific pointers
_reent::_stdin, _reent::_stdout and _reent::_stderr.  In case
_REENT_SMALL is not defined, then these pointers are initialized via
_REENT_INIT_PTR() or _REENT_INIT_PTR_ZEROED() to thread-specific FILE
objects provided via _reent::__sf[3].  There are two problems with this
(at least in case of RTEMS).

(1) The thread-specific FILE objects are closed by _reclaim_reent().
This leads to problems with language run-time libraries that provide
wrappers to the C/POSIX stdio streams (e.g.  C++ and Ada), since they
use the thread-specific FILE objects of the initialization thread.  In
case the initialization thread is deleted, then they use freed memory.

(2) Since thread-specific FILE objects are used with a common output
device via file descriptors 0, 1 and 2, the locking at FILE object level
cannot ensure atomicity of the output, e.g. a call to printf().

Introduce a new Newlib configuration option _REENT_GLOBAL_STDIO_STREAMS
to enable the use of global stdio FILE objects.

As a side-effect this reduces the size of struct _reent by more than
50%.

The _REENT_GLOBAL_STDIO_STREAMS should not be used without
_STDIO_CLOSE_PER_REENT_STD_STREAMS.

Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de>
7 years agoAdd stdin_init(), stdout_init() and stderr_init()
Sebastian Huber [Fri, 23 Jun 2017 07:48:58 +0000 (09:48 +0200)]
Add stdin_init(), stdout_init() and stderr_init()

This simplifies further changes in this area.

Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de>
7 years agoRemove superfluous parameter from std()
Sebastian Huber [Fri, 23 Jun 2017 07:22:37 +0000 (09:22 +0200)]
Remove superfluous parameter from std()

Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de>
7 years agoOptimized memcmp
Wilco Dijkstra [Thu, 29 Jun 2017 14:32:09 +0000 (14:32 +0000)]
Optimized memcmp

This is an optimized memcmp for AArch64.  This is a complete rewrite
using a different algorithm.  The previous version split into cases
where both inputs were aligned, the inputs were mutually aligned and
unaligned using a byte loop.  The new version combines all these cases,
while small inputs of less than 8 bytes are handled separately.

This allows the main code to be sped up using unaligned loads since
there are now at least 8 bytes to be compared.  After the first 8 bytes,
align the first input.  This ensures each iteration does at most one
unaligned access and mutually aligned inputs behave as aligned.
After the main loop, process the last 8 bytes using unaligned accesses.

This improves performance of (mutually) aligned cases by 25% and
unaligned by >500% (yes >6 times faster) on large inputs.

ChangeLog:
2017-06-28  Wilco Dijkstra  <wdijkstr@arm.com>

        * newlib/libc/machine/aarch64/memcmp.S (memcmp):
        Rewrite of optimized memcmp.

GLIBC benchtests/bench-memcmp.c performance comparison for Cortex-A53:

Length    1, alignment  1/ 1: 153%
Length    1, alignment  1/ 1: 119%
Length    1, alignment  1/ 1: 154%
Length    2, alignment  2/ 2: 121%
Length    2, alignment  2/ 2: 140%
Length    2, alignment  2/ 2: 121%
Length    3, alignment  3/ 3: 105%
Length    3, alignment  3/ 3: 105%
Length    3, alignment  3/ 3: 105%
Length    4, alignment  4/ 4: 155%
Length    4, alignment  4/ 4: 154%
Length    4, alignment  4/ 4: 161%
Length    5, alignment  5/ 5: 173%
Length    5, alignment  5/ 5: 173%
Length    5, alignment  5/ 5: 173%
Length    6, alignment  6/ 6: 145%
Length    6, alignment  6/ 6: 145%
Length    6, alignment  6/ 6: 145%
Length    7, alignment  7/ 7: 125%
Length    7, alignment  7/ 7: 125%
Length    7, alignment  7/ 7: 125%
Length    8, alignment  8/ 8: 111%
Length    8, alignment  8/ 8: 130%
Length    8, alignment  8/ 8: 124%
Length    9, alignment  9/ 9: 160%
Length    9, alignment  9/ 9: 160%
Length    9, alignment  9/ 9: 150%
Length   10, alignment 10/10: 170%
Length   10, alignment 10/10: 137%
Length   10, alignment 10/10: 150%
Length   11, alignment 11/11: 160%
Length   11, alignment 11/11: 160%
Length   11, alignment 11/11: 160%
Length   12, alignment 12/12: 146%
Length   12, alignment 12/12: 168%
Length   12, alignment 12/12: 156%
Length   13, alignment 13/13: 167%
Length   13, alignment 13/13: 167%
Length   13, alignment 13/13: 173%
Length   14, alignment 14/14: 167%
Length   14, alignment 14/14: 168%
Length   14, alignment 14/14: 168%
Length   15, alignment 15/15: 168%
Length   15, alignment 15/15: 173%
Length   15, alignment 15/15: 173%
Length    1, alignment  0/ 0: 134%
Length    1, alignment  0/ 0: 127%
Length    1, alignment  0/ 0: 119%
Length    2, alignment  0/ 0: 94%
Length    2, alignment  0/ 0: 94%
Length    2, alignment  0/ 0: 106%
Length    3, alignment  0/ 0: 82%
Length    3, alignment  0/ 0: 87%
Length    3, alignment  0/ 0: 82%
Length    4, alignment  0/ 0: 115%
Length    4, alignment  0/ 0: 115%
Length    4, alignment  0/ 0: 122%
Length    5, alignment  0/ 0: 127%
Length    5, alignment  0/ 0: 119%
Length    5, alignment  0/ 0: 127%
Length    6, alignment  0/ 0: 103%
Length    6, alignment  0/ 0: 100%
Length    6, alignment  0/ 0: 100%
Length    7, alignment  0/ 0: 82%
Length    7, alignment  0/ 0: 91%
Length    7, alignment  0/ 0: 87%
Length    8, alignment  0/ 0: 111%
Length    8, alignment  0/ 0: 124%
Length    8, alignment  0/ 0: 124%
Length    9, alignment  0/ 0: 136%
Length    9, alignment  0/ 0: 136%
Length    9, alignment  0/ 0: 136%
Length   10, alignment  0/ 0: 136%
Length   10, alignment  0/ 0: 135%
Length   10, alignment  0/ 0: 136%
Length   11, alignment  0/ 0: 136%
Length   11, alignment  0/ 0: 136%
Length   11, alignment  0/ 0: 135%
Length   12, alignment  0/ 0: 136%
Length   12, alignment  0/ 0: 136%
Length   12, alignment  0/ 0: 136%
Length   13, alignment  0/ 0: 135%
Length   13, alignment  0/ 0: 136%
Length   13, alignment  0/ 0: 136%
Length   14, alignment  0/ 0: 136%
Length   14, alignment  0/ 0: 136%
Length   14, alignment  0/ 0: 136%
Length   15, alignment  0/ 0: 136%
Length   15, alignment  0/ 0: 136%
Length   15, alignment  0/ 0: 136%
Length    4, alignment  0/ 0: 115%
Length    4, alignment  0/ 0: 115%
Length    4, alignment  0/ 0: 115%
Length   32, alignment  0/ 0: 127%
Length   32, alignment  7/ 2: 395%
Length   32, alignment  0/ 0: 127%
Length   32, alignment  0/ 0: 127%
Length    8, alignment  0/ 0: 111%
Length    8, alignment  0/ 0: 124%
Length    8, alignment  0/ 0: 124%
Length   64, alignment  0/ 0: 128%
Length   64, alignment  6/ 4: 475%
Length   64, alignment  0/ 0: 131%
Length   64, alignment  0/ 0: 134%
Length   16, alignment  0/ 0: 128%
Length   16, alignment  0/ 0: 119%
Length   16, alignment  0/ 0: 128%
Length  128, alignment  0/ 0: 129%
Length  128, alignment  5/ 6: 475%
Length  128, alignment  0/ 0: 130%
Length  128, alignment  0/ 0: 129%
Length   32, alignment  0/ 0: 126%
Length   32, alignment  0/ 0: 126%
Length   32, alignment  0/ 0: 126%
Length  256, alignment  0/ 0: 127%
Length  256, alignment  4/ 8: 545%
Length  256, alignment  0/ 0: 126%
Length  256, alignment  0/ 0: 128%
Length   64, alignment  0/ 0: 171%
Length   64, alignment  0/ 0: 171%
Length   64, alignment  0/ 0: 174%
Length  512, alignment  0/ 0: 126%
Length  512, alignment  3/10: 585%
Length  512, alignment  0/ 0: 126%
Length  512, alignment  0/ 0: 127%
Length  128, alignment  0/ 0: 129%
Length  128, alignment  0/ 0: 128%
Length  128, alignment  0/ 0: 129%
Length 1024, alignment  0/ 0: 125%
Length 1024, alignment  2/12: 611%
Length 1024, alignment  0/ 0: 126%
Length 1024, alignment  0/ 0: 126%
Length  256, alignment  0/ 0: 128%
Length  256, alignment  0/ 0: 127%
Length  256, alignment  0/ 0: 128%
Length 2048, alignment  0/ 0: 125%
Length 2048, alignment  1/14: 625%
Length 2048, alignment  0/ 0: 125%
Length 2048, alignment  0/ 0: 125%
Length  512, alignment  0/ 0: 126%
Length  512, alignment  0/ 0: 127%
Length  512, alignment  0/ 0: 127%
Length 4096, alignment  0/ 0: 125%
Length 4096, alignment  0/16: 125%
Length 4096, alignment  0/ 0: 125%
Length 4096, alignment  0/ 0: 125%
Length 1024, alignment  0/ 0: 126%
Length 1024, alignment  0/ 0: 126%
Length 1024, alignment  0/ 0: 126%
Length 8192, alignment  0/ 0: 125%
Length 8192, alignment 63/18: 636%
Length 8192, alignment  0/ 0: 125%
Length 8192, alignment  0/ 0: 125%
Length   16, alignment  1/ 2: 317%
Length   16, alignment  1/ 2: 317%
Length   16, alignment  1/ 2: 317%
Length   32, alignment  2/ 4: 395%
Length   32, alignment  2/ 4: 395%
Length   32, alignment  2/ 4: 398%
Length   64, alignment  3/ 6: 475%
Length   64, alignment  3/ 6: 475%
Length   64, alignment  3/ 6: 477%
Length  128, alignment  4/ 8: 479%
Length  128, alignment  4/ 8: 479%
Length  128, alignment  4/ 8: 479%
Length  256, alignment  5/10: 543%
Length  256, alignment  5/10: 539%
Length  256, alignment  5/10: 543%
Length  512, alignment  6/12: 585%
Length  512, alignment  6/12: 585%
Length  512, alignment  6/12: 585%
Length 1024, alignment  7/14: 611%
Length 1024, alignment  7/14: 611%
Length 1024, alignment  7/14: 611%

7 years agonewlib: fix file mode of newly added complex sources
Corinna Vinschen [Thu, 29 Jun 2017 13:30:35 +0000 (15:30 +0200)]
newlib: fix file mode of newly added complex sources

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
7 years agonewlib: libm/complex/Makefile.in: regenerate
Corinna Vinschen [Thu, 29 Jun 2017 11:55:10 +0000 (13:55 +0200)]
newlib: libm/complex/Makefile.in: regenerate

7 years agoAdding csinl.c in Makefile.am
Aditya Upadhyay [Thu, 29 Jun 2017 07:06:09 +0000 (12:36 +0530)]
Adding csinl.c in Makefile.am

Signed-off-by: Aditya Upadhyay <aadit0402@gmail.com>
7 years agoImporting csinl.c from NetBSD.
Aditya Upadhyay [Wed, 28 Jun 2017 20:24:32 +0000 (01:54 +0530)]
Importing csinl.c from NetBSD.

7 years agoImporting csinhl.c from NetBSD.
Aditya Upadhyay [Wed, 28 Jun 2017 20:24:09 +0000 (01:54 +0530)]
Importing csinhl.c from NetBSD.

7 years agoImporting casinhl.c from NetBSD.
Aditya Upadhyay [Wed, 28 Jun 2017 20:23:34 +0000 (01:53 +0530)]
Importing casinhl.c from NetBSD.

7 years agoImporting ctanl.c from NetBSD.
Aditya Upadhyay [Wed, 28 Jun 2017 20:12:07 +0000 (01:42 +0530)]
Importing ctanl.c from NetBSD.

7 years agoImporting ctanhl.c from NetBSD.
Aditya Upadhyay [Wed, 28 Jun 2017 20:11:21 +0000 (01:41 +0530)]
Importing ctanhl.c from NetBSD.

7 years agoImporting cpowl.c from NetBSD.
Aditya Upadhyay [Wed, 28 Jun 2017 20:10:31 +0000 (01:40 +0530)]
Importing cpowl.c from NetBSD.

7 years agoImporting conjl.c from NetBSD.
Aditya Upadhyay [Wed, 28 Jun 2017 20:09:48 +0000 (01:39 +0530)]
Importing conjl.c from NetBSD.

7 years agoImporting catanhl.c from NetBSD.
Aditya Upadhyay [Wed, 28 Jun 2017 20:08:54 +0000 (01:38 +0530)]
Importing catanhl.c from NetBSD.

7 years agoImporting casinl.c from NetBSD.
Aditya Upadhyay [Wed, 28 Jun 2017 20:08:01 +0000 (01:38 +0530)]
Importing casinl.c from NetBSD.

7 years agoImporting ccosl.c from NetBSD.
Aditya Upadhyay [Wed, 28 Jun 2017 20:06:47 +0000 (01:36 +0530)]
Importing ccosl.c from NetBSD.

7 years agoImporting cacosl.c from NetBSD.
Aditya Upadhyay [Wed, 28 Jun 2017 20:05:44 +0000 (01:35 +0530)]
Importing cacosl.c from NetBSD.

7 years agoAdding cephes_subrl.h and cephes_subrl.c from NetBSD.
Aditya Upadhyay [Wed, 28 Jun 2017 20:04:23 +0000 (01:34 +0530)]
Adding cephes_subrl.h and cephes_subrl.c from NetBSD.

7 years agoImporting cexpl.c from NetBSD.
Aditya Upadhyay [Wed, 28 Jun 2017 20:02:00 +0000 (01:32 +0530)]
Importing cexpl.c from NetBSD.

7 years agoImporting cprojl.c from NetBSD.
Aditya Upadhyay [Wed, 28 Jun 2017 20:01:22 +0000 (01:31 +0530)]
Importing cprojl.c from NetBSD.

7 years agoImporting cargl.c from NetBSD.
Aditya Upadhyay [Wed, 28 Jun 2017 20:00:47 +0000 (01:30 +0530)]
Importing cargl.c from NetBSD.

7 years agoImporting csqrtl.c from NetBSD.
Aditya Upadhyay [Wed, 28 Jun 2017 19:58:51 +0000 (01:28 +0530)]
Importing csqrtl.c from NetBSD.

7 years agoImporting clogl.c from NetBSD.
Aditya Upadhyay [Wed, 28 Jun 2017 19:57:48 +0000 (01:27 +0530)]
Importing clogl.c from NetBSD.

7 years agoImporting cacoshl.c from NetBSD.
Aditya Upadhyay [Wed, 28 Jun 2017 19:55:21 +0000 (01:25 +0530)]
Importing cacoshl.c from NetBSD.

7 years agounistd.h: Remove trailing whitespace
Dionna Glaze [Thu, 29 Jun 2017 06:34:19 +0000 (08:34 +0200)]
unistd.h: Remove trailing whitespace

7 years agounistd.h: remove mktemp
Corinna Vinschen [Thu, 29 Jun 2017 06:32:33 +0000 (08:32 +0200)]
unistd.h: remove mktemp

mktemp is already correctly declared in stdlib.h

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
7 years agoMake gethostname, getdtablesize, mktemp, ualarm available in BSD, XOPEN_SOURCE >...
Dionna Glaze [Thu, 29 Jun 2017 06:30:04 +0000 (08:30 +0200)]
Make gethostname, getdtablesize, mktemp, ualarm available in BSD, XOPEN_SOURCE >= 500.

7 years agoreplace shortcut parameter assignments with read loops, run with sh
Brian Inglis [Mon, 26 Jun 2017 19:43:40 +0000 (13:43 -0600)]
replace shortcut parameter assignments with read loops, run with sh

7 years agoaarch64: optimize the unaligned case of memcmp
Sebastian Pop [Fri, 23 Jun 2017 20:23:09 +0000 (15:23 -0500)]
aarch64: optimize the unaligned case of memcmp

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

7 years agocygwin: doc: Fix doc install path in postinstall script
Corinna Vinschen [Fri, 23 Jun 2017 18:24:49 +0000 (20:24 +0200)]
cygwin: doc: Fix doc install path in postinstall script

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
7 years agoUpdate documentation of cygwin setup proxy configuration details newlib-snapshot-20170623
Jon Turney [Mon, 19 Jun 2017 16:18:36 +0000 (17:18 +0100)]
Update documentation of cygwin setup proxy configuration details

7 years agoUpdate and sort list of cygwin setup command line options.
Jon Turney [Fri, 26 May 2017 11:23:39 +0000 (12:23 +0100)]
Update and sort list of cygwin setup command line options.

7 years agoNote regtool fix in release message
Corinna Vinschen [Thu, 22 Jun 2017 12:48:43 +0000 (14:48 +0200)]
Note regtool fix in release message

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
7 years agocygwin: regtool: encode error messages correctly
Fujii Hironori [Tue, 20 Jun 2017 11:17:09 +0000 (13:17 +0200)]
cygwin: regtool: encode error messages correctly

Error messages of regtool can't be read, which are encoded in,
for instance, SHIFT_JIS in Japanese Windows.  Fix by using
wide chars instead of multibyte.

7 years agoRevert "cygserver: Revamp thread sleep handling"
Corinna Vinschen [Tue, 20 Jun 2017 11:09:07 +0000 (13:09 +0200)]
Revert "cygserver: Revamp thread sleep handling"

This reverts commit b80b2c011936f7f075b76b6e59f9e8a5ec49caa1.

7 years agocygwin: readdir: Activate check for remote reparse points
Corinna Vinschen [Tue, 20 Jun 2017 08:06:17 +0000 (10:06 +0200)]
cygwin: readdir: Activate check for remote reparse points

Fix and move comment accordingly.

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
7 years agoCompatibility improvements to reparse point handling.
Joe_Lowe [Wed, 14 Jun 2017 20:01:28 +0000 (13:01 -0700)]
Compatibility improvements to reparse point handling.

7 years agostring: fix strverscmp doc inclusion
Yaakov Selkowitz [Mon, 19 Jun 2017 16:52:02 +0000 (11:52 -0500)]
string: fix strverscmp doc inclusion

Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
7 years agocygwin: export strverscmp, add versionsort
Yaakov Selkowitz [Wed, 14 Jun 2017 20:26:38 +0000 (15:26 -0500)]
cygwin: export strverscmp, add versionsort

Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
7 years agostring: add strverscmp
Yaakov Selkowitz [Wed, 14 Jun 2017 20:22:00 +0000 (15:22 -0500)]
string: add strverscmp

The actual implementation is from musl (MIT license).

Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
7 years agoFix guard for siginfo_t and pthread_t definition
Thomas Preud'homme [Thu, 15 Jun 2017 13:09:39 +0000 (14:09 +0100)]
Fix guard for siginfo_t and pthread_t definition

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.

7 years agoRevert "Don't overread or write memory returned by _DTOA_R"
Corinna Vinschen [Mon, 19 Jun 2017 10:57:16 +0000 (12:57 +0200)]
Revert "Don't overread or write memory returned by _DTOA_R"

This reverts commit efaef1bba263501e1e7264833ddfc9b8c20f9ebc.

7 years agoEnsure that send() interrupted by a signal returns sucessfully
Erik M. Bray [Thu, 15 Jun 2017 13:30:08 +0000 (15:30 +0200)]
Ensure that send() interrupted by a signal returns sucessfully

When SA_RESTART is not set on a socket, a blocking send() that is
interrupted mid-transition by a signal should return success (and
report just how many bytes were actually transmitted).

The err variable used here was not always guaranteed to be set
correctly in the loop, so better to just remove it and call
WSAGetLastError() explicitly.

7 years agocygwin: document XSI sigpause
Yaakov Selkowitz [Wed, 14 Jun 2017 19:30:44 +0000 (14:30 -0500)]
cygwin: document XSI sigpause

Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
7 years agoExport XSI sigpause
Yaakov Selkowitz [Wed, 14 Jun 2017 15:20:05 +0000 (10:20 -0500)]
Export XSI sigpause

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>
This page took 0.072387 seconds and 5 git commands to generate.