Skip to content

Comments

Perform full MSYS2/MinGW update for build, -fstack-protector-strong - spec freeze#2718

Closed
MSP-Greg wants to merge 2 commits intoruby:masterfrom
MSP-Greg:full-appveyor-gcc
Closed

Perform full MSYS2/MinGW update for build, -fstack-protector-strong - spec freeze#2718
MSP-Greg wants to merge 2 commits intoruby:masterfrom
MSP-Greg:full-appveyor-gcc

Conversation

@MSP-Greg
Copy link
Contributor

@MSP-Greg MSP-Greg commented Dec 3, 2019

The current MSYS2/minGW gcc update in is not updating all gcc related packages.

- pacman -Syd --noconfirm --noprogressbar --needed mingw-w64-x86_64-binutils mingw-w64-x86_64-isl mingw-w64-x86_64-libiconv mingw-w64-x86_64-mpc mingw-w64-x86_64-gcc-libs mingw-w64-x86_64-windows-default-manifest mingw-w64-x86_64-winpthreads mingw-w64-x86_64-gcc

This PR updates all packages needed for gcc use in Ruby, similar to a new (or updated) MSYS2 install.

Doing so requires libssp use, otherwise build errors like undefined references to __*_chk will occur. See:
https://ci.appveyor.com/project/MSP-Greg/ruby/builds/29269011/job/krgmoi642srl63d2#L1054

Second commit adds -fstack-protector-strong to CFLAGS and LDFLAGS, which fixes the build errors.

But, that then causes a spec to freeze

C-API Thread function rb_thread_call_without_gvl
- runs a C function with the global lock unlocked
- runs a C function with the global lock unlocked and unlocks IO with the generic RUBY_UBF_IO

as noted in:
https://bugs.ruby-lang.org/issues/16265

vinistock pushed a commit to vinistock/ruby that referenced this pull request Dec 3, 2019
* Handle BasicObject in drb

Also fix a bug in rescue clause of any_to_s because sprintf
does not handle the %l modifier.

Fixes [Bug ruby#7833]

* Do not send a reply to the client if there is a connection error

This allows for normal TCP shutdown (fin-ack-fin-ack instead of
fin-ack-push-rst).

Patch from [email protected] (Pierre-Alexandre Meyer).

Fixes [Bug ruby#2339]

* Detect fork and do not reuse forked connections in drb

This associates each DRbConn with a pid, and if the pid changes,
it closes any DRbConns in the pool with a pid that no longer
matches.  This fixes DRb servers from sending messages intended
for one client to another client after forking.

Fixes [Bug ruby#2718]
Fixes [Bug ruby#14471]
@MSP-Greg MSP-Greg changed the title Perform full MSYS2/MinGW update for build - spec freeze Perform full MSYS2/MinGW update for build, -fstack-protector-strong - spec freeze Dec 4, 2019
@MSP-Greg MSP-Greg mentioned this pull request Dec 28, 2019
@k0kubun
Copy link
Member

k0kubun commented Dec 31, 2019

Thanks to you, we moved to GitHub Actions now.

@k0kubun k0kubun closed this Dec 31, 2019
@MSP-Greg MSP-Greg deleted the full-appveyor-gcc branch April 19, 2020 00:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants