Jonas Maebe wrote:
On 15 Jul 2011, at 13:43, Bernd wrote:

To get used to this entire thing I am beginning with something much
more simple, I will try to get some sha hashing functions from openssl
imported (I will also need them, so it would not hurt to start with
them).

FPC comes with translated openssl headers, so other than for learning purposes 
you shouldn't have to do this.

 Now the question
(and I am intentionally asking this on a Pascal list and not a C list
to get an answer that better fits into my Pascal brain) how would the
C compiler or linker know from where exactly to import these
functions?

On Unix-like systems, at static link time (i.e., at the end of compiling the 
program), the linker searches all libraries specified on the command line for 
the used symbols. If a symbol is not found, you get an error. Furthermore, at 
run time the dynamic linker again will search for those same symbols. Depending 
on the operating system and the dynamic linker settings, it will only search 
for those symbols in certain libraries or again in any library that's in the 
(dynamic) library path. The binary generally does not contain information about 
from which library a particular symbol comes (exceptions are Windows, and at 
least also Mac OS X to some extent).

http://blogs.embarcadero.com/eboling/2010/02/16/5656/ contains a fairly good 
overview of the symbol binding strategies on different platforms.

I wonder if I could tack a question onto this. When I started looking at SPARC Solaris 10 and Solaris 8 earlier in the year, I found that the linker (which I think was gld) followed symlinks at build time rather than waiting until runtime. This meant that while I was able to build FPC on 10 without significant difficulty, I couldn't move the binaries back to 8: I had to rebuild with a hacked symlink to a temporary copy of one of the standard libraries (possibly libc, I can't remember for certain).

Is this what one would expect, or is it another ld glitch that might be platform-specific?

--
Mark Morgan Lloyd
markMLl .AT. telemetry.co .DOT. uk

[Opinions above are the author's, not those of his employers or colleagues]
_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal

Reply via email to