This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: [patch] coff: fix alignment issues when building on ARM
- From: Nick Clifton <nickc at redhat dot com>
- To: Michael Tautschnig <tautschn at model dot in dot tum dot de>
- Cc: binutils at sourceware dot org
- Date: Tue, 05 Dec 2006 15:52:19 +0000
- Subject: Re: [patch] coff: fix alignment issues when building on ARM
- References: <20061204212151.GD19904@l03.local>
Hi Michael,
The issue is the alignment/padding added on ARM, such that the effective size
(as reported by sizeof) is 2 bytes larger than the #define'd sizes.
Is it possible to provide a test case that demonstrates this please ?
This causes
invalid coff files to be generated by gas. The attached patch fixed all problems
while building gcc packages for the h8300-hitachi-coff target.
Built by what compiler ? On what host machine ?
--- binutils-h8300-hms-2.16.1.orig/include/coff/external.h
+++ binutils-h8300-hms-2.16.1/include/coff/external.h
@@ -50,7 +50,7 @@
char entry[4]; /* entry pt. */
char text_start[4]; /* base of text used for this file */
char data_start[4]; /* base of data used for this file */
- }
+ } __attribute__((packed))
AOUTHDR;
Since the packed attribute is specific to gcc it ought to be protected
by an #ifdef, ie:
}
#ifdef __GNUCC__
__attribute__((packed))
#endif
;
Also patches need to be accompanied by an entry for the ChangeLog so
that other people can see what has changed and why.
Cheers
Nick