[lld] [lld][ELF] Support relax R_LARCH_ALIGN (PR #78692)

Lu Weining via llvm-commits llvm-commits at lists.llvm.org
Thu Feb 1 02:00:17 PST 2024


SixWeining wrote:

> > > For release/18.x, I think relaxing just `R_*_ALIGN` is safer. We need more time to think about GOT relaxation. Relaxing once may not converge when other features like RELR are involved. Can you split the patch?
> > 
> > 
> > I agree about the spliting. In addition, I think lld-18 needs to process `R_LARCH_{ADD,SUB}_ULEB128` as well because there may be such relocs in `.gcc_except_table` section when `A` and `B` are separated by alignment directives. (Both gcc and clang emit alignment directive before `for` loop).
> 
> Well, if it can't, it's largely due to GCC/binutils moving too fast on relaxation :( (which I warned long time ago).

Patch for uleb128 is relative easy (already done locally) and will submitted after this PR is merged.

https://github.com/llvm/llvm-project/pull/78692


More information about the llvm-commits mailing list