Progress:
* UM-2 [QEMU upstream maintainership]
- investigated and fixed a bug in page-table-walk handling of
debug accesses that was introduced by the FEAT_RME changes
- that prompted me to look at a cleanup of some of the ptw code
so that we consistently look at "which space is this walk for"
and don't carry around a parallel boolean "secure/non-secure"
that duplicates that information
- found and fixed a few other ptw bugs along the way
-- PMM
Hello,
# TCWG CI
- Changed tcwg_gnu-build.sh to apply GDB patch adding
'--with-additional-debug-dirs' option, and ABE's gdb.conf to use it.
Also changed both to add '--prefix /usr' option to GDB's configure.
Both changes to fix ld.so debug info issues in GDB testsuite runs on
armhf.
- Testing changes to validate_failures.py and jenkins-scripts to handle
empty gdb.sum.
- Reviewed a few Gerrit requests.
--
Thiago
Progress (short week, 3 days):
* UM-2 [QEMU upstream maintainership]
- softfreeze is next week, so spent some time putting together
a pull request, fixing the bugs which the CI tests found in
it, etc
* QEMU-422 [QEMU Arm Neoverse V1 vCPU for TCG]
- now that we implement all the necessary features (excluding
some trace/profiling type stuff that is out-of-scope for
QEMU, and also FEAT_NV that we might come back to later), sent
out the patchset to define a 'neoverse-v1' CPU type for QEMU
-- PMM
Hello,
# TCWG Infrastructure
- Investigated why the CI didn't recover from empty gdb.sum, since it
was supposed to.
- Fixing validate_failures.py and tcwg_gnu-build.sh to correctly handle
empty gdb.sum.
- Fixing GDB armhf CI jobs to find distro's debug info.
# CI Babysitting
- Verified that a couple of regressions I reported last week were fixed
in trunk.
--
Thiago
Hello,
# TCWG CI — GDB
- Investigated why the GDB check jobs stopped succeeding, as reported by
Maxim. It turns there was an upstream commit (which was soon reverted)
that broke generation of the gdb.sum file and consequently our
baseline results became empty. Theoretically the CI should recover
from that but we don't deal well with this corner case. With Maxim's
help, restored the baseline and now things should be back to normal.
Will improve our scripts to avoid this trap.
# CI Babysitting
This week was my turn to baby sit the CI.
- Investigated 12 regressions in GCC and reported 3. The others were
already fixed.
- Investigated 1 regression in GDB but it wasn't actually one.
- Investigated 1 regression in QEMU but it was already fixed.
--
Thiago
Progress:
* UM-2 [QEMU upstream maintainership]
- catch up on email after a week away
- Put together some arm pull requests
- sent out draft QEMU summit minutes for review
- sent patch to avoid using the buggy __builtin_subcll in
Apple Clang 14
- sent patch fixing build error with newer xkeyboard-data
- some gardening of Coverity issue reports
Last week was KVM Forum in Brno -- here's a quick trip summary:
This year KVM Forum was a slightly smaller conference (2 days, single-track),
as we are now organizing it independently of the Linux Foundation. The
independent organization went pretty well this year (despite the slightly
awkward short notice) and the conference was very useful both for the
talks and for the hallway track.
Interesting talks (just a sampling biased to my interests):
* KVM: Arm Confidential Compute Architecture Support
Suzuki Poulose presented a summary of FEAT_RME and the CCA hardware
and software architecture, and how it's intended to fit into KVM
* KVM/arm64: Episode V - The Blob Strikes Back
Immediately following was Marc Zyngier and Oliver Upton from Google:
their talk was a pretty strong critique of the CCA software stack
architecture. Their central point is that having the RMM be "part of
the firmware" rather than "part of the hypervisor" is going to cause
a rerun of all the issues we've seen with dubious and non-upgradable
vendor code in EL3. Secondly, having the fixed API between the
hypervisor and the RMM restricts to least-common-denominator and
provides no room for experimentation and optimizations. They want an
architected way to deploy an RMM at boot time.
* Handling complex guest exits with eBPF
Will Deacon presented what he described as "conference driven
development" -- an interesting prototype of having device models in
the host kernel that are implemented in eBPF. This (in theory) gives
you the performance gains of an in-kernel device without it putting
a lot of C code onto the security boundary between the guest and host.
* Challenges Revisited in Supporting Virt CPU Hotplug on architectures
that don't Support CPU Hotplug (like ARM64)
James Morse (Arm) and Salil Mehta (Huawei) presented on CPU hotplug.
The underlying problem here remains that Arm has no hardware hotplug
handling, so there's no clear model for what hotplug on a VM should
look like. Cloud vendors have an obvious desire for the x86-style
tooling to Just Work on Arm too. The gap between "we have a prototype
that seems to work" and "upstreamable maintainable code" has not
yet been bridged, though...
* QEMU Arm CPU models and KVM
Cornelia Huck (RedHat) had a talk that was intended as a statement of
the problem rather than a proposed solution. At the moment we only
let a KVM guest see the same CPU type as the host and don't have a
mechanism for presenting a subset of features to it. KVM is about to
get support for letting the VMM define what the guest should see in
the ID registers, but how should we expose that to QEMU users without
ending up with a thousand command line sub-options to turn on and off
every architectural FEAT_FOO? And how do we deal with errata
workarounds, which the guest currently selects based on the MIDR value?
As usual, we held the QEMU Summit (an hour-long maintainer discussion
mostly about process and organizational issues) during KVM Forum. I
still need to write up the minutes for this, but they'll be published
on the qemu-devel list shortly.
thanks
-- PMM
Hi,
In binutils I need to write an offset between two symbols shifted right by 2 bits. This offset is written to the xdata section. My
code currently looks like this:
exp.X_op = O_subtract;
exp.X_add_symbol = symbol1;
exp.X_op_symbol = symbol2;
emit_expr (&exp, 2);
This works fine but obviously the result value is not shifted. Anyone have a good option is to shift the output of emit_expr at
write time?
I cannot use resolve_expression because the symbols do not have correct addresses at the time this code executes.
Any help appreciated,
Zac
Hello,
# TCWG CI — GDB
- Changed tcwg_gnu-build.sh to apply GDB testsuite patch to avoid infinite
loop in tcwg_gdb_check--master-arm jobs, while it isn't committed
upstream.
- Started investigating corrupt gdb.sum.1 file in
tcwg_gdb_check--master-arm jobs. I can't reproduce it by manually
running the CI's "make check-gdb" command line, nor by using ABE. I can
reproduce it with tcwg_gnu-build.sh though.
- Came up with validate_failures.py change to make it cope with the
corrupt gdb.sum.1 file, while the underlying cause isn't known.
Submitted the change upstream.
# TCWG Infrastructure
- Reviewed some Gerrit requests for our CI scripts.
# Misc
- Did some travel planning for Linaro Employee Meeting and GNU Tools
Cauldron.
--
Thiago
Project Orko
============
- more virtio-gpu discussion, blog post soon
Enable Arm Architecture in QEMU
===============================
- prep for KVM Forum talk
Other
=====
- various syncs
Absences
========
- KVM Forum next week
Current Review Queue
====================
TODO [RFC v2 0/6] Native Library Calls
Message-Id: <20230607164750.829586-1-fufuyqqqqqq(a)gmail.com>
=================================================================================================
TODO [PATCH] Add virtio-sound and virtio-sound-pci devices
Message-Id: <20230526204845.673031-1-manos.pitsidianakis(a)linaro.org>
==============================================================================================================================
TODO [PATCH v2 00/10] hw/virtio: Build various target-agnostic objects just once
Message-Id: <20230524093744.88442-1-philmd(a)linaro.org>
======================================================================================================================================
--
Alex Bennée
Virtualisation Tech Lead @ Linaro
Progress:
* UM-2 [QEMU upstream maintainership]
- code review (including a new board-and-devices
patchseries for a TI Tiva C devboard)
- Put together an arm pull request
- Investigated some bug reports, sent patches:
* regression in Allwinner A10 interrupt controller
* hang in icount mode on microbit with Zephyr guest
* LDG doesn't return the right values when ATA==0
- prep for next week's KVM Forum trip
* QEMU-530 [QEMU ARM v9.4 Baseline CPU for TCG]
- handling review comments and rebasing of decodetree
load/store conversion
- investigating a few issues I noticed in the process
-- PMM
Hello,
# TCWG CI — GDB
- Addressed review comments and sent v2 and v3 of the patch fixing loop
in gdb.reverse/step-reverse.exp. The testcase's original author gave his
Reviewed-by, now waiting for approval by a maintainer. In the meantime,
set up our CI to apply the patch locally.
- Sent patch to the GDB mailing list implementing configure option
'--with-additional-debug-dirs' to allow building a GDB binary with a
custom install prefix but which also looks for debug info in
/usr/lib/debug. This should solve the SIGILL issue on armhf-linux in our
CI, and allow a few more tests to run on aarch64-linux.
# TCWG Infrastructure
- Reviewed some Gerrit requests related to notification and baseline
updating.
--
Thiago
Hello,
# TCWG CI — GDB
- Continued investigating issue with GDB on armhf-linux about getting
SIGILL when trying to detect shared library loading/unloading. Noticed
that the problem happens only in tests that use the distro's toolchain
(either because they're for a language we don't build in ABE gcc, or
because GDB itself is built with the distro toolchain), so the impact
isn't as widespread as I initially thought. It still frequently causes
trouble for our CI loop though. Working on a fix.
- Investigated and fixed loop in gdb.reverse/step-reverse.exp that was
causing tcwg_gdb_check--master-arm-build jobs to get stuck, as
reported by Maxim. Posted patch to the GDB mailing list.
# TCWG Infrastructure
- Reviewed Gerrit requests about testing mailing list patches in our CI.
--
Thiago
Progress (another short week, May is great this year):
* UM-2 [QEMU upstream maintainership]
- More review on some of RTH's atomics related patchsets
- Put together an arm pull request
- Sent out a call for agenda items for QEMU Summit
* QEMU-530 [QEMU ARM v9.4 Baseline CPU for TCG]
- decodetree load/store conversion done, patches sent out for review.
After this I plan to go back to the FEAT_MOPS implementation
(and then do the last part of the integer A64 decodetree
conversion later in this release cycle).
-- PMM
Hello,
# TCWG CI — GDB
- Investigating issue in CI jobs where touching all C files causes GDB
to show a warning about the source being newer than the executable.
This interferes with a few GDB tests.
- Continued investigating issue with GDB on armhf-linux about getting
SIGILL when trying to detect shared library loading/unloading. Found
out that the GDB testsuite binaries are using the distro's ld.so
rather than the one built by ABE and which is the one expected to be
used. Because we don't have debuginfo installed for the distro's
ld.so, we hit the GDB bug in armhf-linux. The ld.so built by ABE has
debuginfo and would avoid hitting the issue.
# TCWG Infrastructure
- Reworked CI job to sanity check tcwg_gnu_fast_check_{gcc,gdb} and
posted new version for review.
- Reviewed some Gerrit requests for jenkins-scripts and ABE.
--
Thiago
Progress (short week, three days):
* UM-2 [QEMU upstream maintainership]
- Sent a patch fixing a bug where we broke some M-profile uses
(resulting in assertion failures) when we added v8R support
* QEMU-530 [QEMU ARM v9.4 Baseline CPU for TCG]
- Implemented support for a new feature in the decodetree
generator that I need for the A64 decodetree conversion,
sent patches out for review
- More progress on A64 decodetree: loads and stores
-- PMM
Hello,
# TCWG CI — GDB
- Analysed a number of potential regressions found by our CI on
aarch64-linux and armhf-linux. They aren't exactly regressions but bug
fixes or new features that work on other arches (or perhaps whose
testcases correctly detect PASSes on other arches) but not on
aarch64-linux or armhf-linux.
- armhf-linux has an important problem where a bug with detecting shared
library loading/unloading is causing many tests to fail. The result is
that every new GDB commit that adds a test is flagged by the bisect
job. This was caused by a GDB commit from November 2022. Luis reported
it at the time and the patch author was going to look into it, but
this probably fell through the cracks. I'm investigating to understand
the problem better and provide a fix.
--
Thiago
Progress:
* UM-2 [QEMU upstream maintainership]
- Reviewed another round of RTH's patchset overhauling atomics
- Sent an arm pullreq
* QEMU-530 [QEMU ARM v9.4 Baseline CPU for TCG]
- Continued with the conversion of the A64 decoder to decodetree:
have converted hints, barriers, system register insns,
exception generation, and am halfway through the loads and stores.
-- PMM
Hi,
Has anyone noticed that https://lab.llvm.org/buildbot/#/builders/198 (clang-aarch64-sve-vla-2stage<https://lab.llvm.org/buildbot/#/builders/198>) has been timing out for the past few days? "Duration" is often less than 1hr, so that's odd. And all Flang buildbots are green, so it's unlikely caused by changes to that sub-project (https://lab.llvm.org/buildbot/#/builders/198/builds/1804). Would anyone be able to take a look?
Best regards,
Andrzej
IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you.
Hello,
# TCWG Infrastructure
- Reviewed a bunch of Gerrit requests for our CI scripts.
- Finished job definition to run fast_check_{gcc,gdb} jobs triggered by
new Gerrit review requests for jenkins-scripts, benchmark scripts and
ABE. Sent Gerrit review request and now working on 2nd version.
- Rebased our DejaGNU debug patches to upstream dejagnu-1.6.3, tested
result and sent Gerrit review request for it.
# TCWG CI — GDB
- Confirmed regression found by CI job¹ and mentioned by Maxim. Found
out that it was fixed upstream already².
--
Thiago
¹ https://ci.linaro.org/job/tcwg_gnu_native_check_gdb--master-aarch64-bisect/…
² https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=5a6ad5c775a58367…
Progress (another short week, May is full of bank holidays :-)):
* UM-2 [QEMU upstream maintainership]
- usual background level of code review etc
- investigated a bug reported by Mozilla where people running x86 Firefox
on QEMU on Arm hardware were seeing crashes; narrowed down the cause
(aided by Mozilla kindly providing a minimal repro test case),
and Paolo produced a fix.
* QEMU-530 [QEMU ARM v9.4 Baseline CPU for TCG]
- Started looking at what is required for FEAT_MOPS (the
memcpy/memset/memmove insns), what they do and how QEMU ought
to implement them.
- The new insns are in the load/store part of the A64 instruction
space. To make this easier to do, we should really convert at
least the integer parts of the A64 decoder to decodetree (a
refactoring we've been putting off for a long time). Started on
the conversion: sent out a first 20-patch patchset that converts
the dp-immediate and branch insns.
-- PMM
Progress (combines two weeks):
* UM-2 [QEMU upstream maintainership]
- investigated various failures of avocado tests on s390x host.
These are at least four different unrelated endianness bugs in
different device, board or CPU models. Sent out a set of patches
fixing at most of these.
- TCWG / Arm syncup meeting
- Linaro Connect
- caught up on code review and sent a target-arm pull request
- sent patch fixing a bug where our PNG screenshots have the pixel
colour channels in the wrong order
- while I had a conversation from Connect fresh in my mind, went
back and re-looked at the page-table-walk bug with handling the
NSW/SW bits that I sent patches for a couple of weeks ago. Re-did
the code to consistently handle these bits in the right place and
sent out another version of the patchset
- reviewed a very large patchset from RTH that changes how
TCG handles atomic accesses so we can implement FEAT_LSE2
- investigated a bug report about a regression with AArch32 EL1
under an AArch64 EL2; wrote patch
-- PMM
Hello,
# TCWG Infrastructure
- Reviewed a bunch of Gerrit requests for our CI scripts.
- Learning Jenkins job builder syntax and working on a job definition to
run fast_check_{gcc,gdb} jobs on Gerrit review requests for
jenkins-scripts and ABE.
- Changed CI scripts to save ABE and component testsuite logs when the ABE
build or check step fails. This should help debug a case where a GDB CI
job failed due to (probably) a corruption of the gdb.sum testsuite
result file.
# Misc
- Some preparations for the trip to Linaro Connect.
--
Thiago
Progress:
* UM-2 [QEMU upstream maintainership]
- sent out v3 of the 'deprecate singlestep option' patchset
- sorted out the draft QEMU Summit invite list and invitation text
- spent some time trying to understand how the imx SoCs arrange
their ethernet controllers and PHYs so I can review a patchset
- sent patch fixing minor configure nit where it wasn't honouring
--cross-prefix for the ObjC compiler
- got the 8.0 release out of the door and handed over merge handling
to rth
- sent some patchsets updating a few old .txt files to reStructuredText
- still thinking about our page-table-walk code -- I'm not convinced
it's doing the right thing with NSW/SW bits, even after last
week's patchset...
-- PMM
Hello,
# TCWG Infrastructure
- Fixed problem in ABE with MinGW build of GDB's master branch.
- Fixed problem in upstream GDB with MinGW build of GDB's master branch.
- Analysed backlog of failed check_gdb jobs.
- A couple of "misbisected" commits, including one pointing to a glibc commit.
- One detected regression also noticed by Christophe, and fixed by the community.
- One Arm failure that passes on QEMU TCG.
- Reviewed a number of Gerrit requests about improving ABE and CI scripts.
--
Thiago
Progress:
* UM-2 [QEMU upstream maintainership]
* trying to get a release out of the door -- due among other things
to the Easter holiday weekend, rc4 is a bit late and has rather
more changes than I would prefer
* more triaging of Coverity issues
* sent a few trivial bug fix patches
* started reviewing and queueing arm patches for 8.1
* investigated a FEAT_SEL2 bug that showed up with some proposed
changes to TF-A/Hafnium. The architecture and QEMU's code
are pretty hairy in this area but I think I have identified
the correct fix...
-- PMM
Hello,
[GNU-796] Stabilize GDB testsuite results in the CI
- Submitted to GDB mailing list and committed patches fixing the
gdb.asm/asm-source.exp regression found by the check_gdb job. Turned out
to be a small bug in the stabs debug format support.
- Committed Gerrit review request disabling Python on MinGW cross builds.
[GNU-767] Support changing SVE vector length in remote debugging
- Investigating a follow-up question Simon asked during review of the
patch series fixing a corner case when reading auxv from multi-threaded
inferiors.
--
Thiago
Progress:
* UM-2 [QEMU upstream maintainership]
* rc3 this week
* reworked my "deprecate the misleading -singlestep option"
patchset to deal with review feedback, sent out v2
* KVM Forum programme committee work
* investigated a regression where the mps3-an547 board
asserts on startup; for 8.0 we will just revert the change
that introduced the failure, since it was only an optimization
* some triage of Coverity issue reports; sent some patches for
some easy ones, queried original code submitter for others
-- PMM
Hi Alexandros,
Linaro benchmarking CI flagged this patch. After it clang seems to miscompile 602.gcc_s from SPEC CPU2017 for "-O3 -flto" on aarch64-linux-gnu. Also, it appears that 600.perlbench_s slows down by 9%.
Could you investigate, please? Let me know if you need any assistance in reproducing the problem.
Our Benchmarking CI is still in active development, and there are false positives, but this report seems to be legit [1].
Kind regards,
[1] https://ci.linaro.org/job/tcwg_bmk-code_speed-cpu2017speed--llvm-aarch64-ma…
--
Maxim Kuvyrkov
https://www.linaro.org
Hello,
[GNU-796] Stabilize GDB testsuite results in the CI
- Committed ABE change suggested by Maxim to mention failures that cause
additional testsuite runs.
- Tried to update Python MinGW build to 3.x, but it's a rabbit hole.
Proposing to disable Python support when cross-building GDB with MinGW
instead.
- First regression detected by the tcwg_gnu_native_check_gdb CI job
reported upstream¹. Started investigating it.
[GNU-767] Support changing SVE vector length in remote debugging
- Created a testcase to exercise the corner case mentioned by Pedro.
Found out that GDB is also susceptible to it. Fixed both GDB and
gdbserver. Posted patch series upstream².
--
Thiago
¹ https://inbox.sourceware.org/gdb-patches/871ql6dhf4.fsf@linaro.org/
² https://inbox.sourceware.org/gdb-patches/20230331034432.3037148-1-thiago.ba…
Progress (short week, holiday and recovering from covid...):
* UM-2 [QEMU upstream maintainership]
* 8.0 release related work rumbles on
* debugged and fixed a regression caused by my work on HSTR_EL2 traps
* QEMU-530 [QEMU ARM v9.4 Baseline CPU for TCG]
* implemented FEAT_PAN3 (and fixed a minor bug in
syndrome reporting that I noticed in the process)
-- PMM
Hello,
[GNU-796] Stabilize GDB testsuite results in the CI:
- Enabled gdb.gdb/unittest.exp in fast_check_gdb job. It should be
stable now that tcwg-jade-02's kernel has been upgraded.
- Enabled bisections for check_gdb jobs.
- Implemented Maxim's idea to handle GDB testsuite's tests that can FAIL
but are silent when they pass (i.e., the "gdb_test -nopass"
statements).
[GNU-767] Support changing SVE vector length in remote debugging
- Back in February I upstreamed a couple of preparation patches and
Pedro noticed an unintended change in behaviour that can affect a
corner case, so I am working on a fix for that now.
--
Thiago
Hello,
[GNU-796] Stabilize GDB testsuite results in the CI:
- Finished implementing ABE's support for rerunning failed tests using
Maxim's idea of leveraging validate_failures.py to determine which
tests need to be rerun. Submitted v3 and v4 versions, and committed
v4.
- Investigated why tcwg-abet-tested jobs have been failing in the CI.
Found out that Jenkins sets a bogus core.hooksPath in the git repo
config. Submitted and merged a gerrit request fixing the problem.
- Investigated why cross-build gdbserver needs GMP and MPFR (and is thus
failing to build) in tcwg-gnu-build jobs. Submitted Gerrit review
request to fix it.
- Started looking into why re-enabling GDB testsuite parallelism makes
it run fewer tests.
--
Thiago
Progress:
* UM-2 [QEMU upstream maintainership]
- went through and made estimates for a pile of JIRA tasks
relating to implementing features we're missing to get to ARMv9.4
- diagnosed why --enable-werror wasn't affecting warnings from
the kerneldoc docs generator, and sent a patch fixing it
- some bug triage, looking for issues that ought to be fixed for 8.0
- fixed a division-by-zero bug in the cadence UART model
- fixed a documentation markup mistake that made the docs look odd
- investigating/fixing some more CI failures
- minor bits of travel/conference related admin
-- PMM
Hello,
[GNU-796] Stabilize GDB testsuite results in the CI:
- Submitted and merged a couple of review requests removing obsolete CI
jobs related to release automation and release regression detection
- Finished version of scripts that have most of the logic for rerunning
testsuites in ABE. Submitted as a review request. Addressed review
comments and submitted v2.
- Maxim found out a way to simplify the logic of determining whether a
new testsuite run is warranted by using validate_failures.py, which
I'm now implementing.
--
Thiago
Progress:
* UM-2 [QEMU upstream maintainership]
- Softfreeze was this Tuesday; lots of wrangling of pull requests
- Code review; last arm pullreq before softfreeze
- various admin type bits and pieces
-- PMM
Hello,
[GNU-796] Stabilize GDB testsuite results in the CI:
- Moved most of logic to rerun failed tests from tcwg_gnu-build.sh to
Abe and a new script based on the sum file parser of
compare_dg_tests.pl. The new script creates a "merged" sum file from
all the runs. Currently changing Abe to make use of it.
- Did a few cleanups in compare_dg_tests.pl as I was going through its
code. Also added KFAIL status support to it, which the GDB testsuite
needs.
- Removed a few obsolete CI jobs which came out of the woodwork when I
merged the compare_dg_tests.pl cleanups.
--
Thiago
Project Orko
============
- did [launch presentation] for SOAFEE and LEDGE SC
[launch presentation]
<https://docs.google.com/presentation/d/1CGYIK2W0VSo0kih9ExwfFlkGww7rL5fjMIb…>
Enable Arm Architecture in QEMU
===============================
- bunch of planning for FEAT_GCS, see [QEMU-517] and related
- spoke to Lauterbach on behalf of QC, gave pointers on debug
[QEMU-517] <https://linaro.atlassian.net/browse/QEMU-517>
FEAT_RME, CCA Realms ([QEMU-466])
=================================
- did a bit of review of rth's precursor patches
[QEMU-466] <https://linaro.atlassian.net/browse/QEMU-466>
QEMU Upstream Work ([UM-2])
===========================
- finished up [MR for using locally built QEMU in TuxRun]
- posted [PATCH v4 00/26] gdbstub/next: re-organise and split build
Message-Id: <20230302190846.2593720-1-alex.bennee(a)linaro.org>
- posted [PULL v2 00/24] testing updates (gitlab, cirrus, docker,
avocado, windows) Message-Id:
<20230301151604.1948813-1-alex.bennee(a)linaro.org>
- these help address the CI minutes we are burning through monthly
now
[UM-2] <https://linaro.atlassian.net/browse/UM-2>
[testing/next] <https://github.com/stsquad/qemu/tree/testing/next>
[MR for using locally built QEMU in TuxRun]
<https://gitlab.com/Linaro/tuxrun/-/merge_requests/179>
Completed Reviews [6/6]
=======================
[PATCH v2 0/4] Fix deadlock when dying because of a signal
Message-Id: <20230213125238.331881-1-iii(a)linux.ibm.com>
[PATCH 0/8] hw/arm: Cleanups around QOM style
Message-Id: <20230220115114.25237-1-philmd(a)linaro.org>
[PATCH v2 00/24] hw/ide: QOM/QDev housekeeping
Message-Id: <20230220091358.17038-1-philmd(a)linaro.org>
[PATCH v2] gdbstub: move update guest debug to accel ops
Message-Id: <20230207131721.49233-1-mads(a)ynddal.dk>
[PATCH 0/5] iotests: make meson aware of individual I/O tests
Message-Id: <20230302184606.418541-1-berrange(a)redhat.com>
[PATCH v2] TCG plugin API extension to read guest memory content by an address
Message-Id: <5c50db42136d4a908b261c66b132b043(a)yadro.com>
Other
=====
Absences
========
Current Review Queue
====================
TODO [PATCH 1/6] Add the Android Emulator hypervisor driver (AEHD) accelerator.
Message-Id: <20230303022618.4098825-1-hshan(a)google.com>
======================================================================================================================================
TODO [RFC PATCH v2 00/11] Add stage-2 translation for SMMUv3
Message-Id: <20230226220650.1480786-1-smostafa(a)google.com>
======================================================================================================================
TODO [PATCH v2 00/28] tcg: Simplify temporary usage
Message-Id: <20230222232715.15034-1-richard.henderson(a)linaro.org>
====================================================================================================================
--
Alex Bennée
Virtualisation Tech Lead @ Linaro
Hello,
# [GNU-796] Stabilize GDB testsuite results in the CI
- Cleaned up change in tcwg_gnu-build.sh that reruns failed tests and
created Gerrit review request¹.
- Based on Laurent's and Maxim's suggestions, decided to put the code which
retries the failed tests in Abe, so now I'm working on that.
--
Thiago
¹ https://review.linaro.org/c/toolchain/jenkins-scripts/+/43265
Progress:
* UM-2 [QEMU upstream maintainership]
- Code review: big FEAT_LSE2 support series, 8.3 pointer auth,
gdbstub support for M-profile sysregs, another round of
FEAT_RME, and more
- discussions about how to handle the fact that QEMU has
run out of gitlab CI minutes, and some tweaking of my scripts
to work around the lack of minutes
-- PMM
Hello,
# [GNU-796] Stabilize GDB testsuite results in the CI
- Merged Gerrit review requests removing unsupported and flaky tests
from the fast_check_gdb CI job, and also one that makes it flag
regressions in the stable tests.
- Implemented change in Abe to build glibc with SystemTap probes
enabled, but there's a kludge I still need to cleanup before
submitting it for review.
- Working on change to tcwg_gnu-build.sh to make it run failed tests
again to see if they change to passing status. I have a working
prototype. Now running further tests and cleaning up the code.
--
Thiago
Hi Bryan,
> On Feb 7, 2023, at 9:13 PM, Bryan Phillippe <bp(a)darkforest.org> wrote:
>
...
> -rwxr-xr-x 1 config root 2765178 Dec 9 2018 /lib/libuClibc-1.0.14.so
> /root # strings /lib/libuClibc-1.0.14.so |grep -i linaro|head -n 1
> GCC: (OpenWrt/Linaro GCC 4.8-2014.04 r35193) 4.8.3
This indicates that it was built with an OpenWRT toolchain, and OpenWRT project maintainers used Linaro GCC 4.8 source release, instead of FSF GCC 4.8 source release. In the days of GCC 4.8 it was very common to use Linaro GCC source release instead of FSF ones for building compilers for 32-bit and 64-bit ARM.
Try searching in OpenWRT archives for a copy of GCC 4.8-based toolchain.
> /root # strings /lib/libuClibc-1.0.14.so |grep -i gcc-4.8|head -n 1
> /home/test/work/sudhan-qsdk/qsdk/build_dir/toolchain-arm_cortex-a7_gcc-4.8-linaro_uClibc-1.0.14_eabi/uClibc-ng-1.0.14
> /root #
>
> I only need to rebuild a single binary on this platform, and I don't have the source or the toolchain for the existing binaries. If I have to recreate a toolchain based on the versions only, it should be possible, but will be a good deal of work and effort. If you know where I can find this toolchain - or have any advice on how I can build my own compatible version - I would be very grateful.
If you want to rebuild a single executable, then it may be easier to use a modern toolchain for arm-linux-gnueabihf [1] and build the static binary of your package (add "-static" to compiler flags). This was the binary will include all necessary bits of system libraries. This is a good approach if your package does not have dependencies outside of C library; otherwise you would need to find static versions of all other libraries.
--
Maxim Kuvyrkov
https://www.linaro.org
>
> Thank you so much!
>
> --
> -bp
>
>> On Feb 7, 2023, at 04:24, Maxim Kuvyrkov <maxim.kuvyrkov(a)linaro.org> wrote:
>>
>> [CC: linaro-toolchain@]
>>
>> Hi Bryan,
>>
>> I don't think that Linaro has ever released a toolchain with uClibc, but I may be wrong. Could you provide additional information about the target, rootfs and your setup?
>>
>> --
>> Maxim Kuvyrkov
>> https://www.linaro.org
>>
>>
>>
>>
>>> On Feb 7, 2023, at 10:31 AM, Bryan Phillippe <bp(a)darkforest.org> wrote:
>>>
>>>
>>> Hello! I know this is a long shot, but I have a few devices with code that was built using this toolchain: toolchain-arm_cortex-a7_gcc-4.8-linaro_uClibc-1.0.14_eabi
>>>
>>> I'm trying to find a copy of that so I can rebuild 1 binary/package on the system without blowing everything up. Do you have any idea where I can find this toolchain? Thank you so much in advance!
>>>
>>> --
>>> -bp
>>>
>>
>
Hey!
I'm the author and maintainer of libgpiod. I'm currently getting ready
to do a new major release. After giving some exposure to the release
candidate, I noticed that when using clang, I can't link against the
C++ bindings, while it works just fine in GCC.
The tree in question is here:
https://git.kernel.org/pub/scm/libs/libgpiod/libgpiod.git/log/
You can trigger the linking program by trying to build the C++ tests
with clang like that:
CC=clang CXX=clang++ ./autogen.sh --enable-bindings-cxx --enable-tests
&& make -j16
You'll get the following error:
/usr/bin/ld: tests-chip.o:(.data+0x0): undefined reference to
`typeinfo for gpiod::chip_closed'
/usr/bin/ld: tests-line-request.o:(.data+0x0): undefined reference to
`typeinfo for gpiod::request_released'
/usr/bin/ld: .libs/gpiod-cxx-test: hidden symbol
`_ZTIN5gpiod11chip_closedE' isn't defined
/usr/bin/ld: final link failed: bad value
The typoinfo is missing for exception types that should be visible to
users of the library.
The culprit is here:
https://git.kernel.org/pub/scm/libs/libgpiod/libgpiod.git/tree/bindings/cxx…
I added the GPIOD_CXX_BUILD macro in order to not re-export the
visible symbols if any user of the library would include the gpiod.hpp
header. When the library is being built, the symbols are visible, when
someone includes the header, the symbols are hidden.
If I make the symbols unconditionally visible here, clang starts to
work but I have no idea why and would like to avoid re-exporting the
symbols if I can.
I'm using the following version:
Ubuntu clang version 15.0.6
Target: x86_64-pc-linux-gnu
Thread model: posix
InstalledDir: /usr/bin
Host is: x86_64 GNU/Linux
It's not like gcc links fine but then fails to obtain typeid - I can
catch exceptions coming out from libgpiod just fine in external apps
linked using gcc and see their type.
Any hints?
Thanks
Bart