x/build: validate 387 binaries somehow #13946
Comments
I'd be happy if we just qemu'd a "hello world" binary to completion. That shouldn't be too slow. It would catch most of the cases. We could add a few map operations, a channel select, etc. for good measure. Can you configure qemu to faithfully emulate a Pentium MMX, missing instruction faults and all? Just validating using the disassembler doesn't quite work, as we have non-MMX code guarded by CPUID checks. Those cases may be few enough in number that we could explicitly suppress errors in those functions. |
I'd like to propose a counter proposal -- demote 387 to a non first class On Thu, Jan 14, 2016 at 11:42 AM, Keith Randall notifications@github.com
|
@davecheney, but we kinda have an GOARM=5 builder at least (admittedly on ARMier hardware than ARM=5), which catches some stuff. |
I think we have too many builders, and I'm skeptical we need one for this.
We can make the 386 build test that cmd/go (which imports basically
everything) doesn't have any instructions it should not.
|
Yes, sorry I want not precise enough. My suggestion isn't a direct analog The problem that cropped up apparently was introduced in 1.1 and took until On Thu, Jan 14, 2016 at 11:51 AM, Brad Fitzpatrick <notifications@github.com
|
We should run a builder that somehow validates our GO386=387 builder, making sure we never generated prohibited instructions. (per comment by @randall77 in #13923)
We seem to occasionally regress.
How to validate?
/cc @minux @randall77 @ianlancetaylor @rsc for opininions.
The text was updated successfully, but these errors were encountered: