-
Notifications
You must be signed in to change notification settings - Fork 5.3k
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
[Bug #20085] Use consistent default options for -mbranch-protection
#9371
[Bug #20085] Use consistent default options for -mbranch-protection
#9371
Conversation
We need to use the same options for both C compiler and assembler when `-mbranch-protection` is guessed by configure. Otherwise, `coroutine/arm64/Context.{h,S}` will use incompatible PAC strategies.
@kateinoigakukun I saw your comment "Unfortunately, we don't have a CI node that affects the issue" and wanted to say that it's possible to test this architecture using qemu, see for example https://github.com/sparklemotion/nokogiri/blob/34571990eaac1c95a3dea31fd8f31b6baa18df47/.github/workflows/ci.yml#L597-L617 I'm not sure where in the ruby github actions suite to place this, but the general idea would be: - run: |
docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
docker run --rm -v "$(pwd):/ruby" -w /ruby \
--platform=linux/arm64/v8 ubuntu:22.04 \
./script-to-build-and-test-ruby |
Build ruby with ruby/ruby#9371 patch
@flavorjones Thanks for your info :) |
When is this fix coming out? Would love not have to revert back to 3.2.2 unless necessary |
Notating this here since this PR is the first thing that comes up on a "Apple Silicon Docker Ruby 3.3.0" search. For anyone else having issues on Apple Silicon and Docker with Ruby 3.3.0, this is what I'm currently doing until the next release. This is just for my local development environment and I'll use
It definitely takes longer to do a fresh build locally, but at least it is a workaround until the patch is available in the mainstream Ruby docker images. |
We're having difficult building on Macs. Looks like that'll change in Ruby 3.3.1. Until then, let's try this workaround: ruby/ruby#9371 (comment)
We're getting some C library errors when we try to build Ruby 3.3.0 on apple processors. That's a problem becuase quite a few of our Tech Writers are using them. The issue is known to Ruby here[1], and they'll merge a fix as Ruby v3.3.1 reasonably soon. We can upgrade then. However until then ./preview-with-docker.sh is broken. This should resolve the issue. [1]: ruby/ruby#9371
We're getting some C library errors when we try to build Ruby 3.3.0 on apple processors. That's a problem becuase quite a few of our Tech Writers are using them. The issue is known to Ruby here[1], and they'll merge a fix as Ruby v3.3.1 reasonably soon. We can upgrade then. However until then ./preview-with-docker.sh is broken. This should resolve the issue. [1]: ruby/ruby#9371
Ruby 3.3.0 has a bug which crashs many practical programs on linux-aarch64. https://bugs.ruby-lang.org/issues/20085 This bug is fixed in upstream and planned to be backported, but no date is given yet for the 3.3.1 release. ruby/ruby#9371 This patch workarounds this bug by passing ASFLAGS to ./configure as described in https://bugs.ruby-lang.org/issues/20085#note-5 .
Ruby 3.3.0 has a bug which crashs many practical programs on linux-aarch64. https://bugs.ruby-lang.org/issues/20085 This bug is fixed in upstream and is planned to be backported, but no date is given yet for the 3.3.1 release. ruby/ruby#9371 This patch workarounds this bug by passing ASFLAGS to ./configure as described in https://bugs.ruby-lang.org/issues/20085#note-5 .
Ruby 3.3.0 has a bug which crashs many practical programs on linux-aarch64 (especially on Linux VMs on macOS, e.g. Docker Desktop). https://bugs.ruby-lang.org/issues/20085 This bug is fixed in upstream and is planned to be backported, but no date is given yet for the 3.3.1 release. ruby/ruby#9371 This patch workarounds this bug by passing ASFLAGS to ./configure as described in https://bugs.ruby-lang.org/issues/20085#note-5 .
Ruby 3.3.0 has a bug which crashs many practical programs on linux-aarch64 (especially on Linux VMs on macOS, e.g. Docker Desktop). https://bugs.ruby-lang.org/issues/20085 This bug is fixed in upstream and is planned to be backported, but no date is given yet for the 3.3.1 release. ruby/ruby#9371 This patch workarounds this bug by passing ASFLAGS to ./configure as described in https://bugs.ruby-lang.org/issues/20085#note-5 .
Ruby 3.3.0 has a bug which crashes many programs on arm64. https://bugs.ruby-lang.org/issues/20085 This bug is fixed in upstream (ruby/ruby#9371) and is planned to be backported, but no date is given yet for the 3.3.1 release. This patch workarounds this bug by applying the upstream fix/backport in ruby/ruby#9385 . Co-authored-by: Tianon Gravi <admwiggin@gmail.com>
Can be removed for 3.3.1. See https://bugs.ruby-lang.org/issues/20085 and ruby/ruby#9371
Can be removed for 3.3.1. See https://bugs.ruby-lang.org/issues/20085 and ruby/ruby#9371
3.3.0 has a critical build bug on ARM, which prevents developers on non-x86 from running the app through GOV.UK Docker (which builds Ruby from scratch instead of using prebuilt Ruby images). Downgrading until 3.3.1 is out. see: ruby/ruby#9371
We need to use the same options for both C compiler and assembler when
-mbranch-protection
is guessed by configure. Otherwise,coroutine/arm64/Context.{h,S}
will use incompatible PAC strategies.