mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-04 00:03:54 -06:00
compiler: add a sizeof_field() macro
Determining the size of a field is useful when you don't have a struct variable handy. Open-coding this is ugly. This patch adds the sizeof_field() macro, which is similar to typeof_field(). Existing instances are updated to use the macro. Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com> Reviewed-by: John Snow <jsnow@redhat.com> Message-id: 20180614164431.29305-1-stefanha@redhat.com Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
This commit is contained in:
parent
00928a421d
commit
f18793b096
9 changed files with 24 additions and 22 deletions
|
@ -184,20 +184,20 @@ typedef struct NoteFuncDescStruct {
|
|||
} NoteFuncDesc;
|
||||
|
||||
static const NoteFuncDesc note_core[] = {
|
||||
{sizeof(((Note *)0)->contents.prstatus), s390x_write_elf64_prstatus},
|
||||
{sizeof(((Note *)0)->contents.fpregset), s390x_write_elf64_fpregset},
|
||||
{sizeof_field(Note, contents.prstatus), s390x_write_elf64_prstatus},
|
||||
{sizeof_field(Note, contents.fpregset), s390x_write_elf64_fpregset},
|
||||
{ 0, NULL}
|
||||
};
|
||||
|
||||
static const NoteFuncDesc note_linux[] = {
|
||||
{sizeof(((Note *)0)->contents.prefix), s390x_write_elf64_prefix},
|
||||
{sizeof(((Note *)0)->contents.ctrs), s390x_write_elf64_ctrs},
|
||||
{sizeof(((Note *)0)->contents.timer), s390x_write_elf64_timer},
|
||||
{sizeof(((Note *)0)->contents.todcmp), s390x_write_elf64_todcmp},
|
||||
{sizeof(((Note *)0)->contents.todpreg), s390x_write_elf64_todpreg},
|
||||
{sizeof(((Note *)0)->contents.vregslo), s390x_write_elf64_vregslo},
|
||||
{sizeof(((Note *)0)->contents.vregshi), s390x_write_elf64_vregshi},
|
||||
{sizeof(((Note *)0)->contents.gscb), s390x_write_elf64_gscb},
|
||||
{sizeof_field(Note, contents.prefix), s390x_write_elf64_prefix},
|
||||
{sizeof_field(Note, contents.ctrs), s390x_write_elf64_ctrs},
|
||||
{sizeof_field(Note, contents.timer), s390x_write_elf64_timer},
|
||||
{sizeof_field(Note, contents.todcmp), s390x_write_elf64_todcmp},
|
||||
{sizeof_field(Note, contents.todpreg), s390x_write_elf64_todpreg},
|
||||
{sizeof_field(Note, contents.vregslo), s390x_write_elf64_vregslo},
|
||||
{sizeof_field(Note, contents.vregshi), s390x_write_elf64_vregshi},
|
||||
{sizeof_field(Note, contents.gscb), s390x_write_elf64_gscb},
|
||||
{ 0, NULL}
|
||||
};
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue