Hi,

i yesterday was trying to dist-upgraded
my alpha with lenny to unstable,
and exactly same problem occured to me.

It is releated to inotify_init1(int flags) function.
It was added in 2.6.27 at kernel level.

I looked at buildd logs at
https://buildd.debian.org/fetch.cgi?pkg=udev&arch=alpha&ver=166-1&stamp=1297547074&file=log&as=raw

and saw this:

...
libc6.1-dev: already installed (2.11.2-11 >= 2.9 is satisfied)
linux-libc-dev: already installed (2.6.32-30 >= 2.6.29 is satisfied)
...
...
  CCLD   udev/udevd
udev/udev-watch.o: In function `udev_watch_init':
/build/buildd-udev_166-1-alpha-wgmohC/udev-166/build-deb/../udev/udev-watch.c:41:
 warning: warning: inotify_init1 is not implemented and will always fail
...

It is strange, becuase i inspected kernel/fs/notify/inotify_user.c,
and inotify_init1 is there for very long. And nothing alpha specific.
Maybe it is more a libc6 problem?

This would explain why there is no inotify_* in strace, and
warning when compiling.

I would suggest reassigning this bug to eglibc.


According to eglibc sources inotify_init1 was added in GLIBC_2.9 (2008-07-24).

My version of libc is 2.11.2-13 AFAIK.


In build log for 2.11.2-13
https://buildd.debian.org/fetch.cgi?pkg=eglibc&arch=alpha&ver=2.11.2-13&stamp=1298915439&file=log&as=raw
I found this 

...

(echo '#define SYSCALL_NAME inotify_add_watch'; \
         echo '#define SYSCALL_NARGS 3'; \
         echo '#define SYSCALL_SYMBOL inotify_add_watch'; \
         echo '#include <syscall-template.S>'; \
        ) | gcc-4.4 -c  -I../include 
-I/build/buildd-eglibc_2.11.2-13-alpha-5RyTIv/eglibc-2.11.2/build-tree/alpha-libc/misc
 
-I/build/buildd-eglibc_2.11.2-13-alpha-5RyTIv/eglibc-2.11.2/build-tree/alpha-libc
 -I../ports/sysdeps/alpha/elf -I../ports/sysdeps/unix/sysv/linux/alpha/alpha 
-I../ports/sysdeps/unix/sysv/linux/alpha/fpu -I../ports/sysdeps/alpha/fpu 
-I../ports/sysdeps/unix/sysv/linux/alpha/nptl 
-I../ports/sysdeps/unix/sysv/linux/alpha 
-I../sysdeps/unix/sysv/linux/wordsize-64 -I../sysdeps/ieee754/ldbl-64-128 
-I../sysdeps/ieee754/ldbl-opt -I../ports/sysdeps/unix/sysv/linux 
-I../nptl/sysdeps/unix/sysv/linux -I../nptl/sysdeps/pthread 
-I../sysdeps/pthread -I../sysdeps/unix/sysv/linux -I../sysdeps/gnu 
-I../sysdeps/unix/common -I../sysdeps/unix/mman -I../sysdeps/unix/inet 
-I../ports/sysdeps/unix/sysv -I../nptl/sysdeps/unix/sysv -I../sysdeps/unix/sysv 
-I../ports/sysdeps/unix/alpha -I../ports/sysdeps/unix -I../nptl/sysdeps/unix 
-I../sysdeps/unix -I../sysdeps/posix -I../ports/sysdeps/alpha/nptl 
-I../ports/sysdeps/alpha -I../sysdeps/wordsize-64 -I../sysdeps/ieee754/ldbl-128 
-I../sysdeps/ieee754/dbl-64 -I../sysdeps/ieee754/flt-32 
-I../ports/sysdeps/alpha/soft-fp -I../sysdeps/ieee754 -I../sysdeps/generic/elf 
-I../sysdeps/generic -I../ports -I../nptl  -I.. -I../libio -I. -nostdinc 
-isystem /usr/lib/gcc/alpha-linux-gnu/4.4.5/include -isystem 
/usr/lib/gcc/alpha-linux-gnu/4.4.5/include-fixed -isystem 
/build/buildd-eglibc_2.11.2-13-alpha-5RyTIv/eglibc-2.11.2/debian/include 
-D_LIBC_REENTRANT -include ../include/libc-symbols.h       -DASSEMBLER  -pipe 
-O2 -fstrict-aliasing -g  -Wa,--noexecstack   -o 
/build/buildd-eglibc_2.11.2-13-alpha-5RyTIv/eglibc-2.11.2/build-tree/alpha-libc/misc/inotify_add_watch.o
 -x assembler-with-cpp - -MD -MP -MF 
/build/buildd-eglibc_2.11.2-13-alpha-5RyTIv/eglibc-2.11.2/build-tree/alpha-libc/misc/inotify_add_watch.o.dt
 -MT 
/build/buildd-eglibc_2.11.2-13-alpha-5RyTIv/eglibc-2.11.2/build-tree/alpha-libc/misc/inotify_add_watch.o
 
(echo '#define SYSCALL_NAME inotify_init'; \
         echo '#define SYSCALL_NARGS 0'; \
         echo '#define SYSCALL_SYMBOL inotify_init'; \
         echo '#include <syscall-template.S>'; \
        ) | gcc-4.4 -c  -I../include 
-I/build/buildd-eglibc_2.11.2-13-alpha-5RyTIv/eglibc-2.11.2/build-tree/alpha-libc/misc
 
-I/build/buildd-eglibc_2.11.2-13-alpha-5RyTIv/eglibc-2.11.2/build-tree/alpha-libc
 -I../ports/sysdeps/alpha/elf -I../ports/sysdeps/unix/sysv/linux/alpha/alpha 
-I../ports/sysdeps/unix/sysv/linux/alpha/fpu -I../ports/sysdeps/alpha/fpu 
-I../ports/sysdeps/unix/sysv/linux/alpha/nptl 
-I../ports/sysdeps/unix/sysv/linux/alpha 
-I../sysdeps/unix/sysv/linux/wordsize-64 -I../sysdeps/ieee754/ldbl-64-128 
-I../sysdeps/ieee754/ldbl-opt -I../ports/sysdeps/unix/sysv/linux 
-I../nptl/sysdeps/unix/sysv/linux -I../nptl/sysdeps/pthread 
-I../sysdeps/pthread -I../sysdeps/unix/sysv/linux -I../sysdeps/gnu 
-I../sysdeps/unix/common -I../sysdeps/unix/mman -I../sysdeps/unix/inet 
-I../ports/sysdeps/unix/sysv -I../nptl/sysdeps/unix/sysv -I../sysdeps/unix/sysv 
-I../ports/sysdeps/unix/alpha -I../ports/sysdeps/unix -I../nptl/sysdeps/unix 
-I../sysdeps/unix -I../sysdeps/posix -I../ports/sysdeps/alpha/nptl 
-I../ports/sysdeps/alpha -I../sysdeps/wordsize-64 -I../sysdeps/ieee754/ldbl-128 
-I../sysdeps/ieee754/dbl-64 -I../sysdeps/ieee754/flt-32 
-I../ports/sysdeps/alpha/soft-fp -I../sysdeps/ieee754 -I../sysdeps/generic/elf 
-I../sysdeps/generic -I../ports -I../nptl  -I.. -I../libio -I. -nostdinc 
-isystem /usr/lib/gcc/alpha-linux-gnu/4.4.5/include -isystem 
/usr/lib/gcc/alpha-linux-gnu/4.4.5/include-fixed -isystem 
/build/buildd-eglibc_2.11.2-13-alpha-5RyTIv/eglibc-2.11.2/debian/include 
-D_LIBC_REENTRANT -include ../include/libc-symbols.h       -DASSEMBLER  -pipe 
-O2 -fstrict-aliasing -g  -Wa,--noexecstack   -o 
/build/buildd-eglibc_2.11.2-13-alpha-5RyTIv/eglibc-2.11.2/build-tree/alpha-libc/misc/inotify_init.o
 -x assembler-with-cpp - -MD -MP -MF 
/build/buildd-eglibc_2.11.2-13-alpha-5RyTIv/eglibc-2.11.2/build-tree/alpha-libc/misc/inotify_init.o.dt
 -MT 
/build/buildd-eglibc_2.11.2-13-alpha-5RyTIv/eglibc-2.11.2/build-tree/alpha-libc/misc/inotify_init.o
 
(echo '#define SYSCALL_NAME inotify_rm_watch'; \
         echo '#define SYSCALL_NARGS 2'; \
         echo '#define SYSCALL_SYMBOL inotify_rm_watch'; \
         echo '#include <syscall-template.S>'; \
        ) | gcc-4.4 -c  -I../include 
-I/build/buildd-eglibc_2.11.2-13-alpha-5RyTIv/eglibc-2.11.2/build-tree/alpha-libc/misc
 
-I/build/buildd-eglibc_2.11.2-13-alpha-5RyTIv/eglibc-2.11.2/build-tree/alpha-libc
 -I../ports/sysdeps/alpha/elf -I../ports/sysdeps/unix/sysv/linux/alpha/alpha 
-I../ports/sysdeps/unix/sysv/linux/alpha/fpu -I../ports/sysdeps/alpha/fpu 
-I../ports/sysdeps/unix/sysv/linux/alpha/nptl 
-I../ports/sysdeps/unix/sysv/linux/alpha 
-I../sysdeps/unix/sysv/linux/wordsize-64 -I../sysdeps/ieee754/ldbl-64-128 
-I../sysdeps/ieee754/ldbl-opt -I../ports/sysdeps/unix/sysv/linux 
-I../nptl/sysdeps/unix/sysv/linux -I../nptl/sysdeps/pthread 
-I../sysdeps/pthread -I../sysdeps/unix/sysv/linux -I../sysdeps/gnu 
-I../sysdeps/unix/common -I../sysdeps/unix/mman -I../sysdeps/unix/inet 
-I../ports/sysdeps/unix/sysv -I../nptl/sysdeps/unix/sysv -I../sysdeps/unix/sysv 
-I../ports/sysdeps/unix/alpha -I../ports/sysdeps/unix -I../nptl/sysdeps/unix 
-I../sysdeps/unix -I../sysdeps/posix -I../ports/sysdeps/alpha/nptl 
-I../ports/sysdeps/alpha -I../sysdeps/wordsize-64 -I../sysdeps/ieee754/ldbl-128 
-I../sysdeps/ieee754/dbl-64 -I../sysdeps/ieee754/flt-32 
-I../ports/sysdeps/alpha/soft-fp -I../sysdeps/ieee754 -I../sysdeps/generic/elf 
-I../sysdeps/generic -I../ports -I../nptl  -I.. -I../libio -I. -nostdinc 
-isystem /usr/lib/gcc/alpha-linux-gnu/4.4.5/include -isystem 
/usr/lib/gcc/alpha-linux-gnu/4.4.5/include-fixed -isystem 
/build/buildd-eglibc_2.11.2-13-alpha-5RyTIv/eglibc-2.11.2/debian/include 
-D_LIBC_REENTRANT -include ../include/libc-symbols.h       -DASSEMBLER  -pipe 
-O2 -fstrict-aliasing -g  -Wa,--noexecstack   -o 
/build/buildd-eglibc_2.11.2-13-alpha-5RyTIv/eglibc-2.11.2/build-tree/alpha-libc/misc/inotify_rm_watch.o
 -x assembler-with-cpp - -MD -MP -MF 
/build/buildd-eglibc_2.11.2-13-alpha-5RyTIv/eglibc-2.11.2/build-tree/alpha-libc/misc/inotify_rm_watch.o.dt
 -MT 
/build/buildd-eglibc_2.11.2-13-alpha-5RyTIv/eglibc-2.11.2/build-tree/alpha-libc/misc/inotify_rm_watch.o
 

....

(for call in epoll_create1  inotify_init1  timerfd_create  timerfd_settime  
timerfd_gettime ; do \
           echo "#define $call RENAMED_$call"; \
         done; \
         echo '#include <errno.h>'; \
         for call in epoll_create1  inotify_init1  timerfd_create  
timerfd_settime  timerfd_gettime ; do \
           echo "#undef $call"; \
         done; \
         echo 'long int _no_syscall (void)'; \
         echo '{ __set_errno (ENOSYS); return -1L; }'; \
         for call in epoll_create1  inotify_init1  timerfd_create  
timerfd_settime  timerfd_gettime ; do \
           case $call in \
           *@@*) ver=${call##*@}; call=${call%%*@}; \
                 echo "strong_alias (_no_syscall, ${call}_${ver})"; \
                 echo "default_symbol_version \
                         (${call}_${ver}, $call, $ver);" ;; \
           *@@*) ver=${call##*@}; call=${call%%*@}; \
                 echo "strong_alias (_no_syscall, ${call}_${ver})"; \
                 echo "symbol_version (${call}_${ver}, $call, $ver);" ;; \
           *) echo "weak_alias (_no_syscall, $call)"; \
              echo "stub_warning ($call)"; \
              echo "weak_alias (_no_syscall, __GI_$call)" ;; \
           esac; \
         echo '#include <stub-tag.h>'; \
         done) > 
/build/buildd-eglibc_2.11.2-13-alpha-5RyTIv/eglibc-2.11.2/build-tree/alpha-libc/misc/stub-syscalls.cT


(all this function epoll_create inotify_init1 was added in GLIBC_2.8 and 
GLIBC_2.9,
and it was only changed in ABI in 2.8 and 2.9 actually)

This is contrasting with for example armel architecture
https://buildd.debian.org/fetch.cgi?pkg=eglibc&arch=armel&ver=2.11.2-13&stamp=1298900510&file=log&as=raw

where it is

(echo '#define SYSCALL_NAME inotify_init1'; \
         echo '#define SYSCALL_NARGS 1'; \
         echo '#define SYSCALL_SYMBOL inotify_init1'; \
         echo '#include <syscall-template.S>'; \
        ) | gcc-4.4 -c  -I../include 
-I/build/buildd-eglibc_2.11.2-13-armel-wgBkwH/eglibc-2.11.2/build-tree/armel-libc/misc
 
-I/build/buildd-eglibc_2.11.2-13-armel-wgBkwH/eglibc-2.11.2/build-tree/armel-libc
 -I../ports/sysdeps/arm/elf -I../ports/sysdeps/unix/sysv/linux/arm/eabi/nptl 
-I../ports/sysdeps/unix/sysv/linux/arm/eabi 
-I../ports/sysdeps/unix/sysv/linux/arm/nptl 
-I../ports/sysdeps/unix/sysv/linux/arm -I../ports/sysdeps/unix/sysv/linux 
-I../nptl/sysdeps/unix/sysv/linux -I../nptl/sysdeps/pthread 
-I../sysdeps/pthread -I../sysdeps/unix/sysv/linux -I../sysdeps/gnu 
-I../sysdeps/unix/common -I../sysdeps/unix/mman -I../sysdeps/unix/inet 
-I../ports/sysdeps/unix/sysv -I../nptl/sysdeps/unix/sysv -I../sysdeps/unix/sysv 
-I../ports/sysdeps/unix/arm -I../ports/sysdeps/unix -I../nptl/sysdeps/unix 
-I../sysdeps/unix -I../sysdeps/posix -I../ports/sysdeps/arm/eabi 
-I../ports/sysdeps/arm/fpu -I../ports/sysdeps/arm/nptl -I../ports/sysdeps/arm 
-I../sysdeps/wordsize-32 -I../sysdeps/ieee754/flt-32 
-I../sysdeps/ieee754/dbl-64 -I../sysdeps/ieee754 -I../sysdeps/generic/elf 
-I../sysdeps/generic -I../ports -I../nptl  -I.. -I../libio -I. -nostdinc 
-isystem /usr/lib/gcc/arm-linux-gnueabi/4.4.5/include -isystem 
/usr/lib/gcc/arm-linux-gnueabi/4.4.5/include-fixed -isystem 
/build/buildd-eglibc_2.11.2-13-armel-wgBkwH/eglibc-2.11.2/debian/include 
-D_LIBC_REENTRANT -include ../include/libc-symbols.h       -DASSEMBLER  -pipe 
-O2 -fstrict-aliasing -g  -Wa,--noexecstack   -o 
/build/buildd-eglibc_2.11.2-13-armel-wgBkwH/eglibc-2.11.2/build-tree/armel-libc/misc/inotify_init1.o
 -x assembler-with-cpp - -MD -MP -MF 
/build/buildd-eglibc_2.11.2-13-armel-wgBkwH/eglibc-2.11.2/build-tree/armel-libc/misc/inotify_init1.o.dt
 -MT 
/build/buildd-eglibc_2.11.2-13-armel-wgBkwH/eglibc-2.11.2/build-tree/armel-libc/misc/inotify_init1.o
 

instead.

It looks to be a problem with
./ports/sysdeps/unix/sysv/linux/alpha/sysdep.h file in eglibc somehow.
(and used in ./sysdeps/unix/make-syscalls.sh)


So please reassign, as it is not udev bug.

Regards,
Witek.

-- 
Witold Baryluk
JID: witold.baryluk // jabster.pl

Attachment: signature.asc
Description: Digital signature

Reply via email to