Page-in Linking flag

Hi everyone,

Our app runs on iOS deployment target 15.0.

As per the WWDC 2022 session, page-in linking should be enabled for apps where chained-fixups is enabled.

Since chained fixups are enabled from iOS deployment target 13.4+ which is true for our app, will page-in linking be applied to it?

Is there some flag which we can use to confirm if it is applied for our app or not?

We have tried using dyld_info tool but could not find a command which can provide this information.

AFAICT page-in linking is not enabled by a flag in the Mach-O but rather by a survey of the Mach-O’s structure. On the Mac you can check its state by setting DYLD_PRINT_SEGMENTS:

% DYLD_PRINT_SEGMENTS=1 ./Test749569
…
dyld[99403]: Setting up kernel page-in linking for …/Test749569
dyld[99403]:   __DATA_CONST (rw.) 0x0001003D8000->0x0001003DC000 (fileOffset=0x4000, size=16KB)
dyld[99403]: mprotect 0x0001003D8000->0x0001003DC000 to read-only (Test749569)
Hello Cruel World!

The origin of this message is in the Darwin open source, so if you’re super curious you could pull on that thread.

Share and Enjoy
—
Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"