[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

buildd failure for arm - floating point encoding?



Please CC to me - I'm not subscribed to the list.


I am maintaining a new package, labplot, that is failing, at its first upload, to build on arm (and several other things). I believe the problem is that there is no floating point encoding being defined for that architecture, which is leading to an undefined type of struct later on.

The program defines the floating point encoding in the included cdf library like this (from cdf/cdfdist.h, line 437 onwards):


/*****************************************************************************
* Floating-point encodings.
*   1..........Sun, SGi, IBM-RS, HP, NeXT, Macintosh
*   2..........DECstation, IBM-PC, Alpha (OSF/1), Alpha (OpenVMS - IEEE_FLOAT)
*   3..........VAX, Alpha (OpenVMS - D_FLOAT)
*   4..........Alpha (OpenVMS - G_FLOAT)
*****************************************************************************/

#if defined(sun)||defined(MIPSEB)||defined(IBMRS)||defined(HP)||defined(NeXT)||defined(mac)||defined(POWERPC)
#  define FP1cpu
#endif

#if defined(MIPSEL)||defined(IBMPC)||defined(alphaosf)||defined(alphavmsI)||defined(posixSHELLalphaI)
#  define FP2cpu
#endif

#if defined(vax)||defined(alphavmsD)||defined(posixSHELLalphaD)
#  define FP3cpu
#endif

#if defined(alphavmsG)||defined(posixSHELLalphaG)
#  define FP4cpu
#endif


Does anyone know whether arm uses the same encoding as one of these examples? What I am hoping is that arm uses the same floating point encoding as one of the archs this code already works for, and that it's therefore only a matter of fixing the #if statements above to include the arm case.

The FP*cpu definition is used later, (see below, from cdf/cdflib.h, line 400 onwards) to define the data structs. Hopefully one of these will work for arm.

If anyone can help with a suggestion, that would be great.

Thank you,

Helen.


/******************************************************************************
* Floating-point structures.
******************************************************************************/

#if defined(FP1cpu)
  struct fp1struct4 {
    uInt s : 1, e1 : 7, e0 : 1, m2 : 7, m1 : 8, m0 : 8;
  };
  struct fp2struct4 {
    uInt m0 : 8, m1 : 8, e0 : 1, m2 : 7, s : 1, e1 : 7;
  };
  struct fp34struct4 {
    uInt e0 : 1, m2 : 7, s : 1, e1 : 7, m0 : 8, m1 : 8;
  };
  struct fp1struct8 {
    uInt s : 1, e1 : 7, e0 : 4, m6 : 4, m5 : 8,
     m4 : 8, m3 : 8, m2 : 8, m1 : 8, m0 : 8;
  };
  struct fp2struct8 {
    uInt m0 : 8, m1 : 8, m2 : 8, m3 : 8, m4 : 8,
     m5 : 8, e0 : 4, m6 : 4, s : 1, e1 : 7;
  };
  struct fp3struct8 {
    uInt e0 : 1, m6 : 7, s : 1, e1 : 7, m4 : 8,
     m5 : 8, m2 : 8, m3 : 8, m0 : 8, m1 : 8;
  };
  struct fp4struct8 {
    uInt e0 : 4, m6 : 4, s : 1, e1 : 7, m4 : 8,
     m5 : 8, m2 : 8, m3 : 8, m0 : 8, m1 : 8;
  };
#endif

#if defined(FP2cpu)
  struct fp1struct4 {
    uInt e1 : 7, s : 1, m2 : 7, e0 : 1, m1 : 8, m0 : 8;
  };
  struct fp2struct4 {
    uInt m0 : 8, m1 : 8, m2 : 7, e0 : 1, e1 : 7, s : 1;
  };
  struct fp34struct4 {
    uInt m2 : 7, e0 : 1, e1 : 7, s : 1, m0 : 8, m1 : 8;
  };
  struct fp1struct8 {
    uInt e1 : 7, s : 1, m6 : 4, e0 : 4, m5 : 8,
     m4 : 8, m3 : 8, m2 : 8, m1 : 8, m0 : 8;
  };
  struct fp2struct8 {
    uInt m0 : 8, m1 : 8, m2 : 8, m3 : 8, m4 : 8,
     m5 : 8, m6 : 4, e0 : 4, e1 : 7, s : 1;
  };
  struct fp3struct8 {
    uInt m6 : 7, e0 : 1, e1 : 7, s : 1, m4 : 8,
     m5 : 8, m2 : 8, m3 : 8, m0 : 8, m1 : 8;
  };
  struct fp4struct8 {
    uInt m6 : 4, e0 : 4, e1 : 7, s : 1, m4 : 8,
     m5 : 8, m2 : 8, m3 : 8, m0 : 8, m1 : 8;
  };
#endif

#if defined(FP3cpu)
  struct fp1struct4 {
    uInt e1 : 7, s : 1, m2 : 7, e0 : 1, m1 : 8, m0 : 8;
  };
  struct fp2struct4 {
    uInt m0 : 8, m1 : 8, m2 : 7, e0 : 1, e1 : 7, s : 1;
  };
  struct fp34struct4 {
    uInt m2 : 7, e0 : 1, e1 : 7, s : 1, m0 : 8, m1 : 8;
  };
  struct fp1struct8 {
    uInt e1 : 7, s : 1, m6 : 4, e0 : 4, m5 : 8,
     m4 : 8, m3 : 8, m2 : 8, m1 : 8, m0 : 8;
  };
  struct fp2struct8 {
    uInt m0 : 8, m1 : 8, m2 : 8, m3 : 8, m4 : 8,
     m5 : 8, m6 : 4, e0 : 4, e1 : 7, s : 1;
  };
  struct fp3struct8 {
    uInt m6 : 7, e0 : 1, e1 : 7, s : 1, m4 : 8,
     m5 : 8, m2 : 8, m3 : 8, m0 : 8, m1 : 8;
  };
  struct fp4struct8 {
    uInt m6 : 4, e0 : 4, e1 : 7, s : 1, m4 : 8,
     m5 : 8, m2 : 8, m3 : 8, m0 : 8, m1 : 8;
  };
#endif

#if defined(FP4cpu)
  struct fp1struct4 {
    uInt e1 : 7, s : 1, m2 : 7, e0 : 1, m1 : 8, m0 : 8;
  };
  struct fp2struct4 {
    uInt m0 : 8, m1 : 8, m2 : 7, e0 : 1, e1 : 7, s : 1;
  };
  struct fp34struct4 {
    uInt m2 : 7, e0 : 1, e1 : 7, s : 1, m0 : 8, m1 : 8;
  };
  struct fp1struct8 {
    uInt e1 : 7, s : 1, m6 : 4, e0 : 4, m5 : 8,
     m4 : 8, m3 : 8, m2 : 8, m1 : 8, m0 : 8;
  };
  struct fp2struct8 {
    uInt m0 : 8, m1 : 8, m2 : 8, m3 : 8, m4 : 8,
     m5 : 8, m6 : 4, e0 : 4, e1 : 7, s : 1;
  };
  struct fp3struct8 {
    uInt m6 : 7, e0 : 1, e1 : 7, s : 1, m4 : 8,
     m5 : 8, m2 : 8, m3 : 8, m0 : 8, m1 : 8;
  };
  struct fp4struct8 {
    uInt m6 : 4, e0 : 4, e1 : 7, s : 1, m4 : 8,
     m5 : 8, m2 : 8, m3 : 8, m0 : 8, m1 : 8;
  };
#endif



Reply to: