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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).