[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Is this a bug?
From: |
Gonzalo Jimenez Sanchez |
Subject: |
Is this a bug? |
Date: |
Mon, 29 Aug 2005 13:03:01 +0200 |
Hi.
I have built cross compiler tool chain with:
binutils-2.16.1 cross compiled windows - powerpc-eabi.
This is my script for building:
export TARGET=powerpc-eabi
export PREFIX=/tgnuppc/$TARGET
export PATH=$PATH:$PREFIX/bin
mkdir t-build-binutils
cd t-build-binutils
../binutils-2.16.1/configure --target=$TARGET --prefix=$PREFIX
--enable-languages=c,c++
make all
make install
I find this error when assembling my code.
c:/tgnuppc/powerpc-eabi/powerpc-eabi/bin/as -I.. -W -m603 -mregnames -o
../_b8260/obj/regs.o ../nivel1/regs/regs.s
init8260.s: Assembler messages:
regs.s:445: Error: operand out of range (0x0000aa39 is not between
0xffff8000 and 0x00007fff)
line 445 in that file is: li r3,0xAA39
c:/tgnuppc/powerpc-eabi/powerpc-eabi/bin/as -I../.. -I.. -W -m603 -mregnames
-o ../_b8260/obj/init8260.o ../init8260.s
init8260.s: Assembler messages:
init8260.s:1067: Error: operand out of range (0x0000ffff is not between
0xffff8000 and 0x00007fff)
line 1067 in that file is: addi r3,0,0xFFFF
If I trie to assemble an initialization code from Motorola I have the same
error.
<<8260_int.s>> <<Init8260.s>>
In 8260_int.s you can find in line 385: addi r2,0,0xFFFD # Load
the mask - 0xFFFFFFFD
I tried with this change in binutils-2.16.1\opcodes\ppc-opc.c
Original:
{ "li", OP(14), DRA_MASK, PPCCOM, { RT, SI } },
{ "addi", OP(14), OP_MASK, PPCCOM, { RT, RA0, SI } },
My change:
{ "li", OP(14), DRA_MASK, PPCCOM, { RT, SISIGNOPT } },
{ "addi", OP(14), OP_MASK, PPCCOM, { RT, RA0, SISIGNOPT
} },
now assembling goes fine.
Is that a bug in binutils or I'm using SIMM field in addi and li instruction
erroneously?
If that is a bug, Is my change correct? Are there more instruction with de
same bug?
best regards,
Gonzalo Jimenez
8260_int.s
Description: Binary data
Init8260.s
Description: Binary data
- Is this a bug?,
Gonzalo Jimenez Sanchez <=