KanRobert wrote:

> I suppose the name of relocation used by binutils is 
> R_X86_64_CODE_4_GOTPCRELX Also binutils has added 
> R_X86_64_CODE_5_GOTPCRELX/R_X86_64_CODE_6_GOTPCRELX, for evex relocation 
> Refer to 
> [bminor/binutils-gdb@3d5a60d](https://github.com/bminor/binutils-gdb/commit/3d5a60de52556f6a53d71d7e607c6696450ae3e4)
>  and 
> [bminor/binutils-gdb@5bc71c2](https://github.com/bminor/binutils-gdb/commit/5bc71c2a6b8efb27089baa1fecded82be4f550a7)

This is the first patch and `R_X86_64_CODE_6_GOTPCRELX` will be added later. 
`R_X86_64_CODE_5_GOTPCRELX` is only for possible future instructions and 
whether adding it as placeholder is optional.

I mentioned `R_X86_64_CODE_4_GOTPCRELX` in the description but I prefer 
`R_X86_64_REX2_GOTPCRELX` personally. Binutils use the former name for possible 
future instructions w/ 2-byte prefix other than REX2 (see discussion 
https://groups.google.com/g/x86-64-abi/c/KbzaNHRB6QU).  AFAIKC, the probability 
is quite low for the general GPR32 design, i.e. `REX2` is already 2-byte long, 
future prefix should be longer than 2 byte if we need GPR32 at the same time.  
And according to that design, probably we should rename  
`R_X86_64_REX_GOTPCRELX` to `R_X86_64_CODE_3_GOTPCRELX`. 

If the reviewers prefer the `CODE_4` name, I will update the PR.



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

Reply via email to