This is the mail archive of the libc-alpha@sourceware.org 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]
Other format: [Raw text]

Re: SH build problem with fanotify_mark


Roland McGrath <roland@hack.frob.com> wrote:
> That's without the roland/getrlimit change?  Show us any unix-stub-syscalls
> lines in your sysd-syscalls file, and the stub-syscalls.c file.  Aside from
> my branch, make-syscalls.sh hasn't changed in a few months.  Perhaps it was
> always broken for versioned cases?  The sysdeps/unix/Makefile rule that
> generates stub-syscalls.c handles them, but I don't know how much it's
> actually exercised.  Or maybe there's something wrong with your shell?

Yes, it happened without roland/getrlimit change. SH syscalls.list
looks like:

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

waitpid		-	waitpid		Ci:ipi	__waitpid	waitpid	__libc_waitpid

prlimit64	EXTRA	prlimit64	i:iipp	prlimit64

fanotify_mark	EXTRA	fanotify_mark	i:iiiiis	__fanotify_mark	fanotify_mark@@GLIBC_2.16
--

And here is generated misc/stub-syscalls.c:
--
#define prlimit64 RENAMED_prlimit64
#define __fanotify_mark RENAMED___fanotify_mark
#define fanotify_mark@@GLIBC_2.16 RENAMED_fanotify_mark@@GLIBC_2.16
#define clock_adjtime RENAMED_clock_adjtime
#define fanotify_init RENAMED_fanotify_init
#define name_to_handle_at RENAMED_name_to_handle_at
#define open_by_handle_at RENAMED_open_by_handle_at
#define setns RENAMED_setns
#define process_vm_readv RENAMED_process_vm_readv
#define process_vm_writev RENAMED_process_vm_writev
#include <errno.h>
#undef prlimit64
#undef __fanotify_mark
#undef fanotify_mark@@GLIBC_2.16
#undef clock_adjtime
#undef fanotify_init
#undef name_to_handle_at
#undef open_by_handle_at
#undef setns
#undef process_vm_readv
#undef process_vm_writev
long int _no_syscall (void)
{ __set_errno (ENOSYS); return -1L; }
weak_alias (_no_syscall, prlimit64)
stub_warning (prlimit64)
weak_alias (_no_syscall, __GI_prlimit64)
#include <stub-tag.h>
weak_alias (_no_syscall, __fanotify_mark)
stub_warning (__fanotify_mark)
weak_alias (_no_syscall, __GI___fanotify_mark)
#include <stub-tag.h>
strong_alias (_no_syscall, fanotify_mark@@GLIBC_2.16_GLIBC_2.16)
default_symbol_version 	         (fanotify_mark@@GLIBC_2.16_GLIBC_2.16, fanotify_mark@@GLIBC_2.16, GLIBC_2.16);
...
--

It looks versioned cases cause the problem.  There might be
something wrong with my shell or some environment, though.

> Anyway, I'd forgotten entirely about stub-syscalls.c and now I see my
> branch ought to change it to match the change to how the real syscalls
> are generated after my make-syscalls.sh changes.  I'll take care of that
> on Monday.

Thanks!  I'll try to check my environment.

Regards,
	kaz


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