diff options
author | Heinrich Schuchardt <xypron.glpk@gmx.de> | 2019-10-07 00:37:45 +0200 |
---|---|---|
committer | Bin Meng <bmeng.cn@gmail.com> | 2019-11-02 18:00:51 +0800 |
commit | 895ae8726dea182c8512fc6154bd0f9a6a06657b (patch) | |
tree | 5bc5ee762d6f3543d0470e7e0225f980bf4556bc /include/cbfs.h | |
parent | 5d6f05352b69d4858a2a9e9136ac3a734f0222bb (diff) |
cbfs: do not pack struct cbfs_cachenode
With the __packed attribute sandbox_defconfig cannot be compiled with GCC
9.2.1:
fs/cbfs/cbfs.c: In function ‘file_cbfs_fill_cache’:
fs/cbfs/cbfs.c:164:16: error: taking address of packed member of
‘struct cbfs_cachenode’ may result in an unaligned pointer value
[-Werror=address-of-packed-member]
164 | cache_tail = &new_node->next;
| ^~~~~~~~~~~~~~~
struct cbfs_cachenode is only an internal structure. So let's rearrange the
fields such that the structure is naturally packed and remove the __packed
attribute.
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'include/cbfs.h')
-rw-r--r-- | include/cbfs.h | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/include/cbfs.h b/include/cbfs.h index 6d4c4d4b06..f3bc8ca24a 100644 --- a/include/cbfs.h +++ b/include/cbfs.h @@ -72,13 +72,13 @@ struct cbfs_fileheader { struct cbfs_cachenode { struct cbfs_cachenode *next; - u32 type; void *data; - u32 data_length; char *name; + u32 type; + u32 data_length; u32 name_length; u32 attributes_offset; -} __packed; +}; extern enum cbfs_result file_cbfs_result; |