delorie.com/archives/browse.cgi | search |
On 02/16/2016 11:19 AM, Wiktor S. (wswiktorSP AT Mpoczta DOT fm) [via djgpp AT delorie DOT com] wrote: >>> This was a one-line problem in assembly code: >>> >>> rep/movsl (%esi),(%edi) >>> >>> Newest as.exe generates wrong binary code on the above line. After >>> changing to "rep movsl" with space it worked. >>> >>> I don't know if rep/movsl syntax is correct or not, but if it is >>> not, AS should fail instead of silently generating bad code. >> >> Do you mean that GCC itself is generating [sic] "rep/movsl" or is it >> some inline or handwritten (external) assembly file? > > > It is in handwritten assembly. > > The dissasembled (wrong) instruction is > > rep add %eax,%esi > > > I guess that it should be reported to binutils mailing list to get some information. Is it a bug or something else? This is not the first time when change to binutils forces to change existing assembler code. Most often error messages are being generated for old GNU assembler code. One that I remember was operand length suffix handling (when they are required, when not accepted). I think that binutils downgrading from 2.26 to 2.25 was not the way to go. It is rather common that old code has to be updated to work with new compiler and this time binutils version. Andris
webmaster | delorie software privacy |
Copyright © 2019 by DJ Delorie | Updated Jul 2019 |