5194ea997fbe3cabe4810c3eacdfff1e9a1aeed8
explain/rtld.md
... | ... | @@ -8,6 +8,8 @@ this page](https://0x00sec.org/t/linux-internals-the-art-of-symbol-resolution/14 |
8 | 8 | For a series of very in-depth articles, see [this page |
9 | 9 | ](https://www.airs.com/blog/archives/38) etc. |
10 | 10 | |
11 | +[Here](https://sourceware.org/glibc/wiki/Debugging/Loader_Debugging)'s a page on how to debug ld.so, and [here](https://www.gnu.org/software/hurd/glibc/startup.html)'s one on the glibc startup process (GNU Hurd, but mostly applicable to Linux as well). |
|
12 | + |
|
11 | 13 | ### The interesting bits |
12 | 14 | |
13 | 15 | Or at least, to us. |
... | ... | @@ -119,3 +121,5 @@ This has a few problems: |
119 | 121 | * The return address is saved to `lr` instead of being written to the stack. This means we can't use the stack trick as in x86_64 |
120 | 122 | |
121 | 123 | The only useful thing that gets passed to our entrypoint is the `sl` register. The address to `.L_LOADED` would still be needed, though. |
124 | + |
|
125 | +For now, only the dnload-style loading might be possible. This should work with glibc, musl and probably bionic as well. |