[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