diff --git a/include/coff/ChangeLog b/include/coff/ChangeLog index 5b9e45c8f..66ca81f00 100644 --- a/include/coff/ChangeLog +++ b/include/coff/ChangeLog @@ -1,3 +1,8 @@ +2009-10-17 Arnold Metselaar + + * z80.h: Store alignment requirement in section header, to allow + ld to preserve alignment. Some code was copied from ti.h. + 2009-09-05 Martin Thuresson * ti.h (GET_LNSZ_SIZE, PUT_LNSZ_SIZE): Updated name of class diff --git a/include/coff/z80.h b/include/coff/z80.h index 3c72c10dd..3d37c1d0f 100644 --- a/include/coff/z80.h +++ b/include/coff/z80.h @@ -30,6 +30,15 @@ /* Type of cpu is stored in flags. */ #define F_MACHMASK 0xF000 +/* Z80 COFF encodes the section alignment in the section header flags */ +#define COFF_ALIGN_IN_SECTION_HEADER 1 +#define COFF_ALIGN_IN_S_FLAGS 1 +#define F_ALGNMASK 0x0F00 +/* requires a power-of-two argument */ +#define COFF_ENCODE_ALIGNMENT(S,X) ((S).s_flags |= (((unsigned)(X)&0xF)<<8)) +/* result is a power of two */ +#define COFF_DECODE_ALIGNMENT(X) (((X)>>8)&0xF) + #define Z80MAGIC 0x805A #define Z80BADMAG(x) (((x).f_magic != Z80MAGIC))