A Procedure for Enabling Big-Endian Software to Run on Little-Endian Hardware and Vice Versa

Reference#: P01696

This invention consists of a methodology and associated software tools to support the porting of software applications between big-endian computers and little-endian computers. Big-endian computers store binary data such that the most significant byte resides in the lowest register address and vice versa for little-endian computers. While this choice is arbitrary, it is a fixed attribute of processor hardware which can lead to compatibility problems. Specifically, when a software application with binary data input or output is ported to a hardware platform with a different “endian-ness”, the source code must be modified for the data to be handled properly. This invention presents a general-case methodology that identifies the necessary changes and a software tool to make most of these changes automatically.

Software developers have been forced to deal with endian compatibility issues for a number of years. “Hacker” forums contain numerous solutions involving specific applications on specific hardware (see attachments). This community apparently has not developed a general-purpose solution, perhaps because manual intervention is almost always required. There are a few examples of software or hardware vendors advertising porting tools that address the endian issue (see attachments), although it is not clear how generic or automated they are.

The present invention is a useful attempt at automating a tedious software conversion process. The market need for this tool is increasing as the trend toward porting data-intensive software applications from microcomputers and workstations to PCs continues. However, the existing tool leaves several key steps requiring manual intervention. Attempts should be made to automate these steps and to build an interface which helps guide the user through the conversion process. The resulting product may enjoy success when marketed using the “shareware” model (c.f. Licensing the software will be difficult, since developers at most candidates have experience in solving the issue.

Ms. H. L. Curran
Phone: (443) 778-7262