valgrind: Fix a race issue for libcoregrind.a

The libnolto_coregrind_a_OBJECTS is in libcoregrind_a_LIBADD, so the objects
should be ready before generate libcoregrind.a, otherwise there would be
failures:

i586-poky-linux-ar: libnolto_coregrind_x86_linux_a-m_libcsetjmp.o: No such file or directory
make[3]: *** [libcoregrind-x86-linux.a] Error 1

Add libnolto_coregrind_a_OBJECTS to EXTRA_libcoregrind_DEPENDENCIES to fix the
problem.

This is a race issue during parallel build.

(From OE-Core rev: 713d6978894269e5b463c3731c03da7e83956743)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Robert Yang
2018-12-28 01:01:47 -08:00
committed by Richard Purdie
parent d7d492af8e
commit 0e7c84b69e
2 changed files with 46 additions and 0 deletions

View File

@@ -0,0 +1,45 @@
From 7820fc268fae4353118b6355f1d4b9e1b7eeebec Mon Sep 17 00:00:00 2001
From: Philippe Waroquiers <philippe.waroquiers@skynet.be>
Date: Sun, 28 Oct 2018 18:35:11 +0100
Subject: [PATCH] Fix dependencies between libcoregrind*.a and
*m_main.o/*m_libcsetjmp.o
The primary and secondary coregrind libraries must be updated
when m_main.c or m_libcsetjmp.c are changed.
A dependency was missing between libcoregrind*.a and libnolto_coregrind*.a,
and so tools were not relinked when m_main.c or m_libcsetjmp.c were
changed.
Upstream-Status: Backport[git://sourceware.org/git/valgrind.git 7820fc268fae4353118b6355f1d4b9e1b7eeebec]
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
---
coregrind/Makefile.am | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/coregrind/Makefile.am b/coregrind/Makefile.am
index 914a270..8de1996 100644
--- a/coregrind/Makefile.am
+++ b/coregrind/Makefile.am
@@ -511,6 +511,8 @@ libcoregrind_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a_CFLAGS += \
endif
libcoregrind_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a_LIBADD = \
$(libnolto_coregrind_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a_OBJECTS)
+libcoregrind_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a_DEPENDENCIES = \
+ libnolto_coregrind-@VGCONF_ARCH_PRI@-@VGCONF_OS@.a
if VGCONF_HAVE_PLATFORM_SEC
libcoregrind_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a_SOURCES = \
@@ -531,6 +533,8 @@ libcoregrind_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a_CFLAGS += \
endif
libcoregrind_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a_LIBADD = \
$(libnolto_coregrind_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a_OBJECTS)
+libcoregrind_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a_DEPENDENCIES = \
+ libnolto_coregrind-@VGCONF_ARCH_SEC@-@VGCONF_OS@.a
endif
#----------------------------------------------------------------------------
--
2.10.2

View File

@@ -37,6 +37,7 @@ SRC_URI = "http://www.valgrind.org/downloads/valgrind-${PV}.tar.bz2 \
file://0001-Guard-against-__GLIBC_PREREQ-for-musl-libc.patch \
file://0001-Make-local-functions-static-to-avoid-assembler-error.patch \
file://0001-tests-amd64-Do-not-clobber-rsp-register.patch \
file://0001-Fix-dependencies-between-libcoregrind-.a-and-m_main..patch \
"
SRC_URI[md5sum] = "74175426afa280184b62591b58c671b3"
SRC_URI[sha256sum] = "037c11bfefd477cc6e9ebe8f193bb237fe397f7ce791b4a4ce3fa1c6a520baa5"