nixpkgs/pkgs
Francis Couture-Harpin 01e460d69e perlPackages.HashSharedMem: fix build on aarch64-linux
The [(failing-)build log](https://hydra.nixos.org/build/219379873/nixlog/1)
has errors that look like: `undefined symbol: __aarch64_cas8_sync`.

This led me to find out about the newly-introduced `-moutline-atomics`,
which is **on by default** in GCC 10.1 (according to [this blog post](https://community.arm.com/arm-community-blogs/b/tools-software-ides-blog/posts/making-the-most-of-the-arm-architecture-in-gcc-10))
and in Clang 12.0.0 (according to [the release notes](https://releases.llvm.org/12.0.0/tools/clang/docs/ReleaseNotes.html))

Not all ARMv8-A processors support atomic stuff like `__aarch64_cas8_sync`,
it's only those that are ARMv8.1-A or later that do. Examples of
pre-ARMv8.1-A processors include the Cortex-A72 used in the
Raspberry Pi 4 (which is how I discovered this problem (I am running
`hydra` on it, which indirectly depends on `HashSharedMem`)),
and any older ARMv8-A processors.

The problem here is solvable either by linking the compiler runtime library
(which I did not try, since I don't know exactly which one to use)
*or* by simply not generating outlines for atomic operations.

I went with the "easier" path (which was also what was was happening
in older versions of GCC, I think) of disabling atomic outlines with
`-mno-outline-atomics`, and it works!
2023-06-03 17:17:55 -04:00
..
applications Merge pull request #234033 from Laurent2916/copilot-chat 2023-06-02 21:32:07 +02:00
build-support fetchurl: remove mirror kent.dl.sourceforge.net 2023-06-01 15:30:14 -05:00
common-updater
data Merge pull request #235508 from NickCao/v2ray-data 2023-06-02 05:57:01 -06:00
desktops Merge pull request #235511 from bobby285271/upd/cinnamon-bpo 2023-06-02 21:25:34 +08:00
development pythonPackages.aigpy: init at 2022.7.8.1 2023-06-02 19:13:06 +00:00
games Merge pull request #235334 from aidalgol/heroic-2.8 2023-06-02 18:48:59 +02:00
misc Merge pull request #234509 from lluchs/canon-cups-ufr2-5.70 2023-05-31 09:53:25 -04:00
os-specific Merge pull request #232800 from Luflosi/update/linuxPackages.apfs 2023-06-02 07:39:54 -05:00
pkgs-lib
servers Merge pull request #235484 from wegank/rethinkdb-bump 2023-06-02 20:22:52 +02:00
shells Merge pull request #234462 from hitsmaxft/add_antidote 2023-06-02 16:36:40 +02:00
stdenv
test
tools tidal-dl: init at 2022.10.31.1 2023-06-02 19:13:06 +00:00
top-level perlPackages.HashSharedMem: fix build on aarch64-linux 2023-06-03 17:17:55 -04:00