From 2a3c43b6f1f74327be68fa612e247848d1c2e6ac Mon Sep 17 00:00:00 2001 From: Alan Cox Date: Sun, 8 Apr 2018 21:30:55 +0100 Subject: [PATCH] Library: fix builds on systems not using gcc --- Library/include/gpt.h | 6 ++++-- Library/include/mbr.h | 7 ++++--- Library/include/sys/compiler.h | 9 +++++++++ 3 files changed, 17 insertions(+), 5 deletions(-) create mode 100644 Library/include/sys/compiler.h diff --git a/Library/include/gpt.h b/Library/include/gpt.h index db9d11d7..d8c0e767 100644 --- a/Library/include/gpt.h +++ b/Library/include/gpt.h @@ -1,6 +1,8 @@ #ifndef __GPT_DOT_H__ #define __GPT_DOT_H__ +#include + /* Copyright 2018 Tormod Volden */ #define MBR_GPT_PROTECTED_TYPE 0xEE @@ -9,7 +11,7 @@ #define GPT_FUZIX_ROOT_UUID 63ce1ba5-46ab-49bd-abf4-2859975849e1 #define GPT_FUZIX_ROOT_UUID_16BIT 1ba5 -typedef struct __attribute((packed)) { +typedef struct __packed { uint8_t signature[8]; uint32_t revision; uint32_t header_size; @@ -32,7 +34,7 @@ typedef struct __attribute((packed)) { /* reserved to end of block */ } gpt_header_t; -typedef struct __attribute((packed)) { +typedef struct __packed { uint8_t type_guid[16]; uint8_t uniq_part_guid[16]; uint32_t first_lba_lsb; diff --git a/Library/include/mbr.h b/Library/include/mbr.h index d2f44d57..07aaafd3 100644 --- a/Library/include/mbr.h +++ b/Library/include/mbr.h @@ -1,9 +1,10 @@ #ifndef __MBR_DOT_H__ #define __MBR_DOT_H__ -/* 2015-01-04 Will Sowerbutts */ +#include -typedef struct __attribute((packed)) { +/* 2015-01-04 Will Sowerbutts */ +typedef struct __packed { /* Described this way so that it packs */ uint8_t status_chs_first[4]; uint8_t type_chs_last[4]; @@ -13,7 +14,7 @@ typedef struct __attribute((packed)) { #define MBR_ENTRY_COUNT 4 #define MBR_SIGNATURE 0xAA55 -typedef struct __attribute((packed)) { +typedef struct __packed { uint8_t bootcode[446]; partition_table_entry_t partition[MBR_ENTRY_COUNT]; uint16_t signature; diff --git a/Library/include/sys/compiler.h b/Library/include/sys/compiler.h new file mode 100644 index 00000000..78d0b4b3 --- /dev/null +++ b/Library/include/sys/compiler.h @@ -0,0 +1,9 @@ +#ifndef __SYS_COMPILER_H +#define __SYS_COMPILER_H +#if defined(__GCC__) +#define __packed __attribute((packed)) +#else +#define __packed +#endif +#endif + -- 2.34.1