--- pfmon-3.2-060926/pfmon/smpl_mod/detailed_ia64_old_smpl.c.orig 2006-09-26 08:26:37.000000000 -0400 +++ pfmon-3.2-060926/pfmon/smpl_mod/detailed_ia64_old_smpl.c 2007-03-07 16:41:10.000000000 -0500 @@ -80,6 +80,7 @@ ent->set); pfmon_print_address(fp, hash_desc, &options.primary_syms, PFMON_TEXT_SYMBOL, ent->ip); + fputc('\n', fp); reg = (unsigned long *)(ent+1); --- pfmon-3.2-060926/pfmon/pfmon_os.c.orig 2006-09-26 08:26:37.000000000 -0400 +++ pfmon-3.2-060926/pfmon/pfmon_os.c 2007-03-07 16:41:10.000000000 -0500 @@ -237,8 +237,13 @@ memset(&load_args, 0, sizeof(load_args)); +#ifdef __ia64__ + /* in v2.0 system-wide the load_pid must be the thread id of caller */ + if (options.opt_is22 == 0 && options.opt_syst_wide) + tid = gettid(); +#endif + load_args.load_pid = tid; - COND_RETURN(perfmonctl(fd, PFM_LOAD_CONTEXT, &load_args, 1)); ret = pfm_load_context(fd, &load_args); --- pfmon-3.2-060926/pfmon/pfmon_smpl_dfl.c.orig 2006-09-26 08:26:37.000000000 -0400 +++ pfmon-3.2-060926/pfmon/pfmon_smpl_dfl.c 2007-03-07 16:43:43.000000000 -0500 @@ -138,7 +138,10 @@ { static pfm_uuid_t dfl_smpl_uuid = PFM_DFL_SMPL_UUID; - return !memcmp(options.smpl_mod->uuid, dfl_smpl_uuid, sizeof(pfm_uuid_t)); + if (options.opt_is22) + return !memcmp(options.smpl_mod->uuid, dfl_smpl_uuid, sizeof(pfm_uuid_t)); + + return 0; } /*