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

--- Comment #8 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Ilya Leoshkevich <i...@gcc.gnu.org>:

https://gcc.gnu.org/g:d8c1361220ba7617adf4ccc396499f6393ec223e

commit r14-7176-gd8c1361220ba7617adf4ccc396499f6393ec223e
Author: Ilya Leoshkevich <i...@linux.ibm.com>
Date:   Tue Jan 9 11:40:14 2024 +0100

    rs6000: Fix ASAN linker errors for Power ELF V1 ABI [PR113284]

    rs6000_elf_declare_function_name () outputs Power ELF V1 ABI function
    entry labels without using ASM_OUTPUT_FUNCTION_LABEL ().  As a result,
    .LASANPC labels are not emitted, causing linker errors.

    In theory, it is possible to reuse ASM_OUTPUT_FUNCTION_LABEL () by
    changing rs6000_output_function_entry () to generate label names
    without outputting them, but this would be quite a large change.

    Instead, factor out the .LASANPC emitting code from
    ASM_OUTPUT_FUNCTION_LABEL () and call it manually.

    Fixes: c659dd8bfb55 ("Implement ASM_DECLARE_FUNCTION_NAME using
ASM_OUTPUT_FUNCTION_LABEL")
    Suggested-by: Jakub Jelinek <ja...@redhat.com>
    Signed-off-by: Ilya Leoshkevich <i...@linux.ibm.com>

    gcc/ChangeLog:

            PR sanitizer/113284
            * config/rs6000/rs6000.cc (rs6000_elf_declare_function_name):
            Use assemble_function_label_final () for Power ELF V1 ABI.
            * output.h (assemble_function_label_final): New function.
            * varasm.cc (assemble_function_label_raw): Use
            assemble_function_label_final ().
            (assemble_function_label_final): New function.

Reply via email to