This is the mail archive of the libc-alpha@sourceware.cygnus.com mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: [Various] libc/1400: Programs using pthreads just hang. (on Sparc IPX)


On Mon, Oct 18, 1999 at 10:11:51AM -0700, David S. Miller wrote:
> 
> It's a kernel bug on sun4c systems, fixed by this patch to 2.2.x

Just applied this patch to kernel 2.2.12, rebuilt, rebooted and that
seems to have done the trick.  Many thanks!

> --- ../../vanilla/2.2/linux/arch/sparc/mm/fault.c	Mon Aug  9 12:05:09 1999
> +++ arch/sparc/mm/fault.c	Thu Oct  7 10:01:54 1999
> @@ -309,8 +309,18 @@
>  	pgd_t *pgdp;
>  	pte_t *ptep;
>  
> -	if (text_fault)
> +	if (text_fault) {
>  		address = regs->pc;
> +	} else if (!write &&
> +		   !(regs->psr & PSR_PS)) {
> +		unsigned int insn, *ip;
> +
> +		ip = (unsigned int *)regs->pc;
> +		if (! get_user(insn, ip)) {
> +			if ((insn & 0xc1680000) == 0xc0680000)
> +				write = 1;
> +		}
> +	}
>  
>  	pgdp = sun4c_pgd_offset(mm, address);
>  	ptep = sun4c_pte_offset((pmd_t *) pgdp, address);

-- 
------------------------------------------------------------------------------
 Michael | mfaurot  | "If value corrupts then absolute value corrupts
 Faurot  | atww.net | absolutely."

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]