vDSO reference parser updates and Go workaround
Get series with b4
b4 am [email protected]Versions newest first · linked by author and title
- v3 Latest4 patches 3 repliesIn review
- v23 patches 0 repliesSuperseded
- v13 patches 3 repliesSuperseded
Changes from v1 from the cover letter
- Improve portability of the vdso parser.
- Add an explicit ELFCLASS check in the vdso parser (why not?).
- Fix x32 build.
- Add a comment describing what the hack works around, why, and where the Go bug was introduced.
Patches in v3 No applies recorded yet
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/4 | doc,vdso: Rename vdso_test.c to vdso_standalone_test_x86.cDocumentation/ Documentation/ | +111 | 0 replies | |
| 2/4 | doc,vdso: Make vDSO examples more portableDocumentation/ Documentation/ Documentation/ | +123 | 0 replies | |
| 3/4 | x86,vdso: Add PUT_LE to store little-endian valuesarch/ | +16 | 0 replies | |
| 4/4 | x86,vdso: Hack to keep 64-bit Go programs workingarch/ arch/ arch/ | +60 | 3 replies |
Reviews trailers per patch
No Reviewed-by, Acked-by or Tested-by trailers for v3 yet.
Cover letter [PATCH v3 0/4] vDSO reference parser updates and Go workaround
Patches 1 and 2 update the vDSO reference parser.
Despite the late submission, this might be 3.16 material: it's just documentation. If I'd been more on top of this, I would have done it for 3.15. It's also probably worthwhile given that there is at least one rather buggy vDSO parser in the wild.
Patches 3 and 4 make "Hello world" as built by Go stop segfaulting. It's a performance regression for Go programs: it causes them to stop finding any symbols in the vDSO, but that's a lot better than segfaulting.
Changes from v1:
- Improve portability of the vdso parser.
- Add an explicit ELFCLASS check in the vdso parser (why not?).
- Fix x32 build.
- Add a comment describing what the hack works around, why, and where the Go bug was introduced.
Changes from v2: Re-add patch 1. Whoops.
Andy Lutomirski (4):
doc,vdso: Rename vdso_test.c to vdso_standalone_test_x86.c doc,vdso: Make vDSO examples more portable x86,vdso: Add PUT_LE to store little-endian values x86,vdso: Hack to keep 64-bit Go programs working
Documentation/vDSO/parse_vdso.c | 67 ++++++++------ Documentation/vDSO/vdso_standalone_test_x86.c | 128 ++++++++++++++++++++++++++ Documentation/vDSO/vdso_test.c | 107 +++++---------------- arch/x86/vdso/Makefile | 18 ++-- arch/x86/vdso/vdso-fakesections.c | 32 +++++++ arch/x86/vdso/vdso2c.c | 19 +++- arch/x86/vdso/vdso2c.h | 23 ++++- 7 files changed, 268 insertions(+), 126 deletions(-) create mode 100644 Documentation/vDSO/vdso_standalone_test_x86.c create mode 100644 arch/x86/vdso/vdso-fakesections.c
Signature · 1 line
1.9.3