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