New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 887684 link

Starred by 2 users

Issue metadata

Status: Available
Owner: ----
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Fuchsia
Pri: 2
Type: Bug



Sign in to add a comment

Provide an all-in-one "ids.txt" for each Fuchsia package listing the debug binary locations for binary the package might use

Project Member Reported by w...@chromium.org, Sep 20

Issue description

When building each package we already scan the binaries to identify library dependencies, so we can additionally grab the build-Id from the "readelf" output, and note it against each binary, to emit a single unified ids.txt file for each package.  This will contain id->path mappings for all binaries in the package, in any dependency packages, and in the SDK, so that it can be passed to e.g. zxdb to enable symbolization.



 
Cc: jam...@chromium.org spang@chromium.org
Owner: kmarshall@chromium.org
Status: Assigned (was: Untriaged)
Kevin, could you take a look at providing this?
Cc: brettw@chromium.org
The requirements are very different depending on how this will be used. Would it be for debugging local Chromium builds, or CIPD prebuilts?

From what I can tell, the former would just require some tweaks to zxdb so that it can use multiple ids.txt files. zxdb would index the union of Fuchsia and Chrome's ids.txts.

Supporting CIPD prebuilt debugging is a more involved infra task, since we'd need to produce archives containing the symbol data, either as unstripped binaries, or preferably as extracted symbol tables if possible. It doesn't look like zxdb supports standalone symbol data right now?
Hmm, the stripped binary is ~100MB whereas the unstripped binary is 4.4GB. Huge! Fuchsia should make the download an opt-in step, probably as an argument to fx set.

And if it's opt-in, perhaps being clever about eliding the redundant executable portions isn't worth it, given that the optimization would only reduce the transfer & storage amount by about 3%.
This patch: https://fuchsia-review.googlesource.com/c/garnet/+/211093
will make it possible to run "zxdb -s <path>" where <path> is an unstripped binary, directory (it will find all elf files in the dir), or another ids.txt file.

This is separate than actually getting the symbols for the binary though.
Nice. I think the directory mode will be very helpful.
We can create a CIPD archive containing the unstripped executables and libraries at the same top level. Then we'd just have to point zxdb at the directory and let it do the indexing for us.
Status: Available (was: Assigned)
Pretty busy with other stuff - unassigning in case someone else wants to pick this up.
Owner: ----

Sign in to add a comment