cmd/link: ELF e_flags
does not contain EF_ARM_VFP_FLOAT
on armv7l when statically linked
#44002
Labels
compiler/runtime
Issues related to the Go compiler and/or runtime.
help wanted
NeedsInvestigation
Someone must examine and confirm this is a valid issue and not a duplicate of an existing one.
Milestone
What version of Go are you using (
go version
)?Does this issue reproduce with the latest release?
Yes
What operating system and processor architecture are you using (
go env
)?go env
OutputWhat did you do?
I have
go
code that involves vectorizeable floating point instructions. When compiling forarmv7l
,go
correctly uses vector floating-point instructions, but does not mark the resultant executable as a 'hard float' executable:float_abi.go
sourceCompiling:
Inspecting ELF headers:
Disassembly of
average()
showcasing vector instructions:Note the
vadd.f64
and the use ofdX
registers.What did you expect to see?
I expect to see the
Flags
field above to have0x400
set, marking this executable as using the "hard float" ABI. See the definitions inglibc
which correspond to the values in the table on page 16 of this pdf.What did you see instead?
Neither the hard nor soft float ABI flags are set, which I believe denotes that this program does not use any floating point arithmetic at all, which is clearly incorrect.
The text was updated successfully, but these errors were encountered: