Thanks Wookey and Richard.
I was able to resolve the pkg-config issue after installing it with -
apt install pkg-config-aarch64-linux-gnu
I modified my configure command to below -
./configure --target-list=aarch64-softmmu --enable-kvm --enable-vhost-net --cross-prefix=aarch64-linux-gnu-
Now I am running into dependency issue on glib-2.4 and gthread-2.0.
rokhanna@rokhanna-dev ~/dev/qemu.git $ ./configure --target-list=aarch64-softmmu --enable-kvm --enable-vhost-net --cross-prefix=aarch64-linux-gnu-
ERROR: glib-2.40 gthread-2.0 is required to compile QEMU
Thanks
Rohit
________________________________
From: Richard Henderson <richard.henderson(a)linaro.org>
Sent: Thursday, March 21, 2019 9:31 PM
To: Rohit Khanna; linaro-toolchain(a)lists.linaro.org
Cc: Santosh Shukla
Subject: Re: Cross compiling QEMU for aarch64
On 3/21/19 4:45 PM, Rohit Khanna wrote:
> Hi,
>
> I am trying to cross-compile QEMU for aarch64 target using the below toolchain http://releases.linaro.org/components/toolchain/binaries/4.9-2016.02/aarch6…
>
>
> ../configure --target-list=aarch64-softmmu --enable-kvm --enable-vhost-net --cross-prefix=~/Downloads/gcc-linaro-4.9-2016.02-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-
>
> ERROR: pkg-config binary '/home/rokhanna/Downloads/gcc-linaro-4.9-2016.02-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-pkg-config' not found
First, "--cross-prefix=aarch64-linux-gnu-".
It is a prefix, not a path. You should have
"$HOME/Downloads/gcc-linaro-4.9-2016.02-x86_64_aarch64-linux-gnu/bin" in your
path in order to use that compiler.
Second, pkg-config is not part of a toolchain, but part of an entire OS
distribution. If your host is debian or ubuntu, they ship a version configured
for aarch64 cross-compilation. Which is helpful because...
Third, you're going to need a *lot* of aarch64 libraries in order to build
QEMU. This is where OS support for cross-toolchains is key.
r~
-----------------------------------------------------------------------------------
This email message is for the sole use of the intended recipient(s) and may contain
confidential information. Any unauthorized review, use, disclosure or distribution
is prohibited. If you are not the intended recipient, please contact the sender by
reply email and destroy all copies of the original message.
-----------------------------------------------------------------------------------
Progress: (short week, 3 days)
* VIRT-65 [QEMU upstream maintainership]
+ reviewed a few patchsets that had been lurking in my queue too long
+ trawled through the QEMU bug system for bugs we'd already fixed and
forgotten to close, bugs which need more info from the submitter,
and bugs which were very easy to fix
+ various other release related work
* Preparation for Connect next week
thanks
-- PMM
Linaro connect preparation:
- Finished Linaro Connect presentation on cross compilation with clang
-- Hoping to do a dry-run at Doughnuts this week assuming we can
resolve a potential clash with the IPG hands-on.
- Draft agenda for the hack-room produced.
[LLVM-523] ARM.exidx redesign
- Got approval, committed and then reverted my exceptions redesign due
some build-bot failures. Found another potential problem with
--emit-relocs that may be a bit more difficult to fix.
[BTI]
Continuing to review and make suggestions for Intel CET patch
(pre-requisite for BTI due to common use of .note.gnu.property
sections)
Some more communication with Linux Kernel port to Arm with respect to
assembler problems.
o LLVM
* Machine outliner:
- Debugging issue in LLVM bootstrap.
- Preparing BKK19 Hacking session presentation.
o Misc
* Various meetings and discussions.
[VIRT-263 # ARMv8.1-VHE Virtual Host Extensions ]
Picked up my partial patch set and started on it again.
It is improved by having done the pauth/bti/mte work.
But still a work in progress.
[VIRT-327 # Richard's upstream QEMU work ]
Version 3 of tcg/ppc vector instructions.
Reviewed target/rx v4.
Fixed thread=single expansion of casp after Alex did all the
hard work tracking down the kernel failure, and writing me a
test case.
Looking into the size of the softmmu tlb expansion. Current
thinking is to move tlb out of CPUArchState into a new struct
that precedes env, so that the tlb is at small negative offsets
from env, so that {mask, table} is loadable with LDP/LDRD.
r~
Upstream Work ([VIRT-109])
==========================
- posted some CI clean-ups for next 4.0-rc
- posted {PATCH v1 0/3 for 4.0} reduce timeouts on Travis
Message-Id: <20190319124800.7454-1-alex.bennee(a)linaro.org>
- posted {PATCH} .travis.yml: reduce number of targets built while
disabling things Message-Id:
<20190321124857.28132-1-alex.bennee(a)linaro.org>
- will send PR on Monday
- while testing {Qemu-devel} {PATCH 3/4} memory: introduce
memory_global_after_dirty_log_sync Message-Id:
<20180209104546.29401-4-pbonzini(a)redhat.com>
- discovered regression -cpu max -accel tcg,thread=single with
ARM64_LSE_ATOMICS kernel breaks
- this is likely due to different code paths for non-MTTCG atomics
- however attempts [to reproduce in linux-user] have so far drawn
a blank
- have notified rth who can hopefully find the problem
[VIRT-109] https://projects.linaro.org/browse/VIRT-109
[to reproduce in linux-user]
https://github.com/stsquad/qemu/tree/for-4.0/mttcg-and-lse-atomics
Other
=====
- more work on Connect presentation
Absences
========
- Connect BKK19 (1-5th April 2019)
- holiday after Connect
Current Review Queue
====================
* {Qemu-devel} {multiprocess RFC PATCH 00/37} Initial support of multi-process qemu
Message-Id: <20190307072025.8041-1-elena.ufimtseva(a)oracle.com>
* {Qemu-devel} {PATCH 0/6} Refine exec
Message-Id: <20190321082555.21118-1-richardw.yang(a)linux.intel.com>
* {PATCH v5 00/26} KVM: arm64: SVE guest support
Message-Id: <1553017938-710-1-git-send-email-Dave.Martin(a)arm.com>
* {PATCH v4 00/19} Acceptance Tests: target architecture support
Message-Id: <20190312121150.8638-1-crosa(a)redhat.com>
* {PATCH 0/5} travis-ci: Build EDK2 roms
Message-Id: <20190311003052.13778-1-philmd(a)redhat.com>
* {RFC v2 00/38} Plugin support
Message-Id: <20181209193749.12277-1-cota(a)braap.org>
--
Alex Bennée
Progress:
* VIRT-65 [QEMU upstream maintainership]
+ tagged rc0 for QEMU 4.0.0; various other release-ish work
* VIRT-268 [QEMU support for dual-core Cortex-M Musca board]
+ more progress with FP support: lazy state saving and the vlldm/vlstm
insns now implemented. FP support is now feature-complete, though
some bugs likely remain to be fixed.
* A day or so taken up by move to a new desktop machine (but
builds should go faster now!)
NB: I'm not working on Wednesday or Friday next week.
thanks
-- PMM
== Progress ==
* LLVM 8.0.0 Release for ARM & AArch64 [LLVM-526]
- LLVM 8.0.0 is out!
* [Thumb GlobalISel] Bugfixes [LLVM-544]
- Patch for alignment issues ready to commit next week
- With the patch, we can build clang successfully, but it fails some
of its tests
- Investigated one of the tests, it's failing because we end up
representing 'true' as '-1'. Going to prepare a patch for that next
week
* IR SVE Reviews [LLVM-545]
- Reviewed D32530 - Scalable Vector IR Type
* Buildbot babysitting
- Reported some failures upstream
- Complained about non-deterministic libfuzzer tests
== Plan ==
* LLVM-544, LLVM-545
== Progress ==
* FDPIC
- Setting up new stm32f429-disc1 board. Still not working with recent kernel
* GCC upstream validation:
- reported a few regressions
* GCC:
- (GNU-99) ubsan / bare-metal. No progress.
* misc (conf-calls, meetings, emails, ....)
- reviewing infra script patches
- added qemu as a toolchain component supported by ABE.
- merged tcwg_bmk branch into master
== Next ==
FDPIC:
- GCC: handle feedback on v4 patches
- GDB: update patches
- uclibc-ng: look at how to test fdpic mode with openadk
- complete board setup
Infra:
- benchmarking jobs update