aboutsummaryrefslogtreecommitdiffhomepage
path: root/development/ld.so.html
diff options
context:
space:
mode:
authorjohannst <johannst@users.noreply.github.com>2024-04-10 19:37:02 +0000
committerjohannst <johannst@users.noreply.github.com>2024-04-10 19:37:02 +0000
commit269caa8ae18eb33e1286e4c21d434ea07228a619 (patch)
treeb9c0ae7bf44a6873adc4c9da9204de2bdf4a1de1 /development/ld.so.html
parent92fc0e8e46352a593c3ce7f87292ee1c4ee4c4e4 (diff)
downloadnotes-269caa8ae18eb33e1286e4c21d434ea07228a619.tar.gz
notes-269caa8ae18eb33e1286e4c21d434ea07228a619.zip
deploy: ae498864bb638e597b589c52ff27237835625281
Diffstat (limited to 'development/ld.so.html')
-rw-r--r--development/ld.so.html3
1 files changed, 3 insertions, 0 deletions
diff --git a/development/ld.so.html b/development/ld.so.html
index c0d088b..6c0e2f0 100644
--- a/development/ld.so.html
+++ b/development/ld.so.html
@@ -352,6 +352,9 @@ symbol=default_main; lookup in file=/usr/lib/libc.so.6 [0]
symbol=default_main; lookup in file=/lib64/ld-linux-x86-64.so.2 [0]
./main: error: symbol lookup error: undefined symbol: default_main (fatal)
</code></pre>
+<h2 id="load-lib-with-same-name-from-different-locations"><a class="header" href="#load-lib-with-same-name-from-different-locations">Load lib with same name from different locations</a></h2>
+<p>The sources in <a href="https://github.com/johannst/notes/tree/master/src/development/ldso/samename">ldso/samename</a> show some experiments, loading the
+libs with the same name but potentially from different locations (paths).</p>
<h2 id="dynamic-linking-x86_64"><a class="header" href="#dynamic-linking-x86_64">Dynamic Linking (x86_64)</a></h2>
<p>Dynamic linking basically works via one indirect jump. It uses a combination of
function trampolines (<code>.plt</code> section) and a function pointer table (<code>.got.plt</code>