> >None right now but then again it's my early morning precoffee brain...
> >Are there any places with 32b ints and 16b ptrs?  If so, casting ints
> >to pointers and back would be even more debatable than usual.
> 
> I'm going to try really hard to avoid that particular pitfall, if for no 
> other reason than you can set things on the VMS C compilers such that you 
> have 64-bit pointers and 32-bit ints by default. (Takes some work, but it's 
> doable) I think some of the platforms do Odd Things for pointers to 
> functions as well that might cause this assumption to fail.

There's a similar thing at the Decpaq UNIX side:

  -taso
      Directs the linker to load the executable file in the lower 31-bit
      addressable virtual address range. The -T and -D options to the ld com-
      mand can also be used, respectively, to ensure that the text and data
      segments addresses are loaded into low memory.

      The -taso option, however, in addition to setting default addresses for
      text and data segments, also causes shared libraries linked outside the
      31-bit address space to be appropriately relocated by the loader.  If
      you specify -taso and also specify text and data segment addresses with
      -T and -D, those addresses override the -taso default addresses. The
      -taso option can be helpful when porting programs that assume address
      values can be stored in 32-bit variables (that is, programs that assume
      that pointers are the same length as int variables).

-- 
$jhi++; # http://www.iki.fi/jhi/
        # There is this special biologist word we use for 'stable'.
        # It is 'dead'. -- Jack Cohen

Reply via email to