Re:Mozilla finds CPU bug (bad store forwarding) in Samsung G...
by LispSporks22 on Wednesday August 09, 2023 @11:50AM
(#37064503)
The only thing better than being able to blame the compiler for something, is being able to blame the CPU
[ Parent
| on HN ]
Re:Mozilla finds CPU bug (bad store forwarding) in Samsung G...
by print_goto_ten on Wednesday August 09, 2023 @11:54AM
(#37064559)
Great tshirt
Re:Mozilla finds CPU bug (bad store forwarding) in Samsung G...
by peheje on Wednesday August 09, 2023 @02:20PM
(#37066588)
Saving that quote.
Re:Mozilla finds CPU bug (bad store forwarding) in Samsung G...
by amelius on Wednesday August 09, 2023 @02:48PM
(#37066892)
But how are you going to fix it then?
Re:Mozilla finds CPU bug (bad store forwarding) in Samsung G...
by wongarsu on Wednesday August 09, 2023 @03:06PM
(#37067107)
Change your code to not trigger the bug, and leave that workaround there for the next decade or so until the buggy CPU generation isn't relevant anymore.
Or hope for microcode updates to fix the bug at the CPU level.
Re:Mozilla finds CPU bug (bad store forwarding) in Samsung G...
by amelius on Thursday August 10, 2023 @05:29AM
(#37073876)
That's my point ... it's a lot harder to do this than to just fix it in your own code.
Re:Mozilla finds CPU bug (bad store forwarding) in Samsung G...
by JonChesterfield on Wednesday August 09, 2023 @06:48PM
(#37069431)
You change the compiler to carefully step around the stuff that doesn't work in the hardware.
Re:Mozilla finds CPU bug (bad store forwarding) in Samsung G...
by pajko on Thursday August 10, 2023 @12:30AM
(#37071957)
Compilers can be patched to automatically do some masking in the code generation step after every LDRB instruction in this case, when compiling for that specific CPU. For example, the Blackfin DSPs have many similar bugs which are fixed this way. Some of which the fixes done automatically, while others could be disabled for performance critical code which has been implemented while keeping the various issues in mind, like -mcsync-anomaly and -mspecld-anomaly.
Certain MIPS CPUs also have incorrectly implemented instructions and the -mfix-* compiler parameters could be used to enable workarounds.
JIT compilers can do the same.