<?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: Linker DEMAND_MAGIC Question in Operating System - HP-UX</title>
    <link>https://community.hpe.com/t5/operating-system-hp-ux/linker-demand-magic-question/m-p/3400524#M863091</link>
    <description>Essentially, you are trying to apply 32-bit thinking to a 64-bit world. 32-bit executables under HP-UX divided the 4GB virtual address space into 4 1GB quadrants; normally text (instructions) would be in one quadrant, data in another, shared memory in another, ... . It's a little complicated because sometimes data and text could be in the same quadrant. You did this sort of thing so that, for example, shared memory might extend past a quandrant boundary and thus break the 1GB barrier -- at the expense of some other chunk of data.&lt;BR /&gt;&lt;BR /&gt;64-bit code does away with the concept of quandrants and that is why the linker flags you are trying to play with don't apply. In your particular case, if data and text were in the same quadrant then text could not be shared among processes. &lt;BR /&gt;&lt;BR /&gt;Not to worry, the text and shared libraries code is shared among processes in 64-bit land.&lt;BR /&gt;</description>
    <pubDate>Thu, 14 Oct 2004 15:46:10 GMT</pubDate>
    <dc:creator>A. Clay Stephenson</dc:creator>
    <dc:date>2004-10-14T15:46:10Z</dc:date>
    <item>
      <title>Linker DEMAND_MAGIC Question</title>
      <link>https://community.hpe.com/t5/operating-system-hp-ux/linker-demand-magic-question/m-p/3400523#M863090</link>
      <description>Hi,&lt;BR /&gt;&lt;BR /&gt;I'm running HP-UX 11.11 with Oracle 9.2.0.3 (64 bit) on an HP9000.  I have linker patch PHSS_30968 installed.  I wish to link or set via chatr the executable such that the text segment is readonly shared among the several Oracle processes that run on my system.  Presumably, this is a reasonable thing to wish to do.  Be gentle, I am neither a linker expert or an Oracle expert.&lt;BR /&gt;&lt;BR /&gt;From the ld manpage (chatr manpage is similar):&lt;BR /&gt;&lt;BR /&gt; -n This option is accepted but ignored by the 64-bit ld.  Generate an executable output file with file type SHARE_MAGIC.  This is the default.  This option is incompatible with -N and -q.&lt;BR /&gt;..............................................................................................&lt;BR /&gt;..............................................................................................&lt;BR /&gt;&lt;BR /&gt;-q  This option is ignored for 64-bit links.  Generate an executable output file with file type DEMAND_MAGIC.  This option is incompatible with -n, -N, and -Q.&lt;BR /&gt;&lt;BR /&gt;When I run the command "chatr -q" on a test copy of the oracle executable, I get the following output:&lt;BR /&gt;&lt;BR /&gt;# chatr -q oracle.faf&lt;BR /&gt;Ignoring options "-q" for files: oracle.faf&lt;BR /&gt;&lt;BR /&gt;oracle.faf:&lt;BR /&gt;         64-bit ELF executable&lt;BR /&gt;...........................&lt;BR /&gt;...........................&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;Ditto "-n".  Any idea why these options would be ignored for 64 bit executables?  Thanks in advance for your help.......  Frank</description>
      <pubDate>Thu, 14 Oct 2004 15:31:33 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-hp-ux/linker-demand-magic-question/m-p/3400523#M863090</guid>
      <dc:creator>Frank Fitch_1</dc:creator>
      <dc:date>2004-10-14T15:31:33Z</dc:date>
    </item>
    <item>
      <title>Re: Linker DEMAND_MAGIC Question</title>
      <link>https://community.hpe.com/t5/operating-system-hp-ux/linker-demand-magic-question/m-p/3400524#M863091</link>
      <description>Essentially, you are trying to apply 32-bit thinking to a 64-bit world. 32-bit executables under HP-UX divided the 4GB virtual address space into 4 1GB quadrants; normally text (instructions) would be in one quadrant, data in another, shared memory in another, ... . It's a little complicated because sometimes data and text could be in the same quadrant. You did this sort of thing so that, for example, shared memory might extend past a quandrant boundary and thus break the 1GB barrier -- at the expense of some other chunk of data.&lt;BR /&gt;&lt;BR /&gt;64-bit code does away with the concept of quandrants and that is why the linker flags you are trying to play with don't apply. In your particular case, if data and text were in the same quadrant then text could not be shared among processes. &lt;BR /&gt;&lt;BR /&gt;Not to worry, the text and shared libraries code is shared among processes in 64-bit land.&lt;BR /&gt;</description>
      <pubDate>Thu, 14 Oct 2004 15:46:10 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-hp-ux/linker-demand-magic-question/m-p/3400524#M863091</guid>
      <dc:creator>A. Clay Stephenson</dc:creator>
      <dc:date>2004-10-14T15:46:10Z</dc:date>
    </item>
    <item>
      <title>Re: Linker DEMAND_MAGIC Question</title>
      <link>https://community.hpe.com/t5/operating-system-hp-ux/linker-demand-magic-question/m-p/3400525#M863092</link>
      <description>Thank you for you prompt reply and explanation for my problem !!!  Frank</description>
      <pubDate>Fri, 15 Oct 2004 11:05:42 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-hp-ux/linker-demand-magic-question/m-p/3400525#M863092</guid>
      <dc:creator>Frank Fitch_1</dc:creator>
      <dc:date>2004-10-15T11:05:42Z</dc:date>
    </item>
  </channel>
</rss>

