# File name	Caller	Syscall name	# args	Strong name	Weak names

chown		-	chown32		i:sii	__chown		chown
lchown		-	lchown32	i:sii	__lchown	lchown
fchown		-	fchown32	i:iii	__fchown	fchown

getegid		-	getegid32	Ei:	__getegid	getegid
geteuid		-	geteuid32	Ei:	__geteuid	geteuid
getgid		-	getgid32	Ei:	__getgid	getgid
getuid		-	getuid32	Ei:	__getuid	getuid
getresgid	-	getresgid32	i:ppp	__getresgid	getresgid
getresuid	-	getresuid32	i:ppp	__getresuid	getresuid
getgroups	-	getgroups32	i:ip	__getgroups	getgroups

setfsgid	-	setfsgid32	Ei:i	setfsgid
setfsuid	-	setfsuid32	Ei:i	setfsuid

prlimit64	EXTRA	prlimit64	i:iipp	prlimit64

fanotify_mark	EXTRA	fanotify_mark	i:iiiiis	fanotify_mark

personality	EXTRA	personality	Ei:i	__personality	personality

# proper socket implementations:
bind		-	bind		i:ipi	__bind		bind
getpeername	-	getpeername	i:ipp	__getpeername	getpeername
getsockname	-	getsockname	i:ipp	__getsockname	getsockname
getsockopt	-	getsockopt	i:iiiBN	__getsockopt	getsockopt
listen		-	listen		i:ii	__listen	listen
setsockopt	-	setsockopt	i:iiibn	__setsockopt	setsockopt
shutdown	-	shutdown	i:ii	__shutdown	shutdown
socket		-	socket		i:iii	__socket	socket
socketpair	-	socketpair	i:iiif	__socketpair	socketpair
