bug-binutils
[Top][All Lists]
Advanced

[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.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]