Author: fabient
Date: Mon Aug  9 14:33:25 2010
New Revision: 211101
URL: http://svn.freebsd.org/changeset/base/211101

Log:
  MFC r210797:
  
  - Do not use the runtime mask when logfile is specified.
  - Revert the fix on rtld path that is not necessary.

Modified:
  stable/7/usr.sbin/pmcstat/pmcstat.c
  stable/7/usr.sbin/pmcstat/pmcstat.h
  stable/7/usr.sbin/pmcstat/pmcstat_log.c
Directory Properties:
  stable/7/usr.sbin/pmcstat/   (props changed)

Modified: stable/7/usr.sbin/pmcstat/pmcstat.c
==============================================================================
--- stable/7/usr.sbin/pmcstat/pmcstat.c Mon Aug  9 14:32:45 2010        
(r211100)
+++ stable/7/usr.sbin/pmcstat/pmcstat.c Mon Aug  9 14:33:25 2010        
(r211101)
@@ -641,6 +641,7 @@ main(int argc, char **argv)
                        else
                                cpumask = pmcstat_get_cpumask(optarg);
 
+                       args.pa_flags    |= FLAGS_HAS_CPUMASK;
                        args.pa_required |= FLAG_HAS_SYSTEM_PMCS;
                        break;
 
@@ -884,6 +885,13 @@ main(int argc, char **argv)
        args.pa_argc = (argc -= optind);
        args.pa_argv = (argv += optind);
 
+       /* If we read from logfile and no specified CPU mask use
+        * the maximum CPU count.
+        */
+       if ((args.pa_flags & FLAG_READ_LOGFILE) &&
+           (args.pa_flags & FLAGS_HAS_CPUMASK) == 0)
+               cpumask = 0xffffffff;
+
        args.pa_cpumask = cpumask; /* For selecting CPUs using -R. */
 
        if (argc)       /* command line present */

Modified: stable/7/usr.sbin/pmcstat/pmcstat.h
==============================================================================
--- stable/7/usr.sbin/pmcstat/pmcstat.h Mon Aug  9 14:32:45 2010        
(r211100)
+++ stable/7/usr.sbin/pmcstat/pmcstat.h Mon Aug  9 14:33:25 2010        
(r211101)
@@ -51,6 +51,7 @@
 #define        FLAG_DO_ANNOTATE                0x00008000      /* -m */
 #define        FLAG_DO_TOP                     0x00010000      /* -T */
 #define        FLAG_DO_ANALYSIS                0x00020000      /* -g or -G or 
-m or -T */
+#define        FLAGS_HAS_CPUMASK               0x00040000      /* -c */
 
 #define        DEFAULT_SAMPLE_COUNT            65536
 #define        DEFAULT_WAIT_INTERVAL           5.0

Modified: stable/7/usr.sbin/pmcstat/pmcstat_log.c
==============================================================================
--- stable/7/usr.sbin/pmcstat/pmcstat_log.c     Mon Aug  9 14:32:45 2010        
(r211100)
+++ stable/7/usr.sbin/pmcstat/pmcstat_log.c     Mon Aug  9 14:33:25 2010        
(r211101)
@@ -609,7 +609,7 @@ pmcstat_image_get_elf_params(struct pmcs
        GElf_Phdr ph;
        GElf_Shdr sh;
        enum pmcstat_image_type image_type;
-       char buffer[PATH_MAX], rtldpath[PATH_MAX];
+       char buffer[PATH_MAX];
 
        assert(image->pi_type == PMCSTAT_IMAGE_UNKNOWN);
 
@@ -689,10 +689,9 @@ pmcstat_image_get_elf_params(struct pmcs
                                            buffer, elf_errmsg(-1));
                                        goto done;
                                }
-                               snprintf(rtldpath, sizeof(rtldpath), "%s%s",
-                                   args.pa_fsroot, elfbase + ph.p_offset);
                                image->pi_dynlinkerpath =
-                                   pmcstat_string_intern(rtldpath);
+                                   pmcstat_string_intern(elfbase +
+                                       ph.p_offset);
                                break;
                        case PT_LOAD:
                                if (ph.p_offset == 0)
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to