[LLVM-158] Monitor and maintain buildbots
- Some work to track down a faulty msan test on AArch64 that was
intermittently failing.
- Spent some time trying to reproduce an intermittent failure in libfuzzer.
[LLVM-523] Synthesise EXIDX_CANTUNWIND entries for sections without tables.
- Not getting much response from upstream beyond a vague suggestion to
rewrite the whole of .ARM.exidx handling as a single custom section. I
may have to go down this path to get the feature accepted, even if it
is to show that it is a bad idea.
[LLVM-496] LLD in linux kernel
- Submitted patch to ignore -p (--no-pipeline-knowledge) which is used
by the AArch32 linux kernel.
- Submitted patch to integrate LLD in TCWG kernel regression test.
- Learned, the hard way, about how the linux kernel build system works
and how to pass extra flags.
Reviews:
Spent an awful long time looking at how clang passes options to GNU as
to try and match the existing clang defaults. I'm not sure I've seen
anything much more confusing than tracing through target features from
clang to llvm and back again.
re-essayer de flash le kernel sur la board (mais est-ce possible vu
qu'il semble plus gros que la flash?)
$ openocd -f /usr/share/openocd/scripts/board/stm32f429discovery.cfg
-f flash-kernel.cfg
[...]
Info : device id = 0x20016419
Info : flash size = 2048kbytes
Info : Dual Bank 2048 kiB STM32F42x/43x/469/479 found
Warn : no flash bank found for address 0
wrote 0 bytes from file
/home/lyon/src/kernel/linux/arch/arm/boot/xipImage in 0.007352s (0.000
KiB/s)
** Programming Finished **
demander de l'aide aux gens de ST?
re-essayer avec un openocd plus recent
== Progress ==
* FDPIC
- (GNU-411) GDB: debugging problems with FDPIC support. Trying to
setup a stm32 board to avoid problems with unsupported configurations
mix between kernel and qemu.
* GCC upstream validation:
- reported a few regressions
* GCC:
- (GNU-99) ubsan / bare-metal. No progress.
* misc (conf-calls, meetings, emails, ....)
- reviewing infra script patches
- debugging new benchmarking round-robin jobs
== Next ==
Holidays, back on March 4th
== Next-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
Progress:
* VIRT-65 [QEMU upstream maintainership]
+ patch review: RTH's JSConv/FHM patchset
+ sent another arm pull request
* VIRT-268 [QEMU support for dual-core Cortex-M Musca board]
+ Implemented and wired up the SSE-200 Message Handling Units
+ Implemented the mechanism by which a guest can power up CPU 1
+ Sent out patches for these; this can run the Zephyr MHU/dualcore testcase
+ Started looking at implementing floating point support for M profile
thanks
-- PMM
== Progress ==
* [Thumb GlobalISel] Support control flow [LLVM-530]
- Committed upstream
* [Thumb GlobalISel] Support accessing the stack [LLVM-527]
- Committed upstream
* [Thumb GlobalISel] Support floating point [LLVM-531]
- Committed upstream
* LLVM 8.0.0 Release for ARM & AArch64 [LLVM-526]
- Investigated the release blocker from rc1, turned out to be an
issue with the filesystem used in the container on the APMs
- Changed the release job to run on the D05 instead, where we use a
different container [LLVM-539]
- Testing still in progress
== Plan ==
* [Thumb GlobalISel] Support global variables [LLVM-540]
* Out of office between 4 - 8 March
== Progress ==
* PR88834:
* Have a patch for ivopt and backend that generates the required
addressing mode and code. Still need cleanup and some improvements.
* PR88836
Made the required changes to the backend.
CSE is still not happening. Looked at CSE in detail and made few
changes but still need more work. The issues are:
- Parallel rtx with one setting a register and other using it will
be immediately invalidated as the invalidation happens after
processing both.
- If CSE is such that one instruction is with one constant operand
and other with constant in a register, it will not be detected
- VEC_DUPLICATE is not handled.
- Not sure any other pass like GCSE is a better option
== Plan ==
* Complete above PRs
* Look at GDB BZ #21221 - gdb hangs while stepping an empty loop
[VIRT-68 # QEMU should implement tagged pointer support ]
Closed. We merged these patches on Feb 5.
[VIRT-242 # ARMv8.3-JSCVT ]
Sent v4.
[VIRT-274 # ARMv8.2-FHM, Floating-point multiplication variant ]
Sent v2.
[VIRT-344 # ARMv8.5-MemTag, Memory Tagging Extension ]
Sent v3 vs 00eac6.
[VIRT-327 # Richard's upstream QEMU work ]
Reviewed s390 floating point extension feature.
Fixed AT_PLATFORM for arm-linux-user and aarch64_be-linux-user.
Implemented missing float_round_to_odd functionality.
r~
QEMU Tooling ([VIRT-252])
=========================
[VIRT-280] https://projects.linaro.org/browse/VIRT-280
QEMU plugin support ([VIRT-280])
- posted {PATCH v3 0/3} softmmu demacro Message-Id:
<20190215143115.28777-1-alex.bennee(a)linaro.org>
- awaiting v3 of plugin patches :todo
Upstream Work ([VIRT-109])
==========================
- posted {PULL 00/18} testing updates: travis/cirrus/vm-test/binfmt
Message-Id: <20190211130507.8710-1-alex.bennee(a)linaro.org>
- posted {PATCH v2 0/6} HWCAP_CPUID registers for aarch64 Message-Id:
<20190205190224.2198-1-alex.bennee(a)linaro.org>
- fixes pulled into target-arm.next
- test case held back due to compiler version needed, need to respin
- posted {PATCH v2} hw/block: report when pflash backing file isn't
aligned Message-Id: <20190215122808.22301-1-alex.bennee(a)linaro.org>
- prompted further discussion on best solution as -pflash fails in
ways -bios doesn't
[VIRT-109] https://projects.linaro.org/browse/VIRT-109
Other
=====
- Spent time building cross-tools for Debian/ARM64
- sent {PATCH} binutils: enable s390x/ppc64el on arm64 hosts
Message-Id: <20190212140851.22478-1-alex.bennee(a)linaro.org>
- Discussion on [Debian #921458] (buster apt source qemu)
- upstream consensus seems to be it is acceptable
- apt-get build-dep --arch-only qemu
[Debian #921458]
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=921458
Completed Reviews [1/1]
=======================
{RFC} arm: Allow system registers for KVM guests to be changed by QEMU code
Message-Id: <20181206151401.13455-1-peter.maydell(a)linaro.org>
- CLOSING NOTE [2019-02-13 Wed 16:30]
Looks fine, although we still need to keep squashing single-step
while debug is on
Absences
========
- 15-18th Feb (long w/e)
- Connect BKK19 (1-5th April 2019)
- holiday after Connect
Current Review Queue
====================
* {PATCH 0/4} target/arm: Reduce overhead of cpu_get_tb_cpu_state
Message-Id: <20190214040652.4811-1-richard.henderson(a)linaro.org>
* {RFC v2 00/38} Plugin support
Message-Id: <20181209193749.12277-1-cota(a)braap.org>
* {Qemu-devel} {PATCH v6 00/49} linux-user: Split do_syscall
Message-Id: <20190118213122.22865-1-richard.henderson(a)linaro.org>
* {PATCH 0/5} target/mips: Add MSA ASE tests
Message-Id: <1550001205-7883-1-git-send-email-aleksandar.markovic(a)rt-rk.com>
* {Qemu-arm} {PATCH 00/25} Kconfig dependencies for ARM machines
Message-Id: <1549694366-1284-1-git-send-email-thuth(a)redhat.com>
* {RFC QEMU v2 0/2} arm/virt: Account for guest pause time
Message-Id: <1543352837-21529-1-git-send-email-bijan.mottahedeh(a)oracle.com>
--
Alex Bennée
Progress:
* VIRT-65 [QEMU upstream maintainership]
+ usual code review/maintainer work
+ Coverity Scan is back up; triaged the issues that it found
+ updated OSX "handle Mojave" patchset to actually wire
up events correctly; sent v2
* VIRT-268 [QEMU support for dual-core Cortex-M Musca board]
+ Finished, tested and sent out the initial Musca board model
patches for review
+ Fixed a handful of random bugs identified in the course
of doing this and testing it with various guests
+ Investigated why tip-of-trunk ARM-TFM stopped working on
the mps2-an521 model; turned out to be a QEMU bug which I have
sent out a patch for
thanks
-- PMM
== Progress ==
* [Thumb GlobalISel] Support G_SELECT [LLVM-529]
- Committed upstream
* [Thumb GlobalISel] Support control flow [LLVM-530]
- Committed support for branches
- Support for PHI in progress
* LLVM 8.0.0 Release for ARM & AArch64 [LLVM-526]
- rc2 uploaded, no changes from rc1 on our side
* Use new version of GCC on buildbots [LLVM-515]
- Restarted the buildbots, they are running GCC 7 now
* Buildbot babysitting [LLVM-158]
- Reproduced a couple of failures, ran a pre-commit for one of them
== Plan ==
* Continue LLVM-526 and LLVM-530
== This Week ==
* SVE ACLE (4/10)
- Committed svlsl patch to branch
* SVE (3/10)
- Studying GCC's vectorizer
- Started looking at PR88839
* Validation (2/10)
- GNU-156: Working on tcwg_gnu CI job.
* Misc (1/10)
- Meetings
- Filed PR89332 in GCC bugzilla.
== Next Week ==
- Continue ongoing tasks
[VIRT-242 # ARMv8.3-JSCVT ]
Posted v1 & v2.
[VIRT-339 # ARMv8.5-BTI, Branch Target Identification ]
Posted v3.
[VIRT-327 # Richard's upstream QEMU work ]
Posted v3 of arm tcg vector improvements. Now uses ssadd & usadd tcg opcodes
from AdvSIMD and not just SVE. This would have made it easier to find a bug in
my previous tcg backend patches.
Found the last two bugs in a conversion of target/hppa to decodetree, and
posted the patch set. Sent pull request for some other queued hppa patches.
Fix a minor RISU bug wrt SVE.
[LoAAS]
Travel to/from Cambridge for 2 days of Linux on ARM Summit.
r~
== Progress ==
* FDPIC
- (GNU-411) GDB: debugging problems with FDPIC support.
* GCC upstream validation:
- reported a few regressions, helping test patches
- dealing with some random results, still
* GCC:
- (GNU-99) rebased ubsan / bare-metal patches. No progress.
* misc (conf-calls, meetings, emails, ....)
- reviewing/submitted infra script patches
- debugging new benchmarking round-robin jobs
== Next ==
FDPIC:
- GCC: handle feedback on v4 patches
- GDB: update patches
- uclibc-ng: look at how to test fdpic mode with openadk
Infra:
- benchmarking jobs
QEMU Tooling ([VIRT-252])
=========================
QEMU plugin support ([VIRT-280])
- re-based [ldst demacro to v3]
- recollect stats to see if slowdown still there :todo
- awaiting v3 of plugin patches
[VIRT-280] https://projects.linaro.org/browse/VIRT-280
[ldst demacro to v3]
https://github.com/stsquad/qemu/tree/ldst/demacrofy-v3
Upstream Work ([VIRT-109])
==========================
- need to finish the re-work of [system test and misc arch] tests
:todo
- will be useful for test cases for plugins
- also more test cases queued up for system tests
- debugged an occasional failure in pauth-1 test case
- expected given PAuth architecture, test needs tightening up
- posted {PATCH v1 0/4} HWCAP_CPUID registers for aarch64 Message-Id:
<20190128173940.25813-1-alex.bennee(a)linaro.org>
- posted {PATCH v2 0/6} HWCAP_CPUID registers for aarch64 Message-Id:
<20190205190224.2198-1-alex.bennee(a)linaro.org>
- posted {PATCH v2 00/16} current testing/next queue (with build
fixes) Message-Id: <20190207183744.5054-1-alex.bennee(a)linaro.org>
- this fixes regression of check-tcg but also
- discovered the Debian Buster's QEMU arm64 packaging is broken
- spent time trying to able to join #debian's IRC channels (aws
hosts banned!)
- tried to revive the cross-tools packaging I'd started with Wookey
last Connect
[VIRT-109] https://projects.linaro.org/browse/VIRT-109
[the linux-user multiarch but it is not ready yet]
https://github.com/stsquad/qemu/tree/testing/next-with-linux-user
[system test and misc arch]
https://github.com/stsquad/qemu/tree/testing/enable-system-tcg-tests-v2
Other
=====
- Connect talk has been accepted, Friday 8.30 slot
Completed Reviews [1/1]
=======================
{Qemu-arm} {PATCH v6 00/73} per-CPU locks
Message-Id: <20190130004811.27372-1-cota(a)braap.org>
- CLOSING NOTE [2019-02-08 Fri 17:19]
Looks good, improves MTTCG scalability to 10-12 core now ;-)
Absences
========
- 15-18th Feb (long w/e)
- Connect BKK19 (1-5th April 2019)
- holiday after Connect
Current Review Queue
====================
* {RFC} arm: Allow system registers for KVM guests to be changed by QEMU code
Message-Id: <20181206151401.13455-1-peter.maydell(a)linaro.org>
* {RFC v2 00/38} Plugin support
Message-Id: <20181209193749.12277-1-cota(a)braap.org>
* {RFC QEMU v2 0/2} arm/virt: Account for guest pause time
Message-Id: <1543352837-21529-1-git-send-email-bijan.mottahedeh(a)oracle.com>
* {PATCH v12 00/25} Fixing record/replay and adding reverse debugging
Message-Id: <154935478086.7509.4349987292919289245.stgit@pasha-VirtualBox>
* {PATCH v2 00/18} OpenBSD: Enable qtesting
Message-Id: <20190129175403.18017-1-philmd(a)redhat.com>
* {PATCH v11 00/25} Fixing record/replay and adding reverse debugging
Message-Id: <20190131131520.23264.75724.stgit@pasha-VirtualBox>
--
Alex Bennée
Fosdem:
- Presented on LLD performance at LLVM devroom
https://fosdem.org/2019/schedule/track/llvm/
- Other interesting presentations from the devroom include:
-- Compiling the Linux kernel with LLVM tools
-- Lessons in TableGen
LLVM-523 LLD should synthesise .cantunwind .ARM.exidx sections for
sections without them
- Implementation and regression tests done. Will do a bit more testing
and post upstream on Monday.
LLVM-521 Taking the address of an ifunc in LLD
- Spent some time reviewing upstream patch that should fix the
remaining LLD ifunc address equivalence problems for all Targets.
Progress:
* VIRT-65 [QEMU upstream maintainership]
+ reviewed RTH's patchsets for BTI and MemTag support
* VIRT-268 [QEMU support for dual-core Cortex-M Musca board]
+ Implemented a first pass at a Musca board model, which
has the PPC and MPC infrastructure, plus RAM, and ROM for
the flash; need to add at least the UARTs and do some testing
* misc
+ sorting out travel arrangements, visa, etc for Connect
+ kicked off a discussion on whether there are aspects of
QEMU's role as the userspace component of a KVM VM that
Linaro should be putting more effort/attention into
thanks
-- PMM
== Progress ==
* Out of office on Monday
* [Thumb GlobalISel] Support G_GEP [LLVM-532]
- Committed upstream
* [Thumb GlobalISel] Support G_ICMP [LLVM-528]
- Committed upstream
* [Thumb GlobalISel] Support G_SELECT [LLVM-529]
- Almost ready to commit
* LLVM 8.0.0 Release for ARM & AArch64 [LLVM-526]
- rc2 in progress
* Minor changes to Jenkins jobs [LLVM-533]
- TCWG Regression Detection job: launch LLVM 7.0.0 release on xenial
containers (as opposed to 6.0.0 on trusty)
- Release job: forced parallelism to 3 on the TK1s, to reduce some
of the swapping; also posted a patch upstream to allow us to use
ninja, so we can limit only the number of link jobs (like we do on the
buildbots)
== Plan ==
* Continue LLVM-526 and LLVM-529
* Use new version of GCC on buildbots [LLVM-515]
- Restart the buildbots so they begin using GCC 7
Hi,
I found that the bare-metal toolchains for aarch64 from Linaro could not seem
to link objects to generate executable files successfully.
====================
Toolchain:
https://releases.linaro.org/components/toolchain/binaries/7.3-2018.05/aarch…
====================
Testcase:
> cat test.c
#include <stdio.h>
int main(int argc, char* argv[])
{
printf("Hello World!\n");
return 0;
}
> aarch64-elf-gcc -o test test.c
.../gcc-linaro-7.3.1-2018.05-x86_64_aarch64-elf/bin/../aarch64-elf/libc/usr/lib/crt0.o: In function `_start':
/home/tcwg-buildslave/workspace/tcwg-make-release/builder_arch/amd64/label/tcwg-x86_64-build/target/aarch64-elf/snapshots/newlib.git~linaro-local~linaro-newlib-2_5_0/libgloss/aarch64/crt0.S:148: undefined reference to `initialise_monitor_handles'
.../gcc-linaro-7.3.1-2018.05-x86_64_aarch64-elf/bin/../aarch64-elf/libc/usr/lib/libc.a(lib_a-exit.o): In function `exit':
/home/tcwg-buildslave/workspace/tcwg-make-release/builder_arch/amd64/label/tcwg-x86_64-build/target/aarch64-elf/snapshots/newlib.git~linaro-local~linaro-newlib-2_5_0/newlib/libc/stdlib/exit.c:70: undefined reference to `_exit'
.../gcc-linaro-7.3.1-2018.05-x86_64_aarch64-elf/bin/../aarch64-elf/libc/usr/lib/libc.a(lib_a-sbrkr.o): In function `_sbrk_r':
/home/tcwg-buildslave/workspace/tcwg-make-release/builder_arch/amd64/label/tcwg-x86_64-build/target/aarch64-elf/snapshots/newlib.git~linaro-local~linaro-newlib-2_5_0/newlib/libc/reent/sbrkr.c:58: undefined reference to `_sbrk'
.../gcc-linaro-7.3.1-2018.05-x86_64_aarch64-elf/bin/../aarch64-elf/libc/usr/lib/libc.a(lib_a-writer.o): In function `_write_r':
/home/tcwg-buildslave/workspace/tcwg-make-release/builder_arch/amd64/label/tcwg-x86_64-build/target/aarch64-elf/snapshots/newlib.git~linaro-local~linaro-newlib-2_5_0/newlib/libc/reent/writer.c:58: undefined reference to `_write'
.../gcc-linaro-7.3.1-2018.05-x86_64_aarch64-elf/bin/../aarch64-elf/libc/usr/lib/libc.a(lib_a-closer.o): In function `_close_r':
/home/tcwg-buildslave/workspace/tcwg-make-release/builder_arch/amd64/label/tcwg-x86_64-build/target/aarch64-elf/snapshots/newlib.git~linaro-local~linaro-newlib-2_5_0/newlib/libc/reent/closer.c:53: undefined reference to `_close'
.../gcc-linaro-7.3.1-2018.05-x86_64_aarch64-elf/bin/../aarch64-elf/libc/usr/lib/libc.a(lib_a-lseekr.o): In function `_lseek_r':
/home/tcwg-buildslave/workspace/tcwg-make-release/builder_arch/amd64/label/tcwg-x86_64-build/target/aarch64-elf/snapshots/newlib.git~linaro-local~linaro-newlib-2_5_0/newlib/libc/reent/lseekr.c:58: undefined reference to `_lseek'
.../gcc-linaro-7.3.1-2018.05-x86_64_aarch64-elf/bin/../aarch64-elf/libc/usr/lib/libc.a(lib_a-readr.o): In function `_read_r':
/home/tcwg-buildslave/workspace/tcwg-make-release/builder_arch/amd64/label/tcwg-x86_64-build/target/aarch64-elf/snapshots/newlib.git~linaro-local~linaro-newlib-2_5_0/newlib/libc/reent/readr.c:58: undefined reference to `_read'
.../gcc-linaro-7.3.1-2018.05-x86_64_aarch64-elf/bin/../aarch64-elf/libc/usr/lib/libc.a(lib_a-fstatr.o): In function `_fstat_r':
/home/tcwg-buildslave/workspace/tcwg-make-release/builder_arch/amd64/label/tcwg-x86_64-build/target/aarch64-elf/snapshots/newlib.git~linaro-local~linaro-newlib-2_5_0/newlib/libc/reent/fstatr.c:62: undefined reference to `_fstat'
.../gcc-linaro-7.3.1-2018.05-x86_64_aarch64-elf/bin/../aarch64-elf/libc/usr/lib/libc.a(lib_a-isattyr.o): In function `_isatty_r':
/home/tcwg-buildslave/workspace/tcwg-make-release/builder_arch/amd64/label/tcwg-x86_64-build/target/aarch64-elf/snapshots/newlib.git~linaro-local~linaro-newlib-2_5_0/newlib/libc/reent/isattyr.c:58: undefined reference to `_isatty'
collect2: error: ld returned 1 exit status
In addition, there was the same bug in 7.4.1-2019.02 version, but not in arm-eabi
or armeb-eabi.
Is there anyone fixing this?
Thanks,
Junling
== Progress ==
* Short week
- Annual Leave 2 days
- Public Holiday 1 day (Australia day)
*SVE ACLE
- Revised remaining ACLE patches
- svbic revised and reviewed
* Auto Vectorizer
- Looking at auto vectorisation SVE
== Plan ==
* SVE ACLE
* Look at PR88834
[VIRT-294 # ARMv8.3-PAuth, Pointer Authentication ]
Fixed HCR/SCR enablement of API/APK.
Posted v2 of the prctl.
[VIRT-339 # ARMv8.5-BTI, Branch Target Identification ]
Posted v2.
[VIRT-327 # Richard's upstream QEMU work ]
Implemented variable-length decoding in scripts/decodetree.py.
Lots of fiddling about with the RX ISA to understand what was
actually needed within decodetree.
Pull request for vector extensions and dynamic tlb sizing.
Finished MPS review.
r~
Upstream Work ([VIRT-109])
==========================
- need to finish the re-work of [system test and misc arch] tests
:todo
- will be useful for test cases for plugins
- also more test cases queued up for system tests
- posted userspace CPUID access patches Message-Id:
<20190128173940.25813-1-alex.bennee(a)linaro.org>
- spent some time debugging PAuth kernel boot regression
- rth posted a fix for the regression Message-Id:
<20190129143511.12311-1-richard.henderson(a)linaro.org>
Other Tasks
===========
- rebuilt Zen after the /home SSD failed
- fortunately the backup drive had all the work in progress source
code
- moved to Debian Buster while I'm at it
- need to regenerate my images and foundation/FVP setup
- and realise quite how many tweaks I had baked into the old system
Completed Reviews [2/2]
=======================
{Qemu-devel} {PATCH 00/11} Enable build and install of our rST docs
Message-Id: <20190201145035.22739-1-peter.maydell(a)linaro.org>
{RFC PATCH 0/3} lm32: convert to new common tcg infrastructure
Message-Id: <20190131215611.29341-1-michael(a)walle.cc>
Absences
========
- Connect BKK19 (1-5th April 2019)
- holiday after Connect
Current Review Queue
====================
* {PATCH v2 00/18} OpenBSD: Enable qtesting
Message-Id: <20190129175403.18017-1-philmd(a)redhat.com>
* {PATCH v11 00/25} Fixing record/replay and adding reverse debugging
Message-Id: <20190131131520.23264.75724.stgit@pasha-VirtualBox>
* {RFC v2 00/38} Plugin support
Message-Id: <20181209193749.12277-1-cota(a)braap.org>
* {RFC} arm: Allow system registers for KVM guests to be changed by QEMU code
Message-Id: <20181206151401.13455-1-peter.maydell(a)linaro.org>
* {Qemu-devel} {PATCH v3 0/4} tcg: support heterogenous CPU clusters
Message-Id: <20190121152218.9592-1-peter.maydell(a)linaro.org>
* {Qemu-devel} {PATCH RFC 00/11} Add Renesas RX archtecture
Message-Id: <20190121131602.55003-1-ysato(a)users.sourceforge.jp>
--
Alex Bennée
Progress:
* VIRT-65 [QEMU upstream maintainership]
+ got the "use Sphinx for documentation" patchset to a point where I
think we could plausibly commit it to master; sent out for review
+ two arm pull requests
+ sent patches fixing decode errors for FCMLA
* VIRT-268 [QEMU support for dual-core Cortex-M Musca board]
+ AN521 model is now in upstream QEMU
thanks
-- PMM
== Progress ==
* FDPIC
- (GNU-411) GDB: debugging problems with FDPIC support.
* GCC upstream validation:
- reported a few regressions
- dealing with some random results, still
- qemu-3.1: switched to it this week
* GCC:
- (GNU-99) rebased ubsan / bare-metal patches. No progress.
- minor testsuite fixes
* misc (conf-calls, meetings, emails, ....)
- reviewing/submitted infra script patches
- debugging new benchmarking round-robin jobs
== Next ==
FDPIC:
- GCC: handle feedback on v4 patches
- GDB: update patches
- uclibc-ng: look at how to test fdpic mode with openadk
Infra:
- benchmarking jobs
== Progress ==
* Out of office on Friday
* [Thumb GlobalISel] Support divisions [LLVM-516]
- Committed upstream
* [Thumb GlobalISel] Support G_GEP [LLVM-532]
- Ready to commit next week
* LLVM 8.0.0 Release for ARM & AArch64 [LLVM-526]
- Posted binaries for rc1
- Created a bug report for a MSan failure on AArch64
* Use new version of GCC on buildbots [LLVM-515]
- Ready to use in production
== Plan ==
* More GlobalISel
* Patch up the Jenkins release job [LLVM-533]
== Progress ==
* FDPIC
- (GNU-411) GDB: debugging problems with FDPIC support.
* GCC upstream validation:
- reported a few regressions
- dealing with some random results, still
- qemu-3.1: plan to switch to it this week
* GCC:
- (GNU-99) rebased ubsan / bare-metal patches. No progress.
- minor testsuite fixes
* misc (conf-calls, meetings, emails, ....)
- reviewing/submitted infra script patches
- experimenting with new build servers
- started looking at new benchmarking round-robin jobs
== Next ==
FDPIC:
- GCC: handle feedback on v4 patches
- GDB: update patches
- uclibc-ng: look at how to test fdpic mode with openadk
== This Week ==
* SVE ACLE (8/10)
- WIP patch for svlsl
* Validation (1/10)
- Upsteam monitoring job based on round-robin.
- abe bug with make install
* Meetings (1/10)
== Next Week ==
- Continue ongoing tasks.
== Progress ==
* SVE ACLE
- Revised and reviewed svbic main briant svbic_z for bool
* Fixing uninit warning suppression from tree-ch pass
- Implemented a patch to handle this and regression test is fine.
Will post for review once stage 1 opens
* tree-reassoc improvements
- Looking at possible data structures to best represent
== Plan ==
* Continue with SVE ACLE
* Continue with tree-reassoc
[VIRT-294 # ARMv8.3-PAuth, Pointer Authentication ]
Finished up the linux-user emulation, and posted.
Reviewed a patch set from Huawei also touching PAuth.
[VIRT-327 # Richard's upstream QEMU work ]
Reviewed riscv decodetree v4 patchset.
Partial review of new target/rx patchset. It is confusing enough
to make me want to tackle the variable-length decodetree problem.
Reviewed softtlb resize v7 patchset; ported that to the remaining
tcg backends.
Part way through reviewing Peter's MPS2 patch set.
r~
QEMU Tooling ([VIRT-252])
=========================
QEMU plugin support ([VIRT-280])
- started reviewing {RFC v2 00/38} Plugin support Message-Id:
<20181209193749.12277-1-cota(a)braap.org>
- some bitrot when applied to current tree :/
[VIRT-280] https://projects.linaro.org/browse/VIRT-280
Upstream Work ([VIRT-109])
==========================
- respin {PATCH v3 0/5} support reading some CPUID/CNT registers from
user-space Message-Id:
<20180625160009.17437-1-alex.bennee(a)linaro.org>
- re-based [v3 branch] - I think the id reg stuff is now addressed
by rth's fixes
- still need to address other review comments
- posted {RFC PATCH 0/3} vmbuild tweaks for BSD targets Message-Id:
<20190121171543.32422-1-alex.bennee(a)linaro.org>
- posted {PATCH v3 00/11} current fpu/next queue (tests & build fix)
Message-Id: <20190122215016.18697-12-alex.bennee(a)linaro.org>
- finally solved the weird endianess issue
- merged in {PULL v2 00/11} check-softfloat, fp-bench and clang
compile fixes Message-Id:
<20190123114220.16972-1-alex.bennee(a)linaro.org>
- posted {PATCH v1 00/14} testing/next (binfmt_misc, vm-build and BSD
CI) Message-Id: <20190125140017.6092-1-alex.bennee(a)linaro.org>
- also did some work on [the linux-user multiarch but it is not
ready yet]
- need to finish the re-work of [system test and misc arch] tests
:todo
- will be useful for test cases for plugins
- also more test cases queued up for system tests
[VIRT-109] https://projects.linaro.org/browse/VIRT-109
[v3 branch]
https://github.com/stsquad/qemu/tree/misc/cnt-and-misc-reg-fixes-v3
[the linux-user multiarch but it is not ready yet]
https://github.com/stsquad/qemu/tree/testing/next-with-linux-user
[system test and misc arch]
https://github.com/stsquad/qemu/tree/testing/enable-system-tcg-tests-v2
Completed Reviews [2/2]
=======================
{PATCH 00/18} Acceptance Tests: target architecture support
Message-Id: <20190117185628.21862-1-crosa(a)redhat.com>
- CLOSING NOTE [2019-01-25 Fri 19:33]
Still a few edge cases to work out
{PATCH 0/2} contrib: gitdm: Some updates
Message-Id: <1547807155-4526-1-git-send-email-aleksandar.markovic(a)rt-rk.com>
- CLOSING NOTE [2019-01-25 Fri 19:33]
Queued to my tree
Absences
========
- Connect BKK19 (1-5th April 2019)
- holiday after Connect
Current Review Queue
====================
* {RFC v2 00/38} Plugin support
Message-Id: <20181209193749.12277-1-cota(a)braap.org>
* {RFC} arm: Allow system registers for KVM guests to be changed by QEMU code
Message-Id: <20181206151401.13455-1-peter.maydell(a)linaro.org>
* {Qemu-devel} {PATCH v3 0/4} tcg: support heterogenous CPU clusters
Message-Id: <20190121152218.9592-1-peter.maydell(a)linaro.org>
* {Qemu-devel} {PATCH RFC 00/11} Add Renesas RX archtecture
Message-Id: <20190121131602.55003-1-ysato(a)users.sourceforge.jp>
* {Qemu-devel} {PATCH 00/11} target/arm: Implement ARMv8.5-BTI
Message-Id: <20190110121736.23448-1-richard.henderson(a)linaro.org>
* {PATCH v5 00/73} per-CPU locks
Message-Id: <20181213050453.9677-1-cota(a)braap.org>
--
Alex Bennée
Majority of the week spent preparing for Fosdem talk on LLD:
- Built Chrome for Arm and AArch64 to investigate link time
performance on non-X86 platforms
-- Both gold and bfd take a considerable amount of time to produce
stubs/veneers/errata fixes
-- AArch64 link time is comparable to X86
- LLD gets more usage out of multithreading than gold
- Studied Gold and BFD structure to compare to LLD
- About half of slides written.
Some minor involvement with some investigations for ClangBuiltLinux.
Progress:
* VIRT-65 [QEMU upstream maintainership]
+ code review:
- 'SBSA reference' model (now quite close to being in shape to go in)
- RTH's BTI patchset
- RTH's patchset adding TBI support to user-mode emulation
+ sent patches fixing the last lot of clang
-Waddress-of-packed-member warnings
+ had another look at the prototype work I did to use Sphinx
for QEMU's documentation -- updated the patchset and started
looking at how to tie it into our makefiles.
+ sent patches fixing a handful of underdecodings in our A64 decoder,
where we should have UNDEFed but did not
* VIRT-268 [QEMU support for dual-core Cortex-M Musca board]
+ sent out v1 of the patchset implementing the SSE-200 and MPS2 AN521 model
+ read through the Musca-B1 docs to confirm what we can easily
put into an initial implementation of a model
thanks
-- PMM
== Progress ==
* Out of office on Monday
* [Thumb GlobalISel] Support G_SHL, G_ASHR, G_LSHR [LLVM-517]
- Committed upstream
* [Thumb GlobalISel] Support G_SDIV and G_UDIV [LLVM-516]
- Most of the work done, ready to commit next week
* LLVM 8.0 Release for ARM & AArch64 [LLVM-526]
- Started a few jobs, but ran into some trouble with our containers
- Will look more into it next week
* Use new version of GCC on buildbots [LLVM-515]
- Got it to work and committed patch; we have 2 silent bots running with GCC-7
- Will keep monitoring the bots and if they seem stable we can merge
to tcwg-llvmprod next week
== Plan ==
* Test LLVM 8.0.0 RC1
* Commit LLVM-516
* More GlobalISel
* Out of office on Friday
Hi Martin and Linaro-toolchain team,
We want to use 4.8.5 cross compile toolchain to build ko.
But we can't find such version on the release site[1].
Is there a 4.8.5 cross compile toolchain?
[1] https://releases.linaro.org/components/toolchain/gcc-linaro/
Best,
Xinliang
== Progress ==
* SVE ACLE
- Committed patches for
* svabs, svneg, svnot and svsqrt series
* svdiv series
* svmulh series
* svand, svorr, and sveor series
* svdot series
- Working on svbic and svbic_b variants
* Others
- Looking into tree-reassoc improvements for next stage1
- Looked into kernel plugin issue for arm
== Plan ==
* Continue with SVE ACLE
* Continue with tree-reassoc
[VIRT-344 # ARMv8.5-MemTag, Memory Tagging Extension ]
Posted v1.
[VIRT-327 # Richard's upstream QEMU work ]
Posted v6 of linux-user split. Based on Laurent's feedback,
I'm running LTP myself this time, at least for a few guests.
r~
Upstream Work ([VIRT-109])
==========================
- posted {PULL 0/5} gitdm updates with final 2018 stats Message-Id:
<20190114160956.7513-1-alex.bennee(a)linaro.org>
- posted {PULL 00/21} misc testing fixes for Travis and docker
Message-Id: <20190114150129.1013-1-alex.bennee(a)linaro.org>
- we have gone green again
- posted {PULL 0/7} check-softfloat, fp-bench and clang compile fixes
Message-Id: <20190117132703.17790-1-alex.bennee(a)linaro.org>
- some alt-OS issues and a weird failure on s390x
- spent some time getting a working s390x setup to investigate
- posted {PATCH} target/s390x: define TCG_GUEST_DEFAULT_MO for MTTCG
Message-Id: <20190118171848.27332-1-alex.bennee(a)linaro.org>
- need to investigate why s390x breaks so weirdly
- messed around with a little [CONFIG_TCG type cleanups]
- need to finish the re-work of [system test and misc arch] tests
:todo
- will be useful for test cases for plugins
- also more test cases queued up for system tests
- respin {PATCH v3 0/5} support reading some CPUID/CNT registers from
user-space Message-Id:
<20180625160009.17437-1-alex.bennee(a)linaro.org> :todo
- in branch [v3 branch]
[VIRT-109] https://projects.linaro.org/browse/VIRT-109
[CONFIG_TCG type cleanups]
https://github.com/stsquad/qemu/tree/misc/config-tcg-cleanups
[system test and misc arch]
https://github.com/stsquad/qemu/tree/testing/enable-system-tcg-tests-v2
[v3 branch]
https://github.com/stsquad/qemu/tree/misc/cnt-and-misc-reg-fixes-v3
Other Tasks
===========
- wrote up and submitted abstract for Connect
- I still hope to the history of TCG for TCWG room as well
Completed Reviews [4/4]
=======================
{Qemu-devel} {PATCH} .cirrus.yml: basic compile and test for FreeBSD
Message-Id: <CAPyFy2Dw2F3ks_5f8cvWjrsOTS0_Ybr5kELUpyHQmOQWUaeuFg(a)mail.gmail.com>
- CLOSING NOTE [2019-01-16 Wed 15:01]
Adds FreeBSD testing, yet another CI system
{PATCH v2} softfloat: enforce softfloat if the host's FMA is broken
Message-Id: <20181225070305.18221-1-cota(a)braap.org>
- CLOSING NOTE [2019-01-16 Wed 15:03]
Queued to my tree
{PATCH v6 0/3} Dynamic TLB sizing
Message-Id: <20190114165017.27298-1-cota(a)braap.org>
- CLOSING NOTE [2019-01-17 Thu 10:53]
Found a few issues.
{PATCH v7 0/3} Dynamic TLB sizing
Message-Id: <20190116170114.26802-1-cota(a)braap.org>
- CLOSING NOTE [2019-01-18 Fri 16:54]
Looks good to me now.
Absences
========
- Connect BKK19 (1-5th April 2019)
- holiday after Connect
Current Review Queue
====================
* {PATCH 0/2} contrib: gitdm: Some updates
Message-Id: <1547807155-4526-1-git-send-email-aleksandar.markovic(a)rt-rk.com>
* {PATCH 00/18} Acceptance Tests: target architecture support
Message-Id: <20190117185628.21862-1-crosa(a)redhat.com>
* {Qemu-devel} {PATCH 00/11} target/arm: Implement ARMv8.5-BTI
Message-Id: <20190110121736.23448-1-richard.henderson(a)linaro.org>
* {PATCH v5 00/73} per-CPU locks
Message-Id: <20181213050453.9677-1-cota(a)braap.org>
* {RFC v2 00/38} Plugin support
Message-Id: <20181209193749.12277-1-cota(a)braap.org>
* {RFC} arm: Allow system registers for KVM guests to be changed by QEMU code
Message-Id: <20181206151401.13455-1-peter.maydell(a)linaro.org>
--
Alex Bennée
[LLVM-521] LLD and taking the address of an ifunc
Went through the possible combinations (pic, pie, non-pic, exec,
shared,...) found one relocation that gcc uses that clang doesn't,
hence mc and LLD don't support. Raised upstream pr. Also found that
clang's code-sequence for -fpie doesn't seem to guarantee ifunc
pointer equivalence when linking -fpie (non-got generating sequence
used when ifunc is in same translation unit). Will need some further
investigation to confirm.
[LLVM-499] Support for linking the linux kernel
Committed -pic-veneer support and associated overflow fix, now merged
to 8.0 branch.
Other:
- Started work on Fosdem presentation on LLD performance. Studying
ld.bfd and ld.gold source code to look for structural differences
between them and LLD.
- Submitted presentation for next Linaro Connect
- Review for comdat group and unused section elimination.
- On buildbot duty.
Progress:
* VIRT-65 [QEMU upstream maintainership]
+ some code review, and another arm pull-request (including
RTH's pointer auth work)
+ sent patch fixing a bug in the gdbstub memory access path that
meant it was always making accesses as NonSecure even if the
guest CPU was currently Secure
+ sent patch fixing checkpatch to not wrongly complain about
block comments starting "/**"
* VIRT-268 [QEMU support for dual-core Cortex-M Musca board]
+ I have a model of the SSE-200 subsystem used by the Musca board,
and a model of the MPS2 AN521 FPGA image which uses it. (Since it is
basically "our existing MPS2 AN505 model, but with SSE-200 rather than
IoTKit" it's a useful stepping stone to the Musca board.) There are
still some bugs and missing features, but it seems to mostly be
functional (it can run the ARM Trusted Firmware M test binary.)
thanks
-- PMM
== Progress ==
* FDPIC
- (GNU-411) GDB: gdbserver did not start because of a qemu-user
feature. Worked around it.
* GCC upstream validation:
- reported a few regressions
- dealing with some random results, still
- qemu-3.1 memory consumption. Got some clarifications from IT team
about LSF reports.. It seems qemu-3.1 consumes more memory in some
cases, though.
* GCC:
- (GNU-99) rebased ubsan / bare-metal patches. No progress.
- (GNU-597) Fixed arm testcase.
- PR 85596 committed doc fix
* misc (conf-calls, meetings, emails, ....)
- reviewing/submitted infra script patches
- dealing with nasty ST-internal infrastructure problems
- (GNU-592): improved benchmarking scripts
- experimenting with new build servers
- ran Linaro binary toolchain tests on gcc-arm release, filled a few bug reports
== Next ==
FDPIC:
- GCC: handle feedback on v4 patches
- GDB: update patches
- uclibc-ng: look at how to test fdpic mode with openadk
Validation:
- isolate if/why qemu-3.1.0-rc3 consumes more memory than 2.11 for
aarch64-linux target
== Progress ==
* [ARM GlobalISel] Select complicated G_CONSTANT [LLVM-491]
- Committed upstream
* [ARM & Thumb GlobalISel] Support calls to vararg functions [LLVM-490]
- This gets rid of all the fallbacks in the test-suite related to
calls to printf (which is a lot)
- Committed upstream
* Use new version of GCC on buildbots [LLVM-515]
- Fiddled with this a bit, but couldn't test much due to dockerd
being broken for a couple of days
- Manual installation of g++-7 from PPA works, but when trying the
same steps in the dockerfile it keeps restarting; need to investigate
why
== Plan ==
* More of the same