<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ruby.git/win32/mkexports.rb, branch v4.0.4</title>
<subtitle>The Ruby Programming Language</subtitle>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/'/>
<entry>
<title>Use `IO.popen` instead of `IO.foreach` with pipe</title>
<updated>2025-11-07T12:57:24+00:00</updated>
<author>
<name>Nobuyoshi Nakada</name>
<email>nobu@ruby-lang.org</email>
</author>
<published>2025-11-07T12:57:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=41865bb6712a14ad1fc2e729316b4e2d8452babc'/>
<id>41865bb6712a14ad1fc2e729316b4e2d8452babc</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Revert to shell execution when invoking nm tool</title>
<updated>2025-08-03T14:43:58+00:00</updated>
<author>
<name>Lars Kanis</name>
<email>lars@greiz-reinsdorf.de</email>
</author>
<published>2025-08-03T07:18:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=dc10c92749d670d7e7e347b4d0f207a040bc94f5'/>
<id>dc10c92749d670d7e7e347b4d0f207a040bc94f5</id>
<content type='text'>
This reverts a change of commit b3598cf2a355497693bb66097edc156af3152e9b .
On Windows on ARM64 with LLVM the "NM" tool is called with a parameter like so:
```
  RbConfig::CONFIG["NM"] # =&gt; "llvm-nm --no-llvm-bc"
```

Therefore the command must be called with a shell string.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This reverts a change of commit b3598cf2a355497693bb66097edc156af3152e9b .
On Windows on ARM64 with LLVM the "NM" tool is called with a parameter like so:
```
  RbConfig::CONFIG["NM"] # =&gt; "llvm-nm --no-llvm-bc"
```

Therefore the command must be called with a shell string.
</pre>
</div>
</content>
</entry>
<entry>
<title>Win: Strip CRs from `cpp` and `nm` output</title>
<updated>2025-07-31T15:15:27+00:00</updated>
<author>
<name>Nobuyoshi Nakada</name>
<email>nobu@ruby-lang.org</email>
</author>
<published>2025-07-31T07:45:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=b3598cf2a355497693bb66097edc156af3152e9b'/>
<id>b3598cf2a355497693bb66097edc156af3152e9b</id>
<content type='text'>
The combination of mingw tools and cygin/msys2 ruby leaves CRs.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The combination of mingw tools and cygin/msys2 ruby leaves CRs.
</pre>
</div>
</content>
</entry>
<entry>
<title>[Bug #21255] Win32: Do not export `__declspec(selectany)` symbols</title>
<updated>2025-05-27T06:26:25+00:00</updated>
<author>
<name>Nobuyoshi Nakada</name>
<email>nobu@ruby-lang.org</email>
</author>
<published>2025-05-26T11:37:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=72bda0f981c7136f50254c433bbfb97a953f634b'/>
<id>72bda0f981c7136f50254c433bbfb97a953f634b</id>
<content type='text'>
```
x64-vcruntime140-ruby350.def : error LNK2001: unresolved external symbol Avx2WmemEnabledWeakValue
```
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
```
x64-vcruntime140-ruby350.def : error LNK2001: unresolved external symbol Avx2WmemEnabledWeakValue
```
</pre>
</div>
</content>
</entry>
<entry>
<title>Win32: Remove unreferenced COMDAT from object files</title>
<updated>2024-11-17T10:29:16+00:00</updated>
<author>
<name>Nobuyoshi Nakada</name>
<email>nobu@ruby-lang.org</email>
</author>
<published>2024-11-17T10:29:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=a6fe3feacdfce00f42aadd4880cba3b67ff9a5d4'/>
<id>a6fe3feacdfce00f42aadd4880cba3b67ff9a5d4</id>
<content type='text'>
Windows 11 SDK Version 10.0.26100.0 introduced a new internal inline
function in ucrt/corecrt_math.h.  Even it appears in object files and
will be included in the DEF file, it will be removed from the DLL and
result in a linker error.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Windows 11 SDK Version 10.0.26100.0 introduced a new internal inline
function in ucrt/corecrt_math.h.  Even it appears in object files and
will be included in the DEF file, it will be removed from the DLL and
result in a linker error.
</pre>
</div>
</content>
</entry>
<entry>
<title>Workaround for VC 19.42.34433 again</title>
<updated>2024-11-17T01:54:20+00:00</updated>
<author>
<name>Nobuyoshi Nakada</name>
<email>nobu@ruby-lang.org</email>
</author>
<published>2024-11-17T01:54:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=6588cc4e29074d7b0d3d78725769d2efba1c25ee'/>
<id>6588cc4e29074d7b0d3d78725769d2efba1c25ee</id>
<content type='text'>
Prefix underscore is already removed here.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Prefix underscore is already removed here.
</pre>
</div>
</content>
</entry>
<entry>
<title>Workaround for VC 19.42.34433</title>
<updated>2024-11-16T15:05:38+00:00</updated>
<author>
<name>Nobuyoshi Nakada</name>
<email>nobu@ruby-lang.org</email>
</author>
<published>2024-11-16T14:52:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=bc409f3fe3fab2e540f8630aced0655be68dfac3'/>
<id>bc409f3fe3fab2e540f8630aced0655be68dfac3</id>
<content type='text'>
Suddenly it began to add `_ucrt_int_to_float` by the recent version.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Suddenly it began to add `_ucrt_int_to_float` by the recent version.
</pre>
</div>
</content>
</entry>
<entry>
<title>mkexports.rb: Revert removed flip-flop</title>
<updated>2024-11-16T13:46:26+00:00</updated>
<author>
<name>Nobuyoshi Nakada</name>
<email>nobu@ruby-lang.org</email>
</author>
<published>2024-11-16T13:46:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=7be4c0a88d4aefe652a17e82f8b823a342809039'/>
<id>7be4c0a88d4aefe652a17e82f8b823a342809039</id>
<content type='text'>
This reverts commit 63ae1e3cb5d302e5229143c00152328166d26780.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This reverts commit 63ae1e3cb5d302e5229143c00152328166d26780.
</pre>
</div>
</content>
</entry>
<entry>
<title>windows-arm64 support (#8995)</title>
<updated>2023-11-23T08:17:28+00:00</updated>
<author>
<name>Pierrick Bouvier</name>
<email>101587250+pbo-linaro@users.noreply.github.com</email>
</author>
<published>2023-11-23T08:17:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=784fdecc4c9f6ba9a8fc872518872ed6bdbc6670'/>
<id>784fdecc4c9f6ba9a8fc872518872ed6bdbc6670</id>
<content type='text'>
* [win32] fix compilation for windows-arm64

Credits to MSYS2 Ruby package using this patch.

* [win32] nm use full options

Fix compilation error when using MSYS2 environment.
Credits to MSYS2 Ruby package using this patch.

* [win32] detect llvm-windres (used for windows-arm64)

When adding preprocessor option for llvm-windres (using clang as
parameter), it fails. Thus, do not add this.

It's needed to be able to compile windows-arm64 version, because MSYS2
toolchain is LLVM based (instead of GCC/binutils).

* [win32] pioinfo detection for windows-arm64

This fixes "unexpected ucrtbase.dll" for native windows-arm64 ruby
binary. It does not solve issue with x64 version emulated on this
platform.

Value of pioinfo pointer can be found in ucrtbase.dll at latest adrp/add
sequence before return of _isatty function. This works for both release
and debug ucrt.

Due to the nature of aarch64 ISA (vs x86 or x64), it's needed to
disassemble instructions to retrieve offset value, which is a bit more
complicated than matching specific string patterns.

Details about adrp/add usage can be found in this blog post:
https://devblogs.microsoft.com/oldnewthing/20220809-00/?p=106955
For instruction decoding, the Arm documentation was used as a reference.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* [win32] fix compilation for windows-arm64

Credits to MSYS2 Ruby package using this patch.

* [win32] nm use full options

Fix compilation error when using MSYS2 environment.
Credits to MSYS2 Ruby package using this patch.

* [win32] detect llvm-windres (used for windows-arm64)

When adding preprocessor option for llvm-windres (using clang as
parameter), it fails. Thus, do not add this.

It's needed to be able to compile windows-arm64 version, because MSYS2
toolchain is LLVM based (instead of GCC/binutils).

* [win32] pioinfo detection for windows-arm64

This fixes "unexpected ucrtbase.dll" for native windows-arm64 ruby
binary. It does not solve issue with x64 version emulated on this
platform.

Value of pioinfo pointer can be found in ucrtbase.dll at latest adrp/add
sequence before return of _isatty function. This works for both release
and debug ucrt.

Due to the nature of aarch64 ISA (vs x86 or x64), it's needed to
disassemble instructions to retrieve offset value, which is a bit more
complicated than matching specific string patterns.

Details about adrp/add usage can be found in this blog post:
https://devblogs.microsoft.com/oldnewthing/20220809-00/?p=106955
For instruction decoding, the Arm documentation was used as a reference.</pre>
</div>
</content>
</entry>
<entry>
<title>Prefer to use File.foreach instead of IO.foreach</title>
<updated>2023-02-27T09:49:18+00:00</updated>
<author>
<name>Hiroshi SHIBATA</name>
<email>hsbt@ruby-lang.org</email>
</author>
<published>2023-02-27T07:38:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=db0a4c8923e0e084c7d757d132a83fc9c8431633'/>
<id>db0a4c8923e0e084c7d757d132a83fc9c8431633</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
