uftrace: add recipe

- Add recipe for uftrace v0.7.
- Support x86_64, arm (v6 or later), and aarch64.
- Disable for armv4 and armv5 in arm architecture which is only
  supported armv6 or later.
- Attached 2 patches is merged to upstream.

Signed-off-by: Changhyeok Bae <changhyeok.bae@gmail.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
This commit is contained in:
Changhyeok Bae
2017-07-14 23:59:59 +00:00
committed by Martin Jansa
parent 1039afb073
commit d6a1c0e7b7
3 changed files with 97 additions and 0 deletions
@@ -0,0 +1,31 @@
From ec794945475d5792f2ae85afe461e64266613640 Mon Sep 17 00:00:00 2001
From: Changhyeok Bae <changhyeok.bae@gmail.com>
Date: Thu, 13 Jul 2017 16:44:52 +0900
Subject: [PATCH 1/2] Makefile: Add LDFLAGS in export
To use build with musl, need to argp library.
So need to add LDFLAGS from outside.
Upstream-Status: Accepted
Signed-off-by: <Changhyeok Bae changhyeok.bae@gmail.com>
---
Makefile | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Makefile b/Makefile
index 67be2da..0ca649a 100644
--- a/Makefile
+++ b/Makefile
@@ -48,7 +48,7 @@ endif
RM = rm -f
INSTALL = install
-export ARCH CC AR LD RM srcdir objdir
+export ARCH CC AR LD RM srcdir objdir LDFLAGS
COMMON_CFLAGS := -O2 -g -D_GNU_SOURCE $(CFLAGS) $(CPPFLAGS)
COMMON_CFLAGS += -iquote $(srcdir) -iquote $(objdir) -iquote $(srcdir)/arch/$(ARCH)
--
1.9.1
@@ -0,0 +1,31 @@
From 3bda554766150705160fe2191d8761c7881e2433 Mon Sep 17 00:00:00 2001
From: Changhyeok Bae <changhyeok.bae@gmail.com>
Date: Thu, 13 Jul 2017 16:46:20 +0900
Subject: [PATCH 2/2] utils: Add limits header to fix build error
[Error]
error: 'PATH_MAX' undeclared (first use in this function); did you mean
'INT8_MAX'?
Upstream-Status: Accepted
Signed-off-by: Changhyeok Bae <changhyeok.bae@gmail.com>
---
utils/utils.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/utils/utils.c b/utils/utils.c
index 03522c9..30f9e81 100644
--- a/utils/utils.c
+++ b/utils/utils.c
@@ -6,6 +6,7 @@
#include <errno.h>
#include <sys/uio.h>
#include <sys/stat.h>
+#include <limits.h>
#include "utils/utils.h"
--
1.9.1
@@ -0,0 +1,35 @@
SUMMARY = "Trace and analyze execution of a program written in C/C++"
HOMEPAGE = "https://github.com/namhyung/uftrace"
BUGTRACKER = "https://github.com/namhyung/uftrace/issues"
SECTION = "devel"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
DEPENDS = "elfutils"
DEPENDS_append_libc-musl = " argp-standalone"
inherit autotools
SRCREV = "712ad01fdde57893936d7e254451eec67ab41ca6"
SRC_URI = "\
git://github.com/namhyung/${BPN} \
file://0001-Makefile-Add-LDFLAGS-in-export.patch \
file://0002-utils-Add-limits-header-to-fix-build-error.patch \
"
S = "${WORKDIR}/git"
LDFLAGS_append_libc-musl = " -largp"
EXTRA_OECONF = "ARCH=${TARGET_ARCH}"
do_configure() {
${S}/configure ${EXTRA_OECONF}
}
FILES_SOLIBSDEV = ""
FILES_${PN} += "${libdir}/*.so"
COMPATIBLE_HOST = "(x86_64|aarch64|arm)"
# uftrace supports armv6 and above
COMPATIBLE_HOST_armv4 = 'null'
COMPATIBLE_HOST_armv5 = 'null'