Re: buildd failure for sparc - floating point encoding?
A couple of potentially useful observations for you:
1) A floating point encoding format appeared to be defined for Sun, as
type 1 in your code listing.
2) Modern microprocessors like SPARC, i386, etc. really should all be
using uniform IEEE 754 floating point number formats. Here is an
overview: http://stevehollasch.com/cgindex/coding/ieeefloat.html
Good luck in overcoming these development obstacles. I am sorry if this
information does not help.
--- Helen Faulkner <helen_ml_faulkner@yahoo.co.uk> wrote:
> 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 sparc (among other things). Actually it hasn't gotten to
> the end of
> the sparc queue yet, but I tested it on someone's machine and it is
> broken in
> the same way as several other architectures.
>
> I believe the problem is that there is no floating point encoding
> being defined
> for sparc, 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 sparc uses the same encoding as one of these
> examples?
> What I am hoping is that sparc 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 sparc 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 sparc.
>
> 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
>
>
>
>
> --
> To UNSUBSCRIBE, email to debian-sparc-REQUEST@lists.debian.org
> with a subject of "unsubscribe". Trouble? Contact
> listmaster@lists.debian.org
>
>
Reply to: