October 14, 2016 [D-runtime] [dlang/druntime] 7fd7b8: ARM: Explicitly specify required FPU mode in Fiber... | ||||
---|---|---|---|---|
| ||||
Attachments:
| Branch: refs/heads/master Home: https://github.com/dlang/druntime Commit: 7fd7b83281b1c059ff51e7403dc4122ddec17692 https://github.com/dlang/druntime/commit/7fd7b83281b1c059ff51e7403dc4122ddec17692 Author: Johannes Pfau <johannespfau@gmail.com> Date: 2016-10-05 (Wed, 05 Oct 2016) Changed paths: M src/core/threadasm.S Log Message: ----------- ARM: Explicitly specify required FPU mode in Fiber ASM The threadASM code requires a vfp or newer unit for the vpush and vpop instructions. There's exaclty one older floating point ARM unit: The fpa unit. This unit is not supported in GCC but it is supported in binutils. This causes the following problem: When GCC is not explicitly configured with --with-fpu it will not pass fpu flags to binutils as. So binutils will use the binutils standard mode which is fpa! This then causes compilation errors. So in the end even though the gcc preprocessor claims vfp support via __ARM_PCS_VFP we still have to request vfp explicitly in the ASM. Note that this is not a restriction: As GCC doesn't support FPA we can't compile phobos in FPA mode anyway. Newer floating point units are fully compatible with vfp, so we can specify .fpu vfp and still compile phobos with support for newer FPUs. Commit: ee1b9b26d784b8ae18db9122157f9cd7f2442ce6 https://github.com/dlang/druntime/commit/ee1b9b26d784b8ae18db9122157f9cd7f2442ce6 Author: David Nadlinger <code@klickverbot.at> Date: 2016-10-14 (Fri, 14 Oct 2016) Changed paths: M src/core/threadasm.S Log Message: ----------- Merge pull request #1667 from jpf91/fiberARM ARM: Explicitly specify required FPU mode in Fiber ASM Compare: https://github.com/dlang/druntime/compare/66b4c97d1a82...ee1b9b26d784 |
Copyright © 1999-2021 by the D Language Foundation