diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/ChangeLog | 5 | ||||
-rw-r--r-- | include/ansidecl.h | 6 | ||||
-rw-r--r-- | include/coff/ChangeLog | 7 | ||||
-rw-r--r-- | include/coff/external.h | 6 | ||||
-rw-r--r-- | include/elf/ChangeLog | 5 | ||||
-rw-r--r-- | include/elf/external.h | 6 |
6 files changed, 27 insertions, 8 deletions
diff --git a/include/ChangeLog b/include/ChangeLog index e7e2895..7f3966c 100644 --- a/include/ChangeLog +++ b/include/ChangeLog @@ -1,3 +1,8 @@ +2006-12-05 Michael Tautschnig <tautschn@model.in.tum.de> + Nick Clifton <nickc@redhat.com> + + * ansidecl.h (ATTRIBUTE_PACKED): Define. + 2006-11-30 Andrew Stubbs <andrew.stubbs@st.com> J"orn Rennecke <joern.rennecke@st.com> diff --git a/include/ansidecl.h b/include/ansidecl.h index a1a765d..793b1e6 100644 --- a/include/ansidecl.h +++ b/include/ansidecl.h @@ -361,6 +361,12 @@ So instead we use the macro below and test it against specific values. */ # endif /* GNUC >= 3.0 */ #endif /* ATTRIBUTE_ALIGNED_ALIGNOF */ +/* Useful for structures whoes layout must much some binary specification + regardless of the alignment and padding qualities of the compiler. */ +#ifndef ATTRIBUTE_PACKED +# define ATTRIBUTE_PACKED __attribute__ ((packed)) +#endif + /* We use __extension__ in some places to suppress -pedantic warnings about GCC extensions. This feature didn't work properly before gcc 2.8. */ diff --git a/include/coff/ChangeLog b/include/coff/ChangeLog index 60a8587..b8af0fe 100644 --- a/include/coff/ChangeLog +++ b/include/coff/ChangeLog @@ -1,3 +1,10 @@ +2006-12-05 Michael Tautschnig <tautschn@model.in.tum.de> + Nick Clifton <nickc@redhat.com> + + * external.h (struct external_aouthdr): Add ATTRIBUTE_PACKED. + (struct external_syment): Likewise. + (union external_auxent): Likewise. + 2006-11-14 Phil Lello <phil.lello@homecall.co.uk> * pe.h: Added defines for IMAGE_SUBSYSTEM_EFI_ROM and diff --git a/include/coff/external.h b/include/coff/external.h index e38fb1b..8dabc8a 100644 --- a/include/coff/external.h +++ b/include/coff/external.h @@ -50,7 +50,7 @@ typedef struct external_aouthdr 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; #define AOUTHDRSZ 28 @@ -164,7 +164,7 @@ struct external_syment char e_type[2]; char e_sclass[1]; char e_numaux[1]; -}; +} ATTRIBUTE_PACKED ; #define SYMENT struct external_syment #define SYMESZ 18 @@ -256,7 +256,7 @@ union external_auxent char x_tvlen[2]; /* length of .tv */ char x_tvran[2][2]; /* tv range */ } x_tv; /* info about .tv section (in auxent of symbol .tv)) */ -}; +} ATTRIBUTE_PACKED ; #define AUXENT union external_auxent #define AUXESZ 18 diff --git a/include/elf/ChangeLog b/include/elf/ChangeLog index 3a661cb..47d9d47 100644 --- a/include/elf/ChangeLog +++ b/include/elf/ChangeLog @@ -1,3 +1,8 @@ +2006-12-05 Michael Tautschnig <tautschn@model.in.tum.de> + Nick Clifton <nickc@redhat.com> + + * external.h (struct Elf_External_Versym): Use ATTRIBUTE_PACKED. + 2006-10-28 Richard Sandiford <richard@codesourcery.com> * mips.h (R_MIPS_GLOB_DAT): Define diff --git a/include/elf/external.h b/include/elf/external.h index 5985e94..21450f0 100644 --- a/include/elf/external.h +++ b/include/elf/external.h @@ -245,11 +245,7 @@ typedef struct { typedef struct { unsigned char vs_vers[2]; -} -#ifdef __GNUC__ - __attribute__ ((packed)) -#endif - Elf_External_Versym; +} ATTRIBUTE_PACKED Elf_External_Versym; /* Structure for syminfo section. */ typedef struct |