https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93492

--- Comment #16 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by H.J. Lu <h...@gcc.gnu.org>:

https://gcc.gnu.org/g:6607bdd99994c834f92fce924abdaea3405f62dc

commit r11-23-g6607bdd99994c834f92fce924abdaea3405f62dc
Author: H.J. Lu <hjl.to...@gmail.com>
Date:   Fri May 1 21:03:10 2020 -0700

    Add patch_area_size and patch_area_entry to crtl

    Currently patchable area is at the wrong place.  It is placed immediately
    after function label and before .cfi_startproc.  A backend should be able
    to add a pseudo patchable area instruction durectly into RTL.  This patch
    adds patch_area_size and patch_area_entry to crtl so that the patchable
    area info is available in RTL passes.

    It also limits patch_area_size and patch_area_entry to 65535, which is
    a reasonable maximum size for patchable area.

    gcc/

            PR target/93492
            * cfgexpand.c (pass_expand::execute): Set crtl->patch_area_size
            and crtl->patch_area_entry.
            * emit-rtl.h (rtl_data): Add patch_area_size and patch_area_entry.
            * opts.c (common_handle_option): Limit
            function_entry_patch_area_size and function_entry_patch_area_start
            to USHRT_MAX.  Fix a typo in error message.
            * varasm.c (assemble_start_function): Use crtl->patch_area_size
            and crtl->patch_area_entry.
            * doc/invoke.texi: Document the maximum value for
            -fpatchable-function-entry.

    gcc/c-family/

            PR target/93492
            * c-attribs.c (handle_patchable_function_entry_attribute): Limit
            value to USHRT_MAX (65535).

    gcc/testsuite/

            PR target/93492
            * c-c++-common/patchable_function_entry-error-1.c: New test.
            * c-c++-common/patchable_function_entry-error-2.c: Likewise.
            * c-c++-common/patchable_function_entry-error-3.c: Likewise.

Reply via email to