The subject of AT_SYSINFO came up on launchpad recently. There is definite room for improvement in all of this:
(1) We could build the vdso binary into qemu instead of really loading it from the file system. This would obviate the several problems of locating the .so file. It would also mean that --static builds continue to create a standalone qemu binary. (2) We could use our cross-build system to build the vdso. Though we'd still likely want to keep the image in git along side the other rom images for when cross-build is not available. (3) There are some ??? comments where some decisions could be made, and other ??? that are merely commenting on weirdness. (4) It shouldn't take too much effort to create vdsos for the other architectures. But we should get this one as clean as we can first. Amusingly, this patch set has just turned 10 years old. First posted April 4, 2010. I don't recall ever seeing any review on the several postings over the years. r~ Richard Henderson (2): linux-user: Build vdso for x64. linux-user: Load a VDSO for x86-64. Makefile | 4 +- linux-user/elfload.c | 203 +++++++++++++++++++++++++++++++++++++- pc-bios/Makefile | 5 + pc-bios/vdso-linux-x64.S | 115 +++++++++++++++++++++ pc-bios/vdso-linux-x64.ld | 81 +++++++++++++++ pc-bios/vdso-linux-x64.so | Bin 0 -> 7500 bytes 6 files changed, 401 insertions(+), 7 deletions(-) create mode 100644 pc-bios/vdso-linux-x64.S create mode 100644 pc-bios/vdso-linux-x64.ld create mode 100755 pc-bios/vdso-linux-x64.so -- 2.20.1