On 27-12-2021 22:10, Noel Duffy via lazarus wrote:
On 28/12/21 01:47, Juha Manninen via lazarus wrote:
On Mon, Dec 27, 2021 at 1:44 AM Noel Duffy via lazarus <
lazarus@lists.lazarus-ide.org> wrote:
I need some help getting to the root of a problem with incorrect results
on Apple hardware (M1, aarch64) for the function UTF8LengthFast in
lazutf8.
On MacOS, when given a string containing one or more UTF8 characters,
UTF8LengthFast returns wildly incorrect results. On Fedora, the function
returns the correct answer.
You mean both MacOS and Fedora run on the same aarch64 CPU?
Oh no, Fedora runs on an Intel x86_64. I don't think there's a Fedora
that runs on aarch64. I included the results from Fedora just to show
that the code does work in some places.
I've tried on pine64 aarch64 linux little-endian fpc 3.2.0 and it showed
the correct results using your example code in another mail
Marc
It must be a Big endian / Little endian issue. IIRC it can be adjusted in
ARM CPUs.
Why do MacOS and Linux use a different setting there? I have no idea.
Well, as Florian said above, the M1 is little-endian. So it doesn't
appear to be an endian issue.
https://developer.apple.com/documentation/apple-silicon/porting-your-macos-apps-to-apple-silicon
--
_______________________________________________
lazarus mailing list
lazarus@lists.lazarus-ide.org
https://lists.lazarus-ide.org/listinfo/lazarus