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

    <tr>
        <th>Summary</th>
        <td>
            [PATCH][OpenMP] OpenMP does not build for X32 ABI
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            new issue
      </td>
    </tr>

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

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

<pre>
    X32 ABI is 32bit ABI using 64bit mode instruction on x86. It is supported by Gentoo as system-wide ABI.
When I try to build OpenMP library I got following error:
```
In file included from /var/tmp/portage/sys-libs/libomp-17.0.6/work/openmp/runtime/src/kmp_global.cpp:14:
/var/tmp/portage/sys-libs/libomp-17.0.6/work/openmp/runtime/src/kmp_affinity.h:222:2: error: #error Wrong code for setaffinity system call.
  222 | #error Wrong code for setaffinity system call.
      | ^~~~~
/var/tmp/portage/sys-libs/libomp-17.0.6/work/openmp/runtime/src/kmp_affinity.h:227:2: error: #error Wrong code for getaffinity system call.
  227 | #error Wrong code for getaffinity system call.
      |  ^~~~~

```
The X32 ABI syscall numbering scheme uses second highest (0x40000000) bit to distinguish between 32 and 64 bit calls.
Patch is attached, please review.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJy8VMGOpDYQ_RpzKTWCMk13Hzj0zISkD1HmsNLmFtmmAGeNjWzTvVzm2yMz3VkpijJRpKyFAAte-em9qidC0IMlatj-ie1fMrHE0flGSBFXTddMum5tfuUI56cL6AAcpY7bZgnaDlBXaT-5jkDbEP2ionYWnIWvxzqHS0ygsMyz85E6kCv8SDY6ByJAWEOkaXfTHaWKOSteWHH-PJKFC0S_QnQgF206-GUm-_MrGC298CtcYHARemeMuyUS5L3zjJ_fC7C6uF_b9mKh1ybRU2bpqIPeuwkYtlfhGbZxmhm2iZ4YiGEb1rAzWgaGrdHSTfOuPORFXjNsb85_Ydi6mewG8ouNetpAXjFsv0zzb4NxUphczTPj57L6Rup_Ok_0vbY6rvnI-BkR053x85-SAEO-vcNn7-wAKjnVOw-B4gN7NwKUMOZuAgAiAjs8_2d8Wht-_8Pb29vbd1Xh8K9VGD5U4fCPKnyEf6jwFxn-rk8_jQSPQQtrSGXALpMkn1o8qJEmgiVQgEDK2Q5GPYwUIjA8Fl-r4n0xPEGayOig0yFqOyw6jCAp3ogscARhO6ir7ad0RrhzfRVRjWlYRYxCjdQxfIbZkAgEnq6abnnWNbw78ZPIqCkPZYV4rMoyG5u6r1UvxbE-KEUl56USp57qTtaSCyFkphsssCoqPJQV57zMu_qIdDqRouOejlXNqoImoU1uzHXKnR8yHcJCzangVZ0ZIcmELaIQLd1g-8gQU2L5JmF2chkCqwqjQwzfqkQdzZZtr-dPzz-x_QvbP72HCdu_PGKlcxTAungPm-Tr3Yhs8aYZY5xDGmRsGbaDjuMic-Wm1Kvm-njsZu9-JxUZthu71Mob-z8CAAD__9sLt5o">