oxidecomputer / oxidecomputer/helios
gcc9 and 10 handle floats wrong on westmere
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 481
- Forks
- 21
- Avg merge
- 1d 17h
- Merged PRs (30d)
- 2
Description
I'll add the deeper info later. The gist is, gcc9 and 10 from pkg install explode when they see float literals but only if you're executing the compiler on a westmere cpu.
if you execute it elsewhere, it generates executables that work. and those executables work on westmere. if you execute it on westmere, the executables are just broken. like it generates the wrong constant values. and it seems to specifically be the exponent bits that are incorrect, while the other bits are fine.
gcc7 is fine. also gcc9/10 from pkgsrc are fine.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
The issue names GCC 9 and 10 from pkg install, GCC 7, and GCC 9/10 from pkgsrc, but no repository files or tests. Start by reproducing the float-literal failure on a Westmere CPU and compare those compiler versions; done means generated float constants have correct exponent bits and executables work on Westmere.
Written by the indexing model from the issue text.
Assessment
- Domain
- compilers, operating-systems
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100