Hello.

> Can you please explain how you're planning to go forward from here, so
we can all understand if and why this patch makes sense during bootstrap?

My intention is to upstream a minimum set of changes that would allow to build 
`cygwin1.dll` and `crt0.o`, respectively bootstrap either a Linux-based or 
Windows x64 Cygwin `aarch64-pc-cygwin` cross-compilation GNU toolchain. With 
the toolchain available and Cygwin build passing and tests running, the 
community can further contribute to the project while having CI checks to 
compare with.

One can check out what does this actually include in 
https://github.com/Windows-on-ARM-Experiments/newlib-cygwin/compare/woarm64...aarch64-patch-series1-v1
 branch where the commit messages have `SENT` prefix if the change has been 
already submitted to the mailing list, `TODO` prefix if some rework is needed 
and `SKIP` prefix if that change is there only to allow validation on our CI 
https://github.com/Windows-on-ARM-Experiments/newlib-cygwin/blob/woarm64/.github/workflows/cygwin.yml.

As you can see here 
https://github.com/Windows-on-ARM-Experiments/newlib-cygwin/actions/runs/16268410995/job/45929514517,
 with changes from that branch, the tests pass rate is already 216/287 that 
could serve as the baseline.

Nitpick: Currently, our CI is using an `aarch64-pc-cygwin` Ubuntu and Windows 
x64 Cygwin host cross-compilation GNU toolchains, pre-built from our 
development branch that contains everything we've done so far but once the 
above branch will be upstreamed there will be only minimum changes left on top 
of that.

In context of this patch, the only changes left to add to `gendef` to achieve 
such baseline results are in 
https://github.com/Windows-on-ARM-Experiments/newlib-cygwin/commit/c7e082d457e0b2a356d1fce169c2224b46e3a0af
 commit. They are surely incorrect in a sense of the full signals handling 
implementations as they are just relocating to the target symbol. I was going 
to submit them as a separate patches to open discussion whether such temporary 
implementations could be accepted. Nevertheless, IMO it's better to keep them 
as separate commits in the history. The full-features signals implementation is 
in progress but it will take some time to finish and it's actually not needed 
to bootstrap the cross-compilers and get some baseline test results.

Please, let me know if something deserves more explanation.

Radek

Reply via email to