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

buildd failure for s390 - 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 s390 (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 s390 uses the same encoding as one of these examples? What I am hoping is that s390 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 s390 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 s390.

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: