]> sourceware.org Git - newlib-cygwin.git/log
newlib-cygwin.git
8 years agoFix thread priority handling
Corinna Vinschen [Fri, 20 May 2016 15:45:24 +0000 (17:45 +0200)]
Fix thread priority handling

So far pthread::postcreate() only sets the thread priority at all, only
if the inherit-scheduler attribute is PTHREAD_EXPLICIT_SCHED.  This
completely ignores the PTHREAD_INHERIT_SCHED case, since in contrast
to POSIX, a thread does not inherit its priority from the creating
thread, but always starts with THREAD_PRIORITY_NORMAL.

pthread_getschedparam() only returns what's stored in the thread attributes,
not the actual thread priority.

This patch fixes both problems.

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
8 years agoRewrite scheduler functions getting and setting process and thread priority
Corinna Vinschen [Fri, 20 May 2016 15:38:22 +0000 (17:38 +0200)]
Rewrite scheduler functions getting and setting process and thread priority

So far the scheduler priority handling is not POSIX compatible.
The priorities use a range of -14 up to +15, which means it's not clear
if the POSIX-required return value of -1 in case of an error is *really*
an error or just the valid priority value -1.  Even more confusing, -14
is the *max* value and 15 is the *min* value.  Last but not least this
range doesn't match the POSIX requirement of at least 32 priority values.

This patch cleans up scheduler priority handling and moves the valid
priority range to 1 (min) - 32 (max).  It also adds a function
sched_get_thread_priority() which will help to make thread priority
more POSIX-like.

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
8 years agolibgloss/ft32: fix whitespace in Makefile
Yaakov Selkowitz [Thu, 19 May 2016 16:21:35 +0000 (11:21 -0500)]
libgloss/ft32: fix whitespace in Makefile

Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
8 years agoMiscellaneous style cleanup, whitespace only.
John Hood [Wed, 18 May 2016 23:14:19 +0000 (19:14 -0400)]
Miscellaneous style cleanup, whitespace only.

8 years agoImprove and simplify select().
John Hood [Wed, 18 May 2016 23:14:17 +0000 (19:14 -0400)]
Improve and simplify select().

* 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 agoUse high-resolution timebases for select().
John Hood [Wed, 18 May 2016 23:14:16 +0000 (19:14 -0400)]
Use high-resolution timebases for select().

* 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 agoSync toplevel configure with upstream GCC.
Anton Kolesov [Tue, 17 May 2016 11:08:32 +0000 (14:08 +0300)]
Sync toplevel configure with upstream GCC.

This fixes a problem, where libgloss wouldn't be built for ARC processors,
even though it is actually supported. The original patch that introduced
support for ARC in libgloss hasn't been submitted to GCC maillist, hence
when top-level configure has been synced with GCC - this libgloss patch has
been effectively reverted.

Libgloss support for ARC has been accepted in GCC:
https://gcc.gnu.org/ml/gcc-patches/2016-05/msg01148.html

ChangeLog

2016-05-17  Anton Kolesov  <Anton.Kolesov@synopsys.com>

* configure.ac: Sync with upstream GCC.
* configure: Regenerate.

Signed-off-by: Anton Kolesov <Anton.Kolesov@synopsys.com>
8 years agoAdd rawmemchr
Wilco Dijkstra [Thu, 12 May 2016 16:16:58 +0000 (16:16 +0000)]
Add rawmemchr

Marcus Shawcroft wrote:
> This patch appears to have been munged by the mail system, can you
> repost as an attachment please.

Sure, I've attached the patch.

Wilco

Add a simple rawmemchr implementation. Use strlen for rawmemchr(s, '\0') as it is the
fastest way to search for '\0', and use memchr with an infinite size for other cases.
This is 3x faster for large sizes.

ChangeLog:
2016-04-22  Wilco Dijkstra  <wdijkstr@arm.com>

        * newlib/libc/machine/aarch64/Makefile.in: Add rawmemchr.S and
        rawmemchr-stub.c.
        * newlib/libc/machine/aarch64/Makefile.am: Likewise.
        * newlib/libc/machine/aarch64/rawmemchr.S (rawmemchr): Add rawmemchr.
        * newlib/libc/machine/aarch64/rawmemchr-stub.c (rawmemchr): Likewise.

8 years agoBump Cygwin DLL version to 2.5.2
Corinna Vinschen [Wed, 18 May 2016 19:27:57 +0000 (21:27 +0200)]
Bump Cygwin DLL version to 2.5.2

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
8 years agoMake sure to have full configuration info in sys/_types.h.
Corinna Vinschen [Wed, 18 May 2016 19:05:31 +0000 (21:05 +0200)]
Make sure to have full configuration info in sys/_types.h.

The following testcase:

  $ cat > test.c <<EOF
  #include <sys/select.h>
  #include <sys/time.h>
  EOF
  $ gcc -c test.c

emits the following error:

  /usr/include/sys/reent.h:276:3: error: expected specifier-qualifier-list befor
e ‘_fpos64_t’
     _fpos64_t _EXFNPTR(_seek64, (struct _reent *, _PTR, _fpos64_t, int));
     ^

The reason is that the load order from sys/select.h includes sys/_types.h
before sys/config.h has been included from anywhere else.  sys/_types.h
defines _fpos64_t only if __LARGE64_FILES is defined, but it never is in
this scenario.  So sys/_types.h has to make sure to get the configuration
info by itself.

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
8 years agoFix strlen using Thumb-2 with -Os -marm
Jeff Johnston [Wed, 11 May 2016 21:18:48 +0000 (17:18 -0400)]
Fix strlen using Thumb-2 with -Os -marm

2016-04-18  Thomas Preud'homme  <thomas.preudhomme@arm.com>

        * libc/machine/arm/strlen-stub.c: Check capabilities of architecture
        to decide which Thumb implementation to use and fall back to C
        implementation for architecture not supporting Thumb mode.
        * libc/machine/arm/strlen.S: Likewise.

8 years agoFix libgloss arc nsim specs file.
Jeff Johnston [Wed, 11 May 2016 16:45:55 +0000 (12:45 -0400)]
Fix libgloss arc nsim specs file.

8 years agoAdd port for Phoenix-RTOS in common configure files.
Jeff Johnston [Mon, 9 May 2016 19:23:58 +0000 (15:23 -0400)]
Add port for Phoenix-RTOS in common configure files.

8 years agoAllow autoconf link-time tests to detect arc4random for RTEMS.
Jeff Johnston [Mon, 9 May 2016 16:36:29 +0000 (12:36 -0400)]
Allow autoconf link-time tests to detect arc4random for RTEMS.

8 years agoAdd Phoenix-RTOS port for ARM.
Jeff Johnston [Fri, 6 May 2016 21:04:58 +0000 (17:04 -0400)]
Add Phoenix-RTOS port for ARM.

Port contributed by Jakub Sejdak <jakub.sejdak@phoesys.com>

8 years agoFix libgloss/arc/nano.specs file.
Jeff Johnston [Fri, 6 May 2016 19:55:49 +0000 (15:55 -0400)]
Fix libgloss/arc/nano.specs file.

8 years agoFix white-space in libgloss/arc/Makefile.in.
Jeff Johnston [Thu, 5 May 2016 16:02:29 +0000 (12:02 -0400)]
Fix white-space in libgloss/arc/Makefile.in.

8 years agoAdd _Thread_queue_Queue::_owner for RTEMS
Jeff Johnston [Tue, 3 May 2016 18:21:17 +0000 (14:21 -0400)]
Add _Thread_queue_Queue::_owner for RTEMS

Add _Thread_queue_Queue::_owner which will be used for the upcomming
priority inheritance implementation and an O(m) independence-preserving
protocol (OMIP) implementation.

Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de>
8 years agoMove _Thread_queue_Queue::_Lock for RTEMS
Jeff Johnston [Tue, 3 May 2016 18:17:47 +0000 (14:17 -0400)]
Move _Thread_queue_Queue::_Lock for RTEMS

Move _Thread_queue_Queue::_Lock to begin of the structure.  On RTEMS,
the presence of a lock component in the thread queue structures actually
depends on the build-time RTEMS_SMP configuration option.  A move of
this part to the begin of the structure allows an implementation re-use
for the other parts.

Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de>
8 years agoAlways assign return value to passed pointer in time function.
Jeff Johnston [Mon, 2 May 2016 20:11:26 +0000 (16:11 -0400)]
Always assign return value to passed pointer in time function.

If the passed t pointer is not a null pointer, always assign the return
value to the object it points to, regardless of whether the return value
is an error.

This is what the GNU C Library does, and this is also the expected
behavior according to the latest draft of the C programming language
standard (C11 ISO/IEC 9899:201x WG14 N1570, dated 2011-04-12):

Signed-off-by: Benoît Thébaudeau <benoit@wsystem.com>
8 years agoDon't run UTF-8.exp test if newlib is not built with multibyte support.
Jeff Johnston [Mon, 2 May 2016 20:03:27 +0000 (16:03 -0400)]
Don't run UTF-8.exp test if newlib is not built with multibyte support.

Submitted on behalf of Yuriy Kolerov.

newlib/ChangeLog

2016-04-29  Yuriy Kolerov <yuriy.kolerov@synopsys.com>

        testsuite/newlib.locale/UTF-8.exp: Don't run if multibyte support is
        disabled.

Signed-off-by: Yuriy Kolerov <yuriy.kolerov@synopsys.com>
Signed-off-by: Anton Kolesov <anton.kolesov@synopsys.com>
8 years agoFix support ARC processors without barrel-shifter
Jeff Johnston [Mon, 2 May 2016 16:04:40 +0000 (12:04 -0400)]
Fix support ARC processors without barrel-shifter

crt0.S for ARC used to use instruction "asr.f lp_count, r3, 2" for all cores
except ARC601. However instructions which shift more than 1 bit are
optional, so this crt0.S didn't worked for all ARC cores.

Luckily this is a shift just by 2 bits on all occassions, so fix is trivial
- use two single-bit shifts.

libgloss/ChangeLog

2016-04-29  Anton Kolesov  <anton.kolesov@synopsys.com>

        * arc/crt0.S: Fix support for processors without barrel-shifter.

Signed-off-by: Anton Kolesov <Anton.Kolesov@synopsys.com>
8 years agoUpdate crt0.S for ARC.
Jeff Johnston [Mon, 2 May 2016 15:58:47 +0000 (11:58 -0400)]
Update crt0.S for ARC.

This is similar to commit 06537f05d4b6a0d2db01c6afda1d2a0ea2588126 to the
newlib for ARC.

GCC for ARC has been updated to provide consistent naming of preprocessor
definitions for different optional architecture features:

    * __ARC_BARREL_SHIFTER__ instead of __Xbarrel_shifter for
      -mbarrel-shifter
    * __ARCEM__ instead of __EM__ for ARC EM cores
    * __ARCHS__ instead of __HS__ for ARC HS cores
    * etc (not used in libgloss)

This patch updates crt0.S for ARC to use new definitions instead of a
deprecated ones. To ensure compatibility with older compiler new definitions
are also defined in crt0.S if needed, based on presence of deprecated
preprocessor definitions.

libgloss/ChangeLog

2016-04-29  Anton Kolesov  <Anton.Kolesov@synopsys.com>

        * arc/crt0.S: Use new GCC defines to detect processor features.

8 years agoAdd necessary infrastructure to support "nano" build of newlib.
Jeff Johnston [Fri, 29 Apr 2016 19:14:51 +0000 (15:14 -0400)]
Add necessary infrastructure to support "nano" build of newlib.

ARC aproach to this feature is similiar to ARM's one here.

2016-04-29  Anton Kolesov  <anton.kolesov@synopsys.com>

        * arc/nano.specs: New file.
        * arc/Makefile.in: Support nano.specs.
        * arc/nsim.specs: Likewise.

8 years agoProvide FreeBSD types for <sys/types.h> on RTEMS cygwin-2_5_1-release
Sebastian Huber [Thu, 21 Apr 2016 06:21:46 +0000 (08:21 +0200)]
Provide FreeBSD types for <sys/types.h> on RTEMS

Provide the following types via <sys/types.h> on RTEMS for FreeBSD
compatibility if __BSD_VISIBLE

 * accmode_t,
 * cap_rights_t,
 * c_caddr_t,
 * cpulevel_t,
 * fixpt_t,
 * lwpid_t,
 * uintfptr_t,
 * vm_offset_t,
 * vm_ooffset_t,
 * vm_paddr_t,
 * vm_pindex_t, and
 * vm_size_t.

Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de>
8 years agoAlways provide register_t via <sys/types.h>
Sebastian Huber [Thu, 21 Apr 2016 06:21:45 +0000 (08:21 +0200)]
Always provide register_t via <sys/types.h>

Always provide register_t via <sys/types.h> for glibc and BSD
compatibility.  Define __BIT_TYPES_DEFINED__ to 1 like glibc for legacy
header files.

Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de>
8 years agoSimplify guard against defining pthread types on Cygwin
Corinna Vinschen [Thu, 21 Apr 2016 08:27:29 +0000 (10:27 +0200)]
Simplify guard against defining pthread types on Cygwin

* libc/include/sys/types.h: Fix a comment about Cygwin.  Simplify
guarding pthread types against inclusion on Cygwin.

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
8 years agoRemove cygwin/types.h
Corinna Vinschen [Thu, 21 Apr 2016 08:12:02 +0000 (10:12 +0200)]
Remove cygwin/types.h

8 years agoResurrect <machine/types.h> for <sys/types.h>
Sebastian Huber [Thu, 21 Apr 2016 06:21:44 +0000 (08:21 +0200)]
Resurrect <machine/types.h> for <sys/types.h>

Resurrect <machine/_user_types.h> for use in <sys/types.h>.  Newlib
targets may provide an own version of <machine/types.h> in their machine
directory to add custom user types for <sys/types.h>.  Check the
_SYS_TYPES_H header guard to prevent a direct include of
<machine/types.h>, since the <machine/types.h> file is a Newlib
speciality.

Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de>
8 years agoFixed semihosting for ARM when heapinfo not provided by debugger.
David Hoover [Thu, 21 Apr 2016 05:12:24 +0000 (07:12 +0200)]
Fixed semihosting for ARM when heapinfo not provided by debugger.

8 years agoRemove duplicate int*_t definitions
Sebastian Huber [Wed, 20 Apr 2016 13:29:51 +0000 (15:29 +0200)]
Remove duplicate int*_t definitions

Types are already available via <sys/_stdint.h> included some lines
above.

Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de>
8 years agoRemove duplicate u_int*_t definitions
Sebastian Huber [Wed, 20 Apr 2016 13:29:50 +0000 (15:29 +0200)]
Remove duplicate u_int*_t definitions

Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de>
8 years agoAdd release message for commit 9409c53
Corinna Vinschen [Wed, 20 Apr 2016 10:34:07 +0000 (12:34 +0200)]
Add release message for commit 9409c53

8 years agoDon't test pthread objects for being already initialized at init time
Corinna Vinschen [Wed, 20 Apr 2016 10:31:45 +0000 (12:31 +0200)]
Don't test pthread objects for being already initialized at init time

For all pthread init functions, POSIX says

  Results are undefined if pthread_FOO_init() is called specifying an
  already initialized pthread_FOO object.

So far our pthread init functions tested the incoming object if it's
already an initialized object and, if so, returned EBUSY.  That's ok
*iff* the object was already initialized.  However, as the example in
https://cygwin.com/ml/cygwin/2016-04/msg00473.html shows, an uninitialized
pthread object could also accidentally look like an initialized object
and then returning EBUSY is not ok.

Consequentially, all those tests are dangerous.  Per POSIX, an application
has to know what its doing when calling any of the pthread init functions
anyway, and re-initializing the object is just as well as undefined
behaviour as is returning EBUSY on already initialized objects.

* thread.cc (pthread_attr_init): Drop check for already initialized
object.
(pthread_condattr_init): Ditto.
(pthread_rwlockattr_init): Ditto.
(pthread_mutexattr_init): Ditto.

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
8 years agoAdd RTEMS support for GCC libatomic
Sebastian Huber [Tue, 19 Apr 2016 08:14:55 +0000 (10:14 +0200)]
Add RTEMS support for GCC libatomic

Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de>
8 years agoAdd __ssize_t to <sys/_types.h>
Sebastian Huber [Mon, 18 Apr 2016 13:29:27 +0000 (15:29 +0200)]
Add __ssize_t to <sys/_types.h>

Add __ssize_t to <sys/_types.h> for BSD compatibility.

Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de>
8 years agoAdd RTEMS-specific types for BSD compatibility
Sebastian Huber [Mon, 18 Apr 2016 13:29:26 +0000 (15:29 +0200)]
Add RTEMS-specific types for BSD compatibility

Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de>
8 years agoProvide in_port_t via <sys/types.h>
Sebastian Huber [Mon, 18 Apr 2016 13:29:25 +0000 (15:29 +0200)]
Provide in_port_t via <sys/types.h>

Provide in_port_t via <sys/types.h> if __BSD_VISIBLE for BSD
compatibility.

Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de>
8 years agoProvide in_addr_t via <sys/types.h>
Sebastian Huber [Mon, 18 Apr 2016 13:29:24 +0000 (15:29 +0200)]
Provide in_addr_t via <sys/types.h>

Provide in_addr_t via <sys/types.h> if __BSD_VISIBLE for BSD
compatibility.

Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de>
8 years agoIntroduce __sa_family_t for BSD compatibiliy
Sebastian Huber [Mon, 18 Apr 2016 13:29:23 +0000 (15:29 +0200)]
Introduce __sa_family_t for BSD compatibiliy

Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de>
8 years agoIntroduce __socklen_t for BSD compatibility
Sebastian Huber [Mon, 18 Apr 2016 13:29:22 +0000 (15:29 +0200)]
Introduce __socklen_t for BSD compatibility

Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de>
8 years agoBSD compatibility for <machine/endian.h>
Sebastian Huber [Mon, 18 Apr 2016 13:29:21 +0000 (15:29 +0200)]
BSD compatibility for <machine/endian.h>

Introduce <machine/_endian.h> to let target based customization of
<machine/endian.h> via

 * _LITTLE_ENDIAN,
 * _BIG_ENDIAN,
 * _PDP_ENDIAN, and
 * _BYTE_ORDER.

defines.  Add definitions expected by FreeBSD to
<machine/endian.h> like

 * _QUAD_HIGHWORD,
 * _QUAD_LOWWORD,
 * __bswap16(),
 * __bswap32(),
 * __bswap64(),
 * __htonl(),
 * __htons(),
 * __ntohl(), and
 * __ntohs().

Also, if __BSD_VISIBLE

 * LITTLE_ENDIAN,
 * BIG_ENDIAN,
 * PDP_ENDIAN, and
 * BYTE_ORDER.

Targets that define __machine_host_to_from_network_defined in
<machine/_endian.h> must provide their own implementation of

 * __htonl(),
 * __htons(),
 * __ntohl(), and
 * __ntohs(),

otherwise a default implementation is provided by <machine/endian.h>.
In case of GCC defines to builtins are used.

Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de>
8 years agoDisallow S_ISGID on directories without default ACL entries
Corinna Vinschen [Tue, 19 Apr 2016 08:23:49 +0000 (10:23 +0200)]
Disallow S_ISGID on directories without default ACL entries

We can't handle the S_ISGID bit if the child didn't inherit a NULL SID
ACE with the S_ISGID bit set.  On directories without default ACL
entries we would have to add an inheritable NULL SID ACE and nothing else.
This in turn results in permission problems when calling set_file_sd
from set_created_file_access.  That's fixable, but it would only work
for files created from Cygwin while files created from native Windows
tools end up with really ugly permissions.

This patch only makes sure that the S_ISGID bit is reset for a directory
if it has no inheritable ACEs.  Still having the 's' bit shown in ls or
getfacl output would be misleading.  So, calling `setfacl -k' on a dir
also removes the S_ISGID bit now.

* sec_acl.cc (set_posix_access): Drop S_ISGID bit on directories
without inheritable ACEs.  Explain why.

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
8 years agoHandle permissions a bit closer to POSIX 1003.1e
Corinna Vinschen [Mon, 18 Apr 2016 18:43:00 +0000 (20:43 +0200)]
Handle permissions a bit closer to POSIX 1003.1e

So far we tweaked ACL_GROUP_OBJ and ACL_MASK values the same way when
creating a file.  We now do what POSIX requires, namely just change
ACL_MASK if it's present, otherwise ACL_GROUP_OBJ.  Note that we only
do this at creation time.  Chmod still tweaks both to create less
surprising results for the unsuspecting user.

Additionally make sure to take umask only into account if no ACL_MASK
value is present.  That has been missed so far.

* sec_acl.cc (set_posix_access): Perform check for non-existant
default ACEs earlier.  Ignore umask also if ACL_MASK is present.
Only set owner_eq_group if we're actually handling a user entry.
Mention chmod in a comment.
* security.cc (set_created_file_access): Perform group/mask
permission setting as required by POSIX 1003.1e.

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
8 years agoAlso create NULL SID ACE if special POSIX bits are set
Corinna Vinschen [Mon, 18 Apr 2016 13:36:34 +0000 (15:36 +0200)]
Also create NULL SID ACE if special POSIX bits are set

Commit e2ea143 forgot to take special POSIX bits into account.

* sec_acl.cc (set_posix_access): Make sure to create NULL SID
ACE if any special POSIX permission bits are set.

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
8 years agoFix definition of __size_t
Sebastian Huber [Mon, 18 Apr 2016 06:47:46 +0000 (08:47 +0200)]
Fix definition of __size_t

Fix definition of __size_t in case __SIZE_TYPE__ is not defined.

Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de>
8 years agoAdd release message for commit e2ea143
Corinna Vinschen [Mon, 18 Apr 2016 10:09:18 +0000 (12:09 +0200)]
Add release message for commit e2ea143

8 years agoFix attempt to create ACLs without NULL SID
Corinna Vinschen [Mon, 18 Apr 2016 10:07:04 +0000 (12:07 +0200)]
Fix attempt to create ACLs without NULL SID

Commit f75114fc was supposed to drop NULL SIDs in case the permissions
are simple enough not to require mask values or special POSIX bits
(S_ISVTX, etc).  The check was incorrect.  This patch is supposed to
fix the problem.

* sec_acl.cc (set_posix_access): Fix condition under which we
write a NULL SID.

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
8 years agolibc/sys/rtems/crt0.c: Add <sys/lock.h> symbols required to link autoconf probes
Joel Sherrill [Wed, 13 Apr 2016 20:50:25 +0000 (15:50 -0500)]
libc/sys/rtems/crt0.c: Add <sys/lock.h> symbols required to link autoconf probes

The dummy crt0.c provided by the RTEMS target provides stubs of
symbols which would normally be provided by RTEMS. This patch adds
stubs for posix_memalign() as well as the synchronization methods
prototyped in <sys/lock.h>.

8 years agoCygwin: Drop definition and usage of _mode_t in favor of __mode_t
Corinna Vinschen [Fri, 15 Apr 2016 12:49:36 +0000 (14:49 +0200)]
Cygwin: Drop definition and usage of _mode_t in favor of __mode_t

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
8 years agoProvide FNONBLOCK for BSD compatiblity
Sebastian Huber [Fri, 15 Apr 2016 11:44:29 +0000 (13:44 +0200)]
Provide FNONBLOCK for BSD compatiblity

Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de>
8 years agoProvide __size_t via <sys/_types.h>
Sebastian Huber [Fri, 15 Apr 2016 11:44:28 +0000 (13:44 +0200)]
Provide __size_t via <sys/_types.h>

Various FreeBSD source and header files need a typedef __size_t via
<sys/_types.h>.  Unfortunately the GCC provided <stddef.h> uses

#if (defined (__FreeBSD__) && (__FreeBSD__ >= 5)) \
  || defined(__DragonFly__) \
  || defined(__FreeBSD_kernel__)
/* __size_t is a typedef on FreeBSD 5, must not trash it. */
#elif defined (__VMS__)
/* __size_t is also a typedef on VMS.  */
#else
#define __size_t
#endif

and therefore defines __size_t on Newlib targets which would trash a
__size_t typedef.  Include <stddef.h> before <sys/_types.h> in
<sys/types.h> and undefine __size_t in <sys/_types.h> as a workaround.

Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de>
8 years agoInclude <machine/endian.h> in <sys/types.h>
Sebastian Huber [Fri, 15 Apr 2016 11:44:27 +0000 (13:44 +0200)]
Include <machine/endian.h> in <sys/types.h>

Include <machine/endian.h> in <sys/types.h> if __BSD_VISIBLE for BSD
compatibility.  This is in line with glibc <sys/types.h>.

Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de>
8 years agoAdd __va_list to <sys/_types.h>
Sebastian Huber [Fri, 15 Apr 2016 11:44:26 +0000 (13:44 +0200)]
Add __va_list to <sys/_types.h>

Add __va_list to <sys/_types.h> for BSD compatibility.  In FreeBSD this
typedef is provided by the various architecture-specific
<machine/_types.h> in a copy and paste manner.

Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de>
8 years agoAdd BSD guards for fixed-size integer types
Christian Mauderer [Fri, 15 Apr 2016 11:44:25 +0000 (13:44 +0200)]
Add BSD guards for fixed-size integer types

Signed-off-by: Christian Mauderer <christian.mauderer@embedded-brains.de>
8 years agoAdd BSD guard for useconds_t
Sebastian Huber [Fri, 15 Apr 2016 11:44:24 +0000 (13:44 +0200)]
Add BSD guard for useconds_t

Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de>
8 years agoAdd BSD guard for nlink_t
Sebastian Huber [Fri, 15 Apr 2016 11:44:23 +0000 (13:44 +0200)]
Add BSD guard for nlink_t

Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de>
8 years agoProvide POSIX defined fsblkcnt_t and fsfilcnt_t
Sebastian Huber [Fri, 15 Apr 2016 11:44:22 +0000 (13:44 +0200)]
Provide POSIX defined fsblkcnt_t and fsfilcnt_t

Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de>
8 years agoProvide POSIX defined blksize_t in <sys/types.h>
Sebastian Huber [Fri, 15 Apr 2016 11:44:21 +0000 (13:44 +0200)]
Provide POSIX defined blksize_t in <sys/types.h>

Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de>
8 years agoProvide POSIX defined blkcnt_t in <sys/types.h>
Sebastian Huber [Fri, 15 Apr 2016 11:44:20 +0000 (13:44 +0200)]
Provide POSIX defined blkcnt_t in <sys/types.h>

Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de>
8 years agoAdd BSD guard for timer_t
Sebastian Huber [Fri, 15 Apr 2016 11:44:19 +0000 (13:44 +0200)]
Add BSD guard for timer_t

Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de>
8 years agoAdd BSD guard for clockid_t
Sebastian Huber [Fri, 15 Apr 2016 11:44:18 +0000 (13:44 +0200)]
Add BSD guard for clockid_t

Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de>
8 years agoAdd BSD guard for time_t
Sebastian Huber [Fri, 15 Apr 2016 11:44:17 +0000 (13:44 +0200)]
Add BSD guard for time_t

Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de>
8 years agoAdd BSD guard for clock_t
Sebastian Huber [Fri, 15 Apr 2016 11:44:16 +0000 (13:44 +0200)]
Add BSD guard for clock_t

Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de>
8 years agoDefine mode_t via __mode_t
Sebastian Huber [Fri, 15 Apr 2016 11:44:15 +0000 (13:44 +0200)]
Define mode_t via __mode_t

Use __uint32_t to avoid the use of GCC-specific _ST_INT32.

Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de>
8 years agoAdd BSD guard for ino_t in <sys/types.h>
Sebastian Huber [Fri, 15 Apr 2016 11:44:14 +0000 (13:44 +0200)]
Add BSD guard for ino_t in <sys/types.h>

Introduce internal type __ino_t.

Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de>
8 years agoProvide POSIX defined id_t in <sys/types.h>
Sebastian Huber [Fri, 15 Apr 2016 11:44:13 +0000 (13:44 +0200)]
Provide POSIX defined id_t in <sys/types.h>

Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de>
8 years agoUse __machine_*_t_defined for internal types
Sebastian Huber [Fri, 15 Apr 2016 11:44:12 +0000 (13:44 +0200)]
Use __machine_*_t_defined for internal types

Newlib defines defaults for internal types via <sys/_types.h> and uses
<machine/_types.h> to let targets define their own type if necessary.

Previously for example

#ifndef __dev_t_defined
typedef short __dev_t;
#endif

However, the __*_t_defined pattern conflicts with the glibc type guard
pattern for user types, e.g. dev_t in this example.  Introduce a
__machine_*_t_defined pattern for internal types (defined by
<machine/_types.h>, used by <sys/_types.h>).  For example

#ifndef __machine_dev_t_defined
typedef short __dev_t;
#endif

Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de>
8 years agoFeature test macros overhaul: string.h and strings.h overlaps
Yaakov Selkowitz [Thu, 14 Apr 2016 04:50:11 +0000 (23:50 -0500)]
Feature test macros overhaul: string.h and strings.h overlaps

strings.h is the header mandated for these functions in POSIX.1 prior to
2008 (when most of these were removed).  The declarations in string.h are
only for BSD compatibility.  But when both headers are included, avoid
duplicate declarations.

Also, mark stpcpy and stpncpy as POSIX.1-2008.

Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
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>
This page took 0.078738 seconds and 5 git commands to generate.