+++ This bug was initially created as a clone of Bug #312011 +++ Description of problem: on recent x86_64 kernels the kernel VDSO has grown from 4KB to 8KB. This affects reading debug info of vDSO in various GDB variants. Version-Release number of selected component (if applicable): kernel-3.8.8-202.fc18.x86_64 How reproducible: Always. Steps to Reproduce: cat /proc/self/maps | grep vdso Actual results: 7fff9db67000-7fff9db69000 r-xp 00000000 00:00 0 [vdso] Expected results: 7fff9db67000-7fff9db68000 r-xp 00000000 00:00 0 [vdso]
As far as I can tell, the text section itself of vdso.so is almost 4K. When combined with the rest of the sections, the overall size of the vdso is 5560 bytes (on a 3.9.6-301 f19 kernel). That is then page aligned, so we get 8K total. I might be missing something, but unlike the original bug I don't see the vDSO being fully contained within a single page? So it seems comment #3 from that bug might still be applicable. If I've missed something, please let me know.
At least kernel-3.10.0-2.el7.x86_64 has: Program Headers: Type Offset VirtAddr PhysAddr FileSiz MemSiz Flags Align LOAD 0x0000000000000000 0xffffffffff700000 0xffffffffff700000 0x000000000000102d 0x000000000000102d R E 1000 so it should not be a problem. It was not a case for kernel-3.9.9-201.fc18.x86_64 but let's forget about F-18. Problem was when the runtime (segment) informatio was 4KB but some sections (debug) information were 8KB, they were cut then. Confirming that it seems vDSO really contains so much code nowadays.