diff options
| author | Eugen Wissner <belka@caraus.de> | 2024-09-08 22:53:07 +0200 |
|---|---|---|
| committer | Eugen Wissner <belka@caraus.de> | 2024-09-09 23:10:37 +0200 |
| commit | bb33423c31d7553e9d8f98967da4975385b35646 (patch) | |
| tree | bb8f14172fa097b833cc38df3b428d61e00d080b /TODO | |
| parent | 1cbbef19afcf997315431e3aa45f824fe8a8a0e7 (diff) | |
| download | elna-bb33423c31d7553e9d8f98967da4975385b35646.tar.gz | |
Create empty relocations section
Diffstat (limited to 'TODO')
| -rw-r--r-- | TODO | 14 |
1 files changed, 14 insertions, 0 deletions
@@ -3,3 +3,17 @@ - Put symbol table in the reader monad and it to the stack or use the state monad for everything. - Add errors handling to the monad stack. + +# ELF generation + +- Don't ignore relocations where the symbol is not defined in the symbol table. + Report an error about an undefined symbol. +- Since every function adds a section header use a state monad + in the generator and put the headers into the state to reduce the number of + returned values in the tuples. +- Relocation section header relates to another section (e.g. .rel.text). The + index of that section should be passed together with collected relocations. +- symstrtab creates 3 section headers and does some math to calculate the + offsets and names. Introducing the state monad can help to get rid of magic + numbers. +- The final reutrn value of the state monad should be the Elf header. |
