<?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: 64-bit Shared Library in Operating System - Linux</title>
    <link>https://community.hpe.com/t5/operating-system-linux/64-bit-shared-library/m-p/4972918#M102004</link>
    <description>No, PA-RISC2.0 refers to the instruction set and it is possible to use the PA-RISC2.0 instruction set and still be 32-bit (with respect to data) code.&lt;BR /&gt;&lt;BR /&gt;Try this:&lt;BR /&gt;cc +DA2.0 -c csiunx.c&lt;BR /&gt;and then "file csiunx.o". &lt;BR /&gt;That will result in "PA-RISC2.0 object"&lt;BR /&gt;&lt;BR /&gt;next:&lt;BR /&gt;cc +DA2.0W -c csiunx.c&lt;BR /&gt;and then "file csiunx.o".&lt;BR /&gt;That will display "ELF-64 object"&lt;BR /&gt;&lt;BR /&gt;The ELF-64 means that this is true 64-bit code and does not, for example, have the 1GB quadrant boundaries that are characteristic of 32-bit PA-RISCXX code and greatly limit the size of data structures.&lt;BR /&gt;&lt;BR /&gt;You need to change the flags in your makefiles (or set CCOPTS) to +DA2.0W if you want 64-bit code.&lt;BR /&gt;</description>
    <pubDate>Mon, 10 Apr 2006 14:55:54 GMT</pubDate>
    <dc:creator>A. Clay Stephenson</dc:creator>
    <dc:date>2006-04-10T14:55:54Z</dc:date>
    <item>
      <title>64-bit Shared Library</title>
      <link>https://community.hpe.com/t5/operating-system-linux/64-bit-shared-library/m-p/4972917#M102003</link>
      <description>Hi,&lt;BR /&gt;&lt;BR /&gt;We're trying to determine if a Shared Library we've&lt;BR /&gt;compiled is 64-bit code.  When we test an executable&lt;BR /&gt;compiled with the "cc +DA2.0W" option, we get the&lt;BR /&gt;following result from the "file" command:&lt;BR /&gt;&lt;BR /&gt;# file /usr/local/bin/cpuperf&lt;BR /&gt;/usr/local/bin/cpuperf: ELF-64 executable object file - PA-RISC 2.0 (LP64)&lt;BR /&gt;&lt;BR /&gt;It explicitly says that the file contains 64-bit code.&lt;BR /&gt;&lt;BR /&gt;One of our developers is compiling a shared library.  She&lt;BR /&gt;is not using the "+DA2.0W" option, and she's linking it&lt;BR /&gt;with the following "ld" command:&lt;BR /&gt;&lt;BR /&gt;ld -b +s -o libcsiunx.sl csiunx.o&lt;BR /&gt;&lt;BR /&gt;If we execute "file" on the resultant library:&lt;BR /&gt;&lt;BR /&gt;# file libcsiunx.sl&lt;BR /&gt;libcsiunx.sl:   PA-RISC2.0 shared library -not stripped&lt;BR /&gt;&lt;BR /&gt;It says it is "2.0" code, but not 64-bit code.  I thought&lt;BR /&gt;the PA-RISC2.0 CPUs were all 64-bit.  Have I got that wrong?&lt;BR /&gt;&lt;BR /&gt;The man page for ld talks about SHLIB_PATH and LD_LIBRARY_PATH&lt;BR /&gt;for the "+s" option to ld, but it says nothing about the LPATH&lt;BR /&gt;environment variable.  We do have /usr/lib/pa20_64 at the&lt;BR /&gt;beginning of LPATH.&lt;BR /&gt;&lt;BR /&gt;I'm just trying to determine if we have more work to do to&lt;BR /&gt;get us to all 64-bit code.  Any help appreciated.  i.e.  Is&lt;BR /&gt;this PA-RISC2.0 file 64-bit or not?&lt;BR /&gt;&lt;BR /&gt;Thanks,&lt;BR /&gt;Tom</description>
      <pubDate>Mon, 10 Apr 2006 12:55:05 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-linux/64-bit-shared-library/m-p/4972917#M102003</guid>
      <dc:creator>Tom Dawson</dc:creator>
      <dc:date>2006-04-10T12:55:05Z</dc:date>
    </item>
    <item>
      <title>Re: 64-bit Shared Library</title>
      <link>https://community.hpe.com/t5/operating-system-linux/64-bit-shared-library/m-p/4972918#M102004</link>
      <description>No, PA-RISC2.0 refers to the instruction set and it is possible to use the PA-RISC2.0 instruction set and still be 32-bit (with respect to data) code.&lt;BR /&gt;&lt;BR /&gt;Try this:&lt;BR /&gt;cc +DA2.0 -c csiunx.c&lt;BR /&gt;and then "file csiunx.o". &lt;BR /&gt;That will result in "PA-RISC2.0 object"&lt;BR /&gt;&lt;BR /&gt;next:&lt;BR /&gt;cc +DA2.0W -c csiunx.c&lt;BR /&gt;and then "file csiunx.o".&lt;BR /&gt;That will display "ELF-64 object"&lt;BR /&gt;&lt;BR /&gt;The ELF-64 means that this is true 64-bit code and does not, for example, have the 1GB quadrant boundaries that are characteristic of 32-bit PA-RISCXX code and greatly limit the size of data structures.&lt;BR /&gt;&lt;BR /&gt;You need to change the flags in your makefiles (or set CCOPTS) to +DA2.0W if you want 64-bit code.&lt;BR /&gt;</description>
      <pubDate>Mon, 10 Apr 2006 14:55:54 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-linux/64-bit-shared-library/m-p/4972918#M102004</guid>
      <dc:creator>A. Clay Stephenson</dc:creator>
      <dc:date>2006-04-10T14:55:54Z</dc:date>
    </item>
    <item>
      <title>Re: 64-bit Shared Library</title>
      <link>https://community.hpe.com/t5/operating-system-linux/64-bit-shared-library/m-p/4972919#M102005</link>
      <description>&amp;gt;You need to change the flags in your makefiles (or set CCOPTS) to +DA2.0W if you want 64-bit code.&lt;BR /&gt;&lt;BR /&gt;It will be more portable (to IPF) if you use +DD64 instead.</description>
      <pubDate>Mon, 10 Apr 2006 15:48:06 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-linux/64-bit-shared-library/m-p/4972919#M102005</guid>
      <dc:creator>Dennis Handly</dc:creator>
      <dc:date>2006-04-10T15:48:06Z</dc:date>
    </item>
    <item>
      <title>Re: 64-bit Shared Library</title>
      <link>https://community.hpe.com/t5/operating-system-linux/64-bit-shared-library/m-p/4972920#M102006</link>
      <description>Tom,&lt;BR /&gt;&lt;BR /&gt;The "W" in PA-RISC2.0W stands for wide as in kernel width i.e. 64-bit as opposed to PA-RSC2.0 which defaults to 32-bit.&lt;BR /&gt;&lt;BR /&gt;You can look inside your locally built shared library with ldd, if it references others, to confirm whether it's 64-bit or 32-bit. Look at the pathname to other libraries since it will contain "/usr/lib" if its 32-bit or "/usr/lib/pa20_64" if its 64-bit on PA-RISC architecture machines.&lt;BR /&gt;&lt;BR /&gt;cheers!</description>
      <pubDate>Mon, 10 Apr 2006 16:15:20 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-linux/64-bit-shared-library/m-p/4972920#M102006</guid>
      <dc:creator>Sandman!</dc:creator>
      <dc:date>2006-04-10T16:15:20Z</dc:date>
    </item>
    <item>
      <title>Re: 64-bit Shared Library</title>
      <link>https://community.hpe.com/t5/operating-system-linux/64-bit-shared-library/m-p/4972921#M102007</link>
      <description>Clay,&lt;BR /&gt;&lt;BR /&gt;Thanks for the explanation.&lt;BR /&gt;&lt;BR /&gt;Tom&lt;BR /&gt;</description>
      <pubDate>Mon, 10 Apr 2006 18:37:18 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-linux/64-bit-shared-library/m-p/4972921#M102007</guid>
      <dc:creator>Tom Dawson</dc:creator>
      <dc:date>2006-04-10T18:37:18Z</dc:date>
    </item>
    <item>
      <title>Re: 64-bit Shared Library</title>
      <link>https://community.hpe.com/t5/operating-system-linux/64-bit-shared-library/m-p/4972922#M102008</link>
      <description>Thanks for the replies!</description>
      <pubDate>Mon, 10 Apr 2006 18:38:19 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-linux/64-bit-shared-library/m-p/4972922#M102008</guid>
      <dc:creator>Tom Dawson</dc:creator>
      <dc:date>2006-04-10T18:38:19Z</dc:date>
    </item>
  </channel>
</rss>

