Professional Web Applications Themes

[Q] Forte 6U2 Compatibility Issue between Solaris 5.6 and 5,.8 - Sun Solaris

Hello, Just tried to compile something by Sun Workshop C 5.3 (from Forte 6U2) on Solaris 8 and run on Solaris 5.6 - no way, it crashes (bus error). Then tried to understand, what system constants are defined here and there, say, from the following list: __sparc, __sparcv8, __sparcv9, __ILP32, __LP64. Interesting things: Solaris 5.6 on Ultra-80: __sparc Solaris 5.8 on Ultra-Enterprize: __sparc, __sparcv8, _ILP32 So, my questions: (1) Does it look normal? I mean, why the constant _LP64 is not defined on Solaris 5.8? Why __sparcv8, _ILP32 aren't defined on Solaris 5.6? (2) Is there any way to play ...

  1. #1

    Default [Q] Forte 6U2 Compatibility Issue between Solaris 5.6 and 5,.8

    Hello,

    Just tried to compile something by Sun Workshop C 5.3 (from Forte 6U2) on
    Solaris 8 and run on Solaris 5.6 - no way, it crashes (bus error).

    Then tried to understand, what system constants are defined here and there,
    say, from the following list: __sparc, __sparcv8, __sparcv9, __ILP32, __LP64.

    Interesting things:

    Solaris 5.6 on Ultra-80: __sparc
    Solaris 5.8 on Ultra-Enterprize: __sparc, __sparcv8, _ILP32

    So, my questions:

    (1) Does it look normal? I mean, why the constant _LP64 is not defined on
    Solaris 5.8? Why __sparcv8, _ILP32 aren't defined on Solaris 5.6?
    (2) Is there any way to play with compiler options (I'd even prefer C++)
    to build a program on Solaris 5.8 and run it on Solaris 5.6? (I know,
    that this is normally out of question, but I've heard about
    "two-versions down" compatibility guarantee provided by Sun...)

    Thanks in advance,
    Alex
    Alex Guest

  2. #2

    Default Re: [Q] Forte 6U2 Compatibility Issue between Solaris 5.6 and 5,.8

    Hi

    Alex wrote: 

    Not surprising. Sun supports compiling on a release and running on that
    release or later (provided you stick with ABI/API etc) but not the other
    way around.
     

    Solaris 7 introduced the LP64 data model to Solaris and only at that point
    did we need to distinguish ILP32 vs LP64.
     

    Nope, not in the direction you are talking about. If Sun guaranteed
    that direction it would be pretty much impossible to change or overhaul
    libraries in releases.

    Gavin

    Gavin Guest

  3. #3

    Default Re: [Q] Forte 6U2 Compatibility Issue between Solaris 5.6 and 5,.8

    com (Alex) writes in comp.unix.solaris:
    |(1) Does it look normal? I mean, why the constant _LP64 is not defined on
    | Solaris 5.8? Why __sparcv8, _ILP32 aren't defined on Solaris 5.6?

    Yes. _LP64 will only be defined if you compile in 64-bit mode
    (-xarch=v9 or one of the v9 variants). On Solaris 2.6, _ILP32 was the
    only choice, so no define was needed - _LP64 didn't become an option
    until Solaris 7.

    |(2) Is there any way to play with compiler options (I'd even prefer C++)
    | to build a program on Solaris 5.8 and run it on Solaris 5.6? (I know,
    | that this is normally out of question, but I've heard about
    | "two-versions down" compatibility guarantee provided by Sun...)

    There is no such "two versions down" guarantee. Sun's only binary
    compatibility guarantee is "the version you compile on and later
    versions", provided you stick to the supported interfaces. There
    are a number of known areas where programs compiled on Solaris 8
    won't be able to run on 2.6.

    --
    __________________________________________________ ______________________
    Alan Coopersmith calberkeley.org
    http://www.CSUA.Berkeley.EDU/~alanc/ aka: COM
    Working for, but definitely not speaking for, Sun Microsystems, Inc.
    Alan Guest

  4. #4

    Default Re: [Q] Forte 6U2 Compatibility Issue between Solaris 5.6 and 5,.8

    Alan,

    I've noticed that some very simple programs can be compiled on 5.8 and
    run on 5.6. Will I be able to increase chances for such a "good behaviour",
    if I use option -xarch=v8plus during compilation?

    Regards,
    Alex

    Alan Coopersmith <calberkeley.org> wrote in message news:<bkndu3$eep$berkeley.edu>... 
    Alex Guest

  5. #5

    Default Re: [Q] Forte 6U2 Compatibility Issue between Solaris 5.6 and 5,.8

    Alex <com> wrote: 
     

    I doubt it. Remember, it's not the processor or machine code that's the
    limitation, it's the ABI calls.

    You would need to convince the compiler that it can only use calls
    available in your old OS. If you wanted to spend a lot of time at it,
    you might be able to get a chrooted copy of 2.6 libraries to compile
    stuff while living on a Solaris 8 box.

    I believe there was a posting here within the past couple of months
    by someone who was able to get pretty close to that at an old company.
    I think he said just the compiles were done on the "new" box, while the
    actual linking was done on the old one.

    This is not supported by sun. If you want to try it, you're going to
    have to convince yourself that it'll work.

    --
    Darren Dunham com
    Unix System Administrator Taos - The SysAdmin Company
    Got some Dr Pepper? San Francisco, CA bay area
    < This line left intentionally blank to confuse you. >
    Darren Guest

Similar Threads

  1. Compatibility issue...
    By Von in forum FileMaker
    Replies: 2
    Last Post: November 14th, 03:11 PM
  2. problems with HP and Solaris environment compatibility
    By Bill Marcum in forum Linux / Unix Administration
    Replies: 0
    Last Post: July 10th, 05:23 PM
  3. Oracle 8i and AIX 5 compatibility issue
    By juliuus in forum Oracle Server
    Replies: 2
    Last Post: July 8th, 06:50 PM
  4. compiling gnu programs on Solaris 9/compatibility
    By jmarkotic in forum Sun Solaris
    Replies: 2
    Last Post: July 1st, 09:49 PM

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139