<p>Am 05.08.2014 20:37 schrieb "Sergei Gorelkin" <<a href="mailto:sergei_gorelkin@mail.ru">sergei_gorelkin@mail.ru</a>>:<br>
><br>
> 05.08.2014 22:02, Sven Barth пишет:<br>
>><br>
>> Am 05.08.2014 15:35 schrieb "Marco van de Voort" <<a href="mailto:marcov@stack.nl">marcov@stack.nl</a> <mailto:<a href="mailto:marcov@stack.nl">marcov@stack.nl</a>>>:<br>
>><br>
>>  > But the FPC version has these symbols in the main program, maybe you must<br>
>>  > make sure that those (operatingsystem*) systems are available from the<br>
>>  > mainprogram too and preloaded with the proper values.<br>
>><br>
>> The main program should not need to do anything here. It's more likely that there is a problem in<br>
>> our FreeBSD startup files for libraries.<br>
>><br>
> FreeBSD loader does not pass argc,argv and envp to shared library initialization procedure, like it happens on Linux. Since FPC does not have a shared RTL, such hack with exporting symbols from executable is likely an only way to initialize RTLs compiled into shared libraries.</p>

<p>And C code does not have that problem, because the program startup code initializes libc which other libraries then depend on, right? Grrr...</p>
<p>Regards,<br>
Sven</p>