[OpenAFS] why linux sysnames are different

Derrick Brashear shadow@gmail.com
Wed, 2 Jan 2008 17:21:21 -0500


------=_Part_5133_31833381.1199312481984
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

Historical accident. It should be based on the GLIBC version, but it's not.

On Jan 2, 2008 5:14 PM, Avinesh Kumar <avinesh@gmail.com> wrote:

> Hi,
>
> I want to know why the sysnames for Linux platform are named diffrently
> than it is done for other platforms. On Linux we have sysnames,
> i386_linux24,
> i386_linux26 etc which is named after kernel version whereas the same is
> done after OS version like rs_aix52, rs_aix53, sun4x_59, sun4x_510 etc for
> other platforms.
>
> According to the AFS semantics, the binaries under a sysname should be
> able to run on all systems with the same sysname, if I am right.
>
> However, considering Linux here, OS versions can get significant changes
> over time and we may not be advanced to 2.8.x kernel. So in this case,
> sysname would still be same 'i386_linux26' but the binaries may not run
> across.
>
> Considering the changes done in ELF format replacing SHT_HASH section
> by SHT_GNU_HASH, the binaries built (with default options) on RHEL-5 would
> not
> work on RHEL-4, both happen to have 2.6.x kernel.
>
>
> So If a user builds his program "bigtest" on RHEL5 and puts it under @sys
> area
> and tries to run the same from RHEL4, which would point to the same
> binary, and
> this would not work.
>
> As of now, the RHEL-5 user should make use of linker option
> "-Wl,--hash-style=sysv"
> if he plans to put under @sys directory.
>
> Please correct me if I am wrong.
>
> Thanks.
>
>
>    ~avinesh
>

------=_Part_5133_31833381.1199312481984
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

Historical accident. It should be based on the GLIBC version, but it&#39;s not.<br><br><div class="gmail_quote">On Jan 2, 2008 5:14 PM, Avinesh Kumar &lt;<a href="mailto:avinesh@gmail.com">avinesh@gmail.com</a>&gt; wrote:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">Hi,<br><br>I want to know why the sysnames for Linux platform are named diffrently<br>than it is done for other platforms. On Linux we have sysnames, i386_linux24,
<br>i386_linux26 etc which is named after kernel version whereas the same is 
<br>done after OS version like rs_aix52, rs_aix53, sun4x_59, sun4x_510 etc for<br>other platforms.<br><br>According to the AFS semantics, the binaries under a sysname should be<br>able to run on all systems with the same sysname, if I am right.
<br><br>However, considering Linux here, OS versions can get significant changes<br>over time and we may not be advanced to 2.8.x kernel. So in this case, <br>sysname would still be same &#39;i386_linux26&#39; but the binaries may not run across.
<br><br>Considering the changes done in ELF format replacing SHT_HASH section<br>by SHT_GNU_HASH, the binaries built (with default options) on RHEL-5 would not<br>work on RHEL-4, both happen to have 2.6.x kernel. <br><br>

<br>So If a user builds his program &quot;bigtest&quot; on RHEL5 and puts it under @sys area<br>and tries to run the same from RHEL4, which would point to the same binary, and<br>this would not work.<br><br>As of now, the RHEL-5 user should make use of linker option &quot;-Wl,--hash-style=sysv&quot;
<br>if he plans to put under @sys directory.<br><br>Please correct me if I am wrong.<br><br>Thanks.<br><font color="#888888"><br><br>&nbsp;&nbsp; ~avinesh<br>
</font></blockquote></div><br>

------=_Part_5133_31833381.1199312481984--