<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Understanding Linker Symbols in Operating System - Linux</title>
    <link>https://community.hpe.com/t5/operating-system-linux/understanding-linker-symbols/m-p/5053581#M93574</link>
    <description>You may want to use the simplified "nm -px" command and then look at the one letter symbol types.&lt;BR /&gt;&lt;BR /&gt;The above two symbols are completely different.&lt;BR /&gt;One is extern "C": IteUtilAppend.&lt;BR /&gt;The other is mangled:&lt;BR /&gt;$ c++filt _Z13IteUtilAppendPvPPcS0_&lt;BR /&gt;IteUtilAppend(void*, char**, char*)&lt;BR /&gt;&lt;BR /&gt;&lt;A href="http://docs.hp.com/en/8759/gloss.htm#n" target="_blank"&gt;http://docs.hp.com/en/8759/gloss.htm#n&lt;/A&gt;&lt;BR /&gt;&lt;A href="http://docs.hp.com/en/8759/otherlangs.htm#callinghpc" target="_blank"&gt;http://docs.hp.com/en/8759/otherlangs.htm#callinghpc&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;&amp;gt;will move on to 64 bit builds later.&lt;BR /&gt;&lt;BR /&gt;Any reason you will do this?  It isn't needed on HP-UX unless you are running out of address space.</description>
    <pubDate>Tue, 19 Jun 2007 02:01:53 GMT</pubDate>
    <dc:creator>Dennis Handly</dc:creator>
    <dc:date>2007-06-19T02:01:53Z</dc:date>
    <item>
      <title>Understanding Linker Symbols</title>
      <link>https://community.hpe.com/t5/operating-system-linux/understanding-linker-symbols/m-p/5053580#M93573</link>
      <description>I'm still unfamiliar with several aspects of HP-UX innerworkings.  This may seem trivial but it confuses me.&lt;BR /&gt;&lt;BR /&gt;I am building an .so.  In the symbol table it says that symbol IteUtilAppend is an UNDEF in the .dynsym table.  In the .o file I am picking up it defines the symbol as _Z13IteUtilAppendPvPPcS0_ as a GLOB.&lt;BR /&gt;&lt;BR /&gt;Sometimes I have symbols that look like this and when I pick them up they look like this in the .so and everything works great, other times it get the situation i'm in where i get all the strange symbology in one and not in the other and it won't.&lt;BR /&gt;&lt;BR /&gt;Obviously I'm doing something wrong and my lack of understanding about what all the jibberish is in the second symbol is the reason.  I'm hoping someone can explain what this is and how it works so I can have greater success with my dynamic libraries on HP-UX.  My system is 11.23 on IA.  I am currently doing 32 bit builds but will move on to 64 bit builds later.  I'm using aCC/ld to build my loads.&lt;BR /&gt;&lt;BR /&gt;Thanks,&lt;BR /&gt;Fred</description>
      <pubDate>Mon, 18 Jun 2007 16:41:34 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-linux/understanding-linker-symbols/m-p/5053580#M93573</guid>
      <dc:creator>Fred Vogel</dc:creator>
      <dc:date>2007-06-18T16:41:34Z</dc:date>
    </item>
    <item>
      <title>Re: Understanding Linker Symbols</title>
      <link>https://community.hpe.com/t5/operating-system-linux/understanding-linker-symbols/m-p/5053581#M93574</link>
      <description>You may want to use the simplified "nm -px" command and then look at the one letter symbol types.&lt;BR /&gt;&lt;BR /&gt;The above two symbols are completely different.&lt;BR /&gt;One is extern "C": IteUtilAppend.&lt;BR /&gt;The other is mangled:&lt;BR /&gt;$ c++filt _Z13IteUtilAppendPvPPcS0_&lt;BR /&gt;IteUtilAppend(void*, char**, char*)&lt;BR /&gt;&lt;BR /&gt;&lt;A href="http://docs.hp.com/en/8759/gloss.htm#n" target="_blank"&gt;http://docs.hp.com/en/8759/gloss.htm#n&lt;/A&gt;&lt;BR /&gt;&lt;A href="http://docs.hp.com/en/8759/otherlangs.htm#callinghpc" target="_blank"&gt;http://docs.hp.com/en/8759/otherlangs.htm#callinghpc&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;&amp;gt;will move on to 64 bit builds later.&lt;BR /&gt;&lt;BR /&gt;Any reason you will do this?  It isn't needed on HP-UX unless you are running out of address space.</description>
      <pubDate>Tue, 19 Jun 2007 02:01:53 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-linux/understanding-linker-symbols/m-p/5053581#M93574</guid>
      <dc:creator>Dennis Handly</dc:creator>
      <dc:date>2007-06-19T02:01:53Z</dc:date>
    </item>
    <item>
      <title>Re: Understanding Linker Symbols</title>
      <link>https://community.hpe.com/t5/operating-system-linux/understanding-linker-symbols/m-p/5053582#M93575</link>
      <description>Hi Fred,&lt;BR /&gt;&lt;BR /&gt;I think you are talking about name mangling, which is done by compilers to support features like overloading &lt;BR /&gt;&lt;BR /&gt;If you want to avoid name mangling for your objects you should make the use of extern "C" keyword.&lt;BR /&gt;&lt;BR /&gt;You can also do a bit googling to have more details about name mangling and extern C.&lt;BR /&gt;thanks</description>
      <pubDate>Tue, 19 Jun 2007 02:24:58 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-linux/understanding-linker-symbols/m-p/5053582#M93575</guid>
      <dc:creator>Srimalik</dc:creator>
      <dc:date>2007-06-19T02:24:58Z</dc:date>
    </item>
    <item>
      <title>Re: Understanding Linker Symbols</title>
      <link>https://community.hpe.com/t5/operating-system-linux/understanding-linker-symbols/m-p/5053583#M93576</link>
      <description>Thanks guys!  That made my lightbulb come one.  You have taken some of the mystery out of all this for me.&lt;BR /&gt;&lt;BR /&gt;Fred</description>
      <pubDate>Tue, 19 Jun 2007 09:35:44 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-linux/understanding-linker-symbols/m-p/5053583#M93576</guid>
      <dc:creator>Fred Vogel</dc:creator>
      <dc:date>2007-06-19T09:35:44Z</dc:date>
    </item>
  </channel>
</rss>

