[PATCH v3 0/4] vDSO reference parser updates and Go workaround

From: Andy Lutomirski
Date: Thu Jun 12 2014 - 20:53:20 EST


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

--
1.9.3

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/