1diff -r -u -d /home/bccheng/local/kernels/crespo-ics/tools/perf/arch/arm/util/dwarf-regs.c ./arch/arm/util/dwarf-regs.c 2--- /home/bccheng/local/kernels/crespo-ics/tools/perf/arch/arm/util/dwarf-regs.c 2011-12-09 13:14:49.000000000 -0800 3+++ ./arch/arm/util/dwarf-regs.c 2012-03-22 17:08:09.000000000 -0700 4@@ -8,8 +8,15 @@ 5 * published by the Free Software Foundation. 6 */ 7 8+/* ANDROID_CHANGE_BEGIN */ 9+#if 0 10 #include <libio.h> 11 #include <dwarf-regs.h> 12+#else 13+#include <stdio.h> 14+#include "util/include/dwarf-regs.h" 15+#endif 16+/* ANDROID_CHANGE_END */ 17 18 struct pt_regs_dwarfnum { 19 const char *name; 20@@ -20,7 +27,7 @@ 21 #define REG_DWARFNUM_NAME(r, num) {.name = r, .dwarfnum = num} 22 #define GPR_DWARFNUM_NAME(num) \ 23 {.name = STR(%r##num), .dwarfnum = num} 24-#define REG_DWARFNUM_END {.name = NULL, .dwarfnum = 0} 25+#define REG_DWARFNUM_END {.name = 0, .dwarfnum = 0} 26 27 /* 28 * Reference: 29diff -r -u -d /home/bccheng/local/kernels/crespo-ics/tools/perf/arch/x86/util/dwarf-regs.c ./arch/x86/util/dwarf-regs.c 30--- /home/bccheng/local/kernels/crespo-ics/tools/perf/arch/x86/util/dwarf-regs.c 2011-12-09 13:14:49.000000000 -0800 31+++ ./arch/x86/util/dwarf-regs.c 2012-03-22 17:08:09.000000000 -0700 32@@ -21,7 +21,13 @@ 33 */ 34 35 #include <libio.h> 36+/* ANDROID_CHANGE_BEGIN */ 37+#if 0 38 #include <dwarf-regs.h> 39+#else 40+#include "util/include/dwarf-regs.h" 41+#endif 42+/* ANDROID_CHANGE_END */ 43 44 /* 45 * Generic dwarf analysis helpers 46diff -r -u -d /home/bccheng/local/kernels/crespo-ics/tools/perf/bench/mem-memcpy.c ./bench/mem-memcpy.c 47--- /home/bccheng/local/kernels/crespo-ics/tools/perf/bench/mem-memcpy.c 2011-12-09 13:14:50.000000000 -0800 48+++ ./bench/mem-memcpy.c 2012-03-22 17:08:09.000000000 -0700 49@@ -146,9 +146,9 @@ 50 if (prefault) 51 fn(dst, src, len); 52 53- BUG_ON(gettimeofday(&tv_start, NULL)); 54+ gettimeofday(&tv_start, NULL); 55 fn(dst, src, len); 56- BUG_ON(gettimeofday(&tv_end, NULL)); 57+ gettimeofday(&tv_end, NULL); 58 59 timersub(&tv_end, &tv_start, &tv_diff); 60 61diff -r -u -d /home/bccheng/local/kernels/crespo-ics/tools/perf/bench/sched-messaging.c ./bench/sched-messaging.c 62--- /home/bccheng/local/kernels/crespo-ics/tools/perf/bench/sched-messaging.c 2011-12-09 13:14:50.000000000 -0800 63+++ ./bench/sched-messaging.c 2012-03-22 17:08:09.000000000 -0700 64@@ -16,6 +16,11 @@ 65 #include "bench.h" 66 67 /* Test groups of 20 processes spraying to 20 receivers */ 68+/* ANDROID_CHANGE_BEGIN */ 69+#ifdef __BIONIC__ 70+#include <asm/page.h> 71+#endif 72+/* ANDROID_CHANGE_END */ 73 #include <pthread.h> 74 #include <stdio.h> 75 #include <stdlib.h> 76diff -r -u -d /home/bccheng/local/kernels/crespo-ics/tools/perf/bench/sched-pipe.c ./bench/sched-pipe.c 77--- /home/bccheng/local/kernels/crespo-ics/tools/perf/bench/sched-pipe.c 2011-12-09 13:14:50.000000000 -0800 78+++ ./bench/sched-pipe.c 2012-03-22 17:08:09.000000000 -0700 79@@ -45,6 +45,8 @@ 80 int bench_sched_pipe(int argc, const char **argv, 81 const char *prefix __used) 82 { 83+ /* ANDROID_CHANGE_BEGIN */ 84+#ifndef __BIONIC__ 85 int pipe_1[2], pipe_2[2]; 86 int m = 0, i; 87 struct timeval start, stop, diff; 88@@ -122,6 +124,8 @@ 89 exit(1); 90 break; 91 } 92+#endif 93+ /* ANDROID_CHANGE_END */ 94 95 return 0; 96 } 97diff -r -u -d /home/bccheng/local/kernels/crespo-ics/tools/perf/builtin-annotate.c ./builtin-annotate.c 98--- /home/bccheng/local/kernels/crespo-ics/tools/perf/builtin-annotate.c 2011-12-09 13:14:50.000000000 -0800 99+++ ./builtin-annotate.c 2012-03-22 17:08:09.000000000 -0700 100@@ -9,9 +9,17 @@ 101 102 #include "util/util.h" 103 #include "util/color.h" 104+/* ANDROID_CHANGE_BEGIN */ 105+#if 0 106 #include <linux/list.h> 107 #include "util/cache.h" 108 #include <linux/rbtree.h> 109+#else 110+#include "util/include/linux/list.h" 111+#include "util/cache.h" 112+#include "util/include/linux/rbtree.h" 113+#endif 114+/* ANDROID_CHANGE_END */ 115 #include "util/symbol.h" 116 117 #include "perf.h" 118@@ -252,6 +260,10 @@ 119 "print matching source lines (may be slow)"), 120 OPT_BOOLEAN('P', "full-paths", &full_paths, 121 "Don't shorten the displayed pathnames"), 122+ /* ANDROID_CHANGE_BEGIN */ 123+ OPT_STRING(0, "symfs", &symbol_conf.symfs, "directory", 124+ "Look for files with symbols relative to this directory"), 125+ /* ANDROID_CHANGE_END */ 126 OPT_END() 127 }; 128 129diff -r -u -d /home/bccheng/local/kernels/crespo-ics/tools/perf/builtin-evlist.c ./builtin-evlist.c 130--- /home/bccheng/local/kernels/crespo-ics/tools/perf/builtin-evlist.c 2011-12-09 13:14:50.000000000 -0800 131+++ ./builtin-evlist.c 2012-03-22 17:08:09.000000000 -0700 132@@ -6,7 +6,13 @@ 133 134 #include "util/util.h" 135 136+/* ANDROID_CHANGE_BEGIN */ 137+#if 0 138 #include <linux/list.h> 139+#else 140+#include "util/include/linux/list.h" 141+#endif 142+/* ANDROID_CHANGE_END */ 143 144 #include "perf.h" 145 #include "util/evlist.h" 146diff -r -u -d /home/bccheng/local/kernels/crespo-ics/tools/perf/builtin-kmem.c ./builtin-kmem.c 147--- /home/bccheng/local/kernels/crespo-ics/tools/perf/builtin-kmem.c 2011-12-09 13:14:50.000000000 -0800 148+++ ./builtin-kmem.c 2012-03-22 17:08:09.000000000 -0700 149@@ -13,7 +13,13 @@ 150 151 #include "util/debug.h" 152 153+/* ANDROID_CHANGE_BEGIN */ 154+#if 0 155 #include <linux/rbtree.h> 156+#else 157+#include "util/include/linux/rbtree.h" 158+#endif 159+/* ANDROID_CHANGE_END */ 160 161 struct alloc_stat; 162 typedef int (*sort_fn_t)(struct alloc_stat *, struct alloc_stat *); 163@@ -775,4 +781,3 @@ 164 165 return 0; 166 } 167- 168diff -r -u -d /home/bccheng/local/kernels/crespo-ics/tools/perf/builtin-lock.c ./builtin-lock.c 169--- /home/bccheng/local/kernels/crespo-ics/tools/perf/builtin-lock.c 2011-12-09 13:14:50.000000000 -0800 170+++ ./builtin-lock.c 2012-03-22 17:08:09.000000000 -0700 171@@ -20,8 +20,15 @@ 172 #include <math.h> 173 #include <limits.h> 174 175+/* ANDROID_CHANGE_BEGIN */ 176+#if 0 177 #include <linux/list.h> 178 #include <linux/hash.h> 179+#else 180+#include "util/include/linux/list.h" 181+#include "util/include/linux/hash.h" 182+#endif 183+/* ANDROID_CHANGE_END */ 184 185 static struct perf_session *session; 186 187diff -r -u -d /home/bccheng/local/kernels/crespo-ics/tools/perf/builtin-record.c ./builtin-record.c 188--- /home/bccheng/local/kernels/crespo-ics/tools/perf/builtin-record.c 2011-12-09 13:14:50.000000000 -0800 189+++ ./builtin-record.c 2012-03-22 17:08:09.000000000 -0700 190@@ -464,7 +464,13 @@ 191 if (!fstat(STDOUT_FILENO, &st) && S_ISFIFO(st.st_mode)) 192 pipe_output = 1; 193 else 194+ /* ANDROID_CHANGE_BEGIN */ 195+#ifdef __BIONIC__ 196+ output_name = "/data/perf.data"; 197+#else 198 output_name = "perf.data"; 199+#endif 200+ /* ANDROID_CHANGE_END */ 201 } 202 if (output_name) { 203 if (!strcmp(output_name, "-")) 204diff -r -u -d /home/bccheng/local/kernels/crespo-ics/tools/perf/builtin-report.c ./builtin-report.c 205--- /home/bccheng/local/kernels/crespo-ics/tools/perf/builtin-report.c 2011-12-09 13:14:50.000000000 -0800 206+++ ./builtin-report.c 2012-03-22 17:08:09.000000000 -0700 207@@ -11,9 +11,17 @@ 208 209 #include "util/annotate.h" 210 #include "util/color.h" 211+/* ANDROID_CHANGE_BEGIN */ 212+#if 0 213 #include <linux/list.h> 214 #include "util/cache.h" 215 #include <linux/rbtree.h> 216+#else 217+#include "util/include/linux/list.h" 218+#include "util/cache.h" 219+#include "util/include/linux/rbtree.h" 220+#endif 221+/* ANDROID_CHANGE_END */ 222 #include "util/symbol.h" 223 #include "util/callchain.h" 224 #include "util/strlist.h" 225diff -r -u -d /home/bccheng/local/kernels/crespo-ics/tools/perf/builtin-sched.c ./builtin-sched.c 226--- /home/bccheng/local/kernels/crespo-ics/tools/perf/builtin-sched.c 2011-12-09 13:14:50.000000000 -0800 227+++ ./builtin-sched.c 2012-03-22 17:08:09.000000000 -0700 228@@ -16,6 +16,12 @@ 229 #include <sys/prctl.h> 230 231 #include <semaphore.h> 232+/* ANDROID_CHANGE_BEGIN */ 233+#ifdef __BIONIC__ 234+/* PTHREAD_STACK_MIN is defined as (2 * PAGE_SIZE) */ 235+#include <asm/page.h> 236+#endif 237+/* ANDROID_CHANGE_END */ 238 #include <pthread.h> 239 #include <math.h> 240 241@@ -473,6 +479,11 @@ 242 BUG_ON(ret); 243 244 goto again; 245+ /* ANDROID_CHANGE_BEGIN */ 246+#ifdef __BIONIC__ 247+ return NULL; 248+#endif 249+ /* ANDROID_CHANGE_END */ 250 } 251 252 static void create_tasks(void) 253@@ -484,8 +495,15 @@ 254 255 err = pthread_attr_init(&attr); 256 BUG_ON(err); 257+ /* ANDROID_CHANGE_BEGIN */ 258+#if 0 259 err = pthread_attr_setstacksize(&attr, 260 (size_t) max(16 * 1024, PTHREAD_STACK_MIN)); 261+#else 262+ err = pthread_attr_setstacksize(&attr, 263+ (size_t) max((unsigned) 16 * 1024, (unsigned) PTHREAD_STACK_MIN)); 264+#endif 265+ /* ANDROID_CHANGE_END */ 266 BUG_ON(err); 267 err = pthread_mutex_lock(&start_work_mutex); 268 BUG_ON(err); 269diff -r -u -d /home/bccheng/local/kernels/crespo-ics/tools/perf/builtin-stat.c ./builtin-stat.c 270--- /home/bccheng/local/kernels/crespo-ics/tools/perf/builtin-stat.c 2011-12-09 13:14:50.000000000 -0800 271+++ ./builtin-stat.c 2012-03-22 17:08:09.000000000 -0700 272@@ -743,7 +743,14 @@ 273 if (csv_output) 274 fmt = "%s%.0f%s%s"; 275 else if (big_num) 276+ /* ANDROID_CHANGE_BEGIN */ 277+#ifdef __BIONIC__ 278+ /* bionic doesn't like "'" */ 279+ fmt = "%s%18.0f%s%-25s"; 280+#else 281 fmt = "%s%'18.0f%s%-25s"; 282+#endif 283+ /* ANDROID_CHANGE_END */ 284 else 285 fmt = "%s%18.0f%s%-25s"; 286 287diff -r -u -d /home/bccheng/local/kernels/crespo-ics/tools/perf/builtin-test.c ./builtin-test.c 288--- /home/bccheng/local/kernels/crespo-ics/tools/perf/builtin-test.c 2011-12-09 13:14:50.000000000 -0800 289+++ ./builtin-test.c 2012-03-22 17:08:09.000000000 -0700 290@@ -453,6 +453,10 @@ 291 */ 292 static int test__basic_mmap(void) 293 { 294+ /* ANDROID_CHANGE_BEGIN */ 295+#ifdef __BIONIC__ 296+ return 0; 297+#else 298 int err = -1; 299 union perf_event *event; 300 struct thread_map *threads; 301@@ -598,6 +602,8 @@ 302 thread_map__delete(threads); 303 return err; 304 #undef nsyscalls 305+#endif 306+ /* ANDROID_CHANGE_END */ 307 } 308 309 static struct test { 310diff -r -u -d /home/bccheng/local/kernels/crespo-ics/tools/perf/builtin-timechart.c ./builtin-timechart.c 311--- /home/bccheng/local/kernels/crespo-ics/tools/perf/builtin-timechart.c 2011-12-09 13:14:50.000000000 -0800 312+++ ./builtin-timechart.c 2012-03-22 17:08:09.000000000 -0700 313@@ -17,9 +17,17 @@ 314 #include "util/util.h" 315 316 #include "util/color.h" 317+/* ANDROID_CHANGE_BEGIN */ 318+#if 0 319 #include <linux/list.h> 320 #include "util/cache.h" 321 #include <linux/rbtree.h> 322+#else 323+#include "util/include/linux/list.h" 324+#include "util/cache.h" 325+#include "util/include/linux/rbtree.h" 326+#endif 327+/* ANDROID_CHANGE_END */ 328 #include "util/symbol.h" 329 #include "util/callchain.h" 330 #include "util/strlist.h" 331diff -r -u -d /home/bccheng/local/kernels/crespo-ics/tools/perf/builtin-top.c ./builtin-top.c 332--- /home/bccheng/local/kernels/crespo-ics/tools/perf/builtin-top.c 2011-12-09 13:14:50.000000000 -0800 333+++ ./builtin-top.c 2012-03-22 17:08:09.000000000 -0700 334@@ -31,7 +31,13 @@ 335 #include "util/thread_map.h" 336 #include "util/top.h" 337 #include "util/util.h" 338+/* ANDROID_CHANGE_BEGIN */ 339+#if 0 340 #include <linux/rbtree.h> 341+#else 342+#include "util/include/linux/rbtree.h" 343+#endif 344+/* ANDROID_CHANGE_END */ 345 #include "util/parse-options.h" 346 #include "util/parse-events.h" 347 #include "util/cpumap.h" 348diff -r -u -d /home/bccheng/local/kernels/crespo-ics/tools/perf/perf.h ./perf.h 349--- /home/bccheng/local/kernels/crespo-ics/tools/perf/perf.h 2011-12-09 13:14:50.000000000 -0800 350+++ ./perf.h 2012-03-22 17:08:09.000000000 -0700 351@@ -6,7 +6,13 @@ 352 void get_term_dimensions(struct winsize *ws); 353 354 #if defined(__i386__) 355+/* ANDROID_CHANGE_BEGIN */ 356+#if 0 357 #include "../../arch/x86/include/asm/unistd.h" 358+#else 359+#include <asm/unistd.h> 360+#endif 361+/* ANDROID_CHANGE_END */ 362 #define rmb() asm volatile("lock; addl $0,0(%%esp)" ::: "memory") 363 #define cpu_relax() asm volatile("rep; nop" ::: "memory"); 364 #endif 365@@ -64,7 +70,13 @@ 366 #endif 367 368 #ifdef __arm__ 369+/* ANDROID_CHANGE_BEGIN */ 370+#if 0 371 #include "../../arch/arm/include/asm/unistd.h" 372+#else 373+#include <asm/unistd.h> 374+#endif 375+/* ANDROID_CHANGE_END */ 376 /* 377 * Use the __kuser_memory_barrier helper in the CPU helper page. See 378 * arch/arm/kernel/entry-armv.S in the kernel source for details. 379@@ -88,9 +100,16 @@ 380 #include <time.h> 381 #include <unistd.h> 382 #include <sys/types.h> 383+ 384 #include <sys/syscall.h> 385 386+/* ANDROID_CHANGE_BEGIN */ 387+#if 0 388 #include "../../include/linux/perf_event.h" 389+#else 390+#include "util/include/linux/added/perf_event.h" 391+#endif 392+/* ANDROID_CHANGE_END */ 393 #include "util/types.h" 394 #include <stdbool.h> 395 396diff -r -u -d /home/bccheng/local/kernels/crespo-ics/tools/perf/util/annotate.c ./util/annotate.c 397--- /home/bccheng/local/kernels/crespo-ics/tools/perf/util/annotate.c 2011-12-09 13:14:50.000000000 -0800 398+++ ./util/annotate.c 2012-03-22 17:08:10.000000000 -0700 399@@ -322,12 +322,23 @@ 400 pr_debug("annotating [%p] %30s : [%p] %30s\n", 401 dso, dso->long_name, sym, sym->name); 402 403+ /* ANDROID_CHANGE_BEGIN */ 404+#if 0 405 snprintf(command, sizeof(command), 406 "objdump --start-address=0x%016" PRIx64 407 " --stop-address=0x%016" PRIx64 " -dS -C %s|grep -v %s|expand", 408 map__rip_2objdump(map, sym->start), 409 map__rip_2objdump(map, sym->end), 410 symfs_filename, filename); 411+#else 412+ snprintf(command, sizeof(command), 413+ "arm-eabi-objdump --start-address=0x%016" PRIx64 414+ " --stop-address=0x%016" PRIx64 " -d -C %s|grep -v %s|expand", 415+ map__rip_2objdump(map, sym->start), 416+ map__rip_2objdump(map, sym->end), 417+ symfs_filename, filename); 418+#endif 419+ /* ANDROID_CHANGE_END */ 420 421 pr_debug("Executing: %s\n", command); 422 423diff -r -u -d /home/bccheng/local/kernels/crespo-ics/tools/perf/util/annotate.h ./util/annotate.h 424--- /home/bccheng/local/kernels/crespo-ics/tools/perf/util/annotate.h 2011-12-09 13:14:50.000000000 -0800 425+++ ./util/annotate.h 2012-03-22 17:08:10.000000000 -0700 426@@ -4,8 +4,18 @@ 427 #include <stdbool.h> 428 #include "types.h" 429 #include "symbol.h" 430+/* ANDROID_CHANGE_BEGIN */ 431+#if 0 432 #include <linux/list.h> 433 #include <linux/rbtree.h> 434+#else 435+#include "include/linux/list.h" 436+#include "include/linux/rbtree.h" 437+#ifdef __BIONIC__ 438+#include <pthread.h> 439+#endif 440+#endif 441+/* ANDROID_CHANGE_END */ 442 443 struct objdump_line { 444 struct list_head node; 445diff -r -u -d /home/bccheng/local/kernels/crespo-ics/tools/perf/util/bitmap.c ./util/bitmap.c 446--- /home/bccheng/local/kernels/crespo-ics/tools/perf/util/bitmap.c 2011-12-09 13:14:50.000000000 -0800 447+++ ./util/bitmap.c 2012-03-22 17:08:10.000000000 -0700 448@@ -5,7 +5,13 @@ 449 * This source code is licensed under the GNU General Public License, 450 * Version 2. See the file COPYING for more details. 451 */ 452+/* ANDROID_CHANGE_BEGIN */ 453+#if 0 454 #include <linux/bitmap.h> 455+#else 456+#include "include/linux/bitmap.h" 457+#endif 458+/* ANDROID_CHANGE_END */ 459 460 int __bitmap_weight(const unsigned long *bitmap, int bits) 461 { 462diff -r -u -d /home/bccheng/local/kernels/crespo-ics/tools/perf/util/callchain.h ./util/callchain.h 463--- /home/bccheng/local/kernels/crespo-ics/tools/perf/util/callchain.h 2011-12-09 13:14:50.000000000 -0800 464+++ ./util/callchain.h 2012-03-22 17:08:10.000000000 -0700 465@@ -2,8 +2,15 @@ 466 #define __PERF_CALLCHAIN_H 467 468 #include "../perf.h" 469+/* ANDROID_CHANGE_BEGIN */ 470+#if 0 471 #include <linux/list.h> 472 #include <linux/rbtree.h> 473+#else 474+#include "include/linux/list.h" 475+#include "include/linux/rbtree.h" 476+#endif 477+/* ANDROID_CHANGE_END */ 478 #include "event.h" 479 #include "symbol.h" 480 481diff -r -u -d /home/bccheng/local/kernels/crespo-ics/tools/perf/util/event.c ./util/event.c 482--- /home/bccheng/local/kernels/crespo-ics/tools/perf/util/event.c 2011-12-09 13:14:50.000000000 -0800 483+++ ./util/event.c 2012-03-22 17:08:10.000000000 -0700 484@@ -91,7 +91,13 @@ 485 } 486 487 event->comm.header.type = PERF_RECORD_COMM; 488+ /* ANDROID_CHANGE_BEGIN */ 489+#ifdef __BIONIC__ 490+ size = KERNEL_ALIGN(size, sizeof(u64)); 491+#else 492 size = ALIGN(size, sizeof(u64)); 493+#endif 494+ /* ANDROID_CHANGE_END */ 495 memset(event->comm.comm + size, 0, session->id_hdr_size); 496 event->comm.header.size = (sizeof(event->comm) - 497 (sizeof(event->comm.comm) - size) + 498@@ -184,7 +190,13 @@ 499 size = strlen(execname); 500 execname[size - 1] = '\0'; /* Remove \n */ 501 memcpy(event->mmap.filename, execname, size); 502+ /* ANDROID_CHANGE_BEGIN */ 503+#ifdef __BIONIC__ 504+ size = KERNEL_ALIGN(size, sizeof(u64)); 505+#else 506 size = ALIGN(size, sizeof(u64)); 507+#endif 508+ /* ANDROID_CHANGE_END */ 509 event->mmap.len -= event->mmap.start; 510 event->mmap.header.size = (sizeof(event->mmap) - 511 (sizeof(event->mmap.filename) - size)); 512@@ -234,7 +246,13 @@ 513 if (pos->dso->kernel) 514 continue; 515 516+ /* ANDROID_CHANGE_BEGIN */ 517+#ifdef __BIONIC__ 518+ size = KERNEL_ALIGN(pos->dso->long_name_len + 1, sizeof(u64)); 519+#else 520 size = ALIGN(pos->dso->long_name_len + 1, sizeof(u64)); 521+#endif 522+ /* ANDROID_CHANGE_END */ 523 event->mmap.header.type = PERF_RECORD_MMAP; 524 event->mmap.header.size = (sizeof(event->mmap) - 525 (sizeof(event->mmap.filename) - size)); 526@@ -409,7 +427,13 @@ 527 map = machine->vmlinux_maps[MAP__FUNCTION]; 528 size = snprintf(event->mmap.filename, sizeof(event->mmap.filename), 529 "%s%s", mmap_name, symbol_name) + 1; 530+ /* ANDROID_CHANGE_BEGIN */ 531+#ifdef __BIONIC__ 532+ size = KERNEL_ALIGN(size, sizeof(u64)); 533+#else 534 size = ALIGN(size, sizeof(u64)); 535+#endif 536+ /* ANDROID_CHANGE_END */ 537 event->mmap.header.type = PERF_RECORD_MMAP; 538 event->mmap.header.size = (sizeof(event->mmap) - 539 (sizeof(event->mmap.filename) - size) + session->id_hdr_size); 540diff -r -u -d /home/bccheng/local/kernels/crespo-ics/tools/perf/util/event.h ./util/event.h 541--- /home/bccheng/local/kernels/crespo-ics/tools/perf/util/event.h 2011-12-09 13:14:50.000000000 -0800 542+++ ./util/event.h 2012-03-22 17:08:10.000000000 -0700 543@@ -87,7 +87,13 @@ 544 struct build_id_event { 545 struct perf_event_header header; 546 pid_t pid; 547+ /* ANDROID_CHANGE_BEGIN */ 548+#ifdef __BIONIC__ 549+ u8 build_id[KERNEL_ALIGN(BUILD_ID_SIZE, sizeof(u64))]; 550+#else 551 u8 build_id[ALIGN(BUILD_ID_SIZE, sizeof(u64))]; 552+#endif 553+ /* ANDROID_CHANGE_END */ 554 char filename[]; 555 }; 556 557diff -r -u -d /home/bccheng/local/kernels/crespo-ics/tools/perf/util/evlist.c ./util/evlist.c 558--- /home/bccheng/local/kernels/crespo-ics/tools/perf/util/evlist.c 2011-12-09 13:14:50.000000000 -0800 559+++ ./util/evlist.c 2012-03-22 17:08:10.000000000 -0700 560@@ -15,8 +15,15 @@ 561 562 #include <sys/mman.h> 563 564+/* ANDROID_CHANGE_BEGIN */ 565+#if 0 566 #include <linux/bitops.h> 567 #include <linux/hash.h> 568+#else 569+#include "include/linux/bitops.h" 570+#include "include/linux/hash.h" 571+#endif 572+/* ANDROID_CHANGE_END */ 573 574 #define FD(e, x, y) (*(int *)xyarray__entry(e->fd, x, y)) 575 #define SID(e, x, y) xyarray__entry(e->sample_id, x, y) 576diff -r -u -d /home/bccheng/local/kernels/crespo-ics/tools/perf/util/evlist.h ./util/evlist.h 577--- /home/bccheng/local/kernels/crespo-ics/tools/perf/util/evlist.h 2011-12-09 13:14:50.000000000 -0800 578+++ ./util/evlist.h 2012-03-22 17:08:10.000000000 -0700 579@@ -1,7 +1,13 @@ 580 #ifndef __PERF_EVLIST_H 581 #define __PERF_EVLIST_H 1 582 583+/* ANDROID_CHANGE_BEGIN */ 584+#if 0 585 #include <linux/list.h> 586+#else 587+#include "include/linux/list.h" 588+#endif 589+/* ANDROID_CHANGE_END */ 590 #include "../perf.h" 591 #include "event.h" 592 593diff -r -u -d /home/bccheng/local/kernels/crespo-ics/tools/perf/util/evsel.h ./util/evsel.h 594--- /home/bccheng/local/kernels/crespo-ics/tools/perf/util/evsel.h 2011-12-09 13:14:50.000000000 -0800 595+++ ./util/evsel.h 2012-03-22 17:08:10.000000000 -0700 596@@ -1,9 +1,17 @@ 597 #ifndef __PERF_EVSEL_H 598 #define __PERF_EVSEL_H 1 599 600+/* ANDROID_CHANGE_BEGIN */ 601+#if 0 602 #include <linux/list.h> 603 #include <stdbool.h> 604 #include "../../../include/linux/perf_event.h" 605+#else 606+#include "include/linux/list.h" 607+#include <stdbool.h> 608+#include "include/linux/added/perf_event.h" 609+#endif 610+/* ANDROID_CHANGE_END */ 611 #include "types.h" 612 #include "xyarray.h" 613 #include "cgroup.h" 614diff -r -u -d /home/bccheng/local/kernels/crespo-ics/tools/perf/util/generate-cmdlist.sh ./util/generate-cmdlist.sh 615--- /home/bccheng/local/kernels/crespo-ics/tools/perf/util/generate-cmdlist.sh 2011-12-09 13:14:50.000000000 -0800 616+++ ./util/generate-cmdlist.sh 2012-03-22 17:08:10.000000000 -0700 617@@ -1,5 +1,7 @@ 618 #!/bin/sh 619 620+PREFIX="$1" 621+ 622 echo "/* Automatically generated by $0 */ 623 struct cmdname_help 624 { 625@@ -9,7 +11,7 @@ 626 627 static struct cmdname_help common_cmds[] = {" 628 629-sed -n -e 's/^perf-\([^ ]*\)[ ].* common.*/\1/p' command-list.txt | 630+sed -n -e 's/^perf-\([^ ]*\)[ ].* common.*/\1/p' ${PREFIX}/command-list.txt | 631 sort | 632 while read cmd 633 do 634@@ -19,6 +21,6 @@ 635 x 636 s/.*perf-'"$cmd"' - \(.*\)/ {"'"$cmd"'", "\1"},/ 637 p 638- }' "Documentation/perf-$cmd.txt" 639+ }' "${PREFIX}/Documentation/perf-$cmd.txt" 640 done 641 echo "};" 642diff -r -u -d /home/bccheng/local/kernels/crespo-ics/tools/perf/util/header.c ./util/header.c 643--- /home/bccheng/local/kernels/crespo-ics/tools/perf/util/header.c 2011-12-09 13:14:50.000000000 -0800 644+++ ./util/header.c 2012-03-22 17:08:10.000000000 -0700 645@@ -5,8 +5,15 @@ 646 #include <unistd.h> 647 #include <stdio.h> 648 #include <stdlib.h> 649+/* ANDROID_CHANGE_BEGIN */ 650+#if 0 651 #include <linux/list.h> 652 #include <linux/kernel.h> 653+#else 654+#include "include/linux/list.h" 655+#include "include/linux/kernel.h" 656+#endif 657+/* ANDROID_CHANGE_END */ 658 659 #include "evlist.h" 660 #include "evsel.h" 661@@ -57,10 +64,23 @@ 662 return NULL; 663 } 664 665+/* ANDROID_CHANGE_BEGIN */ 666+/* 667+ * The string in the literal pool might not be aligned properly. ARM doesn't 668+ * support unaligned loads with NEON registers 669+ */ 670+#if 0 671 static const char *__perf_magic = "PERFFILE"; 672 673+#else 674+static const char const __perf_magic[9] __attribute__ ((aligned (8))) = 675+ "PERFFILE"; 676+#endif 677+/* ANDROID_CHANGE_END */ 678+ 679 #define PERF_MAGIC (*(u64 *)__perf_magic) 680 681+ 682 struct perf_file_attr { 683 struct perf_event_attr attr; 684 struct perf_file_section ids; 685@@ -129,7 +149,13 @@ 686 if (!pos->hit) 687 continue; 688 len = pos->long_name_len + 1; 689+ /* ANDROID_CHANGE_BEGIN */ 690+#ifdef __BIONIC__ 691+ len = KERNEL_ALIGN(len, NAME_ALIGN); 692+#else 693 len = ALIGN(len, NAME_ALIGN); 694+#endif 695+ /* ANDROID_CHANGE_BEGIN */ 696 memset(&b, 0, sizeof(b)); 697 memcpy(&b.build_id, pos->build_id, sizeof(pos->build_id)); 698 b.pid = pid; 699@@ -705,7 +731,13 @@ 700 struct perf_session *session = container_of(header, struct perf_session, header); 701 struct { 702 struct perf_event_header header; 703+ /* ANDROID_CHANGE_BEGIN */ 704+#ifdef __BIONIC__ 705+ u8 build_id[KERNEL_ALIGN(BUILD_ID_SIZE, sizeof(u64))]; 706+#else 707 u8 build_id[ALIGN(BUILD_ID_SIZE, sizeof(u64))]; 708+#endif 709+ /* ANDROID_CHANGE_END */ 710 char filename[0]; 711 } old_bev; 712 struct build_id_event bev; 713@@ -950,7 +982,13 @@ 714 int err; 715 716 size = sizeof(struct perf_event_attr); 717+ /* ANDROID_CHANGE_BEGIN */ 718+#ifdef __BIONIC__ 719+ size = KERNEL_ALIGN(size, sizeof(u64)); 720+#else 721 size = ALIGN(size, sizeof(u64)); 722+#endif 723+ /* ANDROID_CHANGE_END */ 724 size += sizeof(struct perf_event_header); 725 size += ids * sizeof(u64); 726 727@@ -1046,7 +1084,13 @@ 728 729 ev.event_type.header.type = PERF_RECORD_HEADER_EVENT_TYPE; 730 size = strlen(name); 731+ /* ANDROID_CHANGE_BEGIN */ 732+#ifdef __BIONIC__ 733+ size = KERNEL_ALIGN(size, sizeof(u64)); 734+#else 735 size = ALIGN(size, sizeof(u64)); 736+#endif 737+ /* ANDROID_CHANGE_END */ 738 ev.event_type.header.size = sizeof(ev.event_type) - 739 (sizeof(ev.event_type.event_type.name) - size); 740 741@@ -1100,7 +1144,13 @@ 742 size = read_tracing_data_size(fd, &evlist->entries); 743 if (size <= 0) 744 return size; 745+ /* ANDROID_CHANGE_BEGIN */ 746+#ifdef __BIONIC__ 747+ aligned_size = KERNEL_ALIGN(size, sizeof(u64)); 748+#else 749 aligned_size = ALIGN(size, sizeof(u64)); 750+#endif 751+ /* ANDROID_CHANGE_END */ 752 padding = aligned_size - size; 753 ev.tracing_data.header.size = sizeof(ev.tracing_data); 754 ev.tracing_data.size = aligned_size; 755@@ -1126,7 +1176,13 @@ 756 757 size_read = trace_report(session->fd, session->repipe); 758 759+ /* ANDROID_CHANGE_BEGIN */ 760+#ifdef __BIONIC__ 761+ padding = KERNEL_ALIGN(size_read, sizeof(u64)) - size_read; 762+#else 763 padding = ALIGN(size_read, sizeof(u64)) - size_read; 764+#endif 765+ /* ANDROID_CHANGE_END */ 766 767 if (read(session->fd, buf, padding) < 0) 768 die("reading input file"); 769@@ -1157,7 +1213,13 @@ 770 memset(&ev, 0, sizeof(ev)); 771 772 len = pos->long_name_len + 1; 773+ /* ANDROID_CHANGE_BEGIN */ 774+#ifdef __BIONIC__ 775+ len = KERNEL_ALIGN(len, NAME_ALIGN); 776+#else 777 len = ALIGN(len, NAME_ALIGN); 778+#endif 779+ /* ANDROID_CHANGE_END */ 780 memcpy(&ev.build_id.build_id, pos->build_id, sizeof(pos->build_id)); 781 ev.build_id.header.type = PERF_RECORD_HEADER_BUILD_ID; 782 ev.build_id.header.misc = misc; 783diff -r -u -d /home/bccheng/local/kernels/crespo-ics/tools/perf/util/header.h ./util/header.h 784--- /home/bccheng/local/kernels/crespo-ics/tools/perf/util/header.h 2011-12-09 13:14:50.000000000 -0800 785+++ ./util/header.h 2012-03-22 17:08:10.000000000 -0700 786@@ -1,13 +1,25 @@ 787 #ifndef __PERF_HEADER_H 788 #define __PERF_HEADER_H 789 790+/* ANDROID_CHANGE_BEGIN */ 791+#if 0 792 #include "../../../include/linux/perf_event.h" 793+#else 794+#include "include/linux/added/perf_event.h" 795+#endif 796+/* ANDROID_CHANGE_END */ 797 #include <sys/types.h> 798 #include <stdbool.h> 799 #include "types.h" 800 #include "event.h" 801 802+/* ANDROID_CHANGE_BEGIN */ 803+#if 0 804 #include <linux/bitmap.h> 805+#else 806+#include "include/linux/bitmap.h" 807+#endif 808+/* ANDROID_CHANGE_END */ 809 810 enum { 811 HEADER_TRACE_INFO = 1, 812diff -r -u -d /home/bccheng/local/kernels/crespo-ics/tools/perf/util/help.c ./util/help.c 813--- /home/bccheng/local/kernels/crespo-ics/tools/perf/util/help.c 2011-12-09 13:14:50.000000000 -0800 814+++ ./util/help.c 2012-03-22 17:08:10.000000000 -0700 815@@ -74,12 +74,18 @@ 816 { 817 int cols = 1, rows; 818 int space = longest + 1; /* min 1 SP between words */ 819- struct winsize win; 820 int max_cols; 821 int i, j; 822+ /* ANDROID_CHANGE_BEGIN */ 823+#ifdef __BIONIC__ 824+ max_cols = 75; 825+#else 826+ struct winsize win; 827 828 get_term_dimensions(&win); 829 max_cols = win.ws_col - 1; /* don't print *on* the edge */ 830+#endif 831+ /* ANDROID_CHANGE_END */ 832 833 if (space < max_cols) 834 cols = max_cols / space; 835diff -r -u -d /home/bccheng/local/kernels/crespo-ics/tools/perf/util/hweight.c ./util/hweight.c 836--- /home/bccheng/local/kernels/crespo-ics/tools/perf/util/hweight.c 2011-12-09 13:14:50.000000000 -0800 837+++ ./util/hweight.c 2012-03-22 17:08:10.000000000 -0700 838@@ -1,4 +1,10 @@ 839+/* ANDROID_CHANGE_BEGIN */ 840+#if 0 841 #include <linux/bitops.h> 842+#else 843+#include "include/linux/bitops.h" 844+#endif 845+/* ANDROID_CHANGE_END */ 846 847 /** 848 * hweightN - returns the hamming weight of a N-bit word 849diff -r -u -d /home/bccheng/local/kernels/crespo-ics/tools/perf/util/include/asm/byteorder.h ./util/include/asm/byteorder.h 850--- /home/bccheng/local/kernels/crespo-ics/tools/perf/util/include/asm/byteorder.h 2011-12-09 13:14:50.000000000 -0800 851+++ ./util/include/asm/byteorder.h 2012-03-22 17:08:10.000000000 -0700 852@@ -1,2 +1,8 @@ 853 #include <asm/types.h> 854+/* ANDROID_CHANGE_BEGIN */ 855+#if 0 856 #include "../../../../include/linux/swab.h" 857+#else 858+#include <linux/swab.h> 859+#endif 860+/* ANDROID_CHANGE_END */ 861diff -r -u -d /home/bccheng/local/kernels/crespo-ics/tools/perf/util/include/linux/bitmap.h ./util/include/linux/bitmap.h 862--- /home/bccheng/local/kernels/crespo-ics/tools/perf/util/include/linux/bitmap.h 2011-12-09 13:14:50.000000000 -0800 863+++ ./util/include/linux/bitmap.h 2012-03-22 17:08:10.000000000 -0700 864@@ -2,7 +2,13 @@ 865 #define _PERF_BITOPS_H 866 867 #include <string.h> 868+/* ANDROID_CHANGE_BEGIN */ 869+#if 0 870 #include <linux/bitops.h> 871+#else 872+#include "bitops.h" 873+#endif 874+/* ANDROID_CHANGE_END */ 875 876 int __bitmap_weight(const unsigned long *bitmap, int bits); 877 878diff -r -u -d /home/bccheng/local/kernels/crespo-ics/tools/perf/util/include/linux/bitops.h ./util/include/linux/bitops.h 879--- /home/bccheng/local/kernels/crespo-ics/tools/perf/util/include/linux/bitops.h 2011-12-09 13:14:50.000000000 -0800 880+++ ./util/include/linux/bitops.h 2012-03-22 17:08:10.000000000 -0700 881@@ -1,9 +1,20 @@ 882 #ifndef _PERF_LINUX_BITOPS_H_ 883 #define _PERF_LINUX_BITOPS_H_ 884 885+/* ANDROID_CHANGE_BEGIN */ 886+#if 0 887 #include <linux/kernel.h> 888 #include <linux/compiler.h> 889 #include <asm/hweight.h> 890+#else 891+#include "kernel.h" 892+#include "compiler.h" 893+#include "../asm/hweight.h" 894+#if defined(__BIONIC__) 895+#define __WORDSIZE 32 896+#endif 897+#endif 898+/* ANDROID_CHANGE_END */ 899 900 #define BITS_PER_LONG __WORDSIZE 901 #define BITS_PER_BYTE 8 902diff -r -u -d /home/bccheng/local/kernels/crespo-ics/tools/perf/util/include/linux/compiler.h ./util/include/linux/compiler.h 903--- /home/bccheng/local/kernels/crespo-ics/tools/perf/util/include/linux/compiler.h 2011-12-09 13:14:50.000000000 -0800 904+++ ./util/include/linux/compiler.h 2012-03-22 17:08:10.000000000 -0700 905@@ -7,6 +7,10 @@ 906 #define __user 907 #define __attribute_const__ 908 909+/* ANDROID_CHANGE_BEGIN */ 910+#ifndef __BIONIC__ 911 #define __used __attribute__((__unused__)) 912+#endif 913+/* ANDROID_CHANGE_END */ 914 915 #endif 916diff -r -u -d /home/bccheng/local/kernels/crespo-ics/tools/perf/util/include/linux/hash.h ./util/include/linux/hash.h 917--- /home/bccheng/local/kernels/crespo-ics/tools/perf/util/include/linux/hash.h 2011-12-09 13:14:50.000000000 -0800 918+++ ./util/include/linux/hash.h 2012-03-22 17:08:10.000000000 -0700 919@@ -1,5 +1,10 @@ 920-#include "../../../../include/linux/hash.h" 921- 922 #ifndef PERF_HASH_H 923 #define PERF_HASH_H 924+/* ANDROID_CHANGE_BEGIN */ 925+#if 0 926+#include "../../../../include/linux/hash.h" 927+#else 928+#include "added/hash.h" 929+#endif 930+/* ANDROID_CHANGE_END */ 931 #endif 932diff -r -u -d /home/bccheng/local/kernels/crespo-ics/tools/perf/util/include/linux/kernel.h ./util/include/linux/kernel.h 933--- /home/bccheng/local/kernels/crespo-ics/tools/perf/util/include/linux/kernel.h 2011-12-09 13:14:50.000000000 -0800 934+++ ./util/include/linux/kernel.h 2012-03-22 17:08:10.000000000 -0700 935@@ -8,7 +8,14 @@ 936 937 #define DIV_ROUND_UP(n,d) (((n) + (d) - 1) / (d)) 938 939+/* ANDROID_CHANGE_BEGIN */ 940+#ifdef __BIONIC__ 941+/* Bionic defines ALIGN in sys/param.h */ 942+#define KERNEL_ALIGN(x,a) __ALIGN_MASK(x,(typeof(x))(a)-1) 943+#else 944 #define ALIGN(x,a) __ALIGN_MASK(x,(typeof(x))(a)-1) 945+#endif 946+/* ANDROID_CHANGE_END */ 947 #define __ALIGN_MASK(x,mask) (((x)+(mask))&~(mask)) 948 949 #ifndef offsetof 950@@ -28,7 +35,11 @@ 951 (type *)((char *)__mptr - offsetof(type, member)); }) 952 #endif 953 954+/* ANDROID_CHANGE_BEGIN */ 955+#ifndef __BIONIC__ 956 #define BUILD_BUG_ON_ZERO(e) (sizeof(struct { int:-!!(e); })) 957+#endif 958+/* ANDROID_CHANGE_END */ 959 960 #ifndef max 961 #define max(x, y) ({ \ 962diff -r -u -d /home/bccheng/local/kernels/crespo-ics/tools/perf/util/include/linux/list.h ./util/include/linux/list.h 963--- /home/bccheng/local/kernels/crespo-ics/tools/perf/util/include/linux/list.h 2011-12-09 13:14:50.000000000 -0800 964+++ ./util/include/linux/list.h 2012-03-22 17:08:10.000000000 -0700 965@@ -1,7 +1,15 @@ 966+/* ANDROID_CHANGE_BEGIN */ 967+#if 0 968 #include <linux/kernel.h> 969 #include <linux/prefetch.h> 970- 971 #include "../../../../include/linux/list.h" 972+#else 973+#include "kernel.h" 974+#include "prefetch.h" 975+#include "types.h" 976+#include "added/list.h" 977+#endif 978+/* ANDROID_CHANGE_END */ 979 980 #ifndef PERF_LIST_H 981 #define PERF_LIST_H 982diff -r -u -d /home/bccheng/local/kernels/crespo-ics/tools/perf/util/include/linux/poison.h ./util/include/linux/poison.h 983--- /home/bccheng/local/kernels/crespo-ics/tools/perf/util/include/linux/poison.h 2011-12-09 13:14:50.000000000 -0800 984+++ ./util/include/linux/poison.h 2012-03-22 17:08:10.000000000 -0700 985@@ -1 +1,7 @@ 986+/* ANDROID_CHANGE_BEGIN */ 987+#if 0 988 #include "../../../../include/linux/poison.h" 989+#else 990+#include "added/poison.h" 991+#endif 992+/* ANDROID_CHANGE_END */ 993diff -r -u -d /home/bccheng/local/kernels/crespo-ics/tools/perf/util/include/linux/rbtree.h ./util/include/linux/rbtree.h 994--- /home/bccheng/local/kernels/crespo-ics/tools/perf/util/include/linux/rbtree.h 2011-12-09 13:14:50.000000000 -0800 995+++ ./util/include/linux/rbtree.h 2012-03-22 17:08:10.000000000 -0700 996@@ -1 +1,7 @@ 997+/* ANDROID_CHANGE_BEGIN */ 998+#if 0 999 #include "../../../../include/linux/rbtree.h" 1000+#else 1001+#include "added/rbtree.h" 1002+#endif 1003+/* ANDROID_CHANGE_END */ 1004diff -r -u -d /home/bccheng/local/kernels/crespo-ics/tools/perf/util/map.h ./util/map.h 1005--- /home/bccheng/local/kernels/crespo-ics/tools/perf/util/map.h 2011-12-09 13:14:50.000000000 -0800 1006+++ ./util/map.h 2012-03-22 17:08:10.000000000 -0700 1007@@ -1,9 +1,17 @@ 1008 #ifndef __PERF_MAP_H 1009 #define __PERF_MAP_H 1010 1011+/* ANDROID_CHANGE_BEGIN */ 1012+#if 0 1013 #include <linux/compiler.h> 1014 #include <linux/list.h> 1015 #include <linux/rbtree.h> 1016+#else 1017+#include "include/linux/compiler.h" 1018+#include "include/linux/list.h" 1019+#include "include/linux/rbtree.h" 1020+#endif 1021+/* ANDROID_CHANGE_END */ 1022 #include <stdio.h> 1023 #include <stdbool.h> 1024 #include "types.h" 1025diff -r -u -d /home/bccheng/local/kernels/crespo-ics/tools/perf/util/parse-events.c ./util/parse-events.c 1026--- /home/bccheng/local/kernels/crespo-ics/tools/perf/util/parse-events.c 2011-12-09 13:14:50.000000000 -0800 1027+++ ./util/parse-events.c 2012-03-22 17:08:10.000000000 -0700 1028@@ -1,4 +1,10 @@ 1029+/* ANDROID_CHANGE_BEGIN */ 1030+#if 0 1031 #include "../../../include/linux/hw_breakpoint.h" 1032+#else 1033+#include "include/linux/added/hw_breakpoint.h" 1034+#endif 1035+/* ANDROID_CHANGE_END */ 1036 #include "util.h" 1037 #include "../perf.h" 1038 #include "evlist.h" 1039diff -r -u -d /home/bccheng/local/kernels/crespo-ics/tools/perf/util/parse-events.h ./util/parse-events.h 1040--- /home/bccheng/local/kernels/crespo-ics/tools/perf/util/parse-events.h 2011-12-09 13:14:50.000000000 -0800 1041+++ ./util/parse-events.h 2012-03-22 17:08:10.000000000 -0700 1042@@ -4,7 +4,13 @@ 1043 * Parse symbolic events/counts passed in as options: 1044 */ 1045 1046+/* ANDROID_CHANGE_BEGIN */ 1047+#if 0 1048 #include "../../../include/linux/perf_event.h" 1049+#else 1050+#include "include/linux/added/perf_event.h" 1051+#endif 1052+/* ANDROID_CHANGE_END */ 1053 1054 struct list_head; 1055 struct perf_evsel; 1056diff -r -u -d /home/bccheng/local/kernels/crespo-ics/tools/perf/util/probe-finder.c ./util/probe-finder.c 1057--- /home/bccheng/local/kernels/crespo-ics/tools/perf/util/probe-finder.c 2011-12-09 13:14:50.000000000 -0800 1058+++ ./util/probe-finder.c 2012-03-22 17:08:10.000000000 -0700 1059@@ -31,9 +31,16 @@ 1060 #include <string.h> 1061 #include <stdarg.h> 1062 #include <ctype.h> 1063+/* ANDROID_CHANGE_BEGIN */ 1064+#if 0 1065 #include <dwarf-regs.h> 1066- 1067 #include <linux/bitops.h> 1068+#else 1069+#include "include/dwarf-regs.h" 1070+#include "include/linux/bitops.h" 1071+#endif 1072+/* ANDROID_CHANGE_END */ 1073+ 1074 #include "event.h" 1075 #include "debug.h" 1076 #include "util.h" 1077@@ -2061,4 +2068,3 @@ 1078 dwfl_end(dwfl); 1079 return (ret < 0) ? ret : lf.found; 1080 } 1081- 1082diff -r -u -d /home/bccheng/local/kernels/crespo-ics/tools/perf/util/probe-finder.h ./util/probe-finder.h 1083--- /home/bccheng/local/kernels/crespo-ics/tools/perf/util/probe-finder.h 2011-12-09 13:14:50.000000000 -0800 1084+++ ./util/probe-finder.h 2012-03-22 17:08:10.000000000 -0700 1085@@ -33,10 +33,20 @@ 1086 struct variable_list **vls, int max_points, 1087 bool externs); 1088 1089+/* ANDROID_CHANGE_BEGIN */ 1090+#if 0 1091 #include <dwarf.h> 1092 #include <elfutils/libdw.h> 1093 #include <elfutils/libdwfl.h> 1094 #include <elfutils/version.h> 1095+#else 1096+/* These headers live under the external/elfutils */ 1097+#include <dwarf.h> 1098+#include <libdw.h> 1099+#include <libdwfl.h> 1100+#include <version.h> 1101+#endif 1102+/* ANDROID_CHANGE_END */ 1103 1104 struct probe_finder { 1105 struct perf_probe_event *pev; /* Target probe event */ 1106diff -r -u -d /home/bccheng/local/kernels/crespo-ics/tools/perf/util/pstack.c ./util/pstack.c 1107--- /home/bccheng/local/kernels/crespo-ics/tools/perf/util/pstack.c 2011-12-09 13:14:50.000000000 -0800 1108+++ ./util/pstack.c 2012-03-22 17:08:09.000000000 -0700 1109@@ -6,7 +6,13 @@ 1110 1111 #include "util.h" 1112 #include "pstack.h" 1113+/* ANDROID_CHANGE_BEGIN */ 1114+#if 0 1115 #include <linux/kernel.h> 1116+#else 1117+#include "util/include/linux/kernel.h" 1118+#endif 1119+/* ANDROID_CHANGE_END */ 1120 #include <stdlib.h> 1121 1122 struct pstack { 1123diff -r -u -d /home/bccheng/local/kernels/crespo-ics/tools/perf/util/session.h ./util/session.h 1124--- /home/bccheng/local/kernels/crespo-ics/tools/perf/util/session.h 2011-12-09 13:14:50.000000000 -0800 1125+++ ./util/session.h 2012-03-22 17:08:10.000000000 -0700 1126@@ -6,8 +6,15 @@ 1127 #include "header.h" 1128 #include "symbol.h" 1129 #include "thread.h" 1130+/* ANDROID_CHANGE_BEGIN */ 1131+#if 0 1132 #include <linux/rbtree.h> 1133 #include "../../../include/linux/perf_event.h" 1134+#else 1135+#include "include/linux/rbtree.h" 1136+#include "include/linux/added/perf_event.h" 1137+#endif 1138+/* ANDROID_CHANGE_END */ 1139 1140 struct sample_queue; 1141 struct ip_callchain; 1142diff -r -u -d /home/bccheng/local/kernels/crespo-ics/tools/perf/util/sort.h ./util/sort.h 1143--- /home/bccheng/local/kernels/crespo-ics/tools/perf/util/sort.h 2011-12-09 13:14:50.000000000 -0800 1144+++ ./util/sort.h 2012-03-22 17:08:10.000000000 -0700 1145@@ -5,9 +5,17 @@ 1146 #include "util.h" 1147 1148 #include "color.h" 1149+/* ANDROID_CHANGE_BEGIN */ 1150+#if 0 1151 #include <linux/list.h> 1152 #include "cache.h" 1153 #include <linux/rbtree.h> 1154+#else 1155+#include "include/linux/list.h" 1156+#include "cache.h" 1157+#include "include/linux/rbtree.h" 1158+#endif 1159+/* ANDROID_CHANGE_END */ 1160 #include "symbol.h" 1161 #include "string.h" 1162 #include "callchain.h" 1163diff -r -u -d /home/bccheng/local/kernels/crespo-ics/tools/perf/util/strfilter.h ./util/strfilter.h 1164--- /home/bccheng/local/kernels/crespo-ics/tools/perf/util/strfilter.h 2011-12-09 13:14:50.000000000 -0800 1165+++ ./util/strfilter.h 2012-03-22 17:08:09.000000000 -0700 1166@@ -2,7 +2,13 @@ 1167 #define __PERF_STRFILTER_H 1168 /* General purpose glob matching filter */ 1169 1170+/* ANDROID_CHANGE_BEGIN */ 1171+#if 0 1172 #include <linux/list.h> 1173+#else 1174+#include "util/include/linux/list.h" 1175+#endif 1176+/* ANDROID_CHANGE_END */ 1177 #include <stdbool.h> 1178 1179 /* A node of string filter */ 1180diff -r -u -d /home/bccheng/local/kernels/crespo-ics/tools/perf/util/strlist.h ./util/strlist.h 1181--- /home/bccheng/local/kernels/crespo-ics/tools/perf/util/strlist.h 2011-12-09 13:14:50.000000000 -0800 1182+++ ./util/strlist.h 2012-03-22 17:08:10.000000000 -0700 1183@@ -1,7 +1,14 @@ 1184 #ifndef __PERF_STRLIST_H 1185 #define __PERF_STRLIST_H 1186 1187+/* ANDROID_CHANGE_BEGIN */ 1188+#if 0 1189 #include <linux/rbtree.h> 1190+#else 1191+#include "include/linux/kernel.h" 1192+#include "include/linux/rbtree.h" 1193+#endif 1194+/* ANDROID_CHANGE_END */ 1195 #include <stdbool.h> 1196 1197 struct str_node { 1198diff -r -u -d /home/bccheng/local/kernels/crespo-ics/tools/perf/util/symbol.c ./util/symbol.c 1199--- /home/bccheng/local/kernels/crespo-ics/tools/perf/util/symbol.c 2011-12-09 13:14:50.000000000 -0800 1200+++ ./util/symbol.c 2012-03-22 17:08:10.000000000 -0700 1201@@ -31,6 +31,12 @@ 1202 #define NT_GNU_BUILD_ID 3 1203 #endif 1204 1205+/* ANDROID_CHANGE_BEGIN */ 1206+#ifdef __BIONIC__ 1207+#define roundup(x, y) ((((x) + ((y) - 1)) / (y)) * (y)) 1208+#endif 1209+/* ANDROID_CHANGE_END */ 1210+ 1211 static bool dso__build_id_equal(const struct dso *dso, u8 *build_id); 1212 static int elf_read_build_id(Elf *elf, void *bf, size_t size); 1213 static void dsos__add(struct list_head *head, struct dso *dso); 1214@@ -2465,7 +2471,13 @@ 1215 if (symbol_conf.initialized) 1216 return 0; 1217 1218+ /* ANDROID_CHANGE_BEGIN */ 1219+#if __BIONIC__ 1220+ symbol_conf.priv_size = KERNEL_ALIGN(symbol_conf.priv_size, sizeof(u64)); 1221+#else 1222 symbol_conf.priv_size = ALIGN(symbol_conf.priv_size, sizeof(u64)); 1223+#endif 1224+ /* ANDROID_CHANGE_END */ 1225 1226 elf_version(EV_CURRENT); 1227 if (symbol_conf.sort_by_name) 1228diff -r -u -d /home/bccheng/local/kernels/crespo-ics/tools/perf/util/symbol.h ./util/symbol.h 1229--- /home/bccheng/local/kernels/crespo-ics/tools/perf/util/symbol.h 2011-12-09 13:14:50.000000000 -0800 1230+++ ./util/symbol.h 2012-03-22 17:08:10.000000000 -0700 1231@@ -5,8 +5,15 @@ 1232 #include <stdbool.h> 1233 #include <stdint.h> 1234 #include "map.h" 1235+/* ANDROID_CHANGE_BEGIN */ 1236+#if 0 1237 #include <linux/list.h> 1238 #include <linux/rbtree.h> 1239+#else 1240+#include "include/linux/list.h" 1241+#include "include/linux/rbtree.h" 1242+#endif 1243+/* ANDROID_CHANGE_END */ 1244 #include <stdio.h> 1245 1246 #ifdef HAVE_CPLUS_DEMANGLE 1247diff -r -u -d /home/bccheng/local/kernels/crespo-ics/tools/perf/util/thread.h ./util/thread.h 1248--- /home/bccheng/local/kernels/crespo-ics/tools/perf/util/thread.h 2011-12-09 13:14:50.000000000 -0800 1249+++ ./util/thread.h 2012-03-22 17:08:10.000000000 -0700 1250@@ -1,7 +1,13 @@ 1251 #ifndef __PERF_THREAD_H 1252 #define __PERF_THREAD_H 1253 1254+/* ANDROID_CHANGE_BEGIN */ 1255+#if 0 1256 #include <linux/rbtree.h> 1257+#else 1258+#include "include/linux/rbtree.h" 1259+#endif 1260+/* ANDROID_CHANGE_END */ 1261 #include <unistd.h> 1262 #include "symbol.h" 1263 1264diff -r -u -d /home/bccheng/local/kernels/crespo-ics/tools/perf/util/top.h ./util/top.h 1265--- /home/bccheng/local/kernels/crespo-ics/tools/perf/util/top.h 2011-12-09 13:14:50.000000000 -0800 1266+++ ./util/top.h 2012-03-22 17:08:10.000000000 -0700 1267@@ -5,8 +5,15 @@ 1268 #include "../perf.h" 1269 #include <stddef.h> 1270 #include <pthread.h> 1271+/* ANDROID_CHANGE_BEGIN */ 1272+#if 0 1273 #include <linux/list.h> 1274 #include <linux/rbtree.h> 1275+#else 1276+#include "include/linux/list.h" 1277+#include "include/linux/rbtree.h" 1278+#endif 1279+/* ANDROID_CHANGE_END */ 1280 1281 struct perf_evlist; 1282 struct perf_evsel; 1283diff -r -u -d /home/bccheng/local/kernels/crespo-ics/tools/perf/util/trace-event.h ./util/trace-event.h 1284--- /home/bccheng/local/kernels/crespo-ics/tools/perf/util/trace-event.h 2011-12-09 13:14:50.000000000 -0800 1285+++ ./util/trace-event.h 2012-03-22 17:08:10.000000000 -0700 1286@@ -5,7 +5,11 @@ 1287 #include "parse-events.h" 1288 #include "session.h" 1289 1290+/* ANDROID_CHANGE_BEGIN */ 1291+#ifndef __BIONIC__ 1292 #define __unused __attribute__((unused)) 1293+#endif 1294+/* ANDROID_CHANGE_END */ 1295 1296 1297 #ifndef PAGE_MASK 1298diff -r -u -d /home/bccheng/local/kernels/crespo-ics/tools/perf/util/trace-event-info.c ./util/trace-event-info.c 1299--- /home/bccheng/local/kernels/crespo-ics/tools/perf/util/trace-event-info.c 2011-12-09 13:14:50.000000000 -0800 1300+++ ./util/trace-event-info.c 2012-03-22 17:08:10.000000000 -0700 1301@@ -34,8 +34,15 @@ 1302 #include <ctype.h> 1303 #include <errno.h> 1304 #include <stdbool.h> 1305+/* ANDROID_CHANGE_BEGIN */ 1306+#if 0 1307 #include <linux/list.h> 1308 #include <linux/kernel.h> 1309+#else 1310+#include "include/linux/list.h" 1311+#include "include/linux/kernel.h" 1312+#endif 1313+/* ANDROID_CHANGE_END */ 1314 1315 #include "../perf.h" 1316 #include "trace-event.h" 1317diff -r -u -d /home/bccheng/local/kernels/crespo-ics/tools/perf/util/util.h ./util/util.h 1318--- /home/bccheng/local/kernels/crespo-ics/tools/perf/util/util.h 2011-12-09 13:14:50.000000000 -0800 1319+++ ./util/util.h 2012-03-22 17:08:09.000000000 -0700 1320@@ -1,7 +1,11 @@ 1321 #ifndef GIT_COMPAT_UTIL_H 1322 #define GIT_COMPAT_UTIL_H 1323 1324+/* ANDROID_CHANGE_BEGIN */ 1325+#ifndef __BIONIC__ 1326 #define _FILE_OFFSET_BITS 64 1327+#endif 1328+/* ANDROID_CHANGE_END */ 1329 1330 #ifndef FLEX_ARRAY 1331 /* 1332@@ -58,6 +62,11 @@ 1333 #include <limits.h> 1334 #include <sys/param.h> 1335 #include <sys/types.h> 1336+/* ANDROID_CHANGE_BEGIN */ 1337+#ifdef __BIONIC__ 1338+#include <pthread.h> 1339+#endif 1340+/* ANDROID_CHANGE_END */ 1341 #include <dirent.h> 1342 #include <sys/time.h> 1343 #include <time.h> 1344@@ -77,9 +86,23 @@ 1345 #include <netdb.h> 1346 #include <pwd.h> 1347 #include <inttypes.h> 1348+ 1349+/* ANDROID_CHANGE_BEGIN */ 1350+#if 0 1351 #include "../../../include/linux/magic.h" 1352+#else 1353+#include <linux/magic.h> 1354+#endif 1355+/* ANDROID_CHANGE_END */ 1356+ 1357 #include "types.h" 1358+ 1359+/* ANDROID_CHANGE_BEGIN */ 1360+#ifndef __BIONIC__ 1361 #include <sys/ttydefaults.h> 1362+#endif 1363+/* ANDROID_CHANGE_END */ 1364+ 1365 1366 extern const char *graph_line; 1367 extern const char *graph_dotted_line; 1368@@ -135,7 +158,13 @@ 1369 extern int error(const char *err, ...) __attribute__((format (printf, 1, 2))); 1370 extern void warning(const char *err, ...) __attribute__((format (printf, 1, 2))); 1371 1372+/* ANDROID_CHANGE_BEGIN */ 1373+#if 0 1374 #include "../../../include/linux/stringify.h" 1375+#else 1376+#include "util/include/linux/added/stringify.h" 1377+#endif 1378+/* ANDROID_CHANGE_END */ 1379 1380 #define DIE_IF(cnd) \ 1381 do { if (cnd) \ 1382