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

Reply via email to