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

"James K. Lowden" <[email protected]>
Newsgroups gmane.comp.db.tds.freetds
Message-ID <[email protected]>
On Fri, 27 Sep 2013 10:31:50 -0700
Justin T Pryzby <[email protected]> wrote:

> 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.

Hmm, I doubt it's the linker because you produced the same error
without any fancy linker flags.  And the STV_HIDDEN property would seem
to corroborate the linker's complaint that the symbol has local
linkage.  

I rather suspect the compiler, because it's what produced ct.o.  What's
the compiler command line look like?  Anything there that deals with
symbol visibility or that affects linkage?  

--jkl
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.