evans@ditsyda.oz (Bruce Evans) (02/04/89)
1) The ".even" pseudo-op does nothing.
2) Worse, the ".align 2" pseudo-op aligns the symbol offsets but does not
cause the necessary padding. This happens for both the text and data segments.
Example:
---
| misalign.s - compile with cc -i -s misalign.s, and inspect with nm and dis88
.text
.align 2 | attempt to ensure offset is even to start
.byte 0x90
.align | should add 1 byte padding but doesn't
_main: | even, OK but mismatched
ret | never executed
ret | true entry point
.data
.align 2 | attempt to ensure offset is even to start
.byte 0x12
.even | should add 1 byte padding but doesn't
_junk: | odd, should be even (consistent at least)
.word 0x3456
---
Bruce Evans evans@ditsyda.oz.au
D