[PATCH] D102535: [RISCV] -mno-relax: emit .option norelax

Jessica Clarke via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri May 14 15:25:29 PDT 2021


jrtc27 added a comment.

In D102535#2760899 <https://reviews.llvm.org/D102535#2760899>, @MaskRay wrote:

> In D102535#2760807 <https://reviews.llvm.org/D102535#2760807>, @jrtc27 wrote:
>
>> I view this as a bug in whatever calls the assembler; it should be passing -mno-relax, just as it needs to pass -fPIC as appropriate.
>
> I'll use the -g analogy. `clang -S -g` emits debug info and leaves a .debug_line marker so that the assembler knows it needs to synthesize debug info and should not synthesize .debug_info from ELF symbols.
> The assembler doesn't need `-g` to function.
>
> For `.option nopic`, I agree it is not useful.

The two aren't comparable. Relaxation affects assembling and not code generation. Debug info affects code generation to emit all the information that's otherwise lost (the assembly doesn't have a copy of your source code...). Even PIC is more useful than `.option norelax`, as it affects what instructions get used to lower global addresses etc.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D102535/new/

https://reviews.llvm.org/D102535



More information about the llvm-commits mailing list