diff options
author | Cupertino Miranda <cmiranda@synopsys.com> | 2016-12-29 17:10:01 +0100 |
---|---|---|
committer | Cupertino Miranda <cmiranda@synopsys.com> | 2017-06-08 19:00:36 +0200 |
commit | a0abe74332bd25aeb68acfadd74280c0f117c493 (patch) | |
tree | 2128997f00605dde87150541393c9df49932aae4 /bfd/ChangeLog | |
parent | f4e6805f98d2b3eae305f66ba26ab25aae1485f2 (diff) | |
download | gdb-a0abe74332bd25aeb68acfadd74280c0f117c493.zip gdb-a0abe74332bd25aeb68acfadd74280c0f117c493.tar.gz gdb-a0abe74332bd25aeb68acfadd74280c0f117c493.tar.bz2 |
[ARC] Fixed TLS for IE model.
In the case of static relocation, the GOT entries are fixed at link time
and are set by the linker.
In order to compute the right TLS offset it is necessary to add TCB_SIZE
to the offset, just in case the dynamic linker is not expected to be
executed (static linked case).
This problem does appear in dynamic linked applications, as the dynamic
linker is adding this TCB_SIZE by operating the TCB block structure.
Problem revealed in GLIBC with static linking.
bfd/ChangeLog:
Cupertino Miranda <cmiranda@synopsys.com>
arc-got.h (relocate_fix_got_relocs_for_got_info): Added TCB_SIZE to
patched section contents for TLS IE reloc.
elf32-arc.c: Remove TCB_SIZE preprocessor macro.
Rebase to 0006
Diffstat (limited to 'bfd/ChangeLog')
-rw-r--r-- | bfd/ChangeLog | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 9ee1bf4..7fb198a 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,5 +1,11 @@ 2017-06-08 Cupertino Miranda <cmiranda@synopsys.com> + * arc-got.h (relocate_fix_got_relocs_for_got_info): Added TCB_SIZE to + patched section contents for TLS IE reloc. + * elf32-arc.c: Remove TCB_SIZE preprocessor macro. + +2017-06-08 Cupertino Miranda <cmiranda@synopsys.com> + * elf32-arc.c (elf_arc_relocate_section): Added "call" to RELOC_FOR_GLOBAL_SYMBOL macro. |