Mail Archives: djgpp/1996/12/18/02:33:41
Roger Carbol wrote:
>
> Well, I download Allegro, with much anticipation as it looks like
> pretty much the coolest thing since sliced breadboards.
>
> So I ran make. Then I re-unzipped it with -d and ran make again.
>
> It got farther, but then resulted in the following message:
>
> > gcc -I. -Isrc -Wall -o obj/bank.o -c src/bank.S
> > c:/djgpp/tmp\ccbaaaaa: Assembler messages:
> > c:/djgpp/tmp\ccbaaaaa:252: Error: register does not match opcode suffix
> > c:/djgpp/tmp\ccbaaaaa:269: Error: register does not match opcode suffix
> > make.exe: *** [obj/bank.o] Error 1
I have the same problem. And here are steps how to solve it.
1st You need to find those lines 252,269, the problem is that
.S scr preprocessed with asmdef.exe (build from asmdef.c in the Allegro
src dir) so
the gcc return error line number different from original line number. So
use a small
trick : open bank.s for edit in text editor wich display cursor position
and
type any symbol (for example @$@) at the line number about 240 and run
make.
GCC return error line number where you type @S@. Step this proc to finde
lines 252 and 269.
So here is output from fc . BANK is old version of file and BANK.S is a
new file.
WARNING: I'm not shure my changes is absolutely right, so think twice
before you applied it.
Comparing files BANK and BANK.S
***** BANK
movb %al, %ah /* two 32k apertures, set bank and bank+1
*/
incl %ah !!!!!!!!!!!!INCL applied to 32-bit regs
shll $8, %eax
***** BANK.S
movb %al, %ah /* two 32k apertures, set bank and bank+1
*/
inc %ah !!!!!!!!!!!!!I change INCL to INC (may be it's wrong
and you need change %AH to %EAX)
shll $8, %eax
*****
And the same problem:
***** BANK
BANK_SWITCHER( __mach64_read_bank, __last_bank_2,
pushl %edx
***** BANK.S
BANK_SWITCHER( __mach64_read_bank, __last_bank_2,
pushl %dx
*****
--
Regards,
Dim Zegebart,
Moscow Russia.
- Raw text -