aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/coff/ChangeLog5
-rw-r--r--include/coff/z80.h9
2 files changed, 14 insertions, 0 deletions
diff --git a/include/coff/ChangeLog b/include/coff/ChangeLog
index 5b9e45c..66ca81f 100644
--- a/include/coff/ChangeLog
+++ b/include/coff/ChangeLog
@@ -1,3 +1,8 @@
+2009-10-17 Arnold Metselaar <arnold.metselaar@planet.nl>
+
+ * 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 <martin@mtme.org>
* 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 3c72c10..3d37c1d 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))