aboutsummaryrefslogtreecommitdiff
path: root/gold/ChangeLog
diff options
context:
space:
mode:
authorSriraman Tallam <tmsriram@google.com>2016-06-28 15:42:33 -0700
committerSriraman Tallam <tmsriram@google.com>2016-06-28 15:42:33 -0700
commit3a4f096e5ff41e2a3b832cf6c815ad1f28437c63 (patch)
tree4b687f6684621526904028771534d04e5da2f0bf /gold/ChangeLog
parent8032ac03390ca5bc33f8efe29447d0a4bc492950 (diff)
downloadgdb-3a4f096e5ff41e2a3b832cf6c815ad1f28437c63.zip
gdb-3a4f096e5ff41e2a3b832cf6c815ad1f28437c63.tar.gz
gdb-3a4f096e5ff41e2a3b832cf6c815ad1f28437c63.tar.bz2
Convert indirect calls to direct when possible.
Please see patch discussion: https://www.sourceware.org/ml/binutils/2016-05/msg00322.html 2016-06-28 Sriraman Tallam <tmsriram@google.com> * x86_64.cc (Lazy_view): New class. (can_convert_mov_to_lea): Templatize function. Make the function check for appropriate relocation types and use the view parameter to get section contents. (can_convert_callq_to_direct): New function. (Target_x86_64<size>::Scan::global): Refactor. (Target_x86_64<size>::Relocate::relocate): Refactor. Change any indirect call via GOT that can be converted. * testsuite/Makefile.am (x86_64_indirect_call_to_direct.sh): New test. * testsuite/Makefile.in: Regenerate. * testsuite/x86_64_indirect_call_to_direct1.s: New file. * testsuite/x86_64_indirect_jump_to_direct1.s: New file.
Diffstat (limited to 'gold/ChangeLog')
-rw-r--r--gold/ChangeLog15
1 files changed, 15 insertions, 0 deletions
diff --git a/gold/ChangeLog b/gold/ChangeLog
index d6bae2b..8b293cd 100644
--- a/gold/ChangeLog
+++ b/gold/ChangeLog
@@ -1,3 +1,18 @@
+2016-06-28 Sriraman Tallam <tmsriram@google.com>
+
+ * x86_64.cc (Lazy_view): New class.
+ (can_convert_mov_to_lea): Templatize function. Make the function
+ check for appropriate relocation types and use the view parameter
+ to get section contents.
+ (can_convert_callq_to_direct): New function.
+ (Target_x86_64<size>::Scan::global): Refactor.
+ (Target_x86_64<size>::Relocate::relocate): Refactor. Change any indirect
+ call via GOT that can be converted.
+ * testsuite/Makefile.am (x86_64_indirect_call_to_direct.sh): New test.
+ * testsuite/Makefile.in: Regenerate.
+ * testsuite/x86_64_indirect_call_to_direct1.s: New file.
+ * testsuite/x86_64_indirect_jump_to_direct1.s: New file.
+
2016-06-28 Igor Kudrin <ikudrin@accesssoftek.com>
* aarch64.cc (Target_aarch64::Scan::local): Move the call to got_section