Re: [parisc-linux] Re: gcc-3.2 -> gcc-3.3 transition on hppa

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

 



> > I believe that we were talking about a problem in in glibc's use
> > of __canonicalize_funcptr_for_compare with a gcc 3.3 compiled kernel.
> 
> Quoting an earlier mail:
> > IAOQ = 10351b7c
> > Func: __canonicalize_funcptr_for_compare, Off: 38, Addr: 0x10351b7c
> > 10351b70:       2a 6b 50 00     addil 56800,r19,%r1
> > 10351b74:       48 21 0c a8     ldw 654(r1),r1
> > 10351b78:       d4 60 1c 1e     depwi 0,31,2,r3
> > 10351b7c:       0c 60 10 94     ldw 0(sr0,r3),r20
> >
> > GR0 = 00000000
> >
> > GR1 = 103eee50
> > Func: _GLOBAL_OFFSET_TABLE_, Off: 0, Addr: 0x103eee50
> >
> > GR2 = 101342f8
> > Func: do_sigaction, Off: a8, Addr: 0x101342f8
> 
> these are definitely kernel addresses....

Right.  I see the code that's causing the problem in kernel/signal.c:

                if (k->sa.sa_handler == SIG_IGN
		    || (k->sa.sa_handler == SIG_DFL


You don't want to canonicalize k->sa.sa_handler here, so a cast to
void * or something is needed.  The PA is the only port that I am
aware of that needs to canonicalize function pointers.

Dave
-- 
J. David Anglin                                  dave.anglin@nrc-cnrc.gc.ca
National Research Council of Canada              (613) 990-0752 (FAX: 952-6602)
-
: send the line "unsubscribe linux-net" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Netdev]     [Ethernet Bridging]     [Linux 802.1Q VLAN]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Git]     [Bugtraq]     [Yosemite News and Information]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux PCI]     [Linux Admin]     [Samba]

  Powered by Linux