Skip to content

Commit

Permalink
Merge pull request #507 from diekmann/patch-1
Browse files Browse the repository at this point in the history
Clarify: vDSO is linked automatically with glibc
0xAX authored Sep 2, 2017
2 parents a67b696 + a87d46f commit 63939c9
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion SysCall/syscall-3.md
Original file line number Diff line number Diff line change
@@ -230,7 +230,7 @@ That's all. Now let's look on the modern concept - `vDSO`.
Introduction to vDSO
--------------------------------------------------------------------------------

As I already wrote above, `vsyscall` is an obsolete concept and replaced by the `vDSO` or `virtual dynamic shared object`. The main difference between the `vsyscall` and `vDSO` mechanisms is that `vDSO` maps memory pages into each process in a shared object [form](https://en.wikipedia.org/wiki/Library_%28computing%29#Shared_libraries), but `vsyscall` is static in memory and has the same address every time. For the `x86_64` architecture it is called -`linux-vdso.so.1`. All userspace applications linked with this shared library via the `glibc`. For example:
As I already wrote above, `vsyscall` is an obsolete concept and replaced by the `vDSO` or `virtual dynamic shared object`. The main difference between the `vsyscall` and `vDSO` mechanisms is that `vDSO` maps memory pages into each process in a shared object [form](https://en.wikipedia.org/wiki/Library_%28computing%29#Shared_libraries), but `vsyscall` is static in memory and has the same address every time. For the `x86_64` architecture it is called -`linux-vdso.so.1`. All userspace applications that dynamically link to `glibc` will use the `vDSO` automatically. For example:

```
~$ ldd /bin/uname

0 comments on commit 63939c9

Please sign in to comment.