diff options
Diffstat (limited to 'content')
-rw-r--r-- | content/2019-11-18-dynamic-linking-linux-x86_64.md | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/content/2019-11-18-dynamic-linking-linux-x86_64.md b/content/2019-11-18-dynamic-linking-linux-x86_64.md index 7888f42..bc39e0f 100644 --- a/content/2019-11-18-dynamic-linking-linux-x86_64.md +++ b/content/2019-11-18-dynamic-linking-linux-x86_64.md @@ -118,7 +118,7 @@ are important for the dynamic linking process. > This section holds the `relocation` entries, which are used by the dynamic > linker to find which symbol needs to be resolved and which location in the > `GOT` to be patched. (Whether it is `rel` or `rela` depends on the -> **DT_PLTREL** entry in the [`.dynamic` section](#dynamic-section)) +> **DT_PLTREL** entry in the `.dynamic` section. ## The bits behind dynamic linking @@ -180,7 +180,7 @@ the `.got.plt` and `.plt` sections. Taking a quick look at the `.got.plt` section we see the *global offset table GOT*. The entries *GOT[0..2]* have special meanings, *GOT[0]* holds the address of the -[`.dynamic` section](#dynamic-section) for this ELF file, *GOT[1..2]* will be +`.dynamic` section for this ELF file, *GOT[1..2]* will be filled by the dynamic linker at program startup. Entries *GOT[3]* and *GOT[4]* contain the function pointers for **puts** and **printf** accordingly. @@ -314,8 +314,8 @@ Dynamic section at offset 0x2e10 contains 24 entries: ``` We can see that **PLTGOT** points to address **0x404000** which is the address -of the GOT as we saw in the [radare2 dump](#code-gotplt-dump). -Also we can see that **JMPREL** points to the [relocation table](#code-relaplt-dump). +of the GOT as we saw in the radare2 dump. +Also we can see that **JMPREL** points to the relocation table. **PLTRELSZ / RELAENT** tells us that we have 2 relocation entries which are exactly the ones for **puts** and **printf**. |