On Thu, 2024-03-07 at 10:43 +0800, mengqinggang wrote: > Hi, > > Whether to add an option to control the generation of R_LARCH_RELAX, > similar to as -mrelax/-mno-relax.
There are already -mrelax and -mno-relax, they can be checked in the compiler code with TARGET_LINKER_RELAXATION. /* snip */ > > + case 'Q': > > + if (!TARGET_LINKER_RELAXATION) > > + break; So with -mno-relax we'll break early here, then no R_LARCH_RELAX will be printed. > > + if (code == HIGH) > > + op = XEXP (op, 0); > > + > > + if (loongarch_classify_symbolic_expression (op) == SYMBOL_TLS_IE) > > + fprintf (file, ".reloc\t.,R_LARCH_RELAX\n\t"); > > + > > + break; The tls-ie-norelax.c test case also checks for -mno-relax: > > +/* { dg-do compile } */ > > +/* { dg-options "-O2 -mcmodel=normal -mexplicit-relocs -mno-relax" } */ > > +/* { dg-final { scan-assembler-not "R_LARCH_RELAX" { target tls_native } } > > } */ i.e. -mno-relax is used compiling this test case, and the compiled assembly code should not contain R_LARCH_RELAX. -- Xi Ruoyao <xry...@xry111.site> School of Aerospace Science and Technology, Xidian University