RE: vdso handling

Metzger, Markus T
2014-03-19T08:11:22Z

> -----Original Message-----
> From: Alan Modra [mailto:amodra@gmail.com]
> Sent: Wednesday, March 19, 2014 12:10 AM

> Now, p_align is generally set from the page size if using GNU ld, but
> I'm wondering if your vdso somehow doesn't have that property. Can
> you show us your vdso readelf -e output?

ELF Header:
Magic: 7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00
Class: ELF64
Data: 2's complement, little endian
Version: 1 (current)
OS/ABI: UNIX - System V
ABI Version: 0
Type: DYN (Shared object file)
Machine: Advanced Micro Devices X86-64
Version: 0x1
Entry point address: 0xffffffffff700700
Start of program headers: 64 (bytes into file)
Start of section headers: 4320 (bytes into file)
Flags: 0x0
Size of this header: 64 (bytes)
Size of program headers: 56 (bytes)
Number of program headers: 4
Size of section headers: 64 (bytes)
Number of section headers: 18
Section header string table index: 17

Section Headers:
[Nr] Name Type Address Off Size ES Flg Lk Inf Al
[ 0] NULL 0000000000000000 000000 000000 00 0 0 0
[ 1] .hash HASH ffffffffff700120 000120 000040 04 A 2 0 8
[ 2] .dynsym DYNSYM ffffffffff700160 000160 000108 18 A 3 2 8
[ 3] .dynstr STRTAB ffffffffff700268 000268 00005e 00 A 0 0 1
[ 4] .gnu.version VERSYM ffffffffff7002c6 0002c6 000016 02 A 2 0 2
[ 5] .gnu.version_d VERDEF ffffffffff7002e0 0002e0 000038 00 A 3 2 8
[ 6] .note NOTE ffffffffff700318 000318 00003c 00 A 0 0 4
[ 7] .eh_frame_hdr PROGBITS ffffffffff700354 000354 00002c 00 A 0 0 4
[ 8] .eh_frame PROGBITS ffffffffff700380 000380 0000e8 00 A 0 0 8
[ 9] .dynamic DYNAMIC ffffffffff700468 000468 0000f0 10 WA 3 0 8
[10] .rodata PROGBITS ffffffffff700558 000558 000020 01 AMS 0 0 8
[11] __bug_table PROGBITS ffffffffff700578 000578 000018 00 A 0 0 1
[12] .discard PROGBITS ffffffffff700590 000590 000012 00 WA 0 0 1
[13] .altinstructions PROGBITS ffffffffff7005a2 0005a2 0000d8 00 A 0 0 1
[14] .altinstr_replacement PROGBITS ffffffffff70067a 00067a 000036 00 AX 0 0 1
[15] .text PROGBITS ffffffffff700700 000700 0008fd 00 AX 0 0 16
[16] .comment PROGBITS 0000000000000000 000ffd 00002c 01 MS 0 0 1
[17] .shstrtab STRTAB 0000000000000000 001029 0000b7 00 0 0 1
Key to Flags:
W (write), A (alloc), X (execute), M (merge), S (strings), l (large)
I (info), L (link order), G (group), T (TLS), E (exclude), x (unknown)
O (extra OS processing required) o (OS specific), p (processor specific)

Program Headers:
Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align
LOAD 0x000000 0xffffffffff700000 0xffffffffff700000 0x000ffd 0x000ffd R E 0x1000
DYNAMIC 0x000468 0xffffffffff700468 0xffffffffff700468 0x0000f0 0x0000f0 R 0x8
NOTE 0x000318 0xffffffffff700318 0xffffffffff700318 0x00003c 0x00003c R 0x4
GNU_EH_FRAME 0x000354 0xffffffffff700354 0xffffffffff700354 0x00002c 0x00002c R 0x4

Section to Segment mapping:
Segment Sections...
00 .hash .dynsym .dynstr .gnu.version .gnu.version_d .note .eh_frame_hdr .eh_frame .dynamic .rodata __bug_table .discard .altinstructions .altinstr_replacement .text
01 .dynamic
02 .note
03 .eh_frame_hdr

Regards,
Markus.
Intel GmbH
Dornacher Strasse 1
85622 Feldkirchen/Muenchen, Deutschland
Sitz der Gesellschaft: Feldkirchen bei Muenchen
Geschaeftsfuehrer: Christian Lamprechter, Hannes Schwaderer, Douglas Lusk
Registergericht: Muenchen HRB 47456
Ust.-IdNr./VAT Registration No.: DE129385895
Citibank Frankfurt a.M. (BLZ 502 109 00) 600119052