bug-binutils
[Top][All Lists]
Advanced

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

[Bug binutils/24907] New: Objdump produces wrong branch opcode interpret


From: itayzac89 at gmail dot com
Subject: [Bug binutils/24907] New: Objdump produces wrong branch opcode interpretation in some cases
Date: Thu, 15 Aug 2019 14:52:51 +0000

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

            Bug ID: 24907
           Summary: Objdump produces wrong branch opcode interpretation in
                    some cases
           Product: binutils
           Version: 2.33 (HEAD)
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: binutils
          Assignee: unassigned at sourceware dot org
          Reporter: itayzac89 at gmail dot com
  Target Milestone: ---

Bug explained in details in the stack overflow URL 

https://stackoverflow.com/questions/57477494/objdump-produces-wrong-branch-opcode-interpretation

Basically, objdump procude wrong branch opcode interpretation in some cases,
for example, see the following objdump line of a specific object file of a
specific function (func):


3c:   e03a            b.n     78 <func+0x78>


Now, the opcode e03a in the target system (ARMv6-M) says jump to the location
of PC + 0x78. A correct interpretation will be:


3c:   e03a            b.n     B4 <func+0xB4>


It happens each time the jump is between jumps, that are subject to relocation
like here:

38:   f7ff fffe   bl  0 <log_func>
3c:   e03a        b.n 78 <func+0x78>   <---- PROBLEM IS HERE
3e:   f7ff fffe   bl  0 <func>
or here

6a:   f7ff fffe   bl  0 <log_func>
6e:   e021        b.n 46 <random_delay+0x46>  <--- ALSO HERE
70:   f7ff fffe   bl  0 <random_delay>

-- 
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]