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 <ccout...@sourceware.org>:

https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=1757d35c8a35d77fd631705589024456c6030966

commit 1757d35c8a35d77fd631705589024456c6030966
Author: Cary Coutant <ccout...@gmail.com>
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.

_______________________________________________
bug-binutils mailing list
bug-binutils@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-binutils

Reply via email to