bug-binutils
[Top][All Lists]
Advanced

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

[Bug ld/15282] New: -relax option causes LD to generated wrong opcode fo


From: robert.hulsebos at necoso dot com
Subject: [Bug ld/15282] New: -relax option causes LD to generated wrong opcode for Renesas H8/300
Date: Fri, 15 Mar 2013 14:03:27 +0000

http://sourceware.org/bugzilla/show_bug.cgi?id=15282

             Bug #: 15282
           Summary: -relax option causes LD to generated wrong opcode for
                    Renesas H8/300
           Product: binutils
           Version: 2.22
            Status: NEW
          Severity: normal
          Priority: P2
         Component: ld
        AssignedTo: address@hidden
        ReportedBy: address@hidden
    Classification: Unclassified


The linker is used for building an application for Renesas 2398 micro. (H8S)
The -relax option allows the linker to change the @(d:32, ERs), ERd instruction
into the shorter @(d:16, ERs), ERd instruction.
Unfortunately, the linker forgets to update the third byte of the instruction.
Example 01 00 78 00 6B 23 00 00 15 98 is translated into 01 00 78 00 6B 03 15
98. Which should be 01 00 6F 00 6B 03 15 98. 
This is a fatal error which cause the application to misbehave/crash.

Linker version and emulation info:

GNU ld (GNU Binutils) 2.22-GNUH8_v12.02
  Supported emulations:
   h8300elf
   h8300helf
   h8300self
   h8300hnelf
   h8300snelf
   h8300sxelf
   h8300sxnelf

Linker options used: -n -relax --cref
The linker is part of KPIT GNU toolchain v12.02 for Renesas H8.

-- 
Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email
------- 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]