<div dir="auto"><div><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Florian Klämpfl <<a href="mailto:florian@freepascal.org">florian@freepascal.org</a>> schrieb am Mo., 26. Aug. 2019, 14:01:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Am 26. August 2019 00:59:16 schrieb <a href="mailto:tobiasgiesen@gmail.com" target="_blank" rel="noreferrer">tobiasgiesen@gmail.com</a>:<br>
<br>
> Hello,<br>
><br>
><br>
> while examining a crash when running Lazarus on ppc64le, I found the<br>
> following issue in function calls.<br>
><br>
><br>
> Calls to functions with more than eight parameters seem to be<br>
> implemented differently from how gcc does it in a C program.<br>
><br>
><br>
> gcc uses the memory location 96(r1) for the ninth parameter, but FPC<br>
> uses 112(r1).<br>
><br>
><br>
> Therefore, calls to XGetWindowProperty crash. This function has 12<br>
> parameters. gcc puts the four last ones into  96(r1), 104(r1), 112(r1), 120(r1),<br>
> and FPC into 112(r1), 120(r1), 128(r1), 136(r1).<br>
><br>
><br>
> What can be done about this?<br>
<br>
Try to change the 48 in fpc/compiler/powerpc64/cpupara.pas line to 32 as a temporary test.<br></blockquote></div></div><div dir="auto"><br></div><div dir="auto">Line 302 in case anyone is wondering (thankfully that's the only "48" in that fike (plus its preceeding comment) ^^') </div><div dir="auto"><br></div><div dir="auto">Regards, </div><div dir="auto">Sven </div><div dir="auto"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
</blockquote></div></div></div>