This is the mail archive of the binutils@sources.redhat.com mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Patch : m68hc12 gas movb/movw un-relax


This is a patch for gas on the m68hc11-elf.  Built on RH 8 and tested with
m68hc11-sim.

The problem is reproduced using the the current testsuite.  This line from
m68hc11.exp caused a failure :

gas_m68hc11_error "-m68hc12" "movb 2,x,bar,y\nbar=300\n" \
    "Offset out of 5-bit range for movw/movb insn: 300"

The problem in tc-m68hc11, is that the movb/movw are incorrectly being
allowed to relax. The only valid movb/movw IDX addressing size is 5 bit.
The symbol "bar" is being relaxed to a 16 bit size.

The fix is to generate a normal fixup when the movb/movw insn's are being
built.

The error checking tests, related to this problem,  in m68hc11.exp have
increased and a new dump test to cover the good cases of movb/movw has been
created.

I do not believe I have write permissions so could someone else check this
in?

Tom

Attachment: m68hc12-movb-003.patch
Description: Binary data


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]