-
Notifications
You must be signed in to change notification settings - Fork 33
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Rebase to 3.5.4 #71
Rebase to 3.5.4 #71
Commits on Dec 23, 2023
-
Fix frv libgloss bits for c99/gcc-14\
Same as we've seen elsewhere. Add missing prototype and header include.
Configuration menu - View commit details
-
Copy full SHA for 9f3e8ba - Browse repository at this point
Copy the full SHA 9f3e8baView commit details -
Fix ft32 libgloss for c99/gcc-14
Just one missing header for this libgloss port.
Configuration menu - View commit details
-
Copy full SHA for 886eadb - Browse repository at this point
Copy the full SHA 886eadbView commit details -
Fix c6x libgloss port for c99/gcc-14
Just one missing header in this case...
Configuration menu - View commit details
-
Copy full SHA for f7d5bd9 - Browse repository at this point
Copy the full SHA f7d5bd9View commit details -
Fix rl78 libgloss port for c99/gcc-14
Needed a prototype for SYS_write and the prototype for write was incorrect (returns an int, not a char *).
Configuration menu - View commit details
-
Copy full SHA for a1a2144 - Browse repository at this point
Copy the full SHA a1a2144View commit details -
Fix mcore libgloss port for c99/gcc-14
Missing headers and prototypes, much like other ports.
Configuration menu - View commit details
-
Copy full SHA for 73ba287 - Browse repository at this point
Copy the full SHA 73ba287View commit details -
Fix most of m32r libgloss for c99/gcc-14
Make implicit its explicit, add missing prototypes and header includes. This does not fix m32r-stub.c which needs more than the trivial work that Jeff J has pre-approved.
Configuration menu - View commit details
-
Copy full SHA for 5e79655 - Browse repository at this point
Copy the full SHA 5e79655View commit details -
Fix epiphany libgloss for c99/gcc-14
So in this case we mostly need to include an internal header (epiphany-syscalls.h). In a few cases an explicit prototype is added. We've also got a return with no value in a function with a non-void return type. Finally the asm_syscall interface expects a pointer as its first argument. In a few cases we've actually got an int (file descriptor) which we just cast to a void *. It's slightly more than Jeff J's pre-approval, but I think still reasonable.
Configuration menu - View commit details
-
Copy full SHA for 1df8f9f - Browse repository at this point
Copy the full SHA 1df8f9fView commit details -
GCN: Implement '_exit' instead of 'exit'
... so that all of 'exit', '_exit', '_Exit' work. 'exit' thus becomes the standard 'newlib/libc/stdlib/exit.c'. (Getting 'atexit' functional needs further work elsewhere.) See also commit 5841b2f "nvptx: Implement '_exit' instead of 'exit'".
Configuration menu - View commit details
-
Copy full SHA for 1a17761 - Browse repository at this point
Copy the full SHA 1a17761View commit details
Commits on Dec 29, 2023
-
newlib MMIX: Fix compilation warnings that recent gcc treats as errors
Without this, when building with recent gcc, we'll see errors when compiling for --target mmix the first being: CC libc/sys/mmixware/libc_a-chmod.o In file included from /x/newlib/libc/sys/mmixware/chmod.c:17: /x/newlib/libc/sys/mmixware/chmod.c: In function 'chmod': /x/newlib/libc/sys/mmixware/sys/syscall.h:139:6: error: implicit declaration \ of function 'sprintf' [-Wimplicit-function-declaration] 139 | sprintf (buf, "UNIMPLEMENTED %s in %s\n", __FUNCTION__, __FILE__); \ Other warnings also quelled. * libc/sys/mmixware/sys/syscall.h: Include stdio.h, string.h and unistd.h. * libc/sys/mmixware/_exit.c: Call __unreachable after simulator exit. * libc/sys/mmixware/chown.c (chown): Match declaration in unistd.h. * libc/sys/mmixware/getpid.c (_getpid): Ditto. * libc/sys/mmixware/kill.c (_kill): Ditto. * libc/sys/mmixware/link.c (_link): Ditto. * libc/sys/mmixware/read.c (_read): Ditto. * libc/sys/mmixware/sbrk.c (_sbrk): Ditto. * libc/sys/mmixware/unlink.c (_unlink): Ditto. * libc/sys/mmixware/write.c (_write): Ditto.
Configuration menu - View commit details
-
Copy full SHA for ddb6149 - Browse repository at this point
Copy the full SHA ddb6149View commit details
Commits on Dec 30, 2023
-
libgloss: xtensa: fix crt0.o rule
Don't hardcode a custom rule for this -- reuse libobjs_a_SOURCES which was designed for this exact scenario.
Configuration menu - View commit details
-
Copy full SHA for 98230b7 - Browse repository at this point
Copy the full SHA 98230b7View commit details -
libgloss: sparc: add missing m4 include
Commit 8d75828 ("libgloss: merge sparc configure script up a level") missed including the sparc acinclude.m4 file which meant none of the sparc-specific vars were propagating to the sub-makefile.
Configuration menu - View commit details
-
Copy full SHA for a84860f - Browse repository at this point
Copy the full SHA a84860fView commit details -
Fix another missing header file for mcore libgloss
I guess I must have missed this when working through the trivial port specific changes. This adds an include of stdlib.h to get a prototype for exit(). Pushed to the trunk.
Configuration menu - View commit details
-
Copy full SHA for 7ef32a9 - Browse repository at this point
Copy the full SHA 7ef32a9View commit details -
Fix various c99/gcc-14 issues in generic libgloss code
Similar to what's been done in the ports, but this time in generic code. Add missing #includes to pick up prototypes. Add prototypes for various internal functions where needed. Fix signatures of various functions to match what's provided by the headers (read, sbrk, write, unlink). Nearly done with this effort ;-) Pushed to the trunk,
Configuration menu - View commit details
-
Copy full SHA for 3d10b04 - Browse repository at this point
Copy the full SHA 3d10b04View commit details
Commits on Dec 31, 2023
-
Minor improvement to H8 startup code
Basically the startup code needs to clear memory from _edata to _end. In the past it's been done with a fairly naive copy loop. This changes the code to just call memset and let memset figure out a sensible way to handle the operation given the size and alignment requirements. I don't have performance data on this. I cobbled it together some time ago in response to seeing some of the GCC tests with larger .bss sections taking an insane amount of time to just get from _start to main. With the fixes to the H8 decoder in the simulator it may not matter nearly as much anymore. This has been in my tester for months. Naturally it does not cause any regressions in the H8 port.
Configuration menu - View commit details
-
Copy full SHA for ec119e1 - Browse repository at this point
Copy the full SHA ec119e1View commit details -
Configuration menu - View commit details
-
Copy full SHA for 26f7004 - Browse repository at this point
Copy the full SHA 26f7004View commit details
Commits on Jan 2, 2024
-
newlib: libc: Improved the readability of strspn with minor optimization
Signed-off-by: Xiao Zeng <zengxiao@eswincomputing.com>
Configuration menu - View commit details
-
Copy full SHA for 99f3898 - Browse repository at this point
Copy the full SHA 99f3898View commit details
Commits on Jan 3, 2024
-
Configuration menu - View commit details
-
Copy full SHA for a2ddc21 - Browse repository at this point
Copy the full SHA a2ddc21View commit details -
libgloss: moxie: delete unused/invalid assembly file
This is a .c file, not assembly, and it's a duplicate (same content) as the existing sim-lseek.c. Delete it since it's unused and doesn't actually compile.
Configuration menu - View commit details
-
Copy full SHA for cd75406 - Browse repository at this point
Copy the full SHA cd75406View commit details -
libgloss: merge moxie into top-level Makefile
Avoid a recursive make to speed things up a bit. A moxie-elf build shows installed objects & libs produce same code.
Configuration menu - View commit details
-
Copy full SHA for 50d6410 - Browse repository at this point
Copy the full SHA 50d6410View commit details -
libgloss: merge v850 into top-level Makefile
Avoid a recursive make to speed things up a bit. A v850e-elf build shows installed objects & libs produce same code.
Configuration menu - View commit details
-
Copy full SHA for 6a3bc17 - Browse repository at this point
Copy the full SHA 6a3bc17View commit details -
libgloss: i960: delete dead/broken code
The i960 port has a lot of references to sim files that have never been included in the tree afaict, and thus has never worked. Delete all the code to simplify.
Configuration menu - View commit details
-
Copy full SHA for 6879bfa - Browse repository at this point
Copy the full SHA 6879bfaView commit details -
libgloss: merge i960 into top-level Makefile
Avoid a recursive make to speed things up a bit. I can't test this as current versions of binutils doesn't support i960.
Configuration menu - View commit details
-
Copy full SHA for 6bbeed7 - Browse repository at this point
Copy the full SHA 6bbeed7View commit details
Commits on Jan 8, 2024
-
Cygwin: check remote drives for being SSDs as well
This enables automatic sparse file support for remote SSDs. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
Configuration menu - View commit details
-
Copy full SHA for 94d871e - Browse repository at this point
Copy the full SHA 94d871eView commit details -
RISC-V: Initialize the jvt CSR
Set symbol '__jvt_base$' as weak. So if the symbol is not set in the linker script, the address would be 0. We initialize jvt CSR only if the address is not 0. Also use csr number directly instead of using symbolic name to prevent the backward incompatible issue. psabi reference: https://github.com/riscv-non-isa/riscv-elf-psabi-doc/blob/2d770815dc9a8b11e61ea1abd487cb25ee56ad5e/riscv-elf.adoc#table-jump-relaxation
Configuration menu - View commit details
-
Copy full SHA for 573458e - Browse repository at this point
Copy the full SHA 573458eView commit details -
fix strverscmp comparison of digit sequence with non-digits
From: Rich Felker <dalias@aerifal.cx> Date: Mon, 7 Nov 2022 22:17:55 -0500 the rule that longest digit sequence not beginning with a zero is greater only applies when both sequences being compared are non-degenerate. this is spelled out explicitly in the man page, which may be deemed authoritative for this nonstandard function: "If one or both of these is empty, then return what strcmp(3) would have returned..." we were wrongly treating any sequence of digits not beginning with a zero as greater than a non-digit in the other string. Signed-off-by: Brian Inglis <Brian.Inglis@SystematicSW.ab.ca>
Configuration menu - View commit details
-
Copy full SHA for 9a863f7 - Browse repository at this point
Copy the full SHA 9a863f7View commit details
Commits on Jan 10, 2024
-
RISC-V: fix setting up std streams in init_semihosting()
Currently init_semihosting() assumes the return value from _open() call as the file descriptor handle and that is incorrect. The semihost _open() call returns the fdtable index returned by the __add_fdentry() for the file opened.
Configuration menu - View commit details
-
Copy full SHA for c419bbb - Browse repository at this point
Copy the full SHA c419bbbView commit details -
Cygwin: Fix a stray '\n' in cygcheck manpage
Signed-off-by: Jon Turney <jon.turney@dronecode.org.uk>
Configuration menu - View commit details
-
Copy full SHA for d11629d - Browse repository at this point
Copy the full SHA d11629dView commit details
Commits on Jan 11, 2024
-
Cygwin: path.cc: fix comment starting with // but ending in */
Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
Configuration menu - View commit details
-
Copy full SHA for 5edd189 - Browse repository at this point
Copy the full SHA 5edd189View commit details
Commits on Jan 12, 2024
-
Configuration menu - View commit details
-
Copy full SHA for 241b50a - Browse repository at this point
Copy the full SHA 241b50aView commit details
Commits on Jan 15, 2024
-
Cygwin: api docs: add missing fallocate
Also add notes in terms of fallocate quirks. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
Configuration menu - View commit details
-
Copy full SHA for 4ecfb5b - Browse repository at this point
Copy the full SHA 4ecfb5bView commit details -
Cygwin: introduce close_range(2)
This function closes or sets the close-on-exec flag for a specified range of file descriptors. It is available on FreeBSD and Linux. Signed-off-by: Christian Franke <christian.franke@t-online.de>
Configuration menu - View commit details
-
Copy full SHA for d8c0fb0 - Browse repository at this point
Copy the full SHA d8c0fb0View commit details
Commits on Jan 16, 2024
-
Cygwin: Make 'ulimit -c' control writing a coredump
Pre-format a command to be executed on a fatal error to run 'dumper' (using an absolute path). Factor out executing a pre-formatted command, so we can use that for invoking the JIT debugger in try_to_debug() (if error_start is present in the CYGWIN env var) and to invoke dumper when a fatal error occurs. On a fatal error, if the core file size limit is greater than 1MB, invoke dumper to write a core dump. Otherwise, if that limit is greater than 0, write a .stackdump file, as previously. Adjust and clarify the associated documentation. Also: Fix so that the error_start JIT debugger is now invoked, even when ulimit -c is zero. Also: Fix uses of console_printf() inside exec_prepared_command(). It's output is written via the Windows console device, so needs to use Windows-style line endings. Also: consistently return non-zero from try_to_debug() if we debugged. Future work: Truncate or remove the file written, if it exceeds the maximum size set by the ulimit. Future work: Using the words "fatal error" could probably be improved on. This means exiting on one of the "certain signals whose default action is to cause the process to terminate and produce a core dump file".
Configuration menu - View commit details
-
Copy full SHA for 9145737 - Browse repository at this point
Copy the full SHA 9145737View commit details -
Cygwin: Disable writing core dumps by default.
Change the default core limit from unlimited to 0 (disabled)
Configuration menu - View commit details
-
Copy full SHA for b7868e7 - Browse repository at this point
Copy the full SHA b7868e7View commit details -
Cygwin: Define and use __WCOREFLAG
Also fix a typo in description of exit status
Configuration menu - View commit details
-
Copy full SHA for a83b93e - Browse repository at this point
Copy the full SHA a83b93eView commit details -
Cygwin: Treat api_fatal() similarly to a core-dumping signal
Provide the same debugging opportunities for api_fatal() as we do for a core-dumping signal: 1) Break into any attached debugger 2) Start JIT debugger (if configured) (keeping these under DEBUGGING doesn't seem helpful) 3) Write a coredump (if rlim_core > 1MB) 4) Write a stackdump (if that failed, or 0 < rlim_core <= 1MB)
Configuration menu - View commit details
-
Copy full SHA for aa82248 - Browse repository at this point
Copy the full SHA aa82248View commit details -
Configuration menu - View commit details
-
Copy full SHA for 07cccc7 - Browse repository at this point
Copy the full SHA 07cccc7View commit details
Commits on Jan 17, 2024
-
Cygwin: copy doc changes from commit 241b50a to release notes
Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
Configuration menu - View commit details
-
Copy full SHA for 70b27ce - Browse repository at this point
Copy the full SHA 70b27ceView commit details
Commits on Jan 18, 2024
-
Cygwin: replace all
fgrep' with
grep -F'Unfortunately fgrep is now deprecated in a very pushy way. Make sure to use grep -F instead all around, even in docs and comments/ Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
Configuration menu - View commit details
-
Copy full SHA for d45261f - Browse repository at this point
Copy the full SHA d45261fView commit details
Commits on Jan 19, 2024
-
_fputwc_r: actually return result of __fputwc
Compiling with -Wall uncovered a bug in _fputwc_r introduced in commit 0911946 ("stdio: split byte- and wide-char-oriented low-level output functions"). The underlying function __fputwc has been accidentally called without fetching its return value. So the return value of _fputwc_r (and thus fputwc) was undefined. Fixes: 0911946 ("stdio: split byte- and wide-char-oriented low-level output functions" Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
Configuration menu - View commit details
-
Copy full SHA for d13d922 - Browse repository at this point
Copy the full SHA d13d922View commit details -
ORIENT: avoid "expression has no effect" warning
The warning "right-hand operand of comma expression has no effect [-Wunused-value]" crops up with -Wall in cases where ORIENT is called without checking or assigning its value. Explicitely void the expression in these cases to avoid the warning. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
Configuration menu - View commit details
-
Copy full SHA for 29ec333 - Browse repository at this point
Copy the full SHA 29ec333View commit details -
memccpy: fix pointer assignment
The local vars dst and src are unsigned pointers, but two assignments cast their value to signed explicitely. This results in the warning "pointer targets in assignment from ‘char *’ to ‘unsigned char *’ differ in signedness [-Wpointer-sign]" in case of -Wall. Fix the cast. Fixes: d254189 ("2002-07-23 Jeff Johnston <jjohnstn@redhat.com>") Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
Configuration menu - View commit details
-
Copy full SHA for 422c4f0 - Browse repository at this point
Copy the full SHA 422c4f0View commit details -
fputwc: call __fputwc directly
Avoid another hop in the call stack. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
Configuration menu - View commit details
-
Copy full SHA for 47f079b - Browse repository at this point
Copy the full SHA 47f079bView commit details -
Cygwin: remove warnings from testsuite build
- drop unused variable - remove deprectated usage of std::pointer_to_unary_function. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
Configuration menu - View commit details
-
Copy full SHA for 3f2d03a - Browse repository at this point
Copy the full SHA 3f2d03aView commit details
Commits on Jan 20, 2024
-
libgloss: check for objcopy & objdump properly
A bunch of ports hack together these values rather than setting them up in the configure script for everyone.
Configuration menu - View commit details
-
Copy full SHA for 1adfc9a - Browse repository at this point
Copy the full SHA 1adfc9aView commit details -
libgloss: add some objcopy/objdump build rules
A bunch of ports have manual rules to generate disassembly, srec, and binary files from test programs. Add top-level pattern rules so every test program gets this for free, and we don't have to duplicate it in every subdir.
Configuration menu - View commit details
-
Copy full SHA for 0714c63 - Browse repository at this point
Copy the full SHA 0714c63View commit details -
libgloss: add per-file & per-dir flag support
This logic is copied from what's used in newlib today. This allows subdirs to easily define per-directory flags & per-file flags without having to setup unique automake rules for each one.
Configuration menu - View commit details
-
Copy full SHA for 58da258 - Browse repository at this point
Copy the full SHA 58da258View commit details -
libgloss: msp430: delete outdated/wrong code
The #if 0 & comment imply this code doesn't exist and is never used, except there's another #if Lrun_fini_array section below which *does* define this function, which makes this code comment confusing. This seems to be a hold over of the cleanup of the minrt code in the old commit 884b05b ("MSP430: Remove .init/.fini sections").
Configuration menu - View commit details
-
Copy full SHA for 0ed55d0 - Browse repository at this point
Copy the full SHA 0ed55d0View commit details -
libgloss: msp430: delete stub crt_init.o
This object is created by compiling crt0.S with -DLinit, but there has never been an "#if Linit" check in crt0.S, so this has always produced a stub object file. Drop compiling it entirely.
Configuration menu - View commit details
-
Copy full SHA for 2b0fd70 - Browse repository at this point
Copy the full SHA 2b0fd70View commit details -
libgloss: msp430: split up crt0.S source
The build system compiles crt0.S many times to produce independent object files by defining different -DLxxx symbols for each. This complicates the build, and has led to some bugs in the source and build (see the previous cleanup commits in here). The crt_bss.S file has also been duplicated with crt0.S leading to confusion as to which one is the "real" one. The only reason to keep them in one file is to make management of the section numbers when calling START_CRT_FUNC a little easier, but that seems trivial to check with a quick grep across all the files. Considering how complicated the build is now, and the bugs we've had as a result, split the crt0.S file up into multiple source files so we don't have to compile it multiple times. This will also simplify merging it into the top-level Makefile.
Configuration menu - View commit details
-
Copy full SHA for f5c40e0 - Browse repository at this point
Copy the full SHA f5c40e0View commit details -
libgloss: msp430: delete custom .S.o rule
This was added to specify -Wa,-gdwarf2 when compiling the assembly files. Considering the size of these .S files, it seems unnecessary overkill and complicates the build system. All but one of these compile down to 6 or fewer lines, and those hardly need extra debug for anyone who is poking msp430 assembly. The 1 file that is larger than that (crt_move_highdata.S) is still <15 insns. This will also simplify merging it into the top-level Makefile.
Configuration menu - View commit details
-
Copy full SHA for f904792 - Browse repository at this point
Copy the full SHA f904792View commit details -
libgloss: merge msp430 into top-level Makefile
Avoid a recursive make to speed things up a bit. A msp430-elf build shows installed objects & libs produce same code.
Configuration menu - View commit details
-
Copy full SHA for 787b83b - Browse repository at this point
Copy the full SHA 787b83bView commit details -
libgloss: merge frv into top-level Makefile
Avoid a recursive make to speed things up a bit. A frv-elf build shows installed objects & libs produce same code.
Configuration menu - View commit details
-
Copy full SHA for 20dcee2 - Browse repository at this point
Copy the full SHA 20dcee2View commit details -
libgloss: merge i386 into top-level Makefile
Avoid a recursive make to speed things up a bit. A i386-elf build shows installed objects & libs produce same code other than a rename from cygmon-gmon.o & cygmon-salib.o to i386_libcygmon_a-*.o due to the use of custom CPPFLAGS in here.
Configuration menu - View commit details
-
Copy full SHA for 56211d0 - Browse repository at this point
Copy the full SHA 56211d0View commit details -
libgloss: merge mn10300 into top-level Makefile
Avoid a recursive make to speed things up a bit. A mn10300-elf build shows installed objects & libs produce same code.
Configuration menu - View commit details
-
Copy full SHA for 25f6d87 - Browse repository at this point
Copy the full SHA 25f6d87View commit details -
libgloss: merge mn10200 into top-level Makefile
Avoid a recursive make to speed things up a bit. Untested, but follows the same pattern as mn10300, but simpler.
Configuration menu - View commit details
-
Copy full SHA for 41de4b0 - Browse repository at this point
Copy the full SHA 41de4b0View commit details -
libgloss: merge mcore into top-level Makefile
Avoid a recursive make to speed things up a bit. A mcore-elf build shows installed objects & libs produce same code.
Configuration menu - View commit details
-
Copy full SHA for f4c8e16 - Browse repository at this point
Copy the full SHA f4c8e16View commit details -
libgloss: merge nds32 into top-level Makefile
Avoid a recursive make to speed things up a bit. A nds32le-elf build shows installed objects & libs produce same code.
Configuration menu - View commit details
-
Copy full SHA for 695404d - Browse repository at this point
Copy the full SHA 695404dView commit details -
libgloss: merge xstormy16 into top-level Makefile
Avoid a recursive make to speed things up a bit. A xstormy16-elf build shows installed objects & libs produce same code.
Configuration menu - View commit details
-
Copy full SHA for 3342c0e - Browse repository at this point
Copy the full SHA 3342c0eView commit details -
libgloss: merge rx into top-level Makefile
Avoid a recursive make to speed things up a bit. A rx-elf build shows installed objects & libs produce same code.
Configuration menu - View commit details
-
Copy full SHA for 1ed68b8 - Browse repository at this point
Copy the full SHA 1ed68b8View commit details -
libgloss: merge rl78 into top-level Makefile
Avoid a recursive make to speed things up a bit. A rl78-elf build shows installed objects & libs produce same code.
Configuration menu - View commit details
-
Copy full SHA for 4172a3c - Browse repository at this point
Copy the full SHA 4172a3cView commit details -
libgloss: merge m32r into top-level Makefile
Avoid a recursive make to speed things up a bit. A m32r-elf build shows installed objects & libs produce same code.
Configuration menu - View commit details
-
Copy full SHA for af075ae - Browse repository at this point
Copy the full SHA af075aeView commit details -
libgloss: visium: fix sbrk search path
The code was loading the common ../sbrk.c file rather than the visium specific sbrk.c due to VPATH setup. Add an explicit rule for this one file so we make sure the correct one is used.
Configuration menu - View commit details
-
Copy full SHA for 5798c3b - Browse repository at this point
Copy the full SHA 5798c3bView commit details -
libgloss: merge visium into top-level Makefile
Avoid a recursive make to speed things up a bit. A visium-elf build shows installed objects & libs produce same code.
Configuration menu - View commit details
-
Copy full SHA for 770dd85 - Browse repository at this point
Copy the full SHA 770dd85View commit details -
libgloss: xtensa: fix CPPFLAGS clobbering
No sub-Makefile.inc file should ever set CPPFLAGS directly. That is a global/common variable. Instead, ports should set the per-target CPPFLAGS to include what they need. Further, per-target CPPFLAGS should respect $(AM_CPPFLAGS).
Configuration menu - View commit details
-
Copy full SHA for bf37122 - Browse repository at this point
Copy the full SHA bf37122View commit details -
libgloss: merge epiphany into top-level Makefile
Avoid a recursive make to speed things up a bit. A epiphany-elf build shows installed objects & libs produce same code.
Configuration menu - View commit details
-
Copy full SHA for 22257fc - Browse repository at this point
Copy the full SHA 22257fcView commit details -
libgloss: merge or1k into top-level Makefile
Avoid a recursive make to speed things up a bit. A or1k-elf build shows installed objects & libs produce same code.
Configuration menu - View commit details
-
Copy full SHA for 8c5bb84 - Browse repository at this point
Copy the full SHA 8c5bb84View commit details -
libgloss: merge fr30 into top-level Makefile
Avoid a recursive make to speed things up a bit. A fr30-elf build shows installed objects & libs produce same code. A lot of code seems like it hasn't been migrated, but that's because it's all disabled/unused (i.e. all the test & mon code). It looks like a lot of copy & paste holdovers from the original port.
Configuration menu - View commit details
-
Copy full SHA for ad17cf6 - Browse repository at this point
Copy the full SHA ad17cf6View commit details -
libgloss: ft32: delete unused/invalid assembly file
This is a .c file, not assembly, and it's a duplicate (same content) as the existing sim-lseek.c. Delete it since it's unused and doesn't actually compile.
Configuration menu - View commit details
-
Copy full SHA for 3ecd983 - Browse repository at this point
Copy the full SHA 3ecd983View commit details -
libgloss: merge ft32 into top-level Makefile
Avoid a recursive make to speed things up a bit. A ft32-elf build shows installed objects & libs produce same code. Mention of ft32-elf-common.ld is dropped as it has never existed in the tree, and has been an (ignored) error in the past.
Configuration menu - View commit details
-
Copy full SHA for 026422b - Browse repository at this point
Copy the full SHA 026422bView commit details -
libgloss: sparc: always install erc32 sim files
These are already compiled for all sparc targets, so we might as well install them all the time so they can be used with the erc32 sim.
Configuration menu - View commit details
-
Copy full SHA for 50e0b04 - Browse repository at this point
Copy the full SHA 50e0b04View commit details -
libgloss: merge sparc into top-level Makefile
Avoid a recursive make to speed things up a bit. A sparc-elf build shows installed objects & libs produce same code.
Configuration menu - View commit details
-
Copy full SHA for 74674f2 - Browse repository at this point
Copy the full SHA 74674f2View commit details -
libgloss: sparc_leon: workaround newer newlib pthread APIs
Fix a compile error due to duplicate pthreads types: .../libgloss/sparc_leon/mutex.c:50:8: error: conflicting types for ‘pthread_mutex_t’; have ‘struct pthread_mutex’ 50 | } pthread_mutex_t; In file included from .../newlib/libc/include/sys/types.h:221, from .../libgloss/sparc_leon/mutex.c:26: .../newlib/libc/include/sys/_pthreadtypes.h:154:20: note: previous declaration of ‘pthread_mutex_t’ with type ‘pthread_mutex_t’ {aka ‘long unsigned int’} 154 | typedef __uint32_t pthread_mutex_t; /* identify a mutex */ .../libgloss/sparc_leon/mutex.c:57:8: error: conflicting types for ‘pthread_mutexattr_t’; have ‘struct <anonymous>’ 57 | } pthread_mutexattr_t; ../newlib/libc/include/sys/_pthreadtypes.h:169:3: note: previous declaration of ‘pthread_mutexattr_t’ with type ‘pthread_mutexattr_t’ 169 | } pthread_mutexattr_t;
Configuration menu - View commit details
-
Copy full SHA for 9b35bf8 - Browse repository at this point
Copy the full SHA 9b35bf8View commit details -
libgloss: merge sparc_leon into top-level Makefile
Avoid a recursive make to speed things up a bit. A sparc-elf build shows installed objects & libs produce same code.
Configuration menu - View commit details
-
Copy full SHA for 7ba23b6 - Browse repository at this point
Copy the full SHA 7ba23b6View commit details -
libgloss: merge tic6x into top-level Makefile
Avoid a recursive make to speed things up a bit. A tic6x-elf build shows installed objects & libs produce same code.
Configuration menu - View commit details
-
Copy full SHA for ae46a83 - Browse repository at this point
Copy the full SHA ae46a83View commit details -
libgloss: microblaze: use port-specific sbrk
The default search path uses the common sbrk.c over the microblaze one, so add a rule to force the microblaze variant instead.
Configuration menu - View commit details
-
Copy full SHA for fecb0e5 - Browse repository at this point
Copy the full SHA fecb0e5View commit details -
libgloss: merge microblaze into top-level Makefile
Avoid a recursive make to speed things up a bit. A microblaze-elf build shows installed objects & libs produce same code.
Configuration menu - View commit details
-
Copy full SHA for 2f0cd37 - Browse repository at this point
Copy the full SHA 2f0cd37View commit details -
libgloss: xc16x: drop old stub port
First off, afaict, xc16x support has never been merged into gcc. Upstream merge isn't strictly required for new ports, but it seems like people should merge eventually in some shape, and considering the libgloss port was merged in 2009, ~14 years seems like plenty of leeway. Which is to say, no one else can seem to build this which makes updating & testing things very difficult. Ignoring that, from what I can tell, this port has only ever built and installed a crt0.o file. It defines libeval.a & libcygmon.a targets, but nothing depends on them. The SCRIPTS & BSP variables are always empty. The original port merge define these in the configure script as substitutes, but never set the vars, so they were always replaced with nothing. I actually broke this build 2 years ago when merging the configure up a level in commit 30f2441 ("libgloss: merge subdirs that have unique makefile_frags up a level"). I saw that it was exporting a bunch of vars in the configure script, but never set them, so I incorrectly assumed they weren't used. Which means the Makefile has been setting them to invalid values like literal @bsp_list@ and @script_list@. Considering no one has complained, I have to assume no one cares about this port, and we can all stop wasting time on it.
Configuration menu - View commit details
-
Copy full SHA for 40b1b5c - Browse repository at this point
Copy the full SHA 40b1b5cView commit details
Commits on Jan 22, 2024
-
Configuration menu - View commit details
-
Copy full SHA for 6f6427b - Browse repository at this point
Copy the full SHA 6f6427bView commit details
Commits on Jan 23, 2024
-
libgloss: doc: fix dir info entry usage
Wrapping the dir info with @ifnottex means it's included in all other outputs like html which makes no sense. Switch to @direntry which is specific for this content and is automatically written to the output that makes sense, and omitted from the rest.
Configuration menu - View commit details
-
Copy full SHA for fd4e96f - Browse repository at this point
Copy the full SHA fd4e96fView commit details -
libgloss: doc: unify duplicate copyright/license content
Use @copying & @insertcopying directives to define the copyright & license block only once, and then inserted at the same places as it was before.
Configuration menu - View commit details
-
Copy full SHA for 5a8c23a - Browse repository at this point
Copy the full SHA 5a8c23aView commit details -
newlib: docs: print the function index
The generated function documentation makes sure to include entries for every function in the function index via @Findex, but then the manuals forget to actually print the index.
Configuration menu - View commit details
-
Copy full SHA for 613267a - Browse repository at this point
Copy the full SHA 613267aView commit details -
newlib: docs: add "Function " to every function node
When creating a split manual with one-node-per-page, the main index.html ends up getting clobbered by the page for the index() function because it uses "@node index" which, for html, also creates an index.html page. To remedy this, add "Function " to every function node so now we output "Function-index.html" and avoid clobbering. It also namespaces every other function and helps make sure we don't clobber anything else. Otherwise, there isn't really much rendering difference as @node text is mostly internal. Node title text comes from @section instead.
Configuration menu - View commit details
-
Copy full SHA for 72b6105 - Browse repository at this point
Copy the full SHA 72b6105View commit details -
Cygwin: seekdir: don't set errno
Commit 3f3bd10 ("* Throughout, use __try/__except/__endtry blocks [...]") introduced setting EINVAL, marked as "Diagnosis". The reason for this is lost in time and space, but looks very much like a debug helper which was supposed to be removed before release. It's rather pointless, so remove it. Fixes: 3f3bd10 ("* Throughout, use __try/__except/__endtry blocks [...]") Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
Configuration menu - View commit details
-
Copy full SHA for 02572ff - Browse repository at this point
Copy the full SHA 02572ffView commit details -
libgloss: merge pru into top-level Makefile
Avoid a recursive make to speed things up a bit. This change was inspired by the recent similar patch for c6x: https://sourceware.org/pipermail/newlib/2023/020869.html While at it, fork crt0-minrt.S into a separate source file instead of relying on a predefined macro to generate two different object files. This improves clarity, simplifies the build rules, and would allow further optimization in crt0-minrt.S to be implemented more cleanly. Signed-off-by: Dimitar Dimitrov <dimitar@dinux.eu>
Configuration menu - View commit details
-
Copy full SHA for d5c4edc - Browse repository at this point
Copy the full SHA d5c4edcView commit details -
libgloss: pru: Trim crt0-minrt.o
Strip a few more instructions from crt0-minrt.S: - Remove "halt" and rely on the infinite loop after main()'s return. - Remove main()'s argc and argv argument initialization. Host loader does not set them, and typical firmware does not use them, either. - Remove the __dso_handle symbol. This should be safe because the default crt0.S is fully standards compliant. Whereas crt0-minrt.S has been documented from the beginning to intentionally miss features in order to reduce firmware size, while still enabling typical PRU firmware to operate. Signed-off-by: Dimitar Dimitrov <dimitar@dinux.eu>
Configuration menu - View commit details
-
Copy full SHA for 276dd12 - Browse repository at this point
Copy the full SHA 276dd12View commit details -
configure.ac: configurable tooldir install path
This patch is required to fix how the newlib headers are installed when using a sysroot install directory. The cross compiler expects headers to be in .../host/usr/arm-none-eabi/sysroot/usr/include/newlib.h by default newlib installed the headers into .../host/usr/arm-none-eabi/sysroot/usr/arm-none-eabi/include/newlib.h ${exec_prefix} provides the .../host/usr/arm-none-eabi/sysroot path ${target_noncanonical} provides an extra arm-none-eabi/ that must be removed. With this patch, users can specify the tooldir path that is needed. Signed-off-by: Neal Frager <neal.frager@amd.com> Co-developed-by: Chris Wardman <cjwfirmware@vxmdesign.com>
Configuration menu - View commit details
-
Copy full SHA for 90d6966 - Browse repository at this point
Copy the full SHA 90d6966View commit details -
libgloss: merge cr16 into top-level Makefile
Avoid a recursive make to speed things up a bit. A cr16-elf build shows installed objects & libs produce same code. The test targets were dropped as they didn't actually work -- there is no test.o rule in here.
Configuration menu - View commit details
-
Copy full SHA for 752489c - Browse repository at this point
Copy the full SHA 752489cView commit details -
Cygwin: Don't terminate via dumper
A process which is exiting due to a core dumping signal doesn't propagate the correct exist status after dumping core, because 'dumper' itself forcibly terminates the process. Use 'dumper -n' to avoid killing the dumped process, so we continue to the end of signal_exit(), to exit with the 128+signal exit status. Busy-wait in exec_prepared_command() in an attempt to reliably notice the dumper attaching, so we don't get stuck there. Also: document these important facts for custom uses of error_start.
Configuration menu - View commit details
-
Copy full SHA for 15140d6 - Browse repository at this point
Copy the full SHA 15140d6View commit details
Commits on Jan 24, 2024
-
Cygwin: pthread: Fix handle leak in pthread_once.
If pthread_once() is called with pthread_once_t initialized using PTREAD_ONCE_INIT, pthread_once does not release pthread_mutex used internally. This patch fixes that by calling pthread_mutex_destroy() in the thread which has called init_routine. Reviewed-by: Corinna Vinschen <corinna@vinschen.de> Signed-off-by: Takashi Yano <takashi.yano@nifty.ne.jp>
Configuration menu - View commit details
-
Copy full SHA for 2c5433e - Browse repository at this point
Copy the full SHA 2c5433eView commit details -
Configuration menu - View commit details
-
Copy full SHA for 4d9808d - Browse repository at this point
Copy the full SHA 4d9808dView commit details
Commits on Jan 25, 2024
-
Configuration menu - View commit details
-
Copy full SHA for 1c13ca6 - Browse repository at this point
Copy the full SHA 1c13ca6View commit details
Commits on Jan 29, 2024
-
Cygwin: redefine how to recognize forkee state
So far the global variable in_forkee only indicated if the process is the child process during fork(2) itself. However, we need an indicator accessible from plain C code in newlib, allowing to check for a process being a forked process all the time, after fork(2) succeeded. Redefine bool in_forkee to int __in_forkee to allow exposing it to newlib. Redefine how it indicates fork state (not forked, forking, forked). Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
Configuration menu - View commit details
-
Copy full SHA for 1f68e88 - Browse repository at this point
Copy the full SHA 1f68e88View commit details -
Cygwin: fix arc4random after fork(2)
After using fork(), arc4random does not reseed itself, which causes the results to become predictable. Activate droppingfork-recognition Fixes: e0fc333 ("Delete Cygwin's arc4random in favor of new Newlib implementation") Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
Configuration menu - View commit details
-
Copy full SHA for 030a762 - Browse repository at this point
Copy the full SHA 030a762View commit details -
ssp: add support for _FORTIFY_SOURCE=3
If specified, use __builtin_dynamic_object_size() instead of __builtin_object_size() if supported (GCC 12.0 or later). This enables buffer overflow checks if the buffer size is non-const but known during runtime. Use new macro __ssp_bos_known() instead of the (bos(p) != (size_t)-1) checks. The latter is no longer a compile time constant in all cases. This avoids the generation of unused code. Signed-off-by: Christian Franke <christian.franke@t-online.de>
Configuration menu - View commit details
-
Copy full SHA for 497e6eb - Browse repository at this point
Copy the full SHA 497e6ebView commit details -
Cygwin: machine/_arc4random.h: Fix copy/paste bug
Remove a stray __END_DECLS. It didn't hurt in the only (plain C) file including this header, but still... Fixes: 030a762 ("Cygwin: fix arc4random after fork(2)") Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
Configuration menu - View commit details
-
Copy full SHA for 6252fd0 - Browse repository at this point
Copy the full SHA 6252fd0View commit details
Commits on Jan 31, 2024
-
Hide itoa, utoa, __itoa and __utoa in stdlib.h on Cygwin only
These functions are non-standard and not exported by Cygwin. Signed-off-by: Christian Franke <christian.franke@t-online.de>
Configuration menu - View commit details
-
Copy full SHA for 31f7cd1 - Browse repository at this point
Copy the full SHA 31f7cd1View commit details
Commits on Feb 1, 2024
-
Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
Configuration menu - View commit details
-
Copy full SHA for 23737b0 - Browse repository at this point
Copy the full SHA 23737b0View commit details
Commits on Feb 2, 2024
-
Cygwin: console: Fix exit code for non-cygwin process.
If non-cygwin process is executed in console, the exit code is not set correctly. This is because the stub process for non-cygwin app crashes in fhandler_console::set_disable_master_thread() due to NULL pointer dereference. This bug was introduced by the commit: 3721a75 ("Cygwin: console: Make the console accessible from other terminals."), that the pointer cons is accessed before fixing when it is NULL. This patch fixes the issue. Fixes: 3721a75 ("Cygwin: console: Make the console accessible from other terminals.") Reported-by: Johannes Schindelin <Johannes.Schindelin@gmx.de> Signed-off-by: Takashi Yano <takashi.yano@nifty.ne.jp>
Configuration menu - View commit details
-
Copy full SHA for aa73e11 - Browse repository at this point
Copy the full SHA aa73e11View commit details -
Cygwin: console: Avoid slipping past disable_master_thread check.
If disable_master_thread flag is set between the code checking that flag not be set and the code acquiring input_mutex, input record is processed once after setting disable_master_thread flag. This patch prevents that. Fixes: d4aacd5 ("Cygwin: console: Add missing input_mutex guard.") Signed-off-by: Takashi Yano <takashi.yano@nifty.ne.jp>
Configuration menu - View commit details
-
Copy full SHA for 9bcfd06 - Browse repository at this point
Copy the full SHA 9bcfd06View commit details
Commits on Feb 3, 2024
-
Configuration menu - View commit details
-
Copy full SHA for aa22a43 - Browse repository at this point
Copy the full SHA aa22a43View commit details -
Cygwin: net: Make if_nametoindex, etc. consistent with if_nameindex.
Currently, if_nametoindex() and if_indextoname() handle interface names such as "ethernet_32777", while if_nameindex() returns the names such as "{5AF7ACD0-D52E-4DFC-A4D0-54D3E6D6B2AC}". This patch unifies the interface names to the latter. Fixes: c356901 ("Rename if_indextoname to cygwin_if_indextoname (analag for if_nametoindex)") Reviewed-by: Corinna Vinschen <corinna@vinschen.de> Signed-off-by: Takashi Yano <takashi.yano@nifty.ne.jp>
Configuration menu - View commit details
-
Copy full SHA for aa392df - Browse repository at this point
Copy the full SHA aa392dfView commit details -
Cygwin: Do not show Error dialogs by default
...in a non-Cygwin child process. Backported from MSYS2. Downstream commit message follows. In msys2/msys2-runtime#18, we discussed a change that would allow default Windows error handling of spawned processes to kick in (such as registered JIT debuggers). We even agreed that it would make sense to hide this functionality behind a flag, `winjitdebug`. However, when this got upstreamed as 21ec498 (cygwin: use CREATE_DEFAULT_ERROR_MODE in spawn, 2020-12-09), that flag was deemed unnecessary. But it would appear that it _is_ necessary: As reported in msys2/MSYS2-packages#2414 (comment) this new behavior is pretty disruptive e.g. in CI scenarios. So let's introduce that `winjitdebug` flag (settable via the environment variable `MSYS`) at long last. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
Configuration menu - View commit details
-
Copy full SHA for 6d6e1e3 - Browse repository at this point
Copy the full SHA 6d6e1e3View commit details -
Cygwin: reorder list of CYGWIN env var options alphabetically again
This has been turned upside down for a short while. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
Configuration menu - View commit details
-
Copy full SHA for d56fb66 - Browse repository at this point
Copy the full SHA d56fb66View commit details -
Cygwin: document new winjitdebug option
Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
Configuration menu - View commit details
-
Copy full SHA for 10e2210 - Browse repository at this point
Copy the full SHA 10e2210View commit details -
Cygwin: fix typo in winjitdebug description
Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
Configuration menu - View commit details
-
Copy full SHA for 70371d6 - Browse repository at this point
Copy the full SHA 70371d6View commit details
Commits on Feb 13, 2024
-
Cygwin: pty: Fix handle leak in master process.
If non-cygwin process is started in pty, closing from_master_nat pipe handle was missing in fhandler_pty_slave::input_transfer(). This occured because the handle was duplicated but not closed. msys2/msys2-runtime#198 Fixes: 29431fc ("Cygwin: pty: Inherit typeahead data between two input pipes.") Reported-by: Hakkin Lain Signed-off-by: Takashi Yano <takashi.yano@nifty.ne.jp>
Configuration menu - View commit details
-
Copy full SHA for a6ac7b4 - Browse repository at this point
Copy the full SHA a6ac7b4View commit details -
Cygwin: pty: Fix potential handle leak regarding CallNamedPipe().
In pty master_thread, 6 handles are duplicated when CallNamedPipe() requests that. Though some of them are not used so should be closed, they were not. This causes handle leak potentially. Signed-off-by: Takashi Yano <takashi.yano@nifty.ne.jp>
Configuration menu - View commit details
-
Copy full SHA for 73cd80c - Browse repository at this point
Copy the full SHA 73cd80cView commit details -
Cygwin: console: Make VMIN and VTIME work.
Previously, VMIN and VTIME did not work at all. This patch fixes that. Signed-off-by: Takashi Yano <takashi.yano@nifty.ne.jp>
Configuration menu - View commit details
-
Copy full SHA for 02f7f65 - Browse repository at this point
Copy the full SHA 02f7f65View commit details -
Cygwin: console: Fix a problem that minor ID is incorrect in ConEmu.
Previously, minor device number of console was not assigned correctly in ConEmu environment. This is because console window of ConEmu is not enumerated by EnumWindows(). This patch fixes the issue. Signed-off-by: Takashi Yano <takashi.yano@nifty.ne.jp>
Configuration menu - View commit details
-
Copy full SHA for 0795afd - Browse repository at this point
Copy the full SHA 0795afdView commit details
Commits on Feb 14, 2024
-
Cygwin: pty: Make GNU screen and tmux work in ConEmu cygwin-connector.
Fixes: 3721a75 ("Cygwin: console: Make the console accessible from other terminals.") Signed-off-by: Takashi Yano <takashi.yano@nifty.ne.jp>
Configuration menu - View commit details
-
Copy full SHA for 79db49a - Browse repository at this point
Copy the full SHA 79db49aView commit details -
Cygwin: console: Unify EnumWindows() callback functions.
Previously, three similar callback fuctions were used in console code. This patch unifies these functions to ease maintenance cost. Fixes: 8aad3a7edeb2 ("Cygwin: console: Fix a problem that minor ID is incorrect in ConEmu.") Suggested-by: Johannes Schindelin <Johannes.Schindelin@gmx.de> Signed-off-by: Takashi Yano <takashi.yano@nifty.ne.jp>
Configuration menu - View commit details
-
Copy full SHA for 309c199 - Browse repository at this point
Copy the full SHA 309c199View commit details
Commits on Feb 15, 2024
-
Cygwin: dumper: use void* in place of PTR
The definition of PTR has been dropped from newer versions of ansidecl.h. Convert definition of print_section_name to use void * instead, as required by bfd_map_over_sections. Signed-off-by: Corinna Vinschen <corinna@vinschen.de> (cherry picked from commit dace0bfa6c8c0ee8e3acc190212e1dd9e5a19677)
Configuration menu - View commit details
-
Copy full SHA for ffdc4e3 - Browse repository at this point
Copy the full SHA ffdc4e3View commit details -
include/ansidecl.h: import from binutils-gdb
Import include/ansidecl.h version from 2024-01-04, binutils-gdb commit fd67aa1129fd. Signed-off-by: Corinna Vinschen <corinna@vinschen.de> (cherry picked from commit 10c8c1cf4f94ed42c59015d7e972269724c451bf)
Configuration menu - View commit details
-
Copy full SHA for a85f1c3 - Browse repository at this point
Copy the full SHA a85f1c3View commit details -
Cygwin: console: Fix a bug that cannot handle consoles more than 32.
Fixes: 3721a75 ("Cygwin: console: Make the console accessible from other terminals.") Signed-off-by: Takashi Yano <takashi.yano@nifty.ne.jp>
Configuration menu - View commit details
-
Copy full SHA for 577673a - Browse repository at this point
Copy the full SHA 577673aView commit details -
Cygwin: console: Fix a bug that 64th console cannot be handled.
Fixes: 930e553da8e9 ("Cygwin: console: Unify EnumWindows() callback functions."); Signed-off-by: Takashi Yano <takashi.yano@nifty.ne.jp>
Configuration menu - View commit details
-
Copy full SHA for d8f6db2 - Browse repository at this point
Copy the full SHA d8f6db2View commit details
Commits on Feb 16, 2024
-
Cygwin: pty: Fix failure to revert from nat-pipe in disable_pcon.
Fixes: a903878 ("Cygwin: pty: Additional fix for transferring input at exit."); Signed-off-by: Takashi Yano <takashi.yano@nifty.ne.jp>
Configuration menu - View commit details
-
Copy full SHA for 384ea1f - Browse repository at this point
Copy the full SHA 384ea1fView commit details -
Cygwin: pty: Re-fix the last bug regarding nat-pipe.
Fixes: f907b5f405a3 ("Cygwin: pty: Fix failure to revert from nat-pipe in disable_pcon.") Signed-off-by: Takashi Yano <takashi.yano@nifty.ne.jp>
Configuration menu - View commit details
-
Copy full SHA for 57b9425 - Browse repository at this point
Copy the full SHA 57b9425View commit details
Commits on Feb 20, 2024
-
Cygwin: gettimeofday: allow tv NULL pointer
Add a missing check for the struct timeval pointer being NULL. Reported-by: 109224573 <109224573@qq.com> Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
Configuration menu - View commit details
-
Copy full SHA for 12b85be - Browse repository at this point
Copy the full SHA 12b85beView commit details
Commits on Feb 21, 2024
-
Cygwin: strptime: make sure to fail on invalid input digits
conv_num returns NULL if the input is invalid, e. g., the numbers are out of range. However, the code fails to test this in a lot of places. Rather than adding checks all over the place, rename conv_num to __conv_num and create a wrapper macro conv_num to perform the task of error checking. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
Configuration menu - View commit details
-
Copy full SHA for f0ab27c - Browse repository at this point
Copy the full SHA f0ab27cView commit details -
Cygwin: strptime: fix am/pm handling
The %p format specifier is handled immediately. It requires that tm_hour is already set. This falls flat in case the am/pm marker preceeds the time specification. Locales with am/pm marker preceeding time spec by default exist (e. g. ko_KR). Also, the code expects that tm_hour might be set to an invalid value because the %p specifier is used in conjunction with %H. But this usage is invalid in itself and now catched as error condition after commit 343a2a558153 ("Cygwin: strptime: make sure to fail on invalid input digits"). Change the %H/%I/%p handling according to GLibC, i. e. - fix tm_hour for pm only if the time value has been specified as 12 hour time %I, and - perform the fixup only after the entire input has been scanned. This decouples the fixup from the %p position relativ to %I. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
Configuration menu - View commit details
-
Copy full SHA for 4fe5b1d - Browse repository at this point
Copy the full SHA 4fe5b1dView commit details -
Cygwin: strptime: add release note
Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
Configuration menu - View commit details
-
Copy full SHA for 83967aa - Browse repository at this point
Copy the full SHA 83967aaView commit details
Commits on Feb 24, 2024
-
Cygwin: newgrp: fix invalid usage of argv
Fix an error message accessing argv[1] even after it has been potentially moved. Print group name from group DB instead. Fixes: 8bd56ec ("Cygwin: newgrp: first full version") Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
Configuration menu - View commit details
-
Copy full SHA for 08df2e2 - Browse repository at this point
Copy the full SHA 08df2e2View commit details -
Cygwin: newgrp: only allow group from supplementary group list
Windows only allows to set the primary group to a group already present in the TOKEN_GROUP list. Cygwin OTOH fakes success at setgid() time, to allow a subsequent call to setuid() to do the actual account switching. To have a sane behaviour in the command line tool, check group membership and disallow to switch to groups other than those already present in the user token. Fixes: 8bd56ec ("Cygwin: newgrp: first full version") Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
Configuration menu - View commit details
-
Copy full SHA for 32024ec - Browse repository at this point
Copy the full SHA 32024ecView commit details -
Cygwin: add newgrp release notes
Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
Configuration menu - View commit details
-
Copy full SHA for 1f40799 - Browse repository at this point
Copy the full SHA 1f40799View commit details -
Cygwin: Map ERROR_NO_SUCH_DEVICE and ERROR_MEDIA_CHANGED to ENODEV
If a removable (USB) device is disconnected after opening its raw device, R/W attempts fail with ERROR_NO_SUCH_DEVICE(433). If the raw device of a partition is used, ERROR_MEDIA_CHANGED(1110) is returned instead. Both are mapped to ENODEV(19) because <errno.h> does not offer a value which better matches ERROR_MEDIA_CHANGED. Signed-off-by: Christian Franke <christian.franke@t-online.de>
Configuration menu - View commit details
-
Copy full SHA for ec5ef42 - Browse repository at this point
Copy the full SHA ec5ef42View commit details
Commits on Feb 26, 2024
-
Cygwin: passwd/group: drop Capability SIDs
Capability SIDs (S-1-15-3-...) have been introduced with Windows 10 1909. They don't resolve with LookupAccountSid. We don't need them and they don't map gracefully into out POSIX account namespace. Also, add code to make sure to filter them out *iff* they become resolvable at one point. While at it, slightly reorder code for non-resolving SIDs by authority values. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
Configuration menu - View commit details
-
Copy full SHA for 271f187 - Browse repository at this point
Copy the full SHA 271f187View commit details -
Cygwin: getgrent: fix local SAM enumeration on domain member machines
Don't skip output of local SAM groups on domain member machines. They can have valid, user-defined groups in their SAM. Just skip builtin groups if we're enumerating AD as well. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
Configuration menu - View commit details
-
Copy full SHA for 50240f2 - Browse repository at this point
Copy the full SHA 50240f2View commit details -
Cygwin: getgrent/getpwent: avoid local enumeration on DCs
...if we're supposed to enumerate the AD accounts anyway. This avoids some useless duplication. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
Configuration menu - View commit details
-
Copy full SHA for 69aba64 - Browse repository at this point
Copy the full SHA 69aba64View commit details -
Cygwin: add release text for getgrent local SAM enumeration patch
Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
Configuration menu - View commit details
-
Copy full SHA for a574428 - Browse repository at this point
Copy the full SHA a574428View commit details
Commits on Feb 27, 2024
-
Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
Configuration menu - View commit details
-
Copy full SHA for b65153e - Browse repository at this point
Copy the full SHA b65153eView commit details
Commits on Mar 1, 2024
-
Cygwin: console: Do not unmap shared console memory belonging to ctty.
In the condition that console setup for CTTY and close run at the sametime, accessing shared console memory which is already unmapped may occur. With this patch, to avoid this race issue, shared console memory which belongs to contorolling terminal (CTTY) is kept mapped as before. Addresses: https://cygwin.com/pipermail/cygwin/2024-February/255561.html Fixes: 3721a75 ("Cygwin: console: Make the console accessible from other terminals.") Reported-by: Kate Deplaix <kit-ty-kate@outlook.com> Signed-off-by: Takashi Yano <takashi.yano@nifty.ne.jp>
Configuration menu - View commit details
-
Copy full SHA for cf121e0 - Browse repository at this point
Copy the full SHA cf121e0View commit details
Commits on Mar 4, 2024
-
Cygwin: console: Fix a race issue between close() and open().
The open() call for console sometimes fails if the console owner process is closing the console by close() at the same time. This is due to mismatch state of con.owner variable and attaching state to the console. With this patch, checking con.owner and attaching to con.owner sequence in open(), and resetting con.owner and freeing console sequence in close() are guarded by output_mutex to avoid such a race issue. Addresses: https://cygwin.com/pipermail/cygwin/2024-March/255575.html Fixes: 3721a75 ("Cygwin: console: Make the console accessible from other terminals.") Reported-by: Kate Deplaix <kit-ty-kate@outlook.com> Signed-off-by: Takashi Yano <takashi.yano@nifty.ne.jp>
Configuration menu - View commit details
-
Copy full SHA for fc5e952 - Browse repository at this point
Copy the full SHA fc5e952View commit details
Commits on Mar 5, 2024
-
Cygwin: pipe: Give up to use query_hdl for non-cygwin apps.
Non-cygwin app may call ReadFile() for empty pipe, which makes NtQueryObject() for ObjectNameInformation block in fhandler_pipe:: get_query_hdl_per_process. Therefore, do not to try to get query_hdl for non-cygwin apps. Addresses: msys2/msys2-runtime#202 Fixes: b531d6b ("Cygwin: pipe: Introduce temporary query_hdl.") Reported-by: Alisa Sireneva, Johannes Schindelin <Johannes.Schindelin@gmx.de> Reviewed-by: Corinna Vinschen <corinna@vinschen.de> Signed-off-by: Takashi Yano <takashi.yano@nifty.ne.jp>
Configuration menu - View commit details
-
Copy full SHA for f6be372 - Browse repository at this point
Copy the full SHA f6be372View commit details
Commits on Mar 11, 2024
-
Cygwin: try to avoid recalling offline files
Chances are high that Cygwin recalls offline files from remote storage, even if the file is only accessed during stat(2) or readdir(3). To avoid this - make sure Cygwin is placeholder-aware, - open files in path_conv handling, as well as in stat(2)/readdir(3) scenarios with FILE_OPEN_NO_RECALL, and - during symlink checking or testing for executablility, don't even try to open the file if one of the OFFLINE attributes is set. Reported-by: Marcin Wisnicki <mwisnicki@gmail.com> Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
Configuration menu - View commit details
-
Copy full SHA for c1cf14a - Browse repository at this point
Copy the full SHA c1cf14aView commit details -
Cygwin: get/set security descriptors using FILE_OPEN_NO_RECALL
Add FILE_OPEN_NO_RECALL to NtOpenFile calls trying to fetch or write file security descriptors so as not to recall them from offline storage inadvertently. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
Configuration menu - View commit details
-
Copy full SHA for 66138cb - Browse repository at this point
Copy the full SHA 66138cbView commit details -
Cygwin: getgrent: don't skip SAM-only builtin-accounts
Since commit 15e82eef3a40b ("Cygwin: getgrent: fix local SAM enumeration on domain member machines") we skip enumerating local BUILTIN accounts if we also enumerate AD. However, there are two local accounts which are only available in local SAM, not in AD. Don't skip enumerating those. Fixes: 15e82eef3a40b ("Cygwin: getgrent: fix local SAM enumeration on domain member machines") Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
Configuration menu - View commit details
-
Copy full SHA for 66f7dd9 - Browse repository at this point
Copy the full SHA 66f7dd9View commit details -
Cygwin: add 3.5.2 release entries for latest commits
Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
Configuration menu - View commit details
-
Copy full SHA for 83afe30 - Browse repository at this point
Copy the full SHA 83afe30View commit details
Commits on Mar 12, 2024
-
Cygwin: pipe: Make sure to set read pipe non-blocking for cygwin apps.
If pipe reader is a non-cygwin app first, and cygwin process reads the same pipe after that, the pipe has been set to bclocking mode for the cygwin app. However, the commit 9e4d308 assumes the pipe for cygwin process always is non-blocking mode. With this patch, the pipe mode is reset to non-blocking when cygwin app is started. Addresses: https://cygwin.com/pipermail/cygwin/2024-March/255644.html Fixes: 9e4d308 ("Cygwin: pipe: Adopt FILE_SYNCHRONOUS_IO_NONALERT flag for read pipe.") Reported-by: wh <wh9692@protonmail.com> Reviewed-by: Corinna Vinschen <corinna@vinschen.de> Signed-off-by: Takashi Yano <takashi.yano@nifty.ne.jp>
Configuration menu - View commit details
-
Copy full SHA for 55431b4 - Browse repository at this point
Copy the full SHA 55431b4View commit details
Commits on Mar 18, 2024
-
Revert "Cygwin: glob: perform ignore_case_with_glob on input"
This reverts commit a511474. Dumb thinko on my part. What was supposed to be an optimization actually broke caseinsensitive globbing in that the entire input of globbed expressions were downcased. Drop the unused CCHAR() macro nevertheless. Fixes: a511474 ("Cygwin: glob: perform ignore_case_with_glob on input") Reported-by: Michael Goldshteyn <mgold10000@gmail.com> Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
Configuration menu - View commit details
-
Copy full SHA for 70375b2 - Browse repository at this point
Copy the full SHA 70375b2View commit details
Commits on Mar 21, 2024
-
Configuration menu - View commit details
-
Copy full SHA for 18bd5d3 - Browse repository at this point
Copy the full SHA 18bd5d3View commit details -
Cygwin: utils: refresh tzmap.h
Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
Configuration menu - View commit details
-
Copy full SHA for 822eaf0 - Browse repository at this point
Copy the full SHA 822eaf0View commit details
Commits on Apr 3, 2024
-
Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
Configuration menu - View commit details
-
Copy full SHA for c5882d8 - Browse repository at this point
Copy the full SHA c5882d8View commit details -
Cygwin: fix tzmap-from-unicode.org
The previous change introduced a missing end of comment Fixes: 60ea9c1c4b66 ("Cygwin: tzmap-from-unicode.org: drop support for Vista/2008") Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
Configuration menu - View commit details
-
Copy full SHA for 372eaba - Browse repository at this point
Copy the full SHA 372eabaView commit details -
Cygwin: tzset(1): use GetDynamicTimeZoneInformation
Use official GetDynamicTimeZoneInformation() function instead of scanning the registry for the timezone keyname. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
Configuration menu - View commit details
-
Copy full SHA for 6c0240b - Browse repository at this point
Copy the full SHA 6c0240bView commit details -
Cygwin: tzmap-from-unicode.org: drop "E. Europe Standard Time" default
E. Europe Standard Time is available in the unicode.org windowsZones.xml file, so we can drop the default handling. Fix a few comments. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
Configuration menu - View commit details
-
Copy full SHA for bd11b2d - Browse repository at this point
Copy the full SHA bd11b2dView commit details -
Cygwin: utils: refresh tzmap.h
Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
Configuration menu - View commit details
-
Copy full SHA for d8b21b8 - Browse repository at this point
Copy the full SHA d8b21b8View commit details -
Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
Configuration menu - View commit details
-
Copy full SHA for 774d20b - Browse repository at this point
Copy the full SHA 774d20bView commit details -
Cygwin: add a fake 3.5.3 release file
Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
Configuration menu - View commit details
-
Copy full SHA for b896891 - Browse repository at this point
Copy the full SHA b896891View commit details
Commits on Apr 4, 2024
-
Cygwin: FILE_OPEN_NO_RECALL is incompatible with FILE_DIRECTORY_FILE
If FILE_DIRECTORY_FILE is given, FILE_OPEN_NO_RECALL is not allowed, otherwise NtCreateFile returns STATUS_INVALID_PARAMETER. Drop FILE_OPEN_NO_RECALL where FILE_DIRECTORY_FILE is specified. Fixes: f6b56abec186 ("Cygwin: try to avoid recalling offline files") Reported-by: Bruce Jerrick <bmj001@gmail.com> Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
Configuration menu - View commit details
-
Copy full SHA for e00cb12 - Browse repository at this point
Copy the full SHA e00cb12View commit details
Commits on Apr 9, 2024
-
Cygwin: globify: read full 32 bit character
While commit 0321fb5 ("Cygwin: glob: convert wchar_t to wint_t") switched the entire glob mechanism from wchar_t to wint_t, the globify function calling glob on a DOS command line did not catch up and only checked for the next character constituting a 16 bit wchar_t. This broke reading surrogate pairs from incoming DOS command lines if the string had to go through glob(3). Check for an entire 32 bit unicode char instead. Fixes: 0321fb5 ("Cygwin: glob: convert wchar_t to wint_t") Reported-by: David Allsopp <david@tarides.com> Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
Configuration menu - View commit details
-
Copy full SHA for 14216d5 - Browse repository at this point
Copy the full SHA 14216d5View commit details
Commits on Jun 1, 2024
-
Cygwin: mixer: Fix volume control for no WAVECAPS_LRVOLUME device
Currently, if the device does not have capability WAVECAPS_LRVOLUME, the volume control does not work properly. This patch fixes that. Fixes: 2a4af36 ("Cygwin: Implement sound mixer device.") Signed-off-by: Takashi Yano <takashi.yano@nifty.ne.jp>
Configuration menu - View commit details
-
Copy full SHA for e567e9f - Browse repository at this point
Copy the full SHA e567e9fView commit details
Commits on Jun 2, 2024
-
Cygwin: pthread: Fix a race issue introduced by the commit 2c5433e
To avoid race issues, pthread::once() uses pthread_mutex. This caused the handle leak which was fixed by the commit 2c5433e. However, this fix introduced another race issue, i.e., the mutex may be used after it is destroyed. This patch fixes the issue. Special thanks to Bruno Haible for discussing how to fix this. Addresses: https://cygwin.com/pipermail/cygwin/2024-May/255987.html Reported-by: Bruno Haible <bruno@clisp.org> Fixes: 2c5433e ("Cygwin: pthread: Fix handle leak in pthread_once.") Reviewed-by: Ken Brown <kbrown@cornell.edu> Signed-off-by: Takashi Yano <takashi.yano@nifty.ne.jp>
Configuration menu - View commit details
-
Copy full SHA for d49c6a7 - Browse repository at this point
Copy the full SHA d49c6a7View commit details -
Cygwin: disable high-entropy VA for ldh
If ldd is run against a DLL which links to the Cygwin DLL, ldh will end up loading the Cygwin DLL dynamically, much like cygcheck or strace. Addresses: https://cygwin.com/pipermail/cygwin/2024-May/255991.html Fixes: 60675f1 ("Cygwin: decouple shared mem regions from Cygwin DLL") Reviewed-by: Ken Brown <kbrown@cornell.edu>, Takashi Yano <takashi.yano@nifty.ne.jp> Signed-off-by: Jeremy Drake <cygwin@jdrake.com>
Configuration menu - View commit details
-
Copy full SHA for 84dff09 - Browse repository at this point
Copy the full SHA 84dff09View commit details
Commits on Jun 16, 2024
-
Cygwin: suppress a warning generated with w32api >= 12.0.0
w32api 12.0.0 adds the returns_twice attribute to RtlCaptureContext(). There's some data-flow interaction with using it inside a while loop which causes a maybe-uninitialized warning. ../../../../winsup/cygwin/exceptions.cc: In member function 'int _cygtls::call_signal_handler()': ../../../../winsup/cygwin/exceptions.cc:1720:33: error: '<anonymous>' may be used uninitialized in this function [-Werror=maybe-uninitialized] (cherry picked from commit 7e3c833592b282355a57dd34459b152e4e078d19)
Configuration menu - View commit details
-
Copy full SHA for d1670f1 - Browse repository at this point
Copy the full SHA d1670f1View commit details
Commits on Jun 28, 2024
-
Cygwin: dsp: Fix incorrect openflags when opening multiple /dev/dsp
Previously, the following steps failed with error: 1) Open /dev/dsp with O_RDONLY 2) Open /dev/dsp with O_WRONLY 3) Issue SNDCTL_DSP_GETOSPACE ioctl() for 2) This is because IS_WRITE() returns false for 2) due to incorrect openflags handling in archetype instance. This patch fixes the issue by adding open_setup() to fhandler_dev_dsp to set openflags correctly for each instance. Fixes: 92ddb74 ("* fhandler_dsp.cc (fhandler_dev_dsp::open): Remove archetype handling.") Signed-off-by: Takashi Yano <takashi.yano@nifty.ne.jp>
Configuration menu - View commit details
-
Copy full SHA for 40f751e - Browse repository at this point
Copy the full SHA 40f751eView commit details
Commits on Jun 29, 2024
-
Cygwin: console: Add error handling for thread_sync_event
Signed-off-by: Takashi Yano <takashi.yano@nifty.ne.jp>
Configuration menu - View commit details
-
Copy full SHA for 936c062 - Browse repository at this point
Copy the full SHA 936c062View commit details -
Cygwin: console: Add debug print on thread_sync_event creation error
Fixes: 55baaac2ef5f ("Cygwin: console: Add error handling for thread_sync_event") Signed-off-by: Takashi Yano <takashi.yano@nifty.ne.jp>
Configuration menu - View commit details
-
Copy full SHA for a92abb5 - Browse repository at this point
Copy the full SHA a92abb5View commit details
Commits on Jul 1, 2024
-
Cygwin: pty: Avoid client deadlock when pty master stops to read.
Previsouly, the following commands hangs: mintty -e timeout 1 dash -c 'yes aaaaaaaaaaaaaaaaaaaaaaaaa | cat' The mechanism is as follows. When the child process (timeout) is terminated, mintty seems to stop reading pty master even if yes or cat still alive. If the the pipe used to transfer output from pty slave to pty master is full due to lack of master reader, WriteFile() to the pipe is blocked. WriteFile() cannot be canceled by cygwin signal, therefore, pty slave hangs. This patch avoids hanging by checking pipe space before calling WriteFile() and prevents writing data more than space. Addresses: https://cygwin.com/pipermail/cygwin/2024-June/256178.html Reported-by: jojelino <jojelino@gmail.com> Signed-off-by: Takashi Yano <takashi.yano@nifty.ne.jp>
Configuration menu - View commit details
-
Copy full SHA for 49018bf - Browse repository at this point
Copy the full SHA 49018bfView commit details
Commits on Jul 3, 2024
-
Cygwin: console: Fix conflict on shared names between sessions.
Previously, shared names in the console were created using get_minor(). However, get_minor() was not unique to the console across sessions. This is because EnumWindows(), which is used to look for console windows, cannot enumerate windows across sessions. This causes conflict on the shared names between sessions (e.g. sessions of different users, different services, a service and a user session, etc.). With this patch, GetConsoleWindow() is used instead of get_minor(). GetConsoleWindow() has been used for the name of shared memory, which should be unique to each console. Addresses: https://cygwin.com/pipermail/cygwin/2024-April/255893.html Fixes: ff4440f ("Cygwin: console: Introduce new thread which handles input signal."); Reported-by: Johannes Khoshnazar-Thoma <johannes@johannesthoma.com> Signed-off-by: Takashi Yano <takashi.yano@nifty.ne.jp>
Configuration menu - View commit details
-
Copy full SHA for a8300a6 - Browse repository at this point
Copy the full SHA a8300a6View commit details
Commits on Jul 6, 2024
-
Cygwin: console: Fixes an issue that tmux can not run on the console.
After the commit c77a5689f7bd, tmux can not run on the console. This patch replaces the countermeasure for the race issue between console setup and close with another mechanism using a mutex. Fixes: c77a5689f7bd ("Cygwin: console: Do not unmap shared console memory belonging to ctty.") Signed-off-by: Takashi Yano <takashi.yano@nifty.ne.jp>
Configuration menu - View commit details
-
Copy full SHA for 186ee9b - Browse repository at this point
Copy the full SHA 186ee9bView commit details -
Cygwin: console: Bug fix for the last console code change
The commit baf2764dca43 has a serious bug that shared_info_state is common for all console devices despite it should be individual for each console device. This patch fixes that. Fixes: baf2764dca43 ("Cygwin: console: Fixes an issue that tmux can not run on the console.") Signed-off-by: Takashi Yano <takashi.yano@nifty.ne.jp>
Configuration menu - View commit details
-
Copy full SHA for ec71ae7 - Browse repository at this point
Copy the full SHA ec71ae7View commit details
Commits on Jul 8, 2024
-
Cygwin: console: Fix race issue on allocating console simultaneously.
Previously, if two or more processes request to allocate a console at the same time, the same device number could be accidentally allocated. This patch fixes the issue by creating a named mutex (input_mutex) and checking if GetLastError() is ERROR_ALREADY_EXIST or not to ensure the unit number will be allocated in an atomic way. Thanks to this, EnumWindow() is not necessary anymore to scan console units. This also makes minor device numbers unique and console devices visible across sessions. This disallows duplicated device number for different sessions, so the MAX_CONS_DEV has been increased from 64 to 128. Additionally, the console allocation and scanning will be faster as a side effect of eliminating EnumWindows(). Fixes: 3721a75 ("Cygwin: console: Make the console accessible from other terminals.") Signed-off-by: Takashi Yano <takashi.yano@nifty.ne.jp> (cherry picked from commit 10477d95ec401213d5bded5ae3600ab0d2d5ed94)
Configuration menu - View commit details
-
Copy full SHA for cc9dcdb - Browse repository at this point
Copy the full SHA cc9dcdbView commit details -
Cygwin: console: Fix for GNU screen/tmux in ConEmu
If the master process of GNU screen or tmux is started in ConEmu and ConEmu is closed, reattaching to the GNU screen/tmux in another console will not work correctly. This is because the ConEmu master process was already closed even though some console APIs are hooked by ConEmuHk64.dll to communicate with ConEmu master process. With this patch, to make them unhooked, DllMain() of ConEmuHk64.dll is called with DLL_PROCESS_DETACH. Fixes: 3721a75 ("Cygwin: console: Make the console accessible from other terminals.") Signed-off-by: Takashi Yano <takashi.yano@nifty.ne.jp> (cherry picked from commit ac7c0e23d85a638e6f930aa9a0582812e886a688)
Configuration menu - View commit details
-
Copy full SHA for ce3889a - Browse repository at this point
Copy the full SHA ce3889aView commit details
Commits on Aug 22, 2024
-
stdatomic: make atomics compatible with GCC-14
https://gcc.gnu.org/pipermail/gcc-patches/2023-September/631525.html brings c_atomic and cxx_atomic definitions into GCC. This patch makes atomics type detection correct for GCC. freebsd/freebsd-src@680f40f
Configuration menu - View commit details
-
Copy full SHA for a6ffd83 - Browse repository at this point
Copy the full SHA a6ffd83View commit details -
Cygwin: Suppress array-bounds warning from NtCurrentTeb()
This disables a warning seen with gcc 12 caused by intrinsics used by the inline implementation of NtCurrentTeb() inside w32api headers. > In function ‘long long unsigned int __readgsqword(unsigned int)’, > inlined from ‘_TEB* NtCurrentTeb()’ at /usr/include/w32api/winnt.h:10020:86, > [...] > /usr/include/w32api/psdk_inc/intrin-impl.h:838:1: error: array subscript 0 is outside array bounds of ‘long long unsigned int [0]’ [-Werror=array-bounds] See also: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105523#c6 Signed-off-by: Jon Turney <jon.turney@dronecode.org.uk>
Configuration menu - View commit details
-
Copy full SHA for 4f8668a - Browse repository at this point
Copy the full SHA 4f8668aView commit details -
Cygwin: Fix warnings about narrowing conversions of NTSTATUS constants
Fix warnings with gcc 12 about narrowing conversions of NTSTATUS constants when used as case labels, e.g: > ../../../../src/winsup/cygwin/exceptions.cc: In static member function ‘static int exception::handle(EXCEPTION_RECORD*, void*, CONTEXT*, PDISPATCHER_CONTEXT)’: > ../../../../src/winsup/cygwin/exceptions.cc:670:10: error: narrowing conversion of ‘-1073741682’ from ‘NTSTATUS’ {aka ‘int’} to ‘unsigned int’ [-Wnarrowing] See also: c5bdf60 Signed-off-by: Jon Turney <jon.turney@dronecode.org.uk>
Configuration menu - View commit details
-
Copy full SHA for 6204d84 - Browse repository at this point
Copy the full SHA 6204d84View commit details -
Cygwin: Fix warning about address known to be non-NULL in /proc/locales
Fix a gcc 12 warning about an address known to be non-NULL in format_proc_locale_proc(). > ../../../../src/winsup/cygwin/fhandler/proc.cc: In function ‘BOOL format_proc_locale_proc(LPWSTR, DWORD, LPARAM)’: > ../../../../src/winsup/cygwin/fhandler/proc.cc:2156:11: error: the address of ‘iso15924’ will never be NULL [-Werror=address] > 2156 | if (iso15924) > | ^~~~~~~~ > ../../../../src/winsup/cygwin/fhandler/proc.cc:2133:11: note: ‘iso15924’ declared here > 2133 | wchar_t iso15924[ENCODING_LEN + 1] = { 0 }; > | ^~~~~~~~ Fixes: c42b98b ("Cygwin: introduce /proc/codesets and /proc/locales") Signed-off-by: Jon Turney <jon.turney@dronecode.org.uk>
Configuration menu - View commit details
-
Copy full SHA for 87b066b - Browse repository at this point
Copy the full SHA 87b066bView commit details -
Cygwin: Fix warning about narrowing conversions in tape options
Fix a gcc 12 warning about a narrowing conversion in case labels for tape options. > In file included from /wip/cygwin/src/winsup/cygwin/include/sys/mtio.h:14, > from ../../../../src/winsup/cygwin/fhandler/tape.cc:13: > ../../../../src/winsup/cygwin/fhandler/tape.cc: In member function ‘int mtinfo_drive::set_options(HANDLE, int32_t)’: > ../../../../src/winsup/cygwin/fhandler/tape.cc:965:12: error: narrowing conversion of ‘4026531840’ from ‘unsigned int’ to ‘int’ [-Wnarrowing] Signed-off-by: Jon Turney <jon.turney@dronecode.org.uk>
Configuration menu - View commit details
-
Copy full SHA for 25a0df8 - Browse repository at this point
Copy the full SHA 25a0df8View commit details -
Cygwin: asm/socket.h: drop outdated casts
The _IOR anbd _IOW macros cast the sizeof of their third arg uselessly to long. The _IO definitions have been taken from BSD in 1995 and never changed again. The fact that the sizeof() gets cast to long is probably a remnant from the past when the stuff was supposed to be used on 16 bit machines, but the value was supposed to be 32 bit. Given that the values are not supposed to be ever bigger than 32 bit, we drop the (long) cast. Compare with current FreeBSD, which does not cast at all. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
Configuration menu - View commit details
-
Copy full SHA for c75f393 - Browse repository at this point
Copy the full SHA c75f393View commit details -
Cygwin: Fix warnings about narrowing conversions of socket ioctls
Fix gcc 12 warnings about narrowing conversions of socket ioctl constants when used as case labels, e.g: > ../../../../src/winsup/cygwin/net.cc: In function ‘int get_ifconf(ifconf*, int)’: > ../../../../src/winsup/cygwin/net.cc:1940:18: error: narrowing conversion of ‘2152756069’ from ‘long int’ to ‘int’ [-Wnarrowing] Signed-off-by: Jon Turney <jon.turney@dronecode.org.uk>
Configuration menu - View commit details
-
Copy full SHA for 510cbdf - Browse repository at this point
Copy the full SHA 510cbdfView commit details -
Cygwin: Avoid use-after-free warnings in __set_lc_time_from_win() etc.
Rewrite to avoid new use-after-free warnings about realloc(), seen with gcc 12, e.g.: > In function ‘void rebase_locale_buf(const void*, const void*, const char*, const char*, const char*)’, > inlined from ‘int __set_lc_time_from_win(const char*, const lc_time_T*, lc_time_T*, char**, wctomb_p, const char*)’ at ../../../../src/winsup/cygwin/nlsfuncs.cc:705:25: > ../../../../src/winsup/cygwin/nlsfuncs.cc:338:24: error: pointer ‘new_lc_time_buf’ may be used after ‘void* realloc(void*, size_t)’ [-Werror=use-after-free] > 338 | *ptrs += newbase - oldbase; > | ~~~~~~~~^~~~~~~~~ > ../../../../src/winsup/cygwin/nlsfuncs.cc: In function ‘int __set_lc_time_from_win(const char*, const lc_time_T*, lc_time_T*, char**, wctomb_p, const char*)’: > ../../../../src/winsup/cygwin/nlsfuncs.cc:699:44: note: call to ‘void* realloc(void*, size_t)’ here > 699 | char *tmp = (char *) realloc (new_lc_time_buf, len); Technically, it's UB to later refer to the realloced pointer (even just for offset computations, without deferencing it), so switch to using malloc() to create the resized copy. Signed-off-by: Jon Turney <jon.turney@dronecode.org.uk>
Configuration menu - View commit details
-
Copy full SHA for 65e3e2f - Browse repository at this point
Copy the full SHA 65e3e2fView commit details -
Cygwin: getopt.h: fix a comment
Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
Configuration menu - View commit details
-
Copy full SHA for bc6fd19 - Browse repository at this point
Copy the full SHA bc6fd19View commit details -
stdlib.h: define __itoa/__utoa while building newlib
This avoids a `__utoa undefined' warning when building newlib for Cygwin. We still need to export the symbols for backward compatibility. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
Configuration menu - View commit details
-
Copy full SHA for 54a6a90 - Browse repository at this point
Copy the full SHA 54a6a90View commit details -
Cygwin: pipe: handle signals explicitely in raw_write
The simple cygwait call in fhandler_pipe_fifo::raw_write doesn't take the SA_RESTART setting into account. Move handling the signal into raw_write. Fixes: 4b25687 ("Cygwin: fhandler_pipe: add raw_read and raw_write") Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
Configuration menu - View commit details
-
Copy full SHA for 3d9eb1b - Browse repository at this point
Copy the full SHA 3d9eb1bView commit details -
Cygwin: select: set pipe writable only if PIPE_BUF bytes left
Linux select(2) returns the pipe as writable if at least one free page (4K onl most systems) is left in a page-oriented buffer handling. This is the same as PIPE_BUF. Emulate this behaviour by only returning the pipe as writable if at least 4K space is left in the buffer. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
Configuration menu - View commit details
-
Copy full SHA for 555afcb - Browse repository at this point
Copy the full SHA 555afcbView commit details -
Cygwin: pipe: improve writing when pipe buffer is almost full
So far fhandler_pipe_fifo::raw_write always returns -1/EINTR if a signal arrived. Linux does not do that if there's still space left in the pipe buffer. The Linux buffer handling can't be emulated by Cygwin, but we can do something similar which makes it much more likely to still write successfully even if the buffer is almost full. Utilize pipe_data_available to return valid pipe buffer usage to raw_write, allowing a more sophisticated way to fill the buffer while maintaining comaptibility with non-Cygwin pipes. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
Configuration menu - View commit details
-
Copy full SHA for ef844ce - Browse repository at this point
Copy the full SHA ef844ceView commit details -
There's no reason to overwrite len1 with align if they are the same value. Fixes: 170e6badb621 ("Cygwin: pipe: improve writing when pipe buffer is almost full") Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
Configuration menu - View commit details
-
Copy full SHA for 61dc66d - Browse repository at this point
Copy the full SHA 61dc66dView commit details -
Cygwin: pipe: do short writes only once in nonblocking case too
If a nonblocking write requires short writes, just try it once as in the blocking case. After all, we are nonblocking, so don't loop unnecessarily. Fixes: 170e6badb621 ("Cygwin: pipe: improve writing when pipe buffer is almost full") Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
Configuration menu - View commit details
-
Copy full SHA for d83183e - Browse repository at this point
Copy the full SHA d83183eView commit details -
nl_langinfo_l: drop erroneus messages::codeset entry
The nl_ext array contains offsets into the extended info of locale structures, the index being equivalent to the nl_item values in langinfo.h. For the lc_messages_T struct, nl_ext erroneusly contains an entry for the codeset member, which is in fact not part of the extended info in nl_item. However, due to that, the offsets for subsequent entries are off by one. Fix this by dropping the messages::codeset entry from nl_ext. Fixes: d47d5b8 ("Extend locale support to maintain wide char values of native strings") Reported-by: Brian Inglis <Brian.Inglis@systematicsw.ab.ca> Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
Configuration menu - View commit details
-
Copy full SHA for d14b65b - Browse repository at this point
Copy the full SHA d14b65bView commit details -
locales: Fix definition of lc_messages_T::codeset
nl_langinfo_l accesses lc_messages_T::codeset as soon as __HAVE_LOCALE_INFO__ is defined, but codeset only exists if __HAVE_LOCALE_INFO_EXTENDED__ is defined. Fix this by defining lc_messages_T::codeset depending on __HAVE_LOCALE_INFO__. Fixes: ac7f1d5 ("Get rid of LCID, reformat type definitions in setlocale.h") Reported-by: Inglis <Brian.Inglis@SystematicSW.ab.ca> Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
Configuration menu - View commit details
-
Copy full SHA for 1807336 - Browse repository at this point
Copy the full SHA 1807336View commit details -
Cygwin: Add locale patches to release message
Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
Configuration menu - View commit details
-
Copy full SHA for 74768ac - Browse repository at this point
Copy the full SHA 74768acView commit details -
Cygwin: add release message for latest pipe changes
Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
Configuration menu - View commit details
-
Copy full SHA for 0bc1222 - Browse repository at this point
Copy the full SHA 0bc1222View commit details
Commits on Aug 25, 2024
-
Configuration menu - View commit details
-
Copy full SHA for 51380ec - Browse repository at this point
Copy the full SHA 51380ecView commit details -
Fix msys library name in import libraries
Cygwin's speclib doesn't handle dashes or dots. However, we are about to rename the output file name from `cygwin1.dll` to `msys-2.0.dll`. Let's preemptively fix up all the import libraries that would link against `msys_2_0.dll` to correctly link against `msys-2.0.dll` instead.
Configuration menu - View commit details
-
Copy full SHA for a116f41 - Browse repository at this point
Copy the full SHA a116f41View commit details -
Configuration menu - View commit details
-
Copy full SHA for f858c02 - Browse repository at this point
Copy the full SHA f858c02View commit details -
Add functionality for converting UNIX paths in arguments and environm…
…ent variables to Windows form for native Win32 applications.
Configuration menu - View commit details
-
Copy full SHA for b084abe - Browse repository at this point
Copy the full SHA b084abeView commit details
Commits on Aug 27, 2024
-
Configuration menu - View commit details
-
Copy full SHA for f160385 - Browse repository at this point
Copy the full SHA f160385View commit details -
- Move root to /usr. - Change sorting mount points. - By default moun…
…t without ACLs. - Can read /etc/fstab with short mount point format.
Configuration menu - View commit details
-
Copy full SHA for 6393488 - Browse repository at this point
Copy the full SHA 6393488View commit details -
Instead of creating Cygwin symlinks, use deep copy by default
The new `winsymlinks` mode `deepcopy` (which is made the default) lets calls to `symlink()` create (deep) copies of the source file/directory. This is necessary because unlike Cygwin, MSYS2 does not try to be its own little ecosystem that lives its life separate from regular Win32 programs: the latter have _no idea_ about Cygwin-emulated symbolic links (i.e. system files whose contents start with `!<symlink>\xff\xfe` and the remainder consists of the NUL-terminated, UTF-16LE-encoded symlink target). To support Cygwin-style symlinks, the new mode `sysfile` is introduced. Co-authored-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Configuration menu - View commit details
-
Copy full SHA for 06ea20e - Browse repository at this point
Copy the full SHA 06ea20eView commit details -
Automatically rewrite TERM=msys to TERM=cygwin
With MSys1, it was necessary to set the TERM variable to "msys". To allow for a smooth transition from MSys1 to MSys2, let's simply handle TERM=msys as if the user had not specified TERM at all and wanted us to use our preferred TERM value.
Configuration menu - View commit details
-
Copy full SHA for 222fd37 - Browse repository at this point
Copy the full SHA 222fd37View commit details -
Do not convert environment for strace
Strace is a Windows program so MSYS2 will convert all arguments and environment vars and that makes debugging msys2 software with strace very tricky.
Configuration menu - View commit details
-
Copy full SHA for 41e8ada - Browse repository at this point
Copy the full SHA 41e8adaView commit details -
strace.cc: Don't set MSYS=noglob
Commit message for this code was: * strace.cc (create_child): Set CYGWIN=noglob when starting new process so that Cygwin will leave already-parsed the command line alonw." I can see no reason for it and it badly breaks the ability to use strace.exe to investigate calling a Cygwin program from a Windows program, for example: strace mingw32-make.exe .. where mingw32-make.exe finds sh.exe and uses it as the shell. The reason it badly breaks this use-case is because dcrt0.cc depends on globbing to happen to parse commandlines from Windows programs; irrespective of whether they contain any glob patterns or not. See quoted () comment: "This must have been run from a Windows shell, so preserve quotes for globify to play with later."
Configuration menu - View commit details
-
Copy full SHA for 766e55c - Browse repository at this point
Copy the full SHA 766e55cView commit details -
Configuration menu - View commit details
-
Copy full SHA for 4f01c3f - Browse repository at this point
Copy the full SHA 4f01c3fView commit details -
strace --quiet: be *really* quiet
The biggest problem with strace spitting out `create_child: ...` despite being asked to be real quiet is that its output can very well interfere with scripts' operations. For example, when running any of Git for Windows' shell scripts with `GIT_STRACE_COMMANDS=/path/to/logfile` (which is sadly an often needed debugging technique while trying to address the many MSYS2 issues Git for Windows faces), any time the output of any command is redirected into a variable, it will include that `create_child: ...` line, wreaking havoc with Git's expectations. So let's just really be quiet when we're asked to be quiet. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Configuration menu - View commit details
-
Copy full SHA for d43f1ee - Browse repository at this point
Copy the full SHA d43f1eeView commit details -
path_conv: special-case root directory to have trailing slash
When converting `/c/` to `C:\`, the trailing slash is actually really necessary, as `C:` is not an absolute path. We must be very careful to do this only for root directories, though. If we kept the trailing slash also for, say, `/y/directory/`, we would run into the following issue: On FAT file systems, the normalized path is used to fake inode numbers. As a result, `Y:\directory\` and `Y:\directory` have different inode numbers!!! This would result in very non-obvious symptoms. Back when we were too careless about keeping the trailing slash, it was reported to the Git for Windows project that the `find` and `rm` commands can error out on FAT file systems with very confusing "No such file or directory" errors, for no good reason. During the original investigation, Vasil Minkov pointed out in git-for-windows/git#1497 (comment), that this bug had been fixed in Cygwin as early as 1997... and the bug was unfortunately reintroduced into early MSYS2 versions. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Configuration menu - View commit details
-
Copy full SHA for 0053f7b - Browse repository at this point
Copy the full SHA 0053f7bView commit details -
When converting to a Unix path, avoid double trailing slashes
When calling `cygpath -u C:/msys64/` in an MSYS2 setup that was installed into `C:/msys64/`, the result should be `/`, not `//`. Let's ensure that we do not append another trailing slash if the converted path already ends in a slash. This fixes msys2/msys2-runtime#112 Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Configuration menu - View commit details
-
Copy full SHA for 1e8a891 - Browse repository at this point
Copy the full SHA 1e8a891View commit details -
msys2_path_conv: pass PC_NOFULL to path_conv
In theory this doesn't make a difference because posix_to_win32_path() is only called with rooted/absolute paths, but as pointed out in msys2/msys2-runtime#103 PC_NOFULL will preserve the trailing slash of unix paths (for some reason). See "cygpath -m /bin/" (preserved) vs "cygpath -am /bin/" (dropped) One use case where we need to trailing slashes to be preserved is the GCC build system: https://github.com/gcc-mirror/gcc/blob/6d82e0fea5f988e829912a/gcc/Makefile.in#L2314 The Makefile appends a slash to the prefixes and the C code doing relocation will treat the path as a directory if there is a trailing slash. See msys2/MINGW-packages#14173 for details. With this change all our MSYS2 path_conv tests pass again.
Configuration menu - View commit details
-
Copy full SHA for 673065d - Browse repository at this point
Copy the full SHA 673065dView commit details -
path-conversion: Introduce ability to switch off conversion.
When calling windows native apps from MSYS2, the runtime tries to convert commandline arguments by a specific set of rules. This idea was inherited from the MSys/MinGW project (which is now seemingly stale, yet must be credited with championing this useful feature, see MinGW wiki https://web.archive.org/web/20201112005258/http://www.mingw.org/wiki/Posix_path_conversion). If the user does not want that behavior on a big scale, e.g. inside a Bash script, with the changes introduced in this commit, the user can now set the the environment variable `MSYS_NO_PATHCONV` when calling native windows commands. This is a feature that has been introduced in Git for Windows via git-for-windows#11 and it predates support for the `MSYS2_ENV_CONV_EXCL` and `MSYS2_ARG_CONV_EXCL` environment variables in the MSYS2 runtime; Many users find the simplicity of `MSYS_NO_PATHCONV` appealing. So let's teach MSYS2 proper this simple trick that still allows using the sophisticated `MSYS2_*_CONV_EXCL` facilities but also offers a convenient catch-all "just don't convert anything" knob. Signed-off-by: 마누엘 <nalla@hamal.uberspace.de> Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Configuration menu - View commit details
-
Copy full SHA for e1db148 - Browse repository at this point
Copy the full SHA e1db148View commit details -
dcrt0.cc: Untangle allow_glob from winshell
Otherwise if globbing is allowed and we get called from a Windows program, build_argv thinks we've been called from a Cygwin program.
Configuration menu - View commit details
-
Copy full SHA for f6e516d - Browse repository at this point
Copy the full SHA f6e516dView commit details -
dcrt0.cc (globify): Don't quote literal strings differently when dos_…
…spec Reverts 25ba8f3. I can't figure out what the intention was. I'm sure I'll find out soon enough when everything breaks. This change means that input of: '"C:/test.exe SOME_VAR=\"literal quotes\""' becomes: 'C:/test.exe SOME_VAR="literal quotes"' instead of: 'C:/test.exe SOME_VAR=\literal quotes\' .. which is at least consistent with the result for: '"no_drive_or_colon SOME_VAR=\"literal quotes\""' The old result of course resulted in the quoted string being split into two arguments at the space which is clearly not intended. I *guess* backslashes in dos paths may have been the issue here? If so I don't care since we should not use them, ever, esp. not at the expense of sensible forward-slash-containing input.
Configuration menu - View commit details
-
Copy full SHA for 1059fbb - Browse repository at this point
Copy the full SHA 1059fbbView commit details -
Configuration menu - View commit details
-
Copy full SHA for f8da08f - Browse repository at this point
Copy the full SHA f8da08fView commit details -
environ.cc: New facility/environment variable MSYS2_ENV_CONV_EXCL
Works very much like MSYS2_ARG_CONV_EXCL. In fact it uses the same function, arg_heuristic_with_exclusions (). Also refactors parsing the env. variables to use new function, string_split_delimited (). The env. that is searched through is the merged (POSIX + Windows) one. It remains to be seen if this should be made an option or not. This feature was prompted because the R language (Windows exe) calls bash to run configure.win, which then calls back into R to read its config variables (LOCAL_SOFT) and when this happens, msys2-runtime converts R_ARCH from "/x64" to an absolute Windows path and appends it to another absolute path, R_HOME, forming an invalid path.
Configuration menu - View commit details
-
Copy full SHA for 03d6fe1 - Browse repository at this point
Copy the full SHA 03d6fe1View commit details -
Configuration menu - View commit details
-
Copy full SHA for 90d66ee - Browse repository at this point
Copy the full SHA 90d66eeView commit details -
Introduce the
enable_pcon
value forMSYS
It is simply the negation of `disable_pcon`, i.e. `MSYS=enable_pcon` is equivalent to `MSYS=nodisable_pcon` (the former is slightly more intuitive than the latter) and likewise `MSYS=noenable_pcon` is equivalent to `MSYS=disable_pcon` (here, the latter is definitely more intuitive than the former). This is needed because we just demoted the pseudo console feature to be opt-in instead of opt-out, and it would be awkward to recommend to users to use "nodisable_pcon"... "nodisable" is not even a verb. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Configuration menu - View commit details
-
Copy full SHA for 7b84fed - Browse repository at this point
Copy the full SHA 7b84fedView commit details -
popen: call /usr/bin/sh instead of /bin/sh
We mount /usr/bin to /bin, but in a chroot this is broken and we have no /bin, so try to use the real path. chroot is used by pacman to run install scripts when called with --root and this broke programs in install scripts calling popen() (install-info from texinfo for example) There are more paths hardcoded to /bin in cygwin which might also be broken in this scenario, so this maybe should be extended to all of them.
Configuration menu - View commit details
-
Copy full SHA for 6f87e23 - Browse repository at this point
Copy the full SHA 6f87e23View commit details -
Disable the 'cygwin' GitHub workflow
It does not work at all. For example, `rpm -E %fedora` says that there should be version 33 of rpmsphere at https://github.com/rpmsphere/noarch/tree/master/r, but there is only version 32. Another thing that is broken: Cygwin now assumes that a recent mingw-w64-headers version is available, but Fedora apparently only offers v7.0.0, which is definitely too old to accommodate for the expectation of cygwin/cygwin@c1f7c4d1b6d7. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Configuration menu - View commit details
-
Copy full SHA for df7a56e - Browse repository at this point
Copy the full SHA df7a56eView commit details -
CI: add a GHA for doing a basic build test
Build with --disable-dependency-tracking because we only build once and this saves 3-4 minutes in CI.
Configuration menu - View commit details
-
Copy full SHA for cf56ccd - Browse repository at this point
Copy the full SHA cf56ccdView commit details -
Configuration menu - View commit details
-
Copy full SHA for 083c245 - Browse repository at this point
Copy the full SHA 083c245View commit details -
Set up a GitHub Action to keep in sync with Cygwin
This will help us by automating an otherwise tedious task. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Configuration menu - View commit details
-
Copy full SHA for 91f46df - Browse repository at this point
Copy the full SHA 91f46dfView commit details -
Expose full command-lines to other Win32 processes by default
In the Cygwin project, it was decided that the command-line of Cygwin processes, as shown in the output of `wmic process list`, would suffer from being truncated to 32k (and is transmitted to the child process via a different mechanism, anyway), and therefore only the absolute path of the executable is shown by default. Users who would like to see the full command-line (even if it is truncated) are expected to set `CYGWIN=wincmdln` (or, in MSYS2's case, `MSYS=wincmdln`). Seeing as MSYS2 tries to integrate much better with the surrounding Win32 ecosystem than Cygwin, it makes sense to turn this on by default. Users who wish to suppress it can still set `MSYS=nowincmdln`. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Configuration menu - View commit details
-
Copy full SHA for 4dd6aad - Browse repository at this point
Copy the full SHA 4dd6aadView commit details -
Add a helper to obtain a function's address in kernel32.dll
In particular, we are interested in the address of the CtrlRoutine and the ExitProcess functions. Since kernel32.dll is loaded first thing, the addresses will be the same for all processes (matching the CPU architecture, of course). This will help us with emulating SIGINT properly (by not sending signals to *all* processes attached to the same Console, as GenerateConsoleCtrlEvent() would do). Co-authored-by: Naveen M K <naveen@syrusdark.website> Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Configuration menu - View commit details
-
Copy full SHA for 6ef58ed - Browse repository at this point
Copy the full SHA 6ef58edView commit details -
Emulate GenerateConsoleCtrlEvent() upon Ctrl+C
This patch is heavily inspired by the Git for Windows' strategy in handling Ctrl+C. When a process is terminated via TerminateProcess(), it has no chance to do anything in the way of cleaning up. This is particularly noticeable when a lengthy Git for Windows process tries to update Git's index file and leaves behind an index.lock file. Git's idea is to remove the stale index.lock file in that case, using the signal and atexit handlers available in Linux. But those signal handlers never run. Note: this is not an issue for MSYS2 processes because MSYS2 emulates Unix' signal system accurately, both for the process sending the kill signal and the process receiving it. Win32 processes do not have such a signal handler, though, instead MSYS2 shuts them down via `TerminateProcess()`. For a while, Git for Windows tried to use a gentler method, described in the Dr Dobb's article "A Safer Alternative to TerminateProcess()" by Andrew Tucker (July 1, 1999), http://www.drdobbs.com/a-safer-alternative-to-terminateprocess/184416547 Essentially, we injected a new thread into the running process that does nothing else than running the ExitProcess() function. However, this was still not in line with the way CMD handles Ctrl+C: it gives processes a chance to do something upon Ctrl+C by calling SetConsoleCtrlHandler(), and ExitProcess() simply never calls that handler. So for a while we tried to handle SIGINT/SIGTERM by attaching to the console of the command to interrupt, and generating the very same event as CMD does via GenerateConsoleCtrlEvent(). This method *still* was not correct, though, as it would interrupt *every* process attached to that Console, not just the process (and its children) that we wanted to signal. A symptom was that hitting Ctrl+C while `git log` was shown in the pager would interrupt *the pager*. The method we settled on is to emulate what GenerateConsoleCtrlEvent() does, but on a process by process basis: inject a remote thread and call the (private) function kernel32!CtrlRoutine. To obtain said function's address, we use the dbghelp API to generate a stack trace from a handler configured via SetConsoleCtrlHandler() and triggered via GenerateConsoleCtrlEvent(). To avoid killing each and all processes attached to the same Console as the MSYS2 runtime, we modify the cygwin-console-helper to optionally print the address of kernel32!CtrlRoutine to stdout, and then spawn it with a new Console. Note that this also opens the door to handling 32-bit process from a 64-bit MSYS2 runtime and vice versa, by letting the MSYS2 runtime look for the cygwin-console-helper.exe of the "other architecture" in a specific place (we choose /usr/libexec/, as it seems to be the convention for helper .exe files that are not intended for public consumption). The 32-bit helper implicitly links to libgcc_s_dw2.dll and libwinpthread-1.dll, so to avoid cluttering /usr/libexec/, we look for the helped of the "other" architecture in the corresponding mingw32/ or mingw64/ subdirectory. Among other bugs, this strategy to handle Ctrl+C fixes the MSYS2 side of the bug where interrupting `git clone https://...` would send the spawned-off `git remote-https` process into the background instead of interrupting it, i.e. the clone would continue and its progress would be reported mercilessly to the console window without the user being able to do anything about it (short of firing up the task manager and killing the appropriate task manually). Note that this special-handling is only necessary when *MSYS2* handles the Ctrl+C event, e.g. when interrupting a process started from within MinTTY or any other non-cmd-based terminal emulator. If the process was started from within `cmd.exe`'s terminal window, child processes are already killed appropriately upon Ctrl+C, by `cmd.exe` itself. Also, we can't trust the processes to end it's subprocesses upon receiving Ctrl+C. For example, `pip.exe` from `python-pip` doesn't kill the python it lauches (it tries to but fails), and I noticed that in cmd it kills python also correctly, which mean we should kill all the process using `exit_process_tree`. Co-authored-by: Naveen M K <naveen@syrusdark.website> Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Configuration menu - View commit details
-
Copy full SHA for 38a8880 - Browse repository at this point
Copy the full SHA 38a8880View commit details -
kill: kill Win32 processes more gently
This change is the equivalent to the change to the Ctrl+C handling we just made. Co-authored-by: Naveen M K <naveen@syrusdark.website> Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Configuration menu - View commit details
-
Copy full SHA for b9d1fad - Browse repository at this point
Copy the full SHA b9d1fadView commit details -
Cygwin: make option for native inner link handling.
This code has been causing issues with SUBST and mapped network drives, so add an option (defaulted to on) which can be used to disable it where needed. MSYS=nonativeinnerlinks
Configuration menu - View commit details
-
Copy full SHA for 715f6ce - Browse repository at this point
Copy the full SHA 715f6ceView commit details -
docs: skip building texinfo and PDF files
The MSYS2 packages lack the infrastructure to build those. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Configuration menu - View commit details
-
Copy full SHA for abeeb31 - Browse repository at this point
Copy the full SHA abeeb31View commit details -
install-libs: depend on the "toollibs"
Before symlinking libg.a, we need the symlink source `libmsys-2.0.a`: in MSYS2, we copy by default (if we were creating Unix-style symlinks, the target would not have to exist before symlinking, but when copying we do need the source _right away_). Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Configuration menu - View commit details
-
Copy full SHA for fbe8ae3 - Browse repository at this point
Copy the full SHA fbe8ae3View commit details -
When calling a non-MSys2 binary, all of the environment is converted from POSIX to Win32, including the SHELL environment variable. In Git for Windows, for example, `SHELL=/usr/bin/bash` is converted to `SHELL=C:\Program Files\Git\usr\bin\bash.exe` when calling the `git.exe` binary. This is appropriate because non-MSys2 binaries would not handle POSIX paths correctly. Under certain circumstances, however, `git.exe` calls an *MSys2* binary in turn, such as `git config --edit` calling `vim.exe` unless Git is configured to use another editor specifically. Now, when this "improved vi" calls shell commands, it uses that $SHELL variable *without quoting*, resulting in a nasty error: C:\Program: No such file or directory Many other programs behave in the same manner, assuming that $SHELL does not contain spaces and hence needs no quoting, unfortunately including some of Git's own scripts. Therefore let's make sure that $SHELL gets "posified" again when entering MSys2 programs. Earlier attempts by Git for Windows contributors claimed that adding `SHELL` to the `conv_envvars` array does not have the intended effect. These reports just missed that the `conv_start_chars` array (which makes the code more performant) needs to be adjusted, too. Note that we set the `immediate` flag to `true` so that the environment variable is set immediately by the MSys2 runtime, i.e. not only spawned processes will see the POSIX-ified `SHELL` variable, but the MSys2 runtime *itself*, too. This fixes git-for-windows/git#542, git-for-windows/git#498, and git-for-windows/git#468. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Configuration menu - View commit details
-
Copy full SHA for 38abc7c - Browse repository at this point
Copy the full SHA 38abc7cView commit details -
Handle ORIGINAL_PATH just like PATH
MSYS2 recently introduced that hack where the ORIGINAL_PATH variable is set to the original PATH value in /etc/profile, unless previously set. In Git for Windows' default mode, that ORIGINAL_PATH value is the used to define the PATH variable explicitly. So far so good. The problem: when calling from inside an MSYS2 process (such as Bash) a MINGW executable (such as git.exe) that then calls another MSYS2 executable (such as bash.exe), that latter call will try to re-convert ORIGINAL_PATH after the previous call converted ORIGINAL_PATH from POSIX to Windows paths. And this conversion may very well fail, e.g. when the path list contains mixed semicolons and colons. So let's just *force* the MSYS2 runtime to handle ORIGINAL_PATH in the same way as the PATH variable (which conversion works, as we know). Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Configuration menu - View commit details
-
Copy full SHA for 9c758e8 - Browse repository at this point
Copy the full SHA 9c758e8View commit details -
uname: allow setting the system name to CYGWIN
We are currently trying to move our cygwin build environment closer to cygwin and some autotools/bash based build systems call "uname -s" to figure out the OS and in many cases only handle the cygwin case, so we have to patch them. With this instead of patching we can set MSYSTEM=CYGWIN and change uname output that way. The next step would be to always output CYGWIN in an msys env by default, but for now this allows us to get rid of all the patches without affecting users.
Configuration menu - View commit details
-
Copy full SHA for 312f766 - Browse repository at this point
Copy the full SHA 312f766View commit details -
Pass environment variables with empty values
There is a difference between an empty value and an unset environment variable. We should not confuse both; If the user wants to unset an environment variable, they can certainly do so (unsetenv(3), or in the shell: 'unset ABC'). This fixes Git's t3301-notes.sh, which overrides environment variables with empty values. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Configuration menu - View commit details
-
Copy full SHA for e19af20 - Browse repository at this point
Copy the full SHA e19af20View commit details -
Optionally disallow empty environment values again
We just disabled the code that skips environment variables whose values are empty. However, this code was introduced a long time ago into Cygwin in d6b1ac7 (* environ.cc (build_env): Don't put an empty environment variable into the environment. Optimize use of "len". * errno.cc (ERROR_MORE_DATA): Translate to EMSGSIZE rather than EAGAIN., 2006-09-07), seemingly without any complaints. Meaning: There might very well be use cases out there where it makes sense to skip empty-valued environment variables. Therefore, it seems like a good idea to have a "knob" to turn it back on. With this commit, we introduce such a knob: by setting `noemptyenvvalues` the `MSYS` variable (or appending it if that variable is already set), users can tell the MSYS2 runtime to behave just like in the olden times. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Configuration menu - View commit details
-
Copy full SHA for 4deb751 - Browse repository at this point
Copy the full SHA 4deb751View commit details -
build_env(): respect the
MSYS
environment variableWith this commit, you can call MSYS=noemptyenvvalues my-command and it does what is expected: to pass no empty-valued environment variables to `my-command`. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Configuration menu - View commit details
-
Copy full SHA for a1f282d - Browse repository at this point
Copy the full SHA a1f282dView commit details -
Revert "Cygwin: Enable dynamicbase on the Cygwin DLL by default"
This reverts commit 943433b. This seems to fix fork errors under Docker, see https://cygwin.com/pipermail/cygwin/2022-December/252711.html
Configuration menu - View commit details
-
Copy full SHA for d1b382b - Browse repository at this point
Copy the full SHA d1b382bView commit details -
CI: set -Wno-error=maybe-uninitialized
After the update of msys2-w32api from v11.0.1 to current master (and soon to be v12) we get: winsup/cygwin/exceptions.cc:1736:33: error: '<anonymous>' may be used uninitialized [-Werror=maybe-uninitialized] Ignore it like the rest. Fixes #214
Configuration menu - View commit details
-
Copy full SHA for 997f6f3 - Browse repository at this point
Copy the full SHA 997f6f3View commit details -
Avoid sharing cygheaps across Cygwin versions
It frequently leads to problems when trying, say, to call from MSYS2's Bash into Cygwin's or Git for Windows', merely because sharing that data is pretty finicky. For example, using the MSYS2' Bash using the MSYS2 runtime version that is current at time of writing, trying to call Cygwin's programs fails in manners like this: $ /c/cygwin64/bin/uname -r 0 [main] uname (9540) child_copy: cygheap read copy failed, 0x800000000..0x800010BE0, done 0, windows pid 9540, Win32 error 6 680 [main] uname 880 C:\cygwin64\bin\uname.exe: *** fatal error - couldn't create signal pipe, Win32 error 5 with the rather misleading exit code 127 (a code which is reserved to indicate that a command was not found). Let's just treat the MSYS2 runtime and the Cygwin runtime as completely incompatible with one another, by virtue of using a different magic constant than merely `CHILD_INFO_MAGIC`. By using the msys2-runtime commit to modify that magic constant, we can even spawn programs using a different MSYS2 runtime (such as Git for Windows') because the commit serves as the tell-tale whether two MSYS2 runtime versions are compatible with each other. To support building in the MSYS2-packages repository (where we do not check out the `msys2-runtime` but instead check out Cygwin and apply patches on top), let's accept a hard-coded commit hash as `./configure` option. One consequence is that spawned MSYS processes using a different MSYS2 runtime will not be visible as such to the parent process, i.e. they cannot share any resources such as pseudo terminals. But that's okay, they are simply treated as if they were regular Win32 programs. Note: We have to use a very rare form of encoding the brackets in the `expr` calls: quadrigraphs (for a thorough explanation, see https://www.gnu.org/savannah-checkouts/gnu/autoconf/manual/autoconf-2.70/html_node/Quadrigraphs.html#Quadrigraphs). This is necessary because it is apparently impossible to encode brackets in `configure.ac` files otherwise. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Configuration menu - View commit details
-
Copy full SHA for e347515 - Browse repository at this point
Copy the full SHA e347515View commit details -
uname: report msys2-runtime commit hash, too
Having just Cygwin's version in the output of `uname` is not helpful, as both MSYS2 as well as Git for Windows release intermediate versions of the MSYS2 runtime much more often than Cygwin runtime versions are released. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Configuration menu - View commit details
-
Copy full SHA for dd9d970 - Browse repository at this point
Copy the full SHA dd9d970View commit details
Commits on Aug 30, 2024
-
Start the merging-rebase to cygwin-3.5.4
This commit starts the rebase of 00605d0 to 022cf7285c
Configuration menu - View commit details
-
Copy full SHA for 886813e - Browse repository at this point
Copy the full SHA 886813eView commit details
Commits on Sep 3, 2024
-
Cygwin: pipe: Fix a regression that raw_write() slows down
After the commit 7f3c22532577, writing to pipe extremely slows down. This is because cygwait(select_sem, 10, cw_cancel) is called even when write operation is already completed. With this patch, the cygwait() is called only if the write operation is not completed. Backported-from: 37ab3e0d55 (Cygwin: pipe: Fix a regression that raw_write() slows down, 2024-09-01) Addresses: https://cygwin.com/pipermail/cygwin/2024-August/256398.html Fixes: 7f3c22532577 ("Cygwin: pipe: handle signals explicitely in raw_write") Reported-by: Jim Reisert AD1C <jjreisert@alum.mit.edu> Reviewed-by: Corinna Vinschen <corinna@vinschen.de> Signed-off-by: Takashi Yano <takashi.yano@nifty.ne.jp> Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Configuration menu - View commit details
-
Copy full SHA for 2bfb773 - Browse repository at this point
Copy the full SHA 2bfb773View commit details
Commits on Sep 18, 2024
-
Seeing as Git for Windows tries to stay close to the upstream MSYS2 project, it makes sense to integrate their patches verbatim. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Configuration menu - View commit details
-
Copy full SHA for fe5797d - Browse repository at this point
Copy the full SHA fe5797dView commit details -
fixup!!! CI: add a GHA for doing a basic build test
This updates a GitHub Action's version to stay up to date. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Configuration menu - View commit details
-
Copy full SHA for c325a46 - Browse repository at this point
Copy the full SHA c325a46View commit details -
Handle 8-bit characters under LOCALE=C
Even when the character set is specified as ASCII, we should handle data outside the 7-bit range gracefully by simply copying it, even if it is technically no longer ASCII. This fixes several of Git for Windows' tests, e.g. t7400. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Configuration menu - View commit details
-
Copy full SHA for 3cf583c - Browse repository at this point
Copy the full SHA 3cf583cView commit details -
Bump actions/checkout from 2 to 4
Bumps [actions/checkout](https://github.com/actions/checkout) from 2 to 4. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](actions/checkout@v2...v4) --- updated-dependencies: - dependency-name: actions/checkout dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com>
Configuration menu - View commit details
-
Copy full SHA for 23958eb - Browse repository at this point
Copy the full SHA 23958ebView commit details -
Mention the extremely useful small_printf() function
It came in real handy while debugging an issue that strace 'fixed'. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Configuration menu - View commit details
-
Copy full SHA for 51d19bb - Browse repository at this point
Copy the full SHA 51d19bbView commit details -
dependabot: help keeping GitHub Actions versions up to date
See https://docs.github.com/en/code-security/dependabot/working-with-dependabot/keeping-your-actions-up-to-date-with-dependabot#enabling-dependabot-version-updates-for-actions for details. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Configuration menu - View commit details
-
Copy full SHA for 699c573 - Browse repository at this point
Copy the full SHA 699c573View commit details -
Fixed path converting with non ascii char.
When a non ascii char is at the beginning of a path the current conversion destroys the path. This fix will prevent this with an extra check for non-ascii UTF-8 characters. Helped-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: 마누엘 <nalla@hamal.uberspace.de>
Configuration menu - View commit details
-
Copy full SHA for 885c2fa - Browse repository at this point
Copy the full SHA 885c2faView commit details -
Do not try to sync with Cygwin
This is a forked repository... Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Configuration menu - View commit details
-
Copy full SHA for 76c8b24 - Browse repository at this point
Copy the full SHA 76c8b24View commit details -
Make paths' WCS->MBS conversion explicit
* dcrt0.cc (dll_crt0_1), dtable.cc (handle_to_fn), environ.cc (environ_init, getwinenveq, build_env), external.cc (fillout_pinfo), fhandler_disk_file.cc (__DIR_mounts::eval_ino, fhandler_disk_file::readdir_helper), fhandler_netdrive.cc (fhandler_netdrive::readdir), fhandler_process.cc (format_process_winexename, format_process_maps, format_process_stat, format_process_status), fhandler_procsys.cc (fill_filebuf, fhandler_procsys::readdir), mount.cc (fs_info::update, mount_info::create_root_entry, mount_info::conv_to_posix_path, mount_info::from_fstab_line), nlsfuncs.cc (internal_setlocale), path.cc (path_conv::check, sysmlink_info::check_shortcut, symlink_info::check_sysfile, symlink_info::check_reparse_point, symlink_info::check_nfs_symlink, cygwin_conv_path, cygwin_conv_path_list, cwdstuff::get_error_desc, cwdstuff::get), strfuncs.cc (sys_wcstombs_no_path, sys_wcstombs_alloc_no_path), uinfo.cc (ontherange, fetch_from_path, cygheap_pwdgrp::get_home, cygheap_pwdgrp::get_shell, cygheap_pwdgrp::get_gecos), wchar.h (sys_wcstombs_no_path, sys_wcstombs_alloc_no_path): Convert call sites of the sys_wcstombs*() family to specify explicitly when the parameter refers to a path or file name, to avoid future misconversions. Detailed explanation: The sys_wcstombs() function contains special handling for paths/file names, to work around file name restriction on Windows that are unexpected in the POSIX context of Cygwin. We actually do not want that special handling for WCS strings that do *not* refer to paths or file names. Neither do we want to convert those special file names unless they come from inside Cygwin: if the source of the string value is the Windows API, we *know* it cannot be such a special file name because Windows itself would not be able to handle it in the way Cygwin does. So let's switch the previous sys_wcstombs()/sys_wcstombs_no_path() (and the *_alloc* variant) around to sys_wcstombs_path()/sys_wcstombs(). We do this for several reasons: - whenever a call site wants to convert a WCS representation of a path or file name to an MBS one, it should be made very clear that we *want* the special file name conversion to happen. - it is shorter to read and write. - future calls to sys_wcstombs() will not incur unwanted conversion by accident (it is easy for unsuspecting programmers to assume that the function name "sys_wcstombs()" refers to a regular text conversion that has nothing to do with paths or filenames). By keeping the name sys_wcstombs() (and not switching to sys_wcstombs_path()), the following call sites are implicitly changed to *exclude* the special path/file name conversion: cygheap.h (get_drive): Cannot contain special characters external.cc (cygwin_internal): Refers to user/domain names, not paths fhandler_clipboard.cc (fhandler_dev_clipboard::read): Is not a path or file name but characters from the Windows clipboard fhandler_console.cc: (dev_console::con_to_str): Is not a path or file name but characters from the console fhandler_registry.cc (encode_regname): Is a registry key, not a path or filename fhandler_registry.cc (multi_wcstombs): All call sites pass registry values, not paths or filenames fhandler_registry.cc (fstat): Is a registry value, not a path or filename fhandler_registry.cc (fill_filebuf): Is a registry value, not a path or filename net.cc (get_ipv4fromreg): Is a registry value, not a path or filename net.cc (get_friendlyname): Is a device name, not a path or filename netdb.cc (open_system_file): Is from outside Cygwin smallprint.cc (__small_vsprintf): Is a free text, not a path or filename strfuncs.cc (strlwr): Should preserve the characters from the private page if there are any strfuncs.cc (strupr): Should preserve the characters from the private page if there are any uinfo.cc (cygheap_user::init): Refers to a user name, not a path or filename uinfo.cc (pwdgrp::fetch_account_from_windows): Refers to value from outside Cygwin By keeping the function name sys_wcstombs_alloc() (and not changing it to sys_wcstombs_alloc_path()), the following call sites are implicitly changed to *exclude* the special path/file name conversion: ldap.cc (cyg_ldap::remap_uid): Refers to a user name, not a path or filename ldap.cc (cyg_ldap::remap_gid): Refers to a group name, not a path or filename pinfo.cc (_pinfo::cmdline): Refers to a command line from Windows, outside Cygwin uinfo.cc (cygheap_user::env_logsrv): Is a server name, not a path or filename uinfo.cc (cygheap_user::env_domain): Refers to the user/domain name, not a path or filename uinfo.cc (cygheap_user::env_userprofile): Refers to Windows' idea of a path, outside Cygwin uinfo.cc (cygheap_user::env_systemroot): Refers to Windows' idea of a path, outside Cygwin uinfo.cc (fetch_from_description): Refers to values from outside of Cygwin uinfo.cc (cygheap_pwdgrp::get_gecos): Refers to user/domain name and email address, not path nor filename Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Configuration menu - View commit details
-
Copy full SHA for 70b4715 - Browse repository at this point
Copy the full SHA 70b4715View commit details -
Allow native symlinks to non-existing targets in 'nativestrict' mode
Windows native symlinks must match the type of their target (file or directory), otherwise native Windows tools will fail. Creating symlinks in 'nativestrict' mode currently requires the target to exist in order to check its type. However, the target of a symlink can change at any time after the symlink has been created. Thus users of native symlinks must be prepared to deal with type mismatches anyway. Checking the target type at symlink creation time is not a good reason to violate the symlink() API specification. In 'nativestrict' mode, always create native symlinks. Choose the symlink type according to the target if it exists. Otherwise check the target path for a trailing '/' as hint to create a directory symlink. This allows callers to explicitly specify the expected target type, e.g.: $ ln -s test/ link-to-test $ mkdir test Signed-off-by: Karsten Blees <blees@dcon.de> Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Configuration menu - View commit details
-
Copy full SHA for 9614377 - Browse repository at this point
Copy the full SHA 9614377View commit details -
Use MB_CUR_MAX == 6 by default
Internally, Cygwin already uses __utf8_mbtowc(), even if it still claims to use the "ASCII" charset. But the `MB_CUR_MAX` value (which is not actually a constant, but dependent on the current locale) was still 1, which broke the initial `globify()` call while parsing the the command-line in `build_argv()` for non-ASCII arguments. This fixes git-for-windows/git#2189 Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Configuration menu - View commit details
-
Copy full SHA for 97cefff - Browse repository at this point
Copy the full SHA 97cefffView commit details -
Change the default base address for x86_64
This might break things, but it turns out several Windows libraries like to be loaded at 0x180000000. This causes a problem, because `msys-2.0.dll` loads at `0x180040000` and expects `0x180000000-0x180040000` to be available. A problem arises when Antiviruses (or other DLL hooking mechanisms) load a DLL whose preferred load address is `0x180000000` and fits in size before `0x180010000`: 1. `msys-2.0.dll` loads and fills `0x180010000-0x180040000` assuming no shared console structure is going to be needed. 2. Another DLL loads and fills `0x180000000-0x18000xxxx` 3. `msys-2.0.dll` tries to load `0x180000000-0x180010000` but it's not available. It falls back to another address, but down the line something else fails. This bug triggers when using subshells (e.g.: `git clone --recursive`). The MSYS2 runtime should be able to work around the address conflict, but the code is failing in some way or other... Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Mikael Larsson <95430516+chirpnot@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for 0472dec - Browse repository at this point
Copy the full SHA 0472decView commit details -
Merge pull request git-for-windows#1 from dscho/git-for-windows
Assorted fixes for Git for windows
Configuration menu - View commit details
-
Copy full SHA for 02f2b24 - Browse repository at this point
Copy the full SHA 02f2b24View commit details -
Merge pull request git-for-windows#10 from kblees/kb/symlinks
Allow native symlinks to non-existing targets in 'nativestrict' mode
Configuration menu - View commit details
-
Copy full SHA for 48ca2cf - Browse repository at this point
Copy the full SHA 48ca2cfView commit details -
This topic branch fixes the problem where a UTF-16 command-line was converted to UTF-8 in an incorrect way (because Cygwin treated it as if it was a file name and applied some magic that is intended to allow for otherwise invalid file names on Windows). Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Configuration menu - View commit details
-
Copy full SHA for 5ba33f7 - Browse repository at this point
Copy the full SHA 5ba33f7View commit details -
Merge pull request git-for-windows#37 from chirpnot/main
Workaround certain anti-malware programs Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Configuration menu - View commit details
-
Copy full SHA for 1ff1749 - Browse repository at this point
Copy the full SHA 1ff1749View commit details
Commits on Sep 25, 2024
-
Cygwin: console: Disable cons_master_thread in win32-input-mode
When win32-input-mode (which is supported by Windows Termainal) is set by "\033[?9001h", cons_master_thread does not work properly and consumes larger and larger memory space. This is because sending event by WriteConsoleInput() is translated into the sequence that is used by win32-input-mode. Due to this behaviour, write-back of the INPUT_RECORDs does not work as expected. With this patch, cons_master_thread is disabled on win32-input-mode where the signal keys such as Ctrl-C, Ctrl-Z etc. never comes. Backported-from: 68a14b66ff (Cygwin: console: Disable cons_master_thread in win32-input-mode, 2024-08-31) Addresses: https://cygwin.com/pipermail/cygwin/2024-August/256380.html Fixes: ff4440f ("Cygwin: console: Introduce new thread which handles input signal.") Reported-by: Adamyg Mob <adamyg.mob@gmail.com> Signed-off-by: Takashi Yano <takashi.yano@nifty.ne.jp> (cherry picked from commit 84d77e5918e18170c393407d477140fcf5d3e432) Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Configuration menu - View commit details
-
Copy full SHA for 900a410 - Browse repository at this point
Copy the full SHA 900a410View commit details -
Cygwin: pipe: Fix a regression that raw_write() slows down
After the commit 7f3c22532577, writing to pipe extremely slows down. This is because cygwait(select_sem, 10, cw_cancel) is called even when write operation is already completed. With this patch, the cygwait() is called only if the write operation is not completed. Backported-from: 37ab3e0d55 (Cygwin: pipe: Fix a regression that raw_write() slows down, 2024-09-01) Addresses: https://cygwin.com/pipermail/cygwin/2024-August/256398.html Fixes: 7f3c22532577 ("Cygwin: pipe: handle signals explicitely in raw_write") Reported-by: Jim Reisert AD1C <jjreisert@alum.mit.edu> Reviewed-by: Corinna Vinschen <corinna@vinschen.de> Signed-off-by: Takashi Yano <takashi.yano@nifty.ne.jp> (cherry picked from commit f78009cb1ccf84cc343cf2441c76196461d87532) Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Configuration menu - View commit details
-
Copy full SHA for 8854bb4 - Browse repository at this point
Copy the full SHA 8854bb4View commit details -
msys2-runtime: restore fast path for current user primary group
Commit a5bcfe6 removed an optimization that fetches the default group from the current user token, as it is sometimes not accurate such as when groups like the builtin Administrators group is the primary group. However, removing this optimization causes extremely poor performance when connected to some Active Directory environments. Restored this optimization as the default behaviour, and added a `group: db-accurate` option to `nsswitch.conf` that can be used to disable the optimization in cases where accurate group information is required. This fixes git-for-windows/git#4459 Signed-off-by: Richard Glidden <richard@glidden.org>
Configuration menu - View commit details
-
Copy full SHA for f4fb564 - Browse repository at this point
Copy the full SHA f4fb564View commit details -
Cygwin: pipe: Restore blocking mode of read pipe on close()/raw_read()
If a cygwin app is executed from a non-cygwin app and the cygwin app exits, the read pipe remains in the non-blocking mode because of the commit fc691d0246b9. Due to this behaviour, the non-cygwin app cannot read the pipe correctly after that. Similarly, if a non-cygwin app is executed from a cygwin app and the non-cygwin app exits, the read pipe remains in the blocking mode. With this patch, the blocking mode of the read pipe is stored into a variable was_blocking_read_pipe on set_pipe_non_blocking() when the cygwin app starts and restored on close(). In addition, the pipe mode is set to non-blocking mode in raw_read() if the mode is blocking mode by referring the variable is_blocking_read_pipe as well. is_blocking_read_pipe is a member of fhandler_pipe class and is set by set_pipe_non_blocking(), so if other process sets the pipe mode to blocking mode, the current process cannot know the pipe is blocking mode. Therefore, is_blocking_read_pipe is also set on the signal __SIGNONCYGCHLD, which is sent to the process group when non-cygwin app is started. Backported-from: c7fe29f5cb (Cygwin: pipe: Restore blocking mode of read pipe on close()/raw_read(), 2024-09-06) Addresses: git-for-windows/git#5115 Fixes: fc691d0246b9 ("Cygwin: pipe: Make sure to set read pipe non-blocking for cygwin apps."); Reported-by: isaacag, Johannes Schindelin <Johannes.Schindelin@gmx.de> Reviewed-by: Corinna Vinschen <corinna@vinschen.de>, Ken Brown <kbrown@cornell.edu> Signed-off-by: Takashi Yano <takashi.yano@nifty.ne.jp> Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Configuration menu - View commit details
-
Copy full SHA for 9d0d6e1 - Browse repository at this point
Copy the full SHA 9d0d6e1View commit details -
Merge pull request git-for-windows#57 from rglidden/main
msys2-runtime: restore fast path for current user primary group
Configuration menu - View commit details
-
Copy full SHA for faebbcd - Browse repository at this point
Copy the full SHA faebbcdView commit details -
Merge branch 'backports-from-cygwin-3_5-branch'
This includes the pull request git-for-windows#72 from dscho/restore-pipes-blocking-mode, and adds two more backported patches. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Configuration menu - View commit details
-
Copy full SHA for 1e8cf1a - Browse repository at this point
Copy the full SHA 1e8cf1aView commit details