bug-binutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bug binutils/19661] [libopcodes] [x86] Lock prefixes are allowed even w


From: hjl.tools at gmail dot com
Subject: [Bug binutils/19661] [libopcodes] [x86] Lock prefixes are allowed even when they SIGILL
Date: Mon, 18 Apr 2016 17:06:23 +0000

https://sourceware.org/bugzilla/show_bug.cgi?id=19661

H.J. Lu <hjl.tools at gmail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|WAITING                     |RESOLVED
         Resolution|---                         |WONTFIX

--- Comment #3 from H.J. Lu <hjl.tools at gmail dot com> ---
(In reply to njholcomb from comment #2)
> Created attachment 9202 [details]
> File displays locking without a memory operand.
> 
> objdump -d lock_no_mem.o
> 
> lock_no_mem.o:     file format elf64-x86-64
> 
> 
> Disassembly of section .text:
> 
> 0000000000000000 <main>:
>    0:   55                      push   %rbp
>    1:   48 89 e5                mov    %rsp,%rbp
>    4:   f0 b7 9f                lock mov $0x9f,%bh
>    7:   96                      xchg   %eax,%esi
>    8:   00 00                   add    %al,(%rax)
>    a:   00 b8 00 00 00 00       add    %bh,0x0(%rax)
>   10:   5d                      pop    %rbp
>   11:   c3                      retq

It looks OK to me.  You get UD because LOCK prefix is used on non-memory
operand:

(gdb) disass
Dump of assembler code for function main:
   0x0000000000400488 <+0>:     push   %rbp
   0x0000000000400489 <+1>:     mov    %rsp,%rbp
=> 0x000000000040048c <+4>:     lock mov $0x9f,%bh
   0x000000000040048f <+7>:     xchg   %eax,%esi
   0x0000000000400490 <+8>:     add    %al,(%rax)
   0x0000000000400492 <+10>:    add    %bh,0x0(%rax)
   0x0000000000400498 <+16>:    pop    %rbp
   0x0000000000400499 <+17>:    retq   
End of assembler dump.
(gdb)

-- 
You are receiving this mail because:
You are on the CC list for the bug.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]