Experimental Physics and
| |||||||||||||||||
|
All, I committed a reorganized osiWireFormat.h and two new osdWireFormat.h files today. This revision makes the architecture specific file much smaller and easier to maintain. I also committed a VMS version of osdWireFormat.h but don't have any easy way to test it here as the DEC C++ compiler isn't installed. To properly see the impact of these changes you will probably need to execute a "make uninstall" before building the revised version (the location of osiWireFormat.h moved from base/include/<os> to base/include). src/libCom/osi/osiWireFormat.h (generic interfaces) src/libCom/osi/os/default/osiWireFormat.h (works with most architectures) src/libCom/osi/os/VMS/osiWireFormat.h (makes VAX floating point work) There is also still the following code block in the os/default/osdWireFormat.h file. Perhaps one of EPICS_BIG_ENDIAN, EPICS_LITTLE_ENDIAN, or in rare situations both EPICS_LITTLE_ENDIAN and EPICS_32107654_FP_ENDIAN (for net winder arm) should be defined by the configuration files so that source code changes are not required to support a new processor? The only negative I see with that idea is some minimal amount of additional clutter in the compile command lines. Janet: what do you think? // // Here are the definitions for architecture dependent byte ordering // and floating point format. // // Perhaps the definition of EPICS_BIG_ENDIAN, EPICS_LITTLE_ENDIAN, // and EPICS_32107654_FP_ENDIAN should be left to the build system // so that this file need not be modified when adding support for a // new architecture? // #if defined (_M_IX86) || defined (_X86_) || defined (__i386__) || defined (_X86_64_) || defined (_M_AMD64) # define EPICS_LITTLE_ENDIAN #elif ( defined (__ALPHA) || defined (__alpha) ) # define EPICS_LITTLE_ENDIAN #elif defined (__arm__) # define EPICS_LITTLE_ENDIAN #else # define EPICS_BIG_ENDIAN #endif // // The ARM supports two different floating point architectures, the // original and a more recent "vector" format. The original FPU is // emulated by the Netwinder library and, in little endian mode, has // the two words in the opposite order to that which would otherwise // be expected! The vector format is identical to IEEE. // #if defined (_ARM_NWFP_) # define EPICS_32107654_FP_ENDIAN #endif Jeff __________________________________________________________ Jeffrey O. Hill Mail [email protected] LANL MS H820 Voice 505 665 1831 Los Alamos NM 87545 USA Fax 505 665 5107 Attachment:
osdWireFormat.h Attachment:
osdWireFormat.h
| ||||||||||||||||
ANJ, 02 Feb 2012 |
·
Home
·
News
·
About
·
Base
·
Modules
·
Extensions
·
Distributions
·
Download
·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing · |