qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Pierre Muller <pierre@freepascal.org>
To: qemu-devel@nongnu.org, Peter Maydell <peter.maydell@linaro.org>,
	John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>,
	Laurent Vivier <laurent@vivier.eu>
Subject: Re: [RFC] Testing 7.1.0-rc2, qemu-ppc does not give valid disassembly
Date: Thu, 11 Aug 2022 23:26:54 +0200	[thread overview]
Message-ID: <dea1c082-54e7-de1a-0f0c-a7b8a1060a1b@freepascal.org> (raw)
In-Reply-To: <CAFEAcA-0wkYiDgs7DOpnMuwVw=z=H_440Yyrfaa9_V-YRyoU-w@mail.gmail.com>



Le 11/08/2022 à 19:11, Peter Maydell a écrit :
> On Thu, 11 Aug 2022 at 14:35, Pierre Muller <pierre@freepascal.org> wrote:
>>     I don't know if this is the right place to submit this report,
>> but I have a problem with my attempt to check the 7.1.0 release candidate
>> for linux user powerpc CPU.
>>
>>     I am testing a simple executable, compiled with Free Pacal compiler,
>> but also linked to libc.
>>
>> This is what I obtain with the new rc:
>>
>> ~/gnu/qemu/build-qemu-7.1.0-rc1/qemu-ppc -L ~/sys-root/powerpc-linux -d in_asm tprintf
>> ----------------
>> IN: _start
>> 0x3ffda784:
>> OBJD-T: 7c230b78388000003821fff0908100004bfe756d
> 
> This is because you don't have the libcapstone development package
> installed on your host system.
> 
>>     I did find that this is related to the fact that
>> upon configuration, meson finds no capstone library,
>> while disassembly of powerpc CPU has been moved to use of
>> capstone in this commit:
> 
> The other relevant commit here is
> 
> commit 83602083b4ada6ceb86bfb327e83556ebab120fc
> Author: Thomas Huth <thuth@redhat.com>
> Date:   Mon May 16 16:58:23 2022 +0200
> 
>      capstone: Remove the capstone submodule
> 
>      Now that we allow compiling with Capstone v3.0.5 again, all our supported
>      build hosts should provide at least this version of the disassembler
>      library, so we do not need to ship this as a submodule anymore.

   Ok, this explains why there is no way to specific the use of the submodule!
--enable-capstone works indeed to force configure to fail
if capstone is not found.

>> Even when trying to compile the git checkout,
>> which contains capstone as a sub-module, in capstone sub-directory,
>> I always get capstone support set to NO by meson configuration.
> 
> If your git checkout still has a capstone subdirectory this
> is an old leftover from a checkout that predated 83602083b4ada.
> ('git status' will tell you this, and a suitable 'git clean'
> command will get rid of it for you.)

   There are still git domain I don't really master...

>> Why doesn't it use the sub-module if pkg-config says that there
>> is not system capstone library installed?
> 
> Because we now can rely on all our supported host distributions
> being modern enough to ship libcapstone, and we don't need to
> cart around a submodule any more (which reduces our maintenance
> burden). As Cédric suggests, you can pass '--enable-capstone'
> to configure if you would like configure to fail if it can't
> find the system libcapstone, rather than falling back to the
> binary-blob disassembler.

   But as I use machines on which I am not admin,
I needed to compile capstone locally, install it inside my home dir,
and export PKG_CONFIG_PATH to allow the meson configuration
to correctly detect this local installation...

   However, this is not optimal, especially if I want to be able to
copy over the resulting binaries to other test machines,
on which the configuration completely fails,
like gcc188 for which the current clib is too old according to
the configure requirements.

   Is it really required to have glibc 2.56?
On several of these test machines, the version is much older...
I tried to force acceptance by reducing the requirement,
and it did compile successfully after that.

   Is there a solid reason to be so restrictive?


Pierre Muller


  reply	other threads:[~2022-08-11 21:27 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-08-11 13:31 [RFC] Testing 7.1.0-rc2, qemu-ppc does not give valid disassembly Pierre Muller
2022-08-11 15:46 ` Cédric Le Goater
2022-08-11 17:11 ` Peter Maydell
2022-08-11 21:26   ` Pierre Muller [this message]
2022-08-12  8:07     ` Peter Maydell

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=dea1c082-54e7-de1a-0f0c-a7b8a1060a1b@freepascal.org \
    --to=pierre@freepascal.org \
    --cc=glaubitz@physik.fu-berlin.de \
    --cc=laurent@vivier.eu \
    --cc=peter.maydell@linaro.org \
    --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).