From: Stefan Weil <weil@mail.berlios.de>
To: Jan Kiszka <jan.kiszka@web.de>
Cc: Blue Swirl <blauwirbel@gmail.com>, TeLeMan <geleman@gmail.com>,
Anthony Liguori <aliguori@us.ibm.com>,
qemu-devel <qemu-devel@nongnu.org>
Subject: Re: [Qemu-devel] [PULL] slirp: Fix issues with -mms-bitfields
Date: Thu, 25 Aug 2011 16:03:35 +0200 [thread overview]
Message-ID: <4E565637.8030909@mail.berlios.de> (raw)
In-Reply-To: <4E564F06.7040304@web.de>
[-- Attachment #1: Type: text/plain, Size: 829 bytes --]
As I wrote in my last mail, I compared all structs without and with
-mms-bitfields
using pahole and codiff. The result is in the appended codiff.log.
About 17 structs changed because of -mms-bitfield. This attribute
modifies not only
structs with bitfield but also packed structs or structs with other
attributes
like TCGPool.
Jan's patch fixed slirp bitfields. For the remaining cases, I also
thought about
removing -mms-bitfield or setting a pragma in qemu-common.h, but now I
prefer a different solution: replace all __attribute__(packed),
__attribute(__packed__)
by QEMU_PACKED.
QEMU_PACKED will be a macro defined in compiler.h which sets the attributes
needed (also for w32 with -mms-bitfields).
Maybe I can send patches with the changes needed next weekend if
everybody agrees
to this solution.
Cheers,
Stefan
[-- Attachment #2: codiff.log --]
[-- Type: text/x-log, Size: 5047 bytes --]
/home/stefan/src/qemu/savannah/qemu/hw/virtio-balloon.c:
struct VirtIOBalloonStat | +6
1 struct changed
virtio_balloon_receive_stats | -1
1 function changed, 1 bytes removed
/home/stefan/src/qemu/savannah/qemu/block/vmdk.c:
vmdk_open_vmdk4 | +9
vmdk_create_extent | +6
2 functions changed, 15 bytes added
/home/stefan/src/qemu/savannah/qemu/block/vvfat.c:
struct bootsector_t | +5
1 struct changed
/home/stefan/src/qemu/savannah/qemu/hw/bt-hci.c:
bt_hci_connection_accept | -2
bt_hci_lmp_connection_complete | -2
bt_hci_event_read_remote_ext_features | +2
bt_hci_event_complete_lmp_handle | +7
4 functions changed, 9 bytes added, 4 bytes removed, diff: +5
/home/stefan/src/qemu/savannah/qemu/slirp/cksum.c:
struct Slirp | +64
struct arphdr | +4
struct ArpTable | +64
3 structs changed
/home/stefan/src/qemu/savannah/qemu/slirp/if.c:
struct Slirp | +64
struct arphdr | +4
struct ArpTable | +64
3 structs changed
/home/stefan/src/qemu/savannah/qemu/slirp/ip_icmp.c:
struct Slirp | +64
struct arphdr | +4
struct ArpTable | +64
3 structs changed
/home/stefan/src/qemu/savannah/qemu/slirp/ip_input.c:
struct Slirp | +64
struct arphdr | +4
struct ArpTable | +64
3 structs changed
/home/stefan/src/qemu/savannah/qemu/slirp/ip_output.c:
struct Slirp | +64
struct arphdr | +4
struct ArpTable | +64
3 structs changed
/home/stefan/src/qemu/savannah/qemu/slirp/slirp.c:
struct Slirp | +64
struct arphdr | +4
struct ArpTable | +64
3 structs changed
/home/stefan/src/qemu/savannah/qemu/slirp/mbuf.c:
struct Slirp | +64
struct arphdr | +4
struct ArpTable | +64
3 structs changed
/home/stefan/src/qemu/savannah/qemu/slirp/misc.c:
struct Slirp | +64
struct arphdr | +4
struct ArpTable | +64
3 structs changed
/home/stefan/src/qemu/savannah/qemu/slirp/sbuf.c:
struct Slirp | +64
struct arphdr | +4
struct ArpTable | +64
3 structs changed
/home/stefan/src/qemu/savannah/qemu/slirp/socket.c:
struct Slirp | +64
struct arphdr | +4
struct ArpTable | +64
3 structs changed
/home/stefan/src/qemu/savannah/qemu/slirp/tcp_input.c:
struct Slirp | +64
struct arphdr | +4
struct ArpTable | +64
3 structs changed
/home/stefan/src/qemu/savannah/qemu/slirp/tcp_output.c:
struct Slirp | +64
struct arphdr | +4
struct ArpTable | +64
3 structs changed
/home/stefan/src/qemu/savannah/qemu/slirp/tcp_subr.c:
struct Slirp | +64
struct arphdr | +4
struct ArpTable | +64
3 structs changed
/home/stefan/src/qemu/savannah/qemu/slirp/tcp_timer.c:
struct Slirp | +64
struct arphdr | +4
struct ArpTable | +64
3 structs changed
/home/stefan/src/qemu/savannah/qemu/slirp/udp.c:
struct Slirp | +64
struct arphdr | +4
struct ArpTable | +64
3 structs changed
/home/stefan/src/qemu/savannah/qemu/slirp/bootp.c:
struct Slirp | +64
struct arphdr | +4
struct ArpTable | +64
3 structs changed
/home/stefan/src/qemu/savannah/qemu/slirp/tftp.c:
struct Slirp | +64
struct arphdr | +4
struct ArpTable | +64
3 structs changed
/home/stefan/src/qemu/savannah/qemu/slirp/arp_table.c:
struct Slirp | +64
struct arphdr | +4
struct ArpTable | +64
3 structs changed
arp_table_add | -49
arp_table_search | -24
2 functions changed, 73 bytes removed
/home/stefan/src/qemu/savannah/qemu/exec.c:
struct TCGPool | +0
1 struct changed
/home/stefan/src/qemu/savannah/qemu/translate-all.c:
struct TCGPool | +0
1 struct changed
/home/stefan/src/qemu/savannah/qemu/cpu-exec.c:
struct TCGPool | +0
1 struct changed
/home/stefan/src/qemu/savannah/qemu/target-i386/translate.c:
struct TCGPool | +0
1 struct changed
/home/stefan/src/qemu/savannah/qemu/tcg/tcg.c:
struct TCGPool | +0
1 struct changed
/home/stefan/src/qemu/savannah/qemu/tcg/optimize.c:
struct TCGPool | +0
1 struct changed
/home/stefan/src/qemu/savannah/qemu/target-i386/op_helper.c:
helper_vmexit | +2
1 function changed, 2 bytes added
/home/stefan/src/qemu/savannah/qemu/hw/acpi.c:
struct acpi_table_header | +2
1 struct changed
/home/stefan/src/qemu/savannah/qemu/hw/hpet.c:
struct hpet_fw_entry | +4
struct hpet_fw_config | +32
2 structs changed
hpet_post_load | +4
hpet_reset | +8
2 functions changed, 12 bytes added
/home/stefan/src/qemu/savannah/qemu/hw/usb-ccid.c:
struct CCID_Header | +3
struct CCID_BULK_IN | +3
struct CCID_SlotStatus | +3
struct CCID_Parameter | +3
struct CCID_DataBlock | +3
struct CCID_XferBlock | +4
struct CCID_IccPowerOn | +4
struct CCID_SetParameters | +4
8 structs changed
/home/stefan/src/qemu/savannah/qemu/hw/pc.c:
struct hpet_fw_entry | +4
struct hpet_fw_config | +32
2 structs changed
/tmp/qemu.exe:
12 functions changed, 38 bytes added, 78 bytes removed, diff: -40
next prev parent reply other threads:[~2011-08-25 14:03 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-08-15 6:39 [Qemu-devel] [PULL] slirp: Fix issues with -mms-bitfields Jan Kiszka
2011-08-20 20:00 ` Stefan Weil
2011-08-23 10:49 ` TeLeMan
2011-08-24 9:11 ` Jan Kiszka
2011-08-25 1:14 ` TeLeMan
2011-08-25 11:04 ` Jan Kiszka
2011-08-25 12:02 ` TeLeMan
2011-08-25 12:38 ` Jan Kiszka
2011-08-25 13:02 ` Avi Kivity
2011-08-25 13:07 ` Anthony Liguori
2011-08-25 13:09 ` Jan Kiszka
2011-08-25 13:17 ` Avi Kivity
2011-08-25 13:15 ` Avi Kivity
2011-08-25 13:19 ` Jan Kiszka
2011-08-25 13:21 ` Avi Kivity
2011-08-25 13:06 ` Anthony Liguori
2011-08-25 13:13 ` Jan Kiszka
2011-08-25 13:22 ` Avi Kivity
2011-08-25 13:36 ` Peter Maydell
2011-08-25 13:39 ` Avi Kivity
2011-08-25 13:28 ` Anthony Liguori
2011-08-25 13:32 ` Jan Kiszka
2011-08-25 14:03 ` Stefan Weil [this message]
2011-08-25 14:23 ` Anthony Liguori
2011-08-25 17:15 ` Jan Kiszka
2011-08-21 19:49 ` Blue Swirl
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4E565637.8030909@mail.berlios.de \
--to=weil@mail.berlios.de \
--cc=aliguori@us.ibm.com \
--cc=blauwirbel@gmail.com \
--cc=geleman@gmail.com \
--cc=jan.kiszka@web.de \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.