diff options
author | Ilya Leoshkevich <iii@linux.ibm.com> | 2024-01-09 11:40:14 +0100 |
---|---|---|
committer | Ilya Leoshkevich <iii@linux.ibm.com> | 2024-01-12 10:51:53 +0100 |
commit | d8c1361220ba7617adf4ccc396499f6393ec223e (patch) | |
tree | eac8330190da6e9568ea27927cb7bb4a78a845f9 /gcc/function.cc | |
parent | 9073084a0648906c46dea5ed05650e94cf16a6ee (diff) | |
download | gcc-d8c1361220ba7617adf4ccc396499f6393ec223e.zip gcc-d8c1361220ba7617adf4ccc396499f6393ec223e.tar.gz gcc-d8c1361220ba7617adf4ccc396499f6393ec223e.tar.bz2 |
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 <jakub@redhat.com>
Signed-off-by: Ilya Leoshkevich <iii@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.
Diffstat (limited to 'gcc/function.cc')
0 files changed, 0 insertions, 0 deletions