qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
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

  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).