From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:46525) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WQlQR-0000PL-O0 for qemu-devel@nongnu.org; Thu, 20 Mar 2014 18:27:05 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WQlQL-00070O-P9 for qemu-devel@nongnu.org; Thu, 20 Mar 2014 18:26:59 -0400 Received: from mx1.redhat.com ([209.132.183.28]:31170) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WQlQL-00070G-Bk for qemu-devel@nongnu.org; Thu, 20 Mar 2014 18:26:53 -0400 Message-ID: <532B6B27.2080105@redhat.com> Date: Thu, 20 Mar 2014 23:26:47 +0100 From: Laszlo Ersek MIME-Version: 1.0 References: <1395350099-14664-1-git-send-email-marcel.a@redhat.com> <532B645B.5020507@redhat.com> <1395353214.21800.6.camel@localhost.localdomain> In-Reply-To: <1395353214.21800.6.camel@localhost.localdomain> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH for-2.0 V3] tests/acpi-test: do not run iasl on big endian machines List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Marcel Apfelbaum , Paolo Bonzini Cc: peter.maydell@linaro.org, mst@redhat.com, aik@ozlabs.ru, mjt@tls.msk.ru, qemu-devel@nongnu.org, stefanha@redhat.com, afaerber@suse.de, rth@twiddle.net On 03/20/14 23:06, Marcel Apfelbaum wrote: > On Thu, 2014-03-20 at 22:57 +0100, Paolo Bonzini wrote: >> Il 20/03/2014 22:14, Marcel Apfelbaum ha scritto: >>> +# All known versions of iasl on BE machines are broken. >>> +# TODO: add detection code once a non-broken version makes an appearance. >>> +if ($iasl -h > /dev/null 2>&1) && >>> + (lscpu | grep "Byte Order" | grep --quiet "Little Endian" ); then >> >> lscpu is not portable. > I am open to suggestions... > I'll try to come up with something else. The printf and od utilities are portable. You can use printf to print a character string, and use od to group that character string into multibyte integers in the native byte order. Example: X=$(printf '\336\255\276\357' | od -A n -t x4) This sets X to " efbeadde" on little endian, and " deadbeef" on big endian. Laszlo