Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2016-04-19Introduce __socklen_t for BSD compatibilitySebastian Huber
Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de>
2016-04-19BSD compatibility for <machine/endian.h>Sebastian Huber
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>
2016-04-19Disallow S_ISGID on directories without default ACL entriesCorinna Vinschen
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>
2016-04-18Handle permissions a bit closer to POSIX 1003.1eCorinna Vinschen
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>
2016-04-18Also create NULL SID ACE if special POSIX bits are setCorinna Vinschen
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>
2016-04-18Fix definition of __size_tSebastian Huber
Fix definition of __size_t in case __SIZE_TYPE__ is not defined. Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de>
2016-04-18Add release message for commit e2ea143Corinna Vinschen
2016-04-18Fix attempt to create ACLs without NULL SIDCorinna Vinschen
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>
2016-04-15libc/sys/rtems/crt0.c: Add <sys/lock.h> symbols required to link autoconf probesJoel Sherrill
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>.
2016-04-15Cygwin: Drop definition and usage of _mode_t in favor of __mode_tCorinna Vinschen
Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
2016-04-15Provide FNONBLOCK for BSD compatiblitySebastian Huber
Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de>
2016-04-15Provide __size_t via <sys/_types.h>Sebastian Huber
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>
2016-04-15Include <machine/endian.h> in <sys/types.h>Sebastian Huber
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>
2016-04-15Add __va_list to <sys/_types.h>Sebastian Huber
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>
2016-04-15Add BSD guards for fixed-size integer typesChristian Mauderer
Signed-off-by: Christian Mauderer <christian.mauderer@embedded-brains.de>
2016-04-15Add BSD guard for useconds_tSebastian Huber
Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de>
2016-04-15Add BSD guard for nlink_tSebastian Huber
Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de>
2016-04-15Provide POSIX defined fsblkcnt_t and fsfilcnt_tSebastian Huber
Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de>
2016-04-15Provide POSIX defined blksize_t in <sys/types.h>Sebastian Huber
Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de>
2016-04-15Provide POSIX defined blkcnt_t in <sys/types.h>Sebastian Huber
Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de>
2016-04-15Add BSD guard for timer_tSebastian Huber
Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de>
2016-04-15Add BSD guard for clockid_tSebastian Huber
Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de>
2016-04-15Add BSD guard for time_tSebastian Huber
Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de>
2016-04-15Add BSD guard for clock_tSebastian Huber
Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de>
2016-04-15Define mode_t via __mode_tSebastian Huber
Use __uint32_t to avoid the use of GCC-specific _ST_INT32. Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de>
2016-04-15Add BSD guard for ino_t in <sys/types.h>Sebastian Huber
Introduce internal type __ino_t. Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de>
2016-04-15Provide POSIX defined id_t in <sys/types.h>Sebastian Huber
Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de>
2016-04-15Use __machine_*_t_defined for internal typesSebastian Huber
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>
2016-04-14Feature test macros overhaul: string.h and strings.h overlapsYaakov Selkowitz
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>
2016-04-13Get rid of some special cases for Cygwin in sys/types.hCorinna Vinschen
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>
2016-04-13Add BSD guards for off_t, dev_t, uid_t, and gid_tSebastian Huber
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>
2016-04-13Eliminate use of Newlib-specific <machine/types.h>Sebastian Huber
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>
2016-04-12Add Cygwin 2.5.1 release message fileCorinna Vinschen
Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
2016-04-12Reformat comments in Cygwin's version.h, remove very outdated infoCorinna Vinschen
Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
2016-04-12Bump Cygwin DLL version to 2.5.1.Corinna Vinschen
Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
2016-04-12strxfrm/wcsxfrm: Always return length of the transformed stringCorinna Vinschen
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>
2016-04-08Move kernel dependent parts of <sys/time.h>cygwin-2_5_0-releaseSebastian Huber
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>
2016-04-07math: fix isinf/isnan on SPU after move to math.hYaakov Selkowitz
Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
2016-04-07Drop <unistd.h> include from RTEMS <sys/param.h>Sebastian Huber
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>
2016-04-07Fix typo in the name of the MSP430 attribute section of example MSP430 ↵Nick Clifton
linker scripts.
2016-04-05Be truthful about reporting whether readahead is availableJohannes Schindelin
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>
2016-04-05math: update isinf/isnan function comments after move to math.hYaakov Selkowitz
Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
2016-04-05Add latest changes to release messageCorinna Vinschen
Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
2016-04-05Revert "Refactor to avoid nonnull checks on "this" pointer."Corinna Vinschen
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>
2016-04-04math: guard BSD finite/isinf/isnan functions properly in math.hYaakov Selkowitz
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>
2016-04-04winsup/utils: port getconf to 64-bitYaakov Selkowitz
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>
2016-04-04cygwin: update sysconf for new featuresYaakov Selkowitz
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>
2016-04-04cygwin/math: make isinf functions signedYaakov Selkowitz
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>
2016-04-04Feature test macros overhaul: Cygwin pthread.hYaakov Selkowitz
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>
2016-04-04Feature test macros overhaul: tar.hYaakov Selkowitz
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>