arm: warn/error on movrelx usage problematic with PIC on ELF
The warning has false positives but our asm does not trigger it. For new code false positives can only be avoided by changing the register allocation.
This commit is contained in:
parent
5bcc6f76f1
commit
6a1ea4ec93
1 changed files with 9 additions and 0 deletions
|
|
@ -184,6 +184,15 @@ T ldr \rd, [\rd]
|
|||
.endm
|
||||
|
||||
.macro movrelx rd, val, gp
|
||||
.ifc \rd,\gp
|
||||
.error "movrelx needs two distinct registers"
|
||||
.endif
|
||||
.ifc \rd\()_\gp,r12_
|
||||
.warning "movrelx rd=\rd without explicit set gp"
|
||||
.endif
|
||||
.ifc \rd\()_\gp,ip_
|
||||
.warning "movrelx rd=\rd without explicit set gp"
|
||||
.endif
|
||||
#if CONFIG_PIC && defined(__ELF__)
|
||||
.ifnb \gp
|
||||
.if .Lpic_gp
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue