]> sourceware.org Git - newlib-cygwin.git/log
newlib-cygwin.git
8 years agoGet rid of some special cases for Cygwin in sys/types.h
Corinna Vinschen [Wed, 13 Apr 2016 19:00:17 +0000 (21:00 +0200)]
Get rid of some special cases for Cygwin in sys/types.h

Remove off_t typedef from cygwin/types.h thus relying on sys/types.h.
Introduce winsup/cygwin/machine/_types.h and move some types shared
with newlib into it.  Get rid of their definition in cygwin/types.h.
Add same handling for __key_t/key_t as for the other types.

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
8 years agoAdd BSD guards for off_t, dev_t, uid_t, and gid_t
Sebastian Huber [Wed, 13 Apr 2016 11:10:16 +0000 (13:10 +0200)]
Add BSD guards for off_t, dev_t, uid_t, and gid_t

Copy definitions of off_t, dev_t, uid_t, and gid_t verbatim from latest
FreeBSD <sys/types.h>.

Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de>
8 years agoEliminate use of Newlib-specific <machine/types.h>
Sebastian Huber [Wed, 13 Apr 2016 11:10:15 +0000 (13:10 +0200)]
Eliminate use of Newlib-specific <machine/types.h>

This change solves a glibc/BSD compatibility problem.

glibc and BSD use double underscore types for internal types.  The Linux
port of Newlib uses some glibc provided internal type definitions which
are not protected by guard defines, e.g. __off_t.  To avoid a conflict
Newlib uses single underscore types for some internal types, e.g.
_off_t.  However, for BSD compatibility we have to define the internal
types with double underscore names in <sys/_types.h>.

The header file <machine/types.h> is Newlib-specific.  It was used
instead of <sys/_types.h> to provide the internal type definitions
_CLOCK_T, _TIME_T_, _CLOCKID_T_, _TIMER_T_, and __suseconds_t.  Move
these definitions to <sys/_types.h> (there exist two instances of this
file, one for Linux and one for all other targets).  This makes the
_HAVE_SYSTYPES configuration define obsolete (could possibly break the
__RDOS__ target).  Use the standard <sys/_types.h> include throughout.

Move __loff_t defintion to default (non-Linux) <sys/_types.h>.  Define
it via _off64_t to avoid a dependency on the compiler.

Provide the __off_t definition via default (non-Linux) <sys/_types.h>
based on _off_t for all systems except Cygwin.  For Cygwin use _off64_t.
Define off_t via __off_t.

Provide the __pid_t definition via default (non-Linux) <sys/_types.h>.
This prevents a potential __pid_t and pid_t incompatibility.  Add BSD
guard defines for pid_t.

Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de>
8 years agoAdd Cygwin 2.5.1 release message file
Corinna Vinschen [Tue, 12 Apr 2016 13:26:53 +0000 (15:26 +0200)]
Add Cygwin 2.5.1 release message file

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
8 years agoReformat comments in Cygwin's version.h, remove very outdated info
Corinna Vinschen [Tue, 12 Apr 2016 13:23:41 +0000 (15:23 +0200)]
Reformat comments in Cygwin's version.h, remove very outdated info

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
8 years agoBump Cygwin DLL version to 2.5.1.
Corinna Vinschen [Tue, 12 Apr 2016 13:18:29 +0000 (15:18 +0200)]
Bump Cygwin DLL version to 2.5.1.

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
8 years agostrxfrm/wcsxfrm: Always return length of the transformed string
Corinna Vinschen [Tue, 12 Apr 2016 13:06:05 +0000 (15:06 +0200)]
strxfrm/wcsxfrm: Always return length of the transformed string

Cygwin's strxfrm/wcsfrm treated a too short output buffer as an error
condition and always returned the size value provided as third parameter.
This is not as it's documented in POSIX.1-2008.  Rather, the only error
condition is an invalid input string(*).

Other than that, the functions are supposed to return the length of the
resulting sort key, even if the output buffer is too small.  In the latter
case the content of the output array is unspecified, but it's the job
of the application to check that the return value is greater or equal to
the provided buffer size.

(*) We have to make an exception in Cygwin:  strxfrm has to call the
    UNICODE function LCMapStringW for reasons outlined in a source comment.
    If the incoming multibyte string is so large that we fail to malloc
    the space required to convert it to a wchar_t string, we have to
    ser errno as well since we have nothing to call LCMapStringW with.

* nlsfuncs.cc (wcsxfrm): Fix expression computing offset of
trailing wchar_t NUL.  Compute correct return value even if
output buffer is too small.
(strxfrm): Handle failing malloc.  Compute correct return value
even if output buffer is too small.

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
8 years agoMove kernel dependent parts of <sys/time.h> cygwin-2_5_0-release
Sebastian Huber [Thu, 7 Apr 2016 10:58:43 +0000 (12:58 +0200)]
Move kernel dependent parts of <sys/time.h>

Move the kernel dependent parts of <sys/time.h> to new system-specific
header file <machine/_time.h>.  Provide an empty default implementation.
Add a specialized implementation for RTEMS.

Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de>
8 years agomath: fix isinf/isnan on SPU after move to math.h
Yaakov Selkowitz [Thu, 7 Apr 2016 01:33:48 +0000 (20:33 -0500)]
math: fix isinf/isnan on SPU after move to math.h

Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
8 years agoDrop <unistd.h> include from RTEMS <sys/param.h>
Sebastian Huber [Thu, 7 Apr 2016 10:58:44 +0000 (12:58 +0200)]
Drop <unistd.h> include from RTEMS <sys/param.h>

This include is not present in default Newlib, glibc and FreeBSD
<sys/param.h>.  With it there is now a conflict with <sys/libkern.h>
introduced by ecf453f9635fb278cff4d4bae21a1e249313b817.

Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de>
8 years agoFix typo in the name of the MSP430 attribute section of example MSP430 linker scripts.
Nick Clifton [Thu, 7 Apr 2016 11:13:10 +0000 (12:13 +0100)]
Fix typo in the name of the MSP430 attribute section of example MSP430 linker scripts.

8 years agoBe truthful about reporting whether readahead is available
Johannes Schindelin [Tue, 5 Apr 2016 08:52:01 +0000 (10:52 +0200)]
Be truthful about reporting whether readahead is available

In 7346568 (Make requested console reports work, 2016-03-16), code was
introduced to report the current cursor position. It works by using a
pointer that either points to the next byte in the readahead buffer, or
to a NUL byte if the buffer is depleted, or the pointer is NULL.

These conditions are heeded in the fhandler_console::read() method, but
the condition that the pointer can point at the end of the readahead
buffer was not handled properly in the get_cons_readahead_valid()
method.

This poses a problem e.g. in Git for Windows (which uses a slightly
modified MSYS2 runtime which is in turn a slightly modified Cygwin
runtime) when vim queries the cursor position and immediately goes on to
read console input, erroneously thinking that the readahead buffer is
valid when it is already depleted instead. This condition results in an
apparent freeze that can be helped only by pressing keys repeatedly.

The full Git for Windows bug report is here:

https://github.com/git-for-windows/git/issues/711

Let's just teach the get_cons_readahead_valid() method to handle a
depleted readahead buffer correctly.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
8 years agomath: update isinf/isnan function comments after move to math.h
Yaakov Selkowitz [Mon, 4 Apr 2016 20:49:31 +0000 (15:49 -0500)]
math: update isinf/isnan function comments after move to math.h

Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
8 years agoAdd latest changes to release message
Corinna Vinschen [Tue, 5 Apr 2016 08:35:05 +0000 (10:35 +0200)]
Add latest changes to release message

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
8 years agoRevert "Refactor to avoid nonnull checks on "this" pointer."
Corinna Vinschen [Tue, 5 Apr 2016 08:26:06 +0000 (10:26 +0200)]
Revert "Refactor to avoid nonnull checks on "this" pointer."

This reverts commit 0008bdea02b690ab19ffe997499cb9a96ee5a66d.

This patch introduced a regression.  Calling FOO=$(...) in zsh hangs
indefinitely and has to be killed forcefully.

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
8 years agomath: guard BSD finite/isinf/isnan functions properly in math.h
Yaakov Selkowitz [Mon, 4 Apr 2016 19:13:21 +0000 (14:13 -0500)]
math: guard BSD finite/isinf/isnan functions properly in math.h

Now that we have properly functioning feature test macros, the BSD
floating-point classification functions can go into math.h instead of
the non-standard ieeefp.h, and not under the C99 guard:

http://man7.org/linux/man-pages/man3/finite.3.html

The isnan function was in earlier versions of SUS but removed starting with
POSIX.1-2001, compare:

http://pubs.opengroup.org/onlinepubs/007908799/xsh/math.h.html
http://pubs.opengroup.org/onlinepubs/009695399/basedefs/math.h.html

Note that the isinf and isnan functions (but not the variants) conflict
with functions by the same name in C++11, hence they (and only they)
need to be hidden:

https://sourceware.org/git/?p=glibc.git;a=commit;h=d9b965fa56350d6eea9f7f438a0714c7ffbb183f
https://sourceware.org/git/?p=glibc.git;a=commit;h=3c47c83a9730c20e602694505b9278c25637b0d0

Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
8 years agowinsup/utils: port getconf to 64-bit
Yaakov Selkowitz [Fri, 1 Apr 2016 22:44:31 +0000 (17:44 -0500)]
winsup/utils: port getconf to 64-bit

The available specifications obviously differ on 32-bit and 64-bit, as
already handled in <sys/features.h>.

Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
8 years agocygwin: update sysconf for new features
Yaakov Selkowitz [Fri, 1 Apr 2016 22:42:27 +0000 (17:42 -0500)]
cygwin: update sysconf for new features

POSIX spawn and thread barriers have since been added.  Also fix a typo in
_POSIX2_C_DEV (result is the same).

Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
8 years agocygwin/math: make isinf functions signed
Yaakov Selkowitz [Fri, 1 Apr 2016 22:38:17 +0000 (17:38 -0500)]
cygwin/math: make isinf functions signed

glibc returns -1 for negative infinity:

http://man7.org/linux/man-pages/man3/isinfl.3.html
https://sourceware.org/bugzilla/show_bug.cgi?id=15367

Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
8 years agoFeature test macros overhaul: Cygwin pthread.h
Yaakov Selkowitz [Fri, 1 Apr 2016 22:30:41 +0000 (17:30 -0500)]
Feature test macros overhaul: Cygwin pthread.h

As a Cygwin-specific header, there is no need to guard functions based on
capability macros.  Instead, guard several blocks based on additions or
removals in later versions of POSIX.1, along with a few which are only
XSI or GNU extensions.

Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
8 years agoFeature test macros overhaul: tar.h
Yaakov Selkowitz [Sun, 3 Apr 2016 22:25:56 +0000 (17:25 -0500)]
Feature test macros overhaul: tar.h

TSVTX was marked XSI beginning with SUSv3, compare:

http://pubs.opengroup.org/onlinepubs/007908799/xsh/tar.h.html
http://pubs.opengroup.org/onlinepubs/009695399/basedefs/tar.h.html
http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/tar.h.html

Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
8 years agoAdd cpio.h
Yaakov Selkowitz [Sun, 3 Apr 2016 22:21:10 +0000 (17:21 -0500)]
Add cpio.h

This header dates back to XPG3:

http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/cpio.h.html

Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
8 years agocygwin: make POSIX/XSI version macros dependent on feature test macros
Yaakov Selkowitz [Fri, 1 Apr 2016 22:22:23 +0000 (17:22 -0500)]
cygwin: make POSIX/XSI version macros dependent on feature test macros

Each version of SUS specifies a different value for _POSIX_VERSION,
_POSIX2_VERSION, and _XOPEN_VERSION.  glibc also changes the value
of the other _POSIX2_ variables but not the _POSIX_* variables.

_POSIX_TIMERS should be set to a version number, not just 1.

The _POSIX_V7_* macros were missing, which was not noticed because
the V6 values were aliased in sysconf (<unistd.h>).

Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
8 years agoRefactor to avoid nonnull checks on "this" pointer.
Peter Foley [Sat, 2 Apr 2016 15:36:18 +0000 (11:36 -0400)]
Refactor to avoid nonnull checks on "this" pointer.

G++ 6.0 asserts that the "this" pointer is non-null for member
functions.
Refactor methods that check if "this" is non-null to resolve this.

winsup/cygwin/ChangeLog:
external.cc (cygwin_internal): Check for a null pinfo before calling
cmdline.
fhandler_dsp.cc (Audio::blockSize): Make static.
fhandler_dsp.cc (Audio_in): add default_buf_info.
fhandler_dsp.cc (Audio_out): Ditto.
fhandler_dsp.cc (Audio_out::buf_info): Refactor method to call
default_buf_info if dev_ is null.
fhandler_dsp.cc (Audio_in::buf_info): Ditto.
fhandler_dsp.cc (fhandler_dev_dsp::_ioctl): Call Audio_out::default_buf_info if audio_out_ is null.
fhandler_dsp.cc (fhandler_dev_dsp::_ioctl): Call Audio_in::default_buf_info if audio_in_ is null.
fhandler_process.cc (format_process_fd): Check if pinfo is null.
fhandler_process.cc (format_process_root): Ditto.
fhandler_process.cc (format_process_cwd): Ditto.
fhandler_process.cc (format_process_cmdline): Ditto.
signal.cc (tty_min::kill_pgrp): Ditto.
signal.cc (_pinfo::kill0): Ditto.
sigproc.cc (pid_exists): Ditto.
sigproc.cc (remove_proc): Ditto.
times.cc (clock_gettime): Ditto.
times.cc (clock_getcpuclockid): Ditto.
path.cc (cwdstuff::override_win32_cwd): Check if old_cwd is null.
path.cc (fcwd_access_t::Free): Factor null check of "this" out to
caller(s).
pinfo.cc (_pinfo::exists): Ditto.
pinfo.cc (_pinfo::fd): Ditto.
pinfo.cc (_pinfo::fds): Ditto.
pinfo.cc (_pinfo::root): Ditto.
pinfo.cc (_pinfo::cwd): Ditto.
pinfo.cc (_pinfo::cmdline): Ditto.
signal.cc (_pinfo::kill): Ditto.
pinfo.cc (_pinfo::commune_request): remove non-null check on "this", as
this method is only called from pinfo.cc after null checks
pinfo.cc (_pinfo::pipe_fhandler): remove non-null check on "this", as
this method is only called from pipe.cc (fhandler_pipe::open) after a null check.

Signed-off-by: Peter Foley <pefoley2@pefoley.com>
8 years agoRename without-mingw-progs to with-cross-bootstrap
Peter Foley [Sat, 2 Apr 2016 14:56:44 +0000 (10:56 -0400)]
Rename without-mingw-progs to with-cross-bootstrap

Rename without-mingw-progs to with-cross-bootstrap, since it now
disables additional checks that are problematic for cross-compilers.

When cross-compiling a toolchain targeting cygwin, building cygwin1.dll
requires libgcc.
However, building libgcc requires the cygwin headers to be
installed.
Configuring cygwin requries the mingw-crt libraries, which require the
cygwin headers to be installed.
Work around this circular dependency by making the
--with-cross-bootstrap configure option skip cygwin's configure checks
for valid mingw-crt libraries. Cygwin will still properly link against
these libraries if they exist, but this allows configure to succeed even
if the libraries have not been built yet.
Since the mingw-crt libraries only require the cygwin headers to be
installed, this allows us to successfully configure cygwin so that we
can only install the headers without trying to build any
libraries.

winsup/ChangeLog
configure.ac: rename without-mingw-progs option to with-cross-bootstrap
configure: regenerate
winsup/cygserver/ChangeLog
configure.ac: don't check AC_WINDOWS_LIBS when using with-cross-bootstrap
configure: regenerate
winsup/cygwin/ChangeLog
configure.ac: don't check AC_WINDOWS_LIBS when using with-cross-bootstrap
configure: regenerate

Signed-off-by: Peter Foley <pefoley2@pefoley.com>
8 years agoAdd Intel MCU target
Igor Venevtsev [Thu, 31 Mar 2016 09:12:00 +0000 (12:12 +0300)]
Add Intel MCU target

Intel MCU System V ABI are incompartible with i386 System V ABI:
    o Minimum instruction set is Intel Pentium ISA minus x87 instructions
    o No x87 or vector registers
    o First three args are passed in %eax, %edx and %ecx
    o Full specification available here:
      https://github.com/hjl-tools/x86-psABI/wiki/iamcu-psABI-0.7.pdf

newlib/
    * configure.host: Add new ix86-*-elfiamcu target

newlib/libc/include/
    * setjmp.h: Change _JBLEN for Intel MCU target

newlib/libc/machine/i386/
    * memchr.S:  (memchr)  Target-specific size-optimized version
    * memcmp.S:  (memcmp)  Likewise
    * memcpy.S:  (memcpy)  Likewise
    * memmove.S: (memmove) Likewise
    * memset.S:  (memset)  Likewise
    * setjmp.S:  (setjmp)  Likewise
    * strchr.S:  (strchr)  Likewise
    * strlen.S:  (strlen)  Likewise

newlib/libc/stdlib/
    * srtold.c:  (__flt_rounds) Disable for Intel MCU

8 years agoUpdate autoconf for doc/lsaauth/utils
Peter Foley [Thu, 31 Mar 2016 18:04:18 +0000 (14:04 -0400)]
Update autoconf for doc/lsaauth/utils

Don't use obsolete LIB_AC_PROG_CC.
Run autoupdate.

winsup/ChangeLog:
doc/aclocal.m4: delete
lsaauth/aclocal.m4: ditto
doc/configure.ac: refactor and update
lsaauth/configure.ac: ditto
utils/configure.ac: ditto
doc/configure: regenerate
lsaauth/configure: regenerate
utils/configure: regenerate

Signed-off-by: Peter Foley <pefoley2@pefoley.com>
8 years agoRemove MALLOC_CHECK and calls to it entirely
Corinna Vinschen [Fri, 1 Apr 2016 12:04:09 +0000 (14:04 +0200)]
Remove MALLOC_CHECK and calls to it entirely

MALLOC_CHECK got useless with commit b259af5.  Remove it throughout.

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
8 years agoRemove remnants of never-defined MALLOC_DEBUG and NEWVFORK
Peter Foley [Thu, 31 Mar 2016 18:04:17 +0000 (14:04 -0400)]
Remove remnants of never-defined MALLOC_DEBUG and NEWVFORK

MALLOC_DEBUG and NEWVFORK haven't been defined since 2008 (46162537516c5e5fbb).
Remove all references to tem.

winsup/cygwin/ChangeLog:
acconfig.h: delete
dcrt0.cc (dll_crt0_1): remove NEWVFORK code.
dcrt0.cc (do_exit): ditto.
debug.h: ditto.
dtable.h: ditto.
winsup.h: ditto.
globals.cc: ditto.
malloc_wrapper.cc: ditto.
malloc_wrapper.cc (malloc_init): ditto.
spawn.cc (spawnve): ditto.
syscalls.cc (setsid): ditto.

Signed-off-by: Peter Foley <pefoley2@pefoley.com>
8 years agoDon't use deprecated acconfig.h for DEBUGGING
Peter Foley [Thu, 31 Mar 2016 18:04:16 +0000 (14:04 -0400)]
Don't use deprecated acconfig.h for DEBUGGING

Use the 3-arg form of AC_DEFINE.

winsup/cygwin/ChangeLog:
acconfig.h: Remove DEBUGGING define.
configure.ac: Add description to DEBUGGING define.
config.h.in: Regenerate.
configure: Ditto.

Signed-off-by: Peter Foley <pefoley2@pefoley.com>
8 years agoRemove leftover cruft from config.h.in
Peter Foley [Thu, 31 Mar 2016 18:04:15 +0000 (14:04 -0400)]
Remove leftover cruft from config.h.in

HAVE_BUILTIN_MEMTEST and AC_ALLOCA were removed in 4bd8eb7d1b.
Cleanup leftover references.

winsup/cygwin/ChangeLog
acconfig.h: remove HAVE_BUILTIN_MEMTEST
config.h.in: regenerate

Signed-off-by: Peter Foley <pefoley2@pefoley.com>
8 years agomkvers.sh: Reformatting for better readability
Corinna Vinschen [Wed, 30 Mar 2016 15:06:50 +0000 (17:06 +0200)]
mkvers.sh: Reformatting for better readability

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
8 years agoUse just-built gcc for windres
Peter Foley [Wed, 23 Mar 2016 13:34:12 +0000 (09:34 -0400)]
Use just-built gcc for windres

When building cygwin in a combined tree with binutils,
the just-built windres cannot find the just-buit gcc automatically.
Parse the CC env variable to use the correct compiler, rather then
falling back to the build-system's gcc which does not define the proper
preprocessor macros.

winsup/cygwin/ChangeLog
mkvers.sh: Manually specify preprocessor based on $CC

Signed-off-by: Peter Foley <pefoley2@pefoley.com>
8 years agofix typo in netinit/ip.h
Peter Foley [Wed, 30 Mar 2016 13:15:55 +0000 (09:15 -0400)]
fix typo in netinit/ip.h

The type for the ip_tos member was typoed, fix it.

winsup/cygwin/ChangeLog:
include/netinet/ip.h: fix type of ip_tos

Signed-off-by: Peter Foley <pefoley2@pefoley.com>
8 years agoAdd dependencies to tlsoffsets file
Corinna Vinschen [Wed, 30 Mar 2016 12:35:46 +0000 (14:35 +0200)]
Add dependencies to tlsoffsets file

After `make clean', the build can fail because the dependencies don't
require the tlsoffsets file to exist before building obejct files.
This patch fixes it.

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
8 years agoReplace AC_CANONICAL_SYSTEM with AC_CANONICAL_TARGET, fix AC_INIT usage
Corinna Vinschen [Wed, 30 Mar 2016 12:09:19 +0000 (14:09 +0200)]
Replace AC_CANONICAL_SYSTEM with AC_CANONICAL_TARGET, fix AC_INIT usage

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
8 years agoAdd option to not build mingw programs when cross compiling.
Peter Foley [Wed, 23 Mar 2016 13:34:10 +0000 (09:34 -0400)]
Add option to not build mingw programs when cross compiling.

Add an option to not require a mingw compiler when bootstrapping a cross toolchain.
Defaults to existing behavior.
Also update some obsolete macros.

winsup/ChangeLog
configure.ac: Add option to skip building programs that require mingw.
configure: Regenerate.

Signed-off-by: Peter Foley <pefoley2@pefoley.com>
8 years agofenv.h: Change fexcept_t to integral type for compatibility
Corinna Vinschen [Tue, 29 Mar 2016 22:12:22 +0000 (00:12 +0200)]
fenv.h: Change fexcept_t to integral type for compatibility

On Linux and in Mingw-w64, fexcept_t is defined as type unsigned short.
There are packages in the wild which rely on the fact that fexcept_t is
an integral type.  We're changing the internal handling to use the bits
just as in GLibc, so only the 6 lowest bits are used to reflect the hw
bits.  We even change the header file guard to reflect GLibc for compatibility.

* include/fenv.h (_FENV_H): Rename from _FENV_H_ and set to 1 as in
GLibc's header.
(fexcept_t): Change to __uint16_t to be an integral type as in GLibc.
* fenv.cc (fegetexceptflag): Align to the *flagp's type change.
(fesetexceptflag): Ditto.

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
8 years agoBump up newlib version to 2.4.0 due to feature test refactoring newlib-2_4_0
Jeff Johnston [Tue, 29 Mar 2016 21:33:42 +0000 (17:33 -0400)]
Bump up newlib version to 2.4.0 due to feature test refactoring

8 years agoDocument implemented functions
Corinna Vinschen [Tue, 29 Mar 2016 15:45:01 +0000 (17:45 +0200)]
Document implemented functions

* posix.xml (std-susv4): Add newly implemented math SUSv4 math
functions.  Add missing functions strtold and tcgetsid.  Re-sort.
(std-gnu): Add clog10l, exp10l, pow10l, sincos{f,l}.
(std-notimpl): Drop now implemented functions.

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
8 years agoAdd missing nanl
Corinna Vinschen [Tue, 29 Mar 2016 15:39:17 +0000 (17:39 +0200)]
Add missing nanl

* Makefile.in (MATH_OFILES): Add nanl.o.
* common.din (nanl): Export.
* math/nanl.c: New file.

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
8 years agoAdd release message for 792e51b
Corinna Vinschen [Tue, 29 Mar 2016 12:59:18 +0000 (14:59 +0200)]
Add release message for 792e51b

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
8 years agoAdd missing long double functions to Cygwin
Corinna Vinschen [Mon, 28 Mar 2016 17:35:20 +0000 (19:35 +0200)]
Add missing long double functions to Cygwin

This patch adds the long double functions missing in newlib to Cygwin.
Apart from some self-written additions (exp10l, finite{f,l}, isinf{f,l},
isnan{f,l}, pow10l) the files are taken from the Mingw-w64 math lib.
Minor changes were required, e.g. substitue _WIN64 with __x86_64__ and
fixing __FLT_RPT_DOMAIN/__FLT_RPT_ERANGE for Cygwin.

Cygwin:
* math: New subdir with math functions.
* Makefile.in (VPATH): Add math subdir.
(MATH_OFILES): List of object files collected from building files in
math subdir.
(DLL_OFILES): Add $(MATH_OFILES).
${CURDIR}/libm.a: Add $(MATH_OFILES) to build.
* common.din: Add new functions from math subdir.
* i686.din: Align to new math subdir.  Remove functions now commonly
available.
* x86_64.din: Ditto.
* math.h: math.h wrapper to define mingw structs used in some files in
math subdir.
* include/cygwin/version.h: Bump API minor version.

newlib:
* libc/include/complex.h: Add prototypes for complex long double
functions.  Only define for Cygwin.
* libc/include/math.h: Additionally enable prototypes of long double
functions for Cygwin.  Add Cygwin-only prototypes for dreml, sincosl,
exp10l and pow10l.  Explain why we don't add them to newlib.
* libc/include/tgmath.h: Enable long double handling on Cygwin.

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
8 years agoFix Cygwin setstate definition
Corinna Vinschen [Tue, 29 Mar 2016 11:41:11 +0000 (13:41 +0200)]
Fix Cygwin setstate definition

setstate is supposed to take a char *, not a const char *.

* random.cc (setstate): Unconstify parameter to align to stdlib.h.

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
8 years agocygwin: export __getpagesize
Yaakov Selkowitz [Mon, 28 Mar 2016 17:48:20 +0000 (12:48 -0500)]
cygwin: export __getpagesize

The inclusion of <sys/cygwin.h> by <sys/shm.h>, besides causing namespace
pollution, also makes it very difficult to get the WINVER-dependent parts
of the former.  This affects code (such as x11vnc -unixpw_nis) which use
both SysV shared memory (e.g. the X11 MIT-SHM extension) and user password
authentication.

getpagesize is the simplest function to retreive this information, but it
is a legacy function and would also pollute the global namespace. The LSB
lists another form which is in the implementation-reserved namespace:

http://refspecs.linuxfoundation.org/LSB_3.1.0/LSB-Core-generic/LSB-Core-generic/baselib---getpagesize.html

Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
8 years agoAdd simple versions of random() and srandom()
Joel Sherrill [Tue, 22 Mar 2016 22:50:48 +0000 (17:50 -0500)]
Add simple versions of random() and srandom()

Prototypes also added for initstate() and setstate() but they
were not implemented in the shared newlib code.

* newlib/libc/include/cygwin/stdlib.h: Prototypes added.
* winsup/cygwin/include/cygwin/stdlib.h: Prototypes removed.
* newlib/libc/stdlib/random.c: New file.
* newlib/libc/machine/epiphany/machine/stdlib.h: Removed
* newlib/libc/stdlib/Makefile.am: Added random.c.
* newlib/libc/stdlib/stdlib.tex: Added random.def.
* newlib/libc/stdlib/Makefile.in: Regenerated.

8 years agoAdd release text for 373f81d and 3e446e9
Corinna Vinschen [Sat, 26 Mar 2016 19:38:30 +0000 (20:38 +0100)]
Add release text for 373f81d and 3e446e9

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
8 years agomath.h: Use GCC builtins for C99 macros where available
Corinna Vinschen [Sat, 26 Mar 2016 19:33:46 +0000 (20:33 +0100)]
math.h: Use GCC builtins for C99 macros where available

GCCs builtin functions are mostly type agnostic and architecture
indepedent.  Prefer to use them if available.

* libc/include/math.h (fpclassify, isfinite, isinf, isnan,
isnormal): Use matching GCC builtin functions if built with
GCC 4.4 or later.
(signbit): Use matching GCC builtin functions if built with
GCC 4.0 or later.
(isgreater, isgreaterequal, isless, islessequal, islessgreater,
isunordered): Use matching GCC builtin functions if built with
GCC 2.97 or later.

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
8 years agofinitel: Use correct GCC builtin
Corinna Vinschen [Sat, 26 Mar 2016 19:29:20 +0000 (20:29 +0100)]
finitel: Use correct GCC builtin

__builtin_isinf_sign doesn't reflect the correct return value for NaN
to emulate finite function.  Use __builtin_isfinite instead whichg is available
since GCC 4.4 just as __builtin_isinf_sign.

* libm/common/sl_finite.c (finitel): Use __builtin_isfinite.

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
8 years agostrtold: Fix Infinity value.
Corinna Vinschen [Sat, 26 Mar 2016 19:27:18 +0000 (20:27 +0100)]
strtold: Fix Infinity value.

Infinity returned from strtold is recognized as NaN by GCC builtin
functions.  The reason is that ULtox is missing to set a bit.

* libc/stdlib/strtorx.c (ULtox): Set high bit in second word
to create valid Infinity value.

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
8 years agoInitializing TTBR0 to inner/outer WB
Jiong Wang [Thu, 24 Mar 2016 14:32:04 +0000 (14:32 +0000)]
Initializing TTBR0 to inner/outer WB

While running tests on internal systems, we identified an issue in the
startup code for newlib on AArch32 systems with Multiprocessor
Extensions to the architecture.

The issue is we were configuring page table flags to be Inner
cacheable/Outer non-cacheable, while for at least architectures with
Multiprocessor Extension, we'd configure it to Inner/Outer write-back, no
write-allocate, and cacheable.

The attached patch fixes this, and no regression on arm-none-eabi
bare-metal tests.

Adopted suggestion given by Richard offline to avoid using jump.

libgloss/
* arm/cpu-init/rdimon-aem.S: Set TTBR0 to inner/outer
cacheable WB, and no allocate on WB for arch with multiprocessor
extension.

8 years agoAdd missing OBJCOPY variable to Makefile.in
Corinna Vinschen [Sat, 26 Mar 2016 11:32:18 +0000 (12:32 +0100)]
Add missing OBJCOPY variable to Makefile.in

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
8 years agoThroughout Cygwin, use u_intN_t or uintN_t
Corinna Vinschen [Thu, 24 Mar 2016 15:39:15 +0000 (16:39 +0100)]
Throughout Cygwin, use u_intN_t or uintN_t

Don't use u_char, u_short, u_int or u_long in Cygwin, unless it refers
to the Winsock types.  Use u_intN_t in BSD-based sources, unsigned char
where strings are concerned, uintN_t otherwise.  Also:

* net.cc: Fix comment, we're not using u_long anymore.

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
8 years agoChange definition of b64_pton from K&R to ANSI
Corinna Vinschen [Thu, 24 Mar 2016 15:25:00 +0000 (16:25 +0100)]
Change definition of b64_pton from K&R to ANSI

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
8 years agoFix return type of get_routedst
Corinna Vinschen [Thu, 24 Mar 2016 15:23:50 +0000 (16:23 +0100)]
Fix return type of get_routedst

* net.cc (get_routedst): Correctly return in_addr_t.

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
8 years agoRemove unused function convert_ifr_flags
Corinna Vinschen [Thu, 24 Mar 2016 15:22:30 +0000 (16:22 +0100)]
Remove unused function convert_ifr_flags

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
8 years agoFix FIONBIO comments
Corinna Vinschen [Thu, 24 Mar 2016 14:32:33 +0000 (15:32 +0100)]
Fix FIONBIO comments

FIONBIO is defined in sys/termios.h and asm/socket.h.  Align the comments.
Remove unused REAL_FIONBIO.

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
8 years agoDrop usage of old-age BSD types in generically used Cygwin headers
Corinna Vinschen [Thu, 24 Mar 2016 13:03:40 +0000 (14:03 +0100)]
Drop usage of old-age BSD types in generically used Cygwin headers

u_char, u_short, u_int, u_long are BSD-only types.  Remove them from
Cygwin headers which are supposed to be used in a non-BSD scenario.
Drop special Cygwin handling of those types in sys/types.h.

newlib:
* libc/include/sys/types.h (u_char,u_short,u_int,u_long): Drop
Cygwin exception.

cygwin:
* fhandler_socket.cc (fhandler_socket::ioctl): Accommodate change
in include/asm/socket.h.  Continue using u_long since that's the
MS type here.
* include/asm/socket.h: Since the type given in _IOR/_IOW macros
is only used for its sizeof, replace u_long with equivalent long.
* netdb.h (getnetbyaddr): Fix prototype.
* netinet/ip.h: Replace old BSD-only types with generically defined
old BSD types (u_char -> u_int8_t, etc).
* netinet/tcp.h: Ditto.
* netinet/udp.h: Ditto.

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
8 years agoDefine BSD u_intN_t types indiscriminately
Corinna Vinschen [Thu, 24 Mar 2016 10:05:46 +0000 (11:05 +0100)]
Define BSD u_intN_t types indiscriminately

The u_intN_t types are BSD types but sanctioned by POSIX.  They are
always defined when using Glibc headers so we follow suit.

newlib:
* libc/include/sys/types.h: Drop outdated __INTTYPES_DEFINED__
macro.  Always define u_intN_t types.

cygwin:
* include/cygwin/types.h: Remove definition of u_intN_t types.

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
8 years agoFix coverity CID 143502: Null pointer dereference
Corinna Vinschen [Thu, 24 Mar 2016 09:06:50 +0000 (10:06 +0100)]
Fix coverity CID 143502: Null pointer dereference

* libc/locale/ldpart.c (split_lines): Don't dereference result
of strchr without checking for NULL pointer first.

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
8 years agoFeature test macros overhaul: C++ TR1
Yaakov Selkowitz [Wed, 23 Mar 2016 21:14:00 +0000 (16:14 -0500)]
Feature test macros overhaul: C++ TR1

While C++11 was the first version of the standard to use C99 functionality,
TR1 (for C++03) also does, and G++ does not distinguish between C++98 and
C++03, or when TR1 is in use.  Therefore, while not strictly correct for
"pure" C++98, enabling C99 for all C++ usage is the simplest solution (and
much better than always using -D_GNU_SOURCE as on Linux).

See thread starting: https://sourceware.org/ml/newlib/2016/msg00297.html

Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
8 years agotest
Corinna Vinschen [Wed, 23 Mar 2016 17:49:39 +0000 (18:49 +0100)]
test

8 years agoAdd release message for commit 59b3bd2
Corinna Vinschen [Wed, 23 Mar 2016 17:11:38 +0000 (18:11 +0100)]
Add release message for commit 59b3bd2

8 years agoOnly allow enabled groups as primary group
Corinna Vinschen [Wed, 23 Mar 2016 16:51:03 +0000 (17:51 +0100)]
Only allow enabled groups as primary group

So far any group in the user's token could be used as primary group.
Windows doesn't check if the primary group is enabled or not, it just
has no meaning.  From a POSIXy point of view it can lead to weird
results though.

* uinfo.cc (check_token_membership): New static function.
(internal_getlogin): Only allow enabled groups as primary group.

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
8 years agoUse 64K buffers for TOKEN_GROUPS
Corinna Vinschen [Wed, 23 Mar 2016 16:42:04 +0000 (17:42 +0100)]
Use 64K buffers for TOKEN_GROUPS

A user token can be up to 64K in size.  Using 32K buffers for TOKEN_GROUPS
may be insufficient.

* uinfo.cc (get_logon_sid): Use 64K buffers for the TOKEN_GROUPS
array.

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
8 years agoAllocate temporary TOKEN_GROUP arrays using TLS
Corinna Vinschen [Wed, 23 Mar 2016 16:40:24 +0000 (17:40 +0100)]
Allocate temporary TOKEN_GROUP arrays using TLS

A user token can be up to 64K in size.  The group list might take a lot
of that so use tmp_pathbuf allocated space rather than stack space
allocted via alloca.  In create_token the TOKEN_GROUP was allocated via
malloc, but the code is needlessly complicated.  Simplify by using
tmp_pathbuf as well.

* sec_auth.cc (verify_token): Allocate TOKEN_GROUP via tmp_pathbuf.
(create_token): Ditto.

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
8 years agocxx.cc: Disable C++14 warning for new sized delete operator
Corinna Vinschen [Wed, 23 Mar 2016 10:58:21 +0000 (11:58 +0100)]
cxx.cc: Disable C++14 warning for new sized delete operator

As long as we're not building in C++14 mode, the definition of the
sized delete operator results in a compatibility warning.

* cxx.cc (operator delete): Disable C++14 warning for sized variant.

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
8 years agoAdd c++14 sized deallocation operator
Peter Foley [Sat, 19 Mar 2016 17:45:55 +0000 (13:45 -0400)]
Add c++14 sized deallocation operator

When compiling with -std=c++14 (the default for gcc 6.0+), the sized
deallocation operator must be defined to prevent undefined symbols when
linking.

winsup/cygwin/ChangeLog:
cxx.cc (operator delete(void *p, size_t)): Define.

Signed-off-by: Peter Foley <pefoley2@pefoley.com>
8 years agoDrop Cygwin-only posix_memalign prototype
Corinna Vinschen [Wed, 23 Mar 2016 10:50:27 +0000 (11:50 +0100)]
Drop Cygwin-only posix_memalign prototype

newlib:
* libc/include/stdlib.h (posix_memalign): Drop __rtmes__ guards.

cygwin:
* include/cygwin/stdlib.h (posix_memalign): Drop prototype.

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
8 years agoUse DnsFree instead of deprecated DnsRecordListFree
Peter Foley [Mon, 21 Mar 2016 20:41:25 +0000 (16:41 -0400)]
Use DnsFree instead of deprecated DnsRecordListFree

The latest version of the mingw headers have been updated to make
DnsRecordListFree an alias of DnsFree when targeting Windows XP or later.
Use DnsFree directly, avoiding the wrapper function.

/home/peter/cross/src/cygwin/winsup/cygwin/libc/minires-os-if.c:289:
undefined reference to `DnsFree'

winsup/cygwin/ChangeLog
autoload.cc: Load DnsFree rather then DnsRecordListFree
libc/minires-os-if.cc (cygwin_query): Use DnsFree rather then DnsRecordListFree

Signed-off-by: Peter Foley <pefoley2@pefoley.com>
8 years agoTarget/Host configuration elucidated
Konrad Schwarz [Wed, 23 Mar 2016 04:54:13 +0000 (05:54 +0100)]
Target/Host configuration elucidated

8 years agoGuard u_char,u_short,u_int,u_long with __MISC_VISIBLE
Corinna Vinschen [Wed, 23 Mar 2016 10:17:59 +0000 (11:17 +0100)]
Guard u_char,u_short,u_int,u_long with __MISC_VISIBLE

These types are available in SVID as well.

* libc/include/sys/types.h (u_char,u_short,u_int,u_long): Replace
__BSD_VISIBLE with __MISC_VISIBLE.

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
8 years agoFix "/*" within comment warning
Sebastian Huber [Mon, 21 Mar 2016 11:07:52 +0000 (12:07 +0100)]
Fix "/*" within comment warning

Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de>
8 years agostdio: fseeko/ftello are also POSIX.1-2001
Yaakov Selkowitz [Sun, 20 Mar 2016 19:21:59 +0000 (14:21 -0500)]
stdio: fseeko/ftello are also POSIX.1-2001

_LARGEFILE_SOURCE, which controls only these two functions, is implicitly
defined by _XOPEN_SOURCE >= 500.  However, they are also later added to
POSIX.1-2001 (and therefore available by default).

Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
8 years agopthread.h: Mark pthread_exit() as not returning
Joel Sherrill [Mon, 21 Mar 2016 21:20:18 +0000 (16:20 -0500)]
pthread.h: Mark pthread_exit() as not returning

8 years agoepiphany/machine/stdlib.h: Disable epiphany unique random wrappers for RTEMS
Joel Sherrill [Sun, 20 Mar 2016 16:02:13 +0000 (11:02 -0500)]
epiphany/machine/stdlib.h: Disable epiphany unique random wrappers for RTEMS

8 years agonewlib/configure.host: Turn off sti/cli for i386 setjmp for i386-rtems*
Joel Sherrill [Thu, 25 Feb 2016 17:43:18 +0000 (11:43 -0600)]
newlib/configure.host: Turn off sti/cli for i386 setjmp for i386-rtems*

When running RTEMS paravirtualized in user space, the cli/sti instructions
can't be used. But I can't see why they are needed in either user or
supervisor state. Turning the use of them off for RTEMS.

This code is unmodified since the beginning of the repository, so I have
no insight into why it was done. I may even have been the one to add them.
Absolutely no idea except they aren't necessary.

8 years agoRemove spurious empty line in changelog entry.
Nick Clifton [Fri, 18 Mar 2016 13:09:03 +0000 (13:09 +0000)]
Remove spurious empty line in changelog entry.

8 years agoPR external/{16327,16328}: Remove etc/configure.texi and etc/standards.texi.
Ludovic Courtès [Mon, 5 May 2014 15:33:16 +0000 (17:33 +0200)]
PR external/{16327,16328}: Remove etc/configure.texi and etc/standards.texi.

etc/ChangeLog
2014-06-27  Ludovic Courtès  <ludo@gnu.org>

PR external/16327
PR external/16328
* Makefile.in (MAKEINFO, TEXI2DVI, TEXI2PDF, TEXI2HTML, DVIPS)
(TEXIDIR, INFOFILES, DVIFILES, PDFFILES, HTMLFILES): Remove.
(all): Remove dependency on 'info'.
(install): Remove dependency on 'install-info'.
(standards.info, standards.html, standards.dvi, standards.ps)
(standards.pdf, configure.info, configure.dvi, configure.ps)
(configure.pdf, configure.pdf): Remove.
(info, install-info, html, install-html, dvi, pdf, install-pdf)
clean, maintainer-clean, realclean): Remove body.
* etc/configbuild.ein, etc/configbuild.fig, etc/configbuild.jin,
etc/configbuild.tin, etc/configdev.ein, etc/configdev.fig,
etc/configdev.jin, etc/configdev.tin, etc/configure.texi,
etc/fdl.texi, etc/gnu-oids.texi, etc/make-stds.texi,
etc/standards.texi: Remove.

8 years agoFix generation of as.1 manual page so that it can be converted to DocBook format.
Nick Clifton [Fri, 18 Mar 2016 13:07:33 +0000 (13:07 +0000)]
Fix generation of as.1 manual page so that it can be converted to DocBook format.

etc * texi2pod.pl: Add TARGET to the list of recognised man page
sections.

8 years agoSync toplevel with upstream GCC.
Corinna Vinschen [Tue, 22 Mar 2016 09:25:20 +0000 (10:25 +0100)]
Sync toplevel with upstream GCC.

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
8 years agoRemove Mingw.org from FAQ, or replace with Mingw-w64.
Corinna Vinschen [Mon, 21 Mar 2016 20:09:23 +0000 (21:09 +0100)]
Remove Mingw.org from FAQ, or replace with Mingw-w64.

* faq-api.xml: Change MingW to Mingw-w64.
* faq-programming.xml: Ditto.

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
8 years agoAdd nonnull annotation to posix_memalign.
Peter Foley [Mon, 21 Mar 2016 17:15:42 +0000 (13:15 -0400)]
Add nonnull annotation to posix_memalign.

GCC 6.0+ asserts that the memptr argument to the builtin function
posix_memalign is nonnull.
Add the necessary annotation to the prototype and
remove the now unnecessary check to fix a warning.

newlib/Changelog
newlib/libc/include/stdlib.h: Annotate arg to posix_memalign as
non-null.

winsup/cygwin/ChangeLog
malloc_wrapper.cc (posix_memalign): Remove always true nonnull check.

Signed-off-by: Peter Foley <pefoley2@pefoley.com>
8 years agoRemove misleading indentation
Peter Foley [Mon, 21 Mar 2016 17:15:44 +0000 (13:15 -0400)]
Remove misleading indentation

GCC 6.0+ warns on misleading indentation, so fix it.

winsup/cygserver/ChangeLog
* sysv_msg.cc (msgsnd): Fix misleading indentation.
* sysv_msg.cc (msgrcv): Ditto.
* sysv_sem.cc (semop): Ditto.

Signed-off-by: Peter Foley <pefoley2@pefoley.com>
8 years agoMove arc4random Cygwin only code to Cygwin
Sebastian Huber [Mon, 21 Mar 2016 07:12:54 +0000 (08:12 +0100)]
Move arc4random Cygwin only code to Cygwin

Keep the Newlib arc4random.c identical to the OpenBSD upstream version.

Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de>.
8 years agosrandom: Replace accessing /dev/random by equivalent getentropy call
Corinna Vinschen [Sun, 20 Mar 2016 21:29:03 +0000 (22:29 +0100)]
srandom: Replace accessing /dev/random by equivalent getentropy call

/dev/random calls getentropy.  So there's no good reason to go out of
our way to open /dev/random just to call getentropy anyway.

* random.cc (srandomdev): Drop opening /dev/random in favor of
calling getentropy.

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
8 years agoRevert "Use high-resolution timebases for select()."
Corinna Vinschen [Sun, 20 Mar 2016 20:59:47 +0000 (21:59 +0100)]
Revert "Use high-resolution timebases for select()."

This reverts commit 6e70fd315a29578f090a98f84e9d8e95ddb156e3.

Revert accidental push

8 years agoRevert "Debug printfs."
Corinna Vinschen [Sun, 20 Mar 2016 20:59:43 +0000 (21:59 +0100)]
Revert "Debug printfs."

This reverts commit 9f82de59a07da145c177648fe474f19cd9def7a1.

Revert accidental push

8 years agoRevert "Improve and simplify select()."
Corinna Vinschen [Sun, 20 Mar 2016 20:59:27 +0000 (21:59 +0100)]
Revert "Improve and simplify select()."

This reverts commit 472d0a228c56bd4783ebb0561667cda2de3cd168.

Revert accidental push

8 years agoDrop redundant arc4random prototypes from cygwin/stdlib.h
Corinna Vinschen [Sun, 20 Mar 2016 20:30:58 +0000 (21:30 +0100)]
Drop redundant arc4random prototypes from cygwin/stdlib.h

Newlib's default stdlib.h now defines these functions so we can
drop them from the Cygwin-specific header.  Remove the arc4random_stir
and arc4random_uniform prototypes entirely.  They shouldn't be used
by applications anymore.

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
8 years agoAllow machine-dependent arc4 locking
Corinna Vinschen [Fri, 18 Mar 2016 17:01:07 +0000 (18:01 +0100)]
Allow machine-dependent arc4 locking

newlib:
* libc/stdlib/arc4random.h: Remove Cygwin-specific locking code.
Conditionalize arc4 locking.  Check for _ARC4_LOCK_INIT being
undefined to fall back to default implementation.

cygwin:
* include/machine/_arc4random.h: New file.

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
8 years agoImprove and simplify select().
John Hood [Thu, 4 Feb 2016 05:44:56 +0000 (00:44 -0500)]
Improve and simplify select().

* cygwait.h (cygwait_us) Remove; this reverts previous changes.
* select.h: Eliminate redundant select_stuff::select_loop state.
* select.cc (select): Eliminate redundant
select_stuff::select_loop state.  Eliminate redundant code for
zero timeout.  Do not return early on early timer return.
(select_stuff::wait): Eliminate redundant
select_stuff::select_loop state.

8 years agoDebug printfs.
John Hood [Sat, 30 Jan 2016 22:37:33 +0000 (17:37 -0500)]
Debug printfs.

* fhandler.cc (fhandler_base::get_readahead): Add debug code.
* fhandler_console.cc (fhandler_console::read): Add debug code.
* select.cc (pselect): Add debug code.
(peek_console): Add debug code.

8 years agoUse high-resolution timebases for select().
John Hood [Thu, 28 Jan 2016 22:08:39 +0000 (17:08 -0500)]
Use high-resolution timebases for select().

* cygwait.h: Add cygwait_us() methods.
* select.h: Change prototype for select_stuff::wait() for larger
microsecond timeouts.
* select.cc (pselect): Convert from old cygwin_select().
Implement microsecond timeouts.
(cygwin_select): Rewrite as a wrapper on pselect().
(select): Implement microsecond timeouts.
(select_stuff::wait): Implement microsecond timeouts with a timer
object.

8 years ago* winsup/testsuite/configure: chmod a+x
John Hood [Fri, 18 Mar 2016 08:31:16 +0000 (04:31 -0400)]
* winsup/testsuite/configure: chmod a+x

8 years agoMove get_nonascii_key into fhandler_console.
John Hood [Sat, 30 Jan 2016 22:33:36 +0000 (17:33 -0500)]
Move get_nonascii_key into fhandler_console.

* fhandler.h (fhandler_console): Move get_nonascii_key() from
select.c into this class.
* select.cc (peek_console): Move get_nonascii_key() into
fhandler_console class.

8 years agorespect datarootdir
Peter Foley [Sat, 19 Mar 2016 17:45:57 +0000 (13:45 -0400)]
respect datarootdir

Recent versions of autoconf define datadir/infodir in terms of
datarootdir. Add it.

winsup/ChangeLog
* Makefile.in: define datarootdir

Signed-off-by: Peter Foley <pefoley2@pefoley.com>
8 years agoFix strict aliasing
Peter Foley [Sat, 19 Mar 2016 17:45:56 +0000 (13:45 -0400)]
Fix strict aliasing

Fix a strict aliasing error detected by gcc 6.0+

winsup/cygwin/ChangeLog
* pinfo.cc (winpids::enum_process): Fix strict aliasing.

Signed-off-by: Peter Foley <pefoley2@pefoley.com>
8 years agoFix typoed comparison
Peter Foley [Sat, 19 Mar 2016 17:45:54 +0000 (13:45 -0400)]
Fix typoed comparison

winsup/cygwin/ChangeLog
* thread.cc (semaphore::open): Fix mistaken conditional.

Signed-off-by: Peter Foley <pefoley2@pefoley.com>
8 years agoThe address of an class always evaluates to true
Peter Foley [Sat, 19 Mar 2016 17:45:53 +0000 (13:45 -0400)]
The address of an class always evaluates to true

winsup/cygwin/pinfo.cc:465:14: error: the compiler can assume that the
address of 'tc' will always evaluate to 'true' [-Werror=address]

winsup/cygwin/ChangeLog
* pinfo.cc (_pinfo::set_ctty): remove always true check.

Signed-off-by: Peter Foley <pefoley2@pefoley.com>
This page took 0.074979 seconds and 5 git commands to generate.