<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'>Let me correct myself. The problematic symbol in the situation here is "ff_pd_1", a global variable. It's declared with the attribute visibility("hidden"). The symbol isn't exported. Knowing this, gcc apparently doesn't generate PIC code for accessing it even when you add -fPIC.<style><!--
.ExternalClass .ecxhmmessage P {
padding:0px;
}

.ExternalClass body.ecxhmmessage {
font-size:12pt;
font-family:Calibri;
}

--></style><div><br></div><div>By default, gcc assumes your executable isn't going to be larger than 2 gig. Executables are normally loaded within the first 2 gig of the address space, so any global variable ought to be reachable by a 32-bit address.  This doesn't work for shared libraries. The address needs to be 64-bit.</div>                                     </div></body>
</html>