]> sourceware.org Git - newlib-cygwin.git/log
newlib-cygwin.git
8 years agoRemove support for SUNWNFS file system
Corinna Vinschen [Tue, 15 Dec 2015 12:56:39 +0000 (13:56 +0100)]
Remove support for SUNWNFS file system

8 years agoHandle up to 63 partitions per drive
Corinna Vinschen [Thu, 23 Jun 2016 14:56:41 +0000 (16:56 +0200)]
Handle up to 63 partitions per drive

Revamp device parsing code.  Introducing support for more partitions
into the shilka-generated parser has the unfortunate side-effect of
raising the size of the DLL by almost 2 Megs.  Therefore we split out
the handling for /dev/sdXY devices into a tiny bit of hand-written
code.

While at it, remove some unused cruft from devices.* and generally
clean up the device class to provide access methods instead of direct
access to members.

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
8 years agoBump DLL minor version
Corinna Vinschen [Thu, 23 Jun 2016 13:21:44 +0000 (15:21 +0200)]
Bump DLL minor version

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
8 years agoSwitching the Cygwin DLL to LGPLv3+, dropping commercial buyout option cygwin-2_5_2-release
Corinna Vinschen [Tue, 24 May 2016 09:16:39 +0000 (11:16 +0200)]
Switching the Cygwin DLL to LGPLv3+, dropping commercial buyout option

Bump GPLv2+ to GPLv3+ for some files, clarify BSD 2-clause.

Everything else stays under GPLv3+.

New Linking Exception exempts resulting executables from LGPLv3 section 4.

Add CONTRIBUTORS file to keep track of licensing.

Remove 'Copyright Red Hat Inc' comments.

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
8 years agoAdd release message for commit 2c83227
Corinna Vinschen [Tue, 21 Jun 2016 11:43:53 +0000 (13:43 +0200)]
Add release message for commit 2c83227

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
8 years agoDrop useless calls to path_conv.isgood_inode
Corinna Vinschen [Tue, 21 Jun 2016 11:39:35 +0000 (13:39 +0200)]
Drop useless calls to path_conv.isgood_inode

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
8 years agoUse correct file info (especially inode number) for newly created files
Corinna Vinschen [Tue, 21 Jun 2016 11:39:04 +0000 (13:39 +0200)]
Use correct file info (especially inode number) for newly created files

fhandler_base::open_fs has two problems:
- When newly creating a file, the file info in the path_conv is
  incorrect.  It points to info for the parent dir, not to info
  for the file itself (which, naturally, wasn't available before).
- Fetching the file's inode number only worked for non-NFS.

Both problems should be fixed now by reloading file info if the file
has just been created, as well as using the new FS-agnostic
path_conv::get_ino method.

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
8 years agoUse new path_conv_handle functions to access file info
Corinna Vinschen [Tue, 21 Jun 2016 11:28:12 +0000 (13:28 +0200)]
Use new path_conv_handle functions to access file info

This avoids having to call nfs_fetch_fattr3/file_get_fai depending
on FS type as well as having to extract the info FS dependent.

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
8 years agoImprove encapsulation of FS type behind path_conv cover
Corinna Vinschen [Tue, 21 Jun 2016 11:24:41 +0000 (13:24 +0200)]
Improve encapsulation of FS type behind path_conv cover

Rather than having to check for the FS type in the caller and having
to call different functions whether FS is NFS or not, encapsulate the
info in path_conv_handle/path_conv methods to allow FS type agnostic
calling from upper level functions.

This patch only implements the methods.

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
8 years agosys/time.h: Change visibility of gettimeofday.
Corinna Vinschen [Mon, 20 Jun 2016 08:11:24 +0000 (10:11 +0200)]
sys/time.h: Change visibility of gettimeofday.

gettimeofday is currently guarded with __MISC_VISIBLE || __XSI_VISIBLE.
However, gettimeofday should be always visible, as in GLibc.

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
8 years agoRe-enable malloc_lock for newlib-nano
Andre Vieira (lists) [Thu, 16 Jun 2016 11:23:51 +0000 (12:23 +0100)]
Re-enable malloc_lock for newlib-nano

Re-enable the use of __malloc_lock and __malloc_unlock newlib-nano, tied
the newlib-multithread.

8 years agouinfo.cc: More comment fixes, remove unused testing code.
Corinna Vinschen [Wed, 15 Jun 2016 17:48:43 +0000 (19:48 +0200)]
uinfo.cc: More comment fixes, remove unused testing code.

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
8 years agouinfo.cc: Fix comment
Corinna Vinschen [Wed, 15 Jun 2016 16:04:00 +0000 (18:04 +0200)]
uinfo.cc: Fix comment

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
8 years agoDeclare crypt, encrypt, and setkey per Posix
Ken Brown [Wed, 8 Jun 2016 21:04:06 +0000 (17:04 -0400)]
Declare crypt, encrypt, and setkey per Posix

8 years agoFix typos in comments and debug output in select_stuff::wait
Corinna Vinschen [Wed, 8 Jun 2016 09:02:50 +0000 (11:02 +0200)]
Fix typos in comments and debug output in select_stuff::wait

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
8 years agoAdd release message for commit 7239bb7b3ded5ab961dc56dc346d8ab83660ba29
Corinna Vinschen [Mon, 6 Jun 2016 17:02:08 +0000 (19:02 +0200)]
Add release message for commit 7239bb7b3ded5ab961dc56dc346d8ab83660ba29

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
8 years agoAdd release message for select(2) changes
Corinna Vinschen [Mon, 6 Jun 2016 15:24:39 +0000 (17:24 +0200)]
Add release message for select(2) changes

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
8 years agoImprove timer handling in select.
Corinna Vinschen [Mon, 6 Jun 2016 14:48:38 +0000 (16:48 +0200)]
Improve timer handling in select.

Commit a23e6a35d896a075640db714b28ce74bb6b8d7ff introduced a timer
object to the WFMO handling in select_stuff::wait to allow sub-tickcount
timeout values in select.

Problems with this patch: The timer was created and destroyed on every
invocation of select_stuff::wait, thus potentially multiple times per
select.  Also, since the timer was prepended to the WFMO hande list,
the timer handle could shadow actual events on other objects, given that
WFMO checks the objects in the order they have been specified in the
HANDLE array.  The timer was also created/destroyed and added to the
HANDLE array even if it was not required.

This patch drops the local timer HANDLE and recycles the cw_timer HANDLE
in the cygtls area instead.  Thus we typically don't need to create the
timer in select at all, and we never have to destroy it.

The timer HANDLE is now also appended as last object to the HANDLE array,
and it's only added if actually needed.

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
8 years agoFix condition in select which results in busy loop.
Corinna Vinschen [Mon, 6 Jun 2016 14:18:53 +0000 (16:18 +0200)]
Fix condition in select which results in busy loop.

The check for current timestamp > start timestamp has an unwelcome
side effect:  The loop is not left as long as the current timestamp
hasn't been incremented.  This leads to busy loops of about one tick
(10 to 16 ms per MSDN).

This fixes https://cygwin.com/ml/cygwin/2016-05/msg00327.html

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
8 years agoReturn at most one line of input in canonical mode
Takashi Yano [Mon, 6 Jun 2016 13:09:34 +0000 (15:09 +0200)]
Return at most one line of input in canonical mode

'man termios' says:
"A read(2) returns at most one line of input" in canonical mode.

On cygwin 2.5.1, read(2) returns all data in buffer if the buffer
size specified is large enough. This behaviour is correct in
noncanonical mode, but is not correct in canonical mode.

While checking this problem, I found a bug of tcflush().  tcflush()
flushes only partial data in the buffer.  The patch also fixes this bug.

The patch has also been tested against the problem reported in
https://cygwin.com/ml/cygwin/2016-05/msg00318.html.

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
8 years agoAllow 'make distclean' to clean winsup/cygwin
Ken Brown [Sun, 5 Jun 2016 16:58:22 +0000 (12:58 -0400)]
Allow 'make distclean' to clean winsup/cygwin

But don’t let it remove source files.

8 years agoOnly regenerate tlsoffsets{64}.h if cygtls.h can be compiled
Corinna Vinschen [Mon, 6 Jun 2016 09:44:54 +0000 (11:44 +0200)]
Only regenerate tlsoffsets{64}.h if cygtls.h can be compiled

The rule to make tlsoffset{64}.h has a flaw.  If cygtls.h can't be
built for whatever reason, it *still* regenerates tlsoffsets{64}.h,
just with size 0.  If the bug is not in cygtls.h itself, this behaviour
breaks further building, because fixing the problem won't result in
regenerating tlsoffset{64}.h.  Manual intervention is required.

Fix that by removing tlsoffsets{64}.h if gentls_offsets fails.

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
8 years agocygwin: include sys/types.h in sys/xattr.h
Yaakov Selkowitz [Fri, 3 Jun 2016 08:34:11 +0000 (03:34 -0500)]
cygwin: include sys/types.h in sys/xattr.h

Using libattr's <xattr/xattr.h> requires consumers to explicitly include
<sys/types.h> first, but glibc's header in sys/ already contains the include.

Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
8 years agosched.cc: Use PROCESS_QUERY_INFORMATION for now
Corinna Vinschen [Fri, 3 Jun 2016 08:28:44 +0000 (10:28 +0200)]
sched.cc: Use PROCESS_QUERY_INFORMATION for now

Temporarily revert to use PROCESS_QUERY_INFORMATION instead of
PROCESS_QUERY_LIMITED_INFORMATION to make sure every aspect of the
next release is still XP/2003 compatible.

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
8 years agoRevert "Cygwin hangs up if several keys are typed during outputting a lot of texts."
Corinna Vinschen [Wed, 1 Jun 2016 15:04:24 +0000 (17:04 +0200)]
Revert "Cygwin hangs up if several keys are typed during outputting a lot of texts."

This reverts commit 252a07b0ad3353abcd0fcd9b1b65ff977acd679e.

This change introduced a hang in certain scenarios, for an example
see https://cygwin.com/ml/cygwin/2016-05/msg00318.html

8 years agodlopen: Add dot to filename if no slash is present
Corinna Vinschen [Wed, 1 Jun 2016 11:12:08 +0000 (13:12 +0200)]
dlopen: Add dot to filename if no slash is present

We're appending a dot to the filename before calling LoadLibrary to
override ".dll" automagic.  This only worked for paths, not for simple
filenames since it required a slash in the pathname.  Fix that.

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
8 years agoCygwin: Add release messages for previous two commits
Corinna Vinschen [Tue, 31 May 2016 14:37:53 +0000 (16:37 +0200)]
Cygwin: Add release messages for previous two commits

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
8 years agorealpath: Handle Win32 and NT long path prefixes
Corinna Vinschen [Tue, 31 May 2016 14:33:21 +0000 (16:33 +0200)]
realpath: Handle Win32 and NT long path prefixes

So far drive letter paths have been handled special since path_conv
leaves the incoming path untouched except for converting backslashes
to forward slashes.  However, if the incoming path starts with a
long path prefix, the same problem occurs.  Therefore handle all
paths starting with a backslahs the same way.

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
8 years agomath.h: Replace usage of INT_MAX with __INT_MAX__
Corinna Vinschen [Tue, 31 May 2016 14:30:46 +0000 (16:30 +0200)]
math.h: Replace usage of INT_MAX with __INT_MAX__

Using INT_MAX requires to include limits.h on most targets.
Math.h must not rely on that.

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
8 years agoAdd comment in the v850's crt0.S file noting that separate LMA and VMA addresses... newlib-snapshot-20160527
Nick Clifton [Thu, 26 May 2016 11:08:47 +0000 (12:08 +0100)]
Add comment in the v850's crt0.S file noting that separate LMA and VMA addresses for data sections are not currently supported.

8 years agoarc: Have nops in _exit_halt only for ARCompact
Anton Kolesov [Fri, 13 May 2016 15:21:08 +0000 (18:21 +0300)]
arc: Have nops in _exit_halt only for ARCompact

ARCompact processors (ARC 600 and ARC 700) require three "nop"s after the
"flag 1" instruction. Later ARC processors do not have this requirement, so
it is possible to reduce size of "_exit_halt" for them.

libgloss/
2016-05-24  Anton Kolesov  <Anton.Kolesov@synopsys.com>

* arc/crt0.S (_exit_halt): Insert nops only for ARCompact.

8 years agoarc: Rework default exception handlers for ARC EM and HS
Anton Kolesov [Fri, 13 May 2016 15:09:43 +0000 (18:09 +0300)]
arc: Rework default exception handlers for ARC EM and HS

Initially crt0.S used a special function, declared as weak as a default
exception handler in interrupt vector table. To let user override individual
handlers, this function had multiple names - one for each IVT entry, which,
however, was terribly confusing for the debugger and user - because it
wasn't clear which symbol will be used as a function name in debugger.
Defining multiple separate functions - one for each handler, would resolve
the mess, but would increase code size of crt0.o.

To clean this up, this patch defines exception handlers as weak symbols as
well, but those are defined as just symbols, not functions, hence there
would be less confusion over what is what. At the same time, users still can
redefine exception handlers symbol by creating functions with respective
names.

libgloss/
2016-05-24  Anton Kolesov  <Anton.Kolesov@synopsys.com>

* arc/crt0.S: Convert memory_error and friends to non-function
  symbols.

8 years agoTZ: Replace unreliable isupper calls on wchars
Corinna Vinschen [Wed, 25 May 2016 10:13:03 +0000 (12:13 +0200)]
TZ: Replace unreliable isupper calls on wchars

In case the TZ variable is empty, Cygwin fetches timezone info from
Windows.  Extracting the timezone short name uses isupper on wide chars.
Replace with explicit check for A <= character <= Z to be independent
of undefined behaviour.

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
8 years agoGit is Git, not GIT
Adam Dinwoodie [Tue, 24 May 2016 10:09:10 +0000 (12:09 +0200)]
Git is Git, not GIT

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
8 years agoFix typo and wrong URL in winsup/README
Corinna Vinschen [Tue, 24 May 2016 08:25:18 +0000 (10:25 +0200)]
Fix typo and wrong URL in winsup/README

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
8 years agoFeature test macros: ctermid, cuserid
Yaakov Selkowitz [Fri, 20 May 2016 21:55:50 +0000 (16:55 -0500)]
Feature test macros: ctermid, cuserid

The proper location for these functions has always been <stdio.h>, however
XPG4 and SUSv2 did mandate a duplicate declaration in <unistd.h>.  cuserid
was dropped in SUSv3 (it was marked legacy since XPG4) and the ctermid
declaration in <unistd.h> was made optional and obsolete in SUSv4.

Fixes: https://cygwin.com/ml/cygwin/2016-05/msg00002.html
Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
8 years agoAdd release message for previous mmap fix
Corinna Vinschen [Fri, 20 May 2016 19:50:41 +0000 (21:50 +0200)]
Add release message for previous mmap fix

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
8 years agommap: Fix size restriction of maps due to using 32 bit size type
Corinna Vinschen [Fri, 20 May 2016 19:48:10 +0000 (21:48 +0200)]
mmap: Fix size restriction of maps due to using 32 bit size type

Throughout mmap, size-related variables and parameters are still using
DWORD as type, which disallows mapping ranges > 4Gigs.  Fix this by
using SIZE_T throughout for those vars and parameters.
Also, drop unused off parameter from 1st variant of mmap_record::map_pages.

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
8 years agoAdd release message for scheduler fixes
Corinna Vinschen [Fri, 20 May 2016 16:01:11 +0000 (18:01 +0200)]
Add release message for scheduler fixes

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
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>
This page took 0.071947 seconds and 5 git commands to generate.