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