Page MenuHomePhabricator

Update hwasan docs to cover outlined checks and globals.

Authored by pcc on Feb 6 2020, 11:18 AM.

Diff Detail

Event Timeline

pcc created this revision.Feb 6 2020, 11:18 AM
Herald added a project: Restricted Project. · View Herald TranscriptFeb 6 2020, 11:18 AM
Herald added a subscriber: cfe-commits. · View Herald Transcript
eugenis accepted this revision.Feb 6 2020, 11:27 AM



mention that "2" encodes access type and size. Do we want to expand on how?

This revision is now accepted and ready to land.Feb 6 2020, 11:27 AM
kcc accepted this revision.Feb 6 2020, 11:30 AM


hctim added inline comments.Feb 6 2020, 11:32 AM

Out of breath reading this sentence, maybe break up like:

"...custom calling convention, which:

  1. Preserves most registers, and
  2. Is specialised based on the type and size of the memory access, as well as the register that contains the address."
  • The first defined global in a translation unit has a pseudorandom tag associated with it, based on the hash of the file path. Subsequent global tags are incremental from the previously-assigned tag.

We have one section for all globals, right? So /s/section is emitted for each tagged global/section is emitted that contains information about the tagged globals/

pcc marked 5 inline comments as done.Feb 6 2020, 5:45 PM
pcc added inline comments.

First part done. How is probably too much detail so I've left it out.


The globals have individual sections in the object files, it's the linker that concatenates them together. I've updated the document to talk about the linker's role.

This revision was automatically updated to reflect the committed changes.
pcc marked an inline comment as done.