[oe] new uClibc srcrev fails with `unwind-resume.c:31:19: error: expected ')' before 'struct'` (was: minimal-uclibc: systemd fails with `src/manager.c:257:42: error: 'EPOLL_CLOEXEC' undeclared (first use in this function)`)

Paul Menzel paulepanter at users.sourceforge.net
Fri May 13 22:15:15 UTC 2011


Am Mittwoch, den 11.05.2011, 22:25 +0200 schrieb Bernhard Reutner-Fischer:
> On Wed, May 11, 2011 at 06:11:51PM +0100, Phil Blundell wrote:
> >On Tue, 2011-05-10 at 23:14 +0200, Paul Menzel wrote:
> >> I am no uClibc expert, but do you know if uClibc will provide
> >> `EPOLL_CLOEXEC` in the near future? How should systemd fix that?
> >
> >It's not just EPOLL_CLOEXEC: uClibc seems to be missing epoll_create1()
> >entirely.  As far as I know there's nothing complex about that, though:
> >it's just a standard syscall wrapper, so I don't know why it would have
> >been deliberately left out.  I guess you'd have to ask the uClibc h4x0rs
> >about that.
> >
> >There probably is no trivial workaround available to systemd.  If you
> >wanted a quick hack to make it work then you could call
> >syscall(SYS_epoll_create1, O_CLOEXEC) manually.  Or you could perhaps
> >eliminate the usage of EPOLL_CLOEXEC in favour of a separate fcntl()
> >call, but that may not be safe if systemd is multithreaded.
> 
> It was only omitted until now since nobody asked for it.
> 
> You should be set if you can trick someone into updating to
> c91c3a2b27f5909e190cde4518383864298e82af or later.

Bernhard, thank you very much. I tried to update to this revision, but
the build fails with the following error.

        arm-oe-linux-uclibceabi-gcc -march=armv7-a -mtune=cortex-a8 -mfpu=neon -mfloat-abi=softfp -mthumb-interwork -mno-thumb --sysroot=/oe/build-minimal-uclibc/minimal-uclibc-dev/sysroots/armv7a-oe-linux-uclibceabi -c libpthread/nptl/sysdeps/unix/sysv/linux/timer_settime.c -o libpthread/nptl/sysdeps/unix/sysv/linux/timer_settime.oS -include ./include/libc-symbols.h -Wall  -Wstrict-prototypes  -Wstrict-aliasing  -Wformat=2  -Wmissing-noreturn  -Wmissing-format-attribute  -Wmissing-prototypes  -Wmissing-declarations  -Wnested-externs  -Wnonnull  -Wold-style-declaration  -Wold-style-definition  -Wshadow  -Wundef -funsigned-char -fno-builtin -fno-asm -std=gnu99 -mlittle-endian -fno-stack-protector -nostdinc -I./include -I./include -I. -I./libc/sysdeps/linux -I./libc/sysdeps/linux/arm -fexpensive-optimizations -fomit-frame-pointer -frename-registers -Os -pipe -g  -Os -funit-at-a-time -fmerge-all-constants -fstrict-aliasing -fno-tree-loop-optimize -fno-tree-dominator-opts -fno-strength-reduce -DHAVE_FORCED_UNWIND -I./libpthread/nptl -I./libpthread/nptl -I./libpthread/nptl/sysdeps/unix/sysv/linux/arm/ -I./libpthread/nptl/sysdeps/unix/sysv/linux/arm -I./libpthread/nptl/sysdeps/arm -I./libpthread/nptl/sysdeps/arm -I./libpthread/nptl/sysdeps/unix/sysv/linux -I./libpthread/nptl/sysdeps/unix/sysv/linux -I./libpthread/nptl/sysdeps/pthread -I./libpthread/nptl/sysdeps/pthread/bits -I./libpthread/nptl/sysdeps/generic -I./ldso/ldso/arm -I./ldso/include -I./libc/sysdeps/linux/common -I/oe/build-minimal-uclibc/minimal-uclibc-dev/sysroots/armv7a-oe-linux-uclibceabi/usr/include/ -isystem /oe/build-minimal-uclibc/minimal-uclibc-dev/sysroots/i686-linux/usr/armv7a/lib/gcc/arm-oe-linux-uclibceabi/4.5.3/include-fixed -isystem /oe/build-minimal-uclibc/minimal-uclibc-dev/sysroots/i686-linux/usr/armv7a/lib/gcc/arm-oe-linux-uclibceabi/4.5.3/include -DNDEBUG -D__USE_STDIO_FUTEXES__ -fPIC -DSHARED -DNOT_IN_libc  -I./librt -DIS_IN_librt  -MT libpthread/nptl/sysdeps/unix/sysv/linux/timer_settime.oS -MD -MP -MF libpthread/nptl/sysdeps/unix/sysv/linux/.timer_settime.oS.dep
        arm-oe-linux-uclibceabi-gcc -march=armv7-a -mtune=cortex-a8 -mfpu=neon -mfloat-abi=softfp -mthumb-interwork -mno-thumb --sysroot=/oe/build-minimal-uclibc/minimal-uclibc-dev/sysroots/armv7a-oe-linux-uclibceabi -c libpthread/nptl/sysdeps/pthread/librt-cancellation.c -o libpthread/nptl/sysdeps/pthread/librt-cancellation.oS -include ./include/libc-symbols.h -Wall  -Wstrict-prototypes  -Wstrict-aliasing  -Wformat=2  -Wmissing-noreturn  -Wmissing-format-attribute  -Wmissing-prototypes  -Wmissing-declarations  -Wnested-externs  -Wnonnull  -Wold-style-declaration  -Wold-style-definition  -Wshadow  -Wundef -funsigned-char -fno-builtin -fno-asm -std=gnu99 -mlittle-endian -fno-stack-protector -nostdinc -I./include -I./include -I. -I./libc/sysdeps/linux -I./libc/sysdeps/linux/arm -fexpensive-optimizations -fomit-frame-pointer -frename-registers -Os -pipe -g  -Os -funit-at-a-time -fmerge-all-constants -fstrict-aliasing -fno-tree-loop-optimize -fno-tree-dominator-opts -fno-strength-reduce -DHAVE_FORCED_UNWIND -I./libpthread/nptl -I./libpthread/nptl -I./libpthread/nptl/sysdeps/unix/sysv/linux/arm/ -I./libpthread/nptl/sysdeps/unix/sysv/linux/arm -I./libpthread/nptl/sysdeps/arm -I./libpthread/nptl/sysdeps/arm -I./libpthread/nptl/sysdeps/unix/sysv/linux -I./libpthread/nptl/sysdeps/unix/sysv/linux -I./libpthread/nptl/sysdeps/pthread -I./libpthread/nptl/sysdeps/pthread/bits -I./libpthread/nptl/sysdeps/generic -I./ldso/ldso/arm -I./ldso/include -I./libc/sysdeps/linux/common -I/oe/build-minimal-uclibc/minimal-uclibc-dev/sysroots/armv7a-oe-linux-uclibceabi/usr/include/ -isystem /oe/build-minimal-uclibc/minimal-uclibc-dev/sysroots/i686-linux/usr/armv7a/lib/gcc/arm-oe-linux-uclibceabi/4.5.3/include-fixed -isystem /oe/build-minimal-uclibc/minimal-uclibc-dev/sysroots/i686-linux/usr/armv7a/lib/gcc/arm-oe-linux-uclibceabi/4.5.3/include -DNDEBUG -D__USE_STDIO_FUTEXES__ -fPIC -DSHARED -DNOT_IN_libc  -DIS_IN_librt -fexceptions -fasynchronous-unwind-tables  -MT libpthread/nptl/sysdeps/pthread/librt-cancellation.oS -MD -MP -MF libpthread/nptl/sysdeps/pthread/.librt-cancellation.oS.dep
        libpthread/nptl/sysdeps/unix/sysv/linux/timer_routines.c: In function 'timer_helper_thread':
        libpthread/nptl/sysdeps/unix/sysv/linux/timer_routines.c:73:1: warning: function might be possible candidate for attribute 'noreturn'
        arm-oe-linux-uclibceabi-gcc -march=armv7-a -mtune=cortex-a8 -mfpu=neon -mfloat-abi=softfp -mthumb-interwork -mno-thumb --sysroot=/oe/build-minimal-uclibc/minimal-uclibc-dev/sysroots/armv7a-oe-linux-uclibceabi -c libpthread/nptl/sysdeps/pthread/rt-unwind-resume.c -o libpthread/nptl/sysdeps/pthread/rt-unwind-resume.oS -include ./include/libc-symbols.h -Wall  -Wstrict-prototypes  -Wstrict-aliasing  -Wformat=2  -Wmissing-noreturn  -Wmissing-format-attribute  -Wmissing-prototypes  -Wmissing-declarations  -Wnested-externs  -Wnonnull  -Wold-style-declaration  -Wold-style-definition  -Wshadow  -Wundef -funsigned-char -fno-builtin -fno-asm -std=gnu99 -mlittle-endian -fno-stack-protector -nostdinc -I./include -I./include -I. -I./libc/sysdeps/linux -I./libc/sysdeps/linux/arm -fexpensive-optimizations -fomit-frame-pointer -frename-registers -Os -pipe -g  -Os -funit-at-a-time -fmerge-all-constants -fstrict-aliasing -fno-tree-loop-optimize -fno-tree-dominator-opts -fno-strength-reduce -DHAVE_FORCED_UNWIND -I./libpthread/nptl -I./libpthread/nptl -I./libpthread/nptl/sysdeps/unix/sysv/linux/arm/ -I./libpthread/nptl/sysdeps/unix/sysv/linux/arm -I./libpthread/nptl/sysdeps/arm -I./libpthread/nptl/sysdeps/arm -I./libpthread/nptl/sysdeps/unix/sysv/linux -I./libpthread/nptl/sysdeps/unix/sysv/linux -I./libpthread/nptl/sysdeps/pthread -I./libpthread/nptl/sysdeps/pthread/bits -I./libpthread/nptl/sysdeps/generic -I./ldso/ldso/arm -I./ldso/include -I./libc/sysdeps/linux/common -I/oe/build-minimal-uclibc/minimal-uclibc-dev/sysroots/armv7a-oe-linux-uclibceabi/usr/include/ -isystem /oe/build-minimal-uclibc/minimal-uclibc-dev/sysroots/i686-linux/usr/armv7a/lib/gcc/arm-oe-linux-uclibceabi/4.5.3/include-fixed -isystem /oe/build-minimal-uclibc/minimal-uclibc-dev/sysroots/i686-linux/usr/armv7a/lib/gcc/arm-oe-linux-uclibceabi/4.5.3/include -DNDEBUG -D__USE_STDIO_FUTEXES__ -fPIC -DSHARED -DNOT_IN_libc  -DIS_IN_librt -fexceptions -fasynchronous-unwind-tables  -MT libpthread/nptl/sysdeps/pthread/rt-unwind-resume.oS -MD -MP -MF libpthread/nptl/sysdeps/pthread/.rt-unwind-resume.oS.dep
        In file included from ./libpthread/nptl/pthreadP.h:23:0,
                         from libpthread/nptl/sysdeps/pthread/librt-cancellation.c:20:
        ./include/pthread.h:585:1: warning: no previous prototype for '__pthread_cleanup_routine'
        arm-oe-linux-uclibceabi-gcc -march=armv7-a -mtune=cortex-a8 -mfpu=neon -mfloat-abi=softfp -mthumb-interwork -mno-thumb --sysroot=/oe/build-minimal-uclibc/minimal-uclibc-dev/sysroots/armv7a-oe-linux-uclibceabi -c librt/clock_getcpuclockid.c -o librt/clock_getcpuclockid.oS -include ./include/libc-symbols.h -Wall  -Wstrict-prototypes  -Wstrict-aliasing  -Wformat=2  -Wmissing-noreturn  -Wmissing-format-attribute  -Wmissing-prototypes  -Wmissing-declarations  -Wnested-externs  -Wnonnull  -Wold-style-declaration  -Wold-style-definition  -Wshadow  -Wundef -funsigned-char -fno-builtin -fno-asm -std=gnu99 -mlittle-endian -fno-stack-protector -nostdinc -I./include -I./include -I. -I./libc/sysdeps/linux -I./libc/sysdeps/linux/arm -fexpensive-optimizations -fomit-frame-pointer -frename-registers -Os -pipe -g  -Os -funit-at-a-time -fmerge-all-constants -fstrict-aliasing -fno-tree-loop-optimize -fno-tree-dominator-opts -fno-strength-reduce -DHAVE_FORCED_UNWIND -I./libpthread/nptl -I./libpthread/nptl -I./libpthread/nptl/sysdeps/unix/sysv/linux/arm/ -I./libpthread/nptl/sysdeps/unix/sysv/linux/arm -I./libpthread/nptl/sysdeps/arm -I./libpthread/nptl/sysdeps/arm -I./libpthread/nptl/sysdeps/unix/sysv/linux -I./libpthread/nptl/sysdeps/unix/sysv/linux -I./libpthread/nptl/sysdeps/pthread -I./libpthread/nptl/sysdeps/pthread/bits -I./libpthread/nptl/sysdeps/generic -I./ldso/ldso/arm -I./ldso/include -I./libc/sysdeps/linux/common -I/oe/build-minimal-uclibc/minimal-uclibc-dev/sysroots/armv7a-oe-linux-uclibceabi/usr/include/ -isystem /oe/build-minimal-uclibc/minimal-uclibc-dev/sysroots/i686-linux/usr/armv7a/lib/gcc/arm-oe-linux-uclibceabi/4.5.3/include-fixed -isystem /oe/build-minimal-uclibc/minimal-uclibc-dev/sysroots/i686-linux/usr/armv7a/lib/gcc/arm-oe-linux-uclibceabi/4.5.3/include -DNDEBUG -D__USE_STDIO_FUTEXES__ -fPIC -DSHARED -DNOT_IN_libc -DIS_IN_librt    -MT librt/clock_getcpuclockid.oS -MD -MP -MF librt/.clock_getcpuclockid.oS.dep
        In file included from ./include/bits/uClibc_mutex.h:15:0,
                         from ./include/bits/uClibc_stdio.h:119,
                         from ./include/stdio.h:72,
                         from ./libpthread/nptl/sysdeps/unix/sysv/linux/arm/unwind-resume.c:21,
                         from libpthread/nptl/sysdeps/pthread/rt-unwind-resume.c:1:
        ./include/pthread.h:585:1: warning: no previous prototype for '__pthread_cleanup_routine'
        arm-oe-linux-uclibceabi-gcc -march=armv7-a -mtune=cortex-a8 -mfpu=neon -mfloat-abi=softfp -mthumb-interwork -mno-thumb --sysroot=/oe/build-minimal-uclibc/minimal-uclibc-dev/sysroots/armv7a-oe-linux-uclibceabi -c librt/clock_gettime.c -o librt/clock_gettime.oS -include ./include/libc-symbols.h -Wall  -Wstrict-prototypes  -Wstrict-aliasing  -Wformat=2  -Wmissing-noreturn  -Wmissing-format-attribute  -Wmissing-prototypes  -Wmissing-declarations  -Wnested-externs  -Wnonnull  -Wold-style-declaration  -Wold-style-definition  -Wshadow  -Wundef -funsigned-char -fno-builtin -fno-asm -std=gnu99 -mlittle-endian -fno-stack-protector -nostdinc -I./include -I./include -I. -I./libc/sysdeps/linux -I./libc/sysdeps/linux/arm -fexpensive-optimizations -fomit-frame-pointer -frename-registers -Os -pipe -g  -Os -funit-at-a-time -fmerge-all-constants -fstrict-aliasing -fno-tree-loop-optimize -fno-tree-dominator-opts -fno-strength-reduce -DHAVE_FORCED_UNWIND -I./libpthread/nptl -I./libpthread/nptl -I./libpthread/nptl/sysdeps/unix/sysv/linux/arm/ -I./libpthread/nptl/sysdeps/unix/sysv/linux/arm -I./libpthread/nptl/sysdeps/arm -I./libpthread/nptl/sysdeps/arm -I./libpthread/nptl/sysdeps/unix/sysv/linux -I./libpthread/nptl/sysdeps/unix/sysv/linux -I./libpthread/nptl/sysdeps/pthread -I./libpthread/nptl/sysdeps/pthread/bits -I./libpthread/nptl/sysdeps/generic -I./ldso/ldso/arm -I./ldso/include -I./libc/sysdeps/linux/common -I/oe/build-minimal-uclibc/minimal-uclibc-dev/sysroots/armv7a-oe-linux-uclibceabi/usr/include/ -isystem /oe/build-minimal-uclibc/minimal-uclibc-dev/sysroots/i686-linux/usr/armv7a/lib/gcc/arm-oe-linux-uclibceabi/4.5.3/include-fixed -isystem /oe/build-minimal-uclibc/minimal-uclibc-dev/sysroots/i686-linux/usr/armv7a/lib/gcc/arm-oe-linux-uclibceabi/4.5.3/include -DNDEBUG -D__USE_STDIO_FUTEXES__ -fPIC -DSHARED -DNOT_IN_libc -DIS_IN_librt    -MT librt/clock_gettime.oS -MD -MP -MF librt/.clock_gettime.oS.dep
        In file included from libpthread/nptl/sysdeps/pthread/rt-unwind-resume.c:1:0:
        ./libpthread/nptl/sysdeps/unix/sysv/linux/arm/unwind-resume.c:31:19: error: expected ')' before 'struct'
        ./libpthread/nptl/sysdeps/unix/sysv/linux/arm/unwind-resume.c: In function 'init':
        ./libpthread/nptl/sysdeps/unix/sysv/linux/arm/unwind-resume.c:49:3: error: 'libgcc_s_personality' undeclared (first use in this function)
        ./libpthread/nptl/sysdeps/unix/sysv/linux/arm/unwind-resume.c:49:3: note: each undeclared identifier is reported only once for each function it appears in
        ./libpthread/nptl/sysdeps/unix/sysv/linux/arm/unwind-resume.c: At top level:
        ./libpthread/nptl/sysdeps/unix/sysv/linux/arm/unwind-resume.c:109:37: error: expected ')' before 'state'
        arm-oe-linux-uclibceabi-gcc -march=armv7-a -mtune=cortex-a8 -mfpu=neon -mfloat-abi=softfp -mthumb-interwork -mno-thumb --sysroot=/oe/build-minimal-uclibc/minimal-uclibc-dev/sysroots/armv7a-oe-linux-uclibceabi -c librt/clock_nanosleep.c -o librt/clock_nanosleep.oS -include ./include/libc-symbols.h -Wall  -Wstrict-prototypes  -Wstrict-aliasing  -Wformat=2  -Wmissing-noreturn  -Wmissing-format-attribute  -Wmissing-prototypes  -Wmissing-declarations  -Wnested-externs  -Wnonnull  -Wold-style-declaration  -Wold-style-definition  -Wshadow  -Wundef -funsigned-char -fno-builtin -fno-asm -std=gnu99 -mlittle-endian -fno-stack-protector -nostdinc -I./include -I./include -I. -I./libc/sysdeps/linux -I./libc/sysdeps/linux/arm -fexpensive-optimizations -fomit-frame-pointer -frename-registers -Os -pipe -g  -Os -funit-at-a-time -fmerge-all-constants -fstrict-aliasing -fno-tree-loop-optimize -fno-tree-dominator-opts -fno-strength-reduce -DHAVE_FORCED_UNWIND -I./libpthread/nptl -I./libpthread/nptl -I./libpthread/nptl/sysdeps/unix/sysv/linux/arm/ -I./libpthread/nptl/sysdeps/unix/sysv/linux/arm -I./libpthread/nptl/sysdeps/arm -I./libpthread/nptl/sysdeps/arm -I./libpthread/nptl/sysdeps/unix/sysv/linux -I./libpthread/nptl/sysdeps/unix/sysv/linux -I./libpthread/nptl/sysdeps/pthread -I./libpthread/nptl/sysdeps/pthread/bits -I./libpthread/nptl/sysdeps/generic -I./ldso/ldso/arm -I./ldso/include -I./libc/sysdeps/linux/common -I/oe/build-minimal-uclibc/minimal-uclibc-dev/sysroots/armv7a-oe-linux-uclibceabi/usr/include/ -isystem /oe/build-minimal-uclibc/minimal-uclibc-dev/sysroots/i686-linux/usr/armv7a/lib/gcc/arm-oe-linux-uclibceabi/4.5.3/include-fixed -isystem /oe/build-minimal-uclibc/minimal-uclibc-dev/sysroots/i686-linux/usr/armv7a/lib/gcc/arm-oe-linux-uclibceabi/4.5.3/include -DNDEBUG -D__USE_STDIO_FUTEXES__ -fPIC -DSHARED -DNOT_IN_libc -DIS_IN_librt    -MT librt/clock_nanosleep.oS -MD -MP -MF librt/.clock_nanosleep.oS.dep
        make: *** [libpthread/nptl/sysdeps/pthread/rt-unwind-resume.oS] Error 1
        make: *** Waiting for unfinished jobs....
        + die 'oe_runmake failed'
        + oefatal 'oe_runmake failed'
        + echo FATAL: 'oe_runmake failed'
        FATAL: oe_runmake failed
        + exit 1

Please find the patch I did attached.


Thanks,

Paul
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-uclibc_git.bb-update-to-new-srcrev.patch
Type: text/x-patch
Size: 96989 bytes
Desc: not available
URL: <http://lists.openembedded.org/pipermail/openembedded-devel/attachments/20110514/a21dc0a8/attachment-0002.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part
URL: <http://lists.openembedded.org/pipermail/openembedded-devel/attachments/20110514/a21dc0a8/attachment-0002.sig>


More information about the Openembedded-devel mailing list