16bit adressing architecture

Jan Zizka ziza@klubicko.net
Wed Jul 16 22:31:00 GMT 2003


Hi,

I'm working on binutils port for Motorola's DSP56800 family, its
getting pretty mature, but during implementation of a testsuit I
have found that some general testcases are failing. Simple
reason is that DSP56800 byte is 16bit wide and I've build evething
around that assumption. So the object file is correct etc. But
for example align and struct test fail:

../as-new   -o dump.o /home/honzik/dsp56800/binutils/gas/testsuite/gas/all/struct.s
/home/honzik/dsp56800/binutils/gas/testsuite/../../binutils/nm-new  --extern-only dump.o > dump.out
regexp_diff match failure
regexp "^0+02 A w2$"
line   "00000001 A w2"
regexp_diff match failure
regexp "^0+04 A w3$"
line   "00000002 A w3"
FAIL: struct
../as-new   -o dump.o /home/honzik/dsp56800/binutils/gas/testsuite/gas/all/align.s
/home/honzik/dsp56800/binutils/gas/testsuite/../../binutils/objdump  -s -j .text dump.o > dump.out
regexp_diff match failure
regexp "^ 0010 ffffffff 05050505 ff090a0a 0a0a0a0a  ................$"
line   " 0008 ffffffff 05050505 ff090a0a 0a0a0a0a  ................"
regexp_diff match failure
regexp "^ 0020 ff00ff01 ff020202 ffff0303 04040404  ................$"
line   " 0010 ff00ff01 ff020202 ffff0303 04040404  ................"
regexp_diff match failure
regexp "^ 0030 ffffffff 05050505 ff090a0a 0a0a0a0a  ................$"
line   " 0018 ffffffff 05050505 ff090a0a 0a0a0a0a  ................"
FAIL: align

But you can see that generated code is correct for 16bit bytes.

Now the question is: should I change my port so that gas would think 
it's 8bit byte addressable, or should the tests be made somewhat more
general to cover correctly architectures with different byte sizes?

I would like to note that BFD has a notion of different byte sizes.

Any comments and suggestions welcome!

Jan



More information about the Binutils mailing list