diff options
| author | 2025-10-23 10:25:06 +0200 | |
|---|---|---|
| committer | 2025-10-23 10:25:06 +0200 | |
| commit | cb199f47ca31b079212fe4fd3987e5ba39b12273 (patch) | |
| tree | f260f68971f607ee30234147e6a5ceb7c5a93b9e /amd64 | |
| parent | 6e7b3186952d5a0877312886747e95b1455db996 (diff) | |
isel: fix -fpic factoring out non-symbolic address operands
Diffstat (limited to 'amd64')
| -rw-r--r-- | amd64/isel.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/amd64/isel.c b/amd64/isel.c index 6041faf..7ff84e4 100644 --- a/amd64/isel.c +++ b/amd64/isel.c @@ -235,7 +235,7 @@ fuseaddr(union ref *r, struct block *blk, int *curi) if (r->t != RTMP) return 0; if (!aadd(&addr, *r)) return 0; - if (ccopt.pic || (ccopt.pie && isaddrcon(addr.base) && addr.index.bits)) { + if (isaddrcon(addr.base) && (ccopt.pic || (ccopt.pie && addr.index.bits))) { /* pic needs to load from GOT */ /* pie cannot encode RIP-relative address with index register */ /* first load symbol address into a temp register */ |