o LLVM
* Machine Outliner on ARM prototype:
- Working on saving LR in a register support
- Working on stack fixups mechanism
* libcxxabi exception address alignment test failure:
- Fix submitted upstream
o Misc
* Various meetings and discussions.
== Progress ==
* FDPIC
- uClibc-ng: investigated regression in non-FDPIC code, preparing v2 patches
* GCC upstream validation:
- looking at some random noise in testing
- reported a couple of regressions
* Infrastructure:
- misc cleanups
* misc (conf-calls, meetings, emails, ....)
== Next ==
1-day week, the holidays. Back on Aug 29th
[VIRT-198 # QEMU: SVE Emulation Support ]
Fixed 4 bugs pointed out by Laurent on list.
Dump sve state with -d fpu.
[VIRT-249 # SVE System Mode ]
Clear sve state on vector length change on EL change.
[Upstream]
Finished v5 review of nanomips.
Fixed 4 sparc clone bugs.
Fixed a ppc fp load/store bug I introduced in June.
[Glibc]
Adjusted _dl_runtime_resolve and friends for the new ARM vector ABI;
posted for comment. ARM folk pointed out that I'd have to save even
more state than that, and really the compiler needs fixing to avoid
the PLT completely. The right people are talking about the problem.
r~
SVE Support ([VIRT-198])
========================
- traced the svetest failure from Naoki @ Naist to SVE ABI issue with
dynamic linker
- rth has posted [a fix for glibc] and a bug raised for armclang
w.r.t. noplt
- looking into Nils's SVE enabled Test_simd from Grid failure
- __attribute__((noinline)) makes it go away, so subtle code
difference
- looking through side-by-side traces to find where it went wrong
[VIRT-198] https://projects.linaro.org/browse/VIRT-198
[a fix for glibc]
https://sourceware.org/ml/libc-alpha/2018-08/msg00017.html
SVE Reviews
- reviewed {Qemu-devel} {PATCH 0/4} target/arm sve fixes Message-Id:
<20180801123111.3595-1-richard.henderson(a)linaro.org>
QEMU ARMv8.3 Support ([VIRT-241])
=================================
- had a [quick run at VHE] which crystallised some of the issues with
register aliasing
- obviously need to sit and think about a design for this
[VIRT-241] https://projects.linaro.org/browse/VIRT-241
[ARMv8.1 Mandatory Features]
https://projects.linaro.org/browse/TCWG-1434
[ARMv8.1 optional features] https://projects.linaro.org/browse/TCWG-1435
[quick run at VHE] https://github.com/stsquad/qemu/tree/add-vhe-rfc
Upstream Work ([VIRT-109])
==========================
- posted {PATCH v1 for 3.0 0/2} fix for bug 1783362 Message-Id:
<20180726132947.28538-1-alex.bennee(a)linaro.org>
- started reviewing {PATCH v5 00/24} Fixing record/replay and adding
reverse debugging Message-Id:
<20180725121311.12867.21729.stgit@pasha-VirtualBox>
- number of build issues need to be resolved
[VIRT-109] https://projects.linaro.org/browse/VIRT-109
Completed Reviews [3/3]
=======================
{PATCH 0/3} linux-user/sparc: Fixes for clone
Message-Id: <20180730201553.32423-1-richard.henderson(a)linaro.org>
- CLOSING NOTE [2018-08-01 Wed 14:35]
Still some issues with the tests
{PATCH v5 00/24} Fixing record/replay and adding reverse debugging
Message-Id: <20180725121311.12867.21729.stgit@pasha-VirtualBox>
- CLOSING NOTE [2018-08-01 Wed 14:36]
Bunch of build failures... gave up.
{Qemu-devel} {PATCH 0/4} target/arm sve fixes
Message-Id: <20180801123111.3595-1-richard.henderson(a)linaro.org>
- CLOSING NOTE [2018-08-02 Thu 10:28]
Looks good, but hasn't solved all remaining problems.
Absences
========
- YVR18 Connect (17th-21st September 2018)
- KVM Forum 2018 (24th-26th October 2018)
Current Review Queue
====================
* {PATCH 0/5} tests/vm: Improvements when KVM is not available
Message-Id: <20180717024827.27897-1-f4bug(a)amsat.org>
* {RFC PATCH 00/12} tests/tcg: Add TriCore tests
Message-Id: <20180501142222.19154-1-kbastian(a)mail.uni-paderborn.de>
* {PATCH v4 00/14} fp-test + hardfloat
Message-Id: <1528768140-17894-1-git-send-email-cota(a)braap.org>
* {Qemu-devel} {RFC PATCH v2 0/7} QEMU binary instrumentation prototype
Message-Id: <152819515565.30857.16834004920507717324.stgit@pasha-ThinkPad-T60>
* {Qemu-devel} {RFC v2 0/2} Add BPF suuport to Qemu
Message-Id: <20180625110706.23332-1-sameeh(a)daynix.com>
* {PATCH 0/4} tests/vm: various trivial fixes
Message-Id: <20180628153535.1411-1-f4bug(a)amsat.org>
--
Alex Bennée
[TCWG-1450] Support for Tag_ABI_VFP_args in LLD
Needed by FreeBSD in order to switch to LLD for Arm.
[TCWG-1451] Support for v5 and v6 Arm in LLD
Tidied up and submitted patches for v5/v6 (branch encoding and
compatible thunks), in upstream review.
[TCWG]
- Started doing some Jira gardening in preparation for status report
- Went back to libfuzzer hang on AArch64 buildbot. Looks like failure
to converge on -O2 and above, from the logs and code-generation I
suspect that it isn't handling the CINC instruction well (not
increasing coverage when the condition passes).
Progres:s
* VIRT-65 [QEMU upstream maintainership]
+ some time spent getting testing on BSD VMs working again (the box I
use for this was replaced with new hardware, which seemed like a good
time to shift to the support for this we have in upstream QEMU)
+ pre-Connect scrub of Linaro JIRA tasks to check they're up to date
+ sent some more "convert devices away from old_mmio API" patches
+ usual release work
* VIRT-164 [improve Cortex-M emulation]
+ finished, tested and sent patchset implementing MPS2 FPGAIO counters
and the CMSDK dual-timer device
+ implemented model of CMSDK watchdog timer
+ implemented minimal version of IoTKit system control element registers
+ started on modelling the Master Security Controller (which gates
transactions from bus master peripherals like DMA controllers)
thanks
-- PMM
=== Work done during this 4day week ===
* Continued looking into MCF branch prediction overload due to too
many consecutive branches:
+ managed to get reproducible results
-> was missing --buildid-dir option when invoking perf
-> above flag seems ignored if a binary with same path exists
where the initial binary was built
+ rerun again sampling only one event to confirm I get # of samples
* sampling freq = run time
-> conclusion: LLVM as good as GCC for SPEC2006 MCF, profile
different because LLVM inlines one of the hot functions
* GCC PR85434 / CVE-2018-12886: upstream review
+ finish testing and submit for external review
* LLVM PR34170:
+ address comments and commit once approved
-> most build bot failed to run the test the commit added, got
reverted before I could
+ investigate test failure -> does not fail when LLVM compiled with
GCC or in Debug mode
* Continue work on DSGHACK-25 (Support arithmetic on FileCheck regex variable):
+ hammer out syntax based on upstream feedback about what would be
desirable as FileCheck expressions
* Misc:
+ Linaro LLVM buildbot babysitting
+ upstream code review
* One day off on Friday
=== Plan for week 31 ===
* TCWG-1428 (Support arithmetic on FileCheck regex variable): address comments
+ rework patch once syntax is agreed
* Track down what causes testcase added for patch 2/3 for LLVM PR34170
* Try to reproduce perf issue mentioned above on latest perf
o Back from vacation Thu 24th
o LLVM Machine Outliner on ARM
* Caught up with upstream developments
* Rebased prototype on upstream
* Committed patch to assert when liveness tracking is not accurate
o Misc
* Various meetings and discussions.
[VIRT-198 # QEMU: SVE Emulation Support ]
Added sve-max-vq cpu property to adjust the sve vector length
from the qemu command-line, a-la "-cpu max,sve-max-vq=N".
[VIRT-249 # SVE System Mode ]
Reorganized all of the load/store helpers to handle bi-endian,
and pass in TCGMemOpIdx for use by softmmu.
[Upstream]
Round 3 of nanomips review.
Other review of -rc3 and 3.1 patches.
r~
4 day week.
[TCWG-1424] Investigate profile feedback on codesize
Have now got all the data I need, started the process of tidying up
scripts to analyse whether it is worth posting upstream and what the
best default parameters are.
[Misc]
Track down problem on AArch64 build-bot to a likely code-gen problem
in Clang 3.8 for AArch64 only. Wrote a patch to use clang 6.0 on all
the Linaro buildbots rather than just the libcxx builder. Will
hopefully get deployed next week.
[LLD] Work on adding support for EF_ARM_ABI_FLOAT_HARD and EF_ARM_ABI_FLOAT_SOFT
Needed to unblock freebsd from moving onto trunk
Mostly done, just need to finish adding tests. Might be a good jumping
off point to implement full build attributes support.