diff options
author | Egeyar Bagcioglu <egeyar.bagcioglu@oracle.com> | 2017-06-29 04:28:27 -0700 |
---|---|---|
committer | Jose E. Marchesi <jose.marchesi@oracle.com> | 2017-06-29 04:28:27 -0700 |
commit | ec1acaba1381d0196c45965a7db9942b67fbd88d (patch) | |
tree | 3bd2601dff117f455a14fef8eee88b2ec9c95bcf /gdb/gdbserver | |
parent | ff07562f1e369b6e37eafb2a888dc48fa2453e86 (diff) | |
download | gdb-ec1acaba1381d0196c45965a7db9942b67fbd88d.zip gdb-ec1acaba1381d0196c45965a7db9942b67fbd88d.tar.gz gdb-ec1acaba1381d0196c45965a7db9942b67fbd88d.tar.bz2 |
bfd: prevent all but undef weak syms from becoming dynamic in sparc.
Prevent sparc backend making symbols dynamic unless they are undefined
weak. Use R_SPARC_RELATIVE for the symbols which are not dynamic in PIC.
This patch is tested on sparc64-unknown-linux-gnu, no regressions are
found.
bfd/ChangeLog:
2017-06-29 Egeyar Bagcioglu <egeyar.bagcioglu@oracle.com>
* elfxx-sparc.c (allocate_dynrelocs): Don't make a symbol dynamic
unless it is undefined weak.
* elfxx-sparc.c (_bfd_sparc_elf_relocate_section): Set the flag
relative_reloc to direct non-dynamic symbols to R_SPARC_RELATIVE
relocation.
* elfxx-sparc.c (_bfd_sparc_elf_finish_dynamic_symbol): If symbol
is not dynamic in PIC, abort.
Diffstat (limited to 'gdb/gdbserver')
0 files changed, 0 insertions, 0 deletions