From 36b48679f072dd19d8939f4e6c4eb7ab818edb72 Mon Sep 17 00:00:00 2001 From: Jan Beich Date: Sat, 17 Sep 2016 12:34:20 +0000 Subject: [PATCH] devel/android-tools-simpleperf: update to 7.0.0.r1 (nougat) Note, reading .gnu_debugdata (lzma code) isn't supported in the release. Changes: https://android.googlesource.com/platform/system/extras/+log/ea4a5a4..android-7.0.0_r1/simpleperf --- devel/android-tools-simpleperf/Makefile | 17 +++------- devel/android-tools-simpleperf/distinfo | 15 ++++----- devel/android-tools-simpleperf/files/Makefile | 31 ++++-------------- .../files/patch-base_file.cpp | 7 ++-- .../files/patch-base_logging.cpp | 16 ++++++---- .../files/patch-base_stringprintf__test.cpp | 2 +- .../files/patch-libcutils_threads.c | 32 ------------------- .../files/patch-liblog_logd__write.c | 12 ------- .../files/patch-liblog_logger__write.c | 16 ++++++++++ .../files/patch-simpleperf_gtest__main.cpp | 22 +++++++++++++ devel/android-tools-simpleperf/pkg-descr | 9 ++++-- 11 files changed, 77 insertions(+), 102 deletions(-) delete mode 100644 devel/android-tools-simpleperf/files/patch-libcutils_threads.c delete mode 100644 devel/android-tools-simpleperf/files/patch-liblog_logd__write.c create mode 100644 devel/android-tools-simpleperf/files/patch-liblog_logger__write.c create mode 100644 devel/android-tools-simpleperf/files/patch-simpleperf_gtest__main.cpp diff --git a/devel/android-tools-simpleperf/Makefile b/devel/android-tools-simpleperf/Makefile index 50be1e32b40e..d36d68db30b0 100644 --- a/devel/android-tools-simpleperf/Makefile +++ b/devel/android-tools-simpleperf/Makefile @@ -2,28 +2,21 @@ PORTNAME= android-tools-simpleperf DISTVERSIONPREFIX= android- -DISTVERSION= n-preview-1-116 -DISTVERSIONSUFFIX= -gea4a5a4 +DISTVERSION= 7.0.0_r1 CATEGORIES= devel MAINTAINER= jbeich@FreeBSD.org COMMENT= Android simpleperf tool -LICENSE= APACHE20 PD -LICENSE_COMB= multi -LICENSE_FILE_PD= ${WRKSRC}/lzma/NOTICE +LICENSE= APACHE20 BUILD_DEPENDS= llvm-config${LLVM_VER}:devel/llvm${LLVM_VER} USE_GITHUB= yes -GH_ACCOUNT= android:bionic,core jbeich:DEFAULT,lzma +GH_ACCOUNT= android:bionic,core jbeich GH_PROJECT= platform_bionic:bionic platform_system_core:core \ - platform_system_extras platform_external_lzma:lzma -GH_MYTAG= ${DISTVERSIONPREFIX}${DISTVERSION:C/-[0-9]*$//} -GH_TAGNAME= ${GH_MYTAG}-249-g5f1de52:bionic \ - ${GH_MYTAG}-554-g371e7ea170d7:core \ - ${GH_MYTAG}-6-ge43f249:lzma -GH_SUBDIR= bionic:bionic lzma:lzma + platform_system_extras +GH_SUBDIR= bionic:bionic USES= compiler:c++11-lib uidfix BUILD_WRKSRC= ${WRKSRC}/simpleperf diff --git a/devel/android-tools-simpleperf/distinfo b/devel/android-tools-simpleperf/distinfo index 47c9c569c05f..2d791ae5d3ea 100644 --- a/devel/android-tools-simpleperf/distinfo +++ b/devel/android-tools-simpleperf/distinfo @@ -1,8 +1,7 @@ -SHA256 (jbeich-platform_system_extras-android-n-preview-1-116-gea4a5a4_GH0.tar.gz) = 6bfedb3758797d21c901daff05f3b0a29785e5cee241ceeb9a14524e7166676d -SIZE (jbeich-platform_system_extras-android-n-preview-1-116-gea4a5a4_GH0.tar.gz) = 76583329 -SHA256 (android-platform_bionic-android-n-preview-1-249-g5f1de52_GH0.tar.gz) = f82cc222e0de014fa8752b622073af6be748136a5aefd498a171b34948cc5785 -SIZE (android-platform_bionic-android-n-preview-1-249-g5f1de52_GH0.tar.gz) = 3492411 -SHA256 (android-platform_system_core-android-n-preview-1-554-g371e7ea170d7_GH0.tar.gz) = 6672ae5e1088335f2f721b357f178163c19259abe38a8b307ebb0c8b37b291cb -SIZE (android-platform_system_core-android-n-preview-1-554-g371e7ea170d7_GH0.tar.gz) = 1536079 -SHA256 (jbeich-platform_external_lzma-android-n-preview-1-6-ge43f249_GH0.tar.gz) = 176f7ad8c41794e144da17d3263e4a95b13528b9a425e80882e9ee4cbe2e5f9a -SIZE (jbeich-platform_external_lzma-android-n-preview-1-6-ge43f249_GH0.tar.gz) = 704323 +TIMESTAMP = 1472009581 +SHA256 (jbeich-platform_system_extras-android-7.0.0_r1_GH0.tar.gz) = ff2ea6db032da70374edcd6867bd11d765a475a32d732b983d0dad6ae16e209b +SIZE (jbeich-platform_system_extras-android-7.0.0_r1_GH0.tar.gz) = 79621110 +SHA256 (android-platform_bionic-android-7.0.0_r1_GH0.tar.gz) = 60c75732796cffeff2006f63d556abb7af462939cdc710ff79edf56d26535d74 +SIZE (android-platform_bionic-android-7.0.0_r1_GH0.tar.gz) = 3514221 +SHA256 (android-platform_system_core-android-7.0.0_r1_GH0.tar.gz) = faa44f626dfab9e604f509cc541a8e491e7e46a9de42df3a9c1e24c36fd9f8c4 +SIZE (android-platform_system_core-android-7.0.0_r1_GH0.tar.gz) = 1570346 diff --git a/devel/android-tools-simpleperf/files/Makefile b/devel/android-tools-simpleperf/files/Makefile index b05062253b87..945a488e25e1 100644 --- a/devel/android-tools-simpleperf/files/Makefile +++ b/devel/android-tools-simpleperf/files/Makefile @@ -47,13 +47,13 @@ TEST_SRCS+= test_utils.cpp # required by base .PATH: ${.CURDIR}/../liblog +SRCS+= config_write.c SRCS+= fake_log_device.c -SRCS+= logd_write.c -CPPFLAGS.logd_write.c+= -DFAKE_LOG_DEVICE=1 - -# required by base -.PATH: ${.CURDIR}/../libcutils -SRCS+= threads.c +SRCS+= fake_writer.c +SRCS+= logger_lock.c +SRCS+= logger_name.c +SRCS+= logger_write.c +CPPFLAGS.config_write.c+= -DFAKE_LOG_DEVICE=1 # required by libziparchive .PATH: ${.CURDIR}/../libutils @@ -63,24 +63,6 @@ SRCS+= FileMap.cpp .PATH: ${.CURDIR}/../libziparchive SRCS+= zip_archive.cc -# required by simpleperf -.PATH: ${.CURDIR}/../lzma/C -SRCS+= 7zCrc.c -SRCS+= 7zCrcOpt.c -SRCS+= Bra86.c -SRCS+= Bra.c -SRCS+= BraIA64.c -SRCS+= CpuArch.c -SRCS+= Delta.c -SRCS+= Lzma2Dec.c -SRCS+= LzmaDec.c -SRCS+= Sha256.c -SRCS+= Xz.c -SRCS+= XzCrc64.c -SRCS+= XzCrc64Opt.c -SRCS+= XzDec.c - -CPPFLAGS+= -D_7ZIP_ST CPPFLAGS+= -D_WITH_GETLINE CPPFLAGS+= -DUSE_BIONIC_UAPI_HEADERS CPPFLAGS+= -Doff64_t=off_t @@ -93,7 +75,6 @@ CPPFLAGS+= -I${.CURDIR}/nonlinux_support/include CPPFLAGS+= -I${.CURDIR}/../include CPPFLAGS+= -I${.CURDIR}/../base/include CPPFLAGS+= -I${.CURDIR}/../bionic/libc/kernel -CPPFLAGS+= -I${.CURDIR}/../lzma/C CPPFLAGS+= $$(${LLVM_CONFIG} --cppflags) CPPFLAGS+= ${CPPFLAGS.${.IMPSRC:T}} CXXFLAGS+= -std=gnu++11 diff --git a/devel/android-tools-simpleperf/files/patch-base_file.cpp b/devel/android-tools-simpleperf/files/patch-base_file.cpp index 9c5526d44196..754b02594d0c 100644 --- a/devel/android-tools-simpleperf/files/patch-base_file.cpp +++ b/devel/android-tools-simpleperf/files/patch-base_file.cpp @@ -1,10 +1,11 @@ ---- base/file.cpp.orig 2015-08-12 23:28:08 UTC +--- base/file.cpp.orig 2016-08-08 21:10:17 UTC +++ base/file.cpp -@@ -21,6 +21,7 @@ +@@ -21,6 +21,8 @@ #include #include ++#include // BUFSIZ +#include // strerror #include - #include "base/macros.h" // For TEMP_FAILURE_RETRY on Darwin. + #include "android-base/macros.h" // For TEMP_FAILURE_RETRY on Darwin. diff --git a/devel/android-tools-simpleperf/files/patch-base_logging.cpp b/devel/android-tools-simpleperf/files/patch-base_logging.cpp index e2a73ab48fae..10b83f259680 100644 --- a/devel/android-tools-simpleperf/files/patch-base_logging.cpp +++ b/devel/android-tools-simpleperf/files/patch-base_logging.cpp @@ -1,7 +1,7 @@ ---- base/logging.cpp.orig 2015-08-12 23:28:08 UTC +--- base/logging.cpp.orig 2016-08-08 21:10:17 UTC +++ base/logging.cpp -@@ -23,12 +23,14 @@ - #include +@@ -25,7 +25,7 @@ + #include // For getprogname(3) or program_invocation_short_name. -#if defined(__ANDROID__) || defined(__APPLE__) @@ -9,14 +9,16 @@ #include #elif defined(__GLIBC__) #include +@@ -35,6 +35,8 @@ + #include #endif -+#include // strlen ++#include // strrchr +#include // fprintf #include #include #include -@@ -66,6 +68,14 @@ +@@ -71,6 +72,14 @@ #include #elif defined(_WIN32) #include @@ -30,8 +32,8 @@ +#include #endif - static pid_t GetThreadId() { -@@ -77,6 +89,14 @@ static pid_t GetThreadId() { + #if defined(_WIN32) +@@ -88,6 +97,14 @@ static thread_id GetThreadId() { return syscall(__NR_gettid); #elif defined(_WIN32) return GetCurrentThreadId(); diff --git a/devel/android-tools-simpleperf/files/patch-base_stringprintf__test.cpp b/devel/android-tools-simpleperf/files/patch-base_stringprintf__test.cpp index de3c17cb2ed7..a367b9d5c540 100644 --- a/devel/android-tools-simpleperf/files/patch-base_stringprintf__test.cpp +++ b/devel/android-tools-simpleperf/files/patch-base_stringprintf__test.cpp @@ -1,4 +1,4 @@ ---- base/stringprintf_test.cpp.orig 2015-08-12 23:28:08 UTC +--- base/stringprintf_test.cpp.orig 2015-09-17 22:58:36 UTC +++ base/stringprintf_test.cpp @@ -18,6 +18,7 @@ diff --git a/devel/android-tools-simpleperf/files/patch-libcutils_threads.c b/devel/android-tools-simpleperf/files/patch-libcutils_threads.c deleted file mode 100644 index f8f92e5267a7..000000000000 --- a/devel/android-tools-simpleperf/files/patch-libcutils_threads.c +++ /dev/null @@ -1,32 +0,0 @@ ---- libcutils/threads.c.orig 2015-06-17 22:20:38 UTC -+++ libcutils/threads.c -@@ -29,6 +29,14 @@ - #include - #elif defined(_WIN32) - #include -+#elif defined(__DragonFly__) -+#include -+#elif defined(__FreeBSD__) -+#include -+#elif defined(__NetBSD__) -+#include -+#else -+#include - #endif - - // No definition needed for Android because we'll just pick up bionic's copy. -@@ -40,6 +48,14 @@ pid_t gettid() { - return syscall(__NR_gettid); - #elif defined(_WIN32) - return GetCurrentThreadId(); -+#elif defined(__DragonFly__) -+ return lwp_gettid(); -+#elif defined(__NetBSD__) -+ return _lwp_self(); -+#elif defined(__FreeBSD__) -+ return pthread_getthreadid_np(); -+#else -+ return (intptr_t) pthread_self(); - #endif - } - #endif // __ANDROID__ diff --git a/devel/android-tools-simpleperf/files/patch-liblog_logd__write.c b/devel/android-tools-simpleperf/files/patch-liblog_logd__write.c deleted file mode 100644 index d9a8890325d4..000000000000 --- a/devel/android-tools-simpleperf/files/patch-liblog_logd__write.c +++ /dev/null @@ -1,12 +0,0 @@ ---- liblog/logd_write.c.orig 2015-05-27 20:24:08 UTC -+++ liblog/logd_write.c -@@ -22,7 +22,9 @@ - #include - #endif - #include -+#if (FAKE_LOG_DEVICE == 0) - #include -+#endif - #include - #include - #include diff --git a/devel/android-tools-simpleperf/files/patch-liblog_logger__write.c b/devel/android-tools-simpleperf/files/patch-liblog_logger__write.c new file mode 100644 index 000000000000..481e87407296 --- /dev/null +++ b/devel/android-tools-simpleperf/files/patch-liblog_logger__write.c @@ -0,0 +1,16 @@ +--- liblog/logger_write.c.orig 2016-04-16 00:01:39 UTC ++++ liblog/logger_write.c +@@ -15,12 +15,12 @@ + */ + + #include +-#include + #include + #include + #include + + #ifdef __BIONIC__ ++#include + #include + #endif + diff --git a/devel/android-tools-simpleperf/files/patch-simpleperf_gtest__main.cpp b/devel/android-tools-simpleperf/files/patch-simpleperf_gtest__main.cpp new file mode 100644 index 000000000000..97c23baf9b3a --- /dev/null +++ b/devel/android-tools-simpleperf/files/patch-simpleperf_gtest__main.cpp @@ -0,0 +1,22 @@ +libc++ fails with higher default. + + [ RUN ] logging.LOG + base/logging_test.cpp:162: Failure + Expected: (output.length()) > (strlen("foobar")), actual: 0 vs 6 + [ FAILED ] logging.LOG (1 ms) + [ RUN ] logging.PLOG + base/logging_test.cpp:252: Failure + Expected: (output.length()) > (strlen("foobar")), actual: 0 vs 6 + [ FAILED ] logging.PLOG (0 ms) + +--- simpleperf/gtest_main.cpp 2016-06-28 07:04:19.000000000 +0000 ++++ simpleperf/gtest_main.cpp +@@ -137,7 +137,7 @@ class SavedPerfHardenProperty { + int main(int argc, char** argv) { + InitLogging(argv, android::base::StderrLogger); + testing::InitGoogleTest(&argc, argv); +- android::base::LogSeverity log_severity = android::base::WARNING; ++ android::base::LogSeverity log_severity = android::base::GetMinimumLogSeverity(); + + for (int i = 1; i < argc; ++i) { + if (strcmp(argv[i], "-t") == 0 && i + 1 < argc) { diff --git a/devel/android-tools-simpleperf/pkg-descr b/devel/android-tools-simpleperf/pkg-descr index 846c9aaa19c8..773fb611dd53 100644 --- a/devel/android-tools-simpleperf/pkg-descr +++ b/devel/android-tools-simpleperf/pkg-descr @@ -1,2 +1,7 @@ -simpleperf is a minimal Linux perf implementation for extracting -sampling information out of perf.data. +Simpleperf is a native profiling tool for Android. Its command-line +interface supports broadly the same options as the linux-tools perf, +but also supports various Android-specific improvements. + +This package only provides subcommands to read perf.data. + +WWW: https://android.googlesource.com/platform/prebuilts/simpleperf/