bug-binutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bug ld/23571] arm: COMMONPAGESIZE issue


From: cvs-commit at gcc dot gnu.org
Subject: [Bug ld/23571] arm: COMMONPAGESIZE issue
Date: Sun, 26 Aug 2018 13:18:21 +0000

https://sourceware.org/bugzilla/show_bug.cgi?id=23571

--- Comment #4 from cvs-commit at gcc dot gnu.org <cvs-commit at gcc dot 
gnu.org> ---
The master branch has been updated by Alan Modra <address@hidden>:

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

commit 3d9c8f6b3f033a6092425b7344647fb51dbed5c6
Author: Alan Modra <address@hidden>
Date:   Sun Aug 26 14:23:38 2018 +0930

    Delay evaluation of alignment expressions in output sections

    git commit 702d16713 broke expressions using CONSTANT(COMMONPAGESIZE)
    in ALIGN or SUBALIGN of output section statements, because these
    optional fields were evaluated at script parse time and the patch in
    question delayed setting of config.commonpagesize.  The right thing to
    do is keep the tree representation of those fields for later
    evaluation.

        PR 23571
        * ldlang.h (section_alignment): Make it an expression tree.
        (subsection_alignment): Likewise.
        * ldlang.c (topower): Delete.
        (output_section_statement_newfunc): Adjust initialization.
        (init_os): Evaluate section_alignment.
        (lang_size_sections_1): Likewise.
        (size_input_section): Evaluate subsection_alignment.
        (lang_enter_output_section_statement): Don't evaluate here.
        (lang_new_phdr): Use exp_get_vma rather than exp_get_value_int.
        * ldexp.h (exp_get_value_int): Delete.
        (exp_get_power): Declare.
        * ldexp.c (exp_get_value_int): Delete.
        (exp_get_power): New function.
        * emultempl/pe.em (place_orphan): Build expression for section
        alignment.
        * emultempl/pep.em (place_orphan): Likewise.
        * testsuite/ld-scripts/pr23571.d,
        * testsuite/ld-scripts/pr23571.t: New test.
        * testsuite/ld-scripts/align.exp: Run it.

-- 
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]