KanRobert wrote:

> > > Introduce an option (-mapx-relax-relocations) to control the emission of 
> > > the new APX relocations. It's off by default to keep backward 
> > > compatibility with old version of ld and other linkers without APX 
> > > support. And EGPR and NDD are also suppressed to avoid the instructions 
> > > updated incorrectly by old version of linkers.
> > 
> > 
> > Not understand this. IIUC, either we should not emit APX instructions at 
> > all, which is controlled by `-m[no-]apxf`, or we should not relax the all 
> > the relocations, which is controlled by `-Wl,--no-relax`.
> 
> If the APX relocation types are emitted in MC, they cannot be recognized by 
> old version of linkers. It leads to APX features unavailable on existing 
> Linux OSes with old version of linkers. `--no-relax` just disables the GOT 
> optimization in linker, and it cannot resolve the link error of unsupported 
> relocation type as mentioned above.

But if you just old relocations for APX instructions and `no-relax` is not 
used. Wouldn't the old linker do the relaxation incorrectly and silently?

https://github.com/llvm/llvm-project/pull/136660
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to