The conditional jump can only be performed tp targets up to 1MB in
either direction and does not work too well when linker places cerror
further that that from the caller. In that case linker will complain
about relocation overflows.
Details
Details
- Reviewers
andrew emaste - Group Reviewers
arm64 - Commits
- rS316624: Do not use b.cs instruction to jump to cerror.
Diff Detail
Diff Detail
- Repository
- rS FreeBSD src repository - subversion
- Lint
Lint Not Applicable - Unit
Tests Not Applicable
Event Timeline
lib/libc/aarch64/SYS.h | ||
---|---|---|
54 ↗ | (On Diff #27179) | why not use b cerror directly? |
lib/libc/aarch64/SYS.h | ||
---|---|---|
54 ↗ | (On Diff #27179) | How? We still need to check the process state as that's how syscalls signal failure. |
Comment Actions
This LGTM with @andrew's note addressed, probably just make a comment out of a short version of the explanation that's in the Phabricator summary?
Also, with luck a future version of the linker will insert a thunk by itself when necessary, and we could then revert this.