summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Move definition of wsadata into wsock_initCorinna Vinschen2016-03-091-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The problem this patch fixes showed up after updating to gcc-5.3.0. The cuplrit is a change in gcc when emitting section attributes. It only shows up when building without optimization. Effect in Cygwin: ws2_32 functions failed to load. In the original code the definition of "NO_COPY wsadata" was preceeding an __asm__ block (the definition of the _wsock_init wrapper), while the definition of "NO_COPY here" immediately follows the same assembler block. When gcc-5.3.0 emits assembler code for the wsadata definition, it emits the .data_cygwin_nocopy section attribute. Next it emits the assembler output for the __asm_ block, entirely ignoring its content. The __asm__ block adds a .text section definition. Eventually gcc emits assembler code for the here definition. However, apparently gcc still "knows" that it just emitted the .data_cygwin_nocopy section attribute and so doesn't redefine it. Remember the __asm__? It changed the section to .text. So with gcc-4.9.3 we got: .section .data_cygwin_nocopy,"w" wsadata: __asm__ block: .text .section .data_cygwin_nocopy,"w" here: With gcc 5.3.0 we now get: .section .data_cygwin_nocopy,"w" wsadata: __asm__ block: .text here: So "here" is now in the .text segment which is read-only. Hilarity ensues. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Cygwin: Document new POSIX ACL APICorinna Vinschen2016-03-082-0/+38
| | | | Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* faq: Sort BLODA list and update advice on fixing fork failuresJon Turney2016-03-081-32/+56
| | | | | | | | | | * faq-using.xml (bloda): Alphabetically sort BLODA list for ease of finding things in it. (fixing-fork-failures): Update to suggest rebase-trigger rather than running rebaseall via dash yourself. Mention detect_bloda CYGWIN token. Signed-off-by: Jon Turney <jon.turney@dronecode.org.uk>
* acl_create_entry: Don't invalidate existing entry_d and permset_d.Corinna Vinschen2016-03-081-16/+11
| | | | | | | | | * sec_posixacl .cc (__acl_dup): Remove. (acl_dup): Fold __acl_dup functionality into this function. (acl_create_entry): Don't create new acl_t. Just realloc acl->entry to make room for new aclent_t. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* __acltotext: Always append NULCorinna Vinschen2016-03-081-1/+1
| | | | | | * sec_acl.cc (__acltotext): Append NUL unconditionally. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Implement POSIX.1e ACL functionsCorinna Vinschen2016-03-0818-276/+1825
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Makefile.in (DLL_OFILES): Add sec_posixacl.o. (SUBLIBS): Add libacl.a (libacl.a): New rule to create libacl.a. * common.din: Export POSIX ACL functions as well as most libacl.a extensions. * fhandler.h (fhander_base::acl_get): New prototype. (fhander_base::acl_set): Ditto. (fhandler_disk_file::acl_get): Ditto. (fhandler_disk_file::acl_set): Ditto. * include/acl/libacl.h: New file. * include/cygwin/version.h: Bump API minor version. * include/sys/acl.h: Drop including cygwin/acl.h. Accommodate throughout Cygwin. Add POSIX ACL definitions. * sec_acl.cc: Include sec_posixacl.h. Replace ILLEGAL_UID and ILLEGAL_GID with ACL_UNDEFINED_ID where sensible. (__aclcheck): New internal acl check function to be used for Solaris and POSIX ACLs. (aclcheck32): Call __aclcheck. (__aclcalcmask): New function to compute ACL_MASK value. (__aclsort): New internal acl sort function to be used for Solaris and POSIX ACLs. (aclsort32): Call __aclsort. (permtostr): Work directly on provided buffer. (__acltotext): New internal acltotext function to be used for Solaris and POSIX ACLs. (acltotext32): Call __acltotext. (__aclfromtext): New internal aclfromtext function to be used for Solaris and POSIX ACLs. (aclfromtext32): Call __aclfromtext. * sec_posixacl.cc: New file implemeting POSIX ACL functions. * sec_posixacl.h: New internal header. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* cygwin/acl.h: Don't clutter namespaceCorinna Vinschen2016-03-081-32/+38
| | | | | | | include/cygwin/acl.h: Change comments to /**/ style. Reformat declarations. Use underscores in argument names. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Mention 64-bit Cygwin as another remedy for fork() failures.Alexey Sokolov2016-03-041-1/+3
|
* ccwrap: fix build with non-english locale set (v2)Patrick Bendorf2016-02-291-5/+1
| | | | | | | | after some discussion on irc and the list i'm resubmitting a simpler version of the patch. setting the locale on cygwin to 'C.UTF-8' is not needed, so i'm always setting it to 'C' which is sufficient for the build process and the most simple fix.
* ccwrap: fix build with non-english locale setPatrick Bendorf2016-02-291-0/+5
| | | | | | | | | | | | | | short explanation: after setting up cygwin on my systems the default locale is set to "de_DE.UTF-8". this leads to ccwrap not picking up certain "-isystem" arguments, which in turn leads to "stddef.h: no such file or directory". this breaks the build process for systems having non english locale. ccwrap scans the output of the first compiler invocation (line 21) for some specific english output on and around line 43. i changed the patch to check uname -o for cygwin string and set the locale to either C or C.UTF-8
* Enable HW interrupt setup on x86/x86_64 systems by defaultnewlib-snapshot-20160226Corinna Vinschen2016-02-265-7/+5
| | | | | | | | | | | | | * configure.host: Define _I386MACH_DISABLE_HW_INTERRUPTS on rdos. Remove setting _I386MACH_ALLOW_HW_INTERRUPTS anywhere else. * libc/machine/i386/i386mach.h: Replace test for _I386MACH_ALLOW_HW_INTERRUPTS with test for !_I386MACH_DISABLE_HW_INTERRUPTS. * libc/machine/x86_64/x86_64mach.h: Ditto. * libc/sys/linux/machine/i386/i386mach.h: Ditto. * libm/machine/i386/i386mach.h: Ditto. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* newlib/configure.host: Turn off sti/cli for i386 setjmp for i386-rtems*Joel Sherrill2016-02-251-0/+2
|
* Fix _newlib_version.h logic to support building gcc with newlib.Jeff Johnston2016-02-254-4/+11
|
* cygwin: Export clog10, clog10fYaakov Selkowitz2016-02-224-1/+10
| | | | | | | | | | | | winsup/cygwin/ * common.din: Add clog10, clog10f. * include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Bump. winsup/doc/ * new-features.xml (ov-new2.5): Mention clog10, clog10f. * posix.xml (std-gnu): Add clog10, clog10f. Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
* libm/complex: add clog10, clog10fYaakov Selkowitz2016-02-226-24/+105
| | | | | | | | | | | | | | newlib/ * libc/include/complex.h (clog10, clog10f): Declare. * libm/complex/Makefile.am (src): Add clog10.c. (fsrc): Add clog10f.c. (CHEWOUT_FILES): Add clog10.def. * libm/complex/Makefile.in: Regenerate. * libm/complex/clog10.c: New file. * libm/complex/clog10f.c: New file. * libm/complex/complex.tex: Add references to clog10 docs. Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
* pthread.h, sys/types.h Add missing pthread methodsJoel Sherrill2016-02-222-8/+24
| | | | | | | | | * pthread.h: Add prototypes for pthread_condattr_getclock(), pthread_condattr_setclock(), pthread_setschedpri(), pthread_getcpuclockid(), pthread_getconcurrency(), and pthread_setconcurrency(). Also cleaned up file header to remove CVS Id string. * sys/types.h: Add clock ID to pthread_condattr_t.
* Fix comments in sec_acl.ccCorinna Vinschen2016-02-221-7/+7
| | | | Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* ssp: Fixes for 64-bitJon Turney2016-02-201-105/+119
| | | | | | | | | | | | | | | Fix various 32/64-bit portability issues in ssp, the single-step profiler, and also build it for 64-bit. This didn't turn out to actually be very useful for what I wanted to use it for, so it's only been lightly tested. It appears that on x86_64, single-step exceptions occur for much more of the code in system DLLs, unlike x86, so ssp may take much, much longer to profile some programs. There is existing code to use breakpoints to mitigate this, but that is currently disabled. Signed-off-by: Jon Turney <jon.turney@dronecode.org.uk>
* Update Cygwin release notes.Corinna Vinschen2016-02-182-0/+17
| | | | Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* cygwin: accept SIGIOT as alias of SIGABRTYaakov Selkowitz2016-02-183-1/+4
| | | | | | | | | | | winsup/cygwin/ * include/cygwin/signal.h (SIGIOT): Define SIGIOT in terms of SIGABRT. * strsig.cc (struct sigdesc): Ditto. winsup/doc/ * utils.xml (kill): Document SIGIOT. Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
* sys/features.h: Update Cygwin POSIX option macrosCorinna Vinschen2016-02-181-34/+34
| | | | | | | | * libc/include/sys/features.h: Set POSIX option macros from 200112L to 200809L for Cygwin. (_POSIX_SPAWN): Set to 200809L for Cygwin. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Drop temporary declaration of GetSystemTimePreciseAsFileTime.Corinna Vinschen2016-02-181-3/+0
| | | | | | | * times.cc (GetSystemTimePreciseAsFileTime): Remove declaration and accompanying comment. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* setuid: Create token from scratch without credentials of callerCorinna Vinschen2016-02-183-35/+29
| | | | | | | | | | | | | | | | * sec_auth.cc (get_token_group_sidlist): Drop auth_luid and auth_pos parameter. Remove code adding a logon SID. (get_initgroups_sidlist): Drop auth_luid and auth_pos parameter. Drop in call to get_token_group_sidlist. Accommodate in callers. (get_setgroups_sidlist): Ditto. (create_token): Explicitely set auth_luid to ANONYMOUS_LOGON_LUID or LOCALSERVICE_LUID depending on OS. Explain why. Remove handling of logon SID since we don't generate one anymore. (lsaauth): Drop now unused local variable auth_luid and auth_pos. * wincap.h (wincaps::has_broken_whoami): New element. * wincap.cc: Implement above element throughout. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Also fix libm/machine generated files.Jeff Johnston2016-02-172-19/+12139
|
* Fix libm regenerated files again.Jeff Johnston2016-02-172-134/+2920
|
* Fix regeneration of libm autotool files.Jeff Johnston2016-02-172-7/+9337
|
* Define the newlib version macros in one place: _newlib_version.h.Pieter du Preez2016-02-1714-33640/+175
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently, the newlib version information needs to be updated in two places: - newlib/acinclude.m4 - newlib/libc/include/sys/features.h The goal of this patch is to: - supply a single location for defining the newlib version information: newlib/acinclude.m4 - define __NEWLIB__, __NEWLIB_MINOR__ and __NEWLIB_PATCHLEVEL__ This is in line with what gcc does for its version macros. See: https://gcc.gnu.org/onlinedocs/cpp/Common-Predefined-Macros.html This patch moves the definition of the _NEWLIB_VERSION, __NEWLIB__ and __NEWLIB_MINOR__ macros from newlib/libc/include/sys/features.h, to the newly generated newlib/_newlib_version.h file. Additionally, the __NEWLIB_PATCHLEVEL__ macro was created, for completeness. In order to stay backwards compatible, newlib/_newlib_version.h gets included by newlib/newlib.h and newlib/libc/include/sys/features.h. Note: This patch does _not_ include the modifications to the following files, as these should all be generated any way. *Makefile.in, *aclocal.m4, *configure stamp-* files Signed-off-by: Pieter du Preez <pdupreez@gmail.com>
* cyglsa: Drop code handling Windows 2000 and earlierCorinna Vinschen2016-02-171-35/+2
| | | | | | | | | | * cyglsa.c (must_create_logon_sid): Remove. (LsaApInitializePackage): Drop checking version and setting must_create_logon_sid accordingly. (LsaApLogonUserEx): Drop code setting login SID only required on Windows 2000 and earlier. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Silent relocation truncations considered harmfulMark Geisert2016-02-171-1/+1
| | | | | | | | | | | | This follows up from my msg re GMP-ECM failing its 'make check' on the main list https://cygwin.com/ml/cygwin/2016-02/msg00147.html . There's an error that ought to be reported during dynamic linking if the linked-to address is too far from the relocation site. However the error is not reported if __OPTIMIZE__ was #defined when building the Cygwin DLL. I can't see why optimization settings should affect this. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* cygwin_conv_path: Really always preserve trailing slash in conversion to ↵Corinna Vinschen2016-02-151-1/+1
| | | | | | | | | | POSIX path * mount.cc (mount_info::conv_to_posix_path): Account for scenarios where the path is identical to a mount point in terms of preserving the trailing slash in the output. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Make buffered console characters visible to select().John Hood2016-02-151-1/+1
|
* Document pthread_barrier* functions as implementedCorinna Vinschen2016-02-131-1/+7
| | | | | | | posix.xml (std-susv4): Add pthread_barrier* functions. (std-notimpl): Remove here. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Remove local winbase.h (again).Corinna Vinschen2016-02-131-59/+0
| | | | | | | Mingw32-w64 supports all required inline Interlocked functions in the meantime. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Bump Cygwin version to 2.5.0Corinna Vinschen2016-02-133-2/+53
| | | | | | Add a release file. Add release text to documentation. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* POSIX barrier implementation, take 3Václav Haisman2016-02-138-4/+328
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The attached patch should address all of the review comments. Modifed change log: Newlib: * libc/include/sys/features.h (_POSIX_BARRIERS): Define for Cygwin. * libc/include/sys/types.h (pthread_barrier_t) (pthread_barrierattr_t): Do not define for Cygwin. Cygwin: * common.din (pthread_barrierattr_init) (pthread_barrierattr_setpshared, pthread_barrierattr_getpshared) (pthread_barrierattr_destroy, pthread_barrier_init) (pthread_barrier_destroy, pthread_barrier_wait): Export. * include/cygwin/types.h (pthread_barrierattr_t) (pthread_barrier_t): Declare. * include/pthread.h (PTHREAD_BARRIER_SERIAL_THREAD) (pthread_barrierattr_init, pthread_barrierattr_setpshared) (pthread_barrierattr_getpshared, pthread_barrierattr_destroy) (pthread_barrier_init, pthread_barrier_destroy) (pthread_barrier_wait): Declare. * thread.h (PTHREAD_BARRIER_MAGIC) (PTHREAD_BARRIERATTR_MAGIC): Define. (class pthread_barrierattr, class pthread_barrier): Declare. * thread.cc (delete_and_clear): New local helper function. (class pthread_barrierattr, class pthread_barrier): Implement. * miscfuncs.h (likely, unlikely): New macros. -- VH
* cygwin: work around GCC 5 preprocessor changesYaakov Selkowitz2016-02-131-1/+1
| | | | | | | | | | GCC 5 adds #line directives (and hence extra newlines) for macros expansions, which confuses cygmagic. Using the -P flag avoids them entirely. https://cygwin.com/ml/cygwin-patches/2016-q1/msg00016.html Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
* Bump Cygwin version to 2.4.2.Corinna Vinschen2016-02-121-1/+1
| | | | Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* cygwin: fix errors with GCC 5Yaakov Selkowitz2016-02-123-2/+5
| | | | | | | | | | | | | | | | | | GCC 5 switched from C89 to C11 by default. This implies a change from GNU to C99 inline by default, which have very different meanings of extern inline vs. static inline: https://gcc.gnu.org/onlinedocs/gcc/Inline.html Marking these as gnu_inline retains the previous behaviour. winsup/cygwin/ * exceptions.cc (exception::handle): Change debugging to int to fix an always-true boolean comparison warning. * include/cygwin/config.h (__getreent): Mark gnu_inline. * winbase.h (ilockcmpexch, ilockcmpexch64): Ditto. Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
* Remove broken ieeefp.h macrosYaakov Selkowitz2016-02-121-11/+6
| | | | | | | | | | | | Any attempt to use isnanf, isinff, or finitef from <ieeefp.h> with GCC 5 on platforms other than SPU result in a "lvalue required as unary '&' operand" error. newlib/libc/ * include/ieeefp.h (__ieeefp_isnanf): Remove broken macro. (__ieeefp_isinff, __ieeefp_finitef): Ditto. Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
* Fix compile with GCC 5 -WerrorYaakov Selkowitz2016-02-124-1/+5
| | | | | | | | | | | newlib/libc/ * stdio64/freopen64.c: Include <string.h> for memset(). * stdlib/quick_exit.c: Include <unistd.h> for _exit(). * string/gnu_basename.c (__gnu_basename): Fix discarded const qualifier warning. * stdlib/strtold.c: Include "mprec.h" for _strtorx_r(). Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
* cygwin_conv_path: Always preserve trailing backslashes in conversion to ↵Corinna Vinschen2016-02-094-5/+12
| | | | | | | | | | | | | | POSIX paths * include/sys/cygwin.h (CCP_CONVFLAGS_MASK): Define. * mount.h (__CCP_APP_SLASH): Define. * mount.cc (mount_info::conv_to_posix_path): Handle __CCP_APP_SLASH flag. * path.cc (cygwin_conv_path): Use CCP_CONVFLAGS_MASK to evaluate "how" flag values. Always add __CCP_APP_SLASH flag when calling mount_info::conv_to_posix_path. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Seperate MSP430 cio syscalls into individual function sections.Nick Clifton2016-02-091-29/+46
| | | | | | START_FUNC: New macro. END_FUNC: New macro. exit, isatty, getpid, sc2: Use the new macros.
* printf(3): Handle multibyte decimal point in field size computationCorinna Vinschen2016-02-081-7/+9
| | | | | | | | | | | This patch fixes the problem reported in https://cygwin.com/ml/cygwin/2016-02/msg00014.html The 2009 changes to handle multibyte decimal point and thousands separator missed to take the length of a multibyte decimal point into account when computing the field size. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* stdio.h: Use __POSIX_VISIBLE etc. guards for POSIX 1003.1:2001 functionsJon Turney2016-02-081-4/+10
| | | | | | | | | | | | | | Current mesa expects stdio.h to prototype fileno() when compiling with gcc -std=c99 -D_XOPEN_SOURCE Fix the 'POSIX 1003.1:2001' block in stdio.h to prototype functions if not __STRICT_ANSI__, or _BSD_SOURCE, _POSIX_C_SOURCE or _XOPEN_SOURCE are defined appropriately As far as I can tell, despite being in this block, setbuffer() and setlinebuf() are BSDisms which aren't in POSIX 1003.1:2001 Signed-off-by: Jon Turney <jon.turney@dronecode.org.uk>
* Newlib build is broken if configured with nano-malloc and non-reentrant ↵Игорь Веневцев2016-02-081-4/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | system calls Non-reentrant system calls version implies both MISSING_SYSCALL_NAMES and REENTRANT_SYSCALL_PROVIDED macros to be defined. Being coupled with --enable-newlib-nano-malloc knob it breaks the build: bash-4.3$ ../newlib-2.3.0.20160104/configure CC_FOR_TARGET=gcc AR_FOR_TARGET=ar RANLIB_FOR_TARGET=ranlib CFLAGS_FOR_TARGET="-m32 -DMISSING_SYSCALL_NAMES -DREENTRANT_SYSCALLS_PROVIDED" --target=i386-elf --enable-newlib-nano-malloc && make <...omitted output...> ../../../../../../newlib-2.3.0.20160104/newlib/libc/stdlib/nano-mallocr.c: In function ‘_mallinfo_r’: ../../../../../../newlib-2.3.0.20160104/newlib/libc/stdlib/nano-mallocr.c:489:35: error: macro "_sbrk_r" requires 2 arguments, but only 1 given sbrk_now = _sbrk_r(RCALL 0); ^ ../../../../../../newlib-2.3.0.20160104/newlib/libc/stdlib/nano-mallocr.c:489:20: error: ‘_sbrk_r’ undeclared (first use in this function) sbrk_now = _sbrk_r(RCALL 0); ^ ../../../../../../newlib-2.3.0.20160104/newlib/libc/stdlib/nano-mallocr.c:489:20: note: each undeclared identifier is reported only once for each function it appears in Makefile:1512: recipe for target 'lib_a-nano-mallinfor.o' failed make[8]: *** [lib_a-nano-mallinfor.o] Error 1 In case of non-reentrant system calls _sbrk_r became a macro with TWO args (defined in reent.h): #define _sbrk_r(__reent, __incr) sbrk(__incr) But in our case only one argument is present. (RCALL 0) is considered as a single argument despite RCALL itself is a macro:) So intermediate one-arg macro will be enough to expand args before final _sbrk_r expansion: #define _SBRK_R(X) _sbrk_r(X) Here is a patch:
* * newlib/libc/stdio/nano-vfscanf.c: Fix '%X' specifier procesingIgor Venevtsev2016-02-081-0/+1
|
* * newlib/libc/stdio/nano-vfscanf.c: Fix '%F', '%G' and '%E' specifiers ↵Igor Venevtsev2016-02-081-3/+3
| | | | processing
* Change if_nameindex() to use unsigned int i variable.Jeff Johnston2016-02-041-1/+2
| | | | | - i variable used in loop that shifts to right so use unsigned int instead
* include/grp.h: Remove prototypes of non-standard functionsCorinna Vinschen2016-01-291-5/+0
| | | | | | | | * libc/include/grp.h (group_from_gid): Remove prototype. (setgrfile): Ditto. (setgroupent): Ditto. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Fix memcpy bug that reads past end of buffer.Steve Ellcey2016-01-281-1/+1
| | | | | * libc/machine/mips/memcpy.S (memcpy): Fix read past end of input.