]> code.ossystems Code Review - openembedded-core.git/commit
glibc: Fix x32 make race
authorRichard Purdie <richard.purdie@linuxfoundation.org>
Wed, 13 May 2015 08:08:09 +0000 (09:08 +0100)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Thu, 14 May 2015 10:41:14 +0000 (11:41 +0100)
commitae4729ed6c5e5443c42f8825dd85873f06a3570e
tree1e5f65d7ce338ed790bdfa2e3f25b9c84298aae8
parent1ae7e1cc4a5c7a217dee937c330539e5c8ac794d
glibc: Fix x32 make race

On x32 builds, sysd-syscalls appears malformed since the make-target-directory
appears on the wrong line. This causes races during the build process where you can
see failures like:

Assembler messages:
Fatal error: can't create [...]glibc/2.21-r0/build-x86_64-poky-linux-gnux32/time/gettimeofday.os: No such file or directory
Assembler messages:
Fatal error: can't create [...]glibc/2.21-r0/build-x86_64-poky-linux-gnux32/time/time.os: No such file or directory

The issue is that the carriage return is being escaped when it should
not be. The change to sysd-syscalls with this change:

before:

"""
$(foreach p,$(sysd-rules-targets),$(objpfx)$(patsubst %,$p,time).os): \
                $(..)sysdeps/unix/make-syscalls.sh      $(make-target-directory)
        (echo '#include <dl-vdso.h>';
"""

after:

"""
$(foreach p,$(sysd-rules-targets),$(objpfx)$(patsubst %,$p,time).os): \
                $(..)sysdeps/unix/make-syscalls.sh
        $(make-target-directory)
        (echo '#include <dl-vdso.h>';
"""

which ensures the target directory is correctly created. Only x32 uses the vdso
code which contains the bug which is why the error only really appears on x32.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/recipes-core/glibc/glibc/makesyscall.patch [new file with mode: 0644]
meta/recipes-core/glibc/glibc_2.21.bb