Bug 19477

Summary: linux_rt_sigprocmask() raises SIGSYS
Product: Base System Reporter: Jukka A. Ukkonen <jau>
Component: i386Assignee: Marcel Moolenaar <marcel>
Status: Closed FIXED    
Severity: Affects Only Me    
Priority: Normal    
Version: 3.4-RELEASE   
Hardware: Any   
OS: Any   

Description Jukka A. Ukkonen 2000-06-23 21:20:00 UTC
	Any Linux program that calls linux_rt_sigprocmask gets SIGSYS
	and dies on FreeBSD-3.4. Quite a number of Linux binaries seem
	to make such a call.
	When running FreeBSD-3.2 the same binaries worked just fine.

Fix: 

I have not found a fix yet. In fact I guess there might have
	been a reason for someone changing the behaviour of linux system
	calls this way, but if there is such a reason I would sure like
	to know why.
	I tried to asking people for known reasons or known bugs for
	this odd behaviour, but apparently nobody has been able to give
	me any explanation.
How-To-Repeat: 
	Take e.g. the FrameMaker for Linux which is now distributed as
	a free beta test version. It is the latest Linux program I have
	had problems with. It can be downloaded from www.adobe.com.
	(You need to modify the start scripts a bit to make it start
	normally.)
	Once the start scripts are fixed to recognize FreeBSD as just
	another form of "Linux" add ktrace to the script which tries
	to start the real binary, and start the maker script.
	The binary crashes immediately at the beginning of the program.
	Run linux_kdump and look for a call to linux_rt_sigprogmask
	and SIGSYS at the end of the dump.

	Several, practically all Linux binaries, except some rather old
	ones, I have tried seem to produce the same result. Luckily I
	neither need nor use many Linux binaries though.

	I gave this report critical priority because this sort of
	problem could make the whole Linux emulation useless if many
	Linux programs are using the rt_sigprocmask() system call.
	As much as I know such a call could be part of the crt0.o for
	some or even all relatively new Linux versions.
	This seems to happen so early in the program that it might not
	have even reached the main() function yet.
Comment 1 Jeroen Ruigrok van der Werven freebsd_committer freebsd_triage 2000-06-24 09:02:55 UTC
Responsible Changed
From-To: freebsd-bugs->marcel

Over to Mr. Linuxulator.
Comment 2 Marcel Moolenaar freebsd_committer freebsd_triage 2000-07-15 22:12:48 UTC
State Changed
From-To: open->closed

False alarm. The originator told me the PR could be closed.