(Previous week was Connect.)
Progress: (short week, 3 days)
* VIRT-65 [QEMU upstream maintainership]
+ QEMU release work: flurry of last minute stuff for rc3.
I hoped we would not need an rc4, but as usual a release-critical
issue was found, so we will be having one.
+ code review
thanks
-- PMM
== Progress ==
* FDPIC
- Experimenting with stm32f469-disco. It seems recent gdbserver is now
too large to load (issues when trying to map libstdc++.so while
attempting to load a simple hello.c)
* GCC upstream validation:
- little activity this week, close to e/o stage 4
* GCC
- ubsan on bare-metal toolchain: experimenting with multlibs
* Infra
- improved reporting of some jobs, improved error handling
== Next ==
More of the on-going tasks
== Progress ==
* LLVM 7.1.0 Release for ARM & AArch64 [LLVM-546]
- Final candidate build in progress
* [GlobalISel] Map and select G_FCONSTANT [LLVM-552]
- Committed upstream
* [GlobalISel] Better support for small types [LLVM-553]
- In progress
== Plan ==
* LLVM-546, LLVM-553
[Conferences]
Linaro connect and EuroLLVM. Please see trip reports already posted. A
bit of a gruelling week of Travel going from Bangkok straight to
Brussels, with just a short half a day in between at home in
Cambridge.
[Activity]
- A number of reviews whilst away
- Started looking at how to build an embedded toolchain with Linaro's
ABE and work out how to fit it into their infrastructure.
Planned Absences
Holiday 12- 16th, back on Wednesday.
== Progress ==
* FDPIC
- Experimenting with stm32f469-disco
* GCC upstream validation:
- reported a few regressions
* GCC
- ubsan on bare-metal toolchain: enabling more multilibs triggered an
assert in the linker.
* Infra
- improved reporting of some jobs
== 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
== Progress ==
* LLVM 7.1.0 Release for ARM & AArch64 [LLVM-546]
- Uploaded RC1 for both ARM & AArch64
* [GlobalISel] Support debug info [LLVM-549]
- Added support for DBG_VALUE, seems to be enough for now
* [GlobalISel] Map and select G_FCONSTANT [LLVM-552]
- In progress
* IR SVE Reviews [LLVM-545]
- More reading, discussions etc
== Plan ==
* More of the same
[VIRT-263 # ARMv8.1-VHE Virtual Host Extensions ]
More progress, but still crashing early. Crashes on first
memory access after swapping ttbr1. Debugging kernel on
guest and qemu on host simultaneously. So far, all the
numbers look right but still boom.
[VIRT-339 # ARMv8.5-BTI, Branch Target Identification ]
Posted a v4 using the PT_NOTE, but still RFC-ish due to
missing abi for new mmap flag.
[VIRT-327 # Richard's upstream QEMU work ]
Posted v1+v2 of CPUNegativeOffsetState.
Posted v1 of a cleanup of target/riscv wrt decodetree.
[Other]
Upgraded the laptop from fedora 27 (out of support now),
to ubuntu 18.04 lts.
r~
[Activity]
[LLVM-542] Compiling zephyr with clang
- Prepared for presentation/discussion with colleagues at Connect next week.
- Made the installation process a bit more repeatable
- Added support for -Oz
[Intel-CET] patches to LLD (similar to BTI)
- Code-owner has redesigned the patches and they look a lot better and
more likely to go in. Shouldn't be too difficult to build BTI on top
of.
[LLVM-523] .ARM.exidx redesign
- Now committed, and has stuck for at least a day without needing to
be reverted.
Linaro Connect
- Preparations for hack room
- Gave dry run of presentation for Doughnuts. Will need to cut out
some material to get through in time.
Next week:
At Linaro Connect
Then at EuroLLVM
Then most likely on holiday for remainder of that week.
== Progress ==
* FDPIC
- Discovered that my stm32f429-disc1 board is not suitable for recent
Linux kernels (too large). Will experiment with stm32f469-disco
* GCC upstream validation:
- reported a few regressions
* misc (conf-calls, meetings, emails, ....)
- reviewed infra script patches
- fixed small issues after adding QEMU as a toolchain component in ABE
- added jobs to monitor Jenkins slaves
- fixed issues in benchmarking scripts
== 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
== Progress ==
* LLVM 7.1.0 Release for ARM & AArch64 [LLVM-546]
- Fixed our infra scripts to work for 7.1.0 (looks like it's the
first ever minor release since the new numbering scheme was
introduced)
- AArch64 is ready and green, ARM still in progress
* [Thumb GlobalISel] Bugfixes [LLVM-544]
- Committed the patch for alignment issues and 2 other patches for
1-bit value handling
- Selfhosted clang now passes check-all
* IR SVE Reviews [LLVM-545]
- More reading, installed armie etc
== Plan ==
* More of the same
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
QEMU - https://github.com/qemu/qemu
Any pointers on where I can find pkg-config? Thanks in advance.
Thanks
Rohit
-----------------------------------------------------------------------------------
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.
-----------------------------------------------------------------------------------
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