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

Bug#157374: Forward: Bug#157374: libc6: [parisc] sys/ucontext.h and asm/ucontext.h disagree



Hi,

The forwarded mail is received, but I don't know it's correct or not
(and I doubt the explained solution is ok). 
Could you enlighten me on this BTS?

Regards,

-- gotom

--- Begin Message ---
Package: libc6
Version: 2.2.5-6
Severity: normal

On the parisc, sys/ucontext.h says

typedef struct
  {
    gregset_t gregs;
    fpregset_t fpregs;
  } mcontext_t;

which is all very well, but doesn't correspond either with asm/ucontext.h:

struct ucontext {
        unsigned long     uc_flags;
        struct ucontext  *uc_link;
        stack_t           uc_stack;
        struct sigcontext uc_mcontext;
        sigset_t          uc_sigmask;   /* mask last for extensibility */
};

or with what the kernel puts there (which is a struct sigcontext, as far as I
can tell from reading the kernel sources). This means that an application 
#including <sys/ucontext.h> will get the wrong layout for what's in the
uc_mcontext slot.

My preferred resolution would be to remove the typedef from sys/ucontext.h and
replace it with 

typedef struct sigcontext mcontext_t;

Cheers,

Christophe
-- System Information
Debian Release: testing/unstable
Kernel Version: Linux lambda 2.4.18-pre7-ac1 #1 Thu Jan 31 19:05:47 GMT 2002 i686 unknown unknown GNU/Linux



-- 
To UNSUBSCRIBE, email to debian-glibc-request@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org

--- End Message ---

Reply to: