Status Update
Comments
ap...@google.com <ap...@google.com> #2
Branch: main
commit d9fcf3ac6751e611ab8a1970310ac6e7bf01f463
Author: Alec Bargher <abargher@google.com>
Date: Wed Aug 21 15:51:24 2024
dev-util: Add workaround for armv7a boards compiling LLDB
Currently armv7a is not parsed as a supported architecture by LLDB.
Compiling with the host architecture in the triple set to "arm" instead
of "armv7a" can work around this issue before LLDB itself is patched.
BUG=b:361414339
TEST=USE="local-lldb" cros build-packages --board=${BOARD}
Change-Id: I7c18ab9354b09fd91ac3635a8bcb4ac177f0d3cd
Reviewed-on:
Reviewed-by: Jordan Abrahams-Whitehead <ajordanr@google.com>
Commit-Queue: Alec Bargher <abargher@google.com>
Tested-by: Alec Bargher <abargher@google.com>
Commit-Queue: ChromeOS Auto Runner <chromeos-auto-runner@chromeos-bot.iam.gserviceaccount.com>
M dev-util/lldb-server/lldb-server-9999.ebuild
aj...@google.com <aj...@google.com> #3
We should see if we can upstream a proper fix for this "armv7a" in particular is not an uncommon form in the target triple. Working on a patch now.
sp...@google.com <sp...@google.com>
aj...@google.com <aj...@google.com> #5
Upstream PR merged! We just need to patch this down now, and we're all done.
ap...@google.com <ap...@google.com> #6
Branch: main
commit a19a091eb14534ec05e14447677665111a635eaf
Author: Jordan R Abrahams-Whitehead <ajordanr@google.com>
Date: Thu Aug 29 19:20:50 2024
llvm: Downstream armv7a, armv8a patch
armv7a and armv8a are common names for the application subarch for arm.
These names in particular are used in ChromeOS, Android, and a few other
known applications. In ChromeOS, we encountered a bug where armv7a arch
was not recognised and segfaulted when starting an executable on an
arm32 device.
Recreating this cl:
get_patch.py -s HEAD 0a00d32c5f88fce89006dcde6e235bc77d7b495e
BUG=b:361414339
TEST=Ran with lldb-hana under qemu-arm
Change-Id: I5af0f832bb657780232b59d8014133a25581ea2f
Reviewed-on:
Tested-by: Jordan Abrahams-Whitehead <ajordanr@google.com>
Reviewed-by: Bob Haarman <inglorion@chromium.org>
Commit-Queue: Jordan Abrahams-Whitehead <ajordanr@google.com>
A dev-util/lldb-server/files/0a00d32c5f88fce89006dcde6e235bc77d7b495e.patch
M dev-util/lldb-server/files/PATCHES.json
M sys-devel/llvm/files/PATCHES.json
A sys-devel/llvm/files/cherry/0a00d32c5f88fce89006dcde6e235bc77d7b495e.patch
ap...@google.com <ap...@google.com> #7
Branch: firmware-android-15949.B
commit ead6651016c1015b4771244b390ab72630b9dea9
Author: Alec Bargher <abargher@google.com>
Date: Wed Aug 21 15:51:24 2024
dev-util: Add workaround for armv7a boards compiling LLDB
Currently armv7a is not parsed as a supported architecture by LLDB.
Compiling with the host architecture in the triple set to "arm" instead
of "armv7a" can work around this issue before LLDB itself is patched.
BUG=b:361414339
TEST=USE="local-lldb" cros build-packages --board=${BOARD}
(cherry picked from commit d9fcf3ac6751e611ab8a1970310ac6e7bf01f463)
Change-Id: I7c18ab9354b09fd91ac3635a8bcb4ac177f0d3cd
Original-Reviewed-on:
Original-Reviewed-by: Jordan Abrahams-Whitehead <ajordanr@google.com>
Original-Commit-Queue: Alec Bargher <abargher@google.com>
Original-Tested-by: Alec Bargher <abargher@google.com>
Original-Commit-Queue: ChromeOS Auto Runner <chromeos-auto-runner@chromeos-bot.iam.gserviceaccount.com>
GitOrigin-RevId: d9fcf3ac6751e611ab8a1970310ac6e7bf01f463
Cr-Build-Id: 8735988028124072689
Cr-Build-Url:
Copybot-Job-Name: android-main-chromiumos-overlay-copybot-downstream
Reviewed-on:
Reviewed-by: Grzegorz Bernacki <bernacki@google.com>
Owners-Override: Aaron Massey <aaronmassey@google.com>
Tested-by: Jonathon Murphy <jpmurphy@google.com>
M dev-util/lldb-server/lldb-server-9999.ebuild
ap...@google.com <ap...@google.com> #8
Branch: firmware-android-15949.B
commit 6bbde850cd778c4048a3e4b9cb445bc0442b87c6
Author: Jordan R Abrahams-Whitehead <ajordanr@google.com>
Date: Thu Aug 29 19:20:50 2024
llvm: Downstream armv7a, armv8a patch
armv7a and armv8a are common names for the application subarch for arm.
These names in particular are used in ChromeOS, Android, and a few other
known applications. In ChromeOS, we encountered a bug where armv7a arch
was not recognised and segfaulted when starting an executable on an
arm32 device.
Recreating this cl:
get_patch.py -s HEAD 0a00d32c5f88fce89006dcde6e235bc77d7b495e
BUG=b:361414339
TEST=Ran with lldb-hana under qemu-arm
(cherry picked from commit a19a091eb14534ec05e14447677665111a635eaf)
Change-Id: I5af0f832bb657780232b59d8014133a25581ea2f
Original-Reviewed-on:
Original-Tested-by: Jordan Abrahams-Whitehead <ajordanr@google.com>
Original-Reviewed-by: Bob Haarman <inglorion@chromium.org>
Original-Commit-Queue: Jordan Abrahams-Whitehead <ajordanr@google.com>
GitOrigin-RevId: a19a091eb14534ec05e14447677665111a635eaf
Cr-Build-Id: 8735988028124072689
Cr-Build-Url:
Copybot-Job-Name: android-main-chromiumos-overlay-copybot-downstream
Reviewed-on:
Reviewed-by: Grzegorz Bernacki <bernacki@google.com>
Owners-Override: Aaron Massey <aaronmassey@google.com>
Tested-by: Jonathon Murphy <jpmurphy@google.com>
A dev-util/lldb-server/files/0a00d32c5f88fce89006dcde6e235bc77d7b495e.patch
M dev-util/lldb-server/files/PATCHES.json
M sys-devel/llvm/files/PATCHES.json
A sys-devel/llvm/files/cherry/0a00d32c5f88fce89006dcde6e235bc77d7b495e.patch
aj...@google.com <aj...@google.com> #9
I have confirmed that the patch in
Since this patch is already in the current LLVM revision, we can just land the ebuild change now and move on.
Command (notably on a 32bit hana board):
hana-rev3 ~ # lldb -n /usr/sbin/spaced
(lldb) process attach --name "/usr/sbin/spaced"
Process 2113 stopped
* thread #1, name = 'spaced', stop reason = signal SIGSTOP
frame #0: 0xf7591af6 libc.so.6`__libc_do_syscall at libc-do-syscall.S:47
Executable binary set to "/usr/sbin/spaced".
Architecture set to: armv7a-unknown-linux-gnueabihf.
(lldb) hana-rev3 ~ #
logout
aj...@google.com <aj...@google.com> #10
bugjuggler: crrev/c/5908479 -> fixed
bu...@google.com <bu...@google.com> #11
bu...@google.com <bu...@google.com>
ap...@google.com <ap...@google.com> #12
Project: chromiumos/overlays/chromiumos-overlay
Branch: main
Author: Jordan R Abrahams-Whitehead <
Link:
dev-util: Remove armv7a lldb-server hack
Expand for full commit details
dev-util: Remove armv7a lldb-server hack
This hack was added due to a bug in LLDB which
did not recognise arm triples for arm application
processors. That is, the triple "armv7a" was not
recognised, but "armv7" was.
This has now been fixed upstream, and we've backported
the patch to our revision in the meantime.
Also fix some lints about CTARGET while I'm here.
BUG=b:361414339
TEST=Tested on hana (arm32) board with /usr/sbin/spaced
Change-Id: I91b637c80b6c42507de230e8a5d07fdeeb507f70
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/overlays/chromiumos-overlay/+/5908479
Commit-Queue: ChromeOS Auto Runner <chromeos-auto-runner@chromeos-bot.iam.gserviceaccount.com>
Commit-Queue: Jordan Abrahams-Whitehead <ajordanr@google.com>
Reviewed-by: George Burgess <gbiv@chromium.org>
Tested-by: Jordan Abrahams-Whitehead <ajordanr@google.com>
Files:
- M
dev-util/lldb-server/lldb-server-9999.ebuild
Hash: c3070f63aa8b1f1eb3dd220390cbee97a53753ea
Date: Thu Oct 03 20:48:23 2024
ap...@google.com <ap...@google.com> #13
Project: chromiumos/overlays/chromiumos-overlay
Branch: firmware-android-15949.B
Author: Jordan R Abrahams-Whitehead <
Link:
Android Bringup: See
Expand for full commit details
Android Bringup: See http://go/android-fw-sync
dev-util: Remove armv7a lldb-server hack
This hack was added due to a bug in LLDB which
did not recognise arm triples for arm application
processors. That is, the triple "armv7a" was not
recognised, but "armv7" was.
This has now been fixed upstream, and we've backported
the patch to our revision in the meantime.
Also fix some lints about CTARGET while I'm here.
BUG=b:361414339
TEST=Tested on hana (arm32) board with /usr/sbin/spaced
(cherry picked from commit c3070f63aa8b1f1eb3dd220390cbee97a53753ea)
Change-Id: I91b637c80b6c42507de230e8a5d07fdeeb507f70
Original-Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/overlays/chromiumos-overlay/+/5908479
Original-Commit-Queue: ChromeOS Auto Runner <chromeos-auto-runner@chromeos-bot.iam.gserviceaccount.com>
Original-Commit-Queue: Jordan Abrahams-Whitehead <ajordanr@google.com>
Original-Reviewed-by: George Burgess <gbiv@chromium.org>
Original-Tested-by: Jordan Abrahams-Whitehead <ajordanr@google.com>
GitOrigin-RevId: c3070f63aa8b1f1eb3dd220390cbee97a53753ea
Cr-Build-Id: 8734524681159170321
Cr-Build-Url: https://cr-buildbucket.appspot.com/build/8734524681159170321
Copybot-Job-Name: android-main-chromiumos-overlay-copybot-downstream
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/overlays/chromiumos-overlay/+/5910780
Commit-Queue: Jonathon Murphy <jpmurphy@google.com>
Reviewed-by: Jonathon Murphy <jpmurphy@google.com>
Tested-by: ChromeOS Prod (Robot) <chromeos-ci-prod@chromeos-bot.iam.gserviceaccount.com>
Files:
- M
dev-util/lldb-server/lldb-server-9999.ebuild
Hash: da80cdbac6bfe97824696256c33de2826ce4f651
Date: Thu Oct 03 20:48:23 2024
Description
While running lldb on arm32 devices and QEMU, we encountered the error:
In LLVM's ArchSpec.cpp, there's a list of
g_core_definitions
global constants of available core types. While this includes "armv7" and "arm", it notably does not include "armv7a". This is fundamentally the problem.armv7a is the application extension for armv7, so likely it should have the same core-value as armv7 itself. This appears to be a bug in lldb--perhaps other places use different triplet names for armv7 application processors.
Regardless, this needs to be fixed if we want lldb running on arm32 targets.