Il 08/06/23 18:40, Martin Frb via fpc-devel ha scritto:

It seems that on Cocoa an exe is by default relocatable.
At least a basic test shows that dumping a stack at runtime for each run (no new compile) gives new addresses.

Fpc 3.2.2

Is there a way to turn this off? (some flag to pass to the linker?)

AFAIK there's no way. It's a feature deep in the way the OS handles memory. In a multiprogramming environment any executable must be by definition relocatable, because at each run it must fit in a free area of memory. So the OS has two choices. Either the executable is not relocatable, and you trick it by altering the Memory Management Unit tables to map its virtual fixed addresses to any free memory area, or you make it relocatable, loose a little time when loading to locate it, and do not tamper with MMU mapping tables. It's a system design choice.

Giuliano


_______________________________________________
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel

Reply via email to