From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:49522) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1W8vI2-0007Kd-PS for qemu-devel@nongnu.org; Thu, 30 Jan 2014 12:20:40 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1W8vHw-0007CI-OS for qemu-devel@nongnu.org; Thu, 30 Jan 2014 12:20:34 -0500 Received: from mx1.redhat.com ([209.132.183.28]:41529) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1W8vHw-0007AQ-F7 for qemu-devel@nongnu.org; Thu, 30 Jan 2014 12:20:28 -0500 Message-ID: <52EA89D0.8030006@redhat.com> Date: Thu, 30 Jan 2014 18:20:16 +0100 From: Laszlo Ersek MIME-Version: 1.0 References: <1390890126-17377-1-git-send-email-qiaonuohan@cn.fujitsu.com> <1391101291-50118-1-git-send-email-tumanova@linux.vnet.ibm.com> In-Reply-To: <1391101291-50118-1-git-send-email-tumanova@linux.vnet.ibm.com> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH] Define the architecture for compressed dump format. List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Ekaterina Tumanova Cc: borntraeger@de.ibm.com, qiaonuohan@cn.fujitsu.com, Public KVM Mailing List On 01/30/14 18:01, Ekaterina Tumanova wrote: > If you apply this patch on top of your changes, your patches will work > on s390x as well. > > --- > dump.c | 8 ++++++-- > target-i386/cpu.h | 2 ++ > target-s390x/cpu.h | 1 + > 3 files changed, 9 insertions(+), 2 deletions(-) > > diff --git a/dump.c b/dump.c > index 8f64aab..12ad114 100644 > --- a/dump.c > +++ b/dump.c > @@ -32,6 +32,10 @@ > #ifdef CONFIG_SNAPPY > #include > #endif > +#ifndef ELF_MACHINE_UNAME > +#define ELF_MACHINE_UNAME "Unknown" > +#warning "Compressed dump is not supported on this architecture" > +#endif > > static uint16_t cpu_convert_to_target16(uint16_t val, int endian) > { > @@ -817,7 +821,7 @@ static int create_header32(DumpState *s) > dh->nr_cpus = cpu_convert_to_target32(s->nr_cpus, endian); > bitmap_blocks = DIV_ROUND_UP(s->len_dump_bitmap, block_size) * 2; > dh->bitmap_blocks = cpu_convert_to_target32(bitmap_blocks, endian); > - memcpy(&(dh->utsname.machine), "i686", 4); > + strncpy(&(dh->utsname.machine), ELF_MACHINE_UNAME, sizeof(dh->utsname.machine)); > > if (s->flag_compress & DUMP_DH_COMPRESSED_ZLIB) { > status |= DUMP_DH_COMPRESSED_ZLIB; > @@ -924,7 +928,7 @@ static int create_header64(DumpState *s) > dh->nr_cpus = cpu_convert_to_target32(s->nr_cpus, endian); > bitmap_blocks = DIV_ROUND_UP(s->len_dump_bitmap, block_size) * 2; > dh->bitmap_blocks = cpu_convert_to_target32(bitmap_blocks, endian); > - memcpy(&(dh->utsname.machine), "x86_64", 6); > + strncpy(&(dh->utsname.machine), ELF_MACHINE_UNAME, sizeof(dh->utsname.machine)); > > if (s->flag_compress & DUMP_DH_COMPRESSED_ZLIB) { > status |= DUMP_DH_COMPRESSED_ZLIB; > diff --git a/target-i386/cpu.h b/target-i386/cpu.h > index 1fcbc82..198743c 100644 > --- a/target-i386/cpu.h > +++ b/target-i386/cpu.h > @@ -38,8 +38,10 @@ > > #ifdef TARGET_X86_64 > #define ELF_MACHINE EM_X86_64 > +#define ELF_MACHINE_UNAME "x86_64" > #else > #define ELF_MACHINE EM_386 > +#define ELF_MACHINE_UNAME "i686" > #endif > > #define CPUArchState struct CPUX86State > diff --git a/target-s390x/cpu.h b/target-s390x/cpu.h > index 68b5ab7..bf7ae4c 100644 > --- a/target-s390x/cpu.h > +++ b/target-s390x/cpu.h > @@ -28,6 +28,7 @@ > #define TARGET_LONG_BITS 64 > > #define ELF_MACHINE EM_S390 > +#define ELF_MACHINE_UNAME "S390X" > > #define CPUArchState struct CPUS390XState > > Looks good to me, but I wonder if the #warning will break builds on other architectures. >>From the configure script it appears that -Werror is the default when: - building a git working copy on Linux, and - no relevant configure switch has been passed. Laszlo