Migrating from 32 to 64 bit systems

Introduction

Programmers often write code that relies on underlying properties of the cpu. One fundamental property is the size of datatypes. RISC processors are now moving up from 32 bits to 64 bits. This move poses potential porting problems for code that relies on certain datatypes having certain sizes.

The two most common assumptions made by 32 bit code is that the size of an integer is the same as the size of a long is the same as the size of a pointer. Code ported from a MicroSoft Windows environment may have already encountered the size of int/size of long assumption (in this case them not being equal under most compilers under Windows).

The Aspen Group

This group has been set up to define a set of API's to help developers migrate to the 'wider' processors (work was started by Intel in August 1995). Similar work has been undertaken by WG14 (the ISO C working group) in an effort to create a model for the declarations of scalar types in this wider world. The WG14 work failed to reach consensus; each proposal submitted tending to work well on one vendors architecture.

The Unix vendors collaborating on the single Unix specification, the "Aspen Group" as the collective is known, comprise of industry heavy weights, including Digital Equipment, Hewlett-Packard, IBM, Intel, Novell, NCR, Santa Cruz Operation, and SunSoft.

"Extending the single Unix specification for 64-bit systems", an index to X/Open's single Unix specification documents.

"Computer industry leaders extend single Unix specification for 64-bit systems and submits to X/Open", an X/Open press release dated February 14.

Removing coding reliance on datatype size

An algorithm used in an application may rely of the sizes of datatypes to work. Detecting such reliance is far beyond current program analysis techniques. Individual coding constructs may also rely on the size of datatypes. This dependence can often be detected.

If the OSPC platform profile specification system is given a 32 bit source platform and a 64 bit target platform the following will be flagged:



© Copyright 1996,97. Knowledge Software Ltd. All rights reserved;
Home
Last modified 30 Jan 1997