[PATCH] Enable VDSO for static linking on s390

Stefan Liebler stli@linux.ibm.com
Wed Dec 19 17:40:00 GMT 2018


Hi Rafael,

can you please resend the patch?
But I have a question: Do I need a special kernel parameter / configuration?

I've just run gdb with a statically linked program on my s390x machine:
$ file xyz
xyz: ELF 64-bit MSB executable, IBM S/390, version 1 (GNU/Linux), 
statically linked, for GNU/Linux 3.2.0, 
BuildID[sha1]=a5b0126fbfce53ce3368c885f337845783055ae8, with debug_info, 
not stripped, too many notes (256)

(gdb) i auxv
...
33   AT_SYSINFO_EHDR      System-supplied DSO's ELF header 0x0
...

(gdb) i proc mappings
process 36356
Mapped address spaces:

           Start Addr           End Addr       Size     Offset objfile
            0x1000000          0x1088000    0x88000        0x0 
/home/stli/xyz
            0x1088000          0x108b000     0x3000    0x87000 
/home/stli/xyz
            0x108b000          0x10af000    0x24000        0x0 [heap]
        0x3fffffdf000      0x40000000000    0x21000        0x0 [stack]

When I run it on Intel, I recognize that there is a vdso mapped and 
AT_SYSINFO_EHDR contains the address.

Bye.
Stefan

On 12/19/2018 05:04 PM, Rafael Avila de Espindola wrote:
> The attached patch enables VDSO for static linking on s390, but I don't
> have access to s390 to test it.
> 
> Cheers,
> Rafael
> 
> 
> 
> 2018-12-19  Rafael Ávila de Espíndola  <rafael@espindo.la>
> 
> 	[BZ #19767]
> 	* sysdeps/unix/sysv/linux/s390/init-first.c: Remove #ifdef SHARED.
> 	* sysdeps/unix/sysv/linux/s390/libc-vdso.h: Remove #ifdef SHARED.
> 	* sysdeps/unix/sysv/linux/s390/s390-32/sysdep.h: Define LWAYS_USE_VSYSCALL.
> 	* sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h: Define LWAYS_USE_VSYSCALL.
> 



More information about the Libc-alpha mailing list