linux-user: add inotify_init1 syscall support
New syscall which gets actively used when you have a fresh kernel. Signed-off-by: Riku Voipio <riku.voipio@nokia.com> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
This commit is contained in:
		
							parent
							
								
									bedd2912c8
								
							
						
					
					
						commit
						c05c7a7306
					
				| 
						 | 
				
			
			@ -1629,6 +1629,21 @@ if compile_prog "" "" ; then
 | 
			
		|||
  inotify=yes
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
inotify1=no
 | 
			
		||||
cat > $TMPC << EOF
 | 
			
		||||
#include <sys/inotify.h>
 | 
			
		||||
 | 
			
		||||
int
 | 
			
		||||
main(void)
 | 
			
		||||
{
 | 
			
		||||
    /* try to start inotify */
 | 
			
		||||
    return inotify_init1(0);
 | 
			
		||||
}
 | 
			
		||||
EOF
 | 
			
		||||
if compile_prog "" "" ; then
 | 
			
		||||
  inotify1=yes
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
# check if utimensat and futimens are supported
 | 
			
		||||
utimens=no
 | 
			
		||||
cat > $TMPC << EOF
 | 
			
		||||
| 
						 | 
				
			
			@ -2136,6 +2151,9 @@ fi
 | 
			
		|||
if test "$inotify" = "yes" ; then
 | 
			
		||||
  echo "CONFIG_INOTIFY=y" >> $config_host_mak
 | 
			
		||||
fi
 | 
			
		||||
if test "$inotify1" = "yes" ; then
 | 
			
		||||
  echo "CONFIG_INOTIFY1=y" >> $config_host_mak
 | 
			
		||||
fi
 | 
			
		||||
if test "$byteswap_h" = "yes" ; then
 | 
			
		||||
  echo "CONFIG_BYTESWAP_H=y" >> $config_host_mak
 | 
			
		||||
fi
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -506,9 +506,18 @@ static int sys_inotify_rm_watch(int fd, int32_t wd)
 | 
			
		|||
  return (inotify_rm_watch(fd, wd));
 | 
			
		||||
}
 | 
			
		||||
#endif
 | 
			
		||||
#ifdef CONFIG_INOTIFY1
 | 
			
		||||
#if defined(TARGET_NR_inotify_init1) && defined(__NR_inotify_init1)
 | 
			
		||||
static int sys_inotify_init1(int flags)
 | 
			
		||||
{
 | 
			
		||||
  return (inotify_init1(flags));
 | 
			
		||||
}
 | 
			
		||||
#endif
 | 
			
		||||
#endif
 | 
			
		||||
#else
 | 
			
		||||
/* Userspace can usually survive runtime without inotify */
 | 
			
		||||
#undef TARGET_NR_inotify_init
 | 
			
		||||
#undef TARGET_NR_inotify_init1
 | 
			
		||||
#undef TARGET_NR_inotify_add_watch
 | 
			
		||||
#undef TARGET_NR_inotify_rm_watch
 | 
			
		||||
#endif /* CONFIG_INOTIFY  */
 | 
			
		||||
| 
						 | 
				
			
			@ -7055,6 +7064,11 @@ abi_long do_syscall(void *cpu_env, int num, abi_long arg1,
 | 
			
		|||
        ret = get_errno(sys_inotify_init());
 | 
			
		||||
        break;
 | 
			
		||||
#endif
 | 
			
		||||
#if defined(TARGET_NR_inotify_init1) && defined(__NR_inotify_init1)
 | 
			
		||||
    case TARGET_NR_inotify_init1:
 | 
			
		||||
        ret = get_errno(sys_inotify_init1(arg1));
 | 
			
		||||
        break;
 | 
			
		||||
#endif
 | 
			
		||||
#if defined(TARGET_NR_inotify_add_watch) && defined(__NR_inotify_add_watch)
 | 
			
		||||
    case TARGET_NR_inotify_add_watch:
 | 
			
		||||
        p = lock_user_string(arg2);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue