etc:users:jcmvbkbc:binutils-xtensa
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
etc:users:jcmvbkbc:binutils-xtensa [2024/03/06 05:22] – add TLS link time optimizations jcmvbkbc | etc:users:jcmvbkbc:binutils-xtensa [2024/03/18 14:47] (current) – jcmvbkbc | ||
---|---|---|---|
Line 9: | Line 9: | ||
* [+] PIE | * [+] PIE | ||
* [±] PLT and lazy binding | * [±] PLT and lazy binding | ||
- | * [-] TLS | + | * [+] TLS |
===== FDPIC instruction sequences ===== | ===== FDPIC instruction sequences ===== | ||
Line 79: | Line 79: | ||
< | < | ||
- | +0: | + | +0: |
+3: | +3: | ||
+5: | +5: | ||
+7: | +7: | ||
- | +9: l32i | + | +9: _l32i tmp3, tmp2, 0 # TLS_FUNC |
- | +11: callx0 | + | +12: callx0 |
</ | </ | ||
Line 91: | Line 91: | ||
=== TLS Local Dynamic === | === TLS Local Dynamic === | ||
+ | Header getting the address of the _TLS_MODULE_BASE_ is the same as in General Dynamic, or a possible one instruction less version: | ||
< | < | ||
+0: | +0: | ||
+2: | +2: | ||
+4: | +4: | ||
- | +6: l32i | + | +6: _l32i tmp2, tmp1, 0 |
- | +8: | + | +9: |
... | ... | ||
+m: | +m: | ||
Line 108: | Line 109: | ||
< | < | ||
+0: | +0: | ||
- | +3: | + | +3: |
- | +5: | + | +5: |
+7: | +7: | ||
+10: add res, tmp3, tmp4 | +10: add res, tmp3, tmp4 | ||
Line 127: | Line 128: | ||
< | < | ||
- | +0: | + | +0: |
+3: | +3: | ||
+5: | +5: | ||
Line 138: | Line 139: | ||
< | < | ||
- | +0: | + | +0: |
+3: | +3: | ||
+5: | +5: | ||
Line 144: | Line 145: | ||
+9: | +9: | ||
+12: callx0 | +12: callx0 | ||
+ | </ | ||
+ | |||
+ | === Initial Exec -> Local Exec === | ||
+ | |||
+ | < | ||
+ | +0: | ||
+ | +3: | ||
+ | +5: | ||
+ | +7: | ||
+ | +10: add res, tmp3, tmp4 | ||
</ | </ | ||
etc/users/jcmvbkbc/binutils-xtensa.1709691774.txt.gz · Last modified: 2024/03/06 05:22 by jcmvbkbc