This code: foo.cc ---------- extern int foo; extern int bar(); int main () { return foo + bar(); } compiled with: gcc-4_9_g++ foo.cc -fpie -mcmodel=large ld: internal error in relocate, at .../gold/x86_64.cc:3397
The problem was a missing break statement when processing an R_X86_64_PLTOFF64 relocation. Fixed on trunk. https://sourceware.org/ml/binutils-cvs/2014-04/msg00141.html
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "gdb and binutils". The branch, binutils-2_24-branch has been updated via cb25fe47b0a76573ba04c33a76e0aaab0700b551 (commit) from d69c090f9a7b68088570e725fda7088e8e9e0c76 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=cb25fe47b0a76573ba04c33a76e0aaab0700b551 commit cb25fe47b0a76573ba04c33a76e0aaab0700b551 Author: Cary Coutant <ccoutant@google.com> Date: Wed Apr 23 15:17:16 2014 -0700 Add missing break statement for case elfcpp::R_X86_64_PLTOFF64. gold/ PR gold/16870 * x86_64.cc (Target_x86_64::Relocate::relocate): Add missing break. ----------------------------------------------------------------------- Summary of changes: gold/ChangeLog | 5 +++++ gold/x86_64.cc | 1 + 2 files changed, 6 insertions(+), 0 deletions(-)
Also fixed on binutils-2.24 branch.
*** Bug 14324 has been marked as a duplicate of this bug. ***