Groovy hepcat Dan Chak jived with All on 08 Dec 97 17:34:44!
DJGPP and allegro's a cool scene. Dig it!
DC> To anyone who uses DJGPP and Allegro..
I don't, but I may still be able to help in some small way.
DC> I am trying to compile Allegro but get the following errors when
DC> running MAKE.
DC> e:\djgpp\allegro>make
DC> gcc -I. -Isrc -Wall -o obj/bank.o -c src/bank.S
DC> e:/djgpp/tmp\ccbaaaaa: Assembler messages:
DC> e:/djgpp/tmp\ccbaaaaa:252: Error: register does not match opcode
DC> suffix e:/djgpp/tmp\ccbaaaaa:269: Error: register does not match opcode
I'm no expert, but it looks like there's a fault in the code, in
which a datum is loaded into a register of diferent size. In assembly,
all data stored in registers must match the size of the registers. So,
for example, to put a datum in AX, the datum must be 16 bits in size.
DC> suffix make.exe: *** [obj/bank.o] Error 1
DC> When I delete references to bank.o (the above problem) in the
DC> makefile, it gives me the following. Unfortunately, it gives more than
DC> liballeg.a(tseng.o)(.text+0x269):tseng.c: undefined reference to
DC> `_et4000_read_bank_end' liballeg.a(tseng.o)(.text+0x26e):tseng.c:
DC> undefined reference to `_et4000_read_bank'
The undefined references means you're not linking in bank.o. The
linker can't find the functions with those names, which happen to be
in bank.o, because it's not included in the make. Besides, the problem
seems to be in bank.S.
Without seeing the source code, it's hard to say what's wrong. And
it's in assembly, anyhow, so may be off topic here.
Wolvaen
... Sea World...Sushi lovers go straight to the source!
--- Blue Wave/RA v2.20
---------------
* Origin: The Gate, Melbourne Australia, +61-3-9809-5097 33.6k (3:633/159)
|