[symbolize] Make syslog and loglistener nicer

These changes just ensure that when using syslog
and loglistner, the output from symbolizer doesn't
yell too much at you and looks nice.

1. Backtraces will sometimes contain a pc 0x0 case. It is not trivial
   to stop this from happening. To avoid yelling at the user too much
   we handle this case specifically.
2. It is sometimes the case that names for modules like <VMO#1234=ld.so>
   are used for module names in the markup. When this happens twice
   it will cause a name conflict. This change removes the warning
   for this because it is too loud. A TODO is added to account for it.
3. When using syslog headers there is also a type at the end like "INFO:"
   or "WARN:". The symbolizer was treating this as part of the message.
   This was fine at the time it was added but now for certain aesthetic
   things to happen some tags need to be on their own line with no
   other content. To make this happen we need to parse the type. This
   ensures that backtraces are printed properly and that context is
   removed correctly.

Change-Id: I176bc75988a0ed818a5874c144cf37dc36036756
3 files changed
tree: 09ee51e26b229512814b51b10d8133e960c3d091
  1. bloaty/
  2. cache/
  3. cmd/
  4. color/
  5. elflib/
  6. gndoc/
  7. isatty/
  8. logger/
  9. ninjalog/
  10. symbolize/
  11. .gitignore
  12. go.mod
  13. LICENSE
  14. manifest
  15. PATENTS
  16. README.md
README.md

tools

This repo contains tools used in Fuchsia build and development.

Go packages from here are automatically built and uploaded to CIPD and Google Storage by bots using the tools recipe. To add a tool to the build:

  • Edit the bot config.
  • Find the builder_mixins section with name: "tools".
  • Edit the JSON in properties_j to add a string to the packages list:
"fuchsia.googlesource.com/tools/cmd/your-new-tool"