From nobody Mon May 6 12:15:45 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 150353297601922.848447597640643; Wed, 23 Aug 2017 17:02:56 -0700 (PDT) Received: from localhost ([::1]:46119 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dkfbq-0002om-Ql for importer@patchew.org; Wed, 23 Aug 2017 20:02:54 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:51963) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dkfar-0002Jm-C1 for qemu-devel@nongnu.org; Wed, 23 Aug 2017 20:01:54 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dkfam-0003Es-Ps for qemu-devel@nongnu.org; Wed, 23 Aug 2017 20:01:53 -0400 Received: from mail-pg0-x241.google.com ([2607:f8b0:400e:c05::241]:33725) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1dkfam-0003DI-Jt for qemu-devel@nongnu.org; Wed, 23 Aug 2017 20:01:48 -0400 Received: by mail-pg0-x241.google.com with SMTP id 189so1298264pgj.0 for ; Wed, 23 Aug 2017 17:01:48 -0700 (PDT) Received: from anatol.mtv.corp.google.com ([2620:15c:202:1:a4ef:a3cf:87b8:ef77]) by smtp.gmail.com with ESMTPSA id j7sm405356pfb.30.2017.08.23.17.01.46 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 23 Aug 2017 17:01:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=b+HTHwFmpQZld29ZBzGTKINwt3uZPWYcY/vPBcJtl0A=; b=TVW5tw3NY/19B9mmT5p/ijZd7tTqieCGKmTEWl9h4nI2MMWV/GoJhWd69YYHlJVmBJ v9rGstzkFen3R/ec9Okh8l1e/fbVaL95qDiOVIyvuY+DXEAzK5Gi+Lh82C2Pd9XAdeGp quYH3olSAr8gQMi5KTw5cHR47L6Y3UYaYOeoR1xoLFDFQaw3JVSx/Ccmq6TOnVn+fXPk HwjEy7f9G8dsUpg1MN3Xuvgdiypk43wHc7s/We6aWUjsD4fVk7PIC6Yazp92j0A3fGEj 47LmBg3Zg6lIZT9/+uDDepwr+ftIZt7aylXQm7gU0BZU5EBMcHN9IrkNmKOwy8mbEK/X YB0w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=b+HTHwFmpQZld29ZBzGTKINwt3uZPWYcY/vPBcJtl0A=; b=N/o5x27xkRdf4/w9QjNFX2YBvG3kgSzQ3rInPzCuniIEGI0yn5lA5rEXL2hc56WoDX v3hSdV2NL3uiSnd63atV0PjDx25ceCS6cjAuQhSTHhKDrjHr1rMooWf8e1RnWXtI4+v9 TmjSf1HFNhtJK9l6jCTBJrtpobbqrMEgDrbvafspotBOYxdrKSoQddive4pU8IYJV22X PfpjnbqAt/+3vcbhLJRe7cxjHqpzbQR9H+14GDTstI5YqNYvAjsmLDhiBj7R9FzDHOh4 a5oZImEM3R7qryT0tpWCWkCw9uiuNKiRIyL1FWgvmbimxkYYG8QrwM3JF1mM9x24Cp9X fkoA== X-Gm-Message-State: AHYfb5jA7NTwSrIHLWX4EscxoRMHkmTWlvKiDoyCpPkgqcT9TaWmeLzR I3n9N/4GK5vPXZmeGJM= X-Received: by 10.98.71.88 with SMTP id u85mr4488081pfa.185.1503532906993; Wed, 23 Aug 2017 17:01:46 -0700 (PDT) From: Anatol Pomozov To: qemu-devel@nongnu.org Date: Wed, 23 Aug 2017 17:01:40 -0700 Message-Id: <20170824000140.16812-1-anatol.pomozov@gmail.com> X-Mailer: git-send-email 2.14.1.342.g6490525c54-goog In-Reply-To: References: X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:400e:c05::241 Subject: [Qemu-devel] [PATCH] multiboot: make tests work with clang X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: kwolf@redhat.com, f4bug@amsat.org, Anatol Pomozov Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" * clang 3.8 enables SSE even for 32bit code. Generate code for pentium CPU to make sure no new instructions are used. * add memset() implementation. Clang implements array zeroing in print_num() via memset() function call. Reviewed-by: Philippe Mathieu-Daud=C3=A9 --- tests/multiboot/Makefile | 2 +- tests/multiboot/libc.c | 9 +++++++++ tests/multiboot/libc.h | 2 ++ tests/multiboot/run_test.sh | 1 + 4 files changed, 13 insertions(+), 1 deletion(-) diff --git a/tests/multiboot/Makefile b/tests/multiboot/Makefile index 856e76682a..2e015409dc 100644 --- a/tests/multiboot/Makefile +++ b/tests/multiboot/Makefile @@ -1,5 +1,5 @@ CC=3Dgcc -CCFLAGS=3D-m32 -Wall -Wextra -Werror -fno-stack-protector -nostdinc -fno-b= uiltin +CCFLAGS=3D-m32 -Wall -Wextra -Werror -fno-stack-protector -nostdinc -fno-b= uiltin -march=3Dpentium ASFLAGS=3D-m32 =20 LD=3Dld diff --git a/tests/multiboot/libc.c b/tests/multiboot/libc.c index 6df9bda96d..512fccd7fa 100644 --- a/tests/multiboot/libc.c +++ b/tests/multiboot/libc.c @@ -33,6 +33,15 @@ void* memcpy(void *dest, const void *src, int n) =20 return dest; } +void *memset(void *s, int c, size_t n) +{ + size_t i; + char *d =3D s; + for (i =3D 0; i < n; i++) { + *d++ =3D c; + } + return s; +} =20 static void print_char(char c) { diff --git a/tests/multiboot/libc.h b/tests/multiboot/libc.h index 04c9922c27..44b71350dd 100644 --- a/tests/multiboot/libc.h +++ b/tests/multiboot/libc.h @@ -36,6 +36,7 @@ typedef signed short int16_t; typedef signed char int8_t; =20 typedef uint32_t uintptr_t; +typedef uint32_t size_t; =20 =20 /* stdarg.h */ @@ -58,5 +59,6 @@ static inline void outb(uint16_t port, uint8_t data) =20 void printf(const char *fmt, ...); void* memcpy(void *dest, const void *src, int n); +void *memset(void *s, int c, size_t n); =20 #endif diff --git a/tests/multiboot/run_test.sh b/tests/multiboot/run_test.sh index f04e35cbf0..38dcfef42c 100755 --- a/tests/multiboot/run_test.sh +++ b/tests/multiboot/run_test.sh @@ -29,6 +29,7 @@ run_qemu() { printf %b "\n\n=3D=3D=3D Running test case: $kernel $* =3D=3D=3D\n\n" = >> test.log =20 $QEMU \ + -cpu pentium \ -kernel $kernel \ -display none \ -device isa-debugcon,chardev=3Dstdio \ --=20 2.14.1.342.g6490525c54-goog