<div dir="ltr">Hello Fpc-developers,<div><br></div><div>Why would a global variable cause an issue when linking a shared library (specifically 64-bit linux)?</div><div>The more detailed description is here:</div><div><a href="http://bugs.freepascal.org/view.php?id=17412">http://bugs.freepascal.org/view.php?id=17412</a><br></div><div><br></div><div>Linker fails to generate an .SO file complaining about a bad code generated for:</div><div>TC_RICHMEMO_RTFLOADSTREAM<br></div><div>Where RTFLoadStream is declared as:</div><div>var</div><div>  RTFLoadStream : function (AMemo: TCustomRichMemo; Source: TStream): Boolean = nil;<br></div><div>The variable doesn't seem to be exported by the library in any way.</div><div>Are global variables treated in some special manner when generating shared library?</div><div><br></div><div>To add to that. RichMemo comes as Lazarus package. </div><div>Thus object files for it are compiled without -fPIC flag set, by default.</div><div>However, it's possible to recompile the page with -fPIC flag later (that should resolve the issue named in the bug report)</div><div><br></div><div>thanks,</div><div>Dmitry</div></div>