<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 12pt;
font-family:Calibri
}
--></style></head>
<body class='hmmessage'><div dir='ltr'><br><div>Date: Wed, 6 Aug 2014 15:37:19 -0500<br>From: michal.wallace@gmail.com<br>To: fpc-devel@lists.freepascal.org<br>Subject: Re: [fpc-devel] fpc libraries do not work in freeBSD...<br><br><div dir="ltr"><div>It looks like my old post had an error when I tried to copy and paste the text.</div><div>The last line that is repeated 3 times should be three separate lines with an</div><div>have an offset for each variable.</div>
<div><br></div><div>For what it's worth, here is the actual patch I used. (I haven't re-tested it</div><div>today. If it doesn't work, I would have originally used the latest version of</div><div>the svn trunk on the day I posted, so you might try that...)</div>
<div><br></div><div>######### BEGIN PATCH ############################<br><div><br></div><div><div>diff --git a/rtl/freebsd/x86_64/<a href="http://dllprt0.as" target="_blank">dllprt0.as</a> b/rtl/freebsd/x86_64/<a href="http://dllprt0.as" target="_blank">dllprt0.as</a></div>
<div>index 7213eae..2a68c6f 100644</div><div>--- a/rtl/freebsd/x86_64/<a href="http://dllprt0.as" target="_blank">dllprt0.as</a></div><div>+++ b/rtl/freebsd/x86_64/<a href="http://dllprt0.as" target="_blank">dllprt0.as</a></div><div>@@ -68,8 +68,20 @@ _haltproc:</div>
<div>         movzwl  (%rbx),%edi</div><div>         syscall</div><div>         jmp     _haltproc@PLT</div><div>-       /* Do not fail linkage if argc, argv and envp are not found. */</div><div>-       .weak   operatingsystem_parameter_argc</div>
<div>-       .weak   operatingsystem_parameter_argv</div><div>-       .weak   operatingsystem_parameter_envp</div><div>+//     /* Do not fail linkage if argc, argv and envp are not found. */</div><div>+//     .weak   operatingsystem_parameter_argc</div>
<div>+//     .weak   operatingsystem_parameter_argv</div><div>+//     .weak   operatingsystem_parameter_envp</div><div><br></div><div>+/* Although these variables are useless, they actually do need to be declared</div><div>
+ * to create shared libraries usable from other environments. (eg, python).</div><div>+ */</div><div>+operatingsystem_parameters:</div><div>+        .skip 3*8</div><div>+</div><div>+        .global operatingsystem_parameter_envp</div>
<div>+        .global operatingsystem_parameter_argc</div><div>+        .global operatingsystem_parameter_argv</div><div>+        .set operatingsystem_parameter_envp,operatingsystem_parameters+0</div><div>+        .set operatingsystem_parameter_argc,operatingsystem_parameters+8</div>
<div>+        .set operatingsystem_parameter_argv,operatingsystem_parameters+16</div></div><div><br></div><div>########### END PATCH #############################</div></div></div><div class="ecxgmail_extra"><br>Hello Michal.<br><br>Many thanks to help us.<br><br>I will try your patch now.<br><br>Write you lat.<br><br>Fred<br></div></div>                                      </div></body>
</html>