<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/62010>62010</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            In Windows 32-bit, the program generated using assembly language cannot run properly.
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          romanholidaypancakes
      </td>
    </tr>
</table>

<pre>
    1. test.cpp
```c++
#include "stdio.h"
#include <windows.h>


int main() {
    printf("hello world");
 MessageBoxW(0, 0, L"hello world", 0);
    return 0;
}
```

2. generate assembly
```
clang-cl -m32 test.cpp /clang:-S
```
3. generating programs from assembler file
```
clang-cl user32.lib -m32 test.asm -o test32.exe
```
4. When running test32.exe, it crashes upon calling MessageBoxW, indicating a failure to properly relocate imported functions. However, the same command runs successfully on the 64-bit version of the program.




</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJx8U02PozgQ_TXmUgoCGwIcOHSnN9qVdk976LMxBXjG2Mhldzr_fgT5mMx0NJJlUNUr13vPZUmkR4vYsvKVlW-JjGFyvvVulnZyRvfyvEir5HekpHP9uc1TCEghVcvCsjeWvbB9dlmK8dd1XaJcaKtM7BEY5xR67dKJcf41Kw4nbXt3onRi4q9r_mHXNsAstWW8ZrwBVl07AAAsXtswbBk-oTEOTs6bfu3DGyZuyP-QSI746j7fGa8zxg-wbf8-KdtSD7UA4DFEbyG7B1n19pv2R8I8hREtehkQJBHOnTk_hSsj7bhTBnaz4HdXgfHjlmHiZff_00Jx76DtCIt3o5czweDdfOuIHgZt8M99I6EXPDW6e6AgaYad2_4FT_Hz-RlFCu8TWvDR2pXEA5wfQAdQXtKEBHFxFpQ0ZkX9chEH0LbX6iJCwiC1iR4huFXRgt6cwaNxavVRz4vzAXsYolVBO0sp_O1O-IF-PShMCCRnBOXmWdp-pUVAUSkkGqIxZ3B2Q-2LXacDfKAn7Sy4YYteLUy_Tt9lT_pW9I1oZIJtvq-zRlRFXiVTK7EfSpXvc17lvCrrrqqLYi-qpu6qph7qRLc84yIrsjqrsrys0qJq6roSjSqx5KIsWZHhLLVJjfmYU-fHRBNFbPc8y7PEyA4N3R6nb1fQrosjsSIzmgL9LAs6GGz_sfB-eU4g-Cr1Zs9V4n00e4i0GX-dUFiHIsoRQUlrXVgtvF9EmkRv2imEhZh4YfzI-HHUYYpdqtzM-HFlcf3sFu--oQqMHzclxPhxE_MjAAD__246WPM">