[freetds] freetds on solaris 11: symbol scope specifies local binding (same problem)

Justin T Pryzby justinp at norchemlab.com
Fri Sep 27 13:31:50 EDT 2013


On Thu, Sep 26, 2013 at 09:05:24PM -0400, James K. Lowden wrote:
> Let's take the linker at its word, then.  It says strlen in ct.o is
> specified as local binding.  What does nm(1) say of strlen
> in .lib/ct.o? 
$ nm ./src/ctlib/.libs/ct.o |grep strlen
[481]   |         0|         0|NOTY |GLOB |2    |UNDEF  |strlen

481 is an index into the symbol table;

0 is its "value";

0 is its size;

type:NOTYPE means: No type was specified;

bind:GLOBAL means: Are visible to all object files being combined;
The other bind values are LOCAL and WEAK.

2 means: STV_HIDDEN from sys/elf.h
I guess that is the problem (?)  I still think it has to do with the
linker script/mapping table/whatever.

UNDEF means:     an undefined symbol.

$ nm -p ./src/ctlib/.libs/ct.o |grep strlen
0000000000 U strlen

Justin


More information about the FreeTDS mailing list