[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Bug gold/14746] ld: internal error in address, at gold/output.h:72 whil
From: |
cvs-commit at gcc dot gnu.org |
Subject: |
[Bug gold/14746] ld: internal error in address, at gold/output.h:72 while building Linux kvm tool |
Date: |
Wed, 26 Aug 2015 01:17:28 +0000 |
https://sourceware.org/bugzilla/show_bug.cgi?id=14746
--- Comment #9 from cvs-commit at gcc dot gnu.org <cvs-commit at gcc dot
gnu.org> ---
The master branch has been updated by Cary Coutant <address@hidden>:
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=1757d35c8a35d77fd631705589024456c6030966
commit 1757d35c8a35d77fd631705589024456c6030966
Author: Cary Coutant <address@hidden>
Date: Tue Aug 25 17:41:19 2015 -0700
Fix internal error in gold when script uses section address in assignment.
When processing assignment expressions in a linker script, gold processes
absolute assignments early, but when one of those assignments involves the
address of a section that has not yet been finalized, we get an internal
error in address. This patch fixes the problem by gracefully returning
from expression evaluation even if the address is not yet valid, and
deferring the assignment in such a case.
gold/
PR gold/14746
* expression.cc (Expression::Expression_eval_info): Add
is_valid_pointer field.
(Expression::eval_maybe_dot): Add is_valid_pointer parameter.
Adjust all callers.
(Addr_expression::value_from_output_section): Check whether address
is valid.
* script.cc (Symbol_assignment::set_if_absolute): Defer assignment
if evaluation failed due to address that is not yet valid.
* script.h: (Expression::eval_maybe_dot): Add is_valid_pointer
parameter.
--
You are receiving this mail because:
You are on the CC list for the bug.