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

Re: [james@nocrew.org: Bug#116804: libc6-dev: bits/sigcontext.h #include's asm/types.h (indirectly) on ia64]



>>>>> On Tue, 23 Oct 2001 21:49:03 -0400, Ben Collins <bcollins@debian.org> said:

  Ben> So the proper patch is to reproduce that struct in a portable
  Ben> format for bits/sigcontext.h?

Yes.

  Ben> Anyone care to produce a patch for that?

Perhaps the best thing to do would be to use:

  typedef struct __ia64_fpreg {
    union {
      unsigned long bits[2];
      long double d; /* never use this, it just forces 16-byte alignment... */
   } u;
  } __ia64_fpreg_t;

This isn't totally correct in the sense that the data stored in
sc_fr[] is in the 128-bit spill/fill format, so it's not possible to
use the "d" member.  However, the "d" member does have the desired
effect of forcing sc_fr and sigcontext to be aligned to 16-bytes.
This should work with any ia64 compiler except very early versions of
gcc (older than Nov 2000).

Hope this helps.

	--david



Reply to: