[lkml]   [2014]   [Jun]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
Subject[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

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


 \ /
  Last update: 2014-06-13 03:41    [W:0.074 / U:0.376 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site