parsic/sh/sparc tracehook breakage when tracing signals

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

 



when i ported the Blackfin code to the tracehook framework, i copied a latent 
bug from the sparc port.  trying to trace another process while handling 
signals no longer worked (and subsequently broke some of the gdb tests).

this was due to calling tracehook_signal_handler() with the last argument 
(stepping) always as 0.  if we look at the definition of this function in 
linux/tracehook.h, we see that calling the function stepping=0 is pointless:
	if (stepping)
		ptrace_notify(SIGTRAP);

after Roland pointed out some more stuff, i went back and looked at all the 
tracehook arches in the tree.  it seems like these arches are all broken in 
the same way:
	parisc (arch/parisc/kernel/signal.c)
	SuperH (64bit only) (arch/sh/kernel/signal_64.c)
	Sparc (all bits) (arch/sparc/kernel/signal{_32,32,_64}.c)

seems like you guys should just change the last argument to:
	test_thread_flag(TIF_SINGLESTEP)
-mike

Attachment: signature.asc
Description: This is a digitally signed message part.


[Index of Archives]     [Kernel Development]     [DCCP]     [Linux ARM Development]     [Linux]     [Photo]     [Yosemite Help]     [Linux ARM Kernel]     [Linux SCSI]     [Linux x86_64]     [Linux Hams]

  Powered by Linux