[fpc-pascal] InterlockedExchangeAdd64
    Sven Barth 
    pascaldragon at googlemail.com
       
    Fri Jan 10 20:08:53 CET 2025
    
    
  
Am 10.01.2025 um 15:43 schrieb Adriaan van Os via fpc-pascal:
>
> I have an arm64 (aarch64) test program on MacOS that calls 
> InterlockedExchangeAdd64 with a target variable that is not 8-byte 
> aligned. Running the test program emits "EBusError: Bus error or 
> misaligned data access".
>
> So far so good.
>
> But now I install a system.ErrorProc and run the same program. It 
> emits, instead of the EBusError, Runtime Error 214.
>
> This puzzles me.
This is as designed, because the ErrorProc is what is used by the 
SysUtils unit to convert runtime errors to exceptions. If you want to 
implement your own handling, then store the original value of ErrorProc, 
assign your own handler, do your own handling and at the end call the 
saved ErrorProc.
Regards,
Sven
    
    
More information about the fpc-pascal
mailing list