[efi] Fix compilation on Mac OS X.
authorMichael Brown <mcb30@etherboot.org>
Tue, 31 Mar 2009 06:32:16 +0000 (07:32 +0100)
committerMichael Brown <mcb30@etherboot.org>
Tue, 31 Mar 2009 06:39:20 +0000 (07:39 +0100)
The Mac compiler treats "#pragma pack()" as gcc's "#pragma pack(pop)",
and so dies if the pragma pack stack is empty.  Adding a "#pragma
pack(1)" immediately beforehand is enough to keep the Mac compiler
happy.

The combination of "#pragma pack(1)", "#pragma pack()" won't actually
achieve anything on a Mac, but it will at least build.  (With gcc, the
"#pragma pack()" overrides any previous pragmas, so is still useful.)

Suggested-by: Joshua Oreman <oremanj@rwcr.net>
src/include/gpxe/efi/efi.h

index a71a29e..f4459b7 100644 (file)
@@ -41,6 +41,7 @@
 #include <gpxe/efi/PiDxe.h>
 
 /* Reset any trailing #pragma pack directives */
 #include <gpxe/efi/PiDxe.h>
 
 /* Reset any trailing #pragma pack directives */
+#pragma pack(1)
 #pragma pack()
 
 #include <gpxe/tables.h>
 #pragma pack()
 
 #include <gpxe/tables.h>