From: nobu@...
Date: 2020-11-18T01:14:07+00:00
Subject: [ruby-core:100927] [Ruby master Bug#17021] "arm64" and "arm" are mixed in RbConfig on Apple silicon

Issue #17021 has been updated by nobu (Nobuyoshi Nakada).


I heard that config.guess claims it "arm", while `uname -m` reports "arm64".

First of all, $host_cpu and others are used only for cross-compilers and nonsense in the other cases.
Why do they matter?

----------------------------------------
Bug #17021: "arm64" and "arm" are mixed in RbConfig on Apple silicon
https://bugs.ruby-lang.org/issues/17021#change-88577

* Author: watson1978 (Shizuo Fujita)
* Status: Open
* Priority: Normal
* ruby -v: ruby 2.8.0dev (2020-07-09T09:14:53Z master addbb7d16e) [arm64-darwin20]
* Backport: 2.5: UNKNOWN, 2.6: UNKNOWN, 2.7: UNKNOWN
----------------------------------------
When I checked the value of `RbConfig::CONFIG` on the Apple silicon macOS,e I found "arm64" and "arm" are mixed as following.


```
$ ruby -v
ruby 2.8.0dev (2020-07-09T09:14:53Z master addbb7d16e) [arm64-darwin20]

$ ruby -e 'require "rbconfig"; pp RbConfig::CONFIG' | grep "arm"
  "/Users/watson/.rbenv/versions/2.8.0/include/ruby-2.8.0/vendor_ruby/arm64-darwin20",
  "/Users/watson/.rbenv/versions/2.8.0/include/ruby-2.8.0/site_ruby/arm64-darwin20",
  "/Users/watson/.rbenv/versions/2.8.0/include/ruby-2.8.0/arm64-darwin20",
  "/Users/watson/.rbenv/versions/2.8.0/lib/ruby/vendor_ruby/2.8.0/arm64-darwin20",
  "/Users/watson/.rbenv/versions/2.8.0/lib/ruby/site_ruby/2.8.0/arm64-darwin20",
  "/Users/watson/.rbenv/versions/2.8.0/lib/ruby/2.8.0/arm64-darwin20",
 "sitearch"=>"arm64-darwin20",
 "arch"=>"arm64-darwin20",
  "/Users/watson/.rbenv/versions/2.8.0/include/arm64-darwin20",
  "/Users/watson/.rbenv/versions/2.8.0/include/arm64-darwin20",
 "sitearchlibdir"=>"/Users/watson/.rbenv/versions/2.8.0/lib/arm64-darwin20",
 "archlibdir"=>"/Users/watson/.rbenv/versions/2.8.0/lib/arm64-darwin20",
  "/Users/watson/.rbenv/versions/2.8.0/lib/ruby/arm64-darwin20",
  "/Users/watson/.rbenv/versions/2.8.0/lib/ruby/arm64-darwin20",
  "Target: arm64-apple-darwin20.0.0\n" +
 "target_cpu"=>"arm64",
 "target"=>"arm64-apple-darwin20",
 "host_cpu"=>"arm",
 "host"=>"arm-apple-darwin20.0.0",
 "build_cpu"=>"arm",
 "build"=>"arm-apple-darwin20.0.0",
  "/Users/watson/.rbenv/versions/2.8.0/lib/ruby/2.8.0/arm64-darwin20",
 "topdir"=>"/Users/watson/.rbenv/versions/2.8.0/lib/ruby/2.8.0/arm64-darwin20"}
 ```
 
"target_cpu" indicates "arm64", however, "host_cpu" has "arm"...
 
I'd like to know whether this behavior is the right thing.




-- 
https://bugs.ruby-lang.org/

Unsubscribe: <mailto:ruby-core-request@ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>