This is the mail archive of the ecos-discuss@sources.redhat.com mailing list for the eCos project.


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

Trouble assembling variant.S for sh3 on Linux/alpha



This just gets worse.

The error below comes from trying to compile (actually assemble) variant.S
now that I finally got the host tools built. The error message about the
offset out of range applies to this line:

_cyg_hal_cache_enable:
        GOTO_NONCACHED_SHADOW
        mov     #CYGARC_REG_CCR,r1   ; <-- here!
        mov.l   @r1,r0
        mov     #CYGARC_REG_CCR_CE,r2
        mov.l   r2,@r1
        nop
        rts
         nop

CYGARC_REG_CCR is defined in mod_regs_cac.h as:

#define CYGARC_REG_CCR                  0xffffffec

...which just happens to be 4294967276 in decimal. Well, I think as should
be expected to know that this is really -0x14 when talking to an sh3/4
processor. I don't think I can get much more recent than this:

icarus.com % sh-elf-as --version
GNU assembler 001118

But given that as has slipped a clue on 64bit hosts, is it practical to
replace this with -20? Or is it maybe that as is doing the right thing
and this really *should* be -20?

The final compile line:


sh-elf-gcc -c  -I/home/icarus/steve/picturel/ecos-sh/install/include -I/usr/local/src/ecos-cvs/ecos/packages/hal/sh/sh3/current -I/usr/local/src/ecos-cvs/ecos/packages/hal/sh/sh3/current/src -I/usr/local/src/ecos-cvs/ecos/packages/hal/sh/sh3/current/tests -I. -I/usr/local/src/ecos-cvs/ecos/packages/hal/sh/sh3/current/src/ -mb -m3 -Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -Woverloaded-virtual -g -O2 -ffunction-sections -fdata-sections -fno-rtti -fno-exceptions -fvtable-gc -finit-priority -Wp,-MD,src/variant.tmp -o src/hal_sh_sh3_variant.o /usr/local/src/ecos-cvs/ecos/packages/hal/sh/sh3/current/src/variant.S
/usr/local/src/ecos-cvs/ecos/packages/hal/sh/sh3/current/src/variant.S: Assembler messages:
/usr/local/src/ecos-cvs/ecos/packages/hal/sh/sh3/current/src/variant.S:71: Error: offset out of range
/usr/local/src/ecos-cvs/ecos/packages/hal/sh/sh3/current/src/variant.S:71: Error: Value of 4294967276 too large for field of 2 bytes at 17
/usr/local/src/ecos-cvs/ecos/packages/hal/sh/sh3/current/src/variant.S:82: Error: offset out of range
/usr/local/src/ecos-cvs/ecos/packages/hal/sh/sh3/current/src/variant.S:82: Error: Value of 4294967276 too large for field of 2 bytes at 45
/usr/local/src/ecos-cvs/ecos/packages/hal/sh/sh3/current/src/variant.S:95: Error: offset out of range
/usr/local/src/ecos-cvs/ecos/packages/hal/sh/sh3/current/src/variant.S:95: Error: Value of 4294967276 too large for field of 2 bytes at 77
/usr/local/src/ecos-cvs/ecos/packages/hal/sh/sh3/current/src/variant.S:165: Error: offset out of range
/usr/local/src/ecos-cvs/ecos/packages/hal/sh/sh3/current/src/variant.S:165: Error: Value of 4294967276 too large for field of 2 bytes at 229
make[1]: *** [src/variant.o.d] Error 1
make[1]: Leaving directory `/home/icarus/steve/picturel/ecos-sh/hal/sh/sh3/current'
make: *** [build] Error 2



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