On 19 dec 2006, at 17:23, Florian Klaempfl wrote:

The reason they are also exported, is that they are global symbols
(i.e., they appear in the interface of a unit). I know the manual states that no symbols will be exported unless you mention them in the export statement, but afaik this is wrong in general (except maybe on Windows?)

IIRC it's true for Linux too.

Not in my experience (this is tests/test/tlibrary1 on Linux/i386):

$ nm libtlibrary1.so |less
00006450 A __bss_start
00031ea9 T DEBUGEND_SI_DLL
00031e60 T DEBUGEND_SYSTEM
00035858 D DEBUGINFO_SI_DLL
000320e0 D DEBUGINFO_SYSTEM
00031e60 T DEBUGSTART_SI_DLL
00019770 T DEBUGSTART_SYSTEM
00032000 A _DYNAMIC
00006450 A _edata
00006450 A _end
0001ca60 T fpc_abs_real
00029610 T FPC_ABSTRACTERROR
00029610 T fpc_abstracterrorintern
00028490 T fpc_addref
00028490 T FPC_ADDREF
00020890 T fpc_ansistr_append_ansistring
00020890 T FPC_ANSISTR_APPEND_ANSISTRING

All these "T" symbols are exported afaik.


Jonas
_______________________________________________
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-devel

Reply via email to