Sorry, this title is incomplete and has been resent.
在 2024/2/21 上午11:08, Lulu Cheng 写道:
Because binutils2.42 corrects the implementation of
".align [abs-expr,[abs-expr[,abs-expr]]]".
The macro ASM_OUTPUT_ALIGN_WITH_NOP in GCC uses this assembler directive,
and an error occurs. See link below for detailed description.
https://gcc.gnu.org/pipermail/gcc-patches/2024-February/645067.html
In order to solve the above problems, do the following operations:
1. Delete macro definition ASM_OUTPUT_ALIGN_WITH_NOP. (cherry pick r14-4674)
2. Check whether binutils supports the relax function. (cherry pick r14-4160)
3. Disable relaxation if the assembler don't support
conditional branch relaxation. (cherry pick r14-5434)
PR112299 is also fixed here.
Lulu Cheng (2):
LoongArch: Delete macro definition ASM_OUTPUT_ALIGN_WITH_NOP.
LoongArch: Check whether binutils supports the relax function. If
supported, explicit relocs are turned off by default.
Xi Ruoyao (2):
LoongArch: Disable relaxation if the assembler don't support
conditional branch relaxation [PR112330]
LoongArch: Define HAVE_AS_TLS to 0 if it's undefined [PR112299]
gcc/config.in | 18 +++++
gcc/config/loongarch/genopts/loongarch.opt.in | 9 +++
gcc/config/loongarch/gnu-user.h | 4 +-
gcc/config/loongarch/loongarch-opts.h | 12 ++++
gcc/config/loongarch/loongarch.h | 22 +++++--
gcc/config/loongarch/loongarch.opt | 9 +++
gcc/configure | 66 +++++++++++++++++++
gcc/configure.ac | 14 ++++
gcc/doc/invoke.texi | 24 ++++++-
9 files changed, 169 insertions(+), 9 deletions(-)