[OpenAFS] why linux sysnames are different

Avinesh Kumar avinesh@gmail.com
Wed, 2 Jan 2008 17:14:32 -0500


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

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_44226_32267809.1199312072362
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

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><br><br>&nbsp;&nbsp; ~avinesh<br>

------=_Part_44226_32267809.1199312072362--