On 2025-07-14 12:10, Jeremy Drake via Cygwin-patches wrote:
On Mon, 14 Jul 2025, Jeremy Drake wrote:
On Thu, 10 Jul 2025, Radek Barton via Cygwin-patches wrote:
This patch implements `import_address` function by decoding `adr` AArch64
instructions to get
target address.
Out of curiosity, can you elaborate on when `adr` is used rather than
`adrp`/`add` pair? I know adr has much less range, but it seems like the
compiler can't know how far away many symbols will be (perhaps it can for
things like local labels). When I was looking at ntdll in the fastcwd
stuff (and ucrt in ruby) adrp/add (or adrp/ldr) were used, never saw adr.
adr has a +/- 1MB range from PC, while adrp/add has a +/- 4GB range.
Details:
https://devblogs.microsoft.com/oldnewthing/20220809-00/?p=106955
--
Take care. Thanks, Brian Inglis Calgary, Alberta, Canada
La perfection est atteinte Perfection is achieved
non pas lorsqu'il n'y a plus rien à ajouter not when there is no more to add
mais lorsqu'il n'y a plus rien à retrancher but when there is no more to cut
-- Antoine de Saint-Exupéry