[llvm] [SystemZ][z/OS] Add AMODE to PR symbols (PR #223541)

Ulrich Weigand via llvm-commits llvm-commits at lists.llvm.org
Fri Oct 2 00:32:09 PDT 2026


uweigand wrote:

> > But wouldn't they also match if they are always ESD_AMODE_None everywhere?
> 
> This is correct. However, there are symbols in the LE C runtime (e.g. variables `optarg` and `optind`) which have the AMODE set and which produce a "Unresolved symbol error" when binding. The LE libraries are compiled with the Legacy XL compiler, which also sets the AMODE to AMODE_64. As result, to be compatible with the existing environment, the AMODE has to be set.

Ah, so this is in effect an ABI issue.   Of course, this means that changing this setting now is an ABI break - do the various currently existing compilers all agree in how this is handled?

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


More information about the llvm-commits mailing list