aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeff Brown <jeffbrown@google.com>2011-02-02 14:00:44 -0800
committerJeff Brown <jeffbrown@google.com>2011-02-03 17:04:57 -0800
commit7a33c86eb98056ef0570c99e713214f8dc56b6ef (patch)
tree42c2be01c82f40fc93ab80d23c600b79985528dc
parentb415faba7482dd7ee3335f0f1518333554e3da0d (diff)
downloadoprofile-7a33c86eb98056ef0570c99e713214f8dc56b6ef.tar.gz
Sync with oprofile CVS HEAD from Jan 11, 2011.
There have been a few patches to oprofile for newer ARM architectures since 0.9.6. Pruned out irrelevant auto-generated files from the previous dump so this is closer to being a mirror of the actual oprofile repository. Change-Id: I889053d30aae433a199a0a18585c66b88ff8de14
-rw-r--r--ChangeLog204
-rw-r--r--CleanSpec.mk49
-rw-r--r--HACKING206
-rw-r--r--Makefile.in787
-rw-r--r--aclocal.m47257
-rw-r--r--agents/Makefile.am10
-rw-r--r--agents/Makefile.in546
-rw-r--r--agents/jvmpi/Makefile.in521
-rw-r--r--agents/jvmti/Makefile.in522
-rwxr-xr-xcompile142
-rwxr-xr-xconfig.guess1526
-rw-r--r--config.h.in104
-rwxr-xr-xconfig.sub1658
-rwxr-xr-xconfigure27289
-rw-r--r--configure.in14
-rw-r--r--daemon/Makefile.in686
-rw-r--r--daemon/init.c3
-rw-r--r--daemon/liblegacy/Makefile.in510
-rw-r--r--daemon/opd_extended.c14
-rw-r--r--daemon/opd_extended.h9
-rw-r--r--daemon/opd_ibs.c194
-rw-r--r--daemon/opd_ibs.h14
-rw-r--r--daemon/opd_ibs_macro.h71
-rw-r--r--daemon/opd_ibs_trans.c1052
-rw-r--r--daemon/opd_ibs_trans.h12
-rwxr-xr-xdepcomp530
-rw-r--r--doc/CodingStyle137
-rw-r--r--doc/Makefile.in555
-rw-r--r--doc/buffers.diabin0 -> 3470 bytes
-rw-r--r--doc/internals.html2009
-rw-r--r--doc/op-jit-devel.html455
-rw-r--r--doc/opcontrol.1.in14
-rw-r--r--doc/ophelp.xsd57
-rw-r--r--doc/oprofile.1193
-rw-r--r--doc/oprofile.html5373
-rw-r--r--doc/oprofile.xml6
-rw-r--r--events/Makefile.am9
-rw-r--r--events/Makefile.in450
-rw-r--r--events/alpha/ev4/events18
-rw-r--r--events/alpha/ev4/unit_masks4
-rw-r--r--events/alpha/ev5/events49
-rw-r--r--events/alpha/ev5/unit_masks4
-rw-r--r--events/alpha/ev6/events11
-rw-r--r--events/alpha/ev6/unit_masks4
-rw-r--r--events/alpha/ev67/events27
-rw-r--r--events/alpha/ev67/unit_masks4
-rw-r--r--events/alpha/pca56/events2
-rw-r--r--events/alpha/pca56/unit_masks3
-rw-r--r--events/arm/armv7-ca9/events50
-rw-r--r--events/arm/armv7-ca9/unit_masks4
-rw-r--r--events/arm/armv7-common/events22
-rw-r--r--events/arm/armv7-common/unit_masks4
-rw-r--r--events/arm/armv7/events21
-rw-r--r--events/avr32/events27
-rw-r--r--events/avr32/unit_masks4
-rw-r--r--events/i386/arch_perfmon/events10
-rw-r--r--events/i386/arch_perfmon/unit_masks11
-rw-r--r--events/i386/athlon/events27
-rw-r--r--events/i386/athlon/unit_masks11
-rw-r--r--events/i386/atom/events80
-rw-r--r--events/i386/atom/unit_masks120
-rw-r--r--events/i386/core/events115
-rw-r--r--events/i386/core/unit_masks67
-rw-r--r--events/i386/core_2/events137
-rw-r--r--events/i386/core_2/unit_masks195
-rw-r--r--events/i386/core_i7/events6
-rw-r--r--events/i386/core_i7/unit_masks1
-rw-r--r--events/i386/nehalem/events107
-rw-r--r--events/i386/nehalem/unit_masks372
-rw-r--r--events/i386/p4-ht/events25
-rw-r--r--events/i386/p4-ht/unit_masks79
-rw-r--r--events/i386/p4/events44
-rw-r--r--events/i386/p4/unit_masks127
-rw-r--r--events/i386/p6_mobile/events115
-rw-r--r--events/i386/p6_mobile/unit_masks47
-rw-r--r--events/i386/pii/events80
-rw-r--r--events/i386/pii/unit_masks34
-rw-r--r--events/i386/piii/events80
-rw-r--r--events/i386/piii/unit_masks36
-rw-r--r--events/i386/ppro/events70
-rw-r--r--events/i386/ppro/unit_masks13
-rw-r--r--events/i386/westmere/events88
-rw-r--r--events/i386/westmere/unit_masks307
-rw-r--r--events/ia64/ia64/events3
-rw-r--r--events/ia64/ia64/unit_masks4
-rw-r--r--events/ia64/itanium/events5
-rw-r--r--events/ia64/itanium/unit_masks4
-rw-r--r--events/ia64/itanium2/events267
-rw-r--r--events/ia64/itanium2/unit_masks465
-rw-r--r--events/mips/1004K/events173
-rw-r--r--events/mips/1004K/unit_masks5
-rw-r--r--events/mips/20K/events21
-rw-r--r--events/mips/20K/unit_masks5
-rw-r--r--events/mips/24K/events144
-rw-r--r--events/mips/24K/unit_masks5
-rw-r--r--events/mips/25K/events81
-rw-r--r--events/mips/25K/unit_masks5
-rw-r--r--events/mips/34K/events158
-rw-r--r--events/mips/34K/unit_masks5
-rw-r--r--events/mips/5K/events36
-rw-r--r--events/mips/5K/unit_masks5
-rw-r--r--events/mips/74K/events159
-rw-r--r--events/mips/74K/unit_masks5
-rw-r--r--events/mips/loongson2/events34
-rw-r--r--events/mips/loongson2/unit_masks4
-rw-r--r--events/mips/r10000/events36
-rw-r--r--events/mips/r10000/unit_masks5
-rw-r--r--events/mips/r12000/events35
-rw-r--r--events/mips/r12000/unit_masks7
-rw-r--r--events/mips/rm7000/events34
-rw-r--r--events/mips/rm7000/unit_masks5
-rw-r--r--events/mips/rm9000/events32
-rw-r--r--events/mips/rm9000/unit_masks5
-rw-r--r--events/mips/sb1/events73
-rw-r--r--events/mips/sb1/unit_masks5
-rw-r--r--events/mips/vr5432/events14
-rw-r--r--events/mips/vr5432/unit_masks5
-rw-r--r--events/mips/vr5500/events16
-rw-r--r--events/mips/vr5500/unit_masks5
-rw-r--r--events/ppc/7450/events39
-rw-r--r--events/ppc/7450/unit_masks4
-rw-r--r--events/ppc/e300/events40
-rw-r--r--events/ppc/e300/unit_masks4
-rw-r--r--events/ppc/e500/events83
-rw-r--r--events/ppc/e500/unit_masks4
-rw-r--r--events/ppc/e500v2/events83
-rw-r--r--events/ppc/e500v2/unit_masks4
-rw-r--r--events/ppc64/970/event_mappings494
-rw-r--r--events/ppc64/970/events505
-rw-r--r--events/ppc64/970/unit_masks4
-rw-r--r--events/ppc64/970MP/event_mappings519
-rw-r--r--events/ppc64/970MP/events530
-rw-r--r--events/ppc64/970MP/unit_masks9
-rw-r--r--events/ppc64/cell-be/events517
-rw-r--r--events/ppc64/cell-be/unit_masks137
-rw-r--r--events/ppc64/ibm-compat-v1/event_mappings82
-rw-r--r--events/ppc64/ibm-compat-v1/events91
-rw-r--r--events/ppc64/ibm-compat-v1/unit_masks9
-rw-r--r--events/ppc64/pa6t/event_mappings48
-rw-r--r--events/ppc64/pa6t/events52
-rw-r--r--events/ppc64/pa6t/unit_masks4
-rw-r--r--events/ppc64/power4/event_mappings634
-rw-r--r--events/ppc64/power4/events645
-rw-r--r--events/ppc64/power4/unit_masks5
-rw-r--r--events/ppc64/power5++/event_mappings1140
-rw-r--r--events/ppc64/power5++/events1151
-rw-r--r--events/ppc64/power5++/unit_masks4
-rw-r--r--events/ppc64/power5+/event_mappings1232
-rw-r--r--events/ppc64/power5+/events1242
-rw-r--r--events/ppc64/power5+/unit_masks4
-rw-r--r--events/ppc64/power5/event_mappings1192
-rw-r--r--events/ppc64/power5/events1202
-rw-r--r--events/ppc64/power5/unit_masks4
-rw-r--r--events/ppc64/power6/event_mappings1201
-rw-r--r--events/ppc64/power6/events1211
-rw-r--r--events/ppc64/power6/unit_masks9
-rw-r--r--events/ppc64/power7/event_mappings2020
-rw-r--r--events/ppc64/power7/events2027
-rw-r--r--events/ppc64/power7/unit_masks9
-rw-r--r--events/rtc/events3
-rw-r--r--events/rtc/unit_masks4
-rw-r--r--events/x86-64/family10/events241
-rw-r--r--events/x86-64/family10/unit_masks374
-rw-r--r--events/x86-64/family11h/events132
-rw-r--r--events/x86-64/family11h/unit_masks220
-rw-r--r--events/x86-64/family12h/events23
-rw-r--r--events/x86-64/family12h/unit_masks30
-rw-r--r--events/x86-64/family14h/events23
-rw-r--r--events/x86-64/family14h/unit_masks30
-rw-r--r--events/x86-64/family15h/events16
-rw-r--r--events/x86-64/family15h/unit_masks16
-rw-r--r--events/x86-64/hammer/events125
-rw-r--r--events/x86-64/hammer/unit_masks186
-rw-r--r--gui/Makefile.in669
-rw-r--r--gui/ui/Makefile.in493
-rwxr-xr-xinstall-sh323
-rw-r--r--libabi/Makefile.in677
-rw-r--r--libabi/opimport.cpp6
-rw-r--r--libabi/tests/Makefile.in492
-rw-r--r--libdb/Makefile.in603
-rw-r--r--libdb/tests/Makefile.in556
-rw-r--r--libop/Makefile.in623
-rw-r--r--libop/op_cpu_type.c34
-rw-r--r--libop/op_cpu_type.h18
-rw-r--r--libop/op_events.c4
-rw-r--r--libop/op_hw_specific.h77
-rw-r--r--libop/op_xml_events.c20
-rw-r--r--libop/op_xml_out.c1
-rw-r--r--libop/op_xml_out.h1
-rw-r--r--libop/tests/Makefile.in601
-rw-r--r--libop/tests/alloc_counter_tests.c8
-rw-r--r--libopagent/Makefile.in556
-rw-r--r--libopagent/bfddefines.c40
-rw-r--r--libopt++/Makefile.in484
-rw-r--r--libpp/Makefile.in565
-rw-r--r--libpp/parse_filename.cpp7
-rw-r--r--libpp/profile_spec.cpp5
-rw-r--r--libregex/Makefile.in641
-rw-r--r--libregex/stl.pat.in10
-rw-r--r--libregex/tests/Makefile.in574
-rw-r--r--libutil++/Makefile.in653
-rw-r--r--libutil++/bfd_support.cpp54
-rw-r--r--libutil++/tests/Makefile.in632
-rw-r--r--libutil/Makefile.in627
-rw-r--r--libutil/op_cpufreq.c5
-rw-r--r--libutil/tests/Makefile.in563
-rw-r--r--ltmain.sh6956
-rw-r--r--m4/Makefile.in387
-rw-r--r--m4/qt.m414
-rwxr-xr-xmissing360
-rw-r--r--opjitconv/Makefile.in522
-rw-r--r--pp/Makefile.in584
-rw-r--r--pp/oparchive.cpp1
-rw-r--r--utils/Makefile.in529
-rw-r--r--utils/opcontrol117
-rw-r--r--utils/ophelp.c37
216 files changed, 26001 insertions, 71465 deletions
diff --git a/ChangeLog b/ChangeLog
index 202f3cb..6a399ea 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,207 @@
+2011-01-05 William Cohen <wcohen@redhat.com>
+
+ * utils/opcontrol: Add argument checking for numerical arguments
+
+2010-12-16 John Villalovos <john.l.villalovos@intel.com>
+
+ * events/Makefile.am:
+ * libop/op_cpu_type.c:
+ * libop/op_cpu_type.h:
+ * libop/op_hw_specific.h:
+ * libop/op_events.c:
+ * utils/ophelp.c:
+ * events/i386/westmere/events (new):
+ * events/i386/westmere/unit_masks (new): Add support for Intel
+ Westmere micro-architecture processors
+
+2010-12-15 Will Cohen <wcohen@redhat.com>
+
+ * libop/op_cpu_type.c:
+ * libop/op_cpu_type.h:
+ * libop/op_hw_specific.h: User-space identification of processors
+ that support Intel architectural events
+
+2010-12-14 Suravee Suthikulpanit <suravee.suthikulpanit@amd.com>
+
+ * oprofile/daemon/opd_ibs_trans.c: Fix non-x86 build issue
+ due to cpuid instruction
+
+2010-11-7 Suravee Suthikulpanit <suravee.suthikulpanit@amd.com>
+
+ * oprofile/utils/opcontrol:
+ * oprofile/daemon/init.c:
+ * oprofile/daemon/opd_extended.h:
+ * oprofile/daemon/opd_extended.c:
+ * oprofile/daemon/opd_ibs.h:
+ * oprofile/daemon/opd_ibs.c:
+ * oprofile/daemon/opd_ibs_trans.h:
+ * oprofile/daemon/opd_ibs_trans.c:
+ * oprofile/events/x86-64/family10/unit_masks:
+ * oprofile/daemon/opd_ibs_macro.h: Additional IBS supports for
+ family12/14/15h including:
+ - IBS Op branch target address log
+ - IBS Op memory access log
+ - IBS Op extended count bits
+
+2010-11-7 Suravee Suthikulpanit <suravee.suthikulpanit@amd.com>
+
+ * events/Makefile.am:
+ * libop/op_events.c:
+ * libop/op_cpu_type.h:
+ * libop/op_cpu_type.c:
+ * utils/ophelp.c:
+ * events/x86-64/family12h/events: New File
+ * events/x86-64/family12h/unit_masks: New File
+ * events/x86-64/family14h/events: New File
+ * events/x86-64/family14h/unit_masks: New File
+ * events/x86-64/family15h/events: New File
+ * events/x86-64/family15h/unit_masks: New File
+ Add support for new AMD processors (family12h/14h/15h)
+
+2010-10-15 Roland Grunberg <roland.grunberg@gmail.com>
+
+ * libop/op_xml_events.c:
+ * libop/op_xml_out.c:
+ * libop/op_xml_out.h:
+ * doc/ophelp.xsd: Add unit mask type attribute for an event in
+ the ophelp schema
+
+2010-10-15 Maynard Johnson <maynardj@us.ibm.com>
+
+ * doc/ophelp.xsd:
+ * libop/op_xml_events.c: Fix schema validation issues and error in
+ xml generation
+
+2010-10-13 Maynard Johnson <maynardj@us.ibm.com>
+
+ * libabi/opimport.cpp: Fix uninitialized variable warning when
+ building with gcc 4.4
+
+2010-10-13 Maynard Johnson <maynardj@us.ibm.com>
+
+ * events/mips/Makefile.am: Correction to 8/26 MIPS patch
+ to add events and unit_masks to makefile
+
+2010-10-07 William Cohen <wcohen@redhat.com>
+
+ * events/i386/arch_perfmon/events: Correct filter values.
+
+2010-08-26 Paul Lind <plind@mips.com>
+
+ * libop/op_cpu_type.[h,c]:
+ * libop/op_events.c:
+ * utils/ophelp.c: Add "mips/74K" and "mips/1004K" as valid cpu types,
+ and change number of available 34K counters to 2.
+ * libop/tests/alloc_counter_tests.c: correct 34K test to 2 counters.
+ * events/mips/24K/events: correct the performance counters for 24K.
+ * events/mips/34K/events: correct the performance counters for 34K.
+ * events/mips/74K/[events,unit_masks]: Add events for 74K.
+ * events/mips/1004K/[events,unit_masks]: Add events for 1004K.
+
+2010-08-13 Maynard Johnson <maynardj@us.ibm.com>
+
+ * utils/opcontrol:
+ * doc/opcontrol.1.in: Update help and man page for opcontrol to indicate
+ that buffer values may be reset to default values by passing a '0'
+
+2010-08-02 Maynard Johnson <maynardj@us.ibm.com>
+
+ * utils/opcontrol:
+ * libpp/profile_spec.cpp:
+ * pp/oparchive.cpp: Moved the copying of stats to opcontrol::do_dump_data
+ and removed the unnecessary and confusing message that indicated
+ when overflow stats were not available.
+
+2010-07-13 Maynard Johnson <maynardj@us.ibm.com>
+
+ * events/arm/armv7-common/events: (new)
+ * events/arm/armv7-common/unit_masks: (new)
+ * events/arm/armv7-ca9/events: (new)
+ * events/arm/armv7-ca9/unit_masks: (new)
+ I neglected to do 'cvs add' for these new files in the
+ previous commit; doing so now.
+
+2010-07-01 Will Deacon <will.deacon@arm.com>
+
+ * events/arm/armv7-common/events:
+ * events/arm/armv7-common/unit_masks:
+ * events/arm/armv7/events: factor out ARMv7 common architectural events
+ * events/Makefile.am:
+ * libop/op_cpu_type.c:
+ * libop/op_cpu_type.h:
+ * libop/op_events.c:
+ * utils/ophelp.c: correct usage of core terminology for v7 and MPCore
+ * events/arm/armv7-ca9/events:
+ * events/arm/armv7-ca9/unit_masks: add support for Cortex-A9 events
+
+2010-06-21 John Villalovos <john.l.villalovos@intel.com>
+
+ * libop/op_cpu_type.[h,c]:
+ * libop/op_events.c:
+ * utils/ophelp.c: Add "i386/nehalem" as a valid cpu_type. This will
+ allow the kernel in the future (if desired) to use "i386/nehalem"
+ instead of "i386/core_i7". Core i7 processors can be either Nehalem
+ or Westmere microarchitecture but the "i386/core_i7" cpu_type in
+ Oprofile is only for Nehalem microarchitecture processors.
+
+2010-06-11 William Cohen <wcohen@redhat.com>
+
+ * libregex/stl.pat.in: Avoid machine specific configuration.
+
+2010-05-18 Daniel Hansel <daniel.hansel@linux.vnet.ibm.com>
+
+ * doc/oprofile.xml: Document that only kernel versions 2.6.13 or
+ later provide support for anonymous mapped regions
+
+2010-04-13 Maynard Johnson <maynardj@us.ibm.com>
+
+ * libutil++/bfd_support.cpp: Fix up translate_debuginfo_syms
+ so it doesn't rely on section index values being the same
+ between real image and debuginfo file (to resolve problem
+ reported by Will Cohen on Fedora 12)
+
+2010-03-25 Oliver Schneider <oliver@assarbad.net>
+
+ * libpp/parse_filename.cpp: Catch case where a basic_string::erase
+ error can occur in opreport when parsing an invalid sample file name
+
+2010-03-25 Maynard Johnson <maynardj@us.ibm.com>
+
+ * events/mips/loongson2/events: New File
+ * events/mips/loongson2/unit_masks: New File
+ I neglected to do 'cvs add' for these new two new files
+ back on Nov 25, 2009 when I committed the initial
+ loongson2 support. This change corrects that error.
+
+2010-03-01 Gabor Loki <loki@inf.u-szeged.hu>
+
+ * daemon/opd_pipe.c: Fix memory leak
+ * utils/opcontrol: Fix messages sending method to opd_pipe
+
+2010-01-20 Maynard Johnson <maynardj@us.ibm.com>
+
+ * m4/qt.m4: Fix qt lib check so it works on base 64-bit system
+
+2009-12-07 Robert Richter <robert.richter@amd.com>
+
+ * agents/Makefile.am:
+ * configure.in: adding config option to disable oprofile user check
+
+2009-11-25 Chen Jie <chenj@lemote.com>
+
+ * events/Makefile.am:
+ * events/mips/loongson2/events: New File
+ * events/mips/loongson2/unit_masks: New File
+ * libop/op_cpu_type.c:
+ * libop/op_cpu_type.h:
+ * libop/op_events.c: Add default event for loongson2
+ * libutil/op_cpufreq.c: Add freq estimation for high performance mips processors
+ * utils/ophelp.c: Add support for ICT loongson2
+
+2009-11-25 Maynard Johnson <maynardj@us.ibm.com>
+
+ * configure.in: bump version in AM_INIT_AUTOMAKE to 0.9.7cvs
+
2009-11-24 Maynard Johnson <maynardj@us.ibm.com>
* configure.in: bump version in AM_INIT_AUTOMAKE to 0.9.6
diff --git a/CleanSpec.mk b/CleanSpec.mk
deleted file mode 100644
index b84e1b6..0000000
--- a/CleanSpec.mk
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright (C) 2007 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-# If you don't need to do a full clean build but would like to touch
-# a file or delete some intermediate files, add a clean step to the end
-# of the list. These steps will only be run once, if they haven't been
-# run before.
-#
-# E.g.:
-# $(call add-clean-step, touch -c external/sqlite/sqlite3.h)
-# $(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/STATIC_LIBRARIES/libz_intermediates)
-#
-# Always use "touch -c" and "rm -f" or "rm -rf" to gracefully deal with
-# files that are missing or have been moved.
-#
-# Use $(PRODUCT_OUT) to get to the "out/target/product/blah/" directory.
-# Use $(OUT_DIR) to refer to the "out" directory.
-#
-# If you need to re-do something that's already mentioned, just copy
-# the command and add it to the bottom of the list. E.g., if a change
-# that you made last week required touching a file and a change you
-# made today requires touching the same file, just copy the old
-# touch step and add it to the end of the list.
-#
-# ************************************************
-# NEWER CLEAN STEPS MUST BE AT THE END OF THE LIST
-# ************************************************
-
-# For example:
-#$(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/APPS/AndroidTests_intermediates)
-#$(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/JAVA_LIBRARIES/core_intermediates)
-#$(call add-clean-step, find $(OUT_DIR) -type f -name "IGTalkSession*" -print0 | xargs -0 rm -f)
-#$(call add-clean-step, rm -rf $(PRODUCT_OUT)/data/*)
-
-# ************************************************
-# NEWER CLEAN STEPS MUST BE AT THE END OF THE LIST
-# ************************************************
diff --git a/HACKING b/HACKING
new file mode 100644
index 0000000..d27983f
--- /dev/null
+++ b/HACKING
@@ -0,0 +1,206 @@
+And when you drive for hours, arrive to find you nowhere gone, you've just been
+mouthing "brum, brum", rocking wheel, of course you have, the heap is rusted
+through and off the road since you drove drunk through thirteen school yards,
+laughing like Prescott.
+
+Then welcome, ah, oo costrinzi welcome, in OProfile.
+
+Please talk to the list before starting on something. We're not too scary.
+
+You can find some documentation on how OProfile works in doc/internals.html
+
+Here's a short list of some stuff you need to know to get started. Don't forget
+to read doc/CodingStyle
+
+Source organisation
+-------------------
+
+module/
+
+ The 2.4 module code. Sub-directories contain architecture-specific code.
+
+daemon/
+
+ The daemon. liblegacy/ contains the daemon core for 2.4
+
+utils/
+
+ Scripts for managing the daemon etc.
+
+doc/
+
+ User and developer documentation
+
+events/
+
+ Textual performance counter event descriptions.
+
+libpp/
+
+ Classes for handling profiles
+
+pp/
+
+ The post-profiling tools for showing results
+
+libabi/
+
+ opimport and its ABI support library
+
+libdb/
+
+ The sample file access library
+
+libop/
+
+ C language oprofile-specific helper stuff
+
+libopt++/
+
+ A simple C++ library for parsing command lines
+
+libregex/
+
+ C++ demangling pattern matching for smart demangling feature.
+
+libutil/
+libutil++/
+
+ Generic helpers
+
+gui/
+
+ The GUI for starting oprofile
+
+m4/
+
+ Autoconf macros for ./configure stage
+
+Tools
+-----
+
+You'll need autoconf 2.13+ and automake 2.5+ when using CVS. Don't forget to
+autogen.sh first.
+
+We still currently support gcc 2.91.66. Please bear this in mind.
+
+Shell Scripts
+-------------
+
+Any shell scripts should aim to be as compatible as possible with different
+shells and "bashisms" etc. should not be used. Busybox is often used instead
+of bash on embedded devices for example.
+
+Making patches, commit rights
+-----------------------------
+
+Patches should be in diff -u format, appliable by patch -p1 in the top-level
+source directory. Patches should not include changes to generated files.
+
+Even trivial patches must have a change log entry in the usual format (see
+ChangeLog). Refer to bug numbers in the change log if relevant.
+
+When you submit a patch, we ask that you include a "Signed-off-by"
+line; for example:
+ Signed-off-by: Random J Developer <random@developer.example.org>
+
+Including this line with your patch implies that you have read and comply with
+the "Developer's Certificate of Origin 1.1" (DCO). This is the same process
+the kernel community uses to try to ensure the originality of patches. The
+DCO can be found in <kernel-source>/Documentation/SubmittingPatches, item 11,
+"Sign your work". For convenience, a copy of the DCO is included below.
+
+ Developer's Certificate of Origin 1.1
+
+ By making a contribution to this project, I certify that:
+
+ (a) The contribution was created in whole or in part by me and I
+ have the right to submit it under the open source license
+ indicated in the file; or
+
+ (b) The contribution is based upon previous work that, to the best
+ of my knowledge, is covered under an appropriate open source
+ license and I have the right under that license to submit that
+ work with modifications, whether created in whole or in part
+ by me, under the same open source license (unless I am
+ permitted to submit under a different license), as indicated
+ in the file; or
+
+ (c) The contribution was provided directly to me by some other
+ person who certified (a), (b) or (c) and I have not modified
+ it.
+
+ (d) I understand and agree that this project and the contribution
+ are public and that a record of the contribution (including all
+ personal information I submit with it, including my sign-off) is
+ maintained indefinitely and may be redistributed consistent with
+ this project or the open source license(s) involved.
+
+
+
+If you make a change visible to the user in some way, you should check the
+website for any needed changes. Patches to oprofile-www CVS are preferred
+but a notification of what needs changing is good enough. Any changes that
+affect the docs (man-pages or oprofile.xml) must include documentation updates
+as appropriate. Also see below.
+
+You may after a while be given direct commit rights. You should be
+subscribed to both the main list and the commits mailing list if you do.
+Your cvs commit message only needs to briefly describe what your change
+does - the change log should have the detailed description. Any
+non-trivial change needs approval from either John, Phil or Maynard,
+unless stated otherwise. The CVS tree will freeze occassionally for
+release, in which case no commits are allowed at all without agreement
+of John, Phil, or Maynard. CVS admin changes (-kb, .cvsignore etc.) do
+not need a change log, and neither does changes to TODO. If you make a
+change that affects the user (feature improvement, new feature, bug fix,
+UI change), see the next section.
+
+The oprofile website
+--------------------
+
+The oprofile website source is stored in the oprofile-www CVS module, excepting
+the doc/ and srcdoc/ directories, which are updated by hand at release time.
+The visible website (http://oprofile.sf.net/) must always describe the last
+*released* version of OProfile, but the CVS contents should be up to date with
+the CVS code. This means that if you make a user-visible change as described
+in the last section, you should update the files in oprofile-www and commit.
+You can do "cvs update" in home/groups/o/op/oprofile/htdocs/cvs on sourceforge
+to get http://oprofile.sf.net/cvs/, so you can check your changes work (and
+validate: see http://www.htmlhelp.com/tools/validator/).
+
+Any user-visible change should have a short description in the file
+release-notes/release-<nextversion> in the oprofile-www CVS module.
+Do not document bug fixes that were not in the last released version.
+
+CVS branches
+------------
+
+You may need at some point to do your work on a CVS branch, if it's
+particularly invasive. CVS is a PITA in this respect unfortunately. It's
+strongly recommended that you merge changes from the trunk to your branch at
+regular intervals.
+
+To create a branch, create a branch tag :
+
+ cvs rtag -b BRANCH_WHATEVER oprofile
+
+And add a merge tag (in the trunk repository):
+
+ cvs rtag BRANCH_WHATEVER_MERGE oprofile
+
+Now make your changes on the branch as you wish. When you want to merge some
+fixes from the trunk in your branch, do something like this on a branch
+checkout :
+
+ cvs update -j BRANCH_WHATEVER_MERGE -j HEAD
+
+Fix up any conflicts and commit it the changes to the branch. Now move the
+merge tag along for the next merge (in the trunk repository) :
+
+ cvs rtag -F BRANCH_WHATEVER_MERGE oprofile
+
+When the time comes to merge the branch changes back into the trunk, I
+recommend just doing a diff -Naur on the two trees, which will make sure CVS
+hasn't done anything unusual. Don't forget to list your branch on the website
+CVS page.
diff --git a/Makefile.in b/Makefile.in
deleted file mode 100644
index d91a691..0000000
--- a/Makefile.in
+++ /dev/null
@@ -1,787 +0,0 @@
-# Makefile.in generated by automake 1.9.6 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005 Free Software Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = .
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
- $(srcdir)/Makefile.in $(srcdir)/config.h.in \
- $(top_srcdir)/configure $(top_srcdir)/doc/srcdoc/Doxyfile.in \
- $(top_srcdir)/doc/xsl/catalog-1.xml.in \
- $(top_srcdir)/module/Makefile.in \
- $(top_srcdir)/module/ia64/Makefile.in \
- $(top_srcdir)/module/x86/Makefile.in COPYING ChangeLog TODO \
- compile config.guess config.sub depcomp install-sh ltmain.sh \
- missing
-subdir = .
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/binutils.m4 \
- $(top_srcdir)/m4/builtinexpect.m4 \
- $(top_srcdir)/m4/cellspubfdsupport.m4 \
- $(top_srcdir)/m4/compileroption.m4 \
- $(top_srcdir)/m4/configmodule.m4 \
- $(top_srcdir)/m4/copyifchange.m4 $(top_srcdir)/m4/docbook.m4 \
- $(top_srcdir)/m4/extradirs.m4 $(top_srcdir)/m4/findkernel.m4 \
- $(top_srcdir)/m4/kerneloption.m4 \
- $(top_srcdir)/m4/kernelversion.m4 \
- $(top_srcdir)/m4/mallocattribute.m4 \
- $(top_srcdir)/m4/poptconst.m4 \
- $(top_srcdir)/m4/precompiledheader.m4 $(top_srcdir)/m4/qt.m4 \
- $(top_srcdir)/m4/resultyn.m4 $(top_srcdir)/m4/sstream.m4 \
- $(top_srcdir)/m4/typedef.m4 $(top_srcdir)/configure.in
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
- configure.lineno configure.status.lineno
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = config.h
-CONFIG_CLEAN_FILES = doc/xsl/catalog-1.xml doc/srcdoc/Doxyfile \
- module/Makefile module/x86/Makefile module/ia64/Makefile
-SOURCES =
-DIST_SOURCES =
-RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
- html-recursive info-recursive install-data-recursive \
- install-exec-recursive install-info-recursive \
- install-recursive installcheck-recursive installdirs-recursive \
- pdf-recursive ps-recursive uninstall-info-recursive \
- uninstall-recursive
-ETAGS = etags
-CTAGS = ctags
-DIST_SUBDIRS = $(SUBDIRS)
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-distdir = $(PACKAGE)-$(VERSION)
-top_distdir = $(distdir)
-am__remove_distdir = \
- { test ! -d $(distdir) \
- || { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \
- && rm -fr $(distdir); }; }
-DIST_ARCHIVES = $(distdir).tar.gz
-GZIP_ENV = --best
-distuninstallcheck_listfiles = find . -type f -print
-distcleancheck_listfiles = find . -type f -print
-ACLOCAL = @ACLOCAL@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
-AMTAR = @AMTAR@
-AR = @AR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-BFD_LIBS = @BFD_LIBS@
-BUILD_JVMPI_AGENT_FALSE = @BUILD_JVMPI_AGENT_FALSE@
-BUILD_JVMPI_AGENT_TRUE = @BUILD_JVMPI_AGENT_TRUE@
-BUILD_JVMTI_AGENT_FALSE = @BUILD_JVMTI_AGENT_FALSE@
-BUILD_JVMTI_AGENT_TRUE = @BUILD_JVMTI_AGENT_TRUE@
-CAT_ENTRY_END = @CAT_ENTRY_END@
-CAT_ENTRY_START = @CAT_ENTRY_START@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DATE = @DATE@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DOCBOOK_ROOT = @DOCBOOK_ROOT@
-ECHO = @ECHO@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-EXTRA_CFLAGS_MODULE = @EXTRA_CFLAGS_MODULE@
-F77 = @F77@
-FFLAGS = @FFLAGS@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-JAVA_HOMEDIR = @JAVA_HOMEDIR@
-KINC = @KINC@
-KSRC = @KSRC@
-KVERS = @KVERS@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LIBERTY_LIBS = @LIBERTY_LIBS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-MAKEINFO = @MAKEINFO@
-MOC = @MOC@
-MODINSTALLDIR = @MODINSTALLDIR@
-OBJEXT = @OBJEXT@
-OPROFILE_DIR = @OPROFILE_DIR@
-OPROFILE_MODULE_ARCH = @OPROFILE_MODULE_ARCH@
-OP_CFLAGS = @OP_CFLAGS@
-OP_CXXFLAGS = @OP_CXXFLAGS@
-OP_DOCDIR = @OP_DOCDIR@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-POPT_LIBS = @POPT_LIBS@
-PTRDIFF_T_TYPE = @PTRDIFF_T_TYPE@
-QT_INCLUDES = @QT_INCLUDES@
-QT_LDFLAGS = @QT_LDFLAGS@
-QT_LIB = @QT_LIB@
-QT_VERSION = @QT_VERSION@
-RANLIB = @RANLIB@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-SIZE_T_TYPE = @SIZE_T_TYPE@
-STRIP = @STRIP@
-UIC = @UIC@
-VERSION = @VERSION@
-XML_CATALOG = @XML_CATALOG@
-XSLTPROC = @XSLTPROC@
-XSLTPROC_FLAGS = @XSLTPROC_FLAGS@
-X_CFLAGS = @X_CFLAGS@
-X_EXTRA_LIBS = @X_EXTRA_LIBS@
-X_LIBS = @X_LIBS@
-X_PRE_LIBS = @X_PRE_LIBS@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
-am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-datadir = @datadir@
-exec_prefix = @exec_prefix@
-have_qt_FALSE = @have_qt_FALSE@
-have_qt_TRUE = @have_qt_TRUE@
-have_xsltproc_FALSE = @have_xsltproc_FALSE@
-have_xsltproc_TRUE = @have_xsltproc_TRUE@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-kernel_support_FALSE = @kernel_support_FALSE@
-kernel_support_TRUE = @kernel_support_TRUE@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-topdir = @topdir@
-
-#### ATTENTION ####
-# The agents directory must be kept as the last subdir
-SUBDIRS = \
- . \
- m4 \
- libutil \
- libop \
- libopagent \
- libdb \
- libutil++ \
- libopt++ \
- libabi \
- daemon \
- utils \
- libregex \
- libpp \
- opjitconv \
- pp \
- events \
- doc \
- gui \
- agents
-
-#### ATTENTION ####
-# The agents directory must be kept as the last subdir
-ACLOCAL_AMFLAGS = -I m4
-
-# The module will not build under distcheck
-DISTCHECK_CONFIGURE_FLAGS = --with-kernel-support
-EXTRA_DIST = \
- ChangeLog-2001 \
- ChangeLog-2002 \
- ChangeLog-2003 \
- ChangeLog-2004 \
- ChangeLog-2005 \
- ChangeLog-2006 \
- ChangeLog-2007 \
- ChangeLog-2008 \
- autogen.sh \
- README_PACKAGERS \
- include/sstream \
- module/Makefile.in \
- module/compat.c \
- module/op_dname.c \
- module/op_init.c \
- module/oprofile.c \
- module/op_util.c \
- module/compat22.h \
- module/compat24.h \
- module/compat.h \
- module/op_cache.h \
- module/op_dcache.h \
- module/oprofile.h \
- module/op_util.h \
- module/ia64/Makefile.in \
- module/ia64/oprofile_stubs.S \
- module/ia64/cpu_type.c \
- module/ia64/op_pmu.c \
- module/ia64/op_syscalls.c \
- module/ia64/IA64entry.h \
- module/ia64/IA64minstate.h \
- module/ia64/IA64syscallstub.h \
- module/ia64/op_ia64_model.h \
- module/x86/Makefile.in \
- module/x86/oprofile_nmi.S \
- module/x86/apic_compat.h \
- module/x86/op_apic.h \
- module/x86/op_arch.h \
- module/x86/op_x86_model.h \
- module/x86/op_msr.h \
- module/x86/cpu_type.c \
- module/x86/op_apic.c \
- module/x86/op_fixmap.c \
- module/x86/op_model_athlon.c \
- module/x86/op_model_p4.c \
- module/x86/op_model_ppro.c \
- module/x86/op_nmi.c \
- module/x86/op_rtc.c \
- module/x86/op_syscalls.c
-
-all: config.h
- $(MAKE) $(AM_MAKEFLAGS) all-recursive
-
-.SUFFIXES:
-am--refresh:
- @:
-$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- echo ' cd $(srcdir) && $(AUTOMAKE) --foreign '; \
- cd $(srcdir) && $(AUTOMAKE) --foreign \
- && exit 0; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --foreign Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- @case '$?' in \
- *config.status*) \
- echo ' $(SHELL) ./config.status'; \
- $(SHELL) ./config.status;; \
- *) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- $(SHELL) ./config.status --recheck
-
-$(top_srcdir)/configure: $(am__configure_deps)
- cd $(srcdir) && $(AUTOCONF)
-$(ACLOCAL_M4): $(am__aclocal_m4_deps)
- cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
-
-config.h: stamp-h1
- @if test ! -f $@; then \
- rm -f stamp-h1; \
- $(MAKE) stamp-h1; \
- else :; fi
-
-stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status
- @rm -f stamp-h1
- cd $(top_builddir) && $(SHELL) ./config.status config.h
-$(srcdir)/config.h.in: $(am__configure_deps)
- cd $(top_srcdir) && $(AUTOHEADER)
- rm -f stamp-h1
- touch $@
-
-distclean-hdr:
- -rm -f config.h stamp-h1
-doc/xsl/catalog-1.xml: $(top_builddir)/config.status $(top_srcdir)/doc/xsl/catalog-1.xml.in
- cd $(top_builddir) && $(SHELL) ./config.status $@
-doc/srcdoc/Doxyfile: $(top_builddir)/config.status $(top_srcdir)/doc/srcdoc/Doxyfile.in
- cd $(top_builddir) && $(SHELL) ./config.status $@
-module/Makefile: $(top_builddir)/config.status $(top_srcdir)/module/Makefile.in
- cd $(top_builddir) && $(SHELL) ./config.status $@
-module/x86/Makefile: $(top_builddir)/config.status $(top_srcdir)/module/x86/Makefile.in
- cd $(top_builddir) && $(SHELL) ./config.status $@
-module/ia64/Makefile: $(top_builddir)/config.status $(top_srcdir)/module/ia64/Makefile.in
- cd $(top_builddir) && $(SHELL) ./config.status $@
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-
-# This directory's subdirectories are mostly independent; you can cd
-# into them and run `make' without going through this Makefile.
-# To change the values of `make' variables: instead of editing Makefiles,
-# (1) if the variable is set in `config.status', edit `config.status'
-# (which will cause the Makefiles to be regenerated when you run `make');
-# (2) otherwise, pass the desired values on the `make' command line.
-$(RECURSIVE_TARGETS):
- @failcom='exit 1'; \
- for f in x $$MAKEFLAGS; do \
- case $$f in \
- *=* | --[!k]*);; \
- *k*) failcom='fail=yes';; \
- esac; \
- done; \
- dot_seen=no; \
- target=`echo $@ | sed s/-recursive//`; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- dot_seen=yes; \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || eval $$failcom; \
- done; \
- if test "$$dot_seen" = "no"; then \
- $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
- fi; test -z "$$fail"
-
-mostlyclean-recursive clean-recursive distclean-recursive \
-maintainer-clean-recursive:
- @failcom='exit 1'; \
- for f in x $$MAKEFLAGS; do \
- case $$f in \
- *=* | --[!k]*);; \
- *k*) failcom='fail=yes';; \
- esac; \
- done; \
- dot_seen=no; \
- case "$@" in \
- distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
- *) list='$(SUBDIRS)' ;; \
- esac; \
- rev=''; for subdir in $$list; do \
- if test "$$subdir" = "."; then :; else \
- rev="$$subdir $$rev"; \
- fi; \
- done; \
- rev="$$rev ."; \
- target=`echo $@ | sed s/-recursive//`; \
- for subdir in $$rev; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || eval $$failcom; \
- done && test -z "$$fail"
-tags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
- done
-ctags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
- done
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
- include_option=--etags-include; \
- empty_fix=.; \
- else \
- include_option=--include; \
- empty_fix=; \
- fi; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
- test ! -f $$subdir/TAGS || \
- tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
- fi; \
- done; \
- list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
- test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
- fi
-ctags: CTAGS
-CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
- $(am__remove_distdir)
- mkdir $(distdir)
- $(mkdir_p) $(distdir)/doc $(distdir)/doc/srcdoc $(distdir)/doc/xsl $(distdir)/include $(distdir)/libregex $(distdir)/libregex/tests $(distdir)/m4 $(distdir)/module $(distdir)/module/ia64 $(distdir)/module/x86
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkdir_p) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
- if test -d $$d/$$file; then \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
- fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
- else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
- || exit 1; \
- fi; \
- done
- list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
- test -d "$(distdir)/$$subdir" \
- || $(mkdir_p) "$(distdir)/$$subdir" \
- || exit 1; \
- distdir=`$(am__cd) $(distdir) && pwd`; \
- top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
- (cd $$subdir && \
- $(MAKE) $(AM_MAKEFLAGS) \
- top_distdir="$$top_distdir" \
- distdir="$$distdir/$$subdir" \
- distdir) \
- || exit 1; \
- fi; \
- done
- -find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \
- ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
- ! -type d ! -perm -400 -exec chmod a+r {} \; -o \
- ! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} \; \
- || chmod -R a+r $(distdir)
-dist-gzip: distdir
- tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
- $(am__remove_distdir)
-
-dist-bzip2: distdir
- tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
- $(am__remove_distdir)
-
-dist-tarZ: distdir
- tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
- $(am__remove_distdir)
-
-dist-shar: distdir
- shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
- $(am__remove_distdir)
-
-dist-zip: distdir
- -rm -f $(distdir).zip
- zip -rq $(distdir).zip $(distdir)
- $(am__remove_distdir)
-
-dist dist-all: distdir
- tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
- $(am__remove_distdir)
-
-# This target untars the dist file and tries a VPATH configuration. Then
-# it guarantees that the distribution is self-contained by making another
-# tarfile.
-distcheck: dist
- case '$(DIST_ARCHIVES)' in \
- *.tar.gz*) \
- GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\
- *.tar.bz2*) \
- bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\
- *.tar.Z*) \
- uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
- *.shar.gz*) \
- GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\
- *.zip*) \
- unzip $(distdir).zip ;;\
- esac
- chmod -R a-w $(distdir); chmod a+w $(distdir)
- mkdir $(distdir)/_build
- mkdir $(distdir)/_inst
- chmod a-w $(distdir)
- dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
- && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
- && cd $(distdir)/_build \
- && ../configure --srcdir=.. --prefix="$$dc_install_base" \
- $(DISTCHECK_CONFIGURE_FLAGS) \
- && $(MAKE) $(AM_MAKEFLAGS) \
- && $(MAKE) $(AM_MAKEFLAGS) dvi \
- && $(MAKE) $(AM_MAKEFLAGS) check \
- && $(MAKE) $(AM_MAKEFLAGS) install \
- && $(MAKE) $(AM_MAKEFLAGS) installcheck \
- && $(MAKE) $(AM_MAKEFLAGS) uninstall \
- && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
- distuninstallcheck \
- && chmod -R a-w "$$dc_install_base" \
- && ({ \
- (cd ../.. && umask 077 && mkdir "$$dc_destdir") \
- && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
- && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
- && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
- distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
- } || { rm -rf "$$dc_destdir"; exit 1; }) \
- && rm -rf "$$dc_destdir" \
- && $(MAKE) $(AM_MAKEFLAGS) dist \
- && rm -rf $(DIST_ARCHIVES) \
- && $(MAKE) $(AM_MAKEFLAGS) distcleancheck
- $(am__remove_distdir)
- @(echo "$(distdir) archives ready for distribution: "; \
- list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
- sed -e '1{h;s/./=/g;p;x;}' -e '$${p;x;}'
-distuninstallcheck:
- @cd $(distuninstallcheck_dir) \
- && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
- || { echo "ERROR: files left after uninstall:" ; \
- if test -n "$(DESTDIR)"; then \
- echo " (check DESTDIR support)"; \
- fi ; \
- $(distuninstallcheck_listfiles) ; \
- exit 1; } >&2
-distcleancheck: distclean
- @if test '$(srcdir)' = . ; then \
- echo "ERROR: distcleancheck can only run from a VPATH build" ; \
- exit 1 ; \
- fi
- @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
- || { echo "ERROR: files left in build directory after distclean:" ; \
- $(distcleancheck_listfiles) ; \
- exit 1; } >&2
-check-am: all-am
-check: check-recursive
-@kernel_support_TRUE@all-local:
-all-am: Makefile config.h all-local
-installdirs: installdirs-recursive
-installdirs-am:
-install: install-recursive
-install-exec: install-exec-recursive
-install-data: install-data-recursive
-uninstall: uninstall-recursive
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-recursive
-install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-@kernel_support_TRUE@install-exec-local:
-@kernel_support_TRUE@clean-local:
-clean: clean-recursive
-
-clean-am: clean-generic clean-libtool clean-local mostlyclean-am
-
-distclean: distclean-recursive
- -rm -f $(am__CONFIG_DISTCLEAN_FILES)
- -rm -f Makefile
-distclean-am: clean-am distclean-generic distclean-hdr \
- distclean-libtool distclean-tags
-
-dvi: dvi-recursive
-
-dvi-am:
-
-html: html-recursive
-
-info: info-recursive
-
-info-am:
-
-install-data-am:
-
-install-exec-am: install-exec-local
-
-install-info: install-info-recursive
-
-install-man:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-recursive
- -rm -f $(am__CONFIG_DISTCLEAN_FILES)
- -rm -rf $(top_srcdir)/autom4te.cache
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-recursive
-
-mostlyclean-am: mostlyclean-generic mostlyclean-libtool
-
-pdf: pdf-recursive
-
-pdf-am:
-
-ps: ps-recursive
-
-ps-am:
-
-uninstall-am: uninstall-info-am
-
-uninstall-info: uninstall-info-recursive
-
-.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am all-local \
- am--refresh check check-am clean clean-generic clean-libtool \
- clean-local clean-recursive ctags ctags-recursive dist \
- dist-all dist-bzip2 dist-gzip dist-shar dist-tarZ dist-zip \
- distcheck distclean distclean-generic distclean-hdr \
- distclean-libtool distclean-recursive distclean-tags \
- distcleancheck distdir distuninstallcheck dvi dvi-am html \
- html-am info info-am install install-am install-data \
- install-data-am install-exec install-exec-am \
- install-exec-local install-info install-info-am install-man \
- install-strip installcheck installcheck-am installdirs \
- installdirs-am maintainer-clean maintainer-clean-generic \
- maintainer-clean-recursive mostlyclean mostlyclean-generic \
- mostlyclean-libtool mostlyclean-recursive pdf pdf-am ps ps-am \
- tags tags-recursive uninstall uninstall-am uninstall-info-am
-
-
-@kernel_support_FALSE@.PHONY: module
-
-@kernel_support_FALSE@all-local: module
-
-# This must use a fully-qualified SUBDIRS path, so we can't use ${top_srcdir}
-@kernel_support_FALSE@module:
-@kernel_support_FALSE@ make -C libutil
-@kernel_support_FALSE@ make -C libop
-@kernel_support_FALSE@ (cd $(KSRC) && $(MAKE) SUBDIRS=$(OPROFILE_DIR)/module/@OPROFILE_MODULE_ARCH@ modules) || exit 1 ;
-@kernel_support_FALSE@ (cd $(KSRC) && $(MAKE) SUBDIRS=$(OPROFILE_DIR)/module modules) || exit 1 ;
-
-@kernel_support_FALSE@install-exec-local:
-@kernel_support_FALSE@ -mkdir -p $(MODINSTALLDIR)/oprofile
-@kernel_support_FALSE@ cp module/oprofile-module.o $(MODINSTALLDIR)/oprofile/oprofile.o
-@kernel_support_FALSE@ if test $(KVERS) = "`uname -r`"; then depmod -a ; fi
-
-@kernel_support_FALSE@clean-local:
-@kernel_support_FALSE@ rm -f module/*.o module/@OPROFILE_MODULE_ARCH@/*.o \
-@kernel_support_FALSE@ module/.*.o.cmd module/.*.o.flags \
-@kernel_support_FALSE@ module/@OPROFILE_MODULE_ARCH@/.*.o.cmd module/@OPROFILE_MODULE_ARCH@/.*.o.flags
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/aclocal.m4 b/aclocal.m4
deleted file mode 100644
index be778b3..0000000
--- a/aclocal.m4
+++ /dev/null
@@ -1,7257 +0,0 @@
-# generated automatically by aclocal 1.9.6 -*- Autoconf -*-
-
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-# 2005 Free Software Foundation, Inc.
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
-
-# serial 48 AC_PROG_LIBTOOL
-
-
-# AC_PROVIDE_IFELSE(MACRO-NAME, IF-PROVIDED, IF-NOT-PROVIDED)
-# -----------------------------------------------------------
-# If this macro is not defined by Autoconf, define it here.
-m4_ifdef([AC_PROVIDE_IFELSE],
- [],
- [m4_define([AC_PROVIDE_IFELSE],
- [m4_ifdef([AC_PROVIDE_$1],
- [$2], [$3])])])
-
-
-# AC_PROG_LIBTOOL
-# ---------------
-AC_DEFUN([AC_PROG_LIBTOOL],
-[AC_REQUIRE([_AC_PROG_LIBTOOL])dnl
-dnl If AC_PROG_CXX has already been expanded, run AC_LIBTOOL_CXX
-dnl immediately, otherwise, hook it in at the end of AC_PROG_CXX.
- AC_PROVIDE_IFELSE([AC_PROG_CXX],
- [AC_LIBTOOL_CXX],
- [define([AC_PROG_CXX], defn([AC_PROG_CXX])[AC_LIBTOOL_CXX
- ])])
-dnl And a similar setup for Fortran 77 support
- AC_PROVIDE_IFELSE([AC_PROG_F77],
- [AC_LIBTOOL_F77],
- [define([AC_PROG_F77], defn([AC_PROG_F77])[AC_LIBTOOL_F77
-])])
-
-dnl Quote A][M_PROG_GCJ so that aclocal doesn't bring it in needlessly.
-dnl If either AC_PROG_GCJ or A][M_PROG_GCJ have already been expanded, run
-dnl AC_LIBTOOL_GCJ immediately, otherwise, hook it in at the end of both.
- AC_PROVIDE_IFELSE([AC_PROG_GCJ],
- [AC_LIBTOOL_GCJ],
- [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],
- [AC_LIBTOOL_GCJ],
- [AC_PROVIDE_IFELSE([LT_AC_PROG_GCJ],
- [AC_LIBTOOL_GCJ],
- [ifdef([AC_PROG_GCJ],
- [define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[AC_LIBTOOL_GCJ])])
- ifdef([A][M_PROG_GCJ],
- [define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[AC_LIBTOOL_GCJ])])
- ifdef([LT_AC_PROG_GCJ],
- [define([LT_AC_PROG_GCJ],
- defn([LT_AC_PROG_GCJ])[AC_LIBTOOL_GCJ])])])])
-])])# AC_PROG_LIBTOOL
-
-
-# _AC_PROG_LIBTOOL
-# ----------------
-AC_DEFUN([_AC_PROG_LIBTOOL],
-[AC_REQUIRE([AC_LIBTOOL_SETUP])dnl
-AC_BEFORE([$0],[AC_LIBTOOL_CXX])dnl
-AC_BEFORE([$0],[AC_LIBTOOL_F77])dnl
-AC_BEFORE([$0],[AC_LIBTOOL_GCJ])dnl
-
-# This can be used to rebuild libtool when needed
-LIBTOOL_DEPS="$ac_aux_dir/ltmain.sh"
-
-# Always use our own libtool.
-LIBTOOL='$(SHELL) $(top_builddir)/libtool'
-AC_SUBST(LIBTOOL)dnl
-
-# Prevent multiple expansion
-define([AC_PROG_LIBTOOL], [])
-])# _AC_PROG_LIBTOOL
-
-
-# AC_LIBTOOL_SETUP
-# ----------------
-AC_DEFUN([AC_LIBTOOL_SETUP],
-[AC_PREREQ(2.50)dnl
-AC_REQUIRE([AC_ENABLE_SHARED])dnl
-AC_REQUIRE([AC_ENABLE_STATIC])dnl
-AC_REQUIRE([AC_ENABLE_FAST_INSTALL])dnl
-AC_REQUIRE([AC_CANONICAL_HOST])dnl
-AC_REQUIRE([AC_CANONICAL_BUILD])dnl
-AC_REQUIRE([AC_PROG_CC])dnl
-AC_REQUIRE([AC_PROG_LD])dnl
-AC_REQUIRE([AC_PROG_LD_RELOAD_FLAG])dnl
-AC_REQUIRE([AC_PROG_NM])dnl
-
-AC_REQUIRE([AC_PROG_LN_S])dnl
-AC_REQUIRE([AC_DEPLIBS_CHECK_METHOD])dnl
-# Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers!
-AC_REQUIRE([AC_OBJEXT])dnl
-AC_REQUIRE([AC_EXEEXT])dnl
-dnl
-
-AC_LIBTOOL_SYS_MAX_CMD_LEN
-AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE
-AC_LIBTOOL_OBJDIR
-
-AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl
-_LT_AC_PROG_ECHO_BACKSLASH
-
-case $host_os in
-aix3*)
- # AIX sometimes has problems with the GCC collect2 program. For some
- # reason, if we set the COLLECT_NAMES environment variable, the problems
- # vanish in a puff of smoke.
- if test "X${COLLECT_NAMES+set}" != Xset; then
- COLLECT_NAMES=
- export COLLECT_NAMES
- fi
- ;;
-esac
-
-# Sed substitution that helps us do robust quoting. It backslashifies
-# metacharacters that are still active within double-quoted strings.
-Xsed='sed -e 1s/^X//'
-[sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g']
-
-# Same as above, but do not quote variable references.
-[double_quote_subst='s/\([\\"\\`\\\\]\)/\\\1/g']
-
-# Sed substitution to delay expansion of an escaped shell variable in a
-# double_quote_subst'ed string.
-delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
-
-# Sed substitution to avoid accidental globbing in evaled expressions
-no_glob_subst='s/\*/\\\*/g'
-
-# Constants:
-rm="rm -f"
-
-# Global variables:
-default_ofile=libtool
-can_build_shared=yes
-
-# All known linkers require a `.a' archive for static linking (except MSVC,
-# which needs '.lib').
-libext=a
-ltmain="$ac_aux_dir/ltmain.sh"
-ofile="$default_ofile"
-with_gnu_ld="$lt_cv_prog_gnu_ld"
-
-AC_CHECK_TOOL(AR, ar, false)
-AC_CHECK_TOOL(RANLIB, ranlib, :)
-AC_CHECK_TOOL(STRIP, strip, :)
-
-old_CC="$CC"
-old_CFLAGS="$CFLAGS"
-
-# Set sane defaults for various variables
-test -z "$AR" && AR=ar
-test -z "$AR_FLAGS" && AR_FLAGS=cru
-test -z "$AS" && AS=as
-test -z "$CC" && CC=cc
-test -z "$LTCC" && LTCC=$CC
-test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
-test -z "$DLLTOOL" && DLLTOOL=dlltool
-test -z "$LD" && LD=ld
-test -z "$LN_S" && LN_S="ln -s"
-test -z "$MAGIC_CMD" && MAGIC_CMD=file
-test -z "$NM" && NM=nm
-test -z "$SED" && SED=sed
-test -z "$OBJDUMP" && OBJDUMP=objdump
-test -z "$RANLIB" && RANLIB=:
-test -z "$STRIP" && STRIP=:
-test -z "$ac_objext" && ac_objext=o
-
-# Determine commands to create old-style static archives.
-old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs$old_deplibs'
-old_postinstall_cmds='chmod 644 $oldlib'
-old_postuninstall_cmds=
-
-if test -n "$RANLIB"; then
- case $host_os in
- openbsd*)
- old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib"
- ;;
- *)
- old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib"
- ;;
- esac
- old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
-fi
-
-_LT_CC_BASENAME([$compiler])
-
-# Only perform the check for file, if the check method requires it
-case $deplibs_check_method in
-file_magic*)
- if test "$file_magic_cmd" = '$MAGIC_CMD'; then
- AC_PATH_MAGIC
- fi
- ;;
-esac
-
-AC_PROVIDE_IFELSE([AC_LIBTOOL_DLOPEN], enable_dlopen=yes, enable_dlopen=no)
-AC_PROVIDE_IFELSE([AC_LIBTOOL_WIN32_DLL],
-enable_win32_dll=yes, enable_win32_dll=no)
-
-AC_ARG_ENABLE([libtool-lock],
- [AC_HELP_STRING([--disable-libtool-lock],
- [avoid locking (might break parallel builds)])])
-test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
-
-AC_ARG_WITH([pic],
- [AC_HELP_STRING([--with-pic],
- [try to use only PIC/non-PIC objects @<:@default=use both@:>@])],
- [pic_mode="$withval"],
- [pic_mode=default])
-test -z "$pic_mode" && pic_mode=default
-
-# Use C for the default configuration in the libtool script
-tagname=
-AC_LIBTOOL_LANG_C_CONFIG
-_LT_AC_TAGCONFIG
-])# AC_LIBTOOL_SETUP
-
-
-# _LT_AC_SYS_COMPILER
-# -------------------
-AC_DEFUN([_LT_AC_SYS_COMPILER],
-[AC_REQUIRE([AC_PROG_CC])dnl
-
-# If no C compiler was specified, use CC.
-LTCC=${LTCC-"$CC"}
-
-# If no C compiler flags were specified, use CFLAGS.
-LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
-
-# Allow CC to be a program name with arguments.
-compiler=$CC
-])# _LT_AC_SYS_COMPILER
-
-
-# _LT_CC_BASENAME(CC)
-# -------------------
-# Calculate cc_basename. Skip known compiler wrappers and cross-prefix.
-AC_DEFUN([_LT_CC_BASENAME],
-[for cc_temp in $1""; do
- case $cc_temp in
- compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;;
- distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;;
- \-*) ;;
- *) break;;
- esac
-done
-cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
-])
-
-
-# _LT_COMPILER_BOILERPLATE
-# ------------------------
-# Check for compiler boilerplate output or warnings with
-# the simple compiler test code.
-AC_DEFUN([_LT_COMPILER_BOILERPLATE],
-[ac_outfile=conftest.$ac_objext
-printf "$lt_simple_compile_test_code" >conftest.$ac_ext
-eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_compiler_boilerplate=`cat conftest.err`
-$rm conftest*
-])# _LT_COMPILER_BOILERPLATE
-
-
-# _LT_LINKER_BOILERPLATE
-# ----------------------
-# Check for linker boilerplate output or warnings with
-# the simple link test code.
-AC_DEFUN([_LT_LINKER_BOILERPLATE],
-[ac_outfile=conftest.$ac_objext
-printf "$lt_simple_link_test_code" >conftest.$ac_ext
-eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_linker_boilerplate=`cat conftest.err`
-$rm conftest*
-])# _LT_LINKER_BOILERPLATE
-
-
-# _LT_AC_SYS_LIBPATH_AIX
-# ----------------------
-# Links a minimal program and checks the executable
-# for the system default hardcoded library path. In most cases,
-# this is /usr/lib:/lib, but when the MPI compilers are used
-# the location of the communication and MPI libs are included too.
-# If we don't find anything, use the default library path according
-# to the aix ld manual.
-AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX],
-[AC_LINK_IFELSE(AC_LANG_PROGRAM,[
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
-}'`
-# Check for a 64-bit object if we didn't find anything.
-if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
-}'`; fi],[])
-if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
-])# _LT_AC_SYS_LIBPATH_AIX
-
-
-# _LT_AC_SHELL_INIT(ARG)
-# ----------------------
-AC_DEFUN([_LT_AC_SHELL_INIT],
-[ifdef([AC_DIVERSION_NOTICE],
- [AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)],
- [AC_DIVERT_PUSH(NOTICE)])
-$1
-AC_DIVERT_POP
-])# _LT_AC_SHELL_INIT
-
-
-# _LT_AC_PROG_ECHO_BACKSLASH
-# --------------------------
-# Add some code to the start of the generated configure script which
-# will find an echo command which doesn't interpret backslashes.
-AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH],
-[_LT_AC_SHELL_INIT([
-# Check that we are running under the correct shell.
-SHELL=${CONFIG_SHELL-/bin/sh}
-
-case X$ECHO in
-X*--fallback-echo)
- # Remove one level of quotation (which was required for Make).
- ECHO=`echo "$ECHO" | sed 's,\\\\\[$]\\[$]0,'[$]0','`
- ;;
-esac
-
-echo=${ECHO-echo}
-if test "X[$]1" = X--no-reexec; then
- # Discard the --no-reexec flag, and continue.
- shift
-elif test "X[$]1" = X--fallback-echo; then
- # Avoid inline document here, it may be left over
- :
-elif test "X`($echo '\t') 2>/dev/null`" = 'X\t' ; then
- # Yippee, $echo works!
- :
-else
- # Restart under the correct shell.
- exec $SHELL "[$]0" --no-reexec ${1+"[$]@"}
-fi
-
-if test "X[$]1" = X--fallback-echo; then
- # used as fallback echo
- shift
- cat <<EOF
-[$]*
-EOF
- exit 0
-fi
-
-# The HP-UX ksh and POSIX shell print the target directory to stdout
-# if CDPATH is set.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-if test -z "$ECHO"; then
-if test "X${echo_test_string+set}" != Xset; then
-# find a string as large as possible, as long as the shell can cope with it
- for cmd in 'sed 50q "[$]0"' 'sed 20q "[$]0"' 'sed 10q "[$]0"' 'sed 2q "[$]0"' 'echo test'; do
- # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ...
- if (echo_test_string=`eval $cmd`) 2>/dev/null &&
- echo_test_string=`eval $cmd` &&
- (test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null
- then
- break
- fi
- done
-fi
-
-if test "X`($echo '\t') 2>/dev/null`" = 'X\t' &&
- echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` &&
- test "X$echo_testing_string" = "X$echo_test_string"; then
- :
-else
- # The Solaris, AIX, and Digital Unix default echo programs unquote
- # backslashes. This makes it impossible to quote backslashes using
- # echo "$something" | sed 's/\\/\\\\/g'
- #
- # So, first we look for a working echo in the user's PATH.
-
- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
- for dir in $PATH /usr/ucb; do
- IFS="$lt_save_ifs"
- if (test -f $dir/echo || test -f $dir/echo$ac_exeext) &&
- test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' &&
- echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` &&
- test "X$echo_testing_string" = "X$echo_test_string"; then
- echo="$dir/echo"
- break
- fi
- done
- IFS="$lt_save_ifs"
-
- if test "X$echo" = Xecho; then
- # We didn't find a better echo, so look for alternatives.
- if test "X`(print -r '\t') 2>/dev/null`" = 'X\t' &&
- echo_testing_string=`(print -r "$echo_test_string") 2>/dev/null` &&
- test "X$echo_testing_string" = "X$echo_test_string"; then
- # This shell has a builtin print -r that does the trick.
- echo='print -r'
- elif (test -f /bin/ksh || test -f /bin/ksh$ac_exeext) &&
- test "X$CONFIG_SHELL" != X/bin/ksh; then
- # If we have ksh, try running configure again with it.
- ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
- export ORIGINAL_CONFIG_SHELL
- CONFIG_SHELL=/bin/ksh
- export CONFIG_SHELL
- exec $CONFIG_SHELL "[$]0" --no-reexec ${1+"[$]@"}
- else
- # Try using printf.
- echo='printf %s\n'
- if test "X`($echo '\t') 2>/dev/null`" = 'X\t' &&
- echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` &&
- test "X$echo_testing_string" = "X$echo_test_string"; then
- # Cool, printf works
- :
- elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` &&
- test "X$echo_testing_string" = 'X\t' &&
- echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
- test "X$echo_testing_string" = "X$echo_test_string"; then
- CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL
- export CONFIG_SHELL
- SHELL="$CONFIG_SHELL"
- export SHELL
- echo="$CONFIG_SHELL [$]0 --fallback-echo"
- elif echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` &&
- test "X$echo_testing_string" = 'X\t' &&
- echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
- test "X$echo_testing_string" = "X$echo_test_string"; then
- echo="$CONFIG_SHELL [$]0 --fallback-echo"
- else
- # maybe with a smaller string...
- prev=:
-
- for cmd in 'echo test' 'sed 2q "[$]0"' 'sed 10q "[$]0"' 'sed 20q "[$]0"' 'sed 50q "[$]0"'; do
- if (test "X$echo_test_string" = "X`eval $cmd`") 2>/dev/null
- then
- break
- fi
- prev="$cmd"
- done
-
- if test "$prev" != 'sed 50q "[$]0"'; then
- echo_test_string=`eval $prev`
- export echo_test_string
- exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "[$]0" ${1+"[$]@"}
- else
- # Oops. We lost completely, so just stick with echo.
- echo=echo
- fi
- fi
- fi
- fi
-fi
-fi
-
-# Copy echo and quote the copy suitably for passing to libtool from
-# the Makefile, instead of quoting the original, which is used later.
-ECHO=$echo
-if test "X$ECHO" = "X$CONFIG_SHELL [$]0 --fallback-echo"; then
- ECHO="$CONFIG_SHELL \\\$\[$]0 --fallback-echo"
-fi
-
-AC_SUBST(ECHO)
-])])# _LT_AC_PROG_ECHO_BACKSLASH
-
-
-# _LT_AC_LOCK
-# -----------
-AC_DEFUN([_LT_AC_LOCK],
-[AC_ARG_ENABLE([libtool-lock],
- [AC_HELP_STRING([--disable-libtool-lock],
- [avoid locking (might break parallel builds)])])
-test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
-
-# Some flags need to be propagated to the compiler or linker for good
-# libtool support.
-case $host in
-ia64-*-hpux*)
- # Find out which ABI we are using.
- echo 'int i;' > conftest.$ac_ext
- if AC_TRY_EVAL(ac_compile); then
- case `/usr/bin/file conftest.$ac_objext` in
- *ELF-32*)
- HPUX_IA64_MODE="32"
- ;;
- *ELF-64*)
- HPUX_IA64_MODE="64"
- ;;
- esac
- fi
- rm -rf conftest*
- ;;
-*-*-irix6*)
- # Find out which ABI we are using.
- echo '[#]line __oline__ "configure"' > conftest.$ac_ext
- if AC_TRY_EVAL(ac_compile); then
- if test "$lt_cv_prog_gnu_ld" = yes; then
- case `/usr/bin/file conftest.$ac_objext` in
- *32-bit*)
- LD="${LD-ld} -melf32bsmip"
- ;;
- *N32*)
- LD="${LD-ld} -melf32bmipn32"
- ;;
- *64-bit*)
- LD="${LD-ld} -melf64bmip"
- ;;
- esac
- else
- case `/usr/bin/file conftest.$ac_objext` in
- *32-bit*)
- LD="${LD-ld} -32"
- ;;
- *N32*)
- LD="${LD-ld} -n32"
- ;;
- *64-bit*)
- LD="${LD-ld} -64"
- ;;
- esac
- fi
- fi
- rm -rf conftest*
- ;;
-
-x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*|s390*-*linux*|sparc*-*linux*)
- # Find out which ABI we are using.
- echo 'int i;' > conftest.$ac_ext
- if AC_TRY_EVAL(ac_compile); then
- case `/usr/bin/file conftest.o` in
- *32-bit*)
- case $host in
- x86_64-*linux*)
- LD="${LD-ld} -m elf_i386"
- ;;
- ppc64-*linux*|powerpc64-*linux*)
- LD="${LD-ld} -m elf32ppclinux"
- ;;
- s390x-*linux*)
- LD="${LD-ld} -m elf_s390"
- ;;
- sparc64-*linux*)
- LD="${LD-ld} -m elf32_sparc"
- ;;
- esac
- ;;
- *64-bit*)
- case $host in
- x86_64-*linux*)
- LD="${LD-ld} -m elf_x86_64"
- ;;
- ppc*-*linux*|powerpc*-*linux*)
- LD="${LD-ld} -m elf64ppc"
- ;;
- s390*-*linux*)
- LD="${LD-ld} -m elf64_s390"
- ;;
- sparc*-*linux*)
- LD="${LD-ld} -m elf64_sparc"
- ;;
- esac
- ;;
- esac
- fi
- rm -rf conftest*
- ;;
-
-*-*-sco3.2v5*)
- # On SCO OpenServer 5, we need -belf to get full-featured binaries.
- SAVE_CFLAGS="$CFLAGS"
- CFLAGS="$CFLAGS -belf"
- AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf,
- [AC_LANG_PUSH(C)
- AC_TRY_LINK([],[],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no])
- AC_LANG_POP])
- if test x"$lt_cv_cc_needs_belf" != x"yes"; then
- # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
- CFLAGS="$SAVE_CFLAGS"
- fi
- ;;
-sparc*-*solaris*)
- # Find out which ABI we are using.
- echo 'int i;' > conftest.$ac_ext
- if AC_TRY_EVAL(ac_compile); then
- case `/usr/bin/file conftest.o` in
- *64-bit*)
- case $lt_cv_prog_gnu_ld in
- yes*) LD="${LD-ld} -m elf64_sparc" ;;
- *) LD="${LD-ld} -64" ;;
- esac
- ;;
- esac
- fi
- rm -rf conftest*
- ;;
-
-AC_PROVIDE_IFELSE([AC_LIBTOOL_WIN32_DLL],
-[*-*-cygwin* | *-*-mingw* | *-*-pw32*)
- AC_CHECK_TOOL(DLLTOOL, dlltool, false)
- AC_CHECK_TOOL(AS, as, false)
- AC_CHECK_TOOL(OBJDUMP, objdump, false)
- ;;
- ])
-esac
-
-need_locks="$enable_libtool_lock"
-
-])# _LT_AC_LOCK
-
-
-# AC_LIBTOOL_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
-# [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE])
-# ----------------------------------------------------------------
-# Check whether the given compiler option works
-AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION],
-[AC_REQUIRE([LT_AC_PROG_SED])
-AC_CACHE_CHECK([$1], [$2],
- [$2=no
- ifelse([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4])
- printf "$lt_simple_compile_test_code" > conftest.$ac_ext
- lt_compiler_flag="$3"
- # Insert the option either (1) after the last *FLAGS variable, or
- # (2) before a word containing "conftest.", or (3) at the end.
- # Note that $ac_compile itself does not contain backslashes and begins
- # with a dollar sign (not a hyphen), so the echo should work correctly.
- # The option is referenced via a variable to avoid confusing sed.
- lt_compile=`echo "$ac_compile" | $SED \
- -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
- -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
- -e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
- (eval "$lt_compile" 2>conftest.err)
- ac_status=$?
- cat conftest.err >&AS_MESSAGE_LOG_FD
- echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
- if (exit $ac_status) && test -s "$ac_outfile"; then
- # The compiler can only warn and ignore the option if not recognized
- # So say no if there are warnings other than the usual output.
- $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
- $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
- if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
- $2=yes
- fi
- fi
- $rm conftest*
-])
-
-if test x"[$]$2" = xyes; then
- ifelse([$5], , :, [$5])
-else
- ifelse([$6], , :, [$6])
-fi
-])# AC_LIBTOOL_COMPILER_OPTION
-
-
-# AC_LIBTOOL_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
-# [ACTION-SUCCESS], [ACTION-FAILURE])
-# ------------------------------------------------------------
-# Check whether the given compiler option works
-AC_DEFUN([AC_LIBTOOL_LINKER_OPTION],
-[AC_CACHE_CHECK([$1], [$2],
- [$2=no
- save_LDFLAGS="$LDFLAGS"
- LDFLAGS="$LDFLAGS $3"
- printf "$lt_simple_link_test_code" > conftest.$ac_ext
- if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
- # The linker can only warn and ignore the option if not recognized
- # So say no if there are warnings
- if test -s conftest.err; then
- # Append any errors to the config.log.
- cat conftest.err 1>&AS_MESSAGE_LOG_FD
- $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
- $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
- if diff conftest.exp conftest.er2 >/dev/null; then
- $2=yes
- fi
- else
- $2=yes
- fi
- fi
- $rm conftest*
- LDFLAGS="$save_LDFLAGS"
-])
-
-if test x"[$]$2" = xyes; then
- ifelse([$4], , :, [$4])
-else
- ifelse([$5], , :, [$5])
-fi
-])# AC_LIBTOOL_LINKER_OPTION
-
-
-# AC_LIBTOOL_SYS_MAX_CMD_LEN
-# --------------------------
-AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN],
-[# find the maximum length of command line arguments
-AC_MSG_CHECKING([the maximum length of command line arguments])
-AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
- i=0
- teststring="ABCD"
-
- case $build_os in
- msdosdjgpp*)
- # On DJGPP, this test can blow up pretty badly due to problems in libc
- # (any single argument exceeding 2000 bytes causes a buffer overrun
- # during glob expansion). Even if it were fixed, the result of this
- # check would be larger than it should be.
- lt_cv_sys_max_cmd_len=12288; # 12K is about right
- ;;
-
- gnu*)
- # Under GNU Hurd, this test is not required because there is
- # no limit to the length of command line arguments.
- # Libtool will interpret -1 as no limit whatsoever
- lt_cv_sys_max_cmd_len=-1;
- ;;
-
- cygwin* | mingw*)
- # On Win9x/ME, this test blows up -- it succeeds, but takes
- # about 5 minutes as the teststring grows exponentially.
- # Worse, since 9x/ME are not pre-emptively multitasking,
- # you end up with a "frozen" computer, even though with patience
- # the test eventually succeeds (with a max line length of 256k).
- # Instead, let's just punt: use the minimum linelength reported by
- # all of the supported platforms: 8192 (on NT/2K/XP).
- lt_cv_sys_max_cmd_len=8192;
- ;;
-
- amigaos*)
- # On AmigaOS with pdksh, this test takes hours, literally.
- # So we just punt and use a minimum line length of 8192.
- lt_cv_sys_max_cmd_len=8192;
- ;;
-
- netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
- # This has been around since 386BSD, at least. Likely further.
- if test -x /sbin/sysctl; then
- lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
- elif test -x /usr/sbin/sysctl; then
- lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
- else
- lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs
- fi
- # And add a safety zone
- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
- ;;
-
- interix*)
- # We know the value 262144 and hardcode it with a safety zone (like BSD)
- lt_cv_sys_max_cmd_len=196608
- ;;
-
- osf*)
- # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
- # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
- # nice to cause kernel panics so lets avoid the loop below.
- # First set a reasonable default.
- lt_cv_sys_max_cmd_len=16384
- #
- if test -x /sbin/sysconfig; then
- case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
- *1*) lt_cv_sys_max_cmd_len=-1 ;;
- esac
- fi
- ;;
- sco3.2v5*)
- lt_cv_sys_max_cmd_len=102400
- ;;
- sysv5* | sco5v6* | sysv4.2uw2*)
- kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
- if test -n "$kargmax"; then
- lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'`
- else
- lt_cv_sys_max_cmd_len=32768
- fi
- ;;
- *)
- # If test is not a shell built-in, we'll probably end up computing a
- # maximum length that is only half of the actual maximum length, but
- # we can't tell.
- SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
- while (test "X"`$SHELL [$]0 --fallback-echo "X$teststring" 2>/dev/null` \
- = "XX$teststring") >/dev/null 2>&1 &&
- new_result=`expr "X$teststring" : ".*" 2>&1` &&
- lt_cv_sys_max_cmd_len=$new_result &&
- test $i != 17 # 1/2 MB should be enough
- do
- i=`expr $i + 1`
- teststring=$teststring$teststring
- done
- teststring=
- # Add a significant safety factor because C++ compilers can tack on massive
- # amounts of additional arguments before passing them to the linker.
- # It appears as though 1/2 is a usable value.
- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
- ;;
- esac
-])
-if test -n $lt_cv_sys_max_cmd_len ; then
- AC_MSG_RESULT($lt_cv_sys_max_cmd_len)
-else
- AC_MSG_RESULT(none)
-fi
-])# AC_LIBTOOL_SYS_MAX_CMD_LEN
-
-
-# _LT_AC_CHECK_DLFCN
-# ------------------
-AC_DEFUN([_LT_AC_CHECK_DLFCN],
-[AC_CHECK_HEADERS(dlfcn.h)dnl
-])# _LT_AC_CHECK_DLFCN
-
-
-# _LT_AC_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE,
-# ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING)
-# ---------------------------------------------------------------------
-AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF],
-[AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl
-if test "$cross_compiling" = yes; then :
- [$4]
-else
- lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
- lt_status=$lt_dlunknown
- cat > conftest.$ac_ext <<EOF
-[#line __oline__ "configure"
-#include "confdefs.h"
-
-#if HAVE_DLFCN_H
-#include <dlfcn.h>
-#endif
-
-#include <stdio.h>
-
-#ifdef RTLD_GLOBAL
-# define LT_DLGLOBAL RTLD_GLOBAL
-#else
-# ifdef DL_GLOBAL
-# define LT_DLGLOBAL DL_GLOBAL
-# else
-# define LT_DLGLOBAL 0
-# endif
-#endif
-
-/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
- find out it does not work in some platform. */
-#ifndef LT_DLLAZY_OR_NOW
-# ifdef RTLD_LAZY
-# define LT_DLLAZY_OR_NOW RTLD_LAZY
-# else
-# ifdef DL_LAZY
-# define LT_DLLAZY_OR_NOW DL_LAZY
-# else
-# ifdef RTLD_NOW
-# define LT_DLLAZY_OR_NOW RTLD_NOW
-# else
-# ifdef DL_NOW
-# define LT_DLLAZY_OR_NOW DL_NOW
-# else
-# define LT_DLLAZY_OR_NOW 0
-# endif
-# endif
-# endif
-# endif
-#endif
-
-#ifdef __cplusplus
-extern "C" void exit (int);
-#endif
-
-void fnord() { int i=42;}
-int main ()
-{
- void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
- int status = $lt_dlunknown;
-
- if (self)
- {
- if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
- else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
- /* dlclose (self); */
- }
- else
- puts (dlerror ());
-
- exit (status);
-}]
-EOF
- if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then
- (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null
- lt_status=$?
- case x$lt_status in
- x$lt_dlno_uscore) $1 ;;
- x$lt_dlneed_uscore) $2 ;;
- x$lt_dlunknown|x*) $3 ;;
- esac
- else :
- # compilation failed
- $3
- fi
-fi
-rm -fr conftest*
-])# _LT_AC_TRY_DLOPEN_SELF
-
-
-# AC_LIBTOOL_DLOPEN_SELF
-# ----------------------
-AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF],
-[AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl
-if test "x$enable_dlopen" != xyes; then
- enable_dlopen=unknown
- enable_dlopen_self=unknown
- enable_dlopen_self_static=unknown
-else
- lt_cv_dlopen=no
- lt_cv_dlopen_libs=
-
- case $host_os in
- beos*)
- lt_cv_dlopen="load_add_on"
- lt_cv_dlopen_libs=
- lt_cv_dlopen_self=yes
- ;;
-
- mingw* | pw32*)
- lt_cv_dlopen="LoadLibrary"
- lt_cv_dlopen_libs=
- ;;
-
- cygwin*)
- lt_cv_dlopen="dlopen"
- lt_cv_dlopen_libs=
- ;;
-
- darwin*)
- # if libdl is installed we need to link against it
- AC_CHECK_LIB([dl], [dlopen],
- [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[
- lt_cv_dlopen="dyld"
- lt_cv_dlopen_libs=
- lt_cv_dlopen_self=yes
- ])
- ;;
-
- *)
- AC_CHECK_FUNC([shl_load],
- [lt_cv_dlopen="shl_load"],
- [AC_CHECK_LIB([dld], [shl_load],
- [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld"],
- [AC_CHECK_FUNC([dlopen],
- [lt_cv_dlopen="dlopen"],
- [AC_CHECK_LIB([dl], [dlopen],
- [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],
- [AC_CHECK_LIB([svld], [dlopen],
- [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"],
- [AC_CHECK_LIB([dld], [dld_link],
- [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld"])
- ])
- ])
- ])
- ])
- ])
- ;;
- esac
-
- if test "x$lt_cv_dlopen" != xno; then
- enable_dlopen=yes
- else
- enable_dlopen=no
- fi
-
- case $lt_cv_dlopen in
- dlopen)
- save_CPPFLAGS="$CPPFLAGS"
- test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
-
- save_LDFLAGS="$LDFLAGS"
- wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
-
- save_LIBS="$LIBS"
- LIBS="$lt_cv_dlopen_libs $LIBS"
-
- AC_CACHE_CHECK([whether a program can dlopen itself],
- lt_cv_dlopen_self, [dnl
- _LT_AC_TRY_DLOPEN_SELF(
- lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes,
- lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross)
- ])
-
- if test "x$lt_cv_dlopen_self" = xyes; then
- wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
- AC_CACHE_CHECK([whether a statically linked program can dlopen itself],
- lt_cv_dlopen_self_static, [dnl
- _LT_AC_TRY_DLOPEN_SELF(
- lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes,
- lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross)
- ])
- fi
-
- CPPFLAGS="$save_CPPFLAGS"
- LDFLAGS="$save_LDFLAGS"
- LIBS="$save_LIBS"
- ;;
- esac
-
- case $lt_cv_dlopen_self in
- yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
- *) enable_dlopen_self=unknown ;;
- esac
-
- case $lt_cv_dlopen_self_static in
- yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
- *) enable_dlopen_self_static=unknown ;;
- esac
-fi
-])# AC_LIBTOOL_DLOPEN_SELF
-
-
-# AC_LIBTOOL_PROG_CC_C_O([TAGNAME])
-# ---------------------------------
-# Check to see if options -c and -o are simultaneously supported by compiler
-AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O],
-[AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl
-AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext],
- [_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)],
- [_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no
- $rm -r conftest 2>/dev/null
- mkdir conftest
- cd conftest
- mkdir out
- printf "$lt_simple_compile_test_code" > conftest.$ac_ext
-
- lt_compiler_flag="-o out/conftest2.$ac_objext"
- # Insert the option either (1) after the last *FLAGS variable, or
- # (2) before a word containing "conftest.", or (3) at the end.
- # Note that $ac_compile itself does not contain backslashes and begins
- # with a dollar sign (not a hyphen), so the echo should work correctly.
- lt_compile=`echo "$ac_compile" | $SED \
- -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
- -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
- -e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
- (eval "$lt_compile" 2>out/conftest.err)
- ac_status=$?
- cat out/conftest.err >&AS_MESSAGE_LOG_FD
- echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
- if (exit $ac_status) && test -s out/conftest2.$ac_objext
- then
- # The compiler can only warn and ignore the option if not recognized
- # So say no if there are warnings
- $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
- $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
- if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
- _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
- fi
- fi
- chmod u+w . 2>&AS_MESSAGE_LOG_FD
- $rm conftest*
- # SGI C++ compiler will create directory out/ii_files/ for
- # template instantiation
- test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files
- $rm out/* && rmdir out
- cd ..
- rmdir conftest
- $rm conftest*
-])
-])# AC_LIBTOOL_PROG_CC_C_O
-
-
-# AC_LIBTOOL_SYS_HARD_LINK_LOCKS([TAGNAME])
-# -----------------------------------------
-# Check to see if we can do hard links to lock some files if needed
-AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS],
-[AC_REQUIRE([_LT_AC_LOCK])dnl
-
-hard_links="nottested"
-if test "$_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then
- # do not overwrite the value of need_locks provided by the user
- AC_MSG_CHECKING([if we can lock with hard links])
- hard_links=yes
- $rm conftest*
- ln conftest.a conftest.b 2>/dev/null && hard_links=no
- touch conftest.a
- ln conftest.a conftest.b 2>&5 || hard_links=no
- ln conftest.a conftest.b 2>/dev/null && hard_links=no
- AC_MSG_RESULT([$hard_links])
- if test "$hard_links" = no; then
- AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe])
- need_locks=warn
- fi
-else
- need_locks=no
-fi
-])# AC_LIBTOOL_SYS_HARD_LINK_LOCKS
-
-
-# AC_LIBTOOL_OBJDIR
-# -----------------
-AC_DEFUN([AC_LIBTOOL_OBJDIR],
-[AC_CACHE_CHECK([for objdir], [lt_cv_objdir],
-[rm -f .libs 2>/dev/null
-mkdir .libs 2>/dev/null
-if test -d .libs; then
- lt_cv_objdir=.libs
-else
- # MS-DOS does not allow filenames that begin with a dot.
- lt_cv_objdir=_libs
-fi
-rmdir .libs 2>/dev/null])
-objdir=$lt_cv_objdir
-])# AC_LIBTOOL_OBJDIR
-
-
-# AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH([TAGNAME])
-# ----------------------------------------------
-# Check hardcoding attributes.
-AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH],
-[AC_MSG_CHECKING([how to hardcode library paths into programs])
-_LT_AC_TAGVAR(hardcode_action, $1)=
-if test -n "$_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)" || \
- test -n "$_LT_AC_TAGVAR(runpath_var, $1)" || \
- test "X$_LT_AC_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then
-
- # We can hardcode non-existant directories.
- if test "$_LT_AC_TAGVAR(hardcode_direct, $1)" != no &&
- # If the only mechanism to avoid hardcoding is shlibpath_var, we
- # have to relink, otherwise we might link with an installed library
- # when we should be linking with a yet-to-be-installed one
- ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)" != no &&
- test "$_LT_AC_TAGVAR(hardcode_minus_L, $1)" != no; then
- # Linking always hardcodes the temporary library directory.
- _LT_AC_TAGVAR(hardcode_action, $1)=relink
- else
- # We can link without hardcoding, and we can hardcode nonexisting dirs.
- _LT_AC_TAGVAR(hardcode_action, $1)=immediate
- fi
-else
- # We cannot hardcode anything, or else we can only hardcode existing
- # directories.
- _LT_AC_TAGVAR(hardcode_action, $1)=unsupported
-fi
-AC_MSG_RESULT([$_LT_AC_TAGVAR(hardcode_action, $1)])
-
-if test "$_LT_AC_TAGVAR(hardcode_action, $1)" = relink; then
- # Fast installation is not supported
- enable_fast_install=no
-elif test "$shlibpath_overrides_runpath" = yes ||
- test "$enable_shared" = no; then
- # Fast installation is not necessary
- enable_fast_install=needless
-fi
-])# AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH
-
-
-# AC_LIBTOOL_SYS_LIB_STRIP
-# ------------------------
-AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP],
-[striplib=
-old_striplib=
-AC_MSG_CHECKING([whether stripping libraries is possible])
-if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then
- test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
- test -z "$striplib" && striplib="$STRIP --strip-unneeded"
- AC_MSG_RESULT([yes])
-else
-# FIXME - insert some real tests, host_os isn't really good enough
- case $host_os in
- darwin*)
- if test -n "$STRIP" ; then
- striplib="$STRIP -x"
- AC_MSG_RESULT([yes])
- else
- AC_MSG_RESULT([no])
-fi
- ;;
- *)
- AC_MSG_RESULT([no])
- ;;
- esac
-fi
-])# AC_LIBTOOL_SYS_LIB_STRIP
-
-
-# AC_LIBTOOL_SYS_DYNAMIC_LINKER
-# -----------------------------
-# PORTME Fill in your ld.so characteristics
-AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER],
-[AC_MSG_CHECKING([dynamic linker characteristics])
-library_names_spec=
-libname_spec='lib$name'
-soname_spec=
-shrext_cmds=".so"
-postinstall_cmds=
-postuninstall_cmds=
-finish_cmds=
-finish_eval=
-shlibpath_var=
-shlibpath_overrides_runpath=unknown
-version_type=none
-dynamic_linker="$host_os ld.so"
-sys_lib_dlsearch_path_spec="/lib /usr/lib"
-if test "$GCC" = yes; then
- sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
- if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then
- # if the path contains ";" then we assume it to be the separator
- # otherwise default to the standard path separator (i.e. ":") - it is
- # assumed that no part of a normal pathname contains ";" but that should
- # okay in the real world where ";" in dirpaths is itself problematic.
- sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
- else
- sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
- fi
-else
- sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
-fi
-need_lib_prefix=unknown
-hardcode_into_libs=no
-
-# when you set need_version to no, make sure it does not cause -set_version
-# flags to be left without arguments
-need_version=unknown
-
-case $host_os in
-aix3*)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
- shlibpath_var=LIBPATH
-
- # AIX 3 has no versioning support, so we append a major version to the name.
- soname_spec='${libname}${release}${shared_ext}$major'
- ;;
-
-aix4* | aix5*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- hardcode_into_libs=yes
- if test "$host_cpu" = ia64; then
- # AIX 5 supports IA64
- library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
- shlibpath_var=LD_LIBRARY_PATH
- else
- # With GCC up to 2.95.x, collect2 would create an import file
- # for dependence libraries. The import file would start with
- # the line `#! .'. This would cause the generated library to
- # depend on `.', always an invalid library. This was fixed in
- # development snapshots of GCC prior to 3.0.
- case $host_os in
- aix4 | aix4.[[01]] | aix4.[[01]].*)
- if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
- echo ' yes '
- echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then
- :
- else
- can_build_shared=no
- fi
- ;;
- esac
- # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
- # soname into executable. Probably we can add versioning support to
- # collect2, so additional links can be useful in future.
- if test "$aix_use_runtimelinking" = yes; then
- # If using run time linking (on AIX 4.2 or later) use lib<name>.so
- # instead of lib<name>.a to let people know that these are not
- # typical AIX shared libraries.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- else
- # We preserve .a as extension for shared libraries through AIX4.2
- # and later when we are not doing run time linking.
- library_names_spec='${libname}${release}.a $libname.a'
- soname_spec='${libname}${release}${shared_ext}$major'
- fi
- shlibpath_var=LIBPATH
- fi
- ;;
-
-amigaos*)
- library_names_spec='$libname.ixlibrary $libname.a'
- # Create ${libname}_ixlibrary.a entries in /sys/libs.
- finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
- ;;
-
-beos*)
- library_names_spec='${libname}${shared_ext}'
- dynamic_linker="$host_os ld.so"
- shlibpath_var=LIBRARY_PATH
- ;;
-
-bsdi[[45]]*)
- version_type=linux
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
- sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
- # the default ld.so.conf also contains /usr/contrib/lib and
- # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
- # libtool to hard-code these into programs
- ;;
-
-cygwin* | mingw* | pw32*)
- version_type=windows
- shrext_cmds=".dll"
- need_version=no
- need_lib_prefix=no
-
- case $GCC,$host_os in
- yes,cygwin* | yes,mingw* | yes,pw32*)
- library_names_spec='$libname.dll.a'
- # DLL is installed to $(libdir)/../bin by postinstall_cmds
- postinstall_cmds='base_file=`basename \${file}`~
- dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~
- dldir=$destdir/`dirname \$dlpath`~
- test -d \$dldir || mkdir -p \$dldir~
- $install_prog $dir/$dlname \$dldir/$dlname~
- chmod a+x \$dldir/$dlname'
- postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
- dlpath=$dir/\$dldll~
- $rm \$dlpath'
- shlibpath_overrides_runpath=yes
-
- case $host_os in
- cygwin*)
- # Cygwin DLLs use 'cyg' prefix rather than 'lib'
- soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
- sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib"
- ;;
- mingw*)
- # MinGW DLLs use traditional 'lib' prefix
- soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
- sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
- if echo "$sys_lib_search_path_spec" | [grep ';[c-zC-Z]:/' >/dev/null]; then
- # It is most probably a Windows format PATH printed by
- # mingw gcc, but we are running on Cygwin. Gcc prints its search
- # path with ; separators, and with drive letters. We can handle the
- # drive letters (cygwin fileutils understands them), so leave them,
- # especially as we might pass files found there to a mingw objdump,
- # which wouldn't understand a cygwinified path. Ahh.
- sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
- else
- sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
- fi
- ;;
- pw32*)
- # pw32 DLLs use 'pw' prefix rather than 'lib'
- library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
- ;;
- esac
- ;;
-
- *)
- library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib'
- ;;
- esac
- dynamic_linker='Win32 ld.exe'
- # FIXME: first we should search . and the directory the executable is in
- shlibpath_var=PATH
- ;;
-
-darwin* | rhapsody*)
- dynamic_linker="$host_os dyld"
- version_type=darwin
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext'
- soname_spec='${libname}${release}${major}$shared_ext'
- shlibpath_overrides_runpath=yes
- shlibpath_var=DYLD_LIBRARY_PATH
- shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
- # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same.
- if test "$GCC" = yes; then
- sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"`
- else
- sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib'
- fi
- sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
- ;;
-
-dgux*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- ;;
-
-freebsd1*)
- dynamic_linker=no
- ;;
-
-kfreebsd*-gnu)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- dynamic_linker='GNU ld.so'
- ;;
-
-freebsd* | dragonfly*)
- # DragonFly does not have aout. When/if they implement a new
- # versioning mechanism, adjust this.
- if test -x /usr/bin/objformat; then
- objformat=`/usr/bin/objformat`
- else
- case $host_os in
- freebsd[[123]]*) objformat=aout ;;
- *) objformat=elf ;;
- esac
- fi
- version_type=freebsd-$objformat
- case $version_type in
- freebsd-elf*)
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
- need_version=no
- need_lib_prefix=no
- ;;
- freebsd-*)
- library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
- need_version=yes
- ;;
- esac
- shlibpath_var=LD_LIBRARY_PATH
- case $host_os in
- freebsd2*)
- shlibpath_overrides_runpath=yes
- ;;
- freebsd3.[[01]]* | freebsdelf3.[[01]]*)
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- ;;
- freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \
- freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1)
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- ;;
- freebsd*) # from 4.6 on
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- ;;
- esac
- ;;
-
-gnu*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- hardcode_into_libs=yes
- ;;
-
-hpux9* | hpux10* | hpux11*)
- # Give a soname corresponding to the major version so that dld.sl refuses to
- # link against other versions.
- version_type=sunos
- need_lib_prefix=no
- need_version=no
- case $host_cpu in
- ia64*)
- shrext_cmds='.so'
- hardcode_into_libs=yes
- dynamic_linker="$host_os dld.so"
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- if test "X$HPUX_IA64_MODE" = X32; then
- sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
- else
- sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
- fi
- sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
- ;;
- hppa*64*)
- shrext_cmds='.sl'
- hardcode_into_libs=yes
- dynamic_linker="$host_os dld.sl"
- shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
- shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
- sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
- ;;
- *)
- shrext_cmds='.sl'
- dynamic_linker="$host_os dld.sl"
- shlibpath_var=SHLIB_PATH
- shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- ;;
- esac
- # HP-UX runs *really* slowly unless shared libraries are mode 555.
- postinstall_cmds='chmod 555 $lib'
- ;;
-
-interix3*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- ;;
-
-irix5* | irix6* | nonstopux*)
- case $host_os in
- nonstopux*) version_type=nonstopux ;;
- *)
- if test "$lt_cv_prog_gnu_ld" = yes; then
- version_type=linux
- else
- version_type=irix
- fi ;;
- esac
- need_lib_prefix=no
- need_version=no
- soname_spec='${libname}${release}${shared_ext}$major'
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
- case $host_os in
- irix5* | nonstopux*)
- libsuff= shlibsuff=
- ;;
- *)
- case $LD in # libtool.m4 will add one of these switches to LD
- *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
- libsuff= shlibsuff= libmagic=32-bit;;
- *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
- libsuff=32 shlibsuff=N32 libmagic=N32;;
- *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
- libsuff=64 shlibsuff=64 libmagic=64-bit;;
- *) libsuff= shlibsuff= libmagic=never-match;;
- esac
- ;;
- esac
- shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
- shlibpath_overrides_runpath=no
- sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
- sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
- hardcode_into_libs=yes
- ;;
-
-# No shared lib support for Linux oldld, aout, or coff.
-linux*oldld* | linux*aout* | linux*coff*)
- dynamic_linker=no
- ;;
-
-# This must be Linux ELF.
-linux*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- # This implies no fast_install, which is unacceptable.
- # Some rework will be needed to allow for fast_install
- # before this can be enabled.
- hardcode_into_libs=yes
-
- # Append ld.so.conf contents to the search path
- if test -f /etc/ld.so.conf; then
- lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
- sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
- fi
-
- # We used to test for /lib/ld.so.1 and disable shared libraries on
- # powerpc, because MkLinux only supported shared libraries with the
- # GNU dynamic linker. Since this was broken with cross compilers,
- # most powerpc-linux boxes support dynamic linking these days and
- # people can always --disable-shared, the test was removed, and we
- # assume the GNU/Linux dynamic linker is in use.
- dynamic_linker='GNU/Linux ld.so'
- ;;
-
-knetbsd*-gnu)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- dynamic_linker='GNU ld.so'
- ;;
-
-netbsd*)
- version_type=sunos
- need_lib_prefix=no
- need_version=no
- if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
- dynamic_linker='NetBSD (a.out) ld.so'
- else
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- dynamic_linker='NetBSD ld.elf_so'
- fi
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- ;;
-
-newsos6)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- ;;
-
-nto-qnx*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- ;;
-
-openbsd*)
- version_type=sunos
- sys_lib_dlsearch_path_spec="/usr/lib"
- need_lib_prefix=no
- # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
- case $host_os in
- openbsd3.3 | openbsd3.3.*) need_version=yes ;;
- *) need_version=no ;;
- esac
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- case $host_os in
- openbsd2.[[89]] | openbsd2.[[89]].*)
- shlibpath_overrides_runpath=no
- ;;
- *)
- shlibpath_overrides_runpath=yes
- ;;
- esac
- else
- shlibpath_overrides_runpath=yes
- fi
- ;;
-
-os2*)
- libname_spec='$name'
- shrext_cmds=".dll"
- need_lib_prefix=no
- library_names_spec='$libname${shared_ext} $libname.a'
- dynamic_linker='OS/2 ld.exe'
- shlibpath_var=LIBPATH
- ;;
-
-osf3* | osf4* | osf5*)
- version_type=osf
- need_lib_prefix=no
- need_version=no
- soname_spec='${libname}${release}${shared_ext}$major'
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- shlibpath_var=LD_LIBRARY_PATH
- sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
- sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
- ;;
-
-solaris*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- # ldd complains unless libraries are executable
- postinstall_cmds='chmod +x $lib'
- ;;
-
-sunos4*)
- version_type=sunos
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
- finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- if test "$with_gnu_ld" = yes; then
- need_lib_prefix=no
- fi
- need_version=yes
- ;;
-
-sysv4 | sysv4.3*)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- case $host_vendor in
- sni)
- shlibpath_overrides_runpath=no
- need_lib_prefix=no
- export_dynamic_flag_spec='${wl}-Blargedynsym'
- runpath_var=LD_RUN_PATH
- ;;
- siemens)
- need_lib_prefix=no
- ;;
- motorola)
- need_lib_prefix=no
- need_version=no
- shlibpath_overrides_runpath=no
- sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
- ;;
- esac
- ;;
-
-sysv4*MP*)
- if test -d /usr/nec ;then
- version_type=linux
- library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
- soname_spec='$libname${shared_ext}.$major'
- shlibpath_var=LD_LIBRARY_PATH
- fi
- ;;
-
-sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
- version_type=freebsd-elf
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- hardcode_into_libs=yes
- if test "$with_gnu_ld" = yes; then
- sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
- shlibpath_overrides_runpath=no
- else
- sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
- shlibpath_overrides_runpath=yes
- case $host_os in
- sco3.2v5*)
- sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
- ;;
- esac
- fi
- sys_lib_dlsearch_path_spec='/usr/lib'
- ;;
-
-uts4*)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- ;;
-
-*)
- dynamic_linker=no
- ;;
-esac
-AC_MSG_RESULT([$dynamic_linker])
-test "$dynamic_linker" = no && can_build_shared=no
-
-variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
-if test "$GCC" = yes; then
- variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
-fi
-])# AC_LIBTOOL_SYS_DYNAMIC_LINKER
-
-
-# _LT_AC_TAGCONFIG
-# ----------------
-AC_DEFUN([_LT_AC_TAGCONFIG],
-[AC_ARG_WITH([tags],
- [AC_HELP_STRING([--with-tags@<:@=TAGS@:>@],
- [include additional configurations @<:@automatic@:>@])],
- [tagnames="$withval"])
-
-if test -f "$ltmain" && test -n "$tagnames"; then
- if test ! -f "${ofile}"; then
- AC_MSG_WARN([output file `$ofile' does not exist])
- fi
-
- if test -z "$LTCC"; then
- eval "`$SHELL ${ofile} --config | grep '^LTCC='`"
- if test -z "$LTCC"; then
- AC_MSG_WARN([output file `$ofile' does not look like a libtool script])
- else
- AC_MSG_WARN([using `LTCC=$LTCC', extracted from `$ofile'])
- fi
- fi
- if test -z "$LTCFLAGS"; then
- eval "`$SHELL ${ofile} --config | grep '^LTCFLAGS='`"
- fi
-
- # Extract list of available tagged configurations in $ofile.
- # Note that this assumes the entire list is on one line.
- available_tags=`grep "^available_tags=" "${ofile}" | $SED -e 's/available_tags=\(.*$\)/\1/' -e 's/\"//g'`
-
- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
- for tagname in $tagnames; do
- IFS="$lt_save_ifs"
- # Check whether tagname contains only valid characters
- case `$echo "X$tagname" | $Xsed -e 's:[[-_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890,/]]::g'` in
- "") ;;
- *) AC_MSG_ERROR([invalid tag name: $tagname])
- ;;
- esac
-
- if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "${ofile}" > /dev/null
- then
- AC_MSG_ERROR([tag name \"$tagname\" already exists])
- fi
-
- # Update the list of available tags.
- if test -n "$tagname"; then
- echo appending configuration tag \"$tagname\" to $ofile
-
- case $tagname in
- CXX)
- if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
- ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
- (test "X$CXX" != "Xg++"))) ; then
- AC_LIBTOOL_LANG_CXX_CONFIG
- else
- tagname=""
- fi
- ;;
-
- F77)
- if test -n "$F77" && test "X$F77" != "Xno"; then
- AC_LIBTOOL_LANG_F77_CONFIG
- else
- tagname=""
- fi
- ;;
-
- GCJ)
- if test -n "$GCJ" && test "X$GCJ" != "Xno"; then
- AC_LIBTOOL_LANG_GCJ_CONFIG
- else
- tagname=""
- fi
- ;;
-
- RC)
- AC_LIBTOOL_LANG_RC_CONFIG
- ;;
-
- *)
- AC_MSG_ERROR([Unsupported tag name: $tagname])
- ;;
- esac
-
- # Append the new tag name to the list of available tags.
- if test -n "$tagname" ; then
- available_tags="$available_tags $tagname"
- fi
- fi
- done
- IFS="$lt_save_ifs"
-
- # Now substitute the updated list of available tags.
- if eval "sed -e 's/^available_tags=.*\$/available_tags=\"$available_tags\"/' \"$ofile\" > \"${ofile}T\""; then
- mv "${ofile}T" "$ofile"
- chmod +x "$ofile"
- else
- rm -f "${ofile}T"
- AC_MSG_ERROR([unable to update list of available tagged configurations.])
- fi
-fi
-])# _LT_AC_TAGCONFIG
-
-
-# AC_LIBTOOL_DLOPEN
-# -----------------
-# enable checks for dlopen support
-AC_DEFUN([AC_LIBTOOL_DLOPEN],
- [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])
-])# AC_LIBTOOL_DLOPEN
-
-
-# AC_LIBTOOL_WIN32_DLL
-# --------------------
-# declare package support for building win32 DLLs
-AC_DEFUN([AC_LIBTOOL_WIN32_DLL],
-[AC_BEFORE([$0], [AC_LIBTOOL_SETUP])
-])# AC_LIBTOOL_WIN32_DLL
-
-
-# AC_ENABLE_SHARED([DEFAULT])
-# ---------------------------
-# implement the --enable-shared flag
-# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
-AC_DEFUN([AC_ENABLE_SHARED],
-[define([AC_ENABLE_SHARED_DEFAULT], ifelse($1, no, no, yes))dnl
-AC_ARG_ENABLE([shared],
- [AC_HELP_STRING([--enable-shared@<:@=PKGS@:>@],
- [build shared libraries @<:@default=]AC_ENABLE_SHARED_DEFAULT[@:>@])],
- [p=${PACKAGE-default}
- case $enableval in
- yes) enable_shared=yes ;;
- no) enable_shared=no ;;
- *)
- enable_shared=no
- # Look at the argument we got. We use all the common list separators.
- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
- for pkg in $enableval; do
- IFS="$lt_save_ifs"
- if test "X$pkg" = "X$p"; then
- enable_shared=yes
- fi
- done
- IFS="$lt_save_ifs"
- ;;
- esac],
- [enable_shared=]AC_ENABLE_SHARED_DEFAULT)
-])# AC_ENABLE_SHARED
-
-
-# AC_DISABLE_SHARED
-# -----------------
-# set the default shared flag to --disable-shared
-AC_DEFUN([AC_DISABLE_SHARED],
-[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
-AC_ENABLE_SHARED(no)
-])# AC_DISABLE_SHARED
-
-
-# AC_ENABLE_STATIC([DEFAULT])
-# ---------------------------
-# implement the --enable-static flag
-# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
-AC_DEFUN([AC_ENABLE_STATIC],
-[define([AC_ENABLE_STATIC_DEFAULT], ifelse($1, no, no, yes))dnl
-AC_ARG_ENABLE([static],
- [AC_HELP_STRING([--enable-static@<:@=PKGS@:>@],
- [build static libraries @<:@default=]AC_ENABLE_STATIC_DEFAULT[@:>@])],
- [p=${PACKAGE-default}
- case $enableval in
- yes) enable_static=yes ;;
- no) enable_static=no ;;
- *)
- enable_static=no
- # Look at the argument we got. We use all the common list separators.
- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
- for pkg in $enableval; do
- IFS="$lt_save_ifs"
- if test "X$pkg" = "X$p"; then
- enable_static=yes
- fi
- done
- IFS="$lt_save_ifs"
- ;;
- esac],
- [enable_static=]AC_ENABLE_STATIC_DEFAULT)
-])# AC_ENABLE_STATIC
-
-
-# AC_DISABLE_STATIC
-# -----------------
-# set the default static flag to --disable-static
-AC_DEFUN([AC_DISABLE_STATIC],
-[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
-AC_ENABLE_STATIC(no)
-])# AC_DISABLE_STATIC
-
-
-# AC_ENABLE_FAST_INSTALL([DEFAULT])
-# ---------------------------------
-# implement the --enable-fast-install flag
-# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
-AC_DEFUN([AC_ENABLE_FAST_INSTALL],
-[define([AC_ENABLE_FAST_INSTALL_DEFAULT], ifelse($1, no, no, yes))dnl
-AC_ARG_ENABLE([fast-install],
- [AC_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@],
- [optimize for fast installation @<:@default=]AC_ENABLE_FAST_INSTALL_DEFAULT[@:>@])],
- [p=${PACKAGE-default}
- case $enableval in
- yes) enable_fast_install=yes ;;
- no) enable_fast_install=no ;;
- *)
- enable_fast_install=no
- # Look at the argument we got. We use all the common list separators.
- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
- for pkg in $enableval; do
- IFS="$lt_save_ifs"
- if test "X$pkg" = "X$p"; then
- enable_fast_install=yes
- fi
- done
- IFS="$lt_save_ifs"
- ;;
- esac],
- [enable_fast_install=]AC_ENABLE_FAST_INSTALL_DEFAULT)
-])# AC_ENABLE_FAST_INSTALL
-
-
-# AC_DISABLE_FAST_INSTALL
-# -----------------------
-# set the default to --disable-fast-install
-AC_DEFUN([AC_DISABLE_FAST_INSTALL],
-[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
-AC_ENABLE_FAST_INSTALL(no)
-])# AC_DISABLE_FAST_INSTALL
-
-
-# AC_LIBTOOL_PICMODE([MODE])
-# --------------------------
-# implement the --with-pic flag
-# MODE is either `yes' or `no'. If omitted, it defaults to `both'.
-AC_DEFUN([AC_LIBTOOL_PICMODE],
-[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
-pic_mode=ifelse($#,1,$1,default)
-])# AC_LIBTOOL_PICMODE
-
-
-# AC_PROG_EGREP
-# -------------
-# This is predefined starting with Autoconf 2.54, so this conditional
-# definition can be removed once we require Autoconf 2.54 or later.
-m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP],
-[AC_CACHE_CHECK([for egrep], [ac_cv_prog_egrep],
- [if echo a | (grep -E '(a|b)') >/dev/null 2>&1
- then ac_cv_prog_egrep='grep -E'
- else ac_cv_prog_egrep='egrep'
- fi])
- EGREP=$ac_cv_prog_egrep
- AC_SUBST([EGREP])
-])])
-
-
-# AC_PATH_TOOL_PREFIX
-# -------------------
-# find a file program which can recognise shared library
-AC_DEFUN([AC_PATH_TOOL_PREFIX],
-[AC_REQUIRE([AC_PROG_EGREP])dnl
-AC_MSG_CHECKING([for $1])
-AC_CACHE_VAL(lt_cv_path_MAGIC_CMD,
-[case $MAGIC_CMD in
-[[\\/*] | ?:[\\/]*])
- lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
- ;;
-*)
- lt_save_MAGIC_CMD="$MAGIC_CMD"
- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
-dnl $ac_dummy forces splitting on constant user-supplied paths.
-dnl POSIX.2 word splitting is done only on the output of word expansions,
-dnl not every word. This closes a longstanding sh security hole.
- ac_dummy="ifelse([$2], , $PATH, [$2])"
- for ac_dir in $ac_dummy; do
- IFS="$lt_save_ifs"
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$1; then
- lt_cv_path_MAGIC_CMD="$ac_dir/$1"
- if test -n "$file_magic_test_file"; then
- case $deplibs_check_method in
- "file_magic "*)
- file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
- MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
- if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
- $EGREP "$file_magic_regex" > /dev/null; then
- :
- else
- cat <<EOF 1>&2
-
-*** Warning: the command libtool uses to detect shared libraries,
-*** $file_magic_cmd, produces output that libtool cannot recognize.
-*** The result is that libtool may fail to recognize shared libraries
-*** as such. This will affect the creation of libtool libraries that
-*** depend on shared libraries, but programs linked with such libtool
-*** libraries will work regardless of this problem. Nevertheless, you
-*** may want to report the problem to your system manager and/or to
-*** bug-libtool@gnu.org
-
-EOF
- fi ;;
- esac
- fi
- break
- fi
- done
- IFS="$lt_save_ifs"
- MAGIC_CMD="$lt_save_MAGIC_CMD"
- ;;
-esac])
-MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
-if test -n "$MAGIC_CMD"; then
- AC_MSG_RESULT($MAGIC_CMD)
-else
- AC_MSG_RESULT(no)
-fi
-])# AC_PATH_TOOL_PREFIX
-
-
-# AC_PATH_MAGIC
-# -------------
-# find a file program which can recognise a shared library
-AC_DEFUN([AC_PATH_MAGIC],
-[AC_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH)
-if test -z "$lt_cv_path_MAGIC_CMD"; then
- if test -n "$ac_tool_prefix"; then
- AC_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH)
- else
- MAGIC_CMD=:
- fi
-fi
-])# AC_PATH_MAGIC
-
-
-# AC_PROG_LD
-# ----------
-# find the pathname to the GNU or non-GNU linker
-AC_DEFUN([AC_PROG_LD],
-[AC_ARG_WITH([gnu-ld],
- [AC_HELP_STRING([--with-gnu-ld],
- [assume the C compiler uses GNU ld @<:@default=no@:>@])],
- [test "$withval" = no || with_gnu_ld=yes],
- [with_gnu_ld=no])
-AC_REQUIRE([LT_AC_PROG_SED])dnl
-AC_REQUIRE([AC_PROG_CC])dnl
-AC_REQUIRE([AC_CANONICAL_HOST])dnl
-AC_REQUIRE([AC_CANONICAL_BUILD])dnl
-ac_prog=ld
-if test "$GCC" = yes; then
- # Check if gcc -print-prog-name=ld gives a path.
- AC_MSG_CHECKING([for ld used by $CC])
- case $host in
- *-*-mingw*)
- # gcc leaves a trailing carriage return which upsets mingw
- ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
- *)
- ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
- esac
- case $ac_prog in
- # Accept absolute paths.
- [[\\/]]* | ?:[[\\/]]*)
- re_direlt='/[[^/]][[^/]]*/\.\./'
- # Canonicalize the pathname of ld
- ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'`
- while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
- ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"`
- done
- test -z "$LD" && LD="$ac_prog"
- ;;
- "")
- # If it fails, then pretend we aren't using GCC.
- ac_prog=ld
- ;;
- *)
- # If it is relative, then search for the first ld in PATH.
- with_gnu_ld=unknown
- ;;
- esac
-elif test "$with_gnu_ld" = yes; then
- AC_MSG_CHECKING([for GNU ld])
-else
- AC_MSG_CHECKING([for non-GNU ld])
-fi
-AC_CACHE_VAL(lt_cv_path_LD,
-[if test -z "$LD"; then
- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
- for ac_dir in $PATH; do
- IFS="$lt_save_ifs"
- test -z "$ac_dir" && ac_dir=.
- if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
- lt_cv_path_LD="$ac_dir/$ac_prog"
- # Check to see if the program is GNU ld. I'd rather use --version,
- # but apparently some variants of GNU ld only accept -v.
- # Break only if it was the GNU/non-GNU ld that we prefer.
- case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
- *GNU* | *'with BFD'*)
- test "$with_gnu_ld" != no && break
- ;;
- *)
- test "$with_gnu_ld" != yes && break
- ;;
- esac
- fi
- done
- IFS="$lt_save_ifs"
-else
- lt_cv_path_LD="$LD" # Let the user override the test with a path.
-fi])
-LD="$lt_cv_path_LD"
-if test -n "$LD"; then
- AC_MSG_RESULT($LD)
-else
- AC_MSG_RESULT(no)
-fi
-test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
-AC_PROG_LD_GNU
-])# AC_PROG_LD
-
-
-# AC_PROG_LD_GNU
-# --------------
-AC_DEFUN([AC_PROG_LD_GNU],
-[AC_REQUIRE([AC_PROG_EGREP])dnl
-AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld,
-[# I'd rather use --version here, but apparently some GNU lds only accept -v.
-case `$LD -v 2>&1 </dev/null` in
-*GNU* | *'with BFD'*)
- lt_cv_prog_gnu_ld=yes
- ;;
-*)
- lt_cv_prog_gnu_ld=no
- ;;
-esac])
-with_gnu_ld=$lt_cv_prog_gnu_ld
-])# AC_PROG_LD_GNU
-
-
-# AC_PROG_LD_RELOAD_FLAG
-# ----------------------
-# find reload flag for linker
-# -- PORTME Some linkers may need a different reload flag.
-AC_DEFUN([AC_PROG_LD_RELOAD_FLAG],
-[AC_CACHE_CHECK([for $LD option to reload object files],
- lt_cv_ld_reload_flag,
- [lt_cv_ld_reload_flag='-r'])
-reload_flag=$lt_cv_ld_reload_flag
-case $reload_flag in
-"" | " "*) ;;
-*) reload_flag=" $reload_flag" ;;
-esac
-reload_cmds='$LD$reload_flag -o $output$reload_objs'
-case $host_os in
- darwin*)
- if test "$GCC" = yes; then
- reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
- else
- reload_cmds='$LD$reload_flag -o $output$reload_objs'
- fi
- ;;
-esac
-])# AC_PROG_LD_RELOAD_FLAG
-
-
-# AC_DEPLIBS_CHECK_METHOD
-# -----------------------
-# how to check for library dependencies
-# -- PORTME fill in with the dynamic library characteristics
-AC_DEFUN([AC_DEPLIBS_CHECK_METHOD],
-[AC_CACHE_CHECK([how to recognise dependent libraries],
-lt_cv_deplibs_check_method,
-[lt_cv_file_magic_cmd='$MAGIC_CMD'
-lt_cv_file_magic_test_file=
-lt_cv_deplibs_check_method='unknown'
-# Need to set the preceding variable on all platforms that support
-# interlibrary dependencies.
-# 'none' -- dependencies not supported.
-# `unknown' -- same as none, but documents that we really don't know.
-# 'pass_all' -- all dependencies passed with no checks.
-# 'test_compile' -- check by making test program.
-# 'file_magic [[regex]]' -- check by looking for files in library path
-# which responds to the $file_magic_cmd with a given extended regex.
-# If you have `file' or equivalent on your system and you're not sure
-# whether `pass_all' will *always* work, you probably want this one.
-
-case $host_os in
-aix4* | aix5*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-beos*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-bsdi[[45]]*)
- lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)'
- lt_cv_file_magic_cmd='/usr/bin/file -L'
- lt_cv_file_magic_test_file=/shlib/libc.so
- ;;
-
-cygwin*)
- # func_win32_libid is a shell function defined in ltmain.sh
- lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
- lt_cv_file_magic_cmd='func_win32_libid'
- ;;
-
-mingw* | pw32*)
- # Base MSYS/MinGW do not provide the 'file' command needed by
- # func_win32_libid shell function, so use a weaker test based on 'objdump'.
- lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
- lt_cv_file_magic_cmd='$OBJDUMP -f'
- ;;
-
-darwin* | rhapsody*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-freebsd* | kfreebsd*-gnu | dragonfly*)
- if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
- case $host_cpu in
- i*86 )
- # Not sure whether the presence of OpenBSD here was a mistake.
- # Let's accept both of them until this is cleared up.
- lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library'
- lt_cv_file_magic_cmd=/usr/bin/file
- lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
- ;;
- esac
- else
- lt_cv_deplibs_check_method=pass_all
- fi
- ;;
-
-gnu*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-hpux10.20* | hpux11*)
- lt_cv_file_magic_cmd=/usr/bin/file
- case $host_cpu in
- ia64*)
- lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64'
- lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
- ;;
- hppa*64*)
- [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]']
- lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
- ;;
- *)
- lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]].[[0-9]]) shared library'
- lt_cv_file_magic_test_file=/usr/lib/libc.sl
- ;;
- esac
- ;;
-
-interix3*)
- # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
- lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$'
- ;;
-
-irix5* | irix6* | nonstopux*)
- case $LD in
- *-32|*"-32 ") libmagic=32-bit;;
- *-n32|*"-n32 ") libmagic=N32;;
- *-64|*"-64 ") libmagic=64-bit;;
- *) libmagic=never-match;;
- esac
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-# This must be Linux ELF.
-linux*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-netbsd*)
- if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
- lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
- else
- lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$'
- fi
- ;;
-
-newos6*)
- lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)'
- lt_cv_file_magic_cmd=/usr/bin/file
- lt_cv_file_magic_test_file=/usr/lib/libnls.so
- ;;
-
-nto-qnx*)
- lt_cv_deplibs_check_method=unknown
- ;;
-
-openbsd*)
- if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$'
- else
- lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
- fi
- ;;
-
-osf3* | osf4* | osf5*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-solaris*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-sysv4 | sysv4.3*)
- case $host_vendor in
- motorola)
- lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]'
- lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
- ;;
- ncr)
- lt_cv_deplibs_check_method=pass_all
- ;;
- sequent)
- lt_cv_file_magic_cmd='/bin/file'
- lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )'
- ;;
- sni)
- lt_cv_file_magic_cmd='/bin/file'
- lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib"
- lt_cv_file_magic_test_file=/lib/libc.so
- ;;
- siemens)
- lt_cv_deplibs_check_method=pass_all
- ;;
- pc)
- lt_cv_deplibs_check_method=pass_all
- ;;
- esac
- ;;
-
-sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-esac
-])
-file_magic_cmd=$lt_cv_file_magic_cmd
-deplibs_check_method=$lt_cv_deplibs_check_method
-test -z "$deplibs_check_method" && deplibs_check_method=unknown
-])# AC_DEPLIBS_CHECK_METHOD
-
-
-# AC_PROG_NM
-# ----------
-# find the pathname to a BSD-compatible name lister
-AC_DEFUN([AC_PROG_NM],
-[AC_CACHE_CHECK([for BSD-compatible nm], lt_cv_path_NM,
-[if test -n "$NM"; then
- # Let the user override the test.
- lt_cv_path_NM="$NM"
-else
- lt_nm_to_check="${ac_tool_prefix}nm"
- if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
- lt_nm_to_check="$lt_nm_to_check nm"
- fi
- for lt_tmp_nm in $lt_nm_to_check; do
- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
- for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
- IFS="$lt_save_ifs"
- test -z "$ac_dir" && ac_dir=.
- tmp_nm="$ac_dir/$lt_tmp_nm"
- if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
- # Check to see if the nm accepts a BSD-compat flag.
- # Adding the `sed 1q' prevents false positives on HP-UX, which says:
- # nm: unknown option "B" ignored
- # Tru64's nm complains that /dev/null is an invalid object file
- case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
- */dev/null* | *'Invalid file or object type'*)
- lt_cv_path_NM="$tmp_nm -B"
- break
- ;;
- *)
- case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
- */dev/null*)
- lt_cv_path_NM="$tmp_nm -p"
- break
- ;;
- *)
- lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
- continue # so that we can try to find one that supports BSD flags
- ;;
- esac
- ;;
- esac
- fi
- done
- IFS="$lt_save_ifs"
- done
- test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm
-fi])
-NM="$lt_cv_path_NM"
-])# AC_PROG_NM
-
-
-# AC_CHECK_LIBM
-# -------------
-# check for math library
-AC_DEFUN([AC_CHECK_LIBM],
-[AC_REQUIRE([AC_CANONICAL_HOST])dnl
-LIBM=
-case $host in
-*-*-beos* | *-*-cygwin* | *-*-pw32* | *-*-darwin*)
- # These system don't have libm, or don't need it
- ;;
-*-ncr-sysv4.3*)
- AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw")
- AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm")
- ;;
-*)
- AC_CHECK_LIB(m, cos, LIBM="-lm")
- ;;
-esac
-])# AC_CHECK_LIBM
-
-
-# AC_LIBLTDL_CONVENIENCE([DIRECTORY])
-# -----------------------------------
-# sets LIBLTDL to the link flags for the libltdl convenience library and
-# LTDLINCL to the include flags for the libltdl header and adds
-# --enable-ltdl-convenience to the configure arguments. Note that
-# AC_CONFIG_SUBDIRS is not called here. If DIRECTORY is not provided,
-# it is assumed to be `libltdl'. LIBLTDL will be prefixed with
-# '${top_builddir}/' and LTDLINCL will be prefixed with '${top_srcdir}/'
-# (note the single quotes!). If your package is not flat and you're not
-# using automake, define top_builddir and top_srcdir appropriately in
-# the Makefiles.
-AC_DEFUN([AC_LIBLTDL_CONVENIENCE],
-[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
- case $enable_ltdl_convenience in
- no) AC_MSG_ERROR([this package needs a convenience libltdl]) ;;
- "") enable_ltdl_convenience=yes
- ac_configure_args="$ac_configure_args --enable-ltdl-convenience" ;;
- esac
- LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdlc.la
- LTDLINCL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl'])
- # For backwards non-gettext consistent compatibility...
- INCLTDL="$LTDLINCL"
-])# AC_LIBLTDL_CONVENIENCE
-
-
-# AC_LIBLTDL_INSTALLABLE([DIRECTORY])
-# -----------------------------------
-# sets LIBLTDL to the link flags for the libltdl installable library and
-# LTDLINCL to the include flags for the libltdl header and adds
-# --enable-ltdl-install to the configure arguments. Note that
-# AC_CONFIG_SUBDIRS is not called here. If DIRECTORY is not provided,
-# and an installed libltdl is not found, it is assumed to be `libltdl'.
-# LIBLTDL will be prefixed with '${top_builddir}/'# and LTDLINCL with
-# '${top_srcdir}/' (note the single quotes!). If your package is not
-# flat and you're not using automake, define top_builddir and top_srcdir
-# appropriately in the Makefiles.
-# In the future, this macro may have to be called after AC_PROG_LIBTOOL.
-AC_DEFUN([AC_LIBLTDL_INSTALLABLE],
-[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
- AC_CHECK_LIB(ltdl, lt_dlinit,
- [test x"$enable_ltdl_install" != xyes && enable_ltdl_install=no],
- [if test x"$enable_ltdl_install" = xno; then
- AC_MSG_WARN([libltdl not installed, but installation disabled])
- else
- enable_ltdl_install=yes
- fi
- ])
- if test x"$enable_ltdl_install" = x"yes"; then
- ac_configure_args="$ac_configure_args --enable-ltdl-install"
- LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdl.la
- LTDLINCL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl'])
- else
- ac_configure_args="$ac_configure_args --enable-ltdl-install=no"
- LIBLTDL="-lltdl"
- LTDLINCL=
- fi
- # For backwards non-gettext consistent compatibility...
- INCLTDL="$LTDLINCL"
-])# AC_LIBLTDL_INSTALLABLE
-
-
-# AC_LIBTOOL_CXX
-# --------------
-# enable support for C++ libraries
-AC_DEFUN([AC_LIBTOOL_CXX],
-[AC_REQUIRE([_LT_AC_LANG_CXX])
-])# AC_LIBTOOL_CXX
-
-
-# _LT_AC_LANG_CXX
-# ---------------
-AC_DEFUN([_LT_AC_LANG_CXX],
-[AC_REQUIRE([AC_PROG_CXX])
-AC_REQUIRE([_LT_AC_PROG_CXXCPP])
-_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}CXX])
-])# _LT_AC_LANG_CXX
-
-# _LT_AC_PROG_CXXCPP
-# ------------------
-AC_DEFUN([_LT_AC_PROG_CXXCPP],
-[
-AC_REQUIRE([AC_PROG_CXX])
-if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
- ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
- (test "X$CXX" != "Xg++"))) ; then
- AC_PROG_CXXCPP
-fi
-])# _LT_AC_PROG_CXXCPP
-
-# AC_LIBTOOL_F77
-# --------------
-# enable support for Fortran 77 libraries
-AC_DEFUN([AC_LIBTOOL_F77],
-[AC_REQUIRE([_LT_AC_LANG_F77])
-])# AC_LIBTOOL_F77
-
-
-# _LT_AC_LANG_F77
-# ---------------
-AC_DEFUN([_LT_AC_LANG_F77],
-[AC_REQUIRE([AC_PROG_F77])
-_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}F77])
-])# _LT_AC_LANG_F77
-
-
-# AC_LIBTOOL_GCJ
-# --------------
-# enable support for GCJ libraries
-AC_DEFUN([AC_LIBTOOL_GCJ],
-[AC_REQUIRE([_LT_AC_LANG_GCJ])
-])# AC_LIBTOOL_GCJ
-
-
-# _LT_AC_LANG_GCJ
-# ---------------
-AC_DEFUN([_LT_AC_LANG_GCJ],
-[AC_PROVIDE_IFELSE([AC_PROG_GCJ],[],
- [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],[],
- [AC_PROVIDE_IFELSE([LT_AC_PROG_GCJ],[],
- [ifdef([AC_PROG_GCJ],[AC_REQUIRE([AC_PROG_GCJ])],
- [ifdef([A][M_PROG_GCJ],[AC_REQUIRE([A][M_PROG_GCJ])],
- [AC_REQUIRE([A][C_PROG_GCJ_OR_A][M_PROG_GCJ])])])])])])
-_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}GCJ])
-])# _LT_AC_LANG_GCJ
-
-
-# AC_LIBTOOL_RC
-# -------------
-# enable support for Windows resource files
-AC_DEFUN([AC_LIBTOOL_RC],
-[AC_REQUIRE([LT_AC_PROG_RC])
-_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}RC])
-])# AC_LIBTOOL_RC
-
-
-# AC_LIBTOOL_LANG_C_CONFIG
-# ------------------------
-# Ensure that the configuration vars for the C compiler are
-# suitably defined. Those variables are subsequently used by
-# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'.
-AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG], [_LT_AC_LANG_C_CONFIG])
-AC_DEFUN([_LT_AC_LANG_C_CONFIG],
-[lt_save_CC="$CC"
-AC_LANG_PUSH(C)
-
-# Source file extension for C test sources.
-ac_ext=c
-
-# Object file extension for compiled C test sources.
-objext=o
-_LT_AC_TAGVAR(objext, $1)=$objext
-
-# Code to be used in simple compile tests
-lt_simple_compile_test_code="int some_variable = 0;\n"
-
-# Code to be used in simple link tests
-lt_simple_link_test_code='int main(){return(0);}\n'
-
-_LT_AC_SYS_COMPILER
-
-# save warnings/boilerplate of simple test code
-_LT_COMPILER_BOILERPLATE
-_LT_LINKER_BOILERPLATE
-
-AC_LIBTOOL_PROG_COMPILER_NO_RTTI($1)
-AC_LIBTOOL_PROG_COMPILER_PIC($1)
-AC_LIBTOOL_PROG_CC_C_O($1)
-AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1)
-AC_LIBTOOL_PROG_LD_SHLIBS($1)
-AC_LIBTOOL_SYS_DYNAMIC_LINKER($1)
-AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1)
-AC_LIBTOOL_SYS_LIB_STRIP
-AC_LIBTOOL_DLOPEN_SELF
-
-# Report which library types will actually be built
-AC_MSG_CHECKING([if libtool supports shared libraries])
-AC_MSG_RESULT([$can_build_shared])
-
-AC_MSG_CHECKING([whether to build shared libraries])
-test "$can_build_shared" = "no" && enable_shared=no
-
-# On AIX, shared libraries and static libraries use the same namespace, and
-# are all built from PIC.
-case $host_os in
-aix3*)
- test "$enable_shared" = yes && enable_static=no
- if test -n "$RANLIB"; then
- archive_cmds="$archive_cmds~\$RANLIB \$lib"
- postinstall_cmds='$RANLIB $lib'
- fi
- ;;
-
-aix4* | aix5*)
- if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
- test "$enable_shared" = yes && enable_static=no
- fi
- ;;
-esac
-AC_MSG_RESULT([$enable_shared])
-
-AC_MSG_CHECKING([whether to build static libraries])
-# Make sure either enable_shared or enable_static is yes.
-test "$enable_shared" = yes || enable_static=yes
-AC_MSG_RESULT([$enable_static])
-
-AC_LIBTOOL_CONFIG($1)
-
-AC_LANG_POP
-CC="$lt_save_CC"
-])# AC_LIBTOOL_LANG_C_CONFIG
-
-
-# AC_LIBTOOL_LANG_CXX_CONFIG
-# --------------------------
-# Ensure that the configuration vars for the C compiler are
-# suitably defined. Those variables are subsequently used by
-# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'.
-AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG], [_LT_AC_LANG_CXX_CONFIG(CXX)])
-AC_DEFUN([_LT_AC_LANG_CXX_CONFIG],
-[AC_LANG_PUSH(C++)
-AC_REQUIRE([AC_PROG_CXX])
-AC_REQUIRE([_LT_AC_PROG_CXXCPP])
-
-_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
-_LT_AC_TAGVAR(allow_undefined_flag, $1)=
-_LT_AC_TAGVAR(always_export_symbols, $1)=no
-_LT_AC_TAGVAR(archive_expsym_cmds, $1)=
-_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=
-_LT_AC_TAGVAR(hardcode_direct, $1)=no
-_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=
-_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
-_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
-_LT_AC_TAGVAR(hardcode_minus_L, $1)=no
-_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
-_LT_AC_TAGVAR(hardcode_automatic, $1)=no
-_LT_AC_TAGVAR(module_cmds, $1)=
-_LT_AC_TAGVAR(module_expsym_cmds, $1)=
-_LT_AC_TAGVAR(link_all_deplibs, $1)=unknown
-_LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
-_LT_AC_TAGVAR(no_undefined_flag, $1)=
-_LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
-_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no
-
-# Dependencies to place before and after the object being linked:
-_LT_AC_TAGVAR(predep_objects, $1)=
-_LT_AC_TAGVAR(postdep_objects, $1)=
-_LT_AC_TAGVAR(predeps, $1)=
-_LT_AC_TAGVAR(postdeps, $1)=
-_LT_AC_TAGVAR(compiler_lib_search_path, $1)=
-
-# Source file extension for C++ test sources.
-ac_ext=cpp
-
-# Object file extension for compiled C++ test sources.
-objext=o
-_LT_AC_TAGVAR(objext, $1)=$objext
-
-# Code to be used in simple compile tests
-lt_simple_compile_test_code="int some_variable = 0;\n"
-
-# Code to be used in simple link tests
-lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }\n'
-
-# ltmain only uses $CC for tagged configurations so make sure $CC is set.
-_LT_AC_SYS_COMPILER
-
-# save warnings/boilerplate of simple test code
-_LT_COMPILER_BOILERPLATE
-_LT_LINKER_BOILERPLATE
-
-# Allow CC to be a program name with arguments.
-lt_save_CC=$CC
-lt_save_LD=$LD
-lt_save_GCC=$GCC
-GCC=$GXX
-lt_save_with_gnu_ld=$with_gnu_ld
-lt_save_path_LD=$lt_cv_path_LD
-if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then
- lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx
-else
- $as_unset lt_cv_prog_gnu_ld
-fi
-if test -n "${lt_cv_path_LDCXX+set}"; then
- lt_cv_path_LD=$lt_cv_path_LDCXX
-else
- $as_unset lt_cv_path_LD
-fi
-test -z "${LDCXX+set}" || LD=$LDCXX
-CC=${CXX-"c++"}
-compiler=$CC
-_LT_AC_TAGVAR(compiler, $1)=$CC
-_LT_CC_BASENAME([$compiler])
-
-# We don't want -fno-exception wen compiling C++ code, so set the
-# no_builtin_flag separately
-if test "$GXX" = yes; then
- _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
-else
- _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
-fi
-
-if test "$GXX" = yes; then
- # Set up default GNU C++ configuration
-
- AC_PROG_LD
-
- # Check if GNU C++ uses GNU ld as the underlying linker, since the
- # archiving commands below assume that GNU ld is being used.
- if test "$with_gnu_ld" = yes; then
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
-
- # If archive_cmds runs LD, not CC, wlarc should be empty
- # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to
- # investigate it a little bit more. (MM)
- wlarc='${wl}'
-
- # ancient GNU ld didn't support --whole-archive et. al.
- if eval "`$CC -print-prog-name=ld` --help 2>&1" | \
- grep 'no-whole-archive' > /dev/null; then
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
- else
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
- fi
- else
- with_gnu_ld=no
- wlarc=
-
- # A generic and very simple default shared library creation
- # command for GNU C++ for the case where it uses the native
- # linker, instead of GNU ld. If possible, this setting should
- # overridden to take advantage of the native linker features on
- # the platform it is being used on.
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
- fi
-
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"'
-
-else
- GXX=no
- with_gnu_ld=no
- wlarc=
-fi
-
-# PORTME: fill in a description of your system's C++ link characteristics
-AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
-_LT_AC_TAGVAR(ld_shlibs, $1)=yes
-case $host_os in
- aix3*)
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- aix4* | aix5*)
- if test "$host_cpu" = ia64; then
- # On IA64, the linker does run time linking by default, so we don't
- # have to do anything special.
- aix_use_runtimelinking=no
- exp_sym_flag='-Bexport'
- no_entry_flag=""
- else
- aix_use_runtimelinking=no
-
- # Test if we are trying to use run time linking or normal
- # AIX style linking. If -brtl is somewhere in LDFLAGS, we
- # need to do runtime linking.
- case $host_os in aix4.[[23]]|aix4.[[23]].*|aix5*)
- for ld_flag in $LDFLAGS; do
- case $ld_flag in
- *-brtl*)
- aix_use_runtimelinking=yes
- break
- ;;
- esac
- done
- ;;
- esac
-
- exp_sym_flag='-bexport'
- no_entry_flag='-bnoentry'
- fi
-
- # When large executables or shared objects are built, AIX ld can
- # have problems creating the table of contents. If linking a library
- # or program results in "error TOC overflow" add -mminimal-toc to
- # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
- # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
-
- _LT_AC_TAGVAR(archive_cmds, $1)=''
- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':'
- _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
-
- if test "$GXX" = yes; then
- case $host_os in aix4.[[012]]|aix4.[[012]].*)
- # We only want to do this on AIX 4.2 and lower, the check
- # below for broken collect2 doesn't work under 4.3+
- collect2name=`${CC} -print-prog-name=collect2`
- if test -f "$collect2name" && \
- strings "$collect2name" | grep resolve_lib_name >/dev/null
- then
- # We have reworked collect2
- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
- else
- # We have old collect2
- _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported
- # It fails to find uninstalled libraries when the uninstalled
- # path is not listed in the libpath. Setting hardcode_minus_L
- # to unsupported forces relinking
- _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
- fi
- ;;
- esac
- shared_flag='-shared'
- if test "$aix_use_runtimelinking" = yes; then
- shared_flag="$shared_flag "'${wl}-G'
- fi
- else
- # not using gcc
- if test "$host_cpu" = ia64; then
- # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
- # chokes on -Wl,-G. The following line is correct:
- shared_flag='-G'
- else
- if test "$aix_use_runtimelinking" = yes; then
- shared_flag='${wl}-G'
- else
- shared_flag='${wl}-bM:SRE'
- fi
- fi
- fi
-
- # It seems that -bexpall does not export symbols beginning with
- # underscore (_), so it is better to generate a list of symbols to export.
- _LT_AC_TAGVAR(always_export_symbols, $1)=yes
- if test "$aix_use_runtimelinking" = yes; then
- # Warning - without using the other runtime loading flags (-brtl),
- # -berok will link without error, but may produce a broken library.
- _LT_AC_TAGVAR(allow_undefined_flag, $1)='-berok'
- # Determine the default libpath from the value encoded in an empty executable.
- _LT_AC_SYS_LIBPATH_AIX
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
-
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
- else
- if test "$host_cpu" = ia64; then
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
- _LT_AC_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
- else
- # Determine the default libpath from the value encoded in an empty executable.
- _LT_AC_SYS_LIBPATH_AIX
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
- # Warning - without using the other run time loading flags,
- # -berok will link without error, but may produce a broken library.
- _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
- _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
- # Exported symbols can be pulled into shared objects from archives
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
- _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes
- # This is similar to how AIX traditionally builds its shared libraries.
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
- fi
- fi
- ;;
-
- beos*)
- if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
- _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
- # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
- # support --undefined. This deserves some investigation. FIXME
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- else
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- fi
- ;;
-
- chorus*)
- case $cc_basename in
- *)
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- esac
- ;;
-
- cygwin* | mingw* | pw32*)
- # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
- # as there is no search path for DLLs.
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
- _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
- _LT_AC_TAGVAR(always_export_symbols, $1)=no
- _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
-
- if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
- # If the export-symbols file already is a .def file (1st line
- # is EXPORTS), use it as is; otherwise, prepend...
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
- cp $export_symbols $output_objdir/$soname.def;
- else
- echo EXPORTS > $output_objdir/$soname.def;
- cat $export_symbols >> $output_objdir/$soname.def;
- fi~
- $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
- else
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- fi
- ;;
- darwin* | rhapsody*)
- case $host_os in
- rhapsody* | darwin1.[[012]])
- _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}suppress'
- ;;
- *) # Darwin 1.3 on
- if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then
- _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
- else
- case ${MACOSX_DEPLOYMENT_TARGET} in
- 10.[[012]])
- _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
- ;;
- 10.*)
- _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}dynamic_lookup'
- ;;
- esac
- fi
- ;;
- esac
- _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
- _LT_AC_TAGVAR(hardcode_direct, $1)=no
- _LT_AC_TAGVAR(hardcode_automatic, $1)=yes
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=''
- _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
-
- if test "$GXX" = yes ; then
- lt_int_apple_cc_single_mod=no
- output_verbose_link_cmd='echo'
- if $CC -dumpspecs 2>&1 | $EGREP 'single_module' >/dev/null ; then
- lt_int_apple_cc_single_mod=yes
- fi
- if test "X$lt_int_apple_cc_single_mod" = Xyes ; then
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
- else
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
- fi
- _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
- # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
- if test "X$lt_int_apple_cc_single_mod" = Xyes ; then
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
- else
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
- fi
- _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
- else
- case $cc_basename in
- xlc*)
- output_verbose_link_cmd='echo'
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring'
- _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
- # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
- _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
- ;;
- *)
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- esac
- fi
- ;;
-
- dgux*)
- case $cc_basename in
- ec++*)
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- ghcx*)
- # Green Hills C++ Compiler
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- *)
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- esac
- ;;
- freebsd[[12]]*)
- # C++ shared libraries reported to be fairly broken before switch to ELF
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- freebsd-elf*)
- _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
- ;;
- freebsd* | kfreebsd*-gnu | dragonfly*)
- # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
- # conventions
- _LT_AC_TAGVAR(ld_shlibs, $1)=yes
- ;;
- gnu*)
- ;;
- hpux9*)
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
- _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
- # but as the default
- # location of the library.
-
- case $cc_basename in
- CC*)
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- aCC*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- #
- # There doesn't appear to be a way to prevent this compiler from
- # explicitly linking system object files so we need to strip them
- # from the output so that they don't get included in the library
- # dependencies.
- output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "[[-]]L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
- ;;
- *)
- if test "$GXX" = yes; then
- _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
- else
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- fi
- ;;
- esac
- ;;
- hpux10*|hpux11*)
- if test $with_gnu_ld = no; then
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
-
- case $host_cpu in
- hppa*64*|ia64*)
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir'
- ;;
- *)
- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
- ;;
- esac
- fi
- case $host_cpu in
- hppa*64*|ia64*)
- _LT_AC_TAGVAR(hardcode_direct, $1)=no
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- ;;
- *)
- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
- _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
- # but as the default
- # location of the library.
- ;;
- esac
-
- case $cc_basename in
- CC*)
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- aCC*)
- case $host_cpu in
- hppa*64*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
- ;;
- ia64*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
- ;;
- *)
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
- ;;
- esac
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- #
- # There doesn't appear to be a way to prevent this compiler from
- # explicitly linking system object files so we need to strip them
- # from the output so that they don't get included in the library
- # dependencies.
- output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
- ;;
- *)
- if test "$GXX" = yes; then
- if test $with_gnu_ld = no; then
- case $host_cpu in
- hppa*64*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
- ;;
- ia64*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
- ;;
- *)
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
- ;;
- esac
- fi
- else
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- fi
- ;;
- esac
- ;;
- interix3*)
- _LT_AC_TAGVAR(hardcode_direct, $1)=no
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
- # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
- # Instead, shared libraries are loaded at an image base (0x10000000 by
- # default) and relocated if they conflict, which is a slow very memory
- # consuming and fragmenting process. To avoid this, we pick a random,
- # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
- # time. Moving up from 0x10000000 also allows more sbrk(2) space.
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
- ;;
- irix5* | irix6*)
- case $cc_basename in
- CC*)
- # SGI C++
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
-
- # Archives containing C++ object files must be created using
- # "CC -ar", where "CC" is the IRIX C++ compiler. This is
- # necessary to make sure instantiated templates are included
- # in the archive.
- _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs'
- ;;
- *)
- if test "$GXX" = yes; then
- if test "$with_gnu_ld" = no; then
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
- else
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` -o $lib'
- fi
- fi
- _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
- ;;
- esac
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
- ;;
- linux*)
- case $cc_basename in
- KCC*)
- # Kuck and Associates, Inc. (KAI) C++ Compiler
-
- # KCC will only create a shared library if the output file
- # ends with ".so" (or ".sl" for HP-UX), so rename the library
- # to its proper name (with version) after linking.
- _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib'
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- #
- # There doesn't appear to be a way to prevent this compiler from
- # explicitly linking system object files so we need to strip them
- # from the output so that they don't get included in the library
- # dependencies.
- output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | grep "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
-
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath,$libdir'
- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
-
- # Archives containing C++ object files must be created using
- # "CC -Bstatic", where "CC" is the KAI C++ compiler.
- _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs'
- ;;
- icpc*)
- # Intel C++
- with_gnu_ld=yes
- # version 8.0 and above of icpc choke on multiply defined symbols
- # if we add $predep_objects and $postdep_objects, however 7.1 and
- # earlier do not add the objects themselves.
- case `$CC -V 2>&1` in
- *"Version 7."*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- ;;
- *) # Version 8.0 or newer
- tmp_idyn=
- case $host_cpu in
- ia64*) tmp_idyn=' -i_dynamic';;
- esac
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- ;;
- esac
- _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
- ;;
- pgCC*)
- # Portland Group C++ compiler
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
-
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
- ;;
- cxx*)
- # Compaq C++
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols'
-
- runpath_var=LD_RUN_PATH
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
-
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- #
- # There doesn't appear to be a way to prevent this compiler from
- # explicitly linking system object files so we need to strip them
- # from the output so that they don't get included in the library
- # dependencies.
- output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
- ;;
- esac
- ;;
- lynxos*)
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- m88k*)
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- mvs*)
- case $cc_basename in
- cxx*)
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- *)
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- esac
- ;;
- netbsd*)
- if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
- wlarc=
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- fi
- # Workaround some broken pre-1.5 toolchains
- output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"'
- ;;
- openbsd2*)
- # C++ shared libraries are fairly broken
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- openbsd*)
- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
- if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib'
- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
- fi
- output_verbose_link_cmd='echo'
- ;;
- osf3*)
- case $cc_basename in
- KCC*)
- # Kuck and Associates, Inc. (KAI) C++ Compiler
-
- # KCC will only create a shared library if the output file
- # ends with ".so" (or ".sl" for HP-UX), so rename the library
- # to its proper name (with version) after linking.
- _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
-
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
-
- # Archives containing C++ object files must be created using
- # "CC -Bstatic", where "CC" is the KAI C++ compiler.
- _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs'
-
- ;;
- RCC*)
- # Rational C++ 2.4.1
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- cxx*)
- _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && echo ${wl}-set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
-
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
-
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- #
- # There doesn't appear to be a way to prevent this compiler from
- # explicitly linking system object files so we need to strip them
- # from the output so that they don't get included in the library
- # dependencies.
- output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
- ;;
- *)
- if test "$GXX" = yes && test "$with_gnu_ld" = no; then
- _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
-
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"'
-
- else
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- fi
- ;;
- esac
- ;;
- osf4* | osf5*)
- case $cc_basename in
- KCC*)
- # Kuck and Associates, Inc. (KAI) C++ Compiler
-
- # KCC will only create a shared library if the output file
- # ends with ".so" (or ".sl" for HP-UX), so rename the library
- # to its proper name (with version) after linking.
- _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
-
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
-
- # Archives containing C++ object files must be created using
- # the KAI C++ compiler.
- _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs'
- ;;
- RCC*)
- # Rational C++ 2.4.1
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- cxx*)
- _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~
- echo "-hidden">> $lib.exp~
- $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname -Wl,-input -Wl,$lib.exp `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~
- $rm $lib.exp'
-
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
-
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- #
- # There doesn't appear to be a way to prevent this compiler from
- # explicitly linking system object files so we need to strip them
- # from the output so that they don't get included in the library
- # dependencies.
- output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
- ;;
- *)
- if test "$GXX" = yes && test "$with_gnu_ld" = no; then
- _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
-
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"'
-
- else
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- fi
- ;;
- esac
- ;;
- psos*)
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- sunos4*)
- case $cc_basename in
- CC*)
- # Sun C++ 4.x
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- lcc*)
- # Lucid
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- *)
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- esac
- ;;
- solaris*)
- case $cc_basename in
- CC*)
- # Sun C++ 4.2, 5.x and Centerline C++
- _LT_AC_TAGVAR(archive_cmds_need_lc,$1)=yes
- _LT_AC_TAGVAR(no_undefined_flag, $1)=' -zdefs'
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
- $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp'
-
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- case $host_os in
- solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
- *)
- # The C++ compiler is used as linker so we must use $wl
- # flag to pass the commands to the underlying system
- # linker. We must also pass each convience library through
- # to the system linker between allextract/defaultextract.
- # The C++ compiler will combine linker options so we
- # cannot just pass the convience library names through
- # without $wl.
- # Supported since Solaris 2.6 (maybe 2.5.1?)
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract'
- ;;
- esac
- _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
-
- output_verbose_link_cmd='echo'
-
- # Archives containing C++ object files must be created using
- # "CC -xar", where "CC" is the Sun C++ compiler. This is
- # necessary to make sure instantiated templates are included
- # in the archive.
- _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
- ;;
- gcx*)
- # Green Hills C++ Compiler
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
-
- # The C++ compiler must be used to create the archive.
- _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs'
- ;;
- *)
- # GNU C++ compiler with Solaris linker
- if test "$GXX" = yes && test "$with_gnu_ld" = no; then
- _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs'
- if $CC --version | grep -v '^2\.7' > /dev/null; then
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
- $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp'
-
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- output_verbose_link_cmd="$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\""
- else
- # g++ 2.7 appears to require `-G' NOT `-shared' on this
- # platform.
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
- $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp'
-
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- output_verbose_link_cmd="$CC -G $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\""
- fi
-
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir'
- fi
- ;;
- esac
- ;;
- sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
- _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
- _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- runpath_var='LD_RUN_PATH'
-
- case $cc_basename in
- CC*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- *)
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- esac
- ;;
- sysv5* | sco3.2v5* | sco5v6*)
- # Note: We can NOT use -z defs as we might desire, because we do not
- # link with -lc, and that would cause any symbols used from libc to
- # always be unresolved, which means just about no library would
- # ever link correctly. If we're not using GNU ld we use -z text
- # though, which does catch some bad symbols but isn't as heavy-handed
- # as -z defs.
- # For security reasons, it is highly recommended that you always
- # use absolute paths for naming shared libraries, and exclude the
- # DT_RUNPATH tag from executables and libraries. But doing so
- # requires that you compile everything twice, which is a pain.
- # So that behaviour is only enabled if SCOABSPATH is set to a
- # non-empty value in the environment. Most likely only useful for
- # creating official distributions of packages.
- # This is a hack until libtool officially supports absolute path
- # names for shared libraries.
- _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
- _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
- _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`'
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':'
- _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
- runpath_var='LD_RUN_PATH'
-
- case $cc_basename in
- CC*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- *)
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- esac
- ;;
- tandem*)
- case $cc_basename in
- NCC*)
- # NonStop-UX NCC 3.20
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- *)
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- esac
- ;;
- vxworks*)
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- *)
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
-esac
-AC_MSG_RESULT([$_LT_AC_TAGVAR(ld_shlibs, $1)])
-test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
-
-_LT_AC_TAGVAR(GCC, $1)="$GXX"
-_LT_AC_TAGVAR(LD, $1)="$LD"
-
-AC_LIBTOOL_POSTDEP_PREDEP($1)
-AC_LIBTOOL_PROG_COMPILER_PIC($1)
-AC_LIBTOOL_PROG_CC_C_O($1)
-AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1)
-AC_LIBTOOL_PROG_LD_SHLIBS($1)
-AC_LIBTOOL_SYS_DYNAMIC_LINKER($1)
-AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1)
-
-AC_LIBTOOL_CONFIG($1)
-
-AC_LANG_POP
-CC=$lt_save_CC
-LDCXX=$LD
-LD=$lt_save_LD
-GCC=$lt_save_GCC
-with_gnu_ldcxx=$with_gnu_ld
-with_gnu_ld=$lt_save_with_gnu_ld
-lt_cv_path_LDCXX=$lt_cv_path_LD
-lt_cv_path_LD=$lt_save_path_LD
-lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld
-lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld
-])# AC_LIBTOOL_LANG_CXX_CONFIG
-
-# AC_LIBTOOL_POSTDEP_PREDEP([TAGNAME])
-# ------------------------------------
-# Figure out "hidden" library dependencies from verbose
-# compiler output when linking a shared library.
-# Parse the compiler output and extract the necessary
-# objects, libraries and library flags.
-AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP],[
-dnl we can't use the lt_simple_compile_test_code here,
-dnl because it contains code intended for an executable,
-dnl not a library. It's possible we should let each
-dnl tag define a new lt_????_link_test_code variable,
-dnl but it's only used here...
-ifelse([$1],[],[cat > conftest.$ac_ext <<EOF
-int a;
-void foo (void) { a = 0; }
-EOF
-],[$1],[CXX],[cat > conftest.$ac_ext <<EOF
-class Foo
-{
-public:
- Foo (void) { a = 0; }
-private:
- int a;
-};
-EOF
-],[$1],[F77],[cat > conftest.$ac_ext <<EOF
- subroutine foo
- implicit none
- integer*4 a
- a=0
- return
- end
-EOF
-],[$1],[GCJ],[cat > conftest.$ac_ext <<EOF
-public class foo {
- private int a;
- public void bar (void) {
- a = 0;
- }
-};
-EOF
-])
-dnl Parse the compiler output and extract the necessary
-dnl objects, libraries and library flags.
-if AC_TRY_EVAL(ac_compile); then
- # Parse the compiler output and extract the necessary
- # objects, libraries and library flags.
-
- # Sentinel used to keep track of whether or not we are before
- # the conftest object file.
- pre_test_object_deps_done=no
-
- # The `*' in the case matches for architectures that use `case' in
- # $output_verbose_cmd can trigger glob expansion during the loop
- # eval without this substitution.
- output_verbose_link_cmd=`$echo "X$output_verbose_link_cmd" | $Xsed -e "$no_glob_subst"`
-
- for p in `eval $output_verbose_link_cmd`; do
- case $p in
-
- -L* | -R* | -l*)
- # Some compilers place space between "-{L,R}" and the path.
- # Remove the space.
- if test $p = "-L" \
- || test $p = "-R"; then
- prev=$p
- continue
- else
- prev=
- fi
-
- if test "$pre_test_object_deps_done" = no; then
- case $p in
- -L* | -R*)
- # Internal compiler library paths should come after those
- # provided the user. The postdeps already come after the
- # user supplied libs so there is no need to process them.
- if test -z "$_LT_AC_TAGVAR(compiler_lib_search_path, $1)"; then
- _LT_AC_TAGVAR(compiler_lib_search_path, $1)="${prev}${p}"
- else
- _LT_AC_TAGVAR(compiler_lib_search_path, $1)="${_LT_AC_TAGVAR(compiler_lib_search_path, $1)} ${prev}${p}"
- fi
- ;;
- # The "-l" case would never come before the object being
- # linked, so don't bother handling this case.
- esac
- else
- if test -z "$_LT_AC_TAGVAR(postdeps, $1)"; then
- _LT_AC_TAGVAR(postdeps, $1)="${prev}${p}"
- else
- _LT_AC_TAGVAR(postdeps, $1)="${_LT_AC_TAGVAR(postdeps, $1)} ${prev}${p}"
- fi
- fi
- ;;
-
- *.$objext)
- # This assumes that the test object file only shows up
- # once in the compiler output.
- if test "$p" = "conftest.$objext"; then
- pre_test_object_deps_done=yes
- continue
- fi
-
- if test "$pre_test_object_deps_done" = no; then
- if test -z "$_LT_AC_TAGVAR(predep_objects, $1)"; then
- _LT_AC_TAGVAR(predep_objects, $1)="$p"
- else
- _LT_AC_TAGVAR(predep_objects, $1)="$_LT_AC_TAGVAR(predep_objects, $1) $p"
- fi
- else
- if test -z "$_LT_AC_TAGVAR(postdep_objects, $1)"; then
- _LT_AC_TAGVAR(postdep_objects, $1)="$p"
- else
- _LT_AC_TAGVAR(postdep_objects, $1)="$_LT_AC_TAGVAR(postdep_objects, $1) $p"
- fi
- fi
- ;;
-
- *) ;; # Ignore the rest.
-
- esac
- done
-
- # Clean up.
- rm -f a.out a.exe
-else
- echo "libtool.m4: error: problem compiling $1 test program"
-fi
-
-$rm -f confest.$objext
-
-# PORTME: override above test on systems where it is broken
-ifelse([$1],[CXX],
-[case $host_os in
-interix3*)
- # Interix 3.5 installs completely hosed .la files for C++, so rather than
- # hack all around it, let's just trust "g++" to DTRT.
- _LT_AC_TAGVAR(predep_objects,$1)=
- _LT_AC_TAGVAR(postdep_objects,$1)=
- _LT_AC_TAGVAR(postdeps,$1)=
- ;;
-
-solaris*)
- case $cc_basename in
- CC*)
- # Adding this requires a known-good setup of shared libraries for
- # Sun compiler versions before 5.6, else PIC objects from an old
- # archive will be linked into the output, leading to subtle bugs.
- _LT_AC_TAGVAR(postdeps,$1)='-lCstd -lCrun'
- ;;
- esac
- ;;
-esac
-])
-
-case " $_LT_AC_TAGVAR(postdeps, $1) " in
-*" -lc "*) _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no ;;
-esac
-])# AC_LIBTOOL_POSTDEP_PREDEP
-
-# AC_LIBTOOL_LANG_F77_CONFIG
-# --------------------------
-# Ensure that the configuration vars for the C compiler are
-# suitably defined. Those variables are subsequently used by
-# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'.
-AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG], [_LT_AC_LANG_F77_CONFIG(F77)])
-AC_DEFUN([_LT_AC_LANG_F77_CONFIG],
-[AC_REQUIRE([AC_PROG_F77])
-AC_LANG_PUSH(Fortran 77)
-
-_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
-_LT_AC_TAGVAR(allow_undefined_flag, $1)=
-_LT_AC_TAGVAR(always_export_symbols, $1)=no
-_LT_AC_TAGVAR(archive_expsym_cmds, $1)=
-_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=
-_LT_AC_TAGVAR(hardcode_direct, $1)=no
-_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=
-_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
-_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
-_LT_AC_TAGVAR(hardcode_minus_L, $1)=no
-_LT_AC_TAGVAR(hardcode_automatic, $1)=no
-_LT_AC_TAGVAR(module_cmds, $1)=
-_LT_AC_TAGVAR(module_expsym_cmds, $1)=
-_LT_AC_TAGVAR(link_all_deplibs, $1)=unknown
-_LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
-_LT_AC_TAGVAR(no_undefined_flag, $1)=
-_LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
-_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no
-
-# Source file extension for f77 test sources.
-ac_ext=f
-
-# Object file extension for compiled f77 test sources.
-objext=o
-_LT_AC_TAGVAR(objext, $1)=$objext
-
-# Code to be used in simple compile tests
-lt_simple_compile_test_code=" subroutine t\n return\n end\n"
-
-# Code to be used in simple link tests
-lt_simple_link_test_code=" program t\n end\n"
-
-# ltmain only uses $CC for tagged configurations so make sure $CC is set.
-_LT_AC_SYS_COMPILER
-
-# save warnings/boilerplate of simple test code
-_LT_COMPILER_BOILERPLATE
-_LT_LINKER_BOILERPLATE
-
-# Allow CC to be a program name with arguments.
-lt_save_CC="$CC"
-CC=${F77-"f77"}
-compiler=$CC
-_LT_AC_TAGVAR(compiler, $1)=$CC
-_LT_CC_BASENAME([$compiler])
-
-AC_MSG_CHECKING([if libtool supports shared libraries])
-AC_MSG_RESULT([$can_build_shared])
-
-AC_MSG_CHECKING([whether to build shared libraries])
-test "$can_build_shared" = "no" && enable_shared=no
-
-# On AIX, shared libraries and static libraries use the same namespace, and
-# are all built from PIC.
-case $host_os in
-aix3*)
- test "$enable_shared" = yes && enable_static=no
- if test -n "$RANLIB"; then
- archive_cmds="$archive_cmds~\$RANLIB \$lib"
- postinstall_cmds='$RANLIB $lib'
- fi
- ;;
-aix4* | aix5*)
- if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
- test "$enable_shared" = yes && enable_static=no
- fi
- ;;
-esac
-AC_MSG_RESULT([$enable_shared])
-
-AC_MSG_CHECKING([whether to build static libraries])
-# Make sure either enable_shared or enable_static is yes.
-test "$enable_shared" = yes || enable_static=yes
-AC_MSG_RESULT([$enable_static])
-
-_LT_AC_TAGVAR(GCC, $1)="$G77"
-_LT_AC_TAGVAR(LD, $1)="$LD"
-
-AC_LIBTOOL_PROG_COMPILER_PIC($1)
-AC_LIBTOOL_PROG_CC_C_O($1)
-AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1)
-AC_LIBTOOL_PROG_LD_SHLIBS($1)
-AC_LIBTOOL_SYS_DYNAMIC_LINKER($1)
-AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1)
-
-AC_LIBTOOL_CONFIG($1)
-
-AC_LANG_POP
-CC="$lt_save_CC"
-])# AC_LIBTOOL_LANG_F77_CONFIG
-
-
-# AC_LIBTOOL_LANG_GCJ_CONFIG
-# --------------------------
-# Ensure that the configuration vars for the C compiler are
-# suitably defined. Those variables are subsequently used by
-# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'.
-AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG], [_LT_AC_LANG_GCJ_CONFIG(GCJ)])
-AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG],
-[AC_LANG_SAVE
-
-# Source file extension for Java test sources.
-ac_ext=java
-
-# Object file extension for compiled Java test sources.
-objext=o
-_LT_AC_TAGVAR(objext, $1)=$objext
-
-# Code to be used in simple compile tests
-lt_simple_compile_test_code="class foo {}\n"
-
-# Code to be used in simple link tests
-lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }\n'
-
-# ltmain only uses $CC for tagged configurations so make sure $CC is set.
-_LT_AC_SYS_COMPILER
-
-# save warnings/boilerplate of simple test code
-_LT_COMPILER_BOILERPLATE
-_LT_LINKER_BOILERPLATE
-
-# Allow CC to be a program name with arguments.
-lt_save_CC="$CC"
-CC=${GCJ-"gcj"}
-compiler=$CC
-_LT_AC_TAGVAR(compiler, $1)=$CC
-_LT_CC_BASENAME([$compiler])
-
-# GCJ did not exist at the time GCC didn't implicitly link libc in.
-_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
-
-_LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
-
-AC_LIBTOOL_PROG_COMPILER_NO_RTTI($1)
-AC_LIBTOOL_PROG_COMPILER_PIC($1)
-AC_LIBTOOL_PROG_CC_C_O($1)
-AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1)
-AC_LIBTOOL_PROG_LD_SHLIBS($1)
-AC_LIBTOOL_SYS_DYNAMIC_LINKER($1)
-AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1)
-
-AC_LIBTOOL_CONFIG($1)
-
-AC_LANG_RESTORE
-CC="$lt_save_CC"
-])# AC_LIBTOOL_LANG_GCJ_CONFIG
-
-
-# AC_LIBTOOL_LANG_RC_CONFIG
-# -------------------------
-# Ensure that the configuration vars for the Windows resource compiler are
-# suitably defined. Those variables are subsequently used by
-# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'.
-AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG], [_LT_AC_LANG_RC_CONFIG(RC)])
-AC_DEFUN([_LT_AC_LANG_RC_CONFIG],
-[AC_LANG_SAVE
-
-# Source file extension for RC test sources.
-ac_ext=rc
-
-# Object file extension for compiled RC test sources.
-objext=o
-_LT_AC_TAGVAR(objext, $1)=$objext
-
-# Code to be used in simple compile tests
-lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }\n'
-
-# Code to be used in simple link tests
-lt_simple_link_test_code="$lt_simple_compile_test_code"
-
-# ltmain only uses $CC for tagged configurations so make sure $CC is set.
-_LT_AC_SYS_COMPILER
-
-# save warnings/boilerplate of simple test code
-_LT_COMPILER_BOILERPLATE
-_LT_LINKER_BOILERPLATE
-
-# Allow CC to be a program name with arguments.
-lt_save_CC="$CC"
-CC=${RC-"windres"}
-compiler=$CC
-_LT_AC_TAGVAR(compiler, $1)=$CC
-_LT_CC_BASENAME([$compiler])
-_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
-
-AC_LIBTOOL_CONFIG($1)
-
-AC_LANG_RESTORE
-CC="$lt_save_CC"
-])# AC_LIBTOOL_LANG_RC_CONFIG
-
-
-# AC_LIBTOOL_CONFIG([TAGNAME])
-# ----------------------------
-# If TAGNAME is not passed, then create an initial libtool script
-# with a default configuration from the untagged config vars. Otherwise
-# add code to config.status for appending the configuration named by
-# TAGNAME from the matching tagged config vars.
-AC_DEFUN([AC_LIBTOOL_CONFIG],
-[# The else clause should only fire when bootstrapping the
-# libtool distribution, otherwise you forgot to ship ltmain.sh
-# with your package, and you will get complaints that there are
-# no rules to generate ltmain.sh.
-if test -f "$ltmain"; then
- # See if we are running on zsh, and set the options which allow our commands through
- # without removal of \ escapes.
- if test -n "${ZSH_VERSION+set}" ; then
- setopt NO_GLOB_SUBST
- fi
- # Now quote all the things that may contain metacharacters while being
- # careful not to overquote the AC_SUBSTed values. We take copies of the
- # variables and quote the copies for generation of the libtool script.
- for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \
- SED SHELL STRIP \
- libname_spec library_names_spec soname_spec extract_expsyms_cmds \
- old_striplib striplib file_magic_cmd finish_cmds finish_eval \
- deplibs_check_method reload_flag reload_cmds need_locks \
- lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \
- lt_cv_sys_global_symbol_to_c_name_address \
- sys_lib_search_path_spec sys_lib_dlsearch_path_spec \
- old_postinstall_cmds old_postuninstall_cmds \
- _LT_AC_TAGVAR(compiler, $1) \
- _LT_AC_TAGVAR(CC, $1) \
- _LT_AC_TAGVAR(LD, $1) \
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1) \
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1) \
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1) \
- _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) \
- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1) \
- _LT_AC_TAGVAR(thread_safe_flag_spec, $1) \
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1) \
- _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1) \
- _LT_AC_TAGVAR(old_archive_cmds, $1) \
- _LT_AC_TAGVAR(old_archive_from_new_cmds, $1) \
- _LT_AC_TAGVAR(predep_objects, $1) \
- _LT_AC_TAGVAR(postdep_objects, $1) \
- _LT_AC_TAGVAR(predeps, $1) \
- _LT_AC_TAGVAR(postdeps, $1) \
- _LT_AC_TAGVAR(compiler_lib_search_path, $1) \
- _LT_AC_TAGVAR(archive_cmds, $1) \
- _LT_AC_TAGVAR(archive_expsym_cmds, $1) \
- _LT_AC_TAGVAR(postinstall_cmds, $1) \
- _LT_AC_TAGVAR(postuninstall_cmds, $1) \
- _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1) \
- _LT_AC_TAGVAR(allow_undefined_flag, $1) \
- _LT_AC_TAGVAR(no_undefined_flag, $1) \
- _LT_AC_TAGVAR(export_symbols_cmds, $1) \
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) \
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1) \
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1) \
- _LT_AC_TAGVAR(hardcode_automatic, $1) \
- _LT_AC_TAGVAR(module_cmds, $1) \
- _LT_AC_TAGVAR(module_expsym_cmds, $1) \
- _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1) \
- _LT_AC_TAGVAR(exclude_expsyms, $1) \
- _LT_AC_TAGVAR(include_expsyms, $1); do
-
- case $var in
- _LT_AC_TAGVAR(old_archive_cmds, $1) | \
- _LT_AC_TAGVAR(old_archive_from_new_cmds, $1) | \
- _LT_AC_TAGVAR(archive_cmds, $1) | \
- _LT_AC_TAGVAR(archive_expsym_cmds, $1) | \
- _LT_AC_TAGVAR(module_cmds, $1) | \
- _LT_AC_TAGVAR(module_expsym_cmds, $1) | \
- _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1) | \
- _LT_AC_TAGVAR(export_symbols_cmds, $1) | \
- extract_expsyms_cmds | reload_cmds | finish_cmds | \
- postinstall_cmds | postuninstall_cmds | \
- old_postinstall_cmds | old_postuninstall_cmds | \
- sys_lib_search_path_spec | sys_lib_dlsearch_path_spec)
- # Double-quote double-evaled strings.
- eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\""
- ;;
- *)
- eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\""
- ;;
- esac
- done
-
- case $lt_echo in
- *'\[$]0 --fallback-echo"')
- lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\[$]0 --fallback-echo"[$]/[$]0 --fallback-echo"/'`
- ;;
- esac
-
-ifelse([$1], [],
- [cfgfile="${ofile}T"
- trap "$rm \"$cfgfile\"; exit 1" 1 2 15
- $rm -f "$cfgfile"
- AC_MSG_NOTICE([creating $ofile])],
- [cfgfile="$ofile"])
-
- cat <<__EOF__ >> "$cfgfile"
-ifelse([$1], [],
-[#! $SHELL
-
-# `$echo "$cfgfile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
-# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP)
-# NOTE: Changes made to this file will be lost: look at ltmain.sh.
-#
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001
-# Free Software Foundation, Inc.
-#
-# This file is part of GNU Libtool:
-# Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-#
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-# A sed program that does not truncate output.
-SED=$lt_SED
-
-# Sed that helps us avoid accidentally triggering echo(1) options like -n.
-Xsed="$SED -e 1s/^X//"
-
-# The HP-UX ksh and POSIX shell print the target directory to stdout
-# if CDPATH is set.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-# The names of the tagged configurations supported by this script.
-available_tags=
-
-# ### BEGIN LIBTOOL CONFIG],
-[# ### BEGIN LIBTOOL TAG CONFIG: $tagname])
-
-# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
-
-# Shell to use when invoking shell scripts.
-SHELL=$lt_SHELL
-
-# Whether or not to build shared libraries.
-build_libtool_libs=$enable_shared
-
-# Whether or not to build static libraries.
-build_old_libs=$enable_static
-
-# Whether or not to add -lc for building shared libraries.
-build_libtool_need_lc=$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)
-
-# Whether or not to disallow shared libs when runtime libs are static
-allow_libtool_libs_with_static_runtimes=$_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)
-
-# Whether or not to optimize for fast installation.
-fast_install=$enable_fast_install
-
-# The host system.
-host_alias=$host_alias
-host=$host
-host_os=$host_os
-
-# The build system.
-build_alias=$build_alias
-build=$build
-build_os=$build_os
-
-# An echo program that does not interpret backslashes.
-echo=$lt_echo
-
-# The archiver.
-AR=$lt_AR
-AR_FLAGS=$lt_AR_FLAGS
-
-# A C compiler.
-LTCC=$lt_LTCC
-
-# LTCC compiler flags.
-LTCFLAGS=$lt_LTCFLAGS
-
-# A language-specific compiler.
-CC=$lt_[]_LT_AC_TAGVAR(compiler, $1)
-
-# Is the compiler the GNU C compiler?
-with_gcc=$_LT_AC_TAGVAR(GCC, $1)
-
-# An ERE matcher.
-EGREP=$lt_EGREP
-
-# The linker used to build libraries.
-LD=$lt_[]_LT_AC_TAGVAR(LD, $1)
-
-# Whether we need hard or soft links.
-LN_S=$lt_LN_S
-
-# A BSD-compatible nm program.
-NM=$lt_NM
-
-# A symbol stripping program
-STRIP=$lt_STRIP
-
-# Used to examine libraries when file_magic_cmd begins "file"
-MAGIC_CMD=$MAGIC_CMD
-
-# Used on cygwin: DLL creation program.
-DLLTOOL="$DLLTOOL"
-
-# Used on cygwin: object dumper.
-OBJDUMP="$OBJDUMP"
-
-# Used on cygwin: assembler.
-AS="$AS"
-
-# The name of the directory that contains temporary libtool files.
-objdir=$objdir
-
-# How to create reloadable object files.
-reload_flag=$lt_reload_flag
-reload_cmds=$lt_reload_cmds
-
-# How to pass a linker flag through the compiler.
-wl=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)
-
-# Object file suffix (normally "o").
-objext="$ac_objext"
-
-# Old archive suffix (normally "a").
-libext="$libext"
-
-# Shared library suffix (normally ".so").
-shrext_cmds='$shrext_cmds'
-
-# Executable file suffix (normally "").
-exeext="$exeext"
-
-# Additional compiler flags for building library objects.
-pic_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)
-pic_mode=$pic_mode
-
-# What is the maximum length of a command?
-max_cmd_len=$lt_cv_sys_max_cmd_len
-
-# Does compiler simultaneously support -c and -o options?
-compiler_c_o=$lt_[]_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)
-
-# Must we lock files when doing compilation?
-need_locks=$lt_need_locks
-
-# Do we need the lib prefix for modules?
-need_lib_prefix=$need_lib_prefix
-
-# Do we need a version for libraries?
-need_version=$need_version
-
-# Whether dlopen is supported.
-dlopen_support=$enable_dlopen
-
-# Whether dlopen of programs is supported.
-dlopen_self=$enable_dlopen_self
-
-# Whether dlopen of statically linked programs is supported.
-dlopen_self_static=$enable_dlopen_self_static
-
-# Compiler flag to prevent dynamic linking.
-link_static_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_static, $1)
-
-# Compiler flag to turn off builtin functions.
-no_builtin_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)
-
-# Compiler flag to allow reflexive dlopens.
-export_dynamic_flag_spec=$lt_[]_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)
-
-# Compiler flag to generate shared objects directly from archives.
-whole_archive_flag_spec=$lt_[]_LT_AC_TAGVAR(whole_archive_flag_spec, $1)
-
-# Compiler flag to generate thread-safe objects.
-thread_safe_flag_spec=$lt_[]_LT_AC_TAGVAR(thread_safe_flag_spec, $1)
-
-# Library versioning type.
-version_type=$version_type
-
-# Format of library name prefix.
-libname_spec=$lt_libname_spec
-
-# List of archive names. First name is the real one, the rest are links.
-# The last name is the one that the linker finds with -lNAME.
-library_names_spec=$lt_library_names_spec
-
-# The coded name of the library, if different from the real name.
-soname_spec=$lt_soname_spec
-
-# Commands used to build and install an old-style archive.
-RANLIB=$lt_RANLIB
-old_archive_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_cmds, $1)
-old_postinstall_cmds=$lt_old_postinstall_cmds
-old_postuninstall_cmds=$lt_old_postuninstall_cmds
-
-# Create an old-style archive from a shared archive.
-old_archive_from_new_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_from_new_cmds, $1)
-
-# Create a temporary old-style archive to link instead of a shared archive.
-old_archive_from_expsyms_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1)
-
-# Commands used to build and install a shared archive.
-archive_cmds=$lt_[]_LT_AC_TAGVAR(archive_cmds, $1)
-archive_expsym_cmds=$lt_[]_LT_AC_TAGVAR(archive_expsym_cmds, $1)
-postinstall_cmds=$lt_postinstall_cmds
-postuninstall_cmds=$lt_postuninstall_cmds
-
-# Commands used to build a loadable module (assumed same as above if empty)
-module_cmds=$lt_[]_LT_AC_TAGVAR(module_cmds, $1)
-module_expsym_cmds=$lt_[]_LT_AC_TAGVAR(module_expsym_cmds, $1)
-
-# Commands to strip libraries.
-old_striplib=$lt_old_striplib
-striplib=$lt_striplib
-
-# Dependencies to place before the objects being linked to create a
-# shared library.
-predep_objects=$lt_[]_LT_AC_TAGVAR(predep_objects, $1)
-
-# Dependencies to place after the objects being linked to create a
-# shared library.
-postdep_objects=$lt_[]_LT_AC_TAGVAR(postdep_objects, $1)
-
-# Dependencies to place before the objects being linked to create a
-# shared library.
-predeps=$lt_[]_LT_AC_TAGVAR(predeps, $1)
-
-# Dependencies to place after the objects being linked to create a
-# shared library.
-postdeps=$lt_[]_LT_AC_TAGVAR(postdeps, $1)
-
-# The library search path used internally by the compiler when linking
-# a shared library.
-compiler_lib_search_path=$lt_[]_LT_AC_TAGVAR(compiler_lib_search_path, $1)
-
-# Method to check whether dependent libraries are shared objects.
-deplibs_check_method=$lt_deplibs_check_method
-
-# Command to use when deplibs_check_method == file_magic.
-file_magic_cmd=$lt_file_magic_cmd
-
-# Flag that allows shared libraries with undefined symbols to be built.
-allow_undefined_flag=$lt_[]_LT_AC_TAGVAR(allow_undefined_flag, $1)
-
-# Flag that forces no undefined symbols.
-no_undefined_flag=$lt_[]_LT_AC_TAGVAR(no_undefined_flag, $1)
-
-# Commands used to finish a libtool library installation in a directory.
-finish_cmds=$lt_finish_cmds
-
-# Same as above, but a single script fragment to be evaled but not shown.
-finish_eval=$lt_finish_eval
-
-# Take the output of nm and produce a listing of raw symbols and C names.
-global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
-
-# Transform the output of nm in a proper C declaration
-global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
-
-# Transform the output of nm in a C name address pair
-global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
-
-# This is the shared library runtime path variable.
-runpath_var=$runpath_var
-
-# This is the shared library path variable.
-shlibpath_var=$shlibpath_var
-
-# Is shlibpath searched before the hard-coded library search path?
-shlibpath_overrides_runpath=$shlibpath_overrides_runpath
-
-# How to hardcode a shared library path into an executable.
-hardcode_action=$_LT_AC_TAGVAR(hardcode_action, $1)
-
-# Whether we should hardcode library paths into libraries.
-hardcode_into_libs=$hardcode_into_libs
-
-# Flag to hardcode \$libdir into a binary during linking.
-# This must work even if \$libdir does not exist.
-hardcode_libdir_flag_spec=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)
-
-# If ld is used when linking, flag to hardcode \$libdir into
-# a binary during linking. This must work even if \$libdir does
-# not exist.
-hardcode_libdir_flag_spec_ld=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)
-
-# Whether we need a single -rpath flag with a separated argument.
-hardcode_libdir_separator=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_separator, $1)
-
-# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the
-# resulting binary.
-hardcode_direct=$_LT_AC_TAGVAR(hardcode_direct, $1)
-
-# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
-# resulting binary.
-hardcode_minus_L=$_LT_AC_TAGVAR(hardcode_minus_L, $1)
-
-# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into
-# the resulting binary.
-hardcode_shlibpath_var=$_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)
-
-# Set to yes if building a shared library automatically hardcodes DIR into the library
-# and all subsequent libraries and executables linked against it.
-hardcode_automatic=$_LT_AC_TAGVAR(hardcode_automatic, $1)
-
-# Variables whose values should be saved in libtool wrapper scripts and
-# restored at relink time.
-variables_saved_for_relink="$variables_saved_for_relink"
-
-# Whether libtool must link a program against all its dependency libraries.
-link_all_deplibs=$_LT_AC_TAGVAR(link_all_deplibs, $1)
-
-# Compile-time system search path for libraries
-sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
-
-# Run-time system search path for libraries
-sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
-
-# Fix the shell variable \$srcfile for the compiler.
-fix_srcfile_path="$_LT_AC_TAGVAR(fix_srcfile_path, $1)"
-
-# Set to yes if exported symbols are required.
-always_export_symbols=$_LT_AC_TAGVAR(always_export_symbols, $1)
-
-# The commands to list exported symbols.
-export_symbols_cmds=$lt_[]_LT_AC_TAGVAR(export_symbols_cmds, $1)
-
-# The commands to extract the exported symbol list from a shared archive.
-extract_expsyms_cmds=$lt_extract_expsyms_cmds
-
-# Symbols that should not be listed in the preloaded symbols.
-exclude_expsyms=$lt_[]_LT_AC_TAGVAR(exclude_expsyms, $1)
-
-# Symbols that must always be exported.
-include_expsyms=$lt_[]_LT_AC_TAGVAR(include_expsyms, $1)
-
-ifelse([$1],[],
-[# ### END LIBTOOL CONFIG],
-[# ### END LIBTOOL TAG CONFIG: $tagname])
-
-__EOF__
-
-ifelse([$1],[], [
- case $host_os in
- aix3*)
- cat <<\EOF >> "$cfgfile"
-
-# AIX sometimes has problems with the GCC collect2 program. For some
-# reason, if we set the COLLECT_NAMES environment variable, the problems
-# vanish in a puff of smoke.
-if test "X${COLLECT_NAMES+set}" != Xset; then
- COLLECT_NAMES=
- export COLLECT_NAMES
-fi
-EOF
- ;;
- esac
-
- # We use sed instead of cat because bash on DJGPP gets confused if
- # if finds mixed CR/LF and LF-only lines. Since sed operates in
- # text mode, it properly converts lines to CR/LF. This bash problem
- # is reportedly fixed, but why not run on old versions too?
- sed '$q' "$ltmain" >> "$cfgfile" || (rm -f "$cfgfile"; exit 1)
-
- mv -f "$cfgfile" "$ofile" || \
- (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
- chmod +x "$ofile"
-])
-else
- # If there is no Makefile yet, we rely on a make rule to execute
- # `config.status --recheck' to rerun these tests and create the
- # libtool script then.
- ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'`
- if test -f "$ltmain_in"; then
- test -f Makefile && make "$ltmain"
- fi
-fi
-])# AC_LIBTOOL_CONFIG
-
-
-# AC_LIBTOOL_PROG_COMPILER_NO_RTTI([TAGNAME])
-# -------------------------------------------
-AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI],
-[AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl
-
-_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
-
-if test "$GCC" = yes; then
- _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
-
- AC_LIBTOOL_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions],
- lt_cv_prog_compiler_rtti_exceptions,
- [-fno-rtti -fno-exceptions], [],
- [_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"])
-fi
-])# AC_LIBTOOL_PROG_COMPILER_NO_RTTI
-
-
-# AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE
-# ---------------------------------
-AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE],
-[AC_REQUIRE([AC_CANONICAL_HOST])
-AC_REQUIRE([AC_PROG_NM])
-AC_REQUIRE([AC_OBJEXT])
-# Check for command to grab the raw symbol name followed by C symbol from nm.
-AC_MSG_CHECKING([command to parse $NM output from $compiler object])
-AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe],
-[
-# These are sane defaults that work on at least a few old systems.
-# [They come from Ultrix. What could be older than Ultrix?!! ;)]
-
-# Character class describing NM global symbol codes.
-symcode='[[BCDEGRST]]'
-
-# Regexp to match symbols that can be accessed directly from C.
-sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)'
-
-# Transform an extracted symbol line into a proper C declaration
-lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern int \1;/p'"
-
-# Transform an extracted symbol line into symbol name and symbol address
-lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'"
-
-# Define system-specific variables.
-case $host_os in
-aix*)
- symcode='[[BCDT]]'
- ;;
-cygwin* | mingw* | pw32*)
- symcode='[[ABCDGISTW]]'
- ;;
-hpux*) # Its linker distinguishes data from code symbols
- if test "$host_cpu" = ia64; then
- symcode='[[ABCDEGRST]]'
- fi
- lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
- lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'"
- ;;
-linux*)
- if test "$host_cpu" = ia64; then
- symcode='[[ABCDGIRSTW]]'
- lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
- lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'"
- fi
- ;;
-irix* | nonstopux*)
- symcode='[[BCDEGRST]]'
- ;;
-osf*)
- symcode='[[BCDEGQRST]]'
- ;;
-solaris*)
- symcode='[[BDRT]]'
- ;;
-sco3.2v5*)
- symcode='[[DT]]'
- ;;
-sysv4.2uw2*)
- symcode='[[DT]]'
- ;;
-sysv5* | sco5v6* | unixware* | OpenUNIX*)
- symcode='[[ABDT]]'
- ;;
-sysv4)
- symcode='[[DFNSTU]]'
- ;;
-esac
-
-# Handle CRLF in mingw tool chain
-opt_cr=
-case $build_os in
-mingw*)
- opt_cr=`echo 'x\{0,1\}' | tr x '\015'` # option cr in regexp
- ;;
-esac
-
-# If we're using GNU nm, then use its standard symbol codes.
-case `$NM -V 2>&1` in
-*GNU* | *'with BFD'*)
- symcode='[[ABCDGIRSTW]]' ;;
-esac
-
-# Try without a prefix undercore, then with it.
-for ac_symprfx in "" "_"; do
-
- # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
- symxfrm="\\1 $ac_symprfx\\2 \\2"
-
- # Write the raw and C identifiers.
- lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
-
- # Check to see that the pipe works correctly.
- pipe_works=no
-
- rm -f conftest*
- cat > conftest.$ac_ext <<EOF
-#ifdef __cplusplus
-extern "C" {
-#endif
-char nm_test_var;
-void nm_test_func(){}
-#ifdef __cplusplus
-}
-#endif
-int main(){nm_test_var='a';nm_test_func();return(0);}
-EOF
-
- if AC_TRY_EVAL(ac_compile); then
- # Now try to grab the symbols.
- nlist=conftest.nm
- if AC_TRY_EVAL(NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) && test -s "$nlist"; then
- # Try sorting and uniquifying the output.
- if sort "$nlist" | uniq > "$nlist"T; then
- mv -f "$nlist"T "$nlist"
- else
- rm -f "$nlist"T
- fi
-
- # Make sure that we snagged all the symbols we need.
- if grep ' nm_test_var$' "$nlist" >/dev/null; then
- if grep ' nm_test_func$' "$nlist" >/dev/null; then
- cat <<EOF > conftest.$ac_ext
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-EOF
- # Now generate the symbol file.
- eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | grep -v main >> conftest.$ac_ext'
-
- cat <<EOF >> conftest.$ac_ext
-#if defined (__STDC__) && __STDC__
-# define lt_ptr_t void *
-#else
-# define lt_ptr_t char *
-# define const
-#endif
-
-/* The mapping between symbol names and symbols. */
-const struct {
- const char *name;
- lt_ptr_t address;
-}
-lt_preloaded_symbols[[]] =
-{
-EOF
- $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (lt_ptr_t) \&\2},/" < "$nlist" | grep -v main >> conftest.$ac_ext
- cat <<\EOF >> conftest.$ac_ext
- {0, (lt_ptr_t) 0}
-};
-
-#ifdef __cplusplus
-}
-#endif
-EOF
- # Now try linking the two files.
- mv conftest.$ac_objext conftstm.$ac_objext
- lt_save_LIBS="$LIBS"
- lt_save_CFLAGS="$CFLAGS"
- LIBS="conftstm.$ac_objext"
- CFLAGS="$CFLAGS$_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)"
- if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then
- pipe_works=yes
- fi
- LIBS="$lt_save_LIBS"
- CFLAGS="$lt_save_CFLAGS"
- else
- echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD
- fi
- else
- echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD
- fi
- else
- echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD
- fi
- else
- echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD
- cat conftest.$ac_ext >&5
- fi
- rm -f conftest* conftst*
-
- # Do not use the global_symbol_pipe unless it works.
- if test "$pipe_works" = yes; then
- break
- else
- lt_cv_sys_global_symbol_pipe=
- fi
-done
-])
-if test -z "$lt_cv_sys_global_symbol_pipe"; then
- lt_cv_sys_global_symbol_to_cdecl=
-fi
-if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
- AC_MSG_RESULT(failed)
-else
- AC_MSG_RESULT(ok)
-fi
-]) # AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE
-
-
-# AC_LIBTOOL_PROG_COMPILER_PIC([TAGNAME])
-# ---------------------------------------
-AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC],
-[_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)=
-_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
-_LT_AC_TAGVAR(lt_prog_compiler_static, $1)=
-
-AC_MSG_CHECKING([for $compiler option to produce PIC])
- ifelse([$1],[CXX],[
- # C++ specific cases for pic, static, wl, etc.
- if test "$GXX" = yes; then
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static'
-
- case $host_os in
- aix*)
- # All AIX code is PIC.
- if test "$host_cpu" = ia64; then
- # AIX 5 now supports IA64 processor
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- fi
- ;;
- amigaos*)
- # FIXME: we need at least 68020 code to build shared libraries, but
- # adding the `-m68020' flag to GCC prevents building anything better,
- # like `-m68040'.
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
- ;;
- beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
- # PIC is the default for these OSes.
- ;;
- mingw* | os2* | pw32*)
- # This hack is so that the source file can tell whether it is being
- # built for inclusion in a dll (and should export symbols for example).
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'
- ;;
- darwin* | rhapsody*)
- # PIC is the default on this platform
- # Common symbols not allowed in MH_DYLIB files
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
- ;;
- *djgpp*)
- # DJGPP does not support shared libraries at all
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
- ;;
- interix3*)
- # Interix 3.x gcc -fpic/-fPIC options generate broken code.
- # Instead, we relocate shared libraries at runtime.
- ;;
- sysv4*MP*)
- if test -d /usr/nec; then
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
- fi
- ;;
- hpux*)
- # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
- # not for PA HP-UX.
- case $host_cpu in
- hppa*64*|ia64*)
- ;;
- *)
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
- ;;
- esac
- ;;
- *)
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
- ;;
- esac
- else
- case $host_os in
- aix4* | aix5*)
- # All AIX code is PIC.
- if test "$host_cpu" = ia64; then
- # AIX 5 now supports IA64 processor
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- else
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
- fi
- ;;
- chorus*)
- case $cc_basename in
- cxch68*)
- # Green Hills C++ Compiler
- # _LT_AC_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a"
- ;;
- esac
- ;;
- darwin*)
- # PIC is the default on this platform
- # Common symbols not allowed in MH_DYLIB files
- case $cc_basename in
- xlc*)
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-qnocommon'
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- ;;
- esac
- ;;
- dgux*)
- case $cc_basename in
- ec++*)
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
- ;;
- ghcx*)
- # Green Hills C++ Compiler
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
- ;;
- *)
- ;;
- esac
- ;;
- freebsd* | kfreebsd*-gnu | dragonfly*)
- # FreeBSD uses GNU C++
- ;;
- hpux9* | hpux10* | hpux11*)
- case $cc_basename in
- CC*)
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
- if test "$host_cpu" != ia64; then
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
- fi
- ;;
- aCC*)
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
- case $host_cpu in
- hppa*64*|ia64*)
- # +Z the default
- ;;
- *)
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
- ;;
- esac
- ;;
- *)
- ;;
- esac
- ;;
- interix*)
- # This is c89, which is MS Visual C++ (no shared libs)
- # Anyone wants to do a port?
- ;;
- irix5* | irix6* | nonstopux*)
- case $cc_basename in
- CC*)
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
- # CC pic flag -KPIC is the default.
- ;;
- *)
- ;;
- esac
- ;;
- linux*)
- case $cc_basename in
- KCC*)
- # KAI C++ Compiler
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
- ;;
- icpc* | ecpc*)
- # Intel C++
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static'
- ;;
- pgCC*)
- # Portland Group C++ compiler.
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- ;;
- cxx*)
- # Compaq C++
- # Make sure the PIC flag is empty. It appears that all Alpha
- # Linux and Compaq Tru64 Unix objects are PIC.
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
- ;;
- *)
- ;;
- esac
- ;;
- lynxos*)
- ;;
- m88k*)
- ;;
- mvs*)
- case $cc_basename in
- cxx*)
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall'
- ;;
- *)
- ;;
- esac
- ;;
- netbsd*)
- ;;
- osf3* | osf4* | osf5*)
- case $cc_basename in
- KCC*)
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
- ;;
- RCC*)
- # Rational C++ 2.4.1
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
- ;;
- cxx*)
- # Digital/Compaq C++
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- # Make sure the PIC flag is empty. It appears that all Alpha
- # Linux and Compaq Tru64 Unix objects are PIC.
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
- ;;
- *)
- ;;
- esac
- ;;
- psos*)
- ;;
- solaris*)
- case $cc_basename in
- CC*)
- # Sun C++ 4.2, 5.x and Centerline C++
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
- ;;
- gcx*)
- # Green Hills C++ Compiler
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
- ;;
- *)
- ;;
- esac
- ;;
- sunos4*)
- case $cc_basename in
- CC*)
- # Sun C++ 4.x
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- ;;
- lcc*)
- # Lucid
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
- ;;
- *)
- ;;
- esac
- ;;
- tandem*)
- case $cc_basename in
- NCC*)
- # NonStop-UX NCC 3.20
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
- ;;
- *)
- ;;
- esac
- ;;
- sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
- case $cc_basename in
- CC*)
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- ;;
- esac
- ;;
- vxworks*)
- ;;
- *)
- _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
- ;;
- esac
- fi
-],
-[
- if test "$GCC" = yes; then
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static'
-
- case $host_os in
- aix*)
- # All AIX code is PIC.
- if test "$host_cpu" = ia64; then
- # AIX 5 now supports IA64 processor
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- fi
- ;;
-
- amigaos*)
- # FIXME: we need at least 68020 code to build shared libraries, but
- # adding the `-m68020' flag to GCC prevents building anything better,
- # like `-m68040'.
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
- ;;
-
- beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
- # PIC is the default for these OSes.
- ;;
-
- mingw* | pw32* | os2*)
- # This hack is so that the source file can tell whether it is being
- # built for inclusion in a dll (and should export symbols for example).
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'
- ;;
-
- darwin* | rhapsody*)
- # PIC is the default on this platform
- # Common symbols not allowed in MH_DYLIB files
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
- ;;
-
- interix3*)
- # Interix 3.x gcc -fpic/-fPIC options generate broken code.
- # Instead, we relocate shared libraries at runtime.
- ;;
-
- msdosdjgpp*)
- # Just because we use GCC doesn't mean we suddenly get shared libraries
- # on systems that don't support them.
- _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
- enable_shared=no
- ;;
-
- sysv4*MP*)
- if test -d /usr/nec; then
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
- fi
- ;;
-
- hpux*)
- # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
- # not for PA HP-UX.
- case $host_cpu in
- hppa*64*|ia64*)
- # +Z the default
- ;;
- *)
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
- ;;
- esac
- ;;
-
- *)
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
- ;;
- esac
- else
- # PORTME Check for flag to pass linker flags through the system compiler.
- case $host_os in
- aix*)
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- if test "$host_cpu" = ia64; then
- # AIX 5 now supports IA64 processor
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- else
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
- fi
- ;;
- darwin*)
- # PIC is the default on this platform
- # Common symbols not allowed in MH_DYLIB files
- case $cc_basename in
- xlc*)
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-qnocommon'
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- ;;
- esac
- ;;
-
- mingw* | pw32* | os2*)
- # This hack is so that the source file can tell whether it is being
- # built for inclusion in a dll (and should export symbols for example).
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'
- ;;
-
- hpux9* | hpux10* | hpux11*)
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
- # not for PA HP-UX.
- case $host_cpu in
- hppa*64*|ia64*)
- # +Z the default
- ;;
- *)
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
- ;;
- esac
- # Is there a better lt_prog_compiler_static that works with the bundled CC?
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
- ;;
-
- irix5* | irix6* | nonstopux*)
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- # PIC (with -KPIC) is the default.
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
- ;;
-
- newsos6)
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- ;;
-
- linux*)
- case $cc_basename in
- icc* | ecc*)
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static'
- ;;
- pgcc* | pgf77* | pgf90* | pgf95*)
- # Portland Group compilers (*not* the Pentium gcc compiler,
- # which looks to be a dead project)
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- ;;
- ccc*)
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- # All Alpha code is PIC.
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
- ;;
- esac
- ;;
-
- osf3* | osf4* | osf5*)
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- # All OSF/1 code is PIC.
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
- ;;
-
- solaris*)
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- case $cc_basename in
- f77* | f90* | f95*)
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';;
- *)
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';;
- esac
- ;;
-
- sunos4*)
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- ;;
-
- sysv4 | sysv4.2uw2* | sysv4.3*)
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- ;;
-
- sysv4*MP*)
- if test -d /usr/nec ;then
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic'
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- fi
- ;;
-
- sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- ;;
-
- unicos*)
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
- ;;
-
- uts4*)
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- ;;
-
- *)
- _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
- ;;
- esac
- fi
-])
-AC_MSG_RESULT([$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)])
-
-#
-# Check to make sure the PIC flag actually works.
-#
-if test -n "$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)"; then
- AC_LIBTOOL_COMPILER_OPTION([if $compiler PIC flag $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) works],
- _LT_AC_TAGVAR(lt_prog_compiler_pic_works, $1),
- [$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)ifelse([$1],[],[ -DPIC],[ifelse([$1],[CXX],[ -DPIC],[])])], [],
- [case $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) in
- "" | " "*) ;;
- *) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)" ;;
- esac],
- [_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
- _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no])
-fi
-case $host_os in
- # For platforms which do not support PIC, -DPIC is meaningless:
- *djgpp*)
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
- ;;
- *)
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)ifelse([$1],[],[ -DPIC],[ifelse([$1],[CXX],[ -DPIC],[])])"
- ;;
-esac
-
-#
-# Check to make sure the static flag actually works.
-#
-wl=$_LT_AC_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_AC_TAGVAR(lt_prog_compiler_static, $1)\"
-AC_LIBTOOL_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works],
- _LT_AC_TAGVAR(lt_prog_compiler_static_works, $1),
- $lt_tmp_static_flag,
- [],
- [_LT_AC_TAGVAR(lt_prog_compiler_static, $1)=])
-])
-
-
-# AC_LIBTOOL_PROG_LD_SHLIBS([TAGNAME])
-# ------------------------------------
-# See if the linker supports building shared libraries.
-AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS],
-[AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
-ifelse([$1],[CXX],[
- _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
- case $host_os in
- aix4* | aix5*)
- # If we're using GNU nm, then we don't want the "-C" option.
- # -C means demangle to AIX nm, but means don't demangle with GNU nm
- if $NM -V 2>&1 | grep 'GNU' > /dev/null; then
- _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols'
- else
- _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols'
- fi
- ;;
- pw32*)
- _LT_AC_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds"
- ;;
- cygwin* | mingw*)
- _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]] /s/.* \([[^ ]]*\)/\1 DATA/;/^.* __nm__/s/^.* __nm__\([[^ ]]*\) [[^ ]]*/\1 DATA/;/^I /d;/^[[AITW]] /s/.* //'\'' | sort | uniq > $export_symbols'
- ;;
- *)
- _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
- ;;
- esac
-],[
- runpath_var=
- _LT_AC_TAGVAR(allow_undefined_flag, $1)=
- _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no
- _LT_AC_TAGVAR(archive_cmds, $1)=
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)=
- _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)=
- _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1)=
- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
- _LT_AC_TAGVAR(thread_safe_flag_spec, $1)=
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
- _LT_AC_TAGVAR(hardcode_direct, $1)=no
- _LT_AC_TAGVAR(hardcode_minus_L, $1)=no
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
- _LT_AC_TAGVAR(link_all_deplibs, $1)=unknown
- _LT_AC_TAGVAR(hardcode_automatic, $1)=no
- _LT_AC_TAGVAR(module_cmds, $1)=
- _LT_AC_TAGVAR(module_expsym_cmds, $1)=
- _LT_AC_TAGVAR(always_export_symbols, $1)=no
- _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
- # include_expsyms should be a list of space-separated symbols to be *always*
- # included in the symbol list
- _LT_AC_TAGVAR(include_expsyms, $1)=
- # exclude_expsyms can be an extended regexp of symbols to exclude
- # it will be wrapped by ` (' and `)$', so one must not match beginning or
- # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
- # as well as any symbol that contains `d'.
- _LT_AC_TAGVAR(exclude_expsyms, $1)="_GLOBAL_OFFSET_TABLE_"
- # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
- # platforms (ab)use it in PIC code, but their linkers get confused if
- # the symbol is explicitly referenced. Since portable code cannot
- # rely on this symbol name, it's probably fine to never include it in
- # preloaded symbol tables.
- extract_expsyms_cmds=
- # Just being paranoid about ensuring that cc_basename is set.
- _LT_CC_BASENAME([$compiler])
- case $host_os in
- cygwin* | mingw* | pw32*)
- # FIXME: the MSVC++ port hasn't been tested in a loooong time
- # When not using gcc, we currently assume that we are using
- # Microsoft Visual C++.
- if test "$GCC" != yes; then
- with_gnu_ld=no
- fi
- ;;
- interix*)
- # we just hope/assume this is gcc and not c89 (= MSVC++)
- with_gnu_ld=yes
- ;;
- openbsd*)
- with_gnu_ld=no
- ;;
- esac
-
- _LT_AC_TAGVAR(ld_shlibs, $1)=yes
- if test "$with_gnu_ld" = yes; then
- # If archive_cmds runs LD, not CC, wlarc should be empty
- wlarc='${wl}'
-
- # Set some defaults for GNU ld with shared library support. These
- # are reset later if shared libraries are not supported. Putting them
- # here allows them to be overridden if necessary.
- runpath_var=LD_RUN_PATH
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
- # ancient GNU ld didn't support --whole-archive et. al.
- if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
- else
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
- fi
- supports_anon_versioning=no
- case `$LD -v 2>/dev/null` in
- *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11
- *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
- *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
- *\ 2.11.*) ;; # other 2.11 versions
- *) supports_anon_versioning=yes ;;
- esac
-
- # See if GNU ld supports shared libraries.
- case $host_os in
- aix3* | aix4* | aix5*)
- # On AIX/PPC, the GNU linker is very broken
- if test "$host_cpu" != ia64; then
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- cat <<EOF 1>&2
-
-*** Warning: the GNU linker, at least up to release 2.9.1, is reported
-*** to be unable to reliably create shared libraries on AIX.
-*** Therefore, libtool is disabling shared libraries support. If you
-*** really care for shared libraries, you may want to modify your PATH
-*** so that a non-GNU linker is found, and then restart.
-
-EOF
- fi
- ;;
-
- amigaos*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
- _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
-
- # Samuel A. Falvo II <kc5tja@dolphin.openprojects.net> reports
- # that the semantics of dynamic libraries on AmigaOS, at least up
- # to version 4, is to share data among multiple programs linked
- # with the same dynamic library. Since this doesn't match the
- # behavior of shared libraries on other platforms, we can't use
- # them.
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
-
- beos*)
- if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
- _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
- # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
- # support --undefined. This deserves some investigation. FIXME
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- else
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- fi
- ;;
-
- cygwin* | mingw* | pw32*)
- # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
- # as there is no search path for DLLs.
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
- _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
- _LT_AC_TAGVAR(always_export_symbols, $1)=no
- _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
- _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]] /s/.* \([[^ ]]*\)/\1 DATA/'\'' | $SED -e '\''/^[[AITW]] /s/.* //'\'' | sort | uniq > $export_symbols'
-
- if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
- # If the export-symbols file already is a .def file (1st line
- # is EXPORTS), use it as is; otherwise, prepend...
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
- cp $export_symbols $output_objdir/$soname.def;
- else
- echo EXPORTS > $output_objdir/$soname.def;
- cat $export_symbols >> $output_objdir/$soname.def;
- fi~
- $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
- else
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- fi
- ;;
-
- interix3*)
- _LT_AC_TAGVAR(hardcode_direct, $1)=no
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
- # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
- # Instead, shared libraries are loaded at an image base (0x10000000 by
- # default) and relocated if they conflict, which is a slow very memory
- # consuming and fragmenting process. To avoid this, we pick a random,
- # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
- # time. Moving up from 0x10000000 also allows more sbrk(2) space.
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
- ;;
-
- linux*)
- if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
- tmp_addflag=
- case $cc_basename,$host_cpu in
- pgcc*) # Portland Group C compiler
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
- tmp_addflag=' $pic_flag'
- ;;
- pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
- tmp_addflag=' $pic_flag -Mnomain' ;;
- ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64
- tmp_addflag=' -i_dynamic' ;;
- efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64
- tmp_addflag=' -i_dynamic -nofor_main' ;;
- ifc* | ifort*) # Intel Fortran compiler
- tmp_addflag=' -nofor_main' ;;
- esac
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-
- if test $supports_anon_versioning = yes; then
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $output_objdir/$libname.ver~
- cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
- $echo "local: *; };" >> $output_objdir/$libname.ver~
- $CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
- fi
- else
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- fi
- ;;
-
- netbsd*)
- if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
- wlarc=
- else
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- fi
- ;;
-
- solaris*)
- if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- cat <<EOF 1>&2
-
-*** Warning: The releases 2.8.* of the GNU linker cannot reliably
-*** create shared libraries on Solaris systems. Therefore, libtool
-*** is disabling shared libraries support. We urge you to upgrade GNU
-*** binutils to release 2.9.1 or newer. Another option is to modify
-*** your PATH or compiler configuration so that the native linker is
-*** used, and then restart.
-
-EOF
- elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- else
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- fi
- ;;
-
- sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
- case `$LD -v 2>&1` in
- *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*)
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- cat <<_LT_EOF 1>&2
-
-*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
-*** reliably create shared libraries on SCO systems. Therefore, libtool
-*** is disabling shared libraries support. We urge you to upgrade GNU
-*** binutils to release 2.16.91.0.3 or newer. Another option is to modify
-*** your PATH or compiler configuration so that the native linker is
-*** used, and then restart.
-
-_LT_EOF
- ;;
- *)
- if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`'
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib'
- else
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- fi
- ;;
- esac
- ;;
-
- sunos4*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
- wlarc=
- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- ;;
-
- *)
- if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- else
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- fi
- ;;
- esac
-
- if test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no; then
- runpath_var=
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=
- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
- fi
- else
- # PORTME fill in a description of your system's linker (not GNU ld)
- case $host_os in
- aix3*)
- _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
- _LT_AC_TAGVAR(always_export_symbols, $1)=yes
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
- # Note: this linker hardcodes the directories in LIBPATH if there
- # are no directories specified by -L.
- _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
- if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
- # Neither direct hardcoding nor static linking is supported with a
- # broken collect2.
- _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported
- fi
- ;;
-
- aix4* | aix5*)
- if test "$host_cpu" = ia64; then
- # On IA64, the linker does run time linking by default, so we don't
- # have to do anything special.
- aix_use_runtimelinking=no
- exp_sym_flag='-Bexport'
- no_entry_flag=""
- else
- # If we're using GNU nm, then we don't want the "-C" option.
- # -C means demangle to AIX nm, but means don't demangle with GNU nm
- if $NM -V 2>&1 | grep 'GNU' > /dev/null; then
- _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols'
- else
- _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols'
- fi
- aix_use_runtimelinking=no
-
- # Test if we are trying to use run time linking or normal
- # AIX style linking. If -brtl is somewhere in LDFLAGS, we
- # need to do runtime linking.
- case $host_os in aix4.[[23]]|aix4.[[23]].*|aix5*)
- for ld_flag in $LDFLAGS; do
- if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
- aix_use_runtimelinking=yes
- break
- fi
- done
- ;;
- esac
-
- exp_sym_flag='-bexport'
- no_entry_flag='-bnoentry'
- fi
-
- # When large executables or shared objects are built, AIX ld can
- # have problems creating the table of contents. If linking a library
- # or program results in "error TOC overflow" add -mminimal-toc to
- # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
- # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
-
- _LT_AC_TAGVAR(archive_cmds, $1)=''
- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':'
- _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
-
- if test "$GCC" = yes; then
- case $host_os in aix4.[[012]]|aix4.[[012]].*)
- # We only want to do this on AIX 4.2 and lower, the check
- # below for broken collect2 doesn't work under 4.3+
- collect2name=`${CC} -print-prog-name=collect2`
- if test -f "$collect2name" && \
- strings "$collect2name" | grep resolve_lib_name >/dev/null
- then
- # We have reworked collect2
- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
- else
- # We have old collect2
- _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported
- # It fails to find uninstalled libraries when the uninstalled
- # path is not listed in the libpath. Setting hardcode_minus_L
- # to unsupported forces relinking
- _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
- fi
- ;;
- esac
- shared_flag='-shared'
- if test "$aix_use_runtimelinking" = yes; then
- shared_flag="$shared_flag "'${wl}-G'
- fi
- else
- # not using gcc
- if test "$host_cpu" = ia64; then
- # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
- # chokes on -Wl,-G. The following line is correct:
- shared_flag='-G'
- else
- if test "$aix_use_runtimelinking" = yes; then
- shared_flag='${wl}-G'
- else
- shared_flag='${wl}-bM:SRE'
- fi
- fi
- fi
-
- # It seems that -bexpall does not export symbols beginning with
- # underscore (_), so it is better to generate a list of symbols to export.
- _LT_AC_TAGVAR(always_export_symbols, $1)=yes
- if test "$aix_use_runtimelinking" = yes; then
- # Warning - without using the other runtime loading flags (-brtl),
- # -berok will link without error, but may produce a broken library.
- _LT_AC_TAGVAR(allow_undefined_flag, $1)='-berok'
- # Determine the default libpath from the value encoded in an empty executable.
- _LT_AC_SYS_LIBPATH_AIX
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
- else
- if test "$host_cpu" = ia64; then
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
- _LT_AC_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
- else
- # Determine the default libpath from the value encoded in an empty executable.
- _LT_AC_SYS_LIBPATH_AIX
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
- # Warning - without using the other run time loading flags,
- # -berok will link without error, but may produce a broken library.
- _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
- _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
- # Exported symbols can be pulled into shared objects from archives
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
- _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes
- # This is similar to how AIX traditionally builds its shared libraries.
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
- fi
- fi
- ;;
-
- amigaos*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
- _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
- # see comment about different semantics on the GNU ld section
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
-
- bsdi[[45]]*)
- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic
- ;;
-
- cygwin* | mingw* | pw32*)
- # When not using gcc, we currently assume that we are using
- # Microsoft Visual C++.
- # hardcode_libdir_flag_spec is actually meaningless, as there is
- # no search path for DLLs.
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
- _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
- # Tell ltmain to make .lib files, not .a files.
- libext=lib
- # Tell ltmain to make .dll files, not .so files.
- shrext_cmds=".dll"
- # FIXME: Setting linknames here is a bad hack.
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames='
- # The linker will automatically build a .lib file if we build a DLL.
- _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)='true'
- # FIXME: Should let the user specify the lib program.
- _LT_AC_TAGVAR(old_archive_cmds, $1)='lib /OUT:$oldlib$oldobjs$old_deplibs'
- _LT_AC_TAGVAR(fix_srcfile_path, $1)='`cygpath -w "$srcfile"`'
- _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
- ;;
-
- darwin* | rhapsody*)
- case $host_os in
- rhapsody* | darwin1.[[012]])
- _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}suppress'
- ;;
- *) # Darwin 1.3 on
- if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then
- _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
- else
- case ${MACOSX_DEPLOYMENT_TARGET} in
- 10.[[012]])
- _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
- ;;
- 10.*)
- _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}dynamic_lookup'
- ;;
- esac
- fi
- ;;
- esac
- _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
- _LT_AC_TAGVAR(hardcode_direct, $1)=no
- _LT_AC_TAGVAR(hardcode_automatic, $1)=yes
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=''
- _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
- if test "$GCC" = yes ; then
- output_verbose_link_cmd='echo'
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
- _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
- # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
- _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
- else
- case $cc_basename in
- xlc*)
- output_verbose_link_cmd='echo'
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring'
- _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
- # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
- _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
- ;;
- *)
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- esac
- fi
- ;;
-
- dgux*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- ;;
-
- freebsd1*)
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
-
- # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
- # support. Future versions do this automatically, but an explicit c++rt0.o
- # does not break anything, and helps significantly (at the cost of a little
- # extra space).
- freebsd2.2*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- ;;
-
- # Unfortunately, older versions of FreeBSD 2 do not have this feature.
- freebsd2*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
- _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- ;;
-
- # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
- freebsd* | kfreebsd*-gnu | dragonfly*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- ;;
-
- hpux9*)
- if test "$GCC" = yes; then
- _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
- else
- _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
- fi
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
-
- # hardcode_minus_L: Not really in the search PATH,
- # but as the default location of the library.
- _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
- ;;
-
- hpux10*)
- if test "$GCC" = yes -a "$with_gnu_ld" = no; then
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
- else
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
- fi
- if test "$with_gnu_ld" = no; then
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
-
- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
-
- # hardcode_minus_L: Not really in the search PATH,
- # but as the default location of the library.
- _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
- fi
- ;;
-
- hpux11*)
- if test "$GCC" = yes -a "$with_gnu_ld" = no; then
- case $host_cpu in
- hppa*64*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- ia64*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- *)
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- esac
- else
- case $host_cpu in
- hppa*64*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- ia64*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- *)
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- esac
- fi
- if test "$with_gnu_ld" = no; then
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
-
- case $host_cpu in
- hppa*64*|ia64*)
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir'
- _LT_AC_TAGVAR(hardcode_direct, $1)=no
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- ;;
- *)
- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
-
- # hardcode_minus_L: Not really in the search PATH,
- # but as the default location of the library.
- _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
- ;;
- esac
- fi
- ;;
-
- irix5* | irix6* | nonstopux*)
- if test "$GCC" = yes; then
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
- else
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='-rpath $libdir'
- fi
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
- _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
- ;;
-
- netbsd*)
- if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
- else
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF
- fi
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- ;;
-
- newsos6)
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- ;;
-
- openbsd*)
- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
- else
- case $host_os in
- openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
- ;;
- *)
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
- ;;
- esac
- fi
- ;;
-
- os2*)
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
- _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
- _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
- _LT_AC_TAGVAR(archive_cmds, $1)='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
- _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
- ;;
-
- osf3*)
- if test "$GCC" = yes; then
- _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
- else
- _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
- fi
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
- ;;
-
- osf4* | osf5*) # as osf3* with the addition of -msym flag
- if test "$GCC" = yes; then
- _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
- else
- _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~
- $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp'
-
- # Both c and cxx compiler support -rpath directly
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
- fi
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
- ;;
-
- solaris*)
- _LT_AC_TAGVAR(no_undefined_flag, $1)=' -z text'
- if test "$GCC" = yes; then
- wlarc='${wl}'
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
- $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp'
- else
- wlarc=''
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
- $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp'
- fi
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- case $host_os in
- solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
- *)
- # The compiler driver will combine linker options so we
- # cannot just pass the convience library names through
- # without $wl, iff we do not link with $LD.
- # Luckily, gcc supports the same syntax we need for Sun Studio.
- # Supported since Solaris 2.6 (maybe 2.5.1?)
- case $wlarc in
- '')
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' ;;
- *)
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' ;;
- esac ;;
- esac
- _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
- ;;
-
- sunos4*)
- if test "x$host_vendor" = xsequent; then
- # Use $CC to link under sequent, because it throws in some extra .o
- # files that make .init and .fini sections work.
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
- else
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
- fi
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
- _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- ;;
-
- sysv4)
- case $host_vendor in
- sni)
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- _LT_AC_TAGVAR(hardcode_direct, $1)=yes # is this really true???
- ;;
- siemens)
- ## LD is ld it makes a PLAMLIB
- ## CC just makes a GrossModule.
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags'
- _LT_AC_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs'
- _LT_AC_TAGVAR(hardcode_direct, $1)=no
- ;;
- motorola)
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- _LT_AC_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie
- ;;
- esac
- runpath_var='LD_RUN_PATH'
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- ;;
-
- sysv4.3*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport'
- ;;
-
- sysv4*MP*)
- if test -d /usr/nec; then
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- runpath_var=LD_RUN_PATH
- hardcode_runpath_var=yes
- _LT_AC_TAGVAR(ld_shlibs, $1)=yes
- fi
- ;;
-
- sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7*)
- _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
- _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- runpath_var='LD_RUN_PATH'
-
- if test "$GCC" = yes; then
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- else
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- fi
- ;;
-
- sysv5* | sco3.2v5* | sco5v6*)
- # Note: We can NOT use -z defs as we might desire, because we do not
- # link with -lc, and that would cause any symbols used from libc to
- # always be unresolved, which means just about no library would
- # ever link correctly. If we're not using GNU ld we use -z text
- # though, which does catch some bad symbols but isn't as heavy-handed
- # as -z defs.
- _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
- _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
- _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`'
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':'
- _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
- runpath_var='LD_RUN_PATH'
-
- if test "$GCC" = yes; then
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
- else
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
- fi
- ;;
-
- uts4*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- ;;
-
- *)
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- esac
- fi
-])
-AC_MSG_RESULT([$_LT_AC_TAGVAR(ld_shlibs, $1)])
-test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
-
-#
-# Do we need to explicitly link libc?
-#
-case "x$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)" in
-x|xyes)
- # Assume -lc should be added
- _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes
-
- if test "$enable_shared" = yes && test "$GCC" = yes; then
- case $_LT_AC_TAGVAR(archive_cmds, $1) in
- *'~'*)
- # FIXME: we may have to deal with multi-command sequences.
- ;;
- '$CC '*)
- # Test whether the compiler implicitly links with -lc since on some
- # systems, -lgcc has to come before -lc. If gcc already passes -lc
- # to ld, don't add -lc before -lgcc.
- AC_MSG_CHECKING([whether -lc should be explicitly linked in])
- $rm conftest*
- printf "$lt_simple_compile_test_code" > conftest.$ac_ext
-
- if AC_TRY_EVAL(ac_compile) 2>conftest.err; then
- soname=conftest
- lib=conftest
- libobjs=conftest.$ac_objext
- deplibs=
- wl=$_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)
- pic_flag=$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)
- compiler_flags=-v
- linker_flags=-v
- verstring=
- output_objdir=.
- libname=conftest
- lt_save_allow_undefined_flag=$_LT_AC_TAGVAR(allow_undefined_flag, $1)
- _LT_AC_TAGVAR(allow_undefined_flag, $1)=
- if AC_TRY_EVAL(_LT_AC_TAGVAR(archive_cmds, $1) 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1)
- then
- _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
- else
- _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes
- fi
- _LT_AC_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag
- else
- cat conftest.err 1>&5
- fi
- $rm conftest*
- AC_MSG_RESULT([$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)])
- ;;
- esac
- fi
- ;;
-esac
-])# AC_LIBTOOL_PROG_LD_SHLIBS
-
-
-# _LT_AC_FILE_LTDLL_C
-# -------------------
-# Be careful that the start marker always follows a newline.
-AC_DEFUN([_LT_AC_FILE_LTDLL_C], [
-# /* ltdll.c starts here */
-# #define WIN32_LEAN_AND_MEAN
-# #include <windows.h>
-# #undef WIN32_LEAN_AND_MEAN
-# #include <stdio.h>
-#
-# #ifndef __CYGWIN__
-# # ifdef __CYGWIN32__
-# # define __CYGWIN__ __CYGWIN32__
-# # endif
-# #endif
-#
-# #ifdef __cplusplus
-# extern "C" {
-# #endif
-# BOOL APIENTRY DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved);
-# #ifdef __cplusplus
-# }
-# #endif
-#
-# #ifdef __CYGWIN__
-# #include <cygwin/cygwin_dll.h>
-# DECLARE_CYGWIN_DLL( DllMain );
-# #endif
-# HINSTANCE __hDllInstance_base;
-#
-# BOOL APIENTRY
-# DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved)
-# {
-# __hDllInstance_base = hInst;
-# return TRUE;
-# }
-# /* ltdll.c ends here */
-])# _LT_AC_FILE_LTDLL_C
-
-
-# _LT_AC_TAGVAR(VARNAME, [TAGNAME])
-# ---------------------------------
-AC_DEFUN([_LT_AC_TAGVAR], [ifelse([$2], [], [$1], [$1_$2])])
-
-
-# old names
-AC_DEFUN([AM_PROG_LIBTOOL], [AC_PROG_LIBTOOL])
-AC_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)])
-AC_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)])
-AC_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)])
-AC_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)])
-AC_DEFUN([AM_PROG_LD], [AC_PROG_LD])
-AC_DEFUN([AM_PROG_NM], [AC_PROG_NM])
-
-# This is just to silence aclocal about the macro not being used
-ifelse([AC_DISABLE_FAST_INSTALL])
-
-AC_DEFUN([LT_AC_PROG_GCJ],
-[AC_CHECK_TOOL(GCJ, gcj, no)
- test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2"
- AC_SUBST(GCJFLAGS)
-])
-
-AC_DEFUN([LT_AC_PROG_RC],
-[AC_CHECK_TOOL(RC, windres, no)
-])
-
-# NOTE: This macro has been submitted for inclusion into #
-# GNU Autoconf as AC_PROG_SED. When it is available in #
-# a released version of Autoconf we should remove this #
-# macro and use it instead. #
-# LT_AC_PROG_SED
-# --------------
-# Check for a fully-functional sed program, that truncates
-# as few characters as possible. Prefer GNU sed if found.
-AC_DEFUN([LT_AC_PROG_SED],
-[AC_MSG_CHECKING([for a sed that does not truncate output])
-AC_CACHE_VAL(lt_cv_path_SED,
-[# Loop through the user's path and test for sed and gsed.
-# Then use that list of sed's as ones to test for truncation.
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for lt_ac_prog in sed gsed; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then
- lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext"
- fi
- done
- done
-done
-lt_ac_max=0
-lt_ac_count=0
-# Add /usr/xpg4/bin/sed as it is typically found on Solaris
-# along with /bin/sed that truncates output.
-for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do
- test ! -f $lt_ac_sed && continue
- cat /dev/null > conftest.in
- lt_ac_count=0
- echo $ECHO_N "0123456789$ECHO_C" >conftest.in
- # Check for GNU sed and select it if it is found.
- if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then
- lt_cv_path_SED=$lt_ac_sed
- break
- fi
- while true; do
- cat conftest.in conftest.in >conftest.tmp
- mv conftest.tmp conftest.in
- cp conftest.in conftest.nl
- echo >>conftest.nl
- $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break
- cmp -s conftest.out conftest.nl || break
- # 10000 chars as input seems more than enough
- test $lt_ac_count -gt 10 && break
- lt_ac_count=`expr $lt_ac_count + 1`
- if test $lt_ac_count -gt $lt_ac_max; then
- lt_ac_max=$lt_ac_count
- lt_cv_path_SED=$lt_ac_sed
- fi
- done
-done
-])
-SED=$lt_cv_path_SED
-AC_MSG_RESULT([$SED])
-])
-
-# Copyright (C) 2002, 2003, 2005 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# AM_AUTOMAKE_VERSION(VERSION)
-# ----------------------------
-# Automake X.Y traces this macro to ensure aclocal.m4 has been
-# generated from the m4 files accompanying Automake X.Y.
-AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version="1.9"])
-
-# AM_SET_CURRENT_AUTOMAKE_VERSION
-# -------------------------------
-# Call AM_AUTOMAKE_VERSION so it can be traced.
-# This function is AC_REQUIREd by AC_INIT_AUTOMAKE.
-AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
- [AM_AUTOMAKE_VERSION([1.9.6])])
-
-# AM_AUX_DIR_EXPAND -*- Autoconf -*-
-
-# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
-# $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to
-# `$srcdir', `$srcdir/..', or `$srcdir/../..'.
-#
-# Of course, Automake must honor this variable whenever it calls a
-# tool from the auxiliary directory. The problem is that $srcdir (and
-# therefore $ac_aux_dir as well) can be either absolute or relative,
-# depending on how configure is run. This is pretty annoying, since
-# it makes $ac_aux_dir quite unusable in subdirectories: in the top
-# source directory, any form will work fine, but in subdirectories a
-# relative path needs to be adjusted first.
-#
-# $ac_aux_dir/missing
-# fails when called from a subdirectory if $ac_aux_dir is relative
-# $top_srcdir/$ac_aux_dir/missing
-# fails if $ac_aux_dir is absolute,
-# fails when called from a subdirectory in a VPATH build with
-# a relative $ac_aux_dir
-#
-# The reason of the latter failure is that $top_srcdir and $ac_aux_dir
-# are both prefixed by $srcdir. In an in-source build this is usually
-# harmless because $srcdir is `.', but things will broke when you
-# start a VPATH build or use an absolute $srcdir.
-#
-# So we could use something similar to $top_srcdir/$ac_aux_dir/missing,
-# iff we strip the leading $srcdir from $ac_aux_dir. That would be:
-# am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"`
-# and then we would define $MISSING as
-# MISSING="\${SHELL} $am_aux_dir/missing"
-# This will work as long as MISSING is not called from configure, because
-# unfortunately $(top_srcdir) has no meaning in configure.
-# However there are other variables, like CC, which are often used in
-# configure, and could therefore not use this "fixed" $ac_aux_dir.
-#
-# Another solution, used here, is to always expand $ac_aux_dir to an
-# absolute PATH. The drawback is that using absolute paths prevent a
-# configured tree to be moved without reconfiguration.
-
-AC_DEFUN([AM_AUX_DIR_EXPAND],
-[dnl Rely on autoconf to set up CDPATH properly.
-AC_PREREQ([2.50])dnl
-# expand $ac_aux_dir to an absolute path
-am_aux_dir=`cd $ac_aux_dir && pwd`
-])
-
-# AM_CONDITIONAL -*- Autoconf -*-
-
-# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005
-# Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 7
-
-# AM_CONDITIONAL(NAME, SHELL-CONDITION)
-# -------------------------------------
-# Define a conditional.
-AC_DEFUN([AM_CONDITIONAL],
-[AC_PREREQ(2.52)dnl
- ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])],
- [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
-AC_SUBST([$1_TRUE])
-AC_SUBST([$1_FALSE])
-if $2; then
- $1_TRUE=
- $1_FALSE='#'
-else
- $1_TRUE='#'
- $1_FALSE=
-fi
-AC_CONFIG_COMMANDS_PRE(
-[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then
- AC_MSG_ERROR([[conditional "$1" was never defined.
-Usually this means the macro was only invoked conditionally.]])
-fi])])
-
-
-# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005
-# Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 8
-
-# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
-# written in clear, in which case automake, when reading aclocal.m4,
-# will think it sees a *use*, and therefore will trigger all it's
-# C support machinery. Also note that it means that autoscan, seeing
-# CC etc. in the Makefile, will ask for an AC_PROG_CC use...
-
-
-# _AM_DEPENDENCIES(NAME)
-# ----------------------
-# See how the compiler implements dependency checking.
-# NAME is "CC", "CXX", "GCJ", or "OBJC".
-# We try a few techniques and use that to set a single cache variable.
-#
-# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was
-# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular
-# dependency, and given that the user is not expected to run this macro,
-# just rely on AC_PROG_CC.
-AC_DEFUN([_AM_DEPENDENCIES],
-[AC_REQUIRE([AM_SET_DEPDIR])dnl
-AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl
-AC_REQUIRE([AM_MAKE_INCLUDE])dnl
-AC_REQUIRE([AM_DEP_TRACK])dnl
-
-ifelse([$1], CC, [depcc="$CC" am_compiler_list=],
- [$1], CXX, [depcc="$CXX" am_compiler_list=],
- [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
- [$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'],
- [depcc="$$1" am_compiler_list=])
-
-AC_CACHE_CHECK([dependency style of $depcc],
- [am_cv_$1_dependencies_compiler_type],
-[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
- # We make a subdir and do the tests there. Otherwise we can end up
- # making bogus files that we don't know about and never remove. For
- # instance it was reported that on HP-UX the gcc test will end up
- # making a dummy file named `D' -- because `-MD' means `put the output
- # in D'.
- mkdir conftest.dir
- # Copy depcomp to subdir because otherwise we won't find it if we're
- # using a relative directory.
- cp "$am_depcomp" conftest.dir
- cd conftest.dir
- # We will build objects and dependencies in a subdirectory because
- # it helps to detect inapplicable dependency modes. For instance
- # both Tru64's cc and ICC support -MD to output dependencies as a
- # side effect of compilation, but ICC will put the dependencies in
- # the current directory while Tru64 will put them in the object
- # directory.
- mkdir sub
-
- am_cv_$1_dependencies_compiler_type=none
- if test "$am_compiler_list" = ""; then
- am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp`
- fi
- for depmode in $am_compiler_list; do
- # Setup a source with many dependencies, because some compilers
- # like to wrap large dependency lists on column 80 (with \), and
- # we should not choose a depcomp mode which is confused by this.
- #
- # We need to recreate these files for each test, as the compiler may
- # overwrite some of them when testing with obscure command lines.
- # This happens at least with the AIX C compiler.
- : > sub/conftest.c
- for i in 1 2 3 4 5 6; do
- echo '#include "conftst'$i'.h"' >> sub/conftest.c
- # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
- # Solaris 8's {/usr,}/bin/sh.
- touch sub/conftst$i.h
- done
- echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
-
- case $depmode in
- nosideeffect)
- # after this tag, mechanisms are not by side-effect, so they'll
- # only be used when explicitly requested
- if test "x$enable_dependency_tracking" = xyes; then
- continue
- else
- break
- fi
- ;;
- none) break ;;
- esac
- # We check with `-c' and `-o' for the sake of the "dashmstdout"
- # mode. It turns out that the SunPro C++ compiler does not properly
- # handle `-M -o', and we need to detect this.
- if depmode=$depmode \
- source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \
- depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
- $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \
- >/dev/null 2>conftest.err &&
- grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
- grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 &&
- ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
- # icc doesn't choke on unknown options, it will just issue warnings
- # or remarks (even with -Werror). So we grep stderr for any message
- # that says an option was ignored or not supported.
- # When given -MP, icc 7.0 and 7.1 complain thusly:
- # icc: Command line warning: ignoring option '-M'; no argument required
- # The diagnosis changed in icc 8.0:
- # icc: Command line remark: option '-MP' not supported
- if (grep 'ignoring option' conftest.err ||
- grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
- am_cv_$1_dependencies_compiler_type=$depmode
- break
- fi
- fi
- done
-
- cd ..
- rm -rf conftest.dir
-else
- am_cv_$1_dependencies_compiler_type=none
-fi
-])
-AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type])
-AM_CONDITIONAL([am__fastdep$1], [
- test "x$enable_dependency_tracking" != xno \
- && test "$am_cv_$1_dependencies_compiler_type" = gcc3])
-])
-
-
-# AM_SET_DEPDIR
-# -------------
-# Choose a directory name for dependency files.
-# This macro is AC_REQUIREd in _AM_DEPENDENCIES
-AC_DEFUN([AM_SET_DEPDIR],
-[AC_REQUIRE([AM_SET_LEADING_DOT])dnl
-AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl
-])
-
-
-# AM_DEP_TRACK
-# ------------
-AC_DEFUN([AM_DEP_TRACK],
-[AC_ARG_ENABLE(dependency-tracking,
-[ --disable-dependency-tracking speeds up one-time build
- --enable-dependency-tracking do not reject slow dependency extractors])
-if test "x$enable_dependency_tracking" != xno; then
- am_depcomp="$ac_aux_dir/depcomp"
- AMDEPBACKSLASH='\'
-fi
-AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
-AC_SUBST([AMDEPBACKSLASH])
-])
-
-# Generate code to set up dependency tracking. -*- Autoconf -*-
-
-# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005
-# Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-#serial 3
-
-# _AM_OUTPUT_DEPENDENCY_COMMANDS
-# ------------------------------
-AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
-[for mf in $CONFIG_FILES; do
- # Strip MF so we end up with the name of the file.
- mf=`echo "$mf" | sed -e 's/:.*$//'`
- # Check whether this is an Automake generated Makefile or not.
- # We used to match only the files named `Makefile.in', but
- # some people rename them; so instead we look at the file content.
- # Grep'ing the first line is not enough: some people post-process
- # each Makefile.in and add a new line on top of each file to say so.
- # So let's grep whole file.
- if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then
- dirpart=`AS_DIRNAME("$mf")`
- else
- continue
- fi
- # Extract the definition of DEPDIR, am__include, and am__quote
- # from the Makefile without running `make'.
- DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
- test -z "$DEPDIR" && continue
- am__include=`sed -n 's/^am__include = //p' < "$mf"`
- test -z "am__include" && continue
- am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
- # When using ansi2knr, U may be empty or an underscore; expand it
- U=`sed -n 's/^U = //p' < "$mf"`
- # Find all dependency output files, they are included files with
- # $(DEPDIR) in their names. We invoke sed twice because it is the
- # simplest approach to changing $(DEPDIR) to its actual value in the
- # expansion.
- for file in `sed -n "
- s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
- sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
- # Make sure the directory exists.
- test -f "$dirpart/$file" && continue
- fdir=`AS_DIRNAME(["$file"])`
- AS_MKDIR_P([$dirpart/$fdir])
- # echo "creating $dirpart/$file"
- echo '# dummy' > "$dirpart/$file"
- done
-done
-])# _AM_OUTPUT_DEPENDENCY_COMMANDS
-
-
-# AM_OUTPUT_DEPENDENCY_COMMANDS
-# -----------------------------
-# This macro should only be invoked once -- use via AC_REQUIRE.
-#
-# This code is only required when automatic dependency tracking
-# is enabled. FIXME. This creates each `.P' file that we will
-# need in order to bootstrap the dependency handling code.
-AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
-[AC_CONFIG_COMMANDS([depfiles],
- [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS],
- [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"])
-])
-
-# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005
-# Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 8
-
-# AM_CONFIG_HEADER is obsolete. It has been replaced by AC_CONFIG_HEADERS.
-AU_DEFUN([AM_CONFIG_HEADER], [AC_CONFIG_HEADERS($@)])
-
-# Do all the work for Automake. -*- Autoconf -*-
-
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
-# Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 12
-
-# This macro actually does too much. Some checks are only needed if
-# your package does certain things. But this isn't really a big deal.
-
-# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
-# AM_INIT_AUTOMAKE([OPTIONS])
-# -----------------------------------------------
-# The call with PACKAGE and VERSION arguments is the old style
-# call (pre autoconf-2.50), which is being phased out. PACKAGE
-# and VERSION should now be passed to AC_INIT and removed from
-# the call to AM_INIT_AUTOMAKE.
-# We support both call styles for the transition. After
-# the next Automake release, Autoconf can make the AC_INIT
-# arguments mandatory, and then we can depend on a new Autoconf
-# release and drop the old call support.
-AC_DEFUN([AM_INIT_AUTOMAKE],
-[AC_PREREQ([2.58])dnl
-dnl Autoconf wants to disallow AM_ names. We explicitly allow
-dnl the ones we care about.
-m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
-AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl
-AC_REQUIRE([AC_PROG_INSTALL])dnl
-# test to see if srcdir already configured
-if test "`cd $srcdir && pwd`" != "`pwd`" &&
- test -f $srcdir/config.status; then
- AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
-fi
-
-# test whether we have cygpath
-if test -z "$CYGPATH_W"; then
- if (cygpath --version) >/dev/null 2>/dev/null; then
- CYGPATH_W='cygpath -w'
- else
- CYGPATH_W=echo
- fi
-fi
-AC_SUBST([CYGPATH_W])
-
-# Define the identity of the package.
-dnl Distinguish between old-style and new-style calls.
-m4_ifval([$2],
-[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
- AC_SUBST([PACKAGE], [$1])dnl
- AC_SUBST([VERSION], [$2])],
-[_AM_SET_OPTIONS([$1])dnl
- AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
- AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl
-
-_AM_IF_OPTION([no-define],,
-[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
- AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl
-
-# Some tools Automake needs.
-AC_REQUIRE([AM_SANITY_CHECK])dnl
-AC_REQUIRE([AC_ARG_PROGRAM])dnl
-AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version})
-AM_MISSING_PROG(AUTOCONF, autoconf)
-AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version})
-AM_MISSING_PROG(AUTOHEADER, autoheader)
-AM_MISSING_PROG(MAKEINFO, makeinfo)
-AM_PROG_INSTALL_SH
-AM_PROG_INSTALL_STRIP
-AC_REQUIRE([AM_PROG_MKDIR_P])dnl
-# We need awk for the "check" target. The system "awk" is bad on
-# some platforms.
-AC_REQUIRE([AC_PROG_AWK])dnl
-AC_REQUIRE([AC_PROG_MAKE_SET])dnl
-AC_REQUIRE([AM_SET_LEADING_DOT])dnl
-_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
- [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
- [_AM_PROG_TAR([v7])])])
-_AM_IF_OPTION([no-dependencies],,
-[AC_PROVIDE_IFELSE([AC_PROG_CC],
- [_AM_DEPENDENCIES(CC)],
- [define([AC_PROG_CC],
- defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl
-AC_PROVIDE_IFELSE([AC_PROG_CXX],
- [_AM_DEPENDENCIES(CXX)],
- [define([AC_PROG_CXX],
- defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
-])
-])
-
-
-# When config.status generates a header, we must update the stamp-h file.
-# This file resides in the same directory as the config header
-# that is generated. The stamp files are numbered to have different names.
-
-# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the
-# loop where config.status creates the headers, so we can generate
-# our stamp files there.
-AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK],
-[# Compute $1's index in $config_headers.
-_am_stamp_count=1
-for _am_header in $config_headers :; do
- case $_am_header in
- $1 | $1:* )
- break ;;
- * )
- _am_stamp_count=`expr $_am_stamp_count + 1` ;;
- esac
-done
-echo "timestamp for $1" >`AS_DIRNAME([$1])`/stamp-h[]$_am_stamp_count])
-
-# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# AM_PROG_INSTALL_SH
-# ------------------
-# Define $install_sh.
-AC_DEFUN([AM_PROG_INSTALL_SH],
-[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
-install_sh=${install_sh-"$am_aux_dir/install-sh"}
-AC_SUBST(install_sh)])
-
-# Copyright (C) 2003, 2005 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 2
-
-# Check whether the underlying file-system supports filenames
-# with a leading dot. For instance MS-DOS doesn't.
-AC_DEFUN([AM_SET_LEADING_DOT],
-[rm -rf .tst 2>/dev/null
-mkdir .tst 2>/dev/null
-if test -d .tst; then
- am__leading_dot=.
-else
- am__leading_dot=_
-fi
-rmdir .tst 2>/dev/null
-AC_SUBST([am__leading_dot])])
-
-# Check to see how 'make' treats includes. -*- Autoconf -*-
-
-# Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 3
-
-# AM_MAKE_INCLUDE()
-# -----------------
-# Check to see how make treats includes.
-AC_DEFUN([AM_MAKE_INCLUDE],
-[am_make=${MAKE-make}
-cat > confinc << 'END'
-am__doit:
- @echo done
-.PHONY: am__doit
-END
-# If we don't find an include directive, just comment out the code.
-AC_MSG_CHECKING([for style of include used by $am_make])
-am__include="#"
-am__quote=
-_am_result=none
-# First try GNU make style include.
-echo "include confinc" > confmf
-# We grep out `Entering directory' and `Leaving directory'
-# messages which can occur if `w' ends up in MAKEFLAGS.
-# In particular we don't look at `^make:' because GNU make might
-# be invoked under some other name (usually "gmake"), in which
-# case it prints its new name instead of `make'.
-if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then
- am__include=include
- am__quote=
- _am_result=GNU
-fi
-# Now try BSD make style include.
-if test "$am__include" = "#"; then
- echo '.include "confinc"' > confmf
- if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then
- am__include=.include
- am__quote="\""
- _am_result=BSD
- fi
-fi
-AC_SUBST([am__include])
-AC_SUBST([am__quote])
-AC_MSG_RESULT([$_am_result])
-rm -f confinc confmf
-])
-
-# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*-
-
-# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2005
-# Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 4
-
-# AM_MISSING_PROG(NAME, PROGRAM)
-# ------------------------------
-AC_DEFUN([AM_MISSING_PROG],
-[AC_REQUIRE([AM_MISSING_HAS_RUN])
-$1=${$1-"${am_missing_run}$2"}
-AC_SUBST($1)])
-
-
-# AM_MISSING_HAS_RUN
-# ------------------
-# Define MISSING if not defined so far and test if it supports --run.
-# If it does, set am_missing_run to use it, otherwise, to nothing.
-AC_DEFUN([AM_MISSING_HAS_RUN],
-[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
-test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing"
-# Use eval to expand $SHELL
-if eval "$MISSING --run true"; then
- am_missing_run="$MISSING --run "
-else
- am_missing_run=
- AC_MSG_WARN([`missing' script is too old or missing])
-fi
-])
-
-# Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# AM_PROG_MKDIR_P
-# ---------------
-# Check whether `mkdir -p' is supported, fallback to mkinstalldirs otherwise.
-#
-# Automake 1.8 used `mkdir -m 0755 -p --' to ensure that directories
-# created by `make install' are always world readable, even if the
-# installer happens to have an overly restrictive umask (e.g. 077).
-# This was a mistake. There are at least two reasons why we must not
-# use `-m 0755':
-# - it causes special bits like SGID to be ignored,
-# - it may be too restrictive (some setups expect 775 directories).
-#
-# Do not use -m 0755 and let people choose whatever they expect by
-# setting umask.
-#
-# We cannot accept any implementation of `mkdir' that recognizes `-p'.
-# Some implementations (such as Solaris 8's) are not thread-safe: if a
-# parallel make tries to run `mkdir -p a/b' and `mkdir -p a/c'
-# concurrently, both version can detect that a/ is missing, but only
-# one can create it and the other will error out. Consequently we
-# restrict ourselves to GNU make (using the --version option ensures
-# this.)
-AC_DEFUN([AM_PROG_MKDIR_P],
-[if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then
- # We used to keeping the `.' as first argument, in order to
- # allow $(mkdir_p) to be used without argument. As in
- # $(mkdir_p) $(somedir)
- # where $(somedir) is conditionally defined. However this is wrong
- # for two reasons:
- # 1. if the package is installed by a user who cannot write `.'
- # make install will fail,
- # 2. the above comment should most certainly read
- # $(mkdir_p) $(DESTDIR)$(somedir)
- # so it does not work when $(somedir) is undefined and
- # $(DESTDIR) is not.
- # To support the latter case, we have to write
- # test -z "$(somedir)" || $(mkdir_p) $(DESTDIR)$(somedir),
- # so the `.' trick is pointless.
- mkdir_p='mkdir -p --'
-else
- # On NextStep and OpenStep, the `mkdir' command does not
- # recognize any option. It will interpret all options as
- # directories to create, and then abort because `.' already
- # exists.
- for d in ./-p ./--version;
- do
- test -d $d && rmdir $d
- done
- # $(mkinstalldirs) is defined by Automake if mkinstalldirs exists.
- if test -f "$ac_aux_dir/mkinstalldirs"; then
- mkdir_p='$(mkinstalldirs)'
- else
- mkdir_p='$(install_sh) -d'
- fi
-fi
-AC_SUBST([mkdir_p])])
-
-# Helper functions for option handling. -*- Autoconf -*-
-
-# Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 3
-
-# _AM_MANGLE_OPTION(NAME)
-# -----------------------
-AC_DEFUN([_AM_MANGLE_OPTION],
-[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])])
-
-# _AM_SET_OPTION(NAME)
-# ------------------------------
-# Set option NAME. Presently that only means defining a flag for this option.
-AC_DEFUN([_AM_SET_OPTION],
-[m4_define(_AM_MANGLE_OPTION([$1]), 1)])
-
-# _AM_SET_OPTIONS(OPTIONS)
-# ----------------------------------
-# OPTIONS is a space-separated list of Automake options.
-AC_DEFUN([_AM_SET_OPTIONS],
-[AC_FOREACH([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
-
-# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET])
-# -------------------------------------------
-# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
-AC_DEFUN([_AM_IF_OPTION],
-[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
-
-# Check to make sure that the build environment is sane. -*- Autoconf -*-
-
-# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005
-# Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 4
-
-# AM_SANITY_CHECK
-# ---------------
-AC_DEFUN([AM_SANITY_CHECK],
-[AC_MSG_CHECKING([whether build environment is sane])
-# Just in case
-sleep 1
-echo timestamp > conftest.file
-# Do `set' in a subshell so we don't clobber the current shell's
-# arguments. Must try -L first in case configure is actually a
-# symlink; some systems play weird games with the mod time of symlinks
-# (eg FreeBSD returns the mod time of the symlink's containing
-# directory).
-if (
- set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null`
- if test "$[*]" = "X"; then
- # -L didn't work.
- set X `ls -t $srcdir/configure conftest.file`
- fi
- rm -f conftest.file
- if test "$[*]" != "X $srcdir/configure conftest.file" \
- && test "$[*]" != "X conftest.file $srcdir/configure"; then
-
- # If neither matched, then we have a broken ls. This can happen
- # if, for instance, CONFIG_SHELL is bash and it inherits a
- # broken ls alias from the environment. This has actually
- # happened. Such a system could not be considered "sane".
- AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
-alias in your environment])
- fi
-
- test "$[2]" = conftest.file
- )
-then
- # Ok.
- :
-else
- AC_MSG_ERROR([newly created file is older than distributed files!
-Check your system clock])
-fi
-AC_MSG_RESULT(yes)])
-
-# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# AM_PROG_INSTALL_STRIP
-# ---------------------
-# One issue with vendor `install' (even GNU) is that you can't
-# specify the program used to strip binaries. This is especially
-# annoying in cross-compiling environments, where the build's strip
-# is unlikely to handle the host's binaries.
-# Fortunately install-sh will honor a STRIPPROG variable, so we
-# always use install-sh in `make install-strip', and initialize
-# STRIPPROG with the value of the STRIP variable (set by the user).
-AC_DEFUN([AM_PROG_INSTALL_STRIP],
-[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
-# Installed binaries are usually stripped using `strip' when the user
-# run `make install-strip'. However `strip' might not be the right
-# tool to use in cross-compilation environments, therefore Automake
-# will honor the `STRIP' environment variable to overrule this program.
-dnl Don't test for $cross_compiling = yes, because it might be `maybe'.
-if test "$cross_compiling" != no; then
- AC_CHECK_TOOL([STRIP], [strip], :)
-fi
-INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s"
-AC_SUBST([INSTALL_STRIP_PROGRAM])])
-
-# Check how to create a tarball. -*- Autoconf -*-
-
-# Copyright (C) 2004, 2005 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 2
-
-# _AM_PROG_TAR(FORMAT)
-# --------------------
-# Check how to create a tarball in format FORMAT.
-# FORMAT should be one of `v7', `ustar', or `pax'.
-#
-# Substitute a variable $(am__tar) that is a command
-# writing to stdout a FORMAT-tarball containing the directory
-# $tardir.
-# tardir=directory && $(am__tar) > result.tar
-#
-# Substitute a variable $(am__untar) that extract such
-# a tarball read from stdin.
-# $(am__untar) < result.tar
-AC_DEFUN([_AM_PROG_TAR],
-[# Always define AMTAR for backward compatibility.
-AM_MISSING_PROG([AMTAR], [tar])
-m4_if([$1], [v7],
- [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'],
- [m4_case([$1], [ustar],, [pax],,
- [m4_fatal([Unknown tar format])])
-AC_MSG_CHECKING([how to create a $1 tar archive])
-# Loop over all known methods to create a tar archive until one works.
-_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none'
-_am_tools=${am_cv_prog_tar_$1-$_am_tools}
-# Do not fold the above two line into one, because Tru64 sh and
-# Solaris sh will not grok spaces in the rhs of `-'.
-for _am_tool in $_am_tools
-do
- case $_am_tool in
- gnutar)
- for _am_tar in tar gnutar gtar;
- do
- AM_RUN_LOG([$_am_tar --version]) && break
- done
- am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"'
- am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"'
- am__untar="$_am_tar -xf -"
- ;;
- plaintar)
- # Must skip GNU tar: if it does not support --format= it doesn't create
- # ustar tarball either.
- (tar --version) >/dev/null 2>&1 && continue
- am__tar='tar chf - "$$tardir"'
- am__tar_='tar chf - "$tardir"'
- am__untar='tar xf -'
- ;;
- pax)
- am__tar='pax -L -x $1 -w "$$tardir"'
- am__tar_='pax -L -x $1 -w "$tardir"'
- am__untar='pax -r'
- ;;
- cpio)
- am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
- am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
- am__untar='cpio -i -H $1 -d'
- ;;
- none)
- am__tar=false
- am__tar_=false
- am__untar=false
- ;;
- esac
-
- # If the value was cached, stop now. We just wanted to have am__tar
- # and am__untar set.
- test -n "${am_cv_prog_tar_$1}" && break
-
- # tar/untar a dummy directory, and stop if the command works
- rm -rf conftest.dir
- mkdir conftest.dir
- echo GrepMe > conftest.dir/file
- AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
- rm -rf conftest.dir
- if test -s conftest.tar; then
- AM_RUN_LOG([$am__untar <conftest.tar])
- grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
- fi
-done
-rm -rf conftest.dir
-
-AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool])
-AC_MSG_RESULT([$am_cv_prog_tar_$1])])
-AC_SUBST([am__tar])
-AC_SUBST([am__untar])
-]) # _AM_PROG_TAR
-
-m4_include([m4/binutils.m4])
-m4_include([m4/builtinexpect.m4])
-m4_include([m4/cellspubfdsupport.m4])
-m4_include([m4/compileroption.m4])
-m4_include([m4/configmodule.m4])
-m4_include([m4/copyifchange.m4])
-m4_include([m4/docbook.m4])
-m4_include([m4/extradirs.m4])
-m4_include([m4/findkernel.m4])
-m4_include([m4/kerneloption.m4])
-m4_include([m4/kernelversion.m4])
-m4_include([m4/mallocattribute.m4])
-m4_include([m4/poptconst.m4])
-m4_include([m4/precompiledheader.m4])
-m4_include([m4/qt.m4])
-m4_include([m4/resultyn.m4])
-m4_include([m4/sstream.m4])
-m4_include([m4/typedef.m4])
diff --git a/agents/Makefile.am b/agents/Makefile.am
index 10325a1..c049fa7 100644
--- a/agents/Makefile.am
+++ b/agents/Makefile.am
@@ -9,7 +9,13 @@ if BUILD_JVMPI_AGENT
SUBDIRS += jvmpi
endif
-install-exec-hook:
+INSTALL_EXEC_HOOK =
+
+if CHECK_ACCOUNT
+INSTALL_EXEC_HOOK += __install-exec-hook
+endif
+
+__install-exec-hook:
@getent passwd oprofile >/dev/null || ( \
echo "****************************************************************" ; \
echo "* WARNING:" ; \
@@ -27,4 +33,4 @@ install-exec-hook:
echo "* The special user 'oprofile' must have the default group set to 'oprofile'." ; \
echo "****************************************************************") ;
-
+install-exec-hook: $(INSTALL_EXEC_HOOK)
diff --git a/agents/Makefile.in b/agents/Makefile.in
deleted file mode 100644
index b4ccde6..0000000
--- a/agents/Makefile.in
+++ /dev/null
@@ -1,546 +0,0 @@
-# Makefile.in generated by automake 1.9.6 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005 Free Software Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ..
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-@BUILD_JVMTI_AGENT_TRUE@am__append_1 = jvmti
-@BUILD_JVMPI_AGENT_TRUE@am__append_2 = jvmpi
-subdir = agents
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/binutils.m4 \
- $(top_srcdir)/m4/builtinexpect.m4 \
- $(top_srcdir)/m4/cellspubfdsupport.m4 \
- $(top_srcdir)/m4/compileroption.m4 \
- $(top_srcdir)/m4/configmodule.m4 \
- $(top_srcdir)/m4/copyifchange.m4 $(top_srcdir)/m4/docbook.m4 \
- $(top_srcdir)/m4/extradirs.m4 $(top_srcdir)/m4/findkernel.m4 \
- $(top_srcdir)/m4/kerneloption.m4 \
- $(top_srcdir)/m4/kernelversion.m4 \
- $(top_srcdir)/m4/mallocattribute.m4 \
- $(top_srcdir)/m4/poptconst.m4 \
- $(top_srcdir)/m4/precompiledheader.m4 $(top_srcdir)/m4/qt.m4 \
- $(top_srcdir)/m4/resultyn.m4 $(top_srcdir)/m4/sstream.m4 \
- $(top_srcdir)/m4/typedef.m4 $(top_srcdir)/configure.in
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-SOURCES =
-DIST_SOURCES =
-RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
- html-recursive info-recursive install-data-recursive \
- install-exec-recursive install-info-recursive \
- install-recursive installcheck-recursive installdirs-recursive \
- pdf-recursive ps-recursive uninstall-info-recursive \
- uninstall-recursive
-ETAGS = etags
-CTAGS = ctags
-DIST_SUBDIRS = jvmti jvmpi
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
-AMTAR = @AMTAR@
-AR = @AR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-BFD_LIBS = @BFD_LIBS@
-BUILD_JVMPI_AGENT_FALSE = @BUILD_JVMPI_AGENT_FALSE@
-BUILD_JVMPI_AGENT_TRUE = @BUILD_JVMPI_AGENT_TRUE@
-BUILD_JVMTI_AGENT_FALSE = @BUILD_JVMTI_AGENT_FALSE@
-BUILD_JVMTI_AGENT_TRUE = @BUILD_JVMTI_AGENT_TRUE@
-CAT_ENTRY_END = @CAT_ENTRY_END@
-CAT_ENTRY_START = @CAT_ENTRY_START@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DATE = @DATE@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DOCBOOK_ROOT = @DOCBOOK_ROOT@
-ECHO = @ECHO@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-EXTRA_CFLAGS_MODULE = @EXTRA_CFLAGS_MODULE@
-F77 = @F77@
-FFLAGS = @FFLAGS@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-JAVA_HOMEDIR = @JAVA_HOMEDIR@
-KINC = @KINC@
-KSRC = @KSRC@
-KVERS = @KVERS@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LIBERTY_LIBS = @LIBERTY_LIBS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-MAKEINFO = @MAKEINFO@
-MOC = @MOC@
-MODINSTALLDIR = @MODINSTALLDIR@
-OBJEXT = @OBJEXT@
-OPROFILE_DIR = @OPROFILE_DIR@
-OPROFILE_MODULE_ARCH = @OPROFILE_MODULE_ARCH@
-OP_CFLAGS = @OP_CFLAGS@
-OP_CXXFLAGS = @OP_CXXFLAGS@
-OP_DOCDIR = @OP_DOCDIR@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-POPT_LIBS = @POPT_LIBS@
-PTRDIFF_T_TYPE = @PTRDIFF_T_TYPE@
-QT_INCLUDES = @QT_INCLUDES@
-QT_LDFLAGS = @QT_LDFLAGS@
-QT_LIB = @QT_LIB@
-QT_VERSION = @QT_VERSION@
-RANLIB = @RANLIB@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-SIZE_T_TYPE = @SIZE_T_TYPE@
-STRIP = @STRIP@
-UIC = @UIC@
-VERSION = @VERSION@
-XML_CATALOG = @XML_CATALOG@
-XSLTPROC = @XSLTPROC@
-XSLTPROC_FLAGS = @XSLTPROC_FLAGS@
-X_CFLAGS = @X_CFLAGS@
-X_EXTRA_LIBS = @X_EXTRA_LIBS@
-X_LIBS = @X_LIBS@
-X_PRE_LIBS = @X_PRE_LIBS@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
-am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-datadir = @datadir@
-exec_prefix = @exec_prefix@
-have_qt_FALSE = @have_qt_FALSE@
-have_qt_TRUE = @have_qt_TRUE@
-have_xsltproc_FALSE = @have_xsltproc_FALSE@
-have_xsltproc_TRUE = @have_xsltproc_TRUE@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-kernel_support_FALSE = @kernel_support_FALSE@
-kernel_support_TRUE = @kernel_support_TRUE@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-topdir = @topdir@
-SUBDIRS = $(am__append_1) $(am__append_2)
-all: all-recursive
-
-.SUFFIXES:
-$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign agents/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --foreign agents/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- @case '$?' in \
- *config.status*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
- *) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-
-# This directory's subdirectories are mostly independent; you can cd
-# into them and run `make' without going through this Makefile.
-# To change the values of `make' variables: instead of editing Makefiles,
-# (1) if the variable is set in `config.status', edit `config.status'
-# (which will cause the Makefiles to be regenerated when you run `make');
-# (2) otherwise, pass the desired values on the `make' command line.
-$(RECURSIVE_TARGETS):
- @failcom='exit 1'; \
- for f in x $$MAKEFLAGS; do \
- case $$f in \
- *=* | --[!k]*);; \
- *k*) failcom='fail=yes';; \
- esac; \
- done; \
- dot_seen=no; \
- target=`echo $@ | sed s/-recursive//`; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- dot_seen=yes; \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || eval $$failcom; \
- done; \
- if test "$$dot_seen" = "no"; then \
- $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
- fi; test -z "$$fail"
-
-mostlyclean-recursive clean-recursive distclean-recursive \
-maintainer-clean-recursive:
- @failcom='exit 1'; \
- for f in x $$MAKEFLAGS; do \
- case $$f in \
- *=* | --[!k]*);; \
- *k*) failcom='fail=yes';; \
- esac; \
- done; \
- dot_seen=no; \
- case "$@" in \
- distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
- *) list='$(SUBDIRS)' ;; \
- esac; \
- rev=''; for subdir in $$list; do \
- if test "$$subdir" = "."; then :; else \
- rev="$$subdir $$rev"; \
- fi; \
- done; \
- rev="$$rev ."; \
- target=`echo $@ | sed s/-recursive//`; \
- for subdir in $$rev; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || eval $$failcom; \
- done && test -z "$$fail"
-tags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
- done
-ctags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
- done
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
- include_option=--etags-include; \
- empty_fix=.; \
- else \
- include_option=--include; \
- empty_fix=; \
- fi; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
- test ! -f $$subdir/TAGS || \
- tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
- fi; \
- done; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
- test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
- fi
-ctags: CTAGS
-CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkdir_p) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
- if test -d $$d/$$file; then \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
- fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
- else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
- || exit 1; \
- fi; \
- done
- list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
- test -d "$(distdir)/$$subdir" \
- || $(mkdir_p) "$(distdir)/$$subdir" \
- || exit 1; \
- distdir=`$(am__cd) $(distdir) && pwd`; \
- top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
- (cd $$subdir && \
- $(MAKE) $(AM_MAKEFLAGS) \
- top_distdir="$$top_distdir" \
- distdir="$$distdir/$$subdir" \
- distdir) \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: check-recursive
-all-am: Makefile
-installdirs: installdirs-recursive
-installdirs-am:
-install: install-recursive
-install-exec: install-exec-recursive
-install-data: install-data-recursive
-uninstall: uninstall-recursive
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-recursive
-install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-recursive
-
-clean-am: clean-generic clean-libtool mostlyclean-am
-
-distclean: distclean-recursive
- -rm -f Makefile
-distclean-am: clean-am distclean-generic distclean-libtool \
- distclean-tags
-
-dvi: dvi-recursive
-
-dvi-am:
-
-html: html-recursive
-
-info: info-recursive
-
-info-am:
-
-install-data-am:
-
-install-exec-am:
- @$(NORMAL_INSTALL)
- $(MAKE) $(AM_MAKEFLAGS) install-exec-hook
-
-install-info: install-info-recursive
-
-install-man:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-recursive
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-recursive
-
-mostlyclean-am: mostlyclean-generic mostlyclean-libtool
-
-pdf: pdf-recursive
-
-pdf-am:
-
-ps: ps-recursive
-
-ps-am:
-
-uninstall-am: uninstall-info-am
-
-uninstall-info: uninstall-info-recursive
-
-.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am \
- clean clean-generic clean-libtool clean-recursive ctags \
- ctags-recursive distclean distclean-generic distclean-libtool \
- distclean-recursive distclean-tags distdir dvi dvi-am html \
- html-am info info-am install install-am install-data \
- install-data-am install-exec install-exec-am install-exec-hook \
- install-info install-info-am install-man install-strip \
- installcheck installcheck-am installdirs installdirs-am \
- maintainer-clean maintainer-clean-generic \
- maintainer-clean-recursive mostlyclean mostlyclean-generic \
- mostlyclean-libtool mostlyclean-recursive pdf pdf-am ps ps-am \
- tags tags-recursive uninstall uninstall-am uninstall-info-am
-
-
-install-exec-hook:
- @getent passwd oprofile >/dev/null || ( \
- echo "****************************************************************" ; \
- echo "* WARNING:" ; \
- echo "* Create the 'oprofile' user account to enable profiling of JITed code." ; \
- echo "****************************************************************") ;
- @getent group oprofile >/dev/null || ( \
- echo "****************************************************************" ; \
- echo "* WARNING:" ; \
- echo "* Create the 'oprofile' group to enable profiling of JITed code." ; \
- echo "****************************************************************") ;
- @test -z `id -gn oprofile 2>/dev/null` || \
- test `id -gn oprofile 2>/dev/null` = "oprofile" || ( \
- echo "****************************************************************" ; \
- echo "* WARNING:" ; \
- echo "* The special user 'oprofile' must have the default group set to 'oprofile'." ; \
- echo "****************************************************************") ;
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/agents/jvmpi/Makefile.in b/agents/jvmpi/Makefile.in
deleted file mode 100644
index 4d3a766..0000000
--- a/agents/jvmpi/Makefile.in
+++ /dev/null
@@ -1,521 +0,0 @@
-# Makefile.in generated by automake 1.9.6 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005 Free Software Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ../..
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-subdir = agents/jvmpi
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/binutils.m4 \
- $(top_srcdir)/m4/builtinexpect.m4 \
- $(top_srcdir)/m4/cellspubfdsupport.m4 \
- $(top_srcdir)/m4/compileroption.m4 \
- $(top_srcdir)/m4/configmodule.m4 \
- $(top_srcdir)/m4/copyifchange.m4 $(top_srcdir)/m4/docbook.m4 \
- $(top_srcdir)/m4/extradirs.m4 $(top_srcdir)/m4/findkernel.m4 \
- $(top_srcdir)/m4/kerneloption.m4 \
- $(top_srcdir)/m4/kernelversion.m4 \
- $(top_srcdir)/m4/mallocattribute.m4 \
- $(top_srcdir)/m4/poptconst.m4 \
- $(top_srcdir)/m4/precompiledheader.m4 $(top_srcdir)/m4/qt.m4 \
- $(top_srcdir)/m4/resultyn.m4 $(top_srcdir)/m4/sstream.m4 \
- $(top_srcdir)/m4/typedef.m4 $(top_srcdir)/configure.in
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
-am__vpath_adj = case $$p in \
- $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
- *) f=$$p;; \
- esac;
-am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
-am__installdirs = "$(DESTDIR)$(pkglibdir)"
-pkglibLTLIBRARIES_INSTALL = $(INSTALL)
-LTLIBRARIES = $(pkglib_LTLIBRARIES)
-libjvmpi_oprofile_la_DEPENDENCIES = ../../libopagent/libopagent.la
-am_libjvmpi_oprofile_la_OBJECTS = \
- libjvmpi_oprofile_la-jvmpi_oprofile.lo
-libjvmpi_oprofile_la_OBJECTS = $(am_libjvmpi_oprofile_la_OBJECTS)
-DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
-depcomp = $(SHELL) $(top_srcdir)/depcomp
-am__depfiles_maybe = depfiles
-CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
-LTCXXCOMPILE = $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) \
- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
- $(AM_CXXFLAGS) $(CXXFLAGS)
-CXXLD = $(CXX)
-CXXLINK = $(LIBTOOL) --tag=CXX --mode=link $(CXXLD) $(AM_CXXFLAGS) \
- $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
-SOURCES = $(libjvmpi_oprofile_la_SOURCES)
-DIST_SOURCES = $(libjvmpi_oprofile_la_SOURCES)
-ETAGS = etags
-CTAGS = ctags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
-AMTAR = @AMTAR@
-AR = @AR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-BFD_LIBS = @BFD_LIBS@
-BUILD_JVMPI_AGENT_FALSE = @BUILD_JVMPI_AGENT_FALSE@
-BUILD_JVMPI_AGENT_TRUE = @BUILD_JVMPI_AGENT_TRUE@
-BUILD_JVMTI_AGENT_FALSE = @BUILD_JVMTI_AGENT_FALSE@
-BUILD_JVMTI_AGENT_TRUE = @BUILD_JVMTI_AGENT_TRUE@
-CAT_ENTRY_END = @CAT_ENTRY_END@
-CAT_ENTRY_START = @CAT_ENTRY_START@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DATE = @DATE@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DOCBOOK_ROOT = @DOCBOOK_ROOT@
-ECHO = @ECHO@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-EXTRA_CFLAGS_MODULE = @EXTRA_CFLAGS_MODULE@
-F77 = @F77@
-FFLAGS = @FFLAGS@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-JAVA_HOMEDIR = @JAVA_HOMEDIR@
-KINC = @KINC@
-KSRC = @KSRC@
-KVERS = @KVERS@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LIBERTY_LIBS = @LIBERTY_LIBS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-MAKEINFO = @MAKEINFO@
-MOC = @MOC@
-MODINSTALLDIR = @MODINSTALLDIR@
-OBJEXT = @OBJEXT@
-OPROFILE_DIR = @OPROFILE_DIR@
-OPROFILE_MODULE_ARCH = @OPROFILE_MODULE_ARCH@
-OP_CFLAGS = @OP_CFLAGS@
-OP_CXXFLAGS = @OP_CXXFLAGS@
-OP_DOCDIR = @OP_DOCDIR@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-POPT_LIBS = @POPT_LIBS@
-PTRDIFF_T_TYPE = @PTRDIFF_T_TYPE@
-QT_INCLUDES = @QT_INCLUDES@
-QT_LDFLAGS = @QT_LDFLAGS@
-QT_LIB = @QT_LIB@
-QT_VERSION = @QT_VERSION@
-RANLIB = @RANLIB@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-SIZE_T_TYPE = @SIZE_T_TYPE@
-STRIP = @STRIP@
-UIC = @UIC@
-VERSION = @VERSION@
-XML_CATALOG = @XML_CATALOG@
-XSLTPROC = @XSLTPROC@
-XSLTPROC_FLAGS = @XSLTPROC_FLAGS@
-X_CFLAGS = @X_CFLAGS@
-X_EXTRA_LIBS = @X_EXTRA_LIBS@
-X_LIBS = @X_LIBS@
-X_PRE_LIBS = @X_PRE_LIBS@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
-am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-datadir = @datadir@
-exec_prefix = @exec_prefix@
-have_qt_FALSE = @have_qt_FALSE@
-have_qt_TRUE = @have_qt_TRUE@
-have_xsltproc_FALSE = @have_xsltproc_FALSE@
-have_xsltproc_TRUE = @have_xsltproc_TRUE@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-kernel_support_FALSE = @kernel_support_FALSE@
-kernel_support_TRUE = @kernel_support_TRUE@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-topdir = @topdir@
-pkglib_LTLIBRARIES = libjvmpi_oprofile.la
-libjvmpi_oprofile_la_CXXFLAGS = -W -Wall -fPIC
-libjvmpi_oprofile_la_SOURCES = jvmpi_oprofile.cpp
-libjvmpi_oprofile_la_LIBADD = ../../libopagent/libopagent.la
-AM_CPPFLAGS = \
- -I ${top_srcdir}/libopagent \
- -I @JAVA_HOMEDIR@/include \
- -I @JAVA_HOMEDIR@/include/linux
-
-all: all-am
-
-.SUFFIXES:
-.SUFFIXES: .cpp .lo .o .obj
-$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign agents/jvmpi/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --foreign agents/jvmpi/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- @case '$?' in \
- *config.status*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
- *) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-install-pkglibLTLIBRARIES: $(pkglib_LTLIBRARIES)
- @$(NORMAL_INSTALL)
- test -z "$(pkglibdir)" || $(mkdir_p) "$(DESTDIR)$(pkglibdir)"
- @list='$(pkglib_LTLIBRARIES)'; for p in $$list; do \
- if test -f $$p; then \
- f=$(am__strip_dir) \
- echo " $(LIBTOOL) --mode=install $(pkglibLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(pkglibdir)/$$f'"; \
- $(LIBTOOL) --mode=install $(pkglibLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(pkglibdir)/$$f"; \
- else :; fi; \
- done
-
-uninstall-pkglibLTLIBRARIES:
- @$(NORMAL_UNINSTALL)
- @set -x; list='$(pkglib_LTLIBRARIES)'; for p in $$list; do \
- p=$(am__strip_dir) \
- echo " $(LIBTOOL) --mode=uninstall rm -f '$(DESTDIR)$(pkglibdir)/$$p'"; \
- $(LIBTOOL) --mode=uninstall rm -f "$(DESTDIR)$(pkglibdir)/$$p"; \
- done
-
-clean-pkglibLTLIBRARIES:
- -test -z "$(pkglib_LTLIBRARIES)" || rm -f $(pkglib_LTLIBRARIES)
- @list='$(pkglib_LTLIBRARIES)'; for p in $$list; do \
- dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
- test "$$dir" != "$$p" || dir=.; \
- echo "rm -f \"$${dir}/so_locations\""; \
- rm -f "$${dir}/so_locations"; \
- done
-libjvmpi_oprofile.la: $(libjvmpi_oprofile_la_OBJECTS) $(libjvmpi_oprofile_la_DEPENDENCIES)
- $(CXXLINK) -rpath $(pkglibdir) $(libjvmpi_oprofile_la_LDFLAGS) $(libjvmpi_oprofile_la_OBJECTS) $(libjvmpi_oprofile_la_LIBADD) $(LIBS)
-
-mostlyclean-compile:
- -rm -f *.$(OBJEXT)
-
-distclean-compile:
- -rm -f *.tab.c
-
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libjvmpi_oprofile_la-jvmpi_oprofile.Plo@am__quote@
-
-.cpp.o:
-@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
-@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $<
-
-.cpp.obj:
-@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
-@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
-
-.cpp.lo:
-@am__fastdepCXX_TRUE@ if $(LTCXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
-@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $<
-
-libjvmpi_oprofile_la-jvmpi_oprofile.lo: jvmpi_oprofile.cpp
-@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libjvmpi_oprofile_la_CXXFLAGS) $(CXXFLAGS) -MT libjvmpi_oprofile_la-jvmpi_oprofile.lo -MD -MP -MF "$(DEPDIR)/libjvmpi_oprofile_la-jvmpi_oprofile.Tpo" -c -o libjvmpi_oprofile_la-jvmpi_oprofile.lo `test -f 'jvmpi_oprofile.cpp' || echo '$(srcdir)/'`jvmpi_oprofile.cpp; \
-@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libjvmpi_oprofile_la-jvmpi_oprofile.Tpo" "$(DEPDIR)/libjvmpi_oprofile_la-jvmpi_oprofile.Plo"; else rm -f "$(DEPDIR)/libjvmpi_oprofile_la-jvmpi_oprofile.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='jvmpi_oprofile.cpp' object='libjvmpi_oprofile_la-jvmpi_oprofile.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libjvmpi_oprofile_la_CXXFLAGS) $(CXXFLAGS) -c -o libjvmpi_oprofile_la-jvmpi_oprofile.lo `test -f 'jvmpi_oprofile.cpp' || echo '$(srcdir)/'`jvmpi_oprofile.cpp
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
- test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
- fi
-ctags: CTAGS
-CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkdir_p) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
- if test -d $$d/$$file; then \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
- fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
- else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: check-am
-all-am: Makefile $(LTLIBRARIES)
-installdirs:
- for dir in "$(DESTDIR)$(pkglibdir)"; do \
- test -z "$$dir" || $(mkdir_p) "$$dir"; \
- done
-install: install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-am
-
-clean-am: clean-generic clean-libtool clean-pkglibLTLIBRARIES \
- mostlyclean-am
-
-distclean: distclean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
- distclean-libtool distclean-tags
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-info: info-am
-
-info-am:
-
-install-data-am:
-
-install-exec-am: install-pkglibLTLIBRARIES
-
-install-info: install-info-am
-
-install-man:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-compile mostlyclean-generic \
- mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am: uninstall-info-am uninstall-pkglibLTLIBRARIES
-
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
- clean-libtool clean-pkglibLTLIBRARIES ctags distclean \
- distclean-compile distclean-generic distclean-libtool \
- distclean-tags distdir dvi dvi-am html html-am info info-am \
- install install-am install-data install-data-am install-exec \
- install-exec-am install-info install-info-am install-man \
- install-pkglibLTLIBRARIES install-strip installcheck \
- installcheck-am installdirs maintainer-clean \
- maintainer-clean-generic mostlyclean mostlyclean-compile \
- mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
- tags uninstall uninstall-am uninstall-info-am \
- uninstall-pkglibLTLIBRARIES
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/agents/jvmti/Makefile.in b/agents/jvmti/Makefile.in
deleted file mode 100644
index 991d4e6..0000000
--- a/agents/jvmti/Makefile.in
+++ /dev/null
@@ -1,522 +0,0 @@
-# Makefile.in generated by automake 1.9.6 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005 Free Software Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ../..
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-subdir = agents/jvmti
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/binutils.m4 \
- $(top_srcdir)/m4/builtinexpect.m4 \
- $(top_srcdir)/m4/cellspubfdsupport.m4 \
- $(top_srcdir)/m4/compileroption.m4 \
- $(top_srcdir)/m4/configmodule.m4 \
- $(top_srcdir)/m4/copyifchange.m4 $(top_srcdir)/m4/docbook.m4 \
- $(top_srcdir)/m4/extradirs.m4 $(top_srcdir)/m4/findkernel.m4 \
- $(top_srcdir)/m4/kerneloption.m4 \
- $(top_srcdir)/m4/kernelversion.m4 \
- $(top_srcdir)/m4/mallocattribute.m4 \
- $(top_srcdir)/m4/poptconst.m4 \
- $(top_srcdir)/m4/precompiledheader.m4 $(top_srcdir)/m4/qt.m4 \
- $(top_srcdir)/m4/resultyn.m4 $(top_srcdir)/m4/sstream.m4 \
- $(top_srcdir)/m4/typedef.m4 $(top_srcdir)/configure.in
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
-am__vpath_adj = case $$p in \
- $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
- *) f=$$p;; \
- esac;
-am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
-am__installdirs = "$(DESTDIR)$(pkglibdir)"
-pkglibLTLIBRARIES_INSTALL = $(INSTALL)
-LTLIBRARIES = $(pkglib_LTLIBRARIES)
-libjvmti_oprofile_la_DEPENDENCIES = ../../libopagent/libopagent.la
-am_libjvmti_oprofile_la_OBJECTS = \
- libjvmti_oprofile_la-libjvmti_oprofile.lo
-libjvmti_oprofile_la_OBJECTS = $(am_libjvmti_oprofile_la_OBJECTS)
-DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
-depcomp = $(SHELL) $(top_srcdir)/depcomp
-am__depfiles_maybe = depfiles
-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \
- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
- $(AM_CFLAGS) $(CFLAGS)
-CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(AM_LDFLAGS) $(LDFLAGS) -o $@
-SOURCES = $(libjvmti_oprofile_la_SOURCES)
-DIST_SOURCES = $(libjvmti_oprofile_la_SOURCES)
-ETAGS = etags
-CTAGS = ctags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
-AMTAR = @AMTAR@
-AR = @AR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-BFD_LIBS = @BFD_LIBS@
-BUILD_JVMPI_AGENT_FALSE = @BUILD_JVMPI_AGENT_FALSE@
-BUILD_JVMPI_AGENT_TRUE = @BUILD_JVMPI_AGENT_TRUE@
-BUILD_JVMTI_AGENT_FALSE = @BUILD_JVMTI_AGENT_FALSE@
-BUILD_JVMTI_AGENT_TRUE = @BUILD_JVMTI_AGENT_TRUE@
-CAT_ENTRY_END = @CAT_ENTRY_END@
-CAT_ENTRY_START = @CAT_ENTRY_START@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DATE = @DATE@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DOCBOOK_ROOT = @DOCBOOK_ROOT@
-ECHO = @ECHO@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-EXTRA_CFLAGS_MODULE = @EXTRA_CFLAGS_MODULE@
-F77 = @F77@
-FFLAGS = @FFLAGS@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-JAVA_HOMEDIR = @JAVA_HOMEDIR@
-KINC = @KINC@
-KSRC = @KSRC@
-KVERS = @KVERS@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LIBERTY_LIBS = @LIBERTY_LIBS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-MAKEINFO = @MAKEINFO@
-MOC = @MOC@
-MODINSTALLDIR = @MODINSTALLDIR@
-OBJEXT = @OBJEXT@
-OPROFILE_DIR = @OPROFILE_DIR@
-OPROFILE_MODULE_ARCH = @OPROFILE_MODULE_ARCH@
-OP_CFLAGS = @OP_CFLAGS@
-OP_CXXFLAGS = @OP_CXXFLAGS@
-OP_DOCDIR = @OP_DOCDIR@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-POPT_LIBS = @POPT_LIBS@
-PTRDIFF_T_TYPE = @PTRDIFF_T_TYPE@
-QT_INCLUDES = @QT_INCLUDES@
-QT_LDFLAGS = @QT_LDFLAGS@
-QT_LIB = @QT_LIB@
-QT_VERSION = @QT_VERSION@
-RANLIB = @RANLIB@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-SIZE_T_TYPE = @SIZE_T_TYPE@
-STRIP = @STRIP@
-UIC = @UIC@
-VERSION = @VERSION@
-XML_CATALOG = @XML_CATALOG@
-XSLTPROC = @XSLTPROC@
-XSLTPROC_FLAGS = @XSLTPROC_FLAGS@
-X_CFLAGS = @X_CFLAGS@
-X_EXTRA_LIBS = @X_EXTRA_LIBS@
-X_LIBS = @X_LIBS@
-X_PRE_LIBS = @X_PRE_LIBS@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
-am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-datadir = @datadir@
-exec_prefix = @exec_prefix@
-have_qt_FALSE = @have_qt_FALSE@
-have_qt_TRUE = @have_qt_TRUE@
-have_xsltproc_FALSE = @have_xsltproc_FALSE@
-have_xsltproc_TRUE = @have_xsltproc_TRUE@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-kernel_support_FALSE = @kernel_support_FALSE@
-kernel_support_TRUE = @kernel_support_TRUE@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-topdir = @topdir@
-AM_CFLAGS = @OP_CFLAGS@
-pkglib_LTLIBRARIES = libjvmti_oprofile.la
-libjvmti_oprofile_la_CFLAGS = $(AM_CFLAGS) -fPIC
-libjvmti_oprofile_la_LIBADD = ../../libopagent/libopagent.la
-libjvmti_oprofile_la_SOURCES = libjvmti_oprofile.c
-AM_CPPFLAGS = \
- -I ${top_srcdir}/libopagent \
- -I @JAVA_HOMEDIR@/include \
- -I @JAVA_HOMEDIR@/include/linux
-
-all: all-am
-
-.SUFFIXES:
-.SUFFIXES: .c .lo .o .obj
-$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign agents/jvmti/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --foreign agents/jvmti/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- @case '$?' in \
- *config.status*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
- *) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-install-pkglibLTLIBRARIES: $(pkglib_LTLIBRARIES)
- @$(NORMAL_INSTALL)
- test -z "$(pkglibdir)" || $(mkdir_p) "$(DESTDIR)$(pkglibdir)"
- @list='$(pkglib_LTLIBRARIES)'; for p in $$list; do \
- if test -f $$p; then \
- f=$(am__strip_dir) \
- echo " $(LIBTOOL) --mode=install $(pkglibLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(pkglibdir)/$$f'"; \
- $(LIBTOOL) --mode=install $(pkglibLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(pkglibdir)/$$f"; \
- else :; fi; \
- done
-
-uninstall-pkglibLTLIBRARIES:
- @$(NORMAL_UNINSTALL)
- @set -x; list='$(pkglib_LTLIBRARIES)'; for p in $$list; do \
- p=$(am__strip_dir) \
- echo " $(LIBTOOL) --mode=uninstall rm -f '$(DESTDIR)$(pkglibdir)/$$p'"; \
- $(LIBTOOL) --mode=uninstall rm -f "$(DESTDIR)$(pkglibdir)/$$p"; \
- done
-
-clean-pkglibLTLIBRARIES:
- -test -z "$(pkglib_LTLIBRARIES)" || rm -f $(pkglib_LTLIBRARIES)
- @list='$(pkglib_LTLIBRARIES)'; for p in $$list; do \
- dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
- test "$$dir" != "$$p" || dir=.; \
- echo "rm -f \"$${dir}/so_locations\""; \
- rm -f "$${dir}/so_locations"; \
- done
-libjvmti_oprofile.la: $(libjvmti_oprofile_la_OBJECTS) $(libjvmti_oprofile_la_DEPENDENCIES)
- $(LINK) -rpath $(pkglibdir) $(libjvmti_oprofile_la_LDFLAGS) $(libjvmti_oprofile_la_OBJECTS) $(libjvmti_oprofile_la_LIBADD) $(LIBS)
-
-mostlyclean-compile:
- -rm -f *.$(OBJEXT)
-
-distclean-compile:
- -rm -f *.tab.c
-
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libjvmti_oprofile_la-libjvmti_oprofile.Plo@am__quote@
-
-.c.o:
-@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(COMPILE) -c $<
-
-.c.obj:
-@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
-
-.c.lo:
-@am__fastdepCC_TRUE@ if $(LTCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
-
-libjvmti_oprofile_la-libjvmti_oprofile.lo: libjvmti_oprofile.c
-@am__fastdepCC_TRUE@ if $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libjvmti_oprofile_la_CFLAGS) $(CFLAGS) -MT libjvmti_oprofile_la-libjvmti_oprofile.lo -MD -MP -MF "$(DEPDIR)/libjvmti_oprofile_la-libjvmti_oprofile.Tpo" -c -o libjvmti_oprofile_la-libjvmti_oprofile.lo `test -f 'libjvmti_oprofile.c' || echo '$(srcdir)/'`libjvmti_oprofile.c; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libjvmti_oprofile_la-libjvmti_oprofile.Tpo" "$(DEPDIR)/libjvmti_oprofile_la-libjvmti_oprofile.Plo"; else rm -f "$(DEPDIR)/libjvmti_oprofile_la-libjvmti_oprofile.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libjvmti_oprofile.c' object='libjvmti_oprofile_la-libjvmti_oprofile.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libjvmti_oprofile_la_CFLAGS) $(CFLAGS) -c -o libjvmti_oprofile_la-libjvmti_oprofile.lo `test -f 'libjvmti_oprofile.c' || echo '$(srcdir)/'`libjvmti_oprofile.c
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
- test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
- fi
-ctags: CTAGS
-CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkdir_p) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
- if test -d $$d/$$file; then \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
- fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
- else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: check-am
-all-am: Makefile $(LTLIBRARIES)
-installdirs:
- for dir in "$(DESTDIR)$(pkglibdir)"; do \
- test -z "$$dir" || $(mkdir_p) "$$dir"; \
- done
-install: install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-am
-
-clean-am: clean-generic clean-libtool clean-pkglibLTLIBRARIES \
- mostlyclean-am
-
-distclean: distclean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
- distclean-libtool distclean-tags
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-info: info-am
-
-info-am:
-
-install-data-am:
-
-install-exec-am: install-pkglibLTLIBRARIES
-
-install-info: install-info-am
-
-install-man:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-compile mostlyclean-generic \
- mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am: uninstall-info-am uninstall-pkglibLTLIBRARIES
-
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
- clean-libtool clean-pkglibLTLIBRARIES ctags distclean \
- distclean-compile distclean-generic distclean-libtool \
- distclean-tags distdir dvi dvi-am html html-am info info-am \
- install install-am install-data install-data-am install-exec \
- install-exec-am install-info install-info-am install-man \
- install-pkglibLTLIBRARIES install-strip installcheck \
- installcheck-am installdirs maintainer-clean \
- maintainer-clean-generic mostlyclean mostlyclean-compile \
- mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
- tags uninstall uninstall-am uninstall-info-am \
- uninstall-pkglibLTLIBRARIES
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/compile b/compile
deleted file mode 100755
index 1b1d232..0000000
--- a/compile
+++ /dev/null
@@ -1,142 +0,0 @@
-#! /bin/sh
-# Wrapper for compilers which do not understand `-c -o'.
-
-scriptversion=2005-05-14.22
-
-# Copyright (C) 1999, 2000, 2003, 2004, 2005 Free Software Foundation, Inc.
-# Written by Tom Tromey <tromey@cygnus.com>.
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-# This file is maintained in Automake, please report
-# bugs to <bug-automake@gnu.org> or send patches to
-# <automake-patches@gnu.org>.
-
-case $1 in
- '')
- echo "$0: No command. Try \`$0 --help' for more information." 1>&2
- exit 1;
- ;;
- -h | --h*)
- cat <<\EOF
-Usage: compile [--help] [--version] PROGRAM [ARGS]
-
-Wrapper for compilers which do not understand `-c -o'.
-Remove `-o dest.o' from ARGS, run PROGRAM with the remaining
-arguments, and rename the output as expected.
-
-If you are trying to build a whole package this is not the
-right script to run: please start by reading the file `INSTALL'.
-
-Report bugs to <bug-automake@gnu.org>.
-EOF
- exit $?
- ;;
- -v | --v*)
- echo "compile $scriptversion"
- exit $?
- ;;
-esac
-
-ofile=
-cfile=
-eat=
-
-for arg
-do
- if test -n "$eat"; then
- eat=
- else
- case $1 in
- -o)
- # configure might choose to run compile as `compile cc -o foo foo.c'.
- # So we strip `-o arg' only if arg is an object.
- eat=1
- case $2 in
- *.o | *.obj)
- ofile=$2
- ;;
- *)
- set x "$@" -o "$2"
- shift
- ;;
- esac
- ;;
- *.c)
- cfile=$1
- set x "$@" "$1"
- shift
- ;;
- *)
- set x "$@" "$1"
- shift
- ;;
- esac
- fi
- shift
-done
-
-if test -z "$ofile" || test -z "$cfile"; then
- # If no `-o' option was seen then we might have been invoked from a
- # pattern rule where we don't need one. That is ok -- this is a
- # normal compilation that the losing compiler can handle. If no
- # `.c' file was seen then we are probably linking. That is also
- # ok.
- exec "$@"
-fi
-
-# Name of file we expect compiler to create.
-cofile=`echo "$cfile" | sed -e 's|^.*/||' -e 's/\.c$/.o/'`
-
-# Create the lock directory.
-# Note: use `[/.-]' here to ensure that we don't use the same name
-# that we are using for the .o file. Also, base the name on the expected
-# object file name, since that is what matters with a parallel build.
-lockdir=`echo "$cofile" | sed -e 's|[/.-]|_|g'`.d
-while true; do
- if mkdir "$lockdir" >/dev/null 2>&1; then
- break
- fi
- sleep 1
-done
-# FIXME: race condition here if user kills between mkdir and trap.
-trap "rmdir '$lockdir'; exit 1" 1 2 15
-
-# Run the compile.
-"$@"
-ret=$?
-
-if test -f "$cofile"; then
- mv "$cofile" "$ofile"
-elif test -f "${cofile}bj"; then
- mv "${cofile}bj" "$ofile"
-fi
-
-rmdir "$lockdir"
-exit $ret
-
-# Local Variables:
-# mode: shell-script
-# sh-indentation: 2
-# eval: (add-hook 'write-file-hooks 'time-stamp)
-# time-stamp-start: "scriptversion="
-# time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-end: "$"
-# End:
diff --git a/config.guess b/config.guess
deleted file mode 100755
index f32079a..0000000
--- a/config.guess
+++ /dev/null
@@ -1,1526 +0,0 @@
-#! /bin/sh
-# Attempt to guess a canonical system name.
-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
-# Free Software Foundation, Inc.
-
-timestamp='2008-01-23'
-
-# This file is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
-# 02110-1301, USA.
-#
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-
-# Originally written by Per Bothner <per@bothner.com>.
-# Please send patches to <config-patches@gnu.org>. Submit a context
-# diff and a properly formatted ChangeLog entry.
-#
-# This script attempts to guess a canonical system name similar to
-# config.sub. If it succeeds, it prints the system name on stdout, and
-# exits with 0. Otherwise, it exits with 1.
-#
-# The plan is that this can be called by configure scripts if you
-# don't specify an explicit build system type.
-
-me=`echo "$0" | sed -e 's,.*/,,'`
-
-usage="\
-Usage: $0 [OPTION]
-
-Output the configuration name of the system \`$me' is run on.
-
-Operation modes:
- -h, --help print this help, then exit
- -t, --time-stamp print date of last modification, then exit
- -v, --version print version number, then exit
-
-Report bugs and patches to <config-patches@gnu.org>."
-
-version="\
-GNU config.guess ($timestamp)
-
-Originally written by Per Bothner.
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
-2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
-
-This is free software; see the source for copying conditions. There is NO
-warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
-
-help="
-Try \`$me --help' for more information."
-
-# Parse command line
-while test $# -gt 0 ; do
- case $1 in
- --time-stamp | --time* | -t )
- echo "$timestamp" ; exit ;;
- --version | -v )
- echo "$version" ; exit ;;
- --help | --h* | -h )
- echo "$usage"; exit ;;
- -- ) # Stop option processing
- shift; break ;;
- - ) # Use stdin as input.
- break ;;
- -* )
- echo "$me: invalid option $1$help" >&2
- exit 1 ;;
- * )
- break ;;
- esac
-done
-
-if test $# != 0; then
- echo "$me: too many arguments$help" >&2
- exit 1
-fi
-
-trap 'exit 1' 1 2 15
-
-# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
-# compiler to aid in system detection is discouraged as it requires
-# temporary files to be created and, as you can see below, it is a
-# headache to deal with in a portable fashion.
-
-# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
-# use `HOST_CC' if defined, but it is deprecated.
-
-# Portable tmp directory creation inspired by the Autoconf team.
-
-set_cc_for_build='
-trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
-trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
-: ${TMPDIR=/tmp} ;
- { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
- { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
- { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
- { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
-dummy=$tmp/dummy ;
-tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
-case $CC_FOR_BUILD,$HOST_CC,$CC in
- ,,) echo "int x;" > $dummy.c ;
- for c in cc gcc c89 c99 ; do
- if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
- CC_FOR_BUILD="$c"; break ;
- fi ;
- done ;
- if test x"$CC_FOR_BUILD" = x ; then
- CC_FOR_BUILD=no_compiler_found ;
- fi
- ;;
- ,,*) CC_FOR_BUILD=$CC ;;
- ,*,*) CC_FOR_BUILD=$HOST_CC ;;
-esac ; set_cc_for_build= ;'
-
-# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
-# (ghazi@noc.rutgers.edu 1994-08-24)
-if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
- PATH=$PATH:/.attbin ; export PATH
-fi
-
-UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
-UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
-UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
-UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
-
-# Note: order is significant - the case branches are not exclusive.
-
-case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
- *:NetBSD:*:*)
- # NetBSD (nbsd) targets should (where applicable) match one or
- # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
- # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently
- # switched to ELF, *-*-netbsd* would select the old
- # object file format. This provides both forward
- # compatibility and a consistent mechanism for selecting the
- # object file format.
- #
- # Note: NetBSD doesn't particularly care about the vendor
- # portion of the name. We always set it to "unknown".
- sysctl="sysctl -n hw.machine_arch"
- UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
- /usr/sbin/$sysctl 2>/dev/null || echo unknown)`
- case "${UNAME_MACHINE_ARCH}" in
- armeb) machine=armeb-unknown ;;
- arm*) machine=arm-unknown ;;
- sh3el) machine=shl-unknown ;;
- sh3eb) machine=sh-unknown ;;
- sh5el) machine=sh5le-unknown ;;
- *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
- esac
- # The Operating System including object format, if it has switched
- # to ELF recently, or will in the future.
- case "${UNAME_MACHINE_ARCH}" in
- arm*|i386|m68k|ns32k|sh3*|sparc|vax)
- eval $set_cc_for_build
- if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
- | grep __ELF__ >/dev/null
- then
- # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
- # Return netbsd for either. FIX?
- os=netbsd
- else
- os=netbsdelf
- fi
- ;;
- *)
- os=netbsd
- ;;
- esac
- # The OS release
- # Debian GNU/NetBSD machines have a different userland, and
- # thus, need a distinct triplet. However, they do not need
- # kernel version information, so it can be replaced with a
- # suitable tag, in the style of linux-gnu.
- case "${UNAME_VERSION}" in
- Debian*)
- release='-gnu'
- ;;
- *)
- release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
- ;;
- esac
- # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
- # contains redundant information, the shorter form:
- # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
- echo "${machine}-${os}${release}"
- exit ;;
- *:OpenBSD:*:*)
- UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
- echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
- exit ;;
- *:ekkoBSD:*:*)
- echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
- exit ;;
- *:SolidBSD:*:*)
- echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE}
- exit ;;
- macppc:MirBSD:*:*)
- echo powerpc-unknown-mirbsd${UNAME_RELEASE}
- exit ;;
- *:MirBSD:*:*)
- echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
- exit ;;
- alpha:OSF1:*:*)
- case $UNAME_RELEASE in
- *4.0)
- UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
- ;;
- *5.*)
- UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
- ;;
- esac
- # According to Compaq, /usr/sbin/psrinfo has been available on
- # OSF/1 and Tru64 systems produced since 1995. I hope that
- # covers most systems running today. This code pipes the CPU
- # types through head -n 1, so we only detect the type of CPU 0.
- ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1`
- case "$ALPHA_CPU_TYPE" in
- "EV4 (21064)")
- UNAME_MACHINE="alpha" ;;
- "EV4.5 (21064)")
- UNAME_MACHINE="alpha" ;;
- "LCA4 (21066/21068)")
- UNAME_MACHINE="alpha" ;;
- "EV5 (21164)")
- UNAME_MACHINE="alphaev5" ;;
- "EV5.6 (21164A)")
- UNAME_MACHINE="alphaev56" ;;
- "EV5.6 (21164PC)")
- UNAME_MACHINE="alphapca56" ;;
- "EV5.7 (21164PC)")
- UNAME_MACHINE="alphapca57" ;;
- "EV6 (21264)")
- UNAME_MACHINE="alphaev6" ;;
- "EV6.7 (21264A)")
- UNAME_MACHINE="alphaev67" ;;
- "EV6.8CB (21264C)")
- UNAME_MACHINE="alphaev68" ;;
- "EV6.8AL (21264B)")
- UNAME_MACHINE="alphaev68" ;;
- "EV6.8CX (21264D)")
- UNAME_MACHINE="alphaev68" ;;
- "EV6.9A (21264/EV69A)")
- UNAME_MACHINE="alphaev69" ;;
- "EV7 (21364)")
- UNAME_MACHINE="alphaev7" ;;
- "EV7.9 (21364A)")
- UNAME_MACHINE="alphaev79" ;;
- esac
- # A Pn.n version is a patched version.
- # A Vn.n version is a released version.
- # A Tn.n version is a released field test version.
- # A Xn.n version is an unreleased experimental baselevel.
- # 1.2 uses "1.2" for uname -r.
- echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
- exit ;;
- Alpha\ *:Windows_NT*:*)
- # How do we know it's Interix rather than the generic POSIX subsystem?
- # Should we change UNAME_MACHINE based on the output of uname instead
- # of the specific Alpha model?
- echo alpha-pc-interix
- exit ;;
- 21064:Windows_NT:50:3)
- echo alpha-dec-winnt3.5
- exit ;;
- Amiga*:UNIX_System_V:4.0:*)
- echo m68k-unknown-sysv4
- exit ;;
- *:[Aa]miga[Oo][Ss]:*:*)
- echo ${UNAME_MACHINE}-unknown-amigaos
- exit ;;
- *:[Mm]orph[Oo][Ss]:*:*)
- echo ${UNAME_MACHINE}-unknown-morphos
- exit ;;
- *:OS/390:*:*)
- echo i370-ibm-openedition
- exit ;;
- *:z/VM:*:*)
- echo s390-ibm-zvmoe
- exit ;;
- *:OS400:*:*)
- echo powerpc-ibm-os400
- exit ;;
- arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
- echo arm-acorn-riscix${UNAME_RELEASE}
- exit ;;
- arm:riscos:*:*|arm:RISCOS:*:*)
- echo arm-unknown-riscos
- exit ;;
- SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
- echo hppa1.1-hitachi-hiuxmpp
- exit ;;
- Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
- # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
- if test "`(/bin/universe) 2>/dev/null`" = att ; then
- echo pyramid-pyramid-sysv3
- else
- echo pyramid-pyramid-bsd
- fi
- exit ;;
- NILE*:*:*:dcosx)
- echo pyramid-pyramid-svr4
- exit ;;
- DRS?6000:unix:4.0:6*)
- echo sparc-icl-nx6
- exit ;;
- DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
- case `/usr/bin/uname -p` in
- sparc) echo sparc-icl-nx7; exit ;;
- esac ;;
- sun4H:SunOS:5.*:*)
- echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
- exit ;;
- sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
- echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
- exit ;;
- i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
- echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
- exit ;;
- sun4*:SunOS:6*:*)
- # According to config.sub, this is the proper way to canonicalize
- # SunOS6. Hard to guess exactly what SunOS6 will be like, but
- # it's likely to be more like Solaris than SunOS4.
- echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
- exit ;;
- sun4*:SunOS:*:*)
- case "`/usr/bin/arch -k`" in
- Series*|S4*)
- UNAME_RELEASE=`uname -v`
- ;;
- esac
- # Japanese Language versions have a version number like `4.1.3-JL'.
- echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
- exit ;;
- sun3*:SunOS:*:*)
- echo m68k-sun-sunos${UNAME_RELEASE}
- exit ;;
- sun*:*:4.2BSD:*)
- UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
- test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
- case "`/bin/arch`" in
- sun3)
- echo m68k-sun-sunos${UNAME_RELEASE}
- ;;
- sun4)
- echo sparc-sun-sunos${UNAME_RELEASE}
- ;;
- esac
- exit ;;
- aushp:SunOS:*:*)
- echo sparc-auspex-sunos${UNAME_RELEASE}
- exit ;;
- # The situation for MiNT is a little confusing. The machine name
- # can be virtually everything (everything which is not
- # "atarist" or "atariste" at least should have a processor
- # > m68000). The system name ranges from "MiNT" over "FreeMiNT"
- # to the lowercase version "mint" (or "freemint"). Finally
- # the system name "TOS" denotes a system which is actually not
- # MiNT. But MiNT is downward compatible to TOS, so this should
- # be no problem.
- atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
- echo m68k-atari-mint${UNAME_RELEASE}
- exit ;;
- atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
- echo m68k-atari-mint${UNAME_RELEASE}
- exit ;;
- *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
- echo m68k-atari-mint${UNAME_RELEASE}
- exit ;;
- milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
- echo m68k-milan-mint${UNAME_RELEASE}
- exit ;;
- hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
- echo m68k-hades-mint${UNAME_RELEASE}
- exit ;;
- *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
- echo m68k-unknown-mint${UNAME_RELEASE}
- exit ;;
- m68k:machten:*:*)
- echo m68k-apple-machten${UNAME_RELEASE}
- exit ;;
- powerpc:machten:*:*)
- echo powerpc-apple-machten${UNAME_RELEASE}
- exit ;;
- RISC*:Mach:*:*)
- echo mips-dec-mach_bsd4.3
- exit ;;
- RISC*:ULTRIX:*:*)
- echo mips-dec-ultrix${UNAME_RELEASE}
- exit ;;
- VAX*:ULTRIX*:*:*)
- echo vax-dec-ultrix${UNAME_RELEASE}
- exit ;;
- 2020:CLIX:*:* | 2430:CLIX:*:*)
- echo clipper-intergraph-clix${UNAME_RELEASE}
- exit ;;
- mips:*:*:UMIPS | mips:*:*:RISCos)
- eval $set_cc_for_build
- sed 's/^ //' << EOF >$dummy.c
-#ifdef __cplusplus
-#include <stdio.h> /* for printf() prototype */
- int main (int argc, char *argv[]) {
-#else
- int main (argc, argv) int argc; char *argv[]; {
-#endif
- #if defined (host_mips) && defined (MIPSEB)
- #if defined (SYSTYPE_SYSV)
- printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
- #endif
- #if defined (SYSTYPE_SVR4)
- printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
- #endif
- #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
- printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
- #endif
- #endif
- exit (-1);
- }
-EOF
- $CC_FOR_BUILD -o $dummy $dummy.c &&
- dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` &&
- SYSTEM_NAME=`$dummy $dummyarg` &&
- { echo "$SYSTEM_NAME"; exit; }
- echo mips-mips-riscos${UNAME_RELEASE}
- exit ;;
- Motorola:PowerMAX_OS:*:*)
- echo powerpc-motorola-powermax
- exit ;;
- Motorola:*:4.3:PL8-*)
- echo powerpc-harris-powermax
- exit ;;
- Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
- echo powerpc-harris-powermax
- exit ;;
- Night_Hawk:Power_UNIX:*:*)
- echo powerpc-harris-powerunix
- exit ;;
- m88k:CX/UX:7*:*)
- echo m88k-harris-cxux7
- exit ;;
- m88k:*:4*:R4*)
- echo m88k-motorola-sysv4
- exit ;;
- m88k:*:3*:R3*)
- echo m88k-motorola-sysv3
- exit ;;
- AViiON:dgux:*:*)
- # DG/UX returns AViiON for all architectures
- UNAME_PROCESSOR=`/usr/bin/uname -p`
- if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
- then
- if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
- [ ${TARGET_BINARY_INTERFACE}x = x ]
- then
- echo m88k-dg-dgux${UNAME_RELEASE}
- else
- echo m88k-dg-dguxbcs${UNAME_RELEASE}
- fi
- else
- echo i586-dg-dgux${UNAME_RELEASE}
- fi
- exit ;;
- M88*:DolphinOS:*:*) # DolphinOS (SVR3)
- echo m88k-dolphin-sysv3
- exit ;;
- M88*:*:R3*:*)
- # Delta 88k system running SVR3
- echo m88k-motorola-sysv3
- exit ;;
- XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
- echo m88k-tektronix-sysv3
- exit ;;
- Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
- echo m68k-tektronix-bsd
- exit ;;
- *:IRIX*:*:*)
- echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
- exit ;;
- ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
- echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id
- exit ;; # Note that: echo "'`uname -s`'" gives 'AIX '
- i*86:AIX:*:*)
- echo i386-ibm-aix
- exit ;;
- ia64:AIX:*:*)
- if [ -x /usr/bin/oslevel ] ; then
- IBM_REV=`/usr/bin/oslevel`
- else
- IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
- fi
- echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
- exit ;;
- *:AIX:2:3)
- if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
- eval $set_cc_for_build
- sed 's/^ //' << EOF >$dummy.c
- #include <sys/systemcfg.h>
-
- main()
- {
- if (!__power_pc())
- exit(1);
- puts("powerpc-ibm-aix3.2.5");
- exit(0);
- }
-EOF
- if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy`
- then
- echo "$SYSTEM_NAME"
- else
- echo rs6000-ibm-aix3.2.5
- fi
- elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
- echo rs6000-ibm-aix3.2.4
- else
- echo rs6000-ibm-aix3.2
- fi
- exit ;;
- *:AIX:*:[456])
- IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
- if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
- IBM_ARCH=rs6000
- else
- IBM_ARCH=powerpc
- fi
- if [ -x /usr/bin/oslevel ] ; then
- IBM_REV=`/usr/bin/oslevel`
- else
- IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
- fi
- echo ${IBM_ARCH}-ibm-aix${IBM_REV}
- exit ;;
- *:AIX:*:*)
- echo rs6000-ibm-aix
- exit ;;
- ibmrt:4.4BSD:*|romp-ibm:BSD:*)
- echo romp-ibm-bsd4.4
- exit ;;
- ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and
- echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to
- exit ;; # report: romp-ibm BSD 4.3
- *:BOSX:*:*)
- echo rs6000-bull-bosx
- exit ;;
- DPX/2?00:B.O.S.:*:*)
- echo m68k-bull-sysv3
- exit ;;
- 9000/[34]??:4.3bsd:1.*:*)
- echo m68k-hp-bsd
- exit ;;
- hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
- echo m68k-hp-bsd4.4
- exit ;;
- 9000/[34678]??:HP-UX:*:*)
- HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
- case "${UNAME_MACHINE}" in
- 9000/31? ) HP_ARCH=m68000 ;;
- 9000/[34]?? ) HP_ARCH=m68k ;;
- 9000/[678][0-9][0-9])
- if [ -x /usr/bin/getconf ]; then
- sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
- sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
- case "${sc_cpu_version}" in
- 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
- 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
- 532) # CPU_PA_RISC2_0
- case "${sc_kernel_bits}" in
- 32) HP_ARCH="hppa2.0n" ;;
- 64) HP_ARCH="hppa2.0w" ;;
- '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20
- esac ;;
- esac
- fi
- if [ "${HP_ARCH}" = "" ]; then
- eval $set_cc_for_build
- sed 's/^ //' << EOF >$dummy.c
-
- #define _HPUX_SOURCE
- #include <stdlib.h>
- #include <unistd.h>
-
- int main ()
- {
- #if defined(_SC_KERNEL_BITS)
- long bits = sysconf(_SC_KERNEL_BITS);
- #endif
- long cpu = sysconf (_SC_CPU_VERSION);
-
- switch (cpu)
- {
- case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
- case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
- case CPU_PA_RISC2_0:
- #if defined(_SC_KERNEL_BITS)
- switch (bits)
- {
- case 64: puts ("hppa2.0w"); break;
- case 32: puts ("hppa2.0n"); break;
- default: puts ("hppa2.0"); break;
- } break;
- #else /* !defined(_SC_KERNEL_BITS) */
- puts ("hppa2.0"); break;
- #endif
- default: puts ("hppa1.0"); break;
- }
- exit (0);
- }
-EOF
- (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
- test -z "$HP_ARCH" && HP_ARCH=hppa
- fi ;;
- esac
- if [ ${HP_ARCH} = "hppa2.0w" ]
- then
- eval $set_cc_for_build
-
- # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
- # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler
- # generating 64-bit code. GNU and HP use different nomenclature:
- #
- # $ CC_FOR_BUILD=cc ./config.guess
- # => hppa2.0w-hp-hpux11.23
- # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
- # => hppa64-hp-hpux11.23
-
- if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
- grep __LP64__ >/dev/null
- then
- HP_ARCH="hppa2.0w"
- else
- HP_ARCH="hppa64"
- fi
- fi
- echo ${HP_ARCH}-hp-hpux${HPUX_REV}
- exit ;;
- ia64:HP-UX:*:*)
- HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
- echo ia64-hp-hpux${HPUX_REV}
- exit ;;
- 3050*:HI-UX:*:*)
- eval $set_cc_for_build
- sed 's/^ //' << EOF >$dummy.c
- #include <unistd.h>
- int
- main ()
- {
- long cpu = sysconf (_SC_CPU_VERSION);
- /* The order matters, because CPU_IS_HP_MC68K erroneously returns
- true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct
- results, however. */
- if (CPU_IS_PA_RISC (cpu))
- {
- switch (cpu)
- {
- case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
- case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
- case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
- default: puts ("hppa-hitachi-hiuxwe2"); break;
- }
- }
- else if (CPU_IS_HP_MC68K (cpu))
- puts ("m68k-hitachi-hiuxwe2");
- else puts ("unknown-hitachi-hiuxwe2");
- exit (0);
- }
-EOF
- $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` &&
- { echo "$SYSTEM_NAME"; exit; }
- echo unknown-hitachi-hiuxwe2
- exit ;;
- 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
- echo hppa1.1-hp-bsd
- exit ;;
- 9000/8??:4.3bsd:*:*)
- echo hppa1.0-hp-bsd
- exit ;;
- *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
- echo hppa1.0-hp-mpeix
- exit ;;
- hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
- echo hppa1.1-hp-osf
- exit ;;
- hp8??:OSF1:*:*)
- echo hppa1.0-hp-osf
- exit ;;
- i*86:OSF1:*:*)
- if [ -x /usr/sbin/sysversion ] ; then
- echo ${UNAME_MACHINE}-unknown-osf1mk
- else
- echo ${UNAME_MACHINE}-unknown-osf1
- fi
- exit ;;
- parisc*:Lites*:*:*)
- echo hppa1.1-hp-lites
- exit ;;
- C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
- echo c1-convex-bsd
- exit ;;
- C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
- if getsysinfo -f scalar_acc
- then echo c32-convex-bsd
- else echo c2-convex-bsd
- fi
- exit ;;
- C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
- echo c34-convex-bsd
- exit ;;
- C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
- echo c38-convex-bsd
- exit ;;
- C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
- echo c4-convex-bsd
- exit ;;
- CRAY*Y-MP:*:*:*)
- echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
- exit ;;
- CRAY*[A-Z]90:*:*:*)
- echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
- | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
- -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
- -e 's/\.[^.]*$/.X/'
- exit ;;
- CRAY*TS:*:*:*)
- echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
- exit ;;
- CRAY*T3E:*:*:*)
- echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
- exit ;;
- CRAY*SV1:*:*:*)
- echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
- exit ;;
- *:UNICOS/mp:*:*)
- echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
- exit ;;
- F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
- FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
- FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
- FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
- echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
- exit ;;
- 5000:UNIX_System_V:4.*:*)
- FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
- FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
- echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
- exit ;;
- i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
- echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
- exit ;;
- sparc*:BSD/OS:*:*)
- echo sparc-unknown-bsdi${UNAME_RELEASE}
- exit ;;
- *:BSD/OS:*:*)
- echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
- exit ;;
- *:FreeBSD:*:*)
- case ${UNAME_MACHINE} in
- pc98)
- echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
- amd64)
- echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
- *)
- echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
- esac
- exit ;;
- i*:CYGWIN*:*)
- echo ${UNAME_MACHINE}-pc-cygwin
- exit ;;
- *:MINGW*:*)
- echo ${UNAME_MACHINE}-pc-mingw32
- exit ;;
- i*:windows32*:*)
- # uname -m includes "-pc" on this system.
- echo ${UNAME_MACHINE}-mingw32
- exit ;;
- i*:PW*:*)
- echo ${UNAME_MACHINE}-pc-pw32
- exit ;;
- *:Interix*:[3456]*)
- case ${UNAME_MACHINE} in
- x86)
- echo i586-pc-interix${UNAME_RELEASE}
- exit ;;
- EM64T | authenticamd)
- echo x86_64-unknown-interix${UNAME_RELEASE}
- exit ;;
- IA64)
- echo ia64-unknown-interix${UNAME_RELEASE}
- exit ;;
- esac ;;
- [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
- echo i${UNAME_MACHINE}-pc-mks
- exit ;;
- i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
- # How do we know it's Interix rather than the generic POSIX subsystem?
- # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
- # UNAME_MACHINE based on the output of uname instead of i386?
- echo i586-pc-interix
- exit ;;
- i*:UWIN*:*)
- echo ${UNAME_MACHINE}-pc-uwin
- exit ;;
- amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
- echo x86_64-unknown-cygwin
- exit ;;
- p*:CYGWIN*:*)
- echo powerpcle-unknown-cygwin
- exit ;;
- prep*:SunOS:5.*:*)
- echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
- exit ;;
- *:GNU:*:*)
- # the GNU system
- echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
- exit ;;
- *:GNU/*:*:*)
- # other systems with GNU libc and userland
- echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu
- exit ;;
- i*86:Minix:*:*)
- echo ${UNAME_MACHINE}-pc-minix
- exit ;;
- arm*:Linux:*:*)
- eval $set_cc_for_build
- if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
- | grep -q __ARM_EABI__
- then
- echo ${UNAME_MACHINE}-unknown-linux-gnu
- else
- echo ${UNAME_MACHINE}-unknown-linux-gnueabi
- fi
- exit ;;
- avr32*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
- exit ;;
- cris:Linux:*:*)
- echo cris-axis-linux-gnu
- exit ;;
- crisv32:Linux:*:*)
- echo crisv32-axis-linux-gnu
- exit ;;
- frv:Linux:*:*)
- echo frv-unknown-linux-gnu
- exit ;;
- ia64:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
- exit ;;
- m32r*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
- exit ;;
- m68*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
- exit ;;
- mips:Linux:*:*)
- eval $set_cc_for_build
- sed 's/^ //' << EOF >$dummy.c
- #undef CPU
- #undef mips
- #undef mipsel
- #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
- CPU=mipsel
- #else
- #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
- CPU=mips
- #else
- CPU=
- #endif
- #endif
-EOF
- eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
- /^CPU/{
- s: ::g
- p
- }'`"
- test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
- ;;
- mips64:Linux:*:*)
- eval $set_cc_for_build
- sed 's/^ //' << EOF >$dummy.c
- #undef CPU
- #undef mips64
- #undef mips64el
- #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
- CPU=mips64el
- #else
- #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
- CPU=mips64
- #else
- CPU=
- #endif
- #endif
-EOF
- eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
- /^CPU/{
- s: ::g
- p
- }'`"
- test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
- ;;
- or32:Linux:*:*)
- echo or32-unknown-linux-gnu
- exit ;;
- ppc:Linux:*:*)
- echo powerpc-unknown-linux-gnu
- exit ;;
- ppc64:Linux:*:*)
- echo powerpc64-unknown-linux-gnu
- exit ;;
- alpha:Linux:*:*)
- case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
- EV5) UNAME_MACHINE=alphaev5 ;;
- EV56) UNAME_MACHINE=alphaev56 ;;
- PCA56) UNAME_MACHINE=alphapca56 ;;
- PCA57) UNAME_MACHINE=alphapca56 ;;
- EV6) UNAME_MACHINE=alphaev6 ;;
- EV67) UNAME_MACHINE=alphaev67 ;;
- EV68*) UNAME_MACHINE=alphaev68 ;;
- esac
- objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null
- if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
- echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
- exit ;;
- parisc:Linux:*:* | hppa:Linux:*:*)
- # Look for CPU level
- case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
- PA7*) echo hppa1.1-unknown-linux-gnu ;;
- PA8*) echo hppa2.0-unknown-linux-gnu ;;
- *) echo hppa-unknown-linux-gnu ;;
- esac
- exit ;;
- parisc64:Linux:*:* | hppa64:Linux:*:*)
- echo hppa64-unknown-linux-gnu
- exit ;;
- s390:Linux:*:* | s390x:Linux:*:*)
- echo ${UNAME_MACHINE}-ibm-linux
- exit ;;
- sh64*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
- exit ;;
- sh*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
- exit ;;
- sparc:Linux:*:* | sparc64:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
- exit ;;
- vax:Linux:*:*)
- echo ${UNAME_MACHINE}-dec-linux-gnu
- exit ;;
- x86_64:Linux:*:*)
- echo x86_64-unknown-linux-gnu
- exit ;;
- xtensa*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
- exit ;;
- i*86:Linux:*:*)
- # The BFD linker knows what the default object file format is, so
- # first see if it will tell us. cd to the root directory to prevent
- # problems with other programs or directories called `ld' in the path.
- # Set LC_ALL=C to ensure ld outputs messages in English.
- ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \
- | sed -ne '/supported targets:/!d
- s/[ ][ ]*/ /g
- s/.*supported targets: *//
- s/ .*//
- p'`
- case "$ld_supported_targets" in
- elf32-i386)
- TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu"
- ;;
- a.out-i386-linux)
- echo "${UNAME_MACHINE}-pc-linux-gnuaout"
- exit ;;
- coff-i386)
- echo "${UNAME_MACHINE}-pc-linux-gnucoff"
- exit ;;
- "")
- # Either a pre-BFD a.out linker (linux-gnuoldld) or
- # one that does not give us useful --help.
- echo "${UNAME_MACHINE}-pc-linux-gnuoldld"
- exit ;;
- esac
- # Determine whether the default compiler is a.out or elf
- eval $set_cc_for_build
- sed 's/^ //' << EOF >$dummy.c
- #include <features.h>
- #ifdef __ELF__
- # ifdef __GLIBC__
- # if __GLIBC__ >= 2
- LIBC=gnu
- # else
- LIBC=gnulibc1
- # endif
- # else
- LIBC=gnulibc1
- # endif
- #else
- #if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC)
- LIBC=gnu
- #else
- LIBC=gnuaout
- #endif
- #endif
- #ifdef __dietlibc__
- LIBC=dietlibc
- #endif
-EOF
- eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
- /^LIBC/{
- s: ::g
- p
- }'`"
- test x"${LIBC}" != x && {
- echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
- exit
- }
- test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; exit; }
- ;;
- i*86:DYNIX/ptx:4*:*)
- # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
- # earlier versions are messed up and put the nodename in both
- # sysname and nodename.
- echo i386-sequent-sysv4
- exit ;;
- i*86:UNIX_SV:4.2MP:2.*)
- # Unixware is an offshoot of SVR4, but it has its own version
- # number series starting with 2...
- # I am not positive that other SVR4 systems won't match this,
- # I just have to hope. -- rms.
- # Use sysv4.2uw... so that sysv4* matches it.
- echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
- exit ;;
- i*86:OS/2:*:*)
- # If we were able to find `uname', then EMX Unix compatibility
- # is probably installed.
- echo ${UNAME_MACHINE}-pc-os2-emx
- exit ;;
- i*86:XTS-300:*:STOP)
- echo ${UNAME_MACHINE}-unknown-stop
- exit ;;
- i*86:atheos:*:*)
- echo ${UNAME_MACHINE}-unknown-atheos
- exit ;;
- i*86:syllable:*:*)
- echo ${UNAME_MACHINE}-pc-syllable
- exit ;;
- i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*)
- echo i386-unknown-lynxos${UNAME_RELEASE}
- exit ;;
- i*86:*DOS:*:*)
- echo ${UNAME_MACHINE}-pc-msdosdjgpp
- exit ;;
- i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
- UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
- if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
- echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
- else
- echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
- fi
- exit ;;
- i*86:*:5:[678]*)
- # UnixWare 7.x, OpenUNIX and OpenServer 6.
- case `/bin/uname -X | grep "^Machine"` in
- *486*) UNAME_MACHINE=i486 ;;
- *Pentium) UNAME_MACHINE=i586 ;;
- *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
- esac
- echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
- exit ;;
- i*86:*:3.2:*)
- if test -f /usr/options/cb.name; then
- UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
- echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
- elif /bin/uname -X 2>/dev/null >/dev/null ; then
- UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
- (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
- (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
- && UNAME_MACHINE=i586
- (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
- && UNAME_MACHINE=i686
- (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
- && UNAME_MACHINE=i686
- echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
- else
- echo ${UNAME_MACHINE}-pc-sysv32
- fi
- exit ;;
- pc:*:*:*)
- # Left here for compatibility:
- # uname -m prints for DJGPP always 'pc', but it prints nothing about
- # the processor, so we play safe by assuming i386.
- echo i386-pc-msdosdjgpp
- exit ;;
- Intel:Mach:3*:*)
- echo i386-pc-mach3
- exit ;;
- paragon:*:*:*)
- echo i860-intel-osf1
- exit ;;
- i860:*:4.*:*) # i860-SVR4
- if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
- echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
- else # Add other i860-SVR4 vendors below as they are discovered.
- echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4
- fi
- exit ;;
- mini*:CTIX:SYS*5:*)
- # "miniframe"
- echo m68010-convergent-sysv
- exit ;;
- mc68k:UNIX:SYSTEM5:3.51m)
- echo m68k-convergent-sysv
- exit ;;
- M680?0:D-NIX:5.3:*)
- echo m68k-diab-dnix
- exit ;;
- M68*:*:R3V[5678]*:*)
- test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
- 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0)
- OS_REL=''
- test -r /etc/.relid \
- && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
- /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
- && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
- /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
- && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
- 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
- /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
- && { echo i486-ncr-sysv4; exit; } ;;
- m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
- echo m68k-unknown-lynxos${UNAME_RELEASE}
- exit ;;
- mc68030:UNIX_System_V:4.*:*)
- echo m68k-atari-sysv4
- exit ;;
- TSUNAMI:LynxOS:2.*:*)
- echo sparc-unknown-lynxos${UNAME_RELEASE}
- exit ;;
- rs6000:LynxOS:2.*:*)
- echo rs6000-unknown-lynxos${UNAME_RELEASE}
- exit ;;
- PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*)
- echo powerpc-unknown-lynxos${UNAME_RELEASE}
- exit ;;
- SM[BE]S:UNIX_SV:*:*)
- echo mips-dde-sysv${UNAME_RELEASE}
- exit ;;
- RM*:ReliantUNIX-*:*:*)
- echo mips-sni-sysv4
- exit ;;
- RM*:SINIX-*:*:*)
- echo mips-sni-sysv4
- exit ;;
- *:SINIX-*:*:*)
- if uname -p 2>/dev/null >/dev/null ; then
- UNAME_MACHINE=`(uname -p) 2>/dev/null`
- echo ${UNAME_MACHINE}-sni-sysv4
- else
- echo ns32k-sni-sysv
- fi
- exit ;;
- PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
- # says <Richard.M.Bartel@ccMail.Census.GOV>
- echo i586-unisys-sysv4
- exit ;;
- *:UNIX_System_V:4*:FTX*)
- # From Gerald Hewes <hewes@openmarket.com>.
- # How about differentiating between stratus architectures? -djm
- echo hppa1.1-stratus-sysv4
- exit ;;
- *:*:*:FTX*)
- # From seanf@swdc.stratus.com.
- echo i860-stratus-sysv4
- exit ;;
- i*86:VOS:*:*)
- # From Paul.Green@stratus.com.
- echo ${UNAME_MACHINE}-stratus-vos
- exit ;;
- *:VOS:*:*)
- # From Paul.Green@stratus.com.
- echo hppa1.1-stratus-vos
- exit ;;
- mc68*:A/UX:*:*)
- echo m68k-apple-aux${UNAME_RELEASE}
- exit ;;
- news*:NEWS-OS:6*:*)
- echo mips-sony-newsos6
- exit ;;
- R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
- if [ -d /usr/nec ]; then
- echo mips-nec-sysv${UNAME_RELEASE}
- else
- echo mips-unknown-sysv${UNAME_RELEASE}
- fi
- exit ;;
- BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only.
- echo powerpc-be-beos
- exit ;;
- BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only.
- echo powerpc-apple-beos
- exit ;;
- BePC:BeOS:*:*) # BeOS running on Intel PC compatible.
- echo i586-pc-beos
- exit ;;
- SX-4:SUPER-UX:*:*)
- echo sx4-nec-superux${UNAME_RELEASE}
- exit ;;
- SX-5:SUPER-UX:*:*)
- echo sx5-nec-superux${UNAME_RELEASE}
- exit ;;
- SX-6:SUPER-UX:*:*)
- echo sx6-nec-superux${UNAME_RELEASE}
- exit ;;
- SX-7:SUPER-UX:*:*)
- echo sx7-nec-superux${UNAME_RELEASE}
- exit ;;
- SX-8:SUPER-UX:*:*)
- echo sx8-nec-superux${UNAME_RELEASE}
- exit ;;
- SX-8R:SUPER-UX:*:*)
- echo sx8r-nec-superux${UNAME_RELEASE}
- exit ;;
- Power*:Rhapsody:*:*)
- echo powerpc-apple-rhapsody${UNAME_RELEASE}
- exit ;;
- *:Rhapsody:*:*)
- echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
- exit ;;
- *:Darwin:*:*)
- UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
- case $UNAME_PROCESSOR in
- unknown) UNAME_PROCESSOR=powerpc ;;
- esac
- echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
- exit ;;
- *:procnto*:*:* | *:QNX:[0123456789]*:*)
- UNAME_PROCESSOR=`uname -p`
- if test "$UNAME_PROCESSOR" = "x86"; then
- UNAME_PROCESSOR=i386
- UNAME_MACHINE=pc
- fi
- echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
- exit ;;
- *:QNX:*:4*)
- echo i386-pc-qnx
- exit ;;
- NSE-?:NONSTOP_KERNEL:*:*)
- echo nse-tandem-nsk${UNAME_RELEASE}
- exit ;;
- NSR-?:NONSTOP_KERNEL:*:*)
- echo nsr-tandem-nsk${UNAME_RELEASE}
- exit ;;
- *:NonStop-UX:*:*)
- echo mips-compaq-nonstopux
- exit ;;
- BS2000:POSIX*:*:*)
- echo bs2000-siemens-sysv
- exit ;;
- DS/*:UNIX_System_V:*:*)
- echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
- exit ;;
- *:Plan9:*:*)
- # "uname -m" is not consistent, so use $cputype instead. 386
- # is converted to i386 for consistency with other x86
- # operating systems.
- if test "$cputype" = "386"; then
- UNAME_MACHINE=i386
- else
- UNAME_MACHINE="$cputype"
- fi
- echo ${UNAME_MACHINE}-unknown-plan9
- exit ;;
- *:TOPS-10:*:*)
- echo pdp10-unknown-tops10
- exit ;;
- *:TENEX:*:*)
- echo pdp10-unknown-tenex
- exit ;;
- KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
- echo pdp10-dec-tops20
- exit ;;
- XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
- echo pdp10-xkl-tops20
- exit ;;
- *:TOPS-20:*:*)
- echo pdp10-unknown-tops20
- exit ;;
- *:ITS:*:*)
- echo pdp10-unknown-its
- exit ;;
- SEI:*:*:SEIUX)
- echo mips-sei-seiux${UNAME_RELEASE}
- exit ;;
- *:DragonFly:*:*)
- echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
- exit ;;
- *:*VMS:*:*)
- UNAME_MACHINE=`(uname -p) 2>/dev/null`
- case "${UNAME_MACHINE}" in
- A*) echo alpha-dec-vms ; exit ;;
- I*) echo ia64-dec-vms ; exit ;;
- V*) echo vax-dec-vms ; exit ;;
- esac ;;
- *:XENIX:*:SysV)
- echo i386-pc-xenix
- exit ;;
- i*86:skyos:*:*)
- echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
- exit ;;
- i*86:rdos:*:*)
- echo ${UNAME_MACHINE}-pc-rdos
- exit ;;
-esac
-
-#echo '(No uname command or uname output not recognized.)' 1>&2
-#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
-
-eval $set_cc_for_build
-cat >$dummy.c <<EOF
-#ifdef _SEQUENT_
-# include <sys/types.h>
-# include <sys/utsname.h>
-#endif
-main ()
-{
-#if defined (sony)
-#if defined (MIPSEB)
- /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed,
- I don't know.... */
- printf ("mips-sony-bsd\n"); exit (0);
-#else
-#include <sys/param.h>
- printf ("m68k-sony-newsos%s\n",
-#ifdef NEWSOS4
- "4"
-#else
- ""
-#endif
- ); exit (0);
-#endif
-#endif
-
-#if defined (__arm) && defined (__acorn) && defined (__unix)
- printf ("arm-acorn-riscix\n"); exit (0);
-#endif
-
-#if defined (hp300) && !defined (hpux)
- printf ("m68k-hp-bsd\n"); exit (0);
-#endif
-
-#if defined (NeXT)
-#if !defined (__ARCHITECTURE__)
-#define __ARCHITECTURE__ "m68k"
-#endif
- int version;
- version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
- if (version < 4)
- printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
- else
- printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
- exit (0);
-#endif
-
-#if defined (MULTIMAX) || defined (n16)
-#if defined (UMAXV)
- printf ("ns32k-encore-sysv\n"); exit (0);
-#else
-#if defined (CMU)
- printf ("ns32k-encore-mach\n"); exit (0);
-#else
- printf ("ns32k-encore-bsd\n"); exit (0);
-#endif
-#endif
-#endif
-
-#if defined (__386BSD__)
- printf ("i386-pc-bsd\n"); exit (0);
-#endif
-
-#if defined (sequent)
-#if defined (i386)
- printf ("i386-sequent-dynix\n"); exit (0);
-#endif
-#if defined (ns32000)
- printf ("ns32k-sequent-dynix\n"); exit (0);
-#endif
-#endif
-
-#if defined (_SEQUENT_)
- struct utsname un;
-
- uname(&un);
-
- if (strncmp(un.version, "V2", 2) == 0) {
- printf ("i386-sequent-ptx2\n"); exit (0);
- }
- if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
- printf ("i386-sequent-ptx1\n"); exit (0);
- }
- printf ("i386-sequent-ptx\n"); exit (0);
-
-#endif
-
-#if defined (vax)
-# if !defined (ultrix)
-# include <sys/param.h>
-# if defined (BSD)
-# if BSD == 43
- printf ("vax-dec-bsd4.3\n"); exit (0);
-# else
-# if BSD == 199006
- printf ("vax-dec-bsd4.3reno\n"); exit (0);
-# else
- printf ("vax-dec-bsd\n"); exit (0);
-# endif
-# endif
-# else
- printf ("vax-dec-bsd\n"); exit (0);
-# endif
-# else
- printf ("vax-dec-ultrix\n"); exit (0);
-# endif
-#endif
-
-#if defined (alliant) && defined (i860)
- printf ("i860-alliant-bsd\n"); exit (0);
-#endif
-
- exit (1);
-}
-EOF
-
-$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` &&
- { echo "$SYSTEM_NAME"; exit; }
-
-# Apollos put the system type in the environment.
-
-test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; }
-
-# Convex versions that predate uname can use getsysinfo(1)
-
-if [ -x /usr/convex/getsysinfo ]
-then
- case `getsysinfo -f cpu_type` in
- c1*)
- echo c1-convex-bsd
- exit ;;
- c2*)
- if getsysinfo -f scalar_acc
- then echo c32-convex-bsd
- else echo c2-convex-bsd
- fi
- exit ;;
- c34*)
- echo c34-convex-bsd
- exit ;;
- c38*)
- echo c38-convex-bsd
- exit ;;
- c4*)
- echo c4-convex-bsd
- exit ;;
- esac
-fi
-
-cat >&2 <<EOF
-$0: unable to guess system type
-
-This script, last modified $timestamp, has failed to recognize
-the operating system you are using. It is advised that you
-download the most up to date version of the config scripts from
-
- http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
-and
- http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
-
-If the version you run ($0) is already up to date, please
-send the following data and any information you think might be
-pertinent to <config-patches@gnu.org> in order to provide the needed
-information to handle your system.
-
-config.guess timestamp = $timestamp
-
-uname -m = `(uname -m) 2>/dev/null || echo unknown`
-uname -r = `(uname -r) 2>/dev/null || echo unknown`
-uname -s = `(uname -s) 2>/dev/null || echo unknown`
-uname -v = `(uname -v) 2>/dev/null || echo unknown`
-
-/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
-/bin/uname -X = `(/bin/uname -X) 2>/dev/null`
-
-hostinfo = `(hostinfo) 2>/dev/null`
-/bin/universe = `(/bin/universe) 2>/dev/null`
-/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null`
-/bin/arch = `(/bin/arch) 2>/dev/null`
-/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null`
-/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
-
-UNAME_MACHINE = ${UNAME_MACHINE}
-UNAME_RELEASE = ${UNAME_RELEASE}
-UNAME_SYSTEM = ${UNAME_SYSTEM}
-UNAME_VERSION = ${UNAME_VERSION}
-EOF
-
-exit 1
-
-# Local variables:
-# eval: (add-hook 'write-file-hooks 'time-stamp)
-# time-stamp-start: "timestamp='"
-# time-stamp-format: "%:y-%02m-%02d"
-# time-stamp-end: "'"
-# End:
diff --git a/config.h.in b/config.h.in
deleted file mode 100644
index 4dfde51..0000000
--- a/config.h.in
+++ /dev/null
@@ -1,104 +0,0 @@
-/* config.h.in. Generated from configure.in by autoheader. */
-
-/* whether popt prototype takes a const char ** */
-#undef CONST_POPT
-
-/* Defined if you have the version of bfd_openr_iovec with 7 parameters */
-#undef HAVE_BFD_OPENR_IOVEC_WITH_7PARMS
-
-/* Define to 1 if you have the declaration of `basename', and to 0 if you
- don't. */
-#undef HAVE_DECL_BASENAME
-
-/* Define to 1 if you have the <dlfcn.h> header file. */
-#undef HAVE_DLFCN_H
-
-/* Define to 1 if you have the <inttypes.h> header file. */
-#undef HAVE_INTTYPES_H
-
-/* Define to 1 if you have the `iberty' library (-liberty). */
-#undef HAVE_LIBIBERTY
-
-/* Define to 1 if you have the <libiberty.h> header file. */
-#undef HAVE_LIBIBERTY_H
-
-/* Define to 1 if you have the `popt' library (-lpopt). */
-#undef HAVE_LIBPOPT
-
-/* Define to 1 if you have the <memory.h> header file. */
-#undef HAVE_MEMORY_H
-
-/* Define to 1 if you have the `perfmonctl' function. */
-#undef HAVE_PERFMONCTL
-
-/* Define to 1 if you have the `sched_setaffinity' function. */
-#undef HAVE_SCHED_SETAFFINITY
-
-/* Define to 1 if you have the <stdint.h> header file. */
-#undef HAVE_STDINT_H
-
-/* Define to 1 if you have the <stdlib.h> header file. */
-#undef HAVE_STDLIB_H
-
-/* Define to 1 if you have the <strings.h> header file. */
-#undef HAVE_STRINGS_H
-
-/* Define to 1 if you have the <string.h> header file. */
-#undef HAVE_STRING_H
-
-/* Define to 1 if you have the <sys/stat.h> header file. */
-#undef HAVE_SYS_STAT_H
-
-/* Define to 1 if you have the <sys/types.h> header file. */
-#undef HAVE_SYS_TYPES_H
-
-/* Define to 1 if you have the <unistd.h> header file. */
-#undef HAVE_UNISTD_H
-
-/* Define to 1 if you have the `xcalloc' function. */
-#undef HAVE_XCALLOC
-
-/* Define to 1 if you have the `xmemdup' function. */
-#undef HAVE_XMEMDUP
-
-/* whether malloc attribute is understood */
-#undef MALLOC_ATTRIBUTE_OK
-
-/* package binary directory */
-#undef OP_BINDIR
-
-/* package data directory */
-#undef OP_DATADIR
-
-/* Name of package */
-#undef PACKAGE
-
-/* Define to the address where bug reports for this package should be sent. */
-#undef PACKAGE_BUGREPORT
-
-/* Define to the full name of this package. */
-#undef PACKAGE_NAME
-
-/* Define to the full name and version of this package. */
-#undef PACKAGE_STRING
-
-/* Define to the one symbol short name of this package. */
-#undef PACKAGE_TARNAME
-
-/* Define to the version of this package. */
-#undef PACKAGE_VERSION
-
-/* Define to 1 if you have the ANSI C header files. */
-#undef STDC_HEADERS
-
-/* Synthesize special symbols when needed */
-#undef SYNTHESIZE_SYMBOLS
-
-/* whether bfd.h defines bool values */
-#undef TRUE_FALSE_ALREADY_DEFINED
-
-/* Version number of package */
-#undef VERSION
-
-/* Define to 1 if the X Window System is missing or not being used. */
-#undef X_DISPLAY_MISSING
diff --git a/config.sub b/config.sub
deleted file mode 100755
index 6759825..0000000
--- a/config.sub
+++ /dev/null
@@ -1,1658 +0,0 @@
-#! /bin/sh
-# Configuration validation subroutine script.
-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
-# Free Software Foundation, Inc.
-
-timestamp='2008-01-16'
-
-# This file is (in principle) common to ALL GNU software.
-# The presence of a machine in this file suggests that SOME GNU software
-# can handle that machine. It does not imply ALL GNU software can.
-#
-# This file is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
-# 02110-1301, USA.
-#
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-
-# Please send patches to <config-patches@gnu.org>. Submit a context
-# diff and a properly formatted ChangeLog entry.
-#
-# Configuration subroutine to validate and canonicalize a configuration type.
-# Supply the specified configuration type as an argument.
-# If it is invalid, we print an error message on stderr and exit with code 1.
-# Otherwise, we print the canonical config type on stdout and succeed.
-
-# This file is supposed to be the same for all GNU packages
-# and recognize all the CPU types, system types and aliases
-# that are meaningful with *any* GNU software.
-# Each package is responsible for reporting which valid configurations
-# it does not support. The user should be able to distinguish
-# a failure to support a valid configuration from a meaningless
-# configuration.
-
-# The goal of this file is to map all the various variations of a given
-# machine specification into a single specification in the form:
-# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
-# or in some cases, the newer four-part form:
-# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
-# It is wrong to echo any other type of specification.
-
-me=`echo "$0" | sed -e 's,.*/,,'`
-
-usage="\
-Usage: $0 [OPTION] CPU-MFR-OPSYS
- $0 [OPTION] ALIAS
-
-Canonicalize a configuration name.
-
-Operation modes:
- -h, --help print this help, then exit
- -t, --time-stamp print date of last modification, then exit
- -v, --version print version number, then exit
-
-Report bugs and patches to <config-patches@gnu.org>."
-
-version="\
-GNU config.sub ($timestamp)
-
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
-2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
-
-This is free software; see the source for copying conditions. There is NO
-warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
-
-help="
-Try \`$me --help' for more information."
-
-# Parse command line
-while test $# -gt 0 ; do
- case $1 in
- --time-stamp | --time* | -t )
- echo "$timestamp" ; exit ;;
- --version | -v )
- echo "$version" ; exit ;;
- --help | --h* | -h )
- echo "$usage"; exit ;;
- -- ) # Stop option processing
- shift; break ;;
- - ) # Use stdin as input.
- break ;;
- -* )
- echo "$me: invalid option $1$help"
- exit 1 ;;
-
- *local*)
- # First pass through any local machine types.
- echo $1
- exit ;;
-
- * )
- break ;;
- esac
-done
-
-case $# in
- 0) echo "$me: missing argument$help" >&2
- exit 1;;
- 1) ;;
- *) echo "$me: too many arguments$help" >&2
- exit 1;;
-esac
-
-# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
-# Here we must recognize all the valid KERNEL-OS combinations.
-maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
-case $maybe_os in
- nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \
- uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \
- storm-chaos* | os2-emx* | rtmk-nova*)
- os=-$maybe_os
- basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
- ;;
- *)
- basic_machine=`echo $1 | sed 's/-[^-]*$//'`
- if [ $basic_machine != $1 ]
- then os=`echo $1 | sed 's/.*-/-/'`
- else os=; fi
- ;;
-esac
-
-### Let's recognize common machines as not being operating systems so
-### that things like config.sub decstation-3100 work. We also
-### recognize some manufacturers as not being operating systems, so we
-### can provide default operating systems below.
-case $os in
- -sun*os*)
- # Prevent following clause from handling this invalid input.
- ;;
- -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
- -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
- -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
- -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
- -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
- -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
- -apple | -axis | -knuth | -cray)
- os=
- basic_machine=$1
- ;;
- -sim | -cisco | -oki | -wec | -winbond)
- os=
- basic_machine=$1
- ;;
- -scout)
- ;;
- -wrs)
- os=-vxworks
- basic_machine=$1
- ;;
- -chorusos*)
- os=-chorusos
- basic_machine=$1
- ;;
- -chorusrdb)
- os=-chorusrdb
- basic_machine=$1
- ;;
- -hiux*)
- os=-hiuxwe2
- ;;
- -sco6)
- os=-sco5v6
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
- ;;
- -sco5)
- os=-sco3.2v5
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
- ;;
- -sco4)
- os=-sco3.2v4
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
- ;;
- -sco3.2.[4-9]*)
- os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
- ;;
- -sco3.2v[4-9]*)
- # Don't forget version if it is 3.2v4 or newer.
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
- ;;
- -sco5v6*)
- # Don't forget version if it is 3.2v4 or newer.
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
- ;;
- -sco*)
- os=-sco3.2v2
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
- ;;
- -udk*)
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
- ;;
- -isc)
- os=-isc2.2
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
- ;;
- -clix*)
- basic_machine=clipper-intergraph
- ;;
- -isc*)
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
- ;;
- -lynx*)
- os=-lynxos
- ;;
- -ptx*)
- basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
- ;;
- -windowsnt*)
- os=`echo $os | sed -e 's/windowsnt/winnt/'`
- ;;
- -psos*)
- os=-psos
- ;;
- -mint | -mint[0-9]*)
- basic_machine=m68k-atari
- os=-mint
- ;;
-esac
-
-# Decode aliases for certain CPU-COMPANY combinations.
-case $basic_machine in
- # Recognize the basic CPU types without company name.
- # Some are omitted here because they have special meanings below.
- 1750a | 580 \
- | a29k \
- | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
- | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
- | am33_2.0 \
- | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
- | bfin \
- | c4x | clipper \
- | d10v | d30v | dlx | dsp16xx \
- | fido | fr30 | frv \
- | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
- | i370 | i860 | i960 | ia64 \
- | ip2k | iq2000 \
- | m32c | m32r | m32rle | m68000 | m68k | m88k \
- | maxq | mb | microblaze | mcore | mep \
- | mips | mipsbe | mipseb | mipsel | mipsle \
- | mips16 \
- | mips64 | mips64el \
- | mips64vr | mips64vrel \
- | mips64orion | mips64orionel \
- | mips64vr4100 | mips64vr4100el \
- | mips64vr4300 | mips64vr4300el \
- | mips64vr5000 | mips64vr5000el \
- | mips64vr5900 | mips64vr5900el \
- | mipsisa32 | mipsisa32el \
- | mipsisa32r2 | mipsisa32r2el \
- | mipsisa64 | mipsisa64el \
- | mipsisa64r2 | mipsisa64r2el \
- | mipsisa64sb1 | mipsisa64sb1el \
- | mipsisa64sr71k | mipsisa64sr71kel \
- | mipstx39 | mipstx39el \
- | mn10200 | mn10300 \
- | mt \
- | msp430 \
- | nios | nios2 \
- | ns16k | ns32k \
- | or32 \
- | pdp10 | pdp11 | pj | pjl \
- | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
- | pyramid \
- | score \
- | sh | sh[1234] | sh[24]a | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
- | sh64 | sh64le \
- | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
- | sparcv8 | sparcv9 | sparcv9b | sparcv9v \
- | spu | strongarm \
- | tahoe | thumb | tic4x | tic80 | tron \
- | v850 | v850e \
- | we32k \
- | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \
- | z8k)
- basic_machine=$basic_machine-unknown
- ;;
- m6811 | m68hc11 | m6812 | m68hc12)
- # Motorola 68HC11/12.
- basic_machine=$basic_machine-unknown
- os=-none
- ;;
- m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
- ;;
- ms1)
- basic_machine=mt-unknown
- ;;
-
- # We use `pc' rather than `unknown'
- # because (1) that's what they normally are, and
- # (2) the word "unknown" tends to confuse beginning users.
- i*86 | x86_64)
- basic_machine=$basic_machine-pc
- ;;
- # Object if more than one company name word.
- *-*-*)
- echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
- exit 1
- ;;
- # Recognize the basic CPU types with company name.
- 580-* \
- | a29k-* \
- | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
- | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
- | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
- | arm-* | armbe-* | armle-* | armeb-* | armv*-* \
- | avr-* | avr32-* \
- | bfin-* | bs2000-* \
- | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \
- | clipper-* | craynv-* | cydra-* \
- | d10v-* | d30v-* | dlx-* \
- | elxsi-* \
- | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
- | h8300-* | h8500-* \
- | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
- | i*86-* | i860-* | i960-* | ia64-* \
- | ip2k-* | iq2000-* \
- | m32c-* | m32r-* | m32rle-* \
- | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
- | m88110-* | m88k-* | maxq-* | mcore-* \
- | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
- | mips16-* \
- | mips64-* | mips64el-* \
- | mips64vr-* | mips64vrel-* \
- | mips64orion-* | mips64orionel-* \
- | mips64vr4100-* | mips64vr4100el-* \
- | mips64vr4300-* | mips64vr4300el-* \
- | mips64vr5000-* | mips64vr5000el-* \
- | mips64vr5900-* | mips64vr5900el-* \
- | mipsisa32-* | mipsisa32el-* \
- | mipsisa32r2-* | mipsisa32r2el-* \
- | mipsisa64-* | mipsisa64el-* \
- | mipsisa64r2-* | mipsisa64r2el-* \
- | mipsisa64sb1-* | mipsisa64sb1el-* \
- | mipsisa64sr71k-* | mipsisa64sr71kel-* \
- | mipstx39-* | mipstx39el-* \
- | mmix-* \
- | mt-* \
- | msp430-* \
- | nios-* | nios2-* \
- | none-* | np1-* | ns16k-* | ns32k-* \
- | orion-* \
- | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
- | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
- | pyramid-* \
- | romp-* | rs6000-* \
- | sh-* | sh[1234]-* | sh[24]a-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
- | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
- | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
- | sparclite-* \
- | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \
- | tahoe-* | thumb-* \
- | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
- | tron-* \
- | v850-* | v850e-* | vax-* \
- | we32k-* \
- | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
- | xstormy16-* | xtensa*-* \
- | ymp-* \
- | z8k-*)
- ;;
- # Recognize the basic CPU types without company name, with glob match.
- xtensa*)
- basic_machine=$basic_machine-unknown
- ;;
- # Recognize the various machine names and aliases which stand
- # for a CPU type and a company and sometimes even an OS.
- 386bsd)
- basic_machine=i386-unknown
- os=-bsd
- ;;
- 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
- basic_machine=m68000-att
- ;;
- 3b*)
- basic_machine=we32k-att
- ;;
- a29khif)
- basic_machine=a29k-amd
- os=-udi
- ;;
- abacus)
- basic_machine=abacus-unknown
- ;;
- adobe68k)
- basic_machine=m68010-adobe
- os=-scout
- ;;
- alliant | fx80)
- basic_machine=fx80-alliant
- ;;
- altos | altos3068)
- basic_machine=m68k-altos
- ;;
- am29k)
- basic_machine=a29k-none
- os=-bsd
- ;;
- amd64)
- basic_machine=x86_64-pc
- ;;
- amd64-*)
- basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
- amdahl)
- basic_machine=580-amdahl
- os=-sysv
- ;;
- amiga | amiga-*)
- basic_machine=m68k-unknown
- ;;
- amigaos | amigados)
- basic_machine=m68k-unknown
- os=-amigaos
- ;;
- amigaunix | amix)
- basic_machine=m68k-unknown
- os=-sysv4
- ;;
- apollo68)
- basic_machine=m68k-apollo
- os=-sysv
- ;;
- apollo68bsd)
- basic_machine=m68k-apollo
- os=-bsd
- ;;
- aux)
- basic_machine=m68k-apple
- os=-aux
- ;;
- balance)
- basic_machine=ns32k-sequent
- os=-dynix
- ;;
- blackfin)
- basic_machine=bfin-unknown
- os=-linux
- ;;
- blackfin-*)
- basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
- os=-linux
- ;;
- c90)
- basic_machine=c90-cray
- os=-unicos
- ;;
- convex-c1)
- basic_machine=c1-convex
- os=-bsd
- ;;
- convex-c2)
- basic_machine=c2-convex
- os=-bsd
- ;;
- convex-c32)
- basic_machine=c32-convex
- os=-bsd
- ;;
- convex-c34)
- basic_machine=c34-convex
- os=-bsd
- ;;
- convex-c38)
- basic_machine=c38-convex
- os=-bsd
- ;;
- cray | j90)
- basic_machine=j90-cray
- os=-unicos
- ;;
- craynv)
- basic_machine=craynv-cray
- os=-unicosmp
- ;;
- cr16)
- basic_machine=cr16-unknown
- os=-elf
- ;;
- crds | unos)
- basic_machine=m68k-crds
- ;;
- crisv32 | crisv32-* | etraxfs*)
- basic_machine=crisv32-axis
- ;;
- cris | cris-* | etrax*)
- basic_machine=cris-axis
- ;;
- crx)
- basic_machine=crx-unknown
- os=-elf
- ;;
- da30 | da30-*)
- basic_machine=m68k-da30
- ;;
- decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
- basic_machine=mips-dec
- ;;
- decsystem10* | dec10*)
- basic_machine=pdp10-dec
- os=-tops10
- ;;
- decsystem20* | dec20*)
- basic_machine=pdp10-dec
- os=-tops20
- ;;
- delta | 3300 | motorola-3300 | motorola-delta \
- | 3300-motorola | delta-motorola)
- basic_machine=m68k-motorola
- ;;
- delta88)
- basic_machine=m88k-motorola
- os=-sysv3
- ;;
- djgpp)
- basic_machine=i586-pc
- os=-msdosdjgpp
- ;;
- dpx20 | dpx20-*)
- basic_machine=rs6000-bull
- os=-bosx
- ;;
- dpx2* | dpx2*-bull)
- basic_machine=m68k-bull
- os=-sysv3
- ;;
- ebmon29k)
- basic_machine=a29k-amd
- os=-ebmon
- ;;
- elxsi)
- basic_machine=elxsi-elxsi
- os=-bsd
- ;;
- encore | umax | mmax)
- basic_machine=ns32k-encore
- ;;
- es1800 | OSE68k | ose68k | ose | OSE)
- basic_machine=m68k-ericsson
- os=-ose
- ;;
- fx2800)
- basic_machine=i860-alliant
- ;;
- genix)
- basic_machine=ns32k-ns
- ;;
- gmicro)
- basic_machine=tron-gmicro
- os=-sysv
- ;;
- go32)
- basic_machine=i386-pc
- os=-go32
- ;;
- h3050r* | hiux*)
- basic_machine=hppa1.1-hitachi
- os=-hiuxwe2
- ;;
- h8300hms)
- basic_machine=h8300-hitachi
- os=-hms
- ;;
- h8300xray)
- basic_machine=h8300-hitachi
- os=-xray
- ;;
- h8500hms)
- basic_machine=h8500-hitachi
- os=-hms
- ;;
- harris)
- basic_machine=m88k-harris
- os=-sysv3
- ;;
- hp300-*)
- basic_machine=m68k-hp
- ;;
- hp300bsd)
- basic_machine=m68k-hp
- os=-bsd
- ;;
- hp300hpux)
- basic_machine=m68k-hp
- os=-hpux
- ;;
- hp3k9[0-9][0-9] | hp9[0-9][0-9])
- basic_machine=hppa1.0-hp
- ;;
- hp9k2[0-9][0-9] | hp9k31[0-9])
- basic_machine=m68000-hp
- ;;
- hp9k3[2-9][0-9])
- basic_machine=m68k-hp
- ;;
- hp9k6[0-9][0-9] | hp6[0-9][0-9])
- basic_machine=hppa1.0-hp
- ;;
- hp9k7[0-79][0-9] | hp7[0-79][0-9])
- basic_machine=hppa1.1-hp
- ;;
- hp9k78[0-9] | hp78[0-9])
- # FIXME: really hppa2.0-hp
- basic_machine=hppa1.1-hp
- ;;
- hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
- # FIXME: really hppa2.0-hp
- basic_machine=hppa1.1-hp
- ;;
- hp9k8[0-9][13679] | hp8[0-9][13679])
- basic_machine=hppa1.1-hp
- ;;
- hp9k8[0-9][0-9] | hp8[0-9][0-9])
- basic_machine=hppa1.0-hp
- ;;
- hppa-next)
- os=-nextstep3
- ;;
- hppaosf)
- basic_machine=hppa1.1-hp
- os=-osf
- ;;
- hppro)
- basic_machine=hppa1.1-hp
- os=-proelf
- ;;
- i370-ibm* | ibm*)
- basic_machine=i370-ibm
- ;;
-# I'm not sure what "Sysv32" means. Should this be sysv3.2?
- i*86v32)
- basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
- os=-sysv32
- ;;
- i*86v4*)
- basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
- os=-sysv4
- ;;
- i*86v)
- basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
- os=-sysv
- ;;
- i*86sol2)
- basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
- os=-solaris2
- ;;
- i386mach)
- basic_machine=i386-mach
- os=-mach
- ;;
- i386-vsta | vsta)
- basic_machine=i386-unknown
- os=-vsta
- ;;
- iris | iris4d)
- basic_machine=mips-sgi
- case $os in
- -irix*)
- ;;
- *)
- os=-irix4
- ;;
- esac
- ;;
- isi68 | isi)
- basic_machine=m68k-isi
- os=-sysv
- ;;
- m68knommu)
- basic_machine=m68k-unknown
- os=-linux
- ;;
- m68knommu-*)
- basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
- os=-linux
- ;;
- m88k-omron*)
- basic_machine=m88k-omron
- ;;
- magnum | m3230)
- basic_machine=mips-mips
- os=-sysv
- ;;
- merlin)
- basic_machine=ns32k-utek
- os=-sysv
- ;;
- mingw32)
- basic_machine=i386-pc
- os=-mingw32
- ;;
- mingw32ce)
- basic_machine=arm-unknown
- os=-mingw32ce
- ;;
- miniframe)
- basic_machine=m68000-convergent
- ;;
- *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
- basic_machine=m68k-atari
- os=-mint
- ;;
- mips3*-*)
- basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
- ;;
- mips3*)
- basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
- ;;
- monitor)
- basic_machine=m68k-rom68k
- os=-coff
- ;;
- morphos)
- basic_machine=powerpc-unknown
- os=-morphos
- ;;
- msdos)
- basic_machine=i386-pc
- os=-msdos
- ;;
- ms1-*)
- basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
- ;;
- mvs)
- basic_machine=i370-ibm
- os=-mvs
- ;;
- ncr3000)
- basic_machine=i486-ncr
- os=-sysv4
- ;;
- netbsd386)
- basic_machine=i386-unknown
- os=-netbsd
- ;;
- netwinder)
- basic_machine=armv4l-rebel
- os=-linux
- ;;
- news | news700 | news800 | news900)
- basic_machine=m68k-sony
- os=-newsos
- ;;
- news1000)
- basic_machine=m68030-sony
- os=-newsos
- ;;
- news-3600 | risc-news)
- basic_machine=mips-sony
- os=-newsos
- ;;
- necv70)
- basic_machine=v70-nec
- os=-sysv
- ;;
- next | m*-next )
- basic_machine=m68k-next
- case $os in
- -nextstep* )
- ;;
- -ns2*)
- os=-nextstep2
- ;;
- *)
- os=-nextstep3
- ;;
- esac
- ;;
- nh3000)
- basic_machine=m68k-harris
- os=-cxux
- ;;
- nh[45]000)
- basic_machine=m88k-harris
- os=-cxux
- ;;
- nindy960)
- basic_machine=i960-intel
- os=-nindy
- ;;
- mon960)
- basic_machine=i960-intel
- os=-mon960
- ;;
- nonstopux)
- basic_machine=mips-compaq
- os=-nonstopux
- ;;
- np1)
- basic_machine=np1-gould
- ;;
- nsr-tandem)
- basic_machine=nsr-tandem
- ;;
- op50n-* | op60c-*)
- basic_machine=hppa1.1-oki
- os=-proelf
- ;;
- openrisc | openrisc-*)
- basic_machine=or32-unknown
- ;;
- os400)
- basic_machine=powerpc-ibm
- os=-os400
- ;;
- OSE68000 | ose68000)
- basic_machine=m68000-ericsson
- os=-ose
- ;;
- os68k)
- basic_machine=m68k-none
- os=-os68k
- ;;
- pa-hitachi)
- basic_machine=hppa1.1-hitachi
- os=-hiuxwe2
- ;;
- paragon)
- basic_machine=i860-intel
- os=-osf
- ;;
- parisc)
- basic_machine=hppa-unknown
- os=-linux
- ;;
- parisc-*)
- basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
- os=-linux
- ;;
- pbd)
- basic_machine=sparc-tti
- ;;
- pbb)
- basic_machine=m68k-tti
- ;;
- pc532 | pc532-*)
- basic_machine=ns32k-pc532
- ;;
- pc98)
- basic_machine=i386-pc
- ;;
- pc98-*)
- basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
- pentium | p5 | k5 | k6 | nexgen | viac3)
- basic_machine=i586-pc
- ;;
- pentiumpro | p6 | 6x86 | athlon | athlon_*)
- basic_machine=i686-pc
- ;;
- pentiumii | pentium2 | pentiumiii | pentium3)
- basic_machine=i686-pc
- ;;
- pentium4)
- basic_machine=i786-pc
- ;;
- pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
- basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
- pentiumpro-* | p6-* | 6x86-* | athlon-*)
- basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
- pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
- basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
- pentium4-*)
- basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
- pn)
- basic_machine=pn-gould
- ;;
- power) basic_machine=power-ibm
- ;;
- ppc) basic_machine=powerpc-unknown
- ;;
- ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
- ppcle | powerpclittle | ppc-le | powerpc-little)
- basic_machine=powerpcle-unknown
- ;;
- ppcle-* | powerpclittle-*)
- basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
- ppc64) basic_machine=powerpc64-unknown
- ;;
- ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
- ppc64le | powerpc64little | ppc64-le | powerpc64-little)
- basic_machine=powerpc64le-unknown
- ;;
- ppc64le-* | powerpc64little-*)
- basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
- ps2)
- basic_machine=i386-ibm
- ;;
- pw32)
- basic_machine=i586-unknown
- os=-pw32
- ;;
- rdos)
- basic_machine=i386-pc
- os=-rdos
- ;;
- rom68k)
- basic_machine=m68k-rom68k
- os=-coff
- ;;
- rm[46]00)
- basic_machine=mips-siemens
- ;;
- rtpc | rtpc-*)
- basic_machine=romp-ibm
- ;;
- s390 | s390-*)
- basic_machine=s390-ibm
- ;;
- s390x | s390x-*)
- basic_machine=s390x-ibm
- ;;
- sa29200)
- basic_machine=a29k-amd
- os=-udi
- ;;
- sb1)
- basic_machine=mipsisa64sb1-unknown
- ;;
- sb1el)
- basic_machine=mipsisa64sb1el-unknown
- ;;
- sde)
- basic_machine=mipsisa32-sde
- os=-elf
- ;;
- sei)
- basic_machine=mips-sei
- os=-seiux
- ;;
- sequent)
- basic_machine=i386-sequent
- ;;
- sh)
- basic_machine=sh-hitachi
- os=-hms
- ;;
- sh5el)
- basic_machine=sh5le-unknown
- ;;
- sh64)
- basic_machine=sh64-unknown
- ;;
- sparclite-wrs | simso-wrs)
- basic_machine=sparclite-wrs
- os=-vxworks
- ;;
- sps7)
- basic_machine=m68k-bull
- os=-sysv2
- ;;
- spur)
- basic_machine=spur-unknown
- ;;
- st2000)
- basic_machine=m68k-tandem
- ;;
- stratus)
- basic_machine=i860-stratus
- os=-sysv4
- ;;
- sun2)
- basic_machine=m68000-sun
- ;;
- sun2os3)
- basic_machine=m68000-sun
- os=-sunos3
- ;;
- sun2os4)
- basic_machine=m68000-sun
- os=-sunos4
- ;;
- sun3os3)
- basic_machine=m68k-sun
- os=-sunos3
- ;;
- sun3os4)
- basic_machine=m68k-sun
- os=-sunos4
- ;;
- sun4os3)
- basic_machine=sparc-sun
- os=-sunos3
- ;;
- sun4os4)
- basic_machine=sparc-sun
- os=-sunos4
- ;;
- sun4sol2)
- basic_machine=sparc-sun
- os=-solaris2
- ;;
- sun3 | sun3-*)
- basic_machine=m68k-sun
- ;;
- sun4)
- basic_machine=sparc-sun
- ;;
- sun386 | sun386i | roadrunner)
- basic_machine=i386-sun
- ;;
- sv1)
- basic_machine=sv1-cray
- os=-unicos
- ;;
- symmetry)
- basic_machine=i386-sequent
- os=-dynix
- ;;
- t3e)
- basic_machine=alphaev5-cray
- os=-unicos
- ;;
- t90)
- basic_machine=t90-cray
- os=-unicos
- ;;
- tic54x | c54x*)
- basic_machine=tic54x-unknown
- os=-coff
- ;;
- tic55x | c55x*)
- basic_machine=tic55x-unknown
- os=-coff
- ;;
- tic6x | c6x*)
- basic_machine=tic6x-unknown
- os=-coff
- ;;
- tile*)
- basic_machine=tile-unknown
- os=-linux-gnu
- ;;
- tx39)
- basic_machine=mipstx39-unknown
- ;;
- tx39el)
- basic_machine=mipstx39el-unknown
- ;;
- toad1)
- basic_machine=pdp10-xkl
- os=-tops20
- ;;
- tower | tower-32)
- basic_machine=m68k-ncr
- ;;
- tpf)
- basic_machine=s390x-ibm
- os=-tpf
- ;;
- udi29k)
- basic_machine=a29k-amd
- os=-udi
- ;;
- ultra3)
- basic_machine=a29k-nyu
- os=-sym1
- ;;
- v810 | necv810)
- basic_machine=v810-nec
- os=-none
- ;;
- vaxv)
- basic_machine=vax-dec
- os=-sysv
- ;;
- vms)
- basic_machine=vax-dec
- os=-vms
- ;;
- vpp*|vx|vx-*)
- basic_machine=f301-fujitsu
- ;;
- vxworks960)
- basic_machine=i960-wrs
- os=-vxworks
- ;;
- vxworks68)
- basic_machine=m68k-wrs
- os=-vxworks
- ;;
- vxworks29k)
- basic_machine=a29k-wrs
- os=-vxworks
- ;;
- w65*)
- basic_machine=w65-wdc
- os=-none
- ;;
- w89k-*)
- basic_machine=hppa1.1-winbond
- os=-proelf
- ;;
- xbox)
- basic_machine=i686-pc
- os=-mingw32
- ;;
- xps | xps100)
- basic_machine=xps100-honeywell
- ;;
- ymp)
- basic_machine=ymp-cray
- os=-unicos
- ;;
- z8k-*-coff)
- basic_machine=z8k-unknown
- os=-sim
- ;;
- none)
- basic_machine=none-none
- os=-none
- ;;
-
-# Here we handle the default manufacturer of certain CPU types. It is in
-# some cases the only manufacturer, in others, it is the most popular.
- w89k)
- basic_machine=hppa1.1-winbond
- ;;
- op50n)
- basic_machine=hppa1.1-oki
- ;;
- op60c)
- basic_machine=hppa1.1-oki
- ;;
- romp)
- basic_machine=romp-ibm
- ;;
- mmix)
- basic_machine=mmix-knuth
- ;;
- rs6000)
- basic_machine=rs6000-ibm
- ;;
- vax)
- basic_machine=vax-dec
- ;;
- pdp10)
- # there are many clones, so DEC is not a safe bet
- basic_machine=pdp10-unknown
- ;;
- pdp11)
- basic_machine=pdp11-dec
- ;;
- we32k)
- basic_machine=we32k-att
- ;;
- sh[1234] | sh[24]a | sh[34]eb | sh[1234]le | sh[23]ele)
- basic_machine=sh-unknown
- ;;
- sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
- basic_machine=sparc-sun
- ;;
- cydra)
- basic_machine=cydra-cydrome
- ;;
- orion)
- basic_machine=orion-highlevel
- ;;
- orion105)
- basic_machine=clipper-highlevel
- ;;
- mac | mpw | mac-mpw)
- basic_machine=m68k-apple
- ;;
- pmac | pmac-mpw)
- basic_machine=powerpc-apple
- ;;
- *-unknown)
- # Make sure to match an already-canonicalized machine name.
- ;;
- *)
- echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
- exit 1
- ;;
-esac
-
-# Here we canonicalize certain aliases for manufacturers.
-case $basic_machine in
- *-digital*)
- basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
- ;;
- *-commodore*)
- basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
- ;;
- *)
- ;;
-esac
-
-# Decode manufacturer-specific aliases for certain operating systems.
-
-if [ x"$os" != x"" ]
-then
-case $os in
- # First match some system type aliases
- # that might get confused with valid system types.
- # -solaris* is a basic system type, with this one exception.
- -solaris1 | -solaris1.*)
- os=`echo $os | sed -e 's|solaris1|sunos4|'`
- ;;
- -solaris)
- os=-solaris2
- ;;
- -svr4*)
- os=-sysv4
- ;;
- -unixware*)
- os=-sysv4.2uw
- ;;
- -gnu/linux*)
- os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
- ;;
- # First accept the basic system types.
- # The portable systems comes first.
- # Each alternative MUST END IN A *, to match a version number.
- # -sysv* is not here because it comes later, after sysvr4.
- -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
- | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\
- | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \
- | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
- | -aos* \
- | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
- | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
- | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
- | -openbsd* | -solidbsd* \
- | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
- | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
- | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
- | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
- | -chorusos* | -chorusrdb* \
- | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
- | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \
- | -uxpv* | -beos* | -mpeix* | -udk* \
- | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
- | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
- | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
- | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
- | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
- | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
- | -skyos* | -haiku* | -rdos* | -toppers* | -drops*)
- # Remember, each alternative MUST END IN *, to match a version number.
- ;;
- -qnx*)
- case $basic_machine in
- x86-* | i*86-*)
- ;;
- *)
- os=-nto$os
- ;;
- esac
- ;;
- -nto-qnx*)
- ;;
- -nto*)
- os=`echo $os | sed -e 's|nto|nto-qnx|'`
- ;;
- -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
- | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
- | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
- ;;
- -mac*)
- os=`echo $os | sed -e 's|mac|macos|'`
- ;;
- -linux-dietlibc)
- os=-linux-dietlibc
- ;;
- -linux*)
- os=`echo $os | sed -e 's|linux|linux-gnu|'`
- ;;
- -sunos5*)
- os=`echo $os | sed -e 's|sunos5|solaris2|'`
- ;;
- -sunos6*)
- os=`echo $os | sed -e 's|sunos6|solaris3|'`
- ;;
- -opened*)
- os=-openedition
- ;;
- -os400*)
- os=-os400
- ;;
- -wince*)
- os=-wince
- ;;
- -osfrose*)
- os=-osfrose
- ;;
- -osf*)
- os=-osf
- ;;
- -utek*)
- os=-bsd
- ;;
- -dynix*)
- os=-bsd
- ;;
- -acis*)
- os=-aos
- ;;
- -atheos*)
- os=-atheos
- ;;
- -syllable*)
- os=-syllable
- ;;
- -386bsd)
- os=-bsd
- ;;
- -ctix* | -uts*)
- os=-sysv
- ;;
- -nova*)
- os=-rtmk-nova
- ;;
- -ns2 )
- os=-nextstep2
- ;;
- -nsk*)
- os=-nsk
- ;;
- # Preserve the version number of sinix5.
- -sinix5.*)
- os=`echo $os | sed -e 's|sinix|sysv|'`
- ;;
- -sinix*)
- os=-sysv4
- ;;
- -tpf*)
- os=-tpf
- ;;
- -triton*)
- os=-sysv3
- ;;
- -oss*)
- os=-sysv3
- ;;
- -svr4)
- os=-sysv4
- ;;
- -svr3)
- os=-sysv3
- ;;
- -sysvr4)
- os=-sysv4
- ;;
- # This must come after -sysvr4.
- -sysv*)
- ;;
- -ose*)
- os=-ose
- ;;
- -es1800*)
- os=-ose
- ;;
- -xenix)
- os=-xenix
- ;;
- -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
- os=-mint
- ;;
- -aros*)
- os=-aros
- ;;
- -kaos*)
- os=-kaos
- ;;
- -zvmoe)
- os=-zvmoe
- ;;
- -none)
- ;;
- *)
- # Get rid of the `-' at the beginning of $os.
- os=`echo $os | sed 's/[^-]*-//'`
- echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
- exit 1
- ;;
-esac
-else
-
-# Here we handle the default operating systems that come with various machines.
-# The value should be what the vendor currently ships out the door with their
-# machine or put another way, the most popular os provided with the machine.
-
-# Note that if you're going to try to match "-MANUFACTURER" here (say,
-# "-sun"), then you have to tell the case statement up towards the top
-# that MANUFACTURER isn't an operating system. Otherwise, code above
-# will signal an error saying that MANUFACTURER isn't an operating
-# system, and we'll never get to this point.
-
-case $basic_machine in
- score-*)
- os=-elf
- ;;
- spu-*)
- os=-elf
- ;;
- *-acorn)
- os=-riscix1.2
- ;;
- arm*-rebel)
- os=-linux
- ;;
- arm*-semi)
- os=-aout
- ;;
- c4x-* | tic4x-*)
- os=-coff
- ;;
- # This must come before the *-dec entry.
- pdp10-*)
- os=-tops20
- ;;
- pdp11-*)
- os=-none
- ;;
- *-dec | vax-*)
- os=-ultrix4.2
- ;;
- m68*-apollo)
- os=-domain
- ;;
- i386-sun)
- os=-sunos4.0.2
- ;;
- m68000-sun)
- os=-sunos3
- # This also exists in the configure program, but was not the
- # default.
- # os=-sunos4
- ;;
- m68*-cisco)
- os=-aout
- ;;
- mep-*)
- os=-elf
- ;;
- mips*-cisco)
- os=-elf
- ;;
- mips*-*)
- os=-elf
- ;;
- or32-*)
- os=-coff
- ;;
- *-tti) # must be before sparc entry or we get the wrong os.
- os=-sysv3
- ;;
- sparc-* | *-sun)
- os=-sunos4.1.1
- ;;
- *-be)
- os=-beos
- ;;
- *-haiku)
- os=-haiku
- ;;
- *-ibm)
- os=-aix
- ;;
- *-knuth)
- os=-mmixware
- ;;
- *-wec)
- os=-proelf
- ;;
- *-winbond)
- os=-proelf
- ;;
- *-oki)
- os=-proelf
- ;;
- *-hp)
- os=-hpux
- ;;
- *-hitachi)
- os=-hiux
- ;;
- i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
- os=-sysv
- ;;
- *-cbm)
- os=-amigaos
- ;;
- *-dg)
- os=-dgux
- ;;
- *-dolphin)
- os=-sysv3
- ;;
- m68k-ccur)
- os=-rtu
- ;;
- m88k-omron*)
- os=-luna
- ;;
- *-next )
- os=-nextstep
- ;;
- *-sequent)
- os=-ptx
- ;;
- *-crds)
- os=-unos
- ;;
- *-ns)
- os=-genix
- ;;
- i370-*)
- os=-mvs
- ;;
- *-next)
- os=-nextstep3
- ;;
- *-gould)
- os=-sysv
- ;;
- *-highlevel)
- os=-bsd
- ;;
- *-encore)
- os=-bsd
- ;;
- *-sgi)
- os=-irix
- ;;
- *-siemens)
- os=-sysv4
- ;;
- *-masscomp)
- os=-rtu
- ;;
- f30[01]-fujitsu | f700-fujitsu)
- os=-uxpv
- ;;
- *-rom68k)
- os=-coff
- ;;
- *-*bug)
- os=-coff
- ;;
- *-apple)
- os=-macos
- ;;
- *-atari*)
- os=-mint
- ;;
- *)
- os=-none
- ;;
-esac
-fi
-
-# Here we handle the case where we know the os, and the CPU type, but not the
-# manufacturer. We pick the logical manufacturer.
-vendor=unknown
-case $basic_machine in
- *-unknown)
- case $os in
- -riscix*)
- vendor=acorn
- ;;
- -sunos*)
- vendor=sun
- ;;
- -aix*)
- vendor=ibm
- ;;
- -beos*)
- vendor=be
- ;;
- -hpux*)
- vendor=hp
- ;;
- -mpeix*)
- vendor=hp
- ;;
- -hiux*)
- vendor=hitachi
- ;;
- -unos*)
- vendor=crds
- ;;
- -dgux*)
- vendor=dg
- ;;
- -luna*)
- vendor=omron
- ;;
- -genix*)
- vendor=ns
- ;;
- -mvs* | -opened*)
- vendor=ibm
- ;;
- -os400*)
- vendor=ibm
- ;;
- -ptx*)
- vendor=sequent
- ;;
- -tpf*)
- vendor=ibm
- ;;
- -vxsim* | -vxworks* | -windiss*)
- vendor=wrs
- ;;
- -aux*)
- vendor=apple
- ;;
- -hms*)
- vendor=hitachi
- ;;
- -mpw* | -macos*)
- vendor=apple
- ;;
- -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
- vendor=atari
- ;;
- -vos*)
- vendor=stratus
- ;;
- esac
- basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
- ;;
-esac
-
-echo $basic_machine$os
-exit
-
-# Local variables:
-# eval: (add-hook 'write-file-hooks 'time-stamp)
-# time-stamp-start: "timestamp='"
-# time-stamp-format: "%:y-%02m-%02d"
-# time-stamp-end: "'"
-# End:
diff --git a/configure b/configure
deleted file mode 100755
index 82c8309..0000000
--- a/configure
+++ /dev/null
@@ -1,27289 +0,0 @@
-#! /bin/sh
-# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.59.
-#
-# Copyright (C) 2003 Free Software Foundation, Inc.
-# This configure script is free software; the Free Software Foundation
-# gives unlimited permission to copy, distribute and modify it.
-## --------------------- ##
-## M4sh Initialization. ##
-## --------------------- ##
-
-# Be Bourne compatible
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
- emulate sh
- NULLCMD=:
- # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
- # is contrary to our usage. Disable this feature.
- alias -g '${1+"$@"}'='"$@"'
-elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
- set -o posix
-fi
-DUALCASE=1; export DUALCASE # for MKS sh
-
-# Support unset when possible.
-if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
- as_unset=unset
-else
- as_unset=false
-fi
-
-
-# Work around bugs in pre-3.0 UWIN ksh.
-$as_unset ENV MAIL MAILPATH
-PS1='$ '
-PS2='> '
-PS4='+ '
-
-# NLS nuisances.
-for as_var in \
- LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
- LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
- LC_TELEPHONE LC_TIME
-do
- if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
- eval $as_var=C; export $as_var
- else
- $as_unset $as_var
- fi
-done
-
-# Required to use basename.
-if expr a : '\(a\)' >/dev/null 2>&1; then
- as_expr=expr
-else
- as_expr=false
-fi
-
-if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then
- as_basename=basename
-else
- as_basename=false
-fi
-
-
-# Name of the executable.
-as_me=`$as_basename "$0" ||
-$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
- X"$0" : 'X\(//\)$' \| \
- X"$0" : 'X\(/\)$' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X/"$0" |
- sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; }
- /^X\/\(\/\/\)$/{ s//\1/; q; }
- /^X\/\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
-
-
-# PATH needs CR, and LINENO needs CR and PATH.
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
-
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
- echo "#! /bin/sh" >conf$$.sh
- echo "exit 0" >>conf$$.sh
- chmod +x conf$$.sh
- if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
- PATH_SEPARATOR=';'
- else
- PATH_SEPARATOR=:
- fi
- rm -f conf$$.sh
-fi
-
-
- as_lineno_1=$LINENO
- as_lineno_2=$LINENO
- as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
- test "x$as_lineno_1" != "x$as_lineno_2" &&
- test "x$as_lineno_3" = "x$as_lineno_2" || {
- # Find who we are. Look in the path if we contain no path at all
- # relative or not.
- case $0 in
- *[\\/]* ) as_myself=$0 ;;
- *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
-done
-
- ;;
- esac
- # We did not find ourselves, most probably we were run as `sh COMMAND'
- # in which case we are not to be found in the path.
- if test "x$as_myself" = x; then
- as_myself=$0
- fi
- if test ! -f "$as_myself"; then
- { echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2
- { (exit 1); exit 1; }; }
- fi
- case $CONFIG_SHELL in
- '')
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for as_base in sh bash ksh sh5; do
- case $as_dir in
- /*)
- if ("$as_dir/$as_base" -c '
- as_lineno_1=$LINENO
- as_lineno_2=$LINENO
- as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
- test "x$as_lineno_1" != "x$as_lineno_2" &&
- test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then
- $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; }
- $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; }
- CONFIG_SHELL=$as_dir/$as_base
- export CONFIG_SHELL
- exec "$CONFIG_SHELL" "$0" ${1+"$@"}
- fi;;
- esac
- done
-done
-;;
- esac
-
- # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
- # uniformly replaced by the line number. The first 'sed' inserts a
- # line-number line before each line; the second 'sed' does the real
- # work. The second script uses 'N' to pair each line-number line
- # with the numbered line, and appends trailing '-' during
- # substitution so that $LINENO is not a special case at line end.
- # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
- # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-)
- sed '=' <$as_myself |
- sed '
- N
- s,$,-,
- : loop
- s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3,
- t loop
- s,-$,,
- s,^['$as_cr_digits']*\n,,
- ' >$as_me.lineno &&
- chmod +x $as_me.lineno ||
- { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
- { (exit 1); exit 1; }; }
-
- # Don't try to exec as it changes $[0], causing all sort of problems
- # (the dirname of $[0] is not the place where we might find the
- # original and so on. Autoconf is especially sensible to this).
- . ./$as_me.lineno
- # Exit status is that of the last command.
- exit
-}
-
-
-case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in
- *c*,-n*) ECHO_N= ECHO_C='
-' ECHO_T=' ' ;;
- *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;;
- *) ECHO_N= ECHO_C='\c' ECHO_T= ;;
-esac
-
-if expr a : '\(a\)' >/dev/null 2>&1; then
- as_expr=expr
-else
- as_expr=false
-fi
-
-rm -f conf$$ conf$$.exe conf$$.file
-echo >conf$$.file
-if ln -s conf$$.file conf$$ 2>/dev/null; then
- # We could just check for DJGPP; but this test a) works b) is more generic
- # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04).
- if test -f conf$$.exe; then
- # Don't use ln at all; we don't have any links
- as_ln_s='cp -p'
- else
- as_ln_s='ln -s'
- fi
-elif ln conf$$.file conf$$ 2>/dev/null; then
- as_ln_s=ln
-else
- as_ln_s='cp -p'
-fi
-rm -f conf$$ conf$$.exe conf$$.file
-
-if mkdir -p . 2>/dev/null; then
- as_mkdir_p=:
-else
- test -d ./-p && rmdir ./-p
- as_mkdir_p=false
-fi
-
-as_executable_p="test -f"
-
-# Sed expression to map a string onto a valid CPP name.
-as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
-
-# Sed expression to map a string onto a valid variable name.
-as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
-
-
-# IFS
-# We need space, tab and new line, in precisely that order.
-as_nl='
-'
-IFS=" $as_nl"
-
-# CDPATH.
-$as_unset CDPATH
-
-
-
-# Check that we are running under the correct shell.
-SHELL=${CONFIG_SHELL-/bin/sh}
-
-case X$ECHO in
-X*--fallback-echo)
- # Remove one level of quotation (which was required for Make).
- ECHO=`echo "$ECHO" | sed 's,\\\\\$\\$0,'$0','`
- ;;
-esac
-
-echo=${ECHO-echo}
-if test "X$1" = X--no-reexec; then
- # Discard the --no-reexec flag, and continue.
- shift
-elif test "X$1" = X--fallback-echo; then
- # Avoid inline document here, it may be left over
- :
-elif test "X`($echo '\t') 2>/dev/null`" = 'X\t' ; then
- # Yippee, $echo works!
- :
-else
- # Restart under the correct shell.
- exec $SHELL "$0" --no-reexec ${1+"$@"}
-fi
-
-if test "X$1" = X--fallback-echo; then
- # used as fallback echo
- shift
- cat <<EOF
-$*
-EOF
- exit 0
-fi
-
-# The HP-UX ksh and POSIX shell print the target directory to stdout
-# if CDPATH is set.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-if test -z "$ECHO"; then
-if test "X${echo_test_string+set}" != Xset; then
-# find a string as large as possible, as long as the shell can cope with it
- for cmd in 'sed 50q "$0"' 'sed 20q "$0"' 'sed 10q "$0"' 'sed 2q "$0"' 'echo test'; do
- # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ...
- if (echo_test_string=`eval $cmd`) 2>/dev/null &&
- echo_test_string=`eval $cmd` &&
- (test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null
- then
- break
- fi
- done
-fi
-
-if test "X`($echo '\t') 2>/dev/null`" = 'X\t' &&
- echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` &&
- test "X$echo_testing_string" = "X$echo_test_string"; then
- :
-else
- # The Solaris, AIX, and Digital Unix default echo programs unquote
- # backslashes. This makes it impossible to quote backslashes using
- # echo "$something" | sed 's/\\/\\\\/g'
- #
- # So, first we look for a working echo in the user's PATH.
-
- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
- for dir in $PATH /usr/ucb; do
- IFS="$lt_save_ifs"
- if (test -f $dir/echo || test -f $dir/echo$ac_exeext) &&
- test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' &&
- echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` &&
- test "X$echo_testing_string" = "X$echo_test_string"; then
- echo="$dir/echo"
- break
- fi
- done
- IFS="$lt_save_ifs"
-
- if test "X$echo" = Xecho; then
- # We didn't find a better echo, so look for alternatives.
- if test "X`(print -r '\t') 2>/dev/null`" = 'X\t' &&
- echo_testing_string=`(print -r "$echo_test_string") 2>/dev/null` &&
- test "X$echo_testing_string" = "X$echo_test_string"; then
- # This shell has a builtin print -r that does the trick.
- echo='print -r'
- elif (test -f /bin/ksh || test -f /bin/ksh$ac_exeext) &&
- test "X$CONFIG_SHELL" != X/bin/ksh; then
- # If we have ksh, try running configure again with it.
- ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
- export ORIGINAL_CONFIG_SHELL
- CONFIG_SHELL=/bin/ksh
- export CONFIG_SHELL
- exec $CONFIG_SHELL "$0" --no-reexec ${1+"$@"}
- else
- # Try using printf.
- echo='printf %s\n'
- if test "X`($echo '\t') 2>/dev/null`" = 'X\t' &&
- echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` &&
- test "X$echo_testing_string" = "X$echo_test_string"; then
- # Cool, printf works
- :
- elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` &&
- test "X$echo_testing_string" = 'X\t' &&
- echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
- test "X$echo_testing_string" = "X$echo_test_string"; then
- CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL
- export CONFIG_SHELL
- SHELL="$CONFIG_SHELL"
- export SHELL
- echo="$CONFIG_SHELL $0 --fallback-echo"
- elif echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` &&
- test "X$echo_testing_string" = 'X\t' &&
- echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
- test "X$echo_testing_string" = "X$echo_test_string"; then
- echo="$CONFIG_SHELL $0 --fallback-echo"
- else
- # maybe with a smaller string...
- prev=:
-
- for cmd in 'echo test' 'sed 2q "$0"' 'sed 10q "$0"' 'sed 20q "$0"' 'sed 50q "$0"'; do
- if (test "X$echo_test_string" = "X`eval $cmd`") 2>/dev/null
- then
- break
- fi
- prev="$cmd"
- done
-
- if test "$prev" != 'sed 50q "$0"'; then
- echo_test_string=`eval $prev`
- export echo_test_string
- exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "$0" ${1+"$@"}
- else
- # Oops. We lost completely, so just stick with echo.
- echo=echo
- fi
- fi
- fi
- fi
-fi
-fi
-
-# Copy echo and quote the copy suitably for passing to libtool from
-# the Makefile, instead of quoting the original, which is used later.
-ECHO=$echo
-if test "X$ECHO" = "X$CONFIG_SHELL $0 --fallback-echo"; then
- ECHO="$CONFIG_SHELL \\\$\$0 --fallback-echo"
-fi
-
-
-
-
-tagnames=${tagnames+${tagnames},}CXX
-
-tagnames=${tagnames+${tagnames},}F77
-
-# Name of the host.
-# hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
-# so uname gets run too.
-ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
-
-exec 6>&1
-
-#
-# Initializations.
-#
-ac_default_prefix=/usr/local
-ac_config_libobj_dir=.
-cross_compiling=no
-subdirs=
-MFLAGS=
-MAKEFLAGS=
-SHELL=${CONFIG_SHELL-/bin/sh}
-
-# Maximum number of lines to put in a shell here document.
-# This variable seems obsolete. It should probably be removed, and
-# only ac_max_sed_lines should be used.
-: ${ac_max_here_lines=38}
-
-# Identity of this package.
-PACKAGE_NAME=
-PACKAGE_TARNAME=
-PACKAGE_VERSION=
-PACKAGE_STRING=
-PACKAGE_BUGREPORT=
-
-ac_unique_file="libop/op_config.h"
-# Factoring default headers for most tests.
-ac_includes_default="\
-#include <stdio.h>
-#if HAVE_SYS_TYPES_H
-# include <sys/types.h>
-#endif
-#if HAVE_SYS_STAT_H
-# include <sys/stat.h>
-#endif
-#if STDC_HEADERS
-# include <stdlib.h>
-# include <stddef.h>
-#else
-# if HAVE_STDLIB_H
-# include <stdlib.h>
-# endif
-#endif
-#if HAVE_STRING_H
-# if !STDC_HEADERS && HAVE_MEMORY_H
-# include <memory.h>
-# endif
-# include <string.h>
-#endif
-#if HAVE_STRINGS_H
-# include <strings.h>
-#endif
-#if HAVE_INTTYPES_H
-# include <inttypes.h>
-#else
-# if HAVE_STDINT_H
-# include <stdint.h>
-# endif
-#endif
-#if HAVE_UNISTD_H
-# include <unistd.h>
-#endif"
-
-ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE RANLIB ac_ct_RANLIB build build_cpu build_vendor build_os host host_cpu host_vendor host_os EGREP LN_S ECHO AR ac_ct_AR CPP CXX CXXFLAGS ac_ct_CXX CXXDEPMODE am__fastdepCXX_TRUE am__fastdepCXX_FALSE CXXCPP F77 FFLAGS ac_ct_F77 LIBTOOL DATE OPROFILE_DIR LD KSRC KINC kernel_support_TRUE kernel_support_FALSE KVERS OPROFILE_MODULE_ARCH MODINSTALLDIR JAVA_HOMEDIR BUILD_JVMTI_AGENT_TRUE BUILD_JVMTI_AGENT_FALSE BUILD_JVMPI_AGENT_TRUE BUILD_JVMPI_AGENT_FALSE EXTRA_CFLAGS_MODULE topdir SIZE_T_TYPE PTRDIFF_T_TYPE X_CFLAGS X_PRE_LIBS X_LIBS X_EXTRA_LIBS QT_INCLUDES QT_LDFLAGS MOC UIC QT_LIB QT_VERSION XSLTPROC have_xsltproc_TRUE have_xsltproc_FALSE XML_CATALOG XSLTPROC_FLAGS DOCBOOK_ROOT CAT_ENTRY_START CAT_ENTRY_END LIBERTY_LIBS BFD_LIBS POPT_LIBS have_qt_TRUE have_qt_FALSE OP_CFLAGS OP_CXXFLAGS OP_DOCDIR LIBOBJS LTLIBOBJS'
-ac_subst_files=''
-
-# Initialize some variables set by options.
-ac_init_help=
-ac_init_version=false
-# The variables have the same names as the options, with
-# dashes changed to underlines.
-cache_file=/dev/null
-exec_prefix=NONE
-no_create=
-no_recursion=
-prefix=NONE
-program_prefix=NONE
-program_suffix=NONE
-program_transform_name=s,x,x,
-silent=
-site=
-srcdir=
-verbose=
-x_includes=NONE
-x_libraries=NONE
-
-# Installation directory options.
-# These are left unexpanded so users can "make install exec_prefix=/foo"
-# and all the variables that are supposed to be based on exec_prefix
-# by default will actually change.
-# Use braces instead of parens because sh, perl, etc. also accept them.
-bindir='${exec_prefix}/bin'
-sbindir='${exec_prefix}/sbin'
-libexecdir='${exec_prefix}/libexec'
-datadir='${prefix}/share'
-sysconfdir='${prefix}/etc'
-sharedstatedir='${prefix}/com'
-localstatedir='${prefix}/var'
-libdir='${exec_prefix}/lib'
-includedir='${prefix}/include'
-oldincludedir='/usr/include'
-infodir='${prefix}/info'
-mandir='${prefix}/man'
-
-ac_prev=
-for ac_option
-do
- # If the previous option needs an argument, assign it.
- if test -n "$ac_prev"; then
- eval "$ac_prev=\$ac_option"
- ac_prev=
- continue
- fi
-
- ac_optarg=`expr "x$ac_option" : 'x[^=]*=\(.*\)'`
-
- # Accept the important Cygnus configure options, so we can diagnose typos.
-
- case $ac_option in
-
- -bindir | --bindir | --bindi | --bind | --bin | --bi)
- ac_prev=bindir ;;
- -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
- bindir=$ac_optarg ;;
-
- -build | --build | --buil | --bui | --bu)
- ac_prev=build_alias ;;
- -build=* | --build=* | --buil=* | --bui=* | --bu=*)
- build_alias=$ac_optarg ;;
-
- -cache-file | --cache-file | --cache-fil | --cache-fi \
- | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
- ac_prev=cache_file ;;
- -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
- | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
- cache_file=$ac_optarg ;;
-
- --config-cache | -C)
- cache_file=config.cache ;;
-
- -datadir | --datadir | --datadi | --datad | --data | --dat | --da)
- ac_prev=datadir ;;
- -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
- | --da=*)
- datadir=$ac_optarg ;;
-
- -disable-* | --disable-*)
- ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
- # Reject names that are not valid shell variable names.
- expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null &&
- { echo "$as_me: error: invalid feature name: $ac_feature" >&2
- { (exit 1); exit 1; }; }
- ac_feature=`echo $ac_feature | sed 's/-/_/g'`
- eval "enable_$ac_feature=no" ;;
-
- -enable-* | --enable-*)
- ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
- # Reject names that are not valid shell variable names.
- expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null &&
- { echo "$as_me: error: invalid feature name: $ac_feature" >&2
- { (exit 1); exit 1; }; }
- ac_feature=`echo $ac_feature | sed 's/-/_/g'`
- case $ac_option in
- *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;;
- *) ac_optarg=yes ;;
- esac
- eval "enable_$ac_feature='$ac_optarg'" ;;
-
- -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
- | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
- | --exec | --exe | --ex)
- ac_prev=exec_prefix ;;
- -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
- | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
- | --exec=* | --exe=* | --ex=*)
- exec_prefix=$ac_optarg ;;
-
- -gas | --gas | --ga | --g)
- # Obsolete; use --with-gas.
- with_gas=yes ;;
-
- -help | --help | --hel | --he | -h)
- ac_init_help=long ;;
- -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
- ac_init_help=recursive ;;
- -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
- ac_init_help=short ;;
-
- -host | --host | --hos | --ho)
- ac_prev=host_alias ;;
- -host=* | --host=* | --hos=* | --ho=*)
- host_alias=$ac_optarg ;;
-
- -includedir | --includedir | --includedi | --included | --include \
- | --includ | --inclu | --incl | --inc)
- ac_prev=includedir ;;
- -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
- | --includ=* | --inclu=* | --incl=* | --inc=*)
- includedir=$ac_optarg ;;
-
- -infodir | --infodir | --infodi | --infod | --info | --inf)
- ac_prev=infodir ;;
- -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
- infodir=$ac_optarg ;;
-
- -libdir | --libdir | --libdi | --libd)
- ac_prev=libdir ;;
- -libdir=* | --libdir=* | --libdi=* | --libd=*)
- libdir=$ac_optarg ;;
-
- -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
- | --libexe | --libex | --libe)
- ac_prev=libexecdir ;;
- -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
- | --libexe=* | --libex=* | --libe=*)
- libexecdir=$ac_optarg ;;
-
- -localstatedir | --localstatedir | --localstatedi | --localstated \
- | --localstate | --localstat | --localsta | --localst \
- | --locals | --local | --loca | --loc | --lo)
- ac_prev=localstatedir ;;
- -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
- | --localstate=* | --localstat=* | --localsta=* | --localst=* \
- | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
- localstatedir=$ac_optarg ;;
-
- -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
- ac_prev=mandir ;;
- -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
- mandir=$ac_optarg ;;
-
- -nfp | --nfp | --nf)
- # Obsolete; use --without-fp.
- with_fp=no ;;
-
- -no-create | --no-create | --no-creat | --no-crea | --no-cre \
- | --no-cr | --no-c | -n)
- no_create=yes ;;
-
- -no-recursion | --no-recursion | --no-recursio | --no-recursi \
- | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
- no_recursion=yes ;;
-
- -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
- | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
- | --oldin | --oldi | --old | --ol | --o)
- ac_prev=oldincludedir ;;
- -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
- | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
- | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
- oldincludedir=$ac_optarg ;;
-
- -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
- ac_prev=prefix ;;
- -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
- prefix=$ac_optarg ;;
-
- -program-prefix | --program-prefix | --program-prefi | --program-pref \
- | --program-pre | --program-pr | --program-p)
- ac_prev=program_prefix ;;
- -program-prefix=* | --program-prefix=* | --program-prefi=* \
- | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
- program_prefix=$ac_optarg ;;
-
- -program-suffix | --program-suffix | --program-suffi | --program-suff \
- | --program-suf | --program-su | --program-s)
- ac_prev=program_suffix ;;
- -program-suffix=* | --program-suffix=* | --program-suffi=* \
- | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
- program_suffix=$ac_optarg ;;
-
- -program-transform-name | --program-transform-name \
- | --program-transform-nam | --program-transform-na \
- | --program-transform-n | --program-transform- \
- | --program-transform | --program-transfor \
- | --program-transfo | --program-transf \
- | --program-trans | --program-tran \
- | --progr-tra | --program-tr | --program-t)
- ac_prev=program_transform_name ;;
- -program-transform-name=* | --program-transform-name=* \
- | --program-transform-nam=* | --program-transform-na=* \
- | --program-transform-n=* | --program-transform-=* \
- | --program-transform=* | --program-transfor=* \
- | --program-transfo=* | --program-transf=* \
- | --program-trans=* | --program-tran=* \
- | --progr-tra=* | --program-tr=* | --program-t=*)
- program_transform_name=$ac_optarg ;;
-
- -q | -quiet | --quiet | --quie | --qui | --qu | --q \
- | -silent | --silent | --silen | --sile | --sil)
- silent=yes ;;
-
- -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
- ac_prev=sbindir ;;
- -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
- | --sbi=* | --sb=*)
- sbindir=$ac_optarg ;;
-
- -sharedstatedir | --sharedstatedir | --sharedstatedi \
- | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
- | --sharedst | --shareds | --shared | --share | --shar \
- | --sha | --sh)
- ac_prev=sharedstatedir ;;
- -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
- | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
- | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
- | --sha=* | --sh=*)
- sharedstatedir=$ac_optarg ;;
-
- -site | --site | --sit)
- ac_prev=site ;;
- -site=* | --site=* | --sit=*)
- site=$ac_optarg ;;
-
- -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
- ac_prev=srcdir ;;
- -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
- srcdir=$ac_optarg ;;
-
- -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
- | --syscon | --sysco | --sysc | --sys | --sy)
- ac_prev=sysconfdir ;;
- -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
- | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
- sysconfdir=$ac_optarg ;;
-
- -target | --target | --targe | --targ | --tar | --ta | --t)
- ac_prev=target_alias ;;
- -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
- target_alias=$ac_optarg ;;
-
- -v | -verbose | --verbose | --verbos | --verbo | --verb)
- verbose=yes ;;
-
- -version | --version | --versio | --versi | --vers | -V)
- ac_init_version=: ;;
-
- -with-* | --with-*)
- ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
- # Reject names that are not valid shell variable names.
- expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null &&
- { echo "$as_me: error: invalid package name: $ac_package" >&2
- { (exit 1); exit 1; }; }
- ac_package=`echo $ac_package| sed 's/-/_/g'`
- case $ac_option in
- *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;;
- *) ac_optarg=yes ;;
- esac
- eval "with_$ac_package='$ac_optarg'" ;;
-
- -without-* | --without-*)
- ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'`
- # Reject names that are not valid shell variable names.
- expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null &&
- { echo "$as_me: error: invalid package name: $ac_package" >&2
- { (exit 1); exit 1; }; }
- ac_package=`echo $ac_package | sed 's/-/_/g'`
- eval "with_$ac_package=no" ;;
-
- --x)
- # Obsolete; use --with-x.
- with_x=yes ;;
-
- -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
- | --x-incl | --x-inc | --x-in | --x-i)
- ac_prev=x_includes ;;
- -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
- | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
- x_includes=$ac_optarg ;;
-
- -x-libraries | --x-libraries | --x-librarie | --x-librari \
- | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
- ac_prev=x_libraries ;;
- -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
- | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
- x_libraries=$ac_optarg ;;
-
- -*) { echo "$as_me: error: unrecognized option: $ac_option
-Try \`$0 --help' for more information." >&2
- { (exit 1); exit 1; }; }
- ;;
-
- *=*)
- ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
- # Reject names that are not valid shell variable names.
- expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null &&
- { echo "$as_me: error: invalid variable name: $ac_envvar" >&2
- { (exit 1); exit 1; }; }
- ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`
- eval "$ac_envvar='$ac_optarg'"
- export $ac_envvar ;;
-
- *)
- # FIXME: should be removed in autoconf 3.0.
- echo "$as_me: WARNING: you should use --build, --host, --target" >&2
- expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
- echo "$as_me: WARNING: invalid host type: $ac_option" >&2
- : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
- ;;
-
- esac
-done
-
-if test -n "$ac_prev"; then
- ac_option=--`echo $ac_prev | sed 's/_/-/g'`
- { echo "$as_me: error: missing argument to $ac_option" >&2
- { (exit 1); exit 1; }; }
-fi
-
-# Be sure to have absolute paths.
-for ac_var in exec_prefix prefix
-do
- eval ac_val=$`echo $ac_var`
- case $ac_val in
- [\\/$]* | ?:[\\/]* | NONE | '' ) ;;
- *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
- { (exit 1); exit 1; }; };;
- esac
-done
-
-# Be sure to have absolute paths.
-for ac_var in bindir sbindir libexecdir datadir sysconfdir sharedstatedir \
- localstatedir libdir includedir oldincludedir infodir mandir
-do
- eval ac_val=$`echo $ac_var`
- case $ac_val in
- [\\/$]* | ?:[\\/]* ) ;;
- *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
- { (exit 1); exit 1; }; };;
- esac
-done
-
-# There might be people who depend on the old broken behavior: `$host'
-# used to hold the argument of --host etc.
-# FIXME: To remove some day.
-build=$build_alias
-host=$host_alias
-target=$target_alias
-
-# FIXME: To remove some day.
-if test "x$host_alias" != x; then
- if test "x$build_alias" = x; then
- cross_compiling=maybe
- echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
- If a cross compiler is detected then cross compile mode will be used." >&2
- elif test "x$build_alias" != "x$host_alias"; then
- cross_compiling=yes
- fi
-fi
-
-ac_tool_prefix=
-test -n "$host_alias" && ac_tool_prefix=$host_alias-
-
-test "$silent" = yes && exec 6>/dev/null
-
-
-# Find the source files, if location was not specified.
-if test -z "$srcdir"; then
- ac_srcdir_defaulted=yes
- # Try the directory containing this script, then its parent.
- ac_confdir=`(dirname "$0") 2>/dev/null ||
-$as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$0" : 'X\(//\)[^/]' \| \
- X"$0" : 'X\(//\)$' \| \
- X"$0" : 'X\(/\)' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X"$0" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
- /^X\(\/\/\)$/{ s//\1/; q; }
- /^X\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
- srcdir=$ac_confdir
- if test ! -r $srcdir/$ac_unique_file; then
- srcdir=..
- fi
-else
- ac_srcdir_defaulted=no
-fi
-if test ! -r $srcdir/$ac_unique_file; then
- if test "$ac_srcdir_defaulted" = yes; then
- { echo "$as_me: error: cannot find sources ($ac_unique_file) in $ac_confdir or .." >&2
- { (exit 1); exit 1; }; }
- else
- { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2
- { (exit 1); exit 1; }; }
- fi
-fi
-(cd $srcdir && test -r ./$ac_unique_file) 2>/dev/null ||
- { echo "$as_me: error: sources are in $srcdir, but \`cd $srcdir' does not work" >&2
- { (exit 1); exit 1; }; }
-srcdir=`echo "$srcdir" | sed 's%\([^\\/]\)[\\/]*$%\1%'`
-ac_env_build_alias_set=${build_alias+set}
-ac_env_build_alias_value=$build_alias
-ac_cv_env_build_alias_set=${build_alias+set}
-ac_cv_env_build_alias_value=$build_alias
-ac_env_host_alias_set=${host_alias+set}
-ac_env_host_alias_value=$host_alias
-ac_cv_env_host_alias_set=${host_alias+set}
-ac_cv_env_host_alias_value=$host_alias
-ac_env_target_alias_set=${target_alias+set}
-ac_env_target_alias_value=$target_alias
-ac_cv_env_target_alias_set=${target_alias+set}
-ac_cv_env_target_alias_value=$target_alias
-ac_env_CC_set=${CC+set}
-ac_env_CC_value=$CC
-ac_cv_env_CC_set=${CC+set}
-ac_cv_env_CC_value=$CC
-ac_env_CFLAGS_set=${CFLAGS+set}
-ac_env_CFLAGS_value=$CFLAGS
-ac_cv_env_CFLAGS_set=${CFLAGS+set}
-ac_cv_env_CFLAGS_value=$CFLAGS
-ac_env_LDFLAGS_set=${LDFLAGS+set}
-ac_env_LDFLAGS_value=$LDFLAGS
-ac_cv_env_LDFLAGS_set=${LDFLAGS+set}
-ac_cv_env_LDFLAGS_value=$LDFLAGS
-ac_env_CPPFLAGS_set=${CPPFLAGS+set}
-ac_env_CPPFLAGS_value=$CPPFLAGS
-ac_cv_env_CPPFLAGS_set=${CPPFLAGS+set}
-ac_cv_env_CPPFLAGS_value=$CPPFLAGS
-ac_env_CPP_set=${CPP+set}
-ac_env_CPP_value=$CPP
-ac_cv_env_CPP_set=${CPP+set}
-ac_cv_env_CPP_value=$CPP
-ac_env_CXX_set=${CXX+set}
-ac_env_CXX_value=$CXX
-ac_cv_env_CXX_set=${CXX+set}
-ac_cv_env_CXX_value=$CXX
-ac_env_CXXFLAGS_set=${CXXFLAGS+set}
-ac_env_CXXFLAGS_value=$CXXFLAGS
-ac_cv_env_CXXFLAGS_set=${CXXFLAGS+set}
-ac_cv_env_CXXFLAGS_value=$CXXFLAGS
-ac_env_CXXCPP_set=${CXXCPP+set}
-ac_env_CXXCPP_value=$CXXCPP
-ac_cv_env_CXXCPP_set=${CXXCPP+set}
-ac_cv_env_CXXCPP_value=$CXXCPP
-ac_env_F77_set=${F77+set}
-ac_env_F77_value=$F77
-ac_cv_env_F77_set=${F77+set}
-ac_cv_env_F77_value=$F77
-ac_env_FFLAGS_set=${FFLAGS+set}
-ac_env_FFLAGS_value=$FFLAGS
-ac_cv_env_FFLAGS_set=${FFLAGS+set}
-ac_cv_env_FFLAGS_value=$FFLAGS
-
-#
-# Report the --help message.
-#
-if test "$ac_init_help" = "long"; then
- # Omit some internal or obsolete options to make the list less imposing.
- # This message is too long to be a string in the A/UX 3.1 sh.
- cat <<_ACEOF
-\`configure' configures this package to adapt to many kinds of systems.
-
-Usage: $0 [OPTION]... [VAR=VALUE]...
-
-To assign environment variables (e.g., CC, CFLAGS...), specify them as
-VAR=VALUE. See below for descriptions of some of the useful variables.
-
-Defaults for the options are specified in brackets.
-
-Configuration:
- -h, --help display this help and exit
- --help=short display options specific to this package
- --help=recursive display the short help of all the included packages
- -V, --version display version information and exit
- -q, --quiet, --silent do not print \`checking...' messages
- --cache-file=FILE cache test results in FILE [disabled]
- -C, --config-cache alias for \`--cache-file=config.cache'
- -n, --no-create do not create output files
- --srcdir=DIR find the sources in DIR [configure dir or \`..']
-
-_ACEOF
-
- cat <<_ACEOF
-Installation directories:
- --prefix=PREFIX install architecture-independent files in PREFIX
- [$ac_default_prefix]
- --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
- [PREFIX]
-
-By default, \`make install' will install all the files in
-\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify
-an installation prefix other than \`$ac_default_prefix' using \`--prefix',
-for instance \`--prefix=\$HOME'.
-
-For better control, use the options below.
-
-Fine tuning of the installation directories:
- --bindir=DIR user executables [EPREFIX/bin]
- --sbindir=DIR system admin executables [EPREFIX/sbin]
- --libexecdir=DIR program executables [EPREFIX/libexec]
- --datadir=DIR read-only architecture-independent data [PREFIX/share]
- --sysconfdir=DIR read-only single-machine data [PREFIX/etc]
- --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
- --localstatedir=DIR modifiable single-machine data [PREFIX/var]
- --libdir=DIR object code libraries [EPREFIX/lib]
- --includedir=DIR C header files [PREFIX/include]
- --oldincludedir=DIR C header files for non-gcc [/usr/include]
- --infodir=DIR info documentation [PREFIX/info]
- --mandir=DIR man documentation [PREFIX/man]
-_ACEOF
-
- cat <<\_ACEOF
-
-Program names:
- --program-prefix=PREFIX prepend PREFIX to installed program names
- --program-suffix=SUFFIX append SUFFIX to installed program names
- --program-transform-name=PROGRAM run sed PROGRAM on installed program names
-
-X features:
- --x-includes=DIR X include files are in DIR
- --x-libraries=DIR X library files are in DIR
-
-System types:
- --build=BUILD configure for building on BUILD [guessed]
- --host=HOST cross-compile to build programs to run on HOST [BUILD]
-_ACEOF
-fi
-
-if test -n "$ac_init_help"; then
-
- cat <<\_ACEOF
-
-Optional Features:
- --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
- --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
- --disable-dependency-tracking speeds up one-time build
- --enable-dependency-tracking do not reject slow dependency extractors
- --enable-shared[=PKGS]
- build shared libraries [default=yes]
- --enable-static[=PKGS]
- build static libraries [default=yes]
- --enable-fast-install[=PKGS]
- optimize for fast installation [default=yes]
- --disable-libtool-lock avoid locking (might break parallel builds)
- --enable-pch enable precompiled header (default is disabled)
- --enable-gcov enable option for gcov coverage testing (default is disabled)
- --disable-werror disable -Werror flag (default is enabled for non-release)
- --disable-optimization disable optimization flags (default is enabled)
-
-Optional Packages:
- --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
- --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
- --with-gnu-ld assume the C compiler uses GNU ld [default=no]
- --with-pic try to use only PIC/non-PIC objects [default=use
- both]
- --with-tags[=TAGS]
- include additional configurations [automatic]
- --with-binutils=dir Path to binutils installation to use
- --with-binutils-libname Lib dir name under binutils installation; [lib]]
- --with-gcc=dir Path to GCC installation to use
- --with-kernel-support Use 2.6 kernel (no kernel source tree required)
- --with-linux=dir Path to Linux source tree
- --with-module-dir=dir Path to module installation directory
- --with-java=java-home Path to Java home directory
- --with-extra-includes=DIR add extra include paths
- --with-extra-libs=DIR add extra library paths
- --with-target=cell-be Check BFD support for Cell Broadband Engine SPU profiling
- --with-x use the X Window System
- --with-qt-dir where the root of Qt is installed
- --with-qt-includes where the Qt includes are.
- --with-qt-libraries where the Qt library is installed.
-
-Some influential environment variables:
- CC C compiler command
- CFLAGS C compiler flags
- LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a
- nonstandard directory <lib dir>
- CPPFLAGS C/C++ preprocessor flags, e.g. -I<include dir> if you have
- headers in a nonstandard directory <include dir>
- CPP C preprocessor
- CXX C++ compiler command
- CXXFLAGS C++ compiler flags
- CXXCPP C++ preprocessor
- F77 Fortran 77 compiler command
- FFLAGS Fortran 77 compiler flags
-
-Use these variables to override the choices made by `configure' or to help
-it to find libraries and programs with nonstandard names/locations.
-
-_ACEOF
-fi
-
-if test "$ac_init_help" = "recursive"; then
- # If there are subdirs, report their specific --help.
- ac_popdir=`pwd`
- for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
- test -d $ac_dir || continue
- ac_builddir=.
-
-if test "$ac_dir" != .; then
- ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
- # A "../" for each directory in $ac_dir_suffix.
- ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
-else
- ac_dir_suffix= ac_top_builddir=
-fi
-
-case $srcdir in
- .) # No --srcdir option. We are building in place.
- ac_srcdir=.
- if test -z "$ac_top_builddir"; then
- ac_top_srcdir=.
- else
- ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
- fi ;;
- [\\/]* | ?:[\\/]* ) # Absolute path.
- ac_srcdir=$srcdir$ac_dir_suffix;
- ac_top_srcdir=$srcdir ;;
- *) # Relative path.
- ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
- ac_top_srcdir=$ac_top_builddir$srcdir ;;
-esac
-
-# Do not use `cd foo && pwd` to compute absolute paths, because
-# the directories may not exist.
-case `pwd` in
-.) ac_abs_builddir="$ac_dir";;
-*)
- case "$ac_dir" in
- .) ac_abs_builddir=`pwd`;;
- [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";;
- *) ac_abs_builddir=`pwd`/"$ac_dir";;
- esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_top_builddir=${ac_top_builddir}.;;
-*)
- case ${ac_top_builddir}. in
- .) ac_abs_top_builddir=$ac_abs_builddir;;
- [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;;
- *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;;
- esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_srcdir=$ac_srcdir;;
-*)
- case $ac_srcdir in
- .) ac_abs_srcdir=$ac_abs_builddir;;
- [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;;
- *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;;
- esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_top_srcdir=$ac_top_srcdir;;
-*)
- case $ac_top_srcdir in
- .) ac_abs_top_srcdir=$ac_abs_builddir;;
- [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;;
- *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;;
- esac;;
-esac
-
- cd $ac_dir
- # Check for guested configure; otherwise get Cygnus style configure.
- if test -f $ac_srcdir/configure.gnu; then
- echo
- $SHELL $ac_srcdir/configure.gnu --help=recursive
- elif test -f $ac_srcdir/configure; then
- echo
- $SHELL $ac_srcdir/configure --help=recursive
- elif test -f $ac_srcdir/configure.ac ||
- test -f $ac_srcdir/configure.in; then
- echo
- $ac_configure --help
- else
- echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
- fi
- cd $ac_popdir
- done
-fi
-
-test -n "$ac_init_help" && exit 0
-if $ac_init_version; then
- cat <<\_ACEOF
-
-Copyright (C) 2003 Free Software Foundation, Inc.
-This configure script is free software; the Free Software Foundation
-gives unlimited permission to copy, distribute and modify it.
-_ACEOF
- exit 0
-fi
-exec 5>config.log
-cat >&5 <<_ACEOF
-This file contains any messages produced by compilers while
-running configure, to aid debugging if configure makes a mistake.
-
-It was created by $as_me, which was
-generated by GNU Autoconf 2.59. Invocation command line was
-
- $ $0 $@
-
-_ACEOF
-{
-cat <<_ASUNAME
-## --------- ##
-## Platform. ##
-## --------- ##
-
-hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
-uname -m = `(uname -m) 2>/dev/null || echo unknown`
-uname -r = `(uname -r) 2>/dev/null || echo unknown`
-uname -s = `(uname -s) 2>/dev/null || echo unknown`
-uname -v = `(uname -v) 2>/dev/null || echo unknown`
-
-/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
-/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown`
-
-/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown`
-/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown`
-/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
-hostinfo = `(hostinfo) 2>/dev/null || echo unknown`
-/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown`
-/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown`
-/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown`
-
-_ASUNAME
-
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- echo "PATH: $as_dir"
-done
-
-} >&5
-
-cat >&5 <<_ACEOF
-
-
-## ----------- ##
-## Core tests. ##
-## ----------- ##
-
-_ACEOF
-
-
-# Keep a trace of the command line.
-# Strip out --no-create and --no-recursion so they do not pile up.
-# Strip out --silent because we don't want to record it for future runs.
-# Also quote any args containing shell meta-characters.
-# Make two passes to allow for proper duplicate-argument suppression.
-ac_configure_args=
-ac_configure_args0=
-ac_configure_args1=
-ac_sep=
-ac_must_keep_next=false
-for ac_pass in 1 2
-do
- for ac_arg
- do
- case $ac_arg in
- -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
- -q | -quiet | --quiet | --quie | --qui | --qu | --q \
- | -silent | --silent | --silen | --sile | --sil)
- continue ;;
- *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*)
- ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
- esac
- case $ac_pass in
- 1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;;
- 2)
- ac_configure_args1="$ac_configure_args1 '$ac_arg'"
- if test $ac_must_keep_next = true; then
- ac_must_keep_next=false # Got value, back to normal.
- else
- case $ac_arg in
- *=* | --config-cache | -C | -disable-* | --disable-* \
- | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
- | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
- | -with-* | --with-* | -without-* | --without-* | --x)
- case "$ac_configure_args0 " in
- "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
- esac
- ;;
- -* ) ac_must_keep_next=true ;;
- esac
- fi
- ac_configure_args="$ac_configure_args$ac_sep'$ac_arg'"
- # Get rid of the leading space.
- ac_sep=" "
- ;;
- esac
- done
-done
-$as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; }
-$as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; }
-
-# When interrupted or exit'd, cleanup temporary files, and complete
-# config.log. We remove comments because anyway the quotes in there
-# would cause problems or look ugly.
-# WARNING: Be sure not to use single quotes in there, as some shells,
-# such as our DU 5.0 friend, will then `close' the trap.
-trap 'exit_status=$?
- # Save into config.log some information that might help in debugging.
- {
- echo
-
- cat <<\_ASBOX
-## ---------------- ##
-## Cache variables. ##
-## ---------------- ##
-_ASBOX
- echo
- # The following way of writing the cache mishandles newlines in values,
-{
- (set) 2>&1 |
- case `(ac_space='"'"' '"'"'; set | grep ac_space) 2>&1` in
- *ac_space=\ *)
- sed -n \
- "s/'"'"'/'"'"'\\\\'"'"''"'"'/g;
- s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='"'"'\\2'"'"'/p"
- ;;
- *)
- sed -n \
- "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p"
- ;;
- esac;
-}
- echo
-
- cat <<\_ASBOX
-## ----------------- ##
-## Output variables. ##
-## ----------------- ##
-_ASBOX
- echo
- for ac_var in $ac_subst_vars
- do
- eval ac_val=$`echo $ac_var`
- echo "$ac_var='"'"'$ac_val'"'"'"
- done | sort
- echo
-
- if test -n "$ac_subst_files"; then
- cat <<\_ASBOX
-## ------------- ##
-## Output files. ##
-## ------------- ##
-_ASBOX
- echo
- for ac_var in $ac_subst_files
- do
- eval ac_val=$`echo $ac_var`
- echo "$ac_var='"'"'$ac_val'"'"'"
- done | sort
- echo
- fi
-
- if test -s confdefs.h; then
- cat <<\_ASBOX
-## ----------- ##
-## confdefs.h. ##
-## ----------- ##
-_ASBOX
- echo
- sed "/^$/d" confdefs.h | sort
- echo
- fi
- test "$ac_signal" != 0 &&
- echo "$as_me: caught signal $ac_signal"
- echo "$as_me: exit $exit_status"
- } >&5
- rm -f core *.core &&
- rm -rf conftest* confdefs* conf$$* $ac_clean_files &&
- exit $exit_status
- ' 0
-for ac_signal in 1 2 13 15; do
- trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal
-done
-ac_signal=0
-
-# confdefs.h avoids OS command line length limits that DEFS can exceed.
-rm -rf conftest* confdefs.h
-# AIX cpp loses on an empty file, so make sure it contains at least a newline.
-echo >confdefs.h
-
-# Predefined preprocessor variables.
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_NAME "$PACKAGE_NAME"
-_ACEOF
-
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_TARNAME "$PACKAGE_TARNAME"
-_ACEOF
-
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_VERSION "$PACKAGE_VERSION"
-_ACEOF
-
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_STRING "$PACKAGE_STRING"
-_ACEOF
-
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
-_ACEOF
-
-
-# Let the site file select an alternate cache file if it wants to.
-# Prefer explicitly selected file to automatically selected ones.
-if test -z "$CONFIG_SITE"; then
- if test "x$prefix" != xNONE; then
- CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
- else
- CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
- fi
-fi
-for ac_site_file in $CONFIG_SITE; do
- if test -r "$ac_site_file"; then
- { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5
-echo "$as_me: loading site script $ac_site_file" >&6;}
- sed 's/^/| /' "$ac_site_file" >&5
- . "$ac_site_file"
- fi
-done
-
-if test -r "$cache_file"; then
- # Some versions of bash will fail to source /dev/null (special
- # files actually), so we avoid doing that.
- if test -f "$cache_file"; then
- { echo "$as_me:$LINENO: loading cache $cache_file" >&5
-echo "$as_me: loading cache $cache_file" >&6;}
- case $cache_file in
- [\\/]* | ?:[\\/]* ) . $cache_file;;
- *) . ./$cache_file;;
- esac
- fi
-else
- { echo "$as_me:$LINENO: creating cache $cache_file" >&5
-echo "$as_me: creating cache $cache_file" >&6;}
- >$cache_file
-fi
-
-# Check that the precious variables saved in the cache have kept the same
-# value.
-ac_cache_corrupted=false
-for ac_var in `(set) 2>&1 |
- sed -n 's/^ac_env_\([a-zA-Z_0-9]*\)_set=.*/\1/p'`; do
- eval ac_old_set=\$ac_cv_env_${ac_var}_set
- eval ac_new_set=\$ac_env_${ac_var}_set
- eval ac_old_val="\$ac_cv_env_${ac_var}_value"
- eval ac_new_val="\$ac_env_${ac_var}_value"
- case $ac_old_set,$ac_new_set in
- set,)
- { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
-echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
- ac_cache_corrupted=: ;;
- ,set)
- { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5
-echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
- ac_cache_corrupted=: ;;
- ,);;
- *)
- if test "x$ac_old_val" != "x$ac_new_val"; then
- { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5
-echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
- { echo "$as_me:$LINENO: former value: $ac_old_val" >&5
-echo "$as_me: former value: $ac_old_val" >&2;}
- { echo "$as_me:$LINENO: current value: $ac_new_val" >&5
-echo "$as_me: current value: $ac_new_val" >&2;}
- ac_cache_corrupted=:
- fi;;
- esac
- # Pass precious variables to config.status.
- if test "$ac_new_set" = set; then
- case $ac_new_val in
- *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*)
- ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
- *) ac_arg=$ac_var=$ac_new_val ;;
- esac
- case " $ac_configure_args " in
- *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy.
- *) ac_configure_args="$ac_configure_args '$ac_arg'" ;;
- esac
- fi
-done
-if $ac_cache_corrupted; then
- { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5
-echo "$as_me: error: changes in the environment can compromise the build" >&2;}
- { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5
-echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;}
- { (exit 1); exit 1; }; }
-fi
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-am__api_version="1.9"
-ac_aux_dir=
-for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do
- if test -f $ac_dir/install-sh; then
- ac_aux_dir=$ac_dir
- ac_install_sh="$ac_aux_dir/install-sh -c"
- break
- elif test -f $ac_dir/install.sh; then
- ac_aux_dir=$ac_dir
- ac_install_sh="$ac_aux_dir/install.sh -c"
- break
- elif test -f $ac_dir/shtool; then
- ac_aux_dir=$ac_dir
- ac_install_sh="$ac_aux_dir/shtool install -c"
- break
- fi
-done
-if test -z "$ac_aux_dir"; then
- { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&5
-echo "$as_me: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&2;}
- { (exit 1); exit 1; }; }
-fi
-ac_config_guess="$SHELL $ac_aux_dir/config.guess"
-ac_config_sub="$SHELL $ac_aux_dir/config.sub"
-ac_configure="$SHELL $ac_aux_dir/configure" # This should be Cygnus configure.
-
-# Find a good install program. We prefer a C program (faster),
-# so one script is as good as another. But avoid the broken or
-# incompatible versions:
-# SysV /etc/install, /usr/sbin/install
-# SunOS /usr/etc/install
-# IRIX /sbin/install
-# AIX /bin/install
-# AmigaOS /C/install, which installs bootblocks on floppy discs
-# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
-# AFS /usr/afsws/bin/install, which mishandles nonexistent args
-# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
-# OS/2's system install, which has a completely different semantic
-# ./install, which can be erroneously created by make from ./install.sh.
-echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5
-echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6
-if test -z "$INSTALL"; then
-if test "${ac_cv_path_install+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- # Account for people who put trailing slashes in PATH elements.
-case $as_dir/ in
- ./ | .// | /cC/* | \
- /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
- ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \
- /usr/ucb/* ) ;;
- *)
- # OSF1 and SCO ODT 3.0 have their own names for install.
- # Don't use installbsd from OSF since it installs stuff as root
- # by default.
- for ac_prog in ginstall scoinst install; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then
- if test $ac_prog = install &&
- grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
- # AIX install. It has an incompatible calling convention.
- :
- elif test $ac_prog = install &&
- grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
- # program-specific install script used by HP pwplus--don't use.
- :
- else
- ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
- break 3
- fi
- fi
- done
- done
- ;;
-esac
-done
-
-
-fi
- if test "${ac_cv_path_install+set}" = set; then
- INSTALL=$ac_cv_path_install
- else
- # As a last resort, use the slow shell script. We don't cache a
- # path for INSTALL within a source directory, because that will
- # break other packages using the cache if that directory is
- # removed, or if the path is relative.
- INSTALL=$ac_install_sh
- fi
-fi
-echo "$as_me:$LINENO: result: $INSTALL" >&5
-echo "${ECHO_T}$INSTALL" >&6
-
-# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
-# It thinks the first close brace ends the variable substitution.
-test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
-
-test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
-
-test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
-
-echo "$as_me:$LINENO: checking whether build environment is sane" >&5
-echo $ECHO_N "checking whether build environment is sane... $ECHO_C" >&6
-# Just in case
-sleep 1
-echo timestamp > conftest.file
-# Do `set' in a subshell so we don't clobber the current shell's
-# arguments. Must try -L first in case configure is actually a
-# symlink; some systems play weird games with the mod time of symlinks
-# (eg FreeBSD returns the mod time of the symlink's containing
-# directory).
-if (
- set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null`
- if test "$*" = "X"; then
- # -L didn't work.
- set X `ls -t $srcdir/configure conftest.file`
- fi
- rm -f conftest.file
- if test "$*" != "X $srcdir/configure conftest.file" \
- && test "$*" != "X conftest.file $srcdir/configure"; then
-
- # If neither matched, then we have a broken ls. This can happen
- # if, for instance, CONFIG_SHELL is bash and it inherits a
- # broken ls alias from the environment. This has actually
- # happened. Such a system could not be considered "sane".
- { { echo "$as_me:$LINENO: error: ls -t appears to fail. Make sure there is not a broken
-alias in your environment" >&5
-echo "$as_me: error: ls -t appears to fail. Make sure there is not a broken
-alias in your environment" >&2;}
- { (exit 1); exit 1; }; }
- fi
-
- test "$2" = conftest.file
- )
-then
- # Ok.
- :
-else
- { { echo "$as_me:$LINENO: error: newly created file is older than distributed files!
-Check your system clock" >&5
-echo "$as_me: error: newly created file is older than distributed files!
-Check your system clock" >&2;}
- { (exit 1); exit 1; }; }
-fi
-echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
-test "$program_prefix" != NONE &&
- program_transform_name="s,^,$program_prefix,;$program_transform_name"
-# Use a double $ so make ignores it.
-test "$program_suffix" != NONE &&
- program_transform_name="s,\$,$program_suffix,;$program_transform_name"
-# Double any \ or $. echo might interpret backslashes.
-# By default was `s,x,x', remove it if useless.
-cat <<\_ACEOF >conftest.sed
-s/[\\$]/&&/g;s/;s,x,x,$//
-_ACEOF
-program_transform_name=`echo $program_transform_name | sed -f conftest.sed`
-rm conftest.sed
-
-# expand $ac_aux_dir to an absolute path
-am_aux_dir=`cd $ac_aux_dir && pwd`
-
-test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing"
-# Use eval to expand $SHELL
-if eval "$MISSING --run true"; then
- am_missing_run="$MISSING --run "
-else
- am_missing_run=
- { echo "$as_me:$LINENO: WARNING: \`missing' script is too old or missing" >&5
-echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;}
-fi
-
-if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then
- # We used to keeping the `.' as first argument, in order to
- # allow $(mkdir_p) to be used without argument. As in
- # $(mkdir_p) $(somedir)
- # where $(somedir) is conditionally defined. However this is wrong
- # for two reasons:
- # 1. if the package is installed by a user who cannot write `.'
- # make install will fail,
- # 2. the above comment should most certainly read
- # $(mkdir_p) $(DESTDIR)$(somedir)
- # so it does not work when $(somedir) is undefined and
- # $(DESTDIR) is not.
- # To support the latter case, we have to write
- # test -z "$(somedir)" || $(mkdir_p) $(DESTDIR)$(somedir),
- # so the `.' trick is pointless.
- mkdir_p='mkdir -p --'
-else
- # On NextStep and OpenStep, the `mkdir' command does not
- # recognize any option. It will interpret all options as
- # directories to create, and then abort because `.' already
- # exists.
- for d in ./-p ./--version;
- do
- test -d $d && rmdir $d
- done
- # $(mkinstalldirs) is defined by Automake if mkinstalldirs exists.
- if test -f "$ac_aux_dir/mkinstalldirs"; then
- mkdir_p='$(mkinstalldirs)'
- else
- mkdir_p='$(install_sh) -d'
- fi
-fi
-
-for ac_prog in gawk mawk nawk awk
-do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_AWK+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$AWK"; then
- ac_cv_prog_AWK="$AWK" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_AWK="$ac_prog"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
-fi
-fi
-AWK=$ac_cv_prog_AWK
-if test -n "$AWK"; then
- echo "$as_me:$LINENO: result: $AWK" >&5
-echo "${ECHO_T}$AWK" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
- test -n "$AWK" && break
-done
-
-echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5
-echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6
-set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y,:./+-,___p_,'`
-if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.make <<\_ACEOF
-all:
- @echo 'ac_maketemp="$(MAKE)"'
-_ACEOF
-# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
-eval `${MAKE-make} -f conftest.make 2>/dev/null | grep temp=`
-if test -n "$ac_maketemp"; then
- eval ac_cv_prog_make_${ac_make}_set=yes
-else
- eval ac_cv_prog_make_${ac_make}_set=no
-fi
-rm -f conftest.make
-fi
-if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then
- echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
- SET_MAKE=
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
- SET_MAKE="MAKE=${MAKE-make}"
-fi
-
-rm -rf .tst 2>/dev/null
-mkdir .tst 2>/dev/null
-if test -d .tst; then
- am__leading_dot=.
-else
- am__leading_dot=_
-fi
-rmdir .tst 2>/dev/null
-
-# test to see if srcdir already configured
-if test "`cd $srcdir && pwd`" != "`pwd`" &&
- test -f $srcdir/config.status; then
- { { echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5
-echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;}
- { (exit 1); exit 1; }; }
-fi
-
-# test whether we have cygpath
-if test -z "$CYGPATH_W"; then
- if (cygpath --version) >/dev/null 2>/dev/null; then
- CYGPATH_W='cygpath -w'
- else
- CYGPATH_W=echo
- fi
-fi
-
-
-# Define the identity of the package.
- PACKAGE=oprofile
- VERSION=0.9.6
-
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE "$PACKAGE"
-_ACEOF
-
-
-cat >>confdefs.h <<_ACEOF
-#define VERSION "$VERSION"
-_ACEOF
-
-# Some tools Automake needs.
-
-ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"}
-
-
-AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"}
-
-
-AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"}
-
-
-AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"}
-
-
-MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
-
-install_sh=${install_sh-"$am_aux_dir/install-sh"}
-
-# Installed binaries are usually stripped using `strip' when the user
-# run `make install-strip'. However `strip' might not be the right
-# tool to use in cross-compilation environments, therefore Automake
-# will honor the `STRIP' environment variable to overrule this program.
-if test "$cross_compiling" != no; then
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
-set dummy ${ac_tool_prefix}strip; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_STRIP+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$STRIP"; then
- ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_STRIP="${ac_tool_prefix}strip"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
-fi
-fi
-STRIP=$ac_cv_prog_STRIP
-if test -n "$STRIP"; then
- echo "$as_me:$LINENO: result: $STRIP" >&5
-echo "${ECHO_T}$STRIP" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
-fi
-if test -z "$ac_cv_prog_STRIP"; then
- ac_ct_STRIP=$STRIP
- # Extract the first word of "strip", so it can be a program name with args.
-set dummy strip; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$ac_ct_STRIP"; then
- ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_STRIP="strip"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
- test -z "$ac_cv_prog_ac_ct_STRIP" && ac_cv_prog_ac_ct_STRIP=":"
-fi
-fi
-ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
-if test -n "$ac_ct_STRIP"; then
- echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5
-echo "${ECHO_T}$ac_ct_STRIP" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
- STRIP=$ac_ct_STRIP
-else
- STRIP="$ac_cv_prog_STRIP"
-fi
-
-fi
-INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s"
-
-# We need awk for the "check" target. The system "awk" is bad on
-# some platforms.
-# Always define AMTAR for backward compatibility.
-
-AMTAR=${AMTAR-"${am_missing_run}tar"}
-
-am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'
-
-
-
-
-
- ac_config_headers="$ac_config_headers config.h"
-
-
-DEPDIR="${am__leading_dot}deps"
-
- ac_config_commands="$ac_config_commands depfiles"
-
-
-am_make=${MAKE-make}
-cat > confinc << 'END'
-am__doit:
- @echo done
-.PHONY: am__doit
-END
-# If we don't find an include directive, just comment out the code.
-echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5
-echo $ECHO_N "checking for style of include used by $am_make... $ECHO_C" >&6
-am__include="#"
-am__quote=
-_am_result=none
-# First try GNU make style include.
-echo "include confinc" > confmf
-# We grep out `Entering directory' and `Leaving directory'
-# messages which can occur if `w' ends up in MAKEFLAGS.
-# In particular we don't look at `^make:' because GNU make might
-# be invoked under some other name (usually "gmake"), in which
-# case it prints its new name instead of `make'.
-if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then
- am__include=include
- am__quote=
- _am_result=GNU
-fi
-# Now try BSD make style include.
-if test "$am__include" = "#"; then
- echo '.include "confinc"' > confmf
- if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then
- am__include=.include
- am__quote="\""
- _am_result=BSD
- fi
-fi
-
-
-echo "$as_me:$LINENO: result: $_am_result" >&5
-echo "${ECHO_T}$_am_result" >&6
-rm -f confinc confmf
-
-# Check whether --enable-dependency-tracking or --disable-dependency-tracking was given.
-if test "${enable_dependency_tracking+set}" = set; then
- enableval="$enable_dependency_tracking"
-
-fi;
-if test "x$enable_dependency_tracking" != xno; then
- am_depcomp="$ac_aux_dir/depcomp"
- AMDEPBACKSLASH='\'
-fi
-
-
-if test "x$enable_dependency_tracking" != xno; then
- AMDEP_TRUE=
- AMDEP_FALSE='#'
-else
- AMDEP_TRUE='#'
- AMDEP_FALSE=
-fi
-
-
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
-set dummy ${ac_tool_prefix}gcc; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_CC+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_CC="${ac_tool_prefix}gcc"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
- echo "$as_me:$LINENO: result: $CC" >&5
-echo "${ECHO_T}$CC" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
-fi
-if test -z "$ac_cv_prog_CC"; then
- ac_ct_CC=$CC
- # Extract the first word of "gcc", so it can be a program name with args.
-set dummy gcc; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$ac_ct_CC"; then
- ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_CC="gcc"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
- echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
-echo "${ECHO_T}$ac_ct_CC" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
- CC=$ac_ct_CC
-else
- CC="$ac_cv_prog_CC"
-fi
-
-if test -z "$CC"; then
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
-set dummy ${ac_tool_prefix}cc; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_CC+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_CC="${ac_tool_prefix}cc"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
- echo "$as_me:$LINENO: result: $CC" >&5
-echo "${ECHO_T}$CC" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
-fi
-if test -z "$ac_cv_prog_CC"; then
- ac_ct_CC=$CC
- # Extract the first word of "cc", so it can be a program name with args.
-set dummy cc; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$ac_ct_CC"; then
- ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_CC="cc"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
- echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
-echo "${ECHO_T}$ac_ct_CC" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
- CC=$ac_ct_CC
-else
- CC="$ac_cv_prog_CC"
-fi
-
-fi
-if test -z "$CC"; then
- # Extract the first word of "cc", so it can be a program name with args.
-set dummy cc; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_CC+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
- ac_prog_rejected=no
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
- ac_prog_rejected=yes
- continue
- fi
- ac_cv_prog_CC="cc"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
-if test $ac_prog_rejected = yes; then
- # We found a bogon in the path, so make sure we never use it.
- set dummy $ac_cv_prog_CC
- shift
- if test $# != 0; then
- # We chose a different compiler from the bogus one.
- # However, it has the same basename, so the bogon will be chosen
- # first if we set CC to just the basename; use the full file name.
- shift
- ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
- fi
-fi
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
- echo "$as_me:$LINENO: result: $CC" >&5
-echo "${ECHO_T}$CC" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
-fi
-if test -z "$CC"; then
- if test -n "$ac_tool_prefix"; then
- for ac_prog in cl
- do
- # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_CC+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
- echo "$as_me:$LINENO: result: $CC" >&5
-echo "${ECHO_T}$CC" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
- test -n "$CC" && break
- done
-fi
-if test -z "$CC"; then
- ac_ct_CC=$CC
- for ac_prog in cl
-do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$ac_ct_CC"; then
- ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_CC="$ac_prog"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
- echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
-echo "${ECHO_T}$ac_ct_CC" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
- test -n "$ac_ct_CC" && break
-done
-
- CC=$ac_ct_CC
-fi
-
-fi
-
-
-test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH
-See \`config.log' for more details." >&5
-echo "$as_me: error: no acceptable C compiler found in \$PATH
-See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }
-
-# Provide some information about the compiler.
-echo "$as_me:$LINENO:" \
- "checking for C compiler version" >&5
-ac_compiler=`set X $ac_compile; echo $2`
-{ (eval echo "$as_me:$LINENO: \"$ac_compiler --version </dev/null >&5\"") >&5
- (eval $ac_compiler --version </dev/null >&5) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }
-{ (eval echo "$as_me:$LINENO: \"$ac_compiler -v </dev/null >&5\"") >&5
- (eval $ac_compiler -v </dev/null >&5) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }
-{ (eval echo "$as_me:$LINENO: \"$ac_compiler -V </dev/null >&5\"") >&5
- (eval $ac_compiler -V </dev/null >&5) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }
-
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files a.out a.exe b.out"
-# Try to create an executable without -o first, disregard a.out.
-# It will help us diagnose broken compilers, and finding out an intuition
-# of exeext.
-echo "$as_me:$LINENO: checking for C compiler default output file name" >&5
-echo $ECHO_N "checking for C compiler default output file name... $ECHO_C" >&6
-ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
-if { (eval echo "$as_me:$LINENO: \"$ac_link_default\"") >&5
- (eval $ac_link_default) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; then
- # Find the output, starting from the most likely. This scheme is
-# not robust to junk in `.', hence go to wildcards (a.*) only as a last
-# resort.
-
-# Be careful to initialize this variable, since it used to be cached.
-# Otherwise an old cache value of `no' led to `EXEEXT = no' in a Makefile.
-ac_cv_exeext=
-# b.out is created by i960 compilers.
-for ac_file in a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out
-do
- test -f "$ac_file" || continue
- case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj )
- ;;
- conftest.$ac_ext )
- # This is the source file.
- ;;
- [ab].out )
- # We found the default executable, but exeext='' is most
- # certainly right.
- break;;
- *.* )
- ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
- # FIXME: I believe we export ac_cv_exeext for Libtool,
- # but it would be cool to find out if it's true. Does anybody
- # maintain Libtool? --akim.
- export ac_cv_exeext
- break;;
- * )
- break;;
- esac
-done
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-{ { echo "$as_me:$LINENO: error: C compiler cannot create executables
-See \`config.log' for more details." >&5
-echo "$as_me: error: C compiler cannot create executables
-See \`config.log' for more details." >&2;}
- { (exit 77); exit 77; }; }
-fi
-
-ac_exeext=$ac_cv_exeext
-echo "$as_me:$LINENO: result: $ac_file" >&5
-echo "${ECHO_T}$ac_file" >&6
-
-# Check the compiler produces executables we can run. If not, either
-# the compiler is broken, or we cross compile.
-echo "$as_me:$LINENO: checking whether the C compiler works" >&5
-echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6
-# FIXME: These cross compiler hacks should be removed for Autoconf 3.0
-# If not cross compiling, check that we can run a simple program.
-if test "$cross_compiling" != yes; then
- if { ac_try='./$ac_file'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- cross_compiling=no
- else
- if test "$cross_compiling" = maybe; then
- cross_compiling=yes
- else
- { { echo "$as_me:$LINENO: error: cannot run C compiled programs.
-If you meant to cross compile, use \`--host'.
-See \`config.log' for more details." >&5
-echo "$as_me: error: cannot run C compiled programs.
-If you meant to cross compile, use \`--host'.
-See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }
- fi
- fi
-fi
-echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
-
-rm -f a.out a.exe conftest$ac_cv_exeext b.out
-ac_clean_files=$ac_clean_files_save
-# Check the compiler produces executables we can run. If not, either
-# the compiler is broken, or we cross compile.
-echo "$as_me:$LINENO: checking whether we are cross compiling" >&5
-echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6
-echo "$as_me:$LINENO: result: $cross_compiling" >&5
-echo "${ECHO_T}$cross_compiling" >&6
-
-echo "$as_me:$LINENO: checking for suffix of executables" >&5
-echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; then
- # If both `conftest.exe' and `conftest' are `present' (well, observable)
-# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will
-# work properly (i.e., refer to `conftest.exe'), while it won't with
-# `rm'.
-for ac_file in conftest.exe conftest conftest.*; do
- test -f "$ac_file" || continue
- case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj ) ;;
- *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
- export ac_cv_exeext
- break;;
- * ) break;;
- esac
-done
-else
- { { echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link
-See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute suffix of executables: cannot compile and link
-See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }
-fi
-
-rm -f conftest$ac_cv_exeext
-echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5
-echo "${ECHO_T}$ac_cv_exeext" >&6
-
-rm -f conftest.$ac_ext
-EXEEXT=$ac_cv_exeext
-ac_exeext=$EXEEXT
-echo "$as_me:$LINENO: checking for suffix of object files" >&5
-echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6
-if test "${ac_cv_objext+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.o conftest.obj
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; then
- for ac_file in `(ls conftest.o conftest.obj; ls conftest.*) 2>/dev/null`; do
- case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg ) ;;
- *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
- break;;
- esac
-done
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-{ { echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile
-See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute suffix of object files: cannot compile
-See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }
-fi
-
-rm -f conftest.$ac_cv_objext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_objext" >&5
-echo "${ECHO_T}$ac_cv_objext" >&6
-OBJEXT=$ac_cv_objext
-ac_objext=$OBJEXT
-echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5
-echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6
-if test "${ac_cv_c_compiler_gnu+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-#ifndef __GNUC__
- choke me
-#endif
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_compiler_gnu=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_compiler_gnu=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-ac_cv_c_compiler_gnu=$ac_compiler_gnu
-
-fi
-echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5
-echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6
-GCC=`test $ac_compiler_gnu = yes && echo yes`
-ac_test_CFLAGS=${CFLAGS+set}
-ac_save_CFLAGS=$CFLAGS
-CFLAGS="-g"
-echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5
-echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6
-if test "${ac_cv_prog_cc_g+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_prog_cc_g=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_prog_cc_g=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5
-echo "${ECHO_T}$ac_cv_prog_cc_g" >&6
-if test "$ac_test_CFLAGS" = set; then
- CFLAGS=$ac_save_CFLAGS
-elif test $ac_cv_prog_cc_g = yes; then
- if test "$GCC" = yes; then
- CFLAGS="-g -O2"
- else
- CFLAGS="-g"
- fi
-else
- if test "$GCC" = yes; then
- CFLAGS="-O2"
- else
- CFLAGS=
- fi
-fi
-echo "$as_me:$LINENO: checking for $CC option to accept ANSI C" >&5
-echo $ECHO_N "checking for $CC option to accept ANSI C... $ECHO_C" >&6
-if test "${ac_cv_prog_cc_stdc+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_cv_prog_cc_stdc=no
-ac_save_CC=$CC
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <stdarg.h>
-#include <stdio.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */
-struct buf { int x; };
-FILE * (*rcsopen) (struct buf *, struct stat *, int);
-static char *e (p, i)
- char **p;
- int i;
-{
- return p[i];
-}
-static char *f (char * (*g) (char **, int), char **p, ...)
-{
- char *s;
- va_list v;
- va_start (v,p);
- s = g (p, va_arg (v,int));
- va_end (v);
- return s;
-}
-
-/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has
- function prototypes and stuff, but not '\xHH' hex character constants.
- These don't provoke an error unfortunately, instead are silently treated
- as 'x'. The following induces an error, until -std1 is added to get
- proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an
- array size at least. It's necessary to write '\x00'==0 to get something
- that's true only with -std1. */
-int osf4_cc_array ['\x00' == 0 ? 1 : -1];
-
-int test (int i, double x);
-struct s1 {int (*f) (int a);};
-struct s2 {int (*f) (double a);};
-int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
-int argc;
-char **argv;
-int
-main ()
-{
-return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1];
- ;
- return 0;
-}
-_ACEOF
-# Don't try gcc -ansi; that turns off useful extensions and
-# breaks some systems' header files.
-# AIX -qlanglvl=ansi
-# Ultrix and OSF/1 -std1
-# HP-UX 10.20 and later -Ae
-# HP-UX older versions -Aa -D_HPUX_SOURCE
-# SVR4 -Xc -D__EXTENSIONS__
-for ac_arg in "" -qlanglvl=ansi -std1 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
-do
- CC="$ac_save_CC $ac_arg"
- rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_prog_cc_stdc=$ac_arg
-break
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-fi
-rm -f conftest.err conftest.$ac_objext
-done
-rm -f conftest.$ac_ext conftest.$ac_objext
-CC=$ac_save_CC
-
-fi
-
-case "x$ac_cv_prog_cc_stdc" in
- x|xno)
- echo "$as_me:$LINENO: result: none needed" >&5
-echo "${ECHO_T}none needed" >&6 ;;
- *)
- echo "$as_me:$LINENO: result: $ac_cv_prog_cc_stdc" >&5
-echo "${ECHO_T}$ac_cv_prog_cc_stdc" >&6
- CC="$CC $ac_cv_prog_cc_stdc" ;;
-esac
-
-# Some people use a C++ compiler to compile C. Since we use `exit',
-# in C++ we need to declare it. In case someone uses the same compiler
-# for both compiling C and C++ we need to have the C++ compiler decide
-# the declaration of exit, since it's the most demanding environment.
-cat >conftest.$ac_ext <<_ACEOF
-#ifndef __cplusplus
- choke me
-#endif
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- for ac_declaration in \
- '' \
- 'extern "C" void std::exit (int) throw (); using std::exit;' \
- 'extern "C" void std::exit (int); using std::exit;' \
- 'extern "C" void exit (int) throw ();' \
- 'extern "C" void exit (int);' \
- 'void exit (int);'
-do
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_declaration
-#include <stdlib.h>
-int
-main ()
-{
-exit (42);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- :
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-continue
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_declaration
-int
-main ()
-{
-exit (42);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- break
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-done
-rm -f conftest*
-if test -n "$ac_declaration"; then
- echo '#ifdef __cplusplus' >>confdefs.h
- echo $ac_declaration >>confdefs.h
- echo '#endif' >>confdefs.h
-fi
-
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-depcc="$CC" am_compiler_list=
-
-echo "$as_me:$LINENO: checking dependency style of $depcc" >&5
-echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6
-if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
- # We make a subdir and do the tests there. Otherwise we can end up
- # making bogus files that we don't know about and never remove. For
- # instance it was reported that on HP-UX the gcc test will end up
- # making a dummy file named `D' -- because `-MD' means `put the output
- # in D'.
- mkdir conftest.dir
- # Copy depcomp to subdir because otherwise we won't find it if we're
- # using a relative directory.
- cp "$am_depcomp" conftest.dir
- cd conftest.dir
- # We will build objects and dependencies in a subdirectory because
- # it helps to detect inapplicable dependency modes. For instance
- # both Tru64's cc and ICC support -MD to output dependencies as a
- # side effect of compilation, but ICC will put the dependencies in
- # the current directory while Tru64 will put them in the object
- # directory.
- mkdir sub
-
- am_cv_CC_dependencies_compiler_type=none
- if test "$am_compiler_list" = ""; then
- am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
- fi
- for depmode in $am_compiler_list; do
- # Setup a source with many dependencies, because some compilers
- # like to wrap large dependency lists on column 80 (with \), and
- # we should not choose a depcomp mode which is confused by this.
- #
- # We need to recreate these files for each test, as the compiler may
- # overwrite some of them when testing with obscure command lines.
- # This happens at least with the AIX C compiler.
- : > sub/conftest.c
- for i in 1 2 3 4 5 6; do
- echo '#include "conftst'$i'.h"' >> sub/conftest.c
- # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
- # Solaris 8's {/usr,}/bin/sh.
- touch sub/conftst$i.h
- done
- echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
-
- case $depmode in
- nosideeffect)
- # after this tag, mechanisms are not by side-effect, so they'll
- # only be used when explicitly requested
- if test "x$enable_dependency_tracking" = xyes; then
- continue
- else
- break
- fi
- ;;
- none) break ;;
- esac
- # We check with `-c' and `-o' for the sake of the "dashmstdout"
- # mode. It turns out that the SunPro C++ compiler does not properly
- # handle `-M -o', and we need to detect this.
- if depmode=$depmode \
- source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \
- depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
- $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \
- >/dev/null 2>conftest.err &&
- grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
- grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 &&
- ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
- # icc doesn't choke on unknown options, it will just issue warnings
- # or remarks (even with -Werror). So we grep stderr for any message
- # that says an option was ignored or not supported.
- # When given -MP, icc 7.0 and 7.1 complain thusly:
- # icc: Command line warning: ignoring option '-M'; no argument required
- # The diagnosis changed in icc 8.0:
- # icc: Command line remark: option '-MP' not supported
- if (grep 'ignoring option' conftest.err ||
- grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
- am_cv_CC_dependencies_compiler_type=$depmode
- break
- fi
- fi
- done
-
- cd ..
- rm -rf conftest.dir
-else
- am_cv_CC_dependencies_compiler_type=none
-fi
-
-fi
-echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5
-echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6
-CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
-
-
-
-if
- test "x$enable_dependency_tracking" != xno \
- && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then
- am__fastdepCC_TRUE=
- am__fastdepCC_FALSE='#'
-else
- am__fastdepCC_TRUE='#'
- am__fastdepCC_FALSE=
-fi
-
-
-
-echo "$as_me:$LINENO: checking whether basename is declared" >&5
-echo $ECHO_N "checking whether basename is declared... $ECHO_C" >&6
-if test "${ac_cv_have_decl_basename+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <libgen.h>
-
-int
-main ()
-{
-#ifndef basename
- char *p = (char *) basename;
-#endif
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_have_decl_basename=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_have_decl_basename=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_have_decl_basename" >&5
-echo "${ECHO_T}$ac_cv_have_decl_basename" >&6
-if test $ac_cv_have_decl_basename = yes; then
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_BASENAME 1
-_ACEOF
-
-
-else
- cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_BASENAME 0
-_ACEOF
-
-
-fi
-
-
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
-set dummy ${ac_tool_prefix}ranlib; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_RANLIB+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$RANLIB"; then
- ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
-fi
-fi
-RANLIB=$ac_cv_prog_RANLIB
-if test -n "$RANLIB"; then
- echo "$as_me:$LINENO: result: $RANLIB" >&5
-echo "${ECHO_T}$RANLIB" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
-fi
-if test -z "$ac_cv_prog_RANLIB"; then
- ac_ct_RANLIB=$RANLIB
- # Extract the first word of "ranlib", so it can be a program name with args.
-set dummy ranlib; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$ac_ct_RANLIB"; then
- ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_RANLIB="ranlib"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
- test -z "$ac_cv_prog_ac_ct_RANLIB" && ac_cv_prog_ac_ct_RANLIB=":"
-fi
-fi
-ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
-if test -n "$ac_ct_RANLIB"; then
- echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5
-echo "${ECHO_T}$ac_ct_RANLIB" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
- RANLIB=$ac_ct_RANLIB
-else
- RANLIB="$ac_cv_prog_RANLIB"
-fi
-
-# Check whether --enable-shared or --disable-shared was given.
-if test "${enable_shared+set}" = set; then
- enableval="$enable_shared"
- p=${PACKAGE-default}
- case $enableval in
- yes) enable_shared=yes ;;
- no) enable_shared=no ;;
- *)
- enable_shared=no
- # Look at the argument we got. We use all the common list separators.
- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
- for pkg in $enableval; do
- IFS="$lt_save_ifs"
- if test "X$pkg" = "X$p"; then
- enable_shared=yes
- fi
- done
- IFS="$lt_save_ifs"
- ;;
- esac
-else
- enable_shared=yes
-fi;
-
-# Check whether --enable-static or --disable-static was given.
-if test "${enable_static+set}" = set; then
- enableval="$enable_static"
- p=${PACKAGE-default}
- case $enableval in
- yes) enable_static=yes ;;
- no) enable_static=no ;;
- *)
- enable_static=no
- # Look at the argument we got. We use all the common list separators.
- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
- for pkg in $enableval; do
- IFS="$lt_save_ifs"
- if test "X$pkg" = "X$p"; then
- enable_static=yes
- fi
- done
- IFS="$lt_save_ifs"
- ;;
- esac
-else
- enable_static=yes
-fi;
-
-# Check whether --enable-fast-install or --disable-fast-install was given.
-if test "${enable_fast_install+set}" = set; then
- enableval="$enable_fast_install"
- p=${PACKAGE-default}
- case $enableval in
- yes) enable_fast_install=yes ;;
- no) enable_fast_install=no ;;
- *)
- enable_fast_install=no
- # Look at the argument we got. We use all the common list separators.
- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
- for pkg in $enableval; do
- IFS="$lt_save_ifs"
- if test "X$pkg" = "X$p"; then
- enable_fast_install=yes
- fi
- done
- IFS="$lt_save_ifs"
- ;;
- esac
-else
- enable_fast_install=yes
-fi;
-
-# Make sure we can run config.sub.
-$ac_config_sub sun4 >/dev/null 2>&1 ||
- { { echo "$as_me:$LINENO: error: cannot run $ac_config_sub" >&5
-echo "$as_me: error: cannot run $ac_config_sub" >&2;}
- { (exit 1); exit 1; }; }
-
-echo "$as_me:$LINENO: checking build system type" >&5
-echo $ECHO_N "checking build system type... $ECHO_C" >&6
-if test "${ac_cv_build+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_cv_build_alias=$build_alias
-test -z "$ac_cv_build_alias" &&
- ac_cv_build_alias=`$ac_config_guess`
-test -z "$ac_cv_build_alias" &&
- { { echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5
-echo "$as_me: error: cannot guess build type; you must specify one" >&2;}
- { (exit 1); exit 1; }; }
-ac_cv_build=`$ac_config_sub $ac_cv_build_alias` ||
- { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_build_alias failed" >&5
-echo "$as_me: error: $ac_config_sub $ac_cv_build_alias failed" >&2;}
- { (exit 1); exit 1; }; }
-
-fi
-echo "$as_me:$LINENO: result: $ac_cv_build" >&5
-echo "${ECHO_T}$ac_cv_build" >&6
-build=$ac_cv_build
-build_cpu=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
-build_vendor=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
-build_os=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
-
-
-echo "$as_me:$LINENO: checking host system type" >&5
-echo $ECHO_N "checking host system type... $ECHO_C" >&6
-if test "${ac_cv_host+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_cv_host_alias=$host_alias
-test -z "$ac_cv_host_alias" &&
- ac_cv_host_alias=$ac_cv_build_alias
-ac_cv_host=`$ac_config_sub $ac_cv_host_alias` ||
- { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_host_alias failed" >&5
-echo "$as_me: error: $ac_config_sub $ac_cv_host_alias failed" >&2;}
- { (exit 1); exit 1; }; }
-
-fi
-echo "$as_me:$LINENO: result: $ac_cv_host" >&5
-echo "${ECHO_T}$ac_cv_host" >&6
-host=$ac_cv_host
-host_cpu=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
-host_vendor=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
-host_os=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
-
-
-echo "$as_me:$LINENO: checking for a sed that does not truncate output" >&5
-echo $ECHO_N "checking for a sed that does not truncate output... $ECHO_C" >&6
-if test "${lt_cv_path_SED+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- # Loop through the user's path and test for sed and gsed.
-# Then use that list of sed's as ones to test for truncation.
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for lt_ac_prog in sed gsed; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then
- lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext"
- fi
- done
- done
-done
-lt_ac_max=0
-lt_ac_count=0
-# Add /usr/xpg4/bin/sed as it is typically found on Solaris
-# along with /bin/sed that truncates output.
-for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do
- test ! -f $lt_ac_sed && continue
- cat /dev/null > conftest.in
- lt_ac_count=0
- echo $ECHO_N "0123456789$ECHO_C" >conftest.in
- # Check for GNU sed and select it if it is found.
- if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then
- lt_cv_path_SED=$lt_ac_sed
- break
- fi
- while true; do
- cat conftest.in conftest.in >conftest.tmp
- mv conftest.tmp conftest.in
- cp conftest.in conftest.nl
- echo >>conftest.nl
- $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break
- cmp -s conftest.out conftest.nl || break
- # 10000 chars as input seems more than enough
- test $lt_ac_count -gt 10 && break
- lt_ac_count=`expr $lt_ac_count + 1`
- if test $lt_ac_count -gt $lt_ac_max; then
- lt_ac_max=$lt_ac_count
- lt_cv_path_SED=$lt_ac_sed
- fi
- done
-done
-
-fi
-
-SED=$lt_cv_path_SED
-echo "$as_me:$LINENO: result: $SED" >&5
-echo "${ECHO_T}$SED" >&6
-
-echo "$as_me:$LINENO: checking for egrep" >&5
-echo $ECHO_N "checking for egrep... $ECHO_C" >&6
-if test "${ac_cv_prog_egrep+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if echo a | (grep -E '(a|b)') >/dev/null 2>&1
- then ac_cv_prog_egrep='grep -E'
- else ac_cv_prog_egrep='egrep'
- fi
-fi
-echo "$as_me:$LINENO: result: $ac_cv_prog_egrep" >&5
-echo "${ECHO_T}$ac_cv_prog_egrep" >&6
- EGREP=$ac_cv_prog_egrep
-
-
-
-# Check whether --with-gnu-ld or --without-gnu-ld was given.
-if test "${with_gnu_ld+set}" = set; then
- withval="$with_gnu_ld"
- test "$withval" = no || with_gnu_ld=yes
-else
- with_gnu_ld=no
-fi;
-ac_prog=ld
-if test "$GCC" = yes; then
- # Check if gcc -print-prog-name=ld gives a path.
- echo "$as_me:$LINENO: checking for ld used by $CC" >&5
-echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6
- case $host in
- *-*-mingw*)
- # gcc leaves a trailing carriage return which upsets mingw
- ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
- *)
- ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
- esac
- case $ac_prog in
- # Accept absolute paths.
- [\\/]* | ?:[\\/]*)
- re_direlt='/[^/][^/]*/\.\./'
- # Canonicalize the pathname of ld
- ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'`
- while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
- ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"`
- done
- test -z "$LD" && LD="$ac_prog"
- ;;
- "")
- # If it fails, then pretend we aren't using GCC.
- ac_prog=ld
- ;;
- *)
- # If it is relative, then search for the first ld in PATH.
- with_gnu_ld=unknown
- ;;
- esac
-elif test "$with_gnu_ld" = yes; then
- echo "$as_me:$LINENO: checking for GNU ld" >&5
-echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6
-else
- echo "$as_me:$LINENO: checking for non-GNU ld" >&5
-echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6
-fi
-if test "${lt_cv_path_LD+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -z "$LD"; then
- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
- for ac_dir in $PATH; do
- IFS="$lt_save_ifs"
- test -z "$ac_dir" && ac_dir=.
- if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
- lt_cv_path_LD="$ac_dir/$ac_prog"
- # Check to see if the program is GNU ld. I'd rather use --version,
- # but apparently some variants of GNU ld only accept -v.
- # Break only if it was the GNU/non-GNU ld that we prefer.
- case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
- *GNU* | *'with BFD'*)
- test "$with_gnu_ld" != no && break
- ;;
- *)
- test "$with_gnu_ld" != yes && break
- ;;
- esac
- fi
- done
- IFS="$lt_save_ifs"
-else
- lt_cv_path_LD="$LD" # Let the user override the test with a path.
-fi
-fi
-
-LD="$lt_cv_path_LD"
-if test -n "$LD"; then
- echo "$as_me:$LINENO: result: $LD" >&5
-echo "${ECHO_T}$LD" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5
-echo "$as_me: error: no acceptable ld found in \$PATH" >&2;}
- { (exit 1); exit 1; }; }
-echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5
-echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6
-if test "${lt_cv_prog_gnu_ld+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- # I'd rather use --version here, but apparently some GNU lds only accept -v.
-case `$LD -v 2>&1 </dev/null` in
-*GNU* | *'with BFD'*)
- lt_cv_prog_gnu_ld=yes
- ;;
-*)
- lt_cv_prog_gnu_ld=no
- ;;
-esac
-fi
-echo "$as_me:$LINENO: result: $lt_cv_prog_gnu_ld" >&5
-echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6
-with_gnu_ld=$lt_cv_prog_gnu_ld
-
-
-echo "$as_me:$LINENO: checking for $LD option to reload object files" >&5
-echo $ECHO_N "checking for $LD option to reload object files... $ECHO_C" >&6
-if test "${lt_cv_ld_reload_flag+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- lt_cv_ld_reload_flag='-r'
-fi
-echo "$as_me:$LINENO: result: $lt_cv_ld_reload_flag" >&5
-echo "${ECHO_T}$lt_cv_ld_reload_flag" >&6
-reload_flag=$lt_cv_ld_reload_flag
-case $reload_flag in
-"" | " "*) ;;
-*) reload_flag=" $reload_flag" ;;
-esac
-reload_cmds='$LD$reload_flag -o $output$reload_objs'
-case $host_os in
- darwin*)
- if test "$GCC" = yes; then
- reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
- else
- reload_cmds='$LD$reload_flag -o $output$reload_objs'
- fi
- ;;
-esac
-
-echo "$as_me:$LINENO: checking for BSD-compatible nm" >&5
-echo $ECHO_N "checking for BSD-compatible nm... $ECHO_C" >&6
-if test "${lt_cv_path_NM+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$NM"; then
- # Let the user override the test.
- lt_cv_path_NM="$NM"
-else
- lt_nm_to_check="${ac_tool_prefix}nm"
- if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
- lt_nm_to_check="$lt_nm_to_check nm"
- fi
- for lt_tmp_nm in $lt_nm_to_check; do
- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
- for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
- IFS="$lt_save_ifs"
- test -z "$ac_dir" && ac_dir=.
- tmp_nm="$ac_dir/$lt_tmp_nm"
- if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
- # Check to see if the nm accepts a BSD-compat flag.
- # Adding the `sed 1q' prevents false positives on HP-UX, which says:
- # nm: unknown option "B" ignored
- # Tru64's nm complains that /dev/null is an invalid object file
- case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
- */dev/null* | *'Invalid file or object type'*)
- lt_cv_path_NM="$tmp_nm -B"
- break
- ;;
- *)
- case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
- */dev/null*)
- lt_cv_path_NM="$tmp_nm -p"
- break
- ;;
- *)
- lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
- continue # so that we can try to find one that supports BSD flags
- ;;
- esac
- ;;
- esac
- fi
- done
- IFS="$lt_save_ifs"
- done
- test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm
-fi
-fi
-echo "$as_me:$LINENO: result: $lt_cv_path_NM" >&5
-echo "${ECHO_T}$lt_cv_path_NM" >&6
-NM="$lt_cv_path_NM"
-
-echo "$as_me:$LINENO: checking whether ln -s works" >&5
-echo $ECHO_N "checking whether ln -s works... $ECHO_C" >&6
-LN_S=$as_ln_s
-if test "$LN_S" = "ln -s"; then
- echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
-else
- echo "$as_me:$LINENO: result: no, using $LN_S" >&5
-echo "${ECHO_T}no, using $LN_S" >&6
-fi
-
-echo "$as_me:$LINENO: checking how to recognise dependent libraries" >&5
-echo $ECHO_N "checking how to recognise dependent libraries... $ECHO_C" >&6
-if test "${lt_cv_deplibs_check_method+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- lt_cv_file_magic_cmd='$MAGIC_CMD'
-lt_cv_file_magic_test_file=
-lt_cv_deplibs_check_method='unknown'
-# Need to set the preceding variable on all platforms that support
-# interlibrary dependencies.
-# 'none' -- dependencies not supported.
-# `unknown' -- same as none, but documents that we really don't know.
-# 'pass_all' -- all dependencies passed with no checks.
-# 'test_compile' -- check by making test program.
-# 'file_magic [[regex]]' -- check by looking for files in library path
-# which responds to the $file_magic_cmd with a given extended regex.
-# If you have `file' or equivalent on your system and you're not sure
-# whether `pass_all' will *always* work, you probably want this one.
-
-case $host_os in
-aix4* | aix5*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-beos*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-bsdi[45]*)
- lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)'
- lt_cv_file_magic_cmd='/usr/bin/file -L'
- lt_cv_file_magic_test_file=/shlib/libc.so
- ;;
-
-cygwin*)
- # func_win32_libid is a shell function defined in ltmain.sh
- lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
- lt_cv_file_magic_cmd='func_win32_libid'
- ;;
-
-mingw* | pw32*)
- # Base MSYS/MinGW do not provide the 'file' command needed by
- # func_win32_libid shell function, so use a weaker test based on 'objdump'.
- lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
- lt_cv_file_magic_cmd='$OBJDUMP -f'
- ;;
-
-darwin* | rhapsody*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-freebsd* | kfreebsd*-gnu | dragonfly*)
- if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
- case $host_cpu in
- i*86 )
- # Not sure whether the presence of OpenBSD here was a mistake.
- # Let's accept both of them until this is cleared up.
- lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library'
- lt_cv_file_magic_cmd=/usr/bin/file
- lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
- ;;
- esac
- else
- lt_cv_deplibs_check_method=pass_all
- fi
- ;;
-
-gnu*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-hpux10.20* | hpux11*)
- lt_cv_file_magic_cmd=/usr/bin/file
- case $host_cpu in
- ia64*)
- lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64'
- lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
- ;;
- hppa*64*)
- lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]'
- lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
- ;;
- *)
- lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9].[0-9]) shared library'
- lt_cv_file_magic_test_file=/usr/lib/libc.sl
- ;;
- esac
- ;;
-
-interix3*)
- # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
- lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$'
- ;;
-
-irix5* | irix6* | nonstopux*)
- case $LD in
- *-32|*"-32 ") libmagic=32-bit;;
- *-n32|*"-n32 ") libmagic=N32;;
- *-64|*"-64 ") libmagic=64-bit;;
- *) libmagic=never-match;;
- esac
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-# This must be Linux ELF.
-linux*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-netbsd*)
- if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
- lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
- else
- lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$'
- fi
- ;;
-
-newos6*)
- lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)'
- lt_cv_file_magic_cmd=/usr/bin/file
- lt_cv_file_magic_test_file=/usr/lib/libnls.so
- ;;
-
-nto-qnx*)
- lt_cv_deplibs_check_method=unknown
- ;;
-
-openbsd*)
- if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$'
- else
- lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
- fi
- ;;
-
-osf3* | osf4* | osf5*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-solaris*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-sysv4 | sysv4.3*)
- case $host_vendor in
- motorola)
- lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]'
- lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
- ;;
- ncr)
- lt_cv_deplibs_check_method=pass_all
- ;;
- sequent)
- lt_cv_file_magic_cmd='/bin/file'
- lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )'
- ;;
- sni)
- lt_cv_file_magic_cmd='/bin/file'
- lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib"
- lt_cv_file_magic_test_file=/lib/libc.so
- ;;
- siemens)
- lt_cv_deplibs_check_method=pass_all
- ;;
- pc)
- lt_cv_deplibs_check_method=pass_all
- ;;
- esac
- ;;
-
-sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-esac
-
-fi
-echo "$as_me:$LINENO: result: $lt_cv_deplibs_check_method" >&5
-echo "${ECHO_T}$lt_cv_deplibs_check_method" >&6
-file_magic_cmd=$lt_cv_file_magic_cmd
-deplibs_check_method=$lt_cv_deplibs_check_method
-test -z "$deplibs_check_method" && deplibs_check_method=unknown
-
-
-
-
-# If no C compiler was specified, use CC.
-LTCC=${LTCC-"$CC"}
-
-# If no C compiler flags were specified, use CFLAGS.
-LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
-
-# Allow CC to be a program name with arguments.
-compiler=$CC
-
-# Check whether --enable-libtool-lock or --disable-libtool-lock was given.
-if test "${enable_libtool_lock+set}" = set; then
- enableval="$enable_libtool_lock"
-
-fi;
-test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
-
-# Some flags need to be propagated to the compiler or linker for good
-# libtool support.
-case $host in
-ia64-*-hpux*)
- # Find out which ABI we are using.
- echo 'int i;' > conftest.$ac_ext
- if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; then
- case `/usr/bin/file conftest.$ac_objext` in
- *ELF-32*)
- HPUX_IA64_MODE="32"
- ;;
- *ELF-64*)
- HPUX_IA64_MODE="64"
- ;;
- esac
- fi
- rm -rf conftest*
- ;;
-*-*-irix6*)
- # Find out which ABI we are using.
- echo '#line 3836 "configure"' > conftest.$ac_ext
- if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; then
- if test "$lt_cv_prog_gnu_ld" = yes; then
- case `/usr/bin/file conftest.$ac_objext` in
- *32-bit*)
- LD="${LD-ld} -melf32bsmip"
- ;;
- *N32*)
- LD="${LD-ld} -melf32bmipn32"
- ;;
- *64-bit*)
- LD="${LD-ld} -melf64bmip"
- ;;
- esac
- else
- case `/usr/bin/file conftest.$ac_objext` in
- *32-bit*)
- LD="${LD-ld} -32"
- ;;
- *N32*)
- LD="${LD-ld} -n32"
- ;;
- *64-bit*)
- LD="${LD-ld} -64"
- ;;
- esac
- fi
- fi
- rm -rf conftest*
- ;;
-
-x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*|s390*-*linux*|sparc*-*linux*)
- # Find out which ABI we are using.
- echo 'int i;' > conftest.$ac_ext
- if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; then
- case `/usr/bin/file conftest.o` in
- *32-bit*)
- case $host in
- x86_64-*linux*)
- LD="${LD-ld} -m elf_i386"
- ;;
- ppc64-*linux*|powerpc64-*linux*)
- LD="${LD-ld} -m elf32ppclinux"
- ;;
- s390x-*linux*)
- LD="${LD-ld} -m elf_s390"
- ;;
- sparc64-*linux*)
- LD="${LD-ld} -m elf32_sparc"
- ;;
- esac
- ;;
- *64-bit*)
- case $host in
- x86_64-*linux*)
- LD="${LD-ld} -m elf_x86_64"
- ;;
- ppc*-*linux*|powerpc*-*linux*)
- LD="${LD-ld} -m elf64ppc"
- ;;
- s390*-*linux*)
- LD="${LD-ld} -m elf64_s390"
- ;;
- sparc*-*linux*)
- LD="${LD-ld} -m elf64_sparc"
- ;;
- esac
- ;;
- esac
- fi
- rm -rf conftest*
- ;;
-
-*-*-sco3.2v5*)
- # On SCO OpenServer 5, we need -belf to get full-featured binaries.
- SAVE_CFLAGS="$CFLAGS"
- CFLAGS="$CFLAGS -belf"
- echo "$as_me:$LINENO: checking whether the C compiler needs -belf" >&5
-echo $ECHO_N "checking whether the C compiler needs -belf... $ECHO_C" >&6
-if test "${lt_cv_cc_needs_belf+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- lt_cv_cc_needs_belf=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-lt_cv_cc_needs_belf=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-fi
-echo "$as_me:$LINENO: result: $lt_cv_cc_needs_belf" >&5
-echo "${ECHO_T}$lt_cv_cc_needs_belf" >&6
- if test x"$lt_cv_cc_needs_belf" != x"yes"; then
- # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
- CFLAGS="$SAVE_CFLAGS"
- fi
- ;;
-sparc*-*solaris*)
- # Find out which ABI we are using.
- echo 'int i;' > conftest.$ac_ext
- if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; then
- case `/usr/bin/file conftest.o` in
- *64-bit*)
- case $lt_cv_prog_gnu_ld in
- yes*) LD="${LD-ld} -m elf64_sparc" ;;
- *) LD="${LD-ld} -64" ;;
- esac
- ;;
- esac
- fi
- rm -rf conftest*
- ;;
-
-
-esac
-
-need_locks="$enable_libtool_lock"
-
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5
-echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6
-# On Suns, sometimes $CPP names a directory.
-if test -n "$CPP" && test -d "$CPP"; then
- CPP=
-fi
-if test -z "$CPP"; then
- if test "${ac_cv_prog_CPP+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- # Double quotes because CPP needs to be expanded
- for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
- do
- ac_preproc_ok=false
-for ac_c_preproc_warn_flag in '' yes
-do
- # Use a header file that comes with gcc, so configuring glibc
- # with a fresh cross-compiler works.
- # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- # <limits.h> exists even on freestanding compilers.
- # On the NeXT, cc -E runs the code through the compiler's parser,
- # not just through cpp. "Syntax error" is here to catch this case.
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
- Syntax error
-_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_c_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
- :
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- # Broken: fails on valid input.
-continue
-fi
-rm -f conftest.err conftest.$ac_ext
-
- # OK, works on sane cases. Now check whether non-existent headers
- # can be detected and how.
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <ac_nonexistent.h>
-_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_c_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
- # Broken: success on invalid input.
-continue
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-rm -f conftest.err conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then
- break
-fi
-
- done
- ac_cv_prog_CPP=$CPP
-
-fi
- CPP=$ac_cv_prog_CPP
-else
- ac_cv_prog_CPP=$CPP
-fi
-echo "$as_me:$LINENO: result: $CPP" >&5
-echo "${ECHO_T}$CPP" >&6
-ac_preproc_ok=false
-for ac_c_preproc_warn_flag in '' yes
-do
- # Use a header file that comes with gcc, so configuring glibc
- # with a fresh cross-compiler works.
- # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- # <limits.h> exists even on freestanding compilers.
- # On the NeXT, cc -E runs the code through the compiler's parser,
- # not just through cpp. "Syntax error" is here to catch this case.
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
- Syntax error
-_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_c_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
- :
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- # Broken: fails on valid input.
-continue
-fi
-rm -f conftest.err conftest.$ac_ext
-
- # OK, works on sane cases. Now check whether non-existent headers
- # can be detected and how.
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <ac_nonexistent.h>
-_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_c_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
- # Broken: success on invalid input.
-continue
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-rm -f conftest.err conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then
- :
-else
- { { echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check
-See \`config.log' for more details." >&5
-echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check
-See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }
-fi
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-echo "$as_me:$LINENO: checking for ANSI C header files" >&5
-echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6
-if test "${ac_cv_header_stdc+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <stdlib.h>
-#include <stdarg.h>
-#include <string.h>
-#include <float.h>
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_header_stdc=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_header_stdc=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-
-if test $ac_cv_header_stdc = yes; then
- # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <string.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "memchr" >/dev/null 2>&1; then
- :
-else
- ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
- # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <stdlib.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "free" >/dev/null 2>&1; then
- :
-else
- ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
- # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
- if test "$cross_compiling" = yes; then
- :
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <ctype.h>
-#if ((' ' & 0x0FF) == 0x020)
-# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
-# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
-#else
-# define ISLOWER(c) \
- (('a' <= (c) && (c) <= 'i') \
- || ('j' <= (c) && (c) <= 'r') \
- || ('s' <= (c) && (c) <= 'z'))
-# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
-#endif
-
-#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
-int
-main ()
-{
- int i;
- for (i = 0; i < 256; i++)
- if (XOR (islower (i), ISLOWER (i))
- || toupper (i) != TOUPPER (i))
- exit(2);
- exit (0);
-}
-_ACEOF
-rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- :
-else
- echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-( exit $ac_status )
-ac_cv_header_stdc=no
-fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
-fi
-fi
-fi
-echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5
-echo "${ECHO_T}$ac_cv_header_stdc" >&6
-if test $ac_cv_header_stdc = yes; then
-
-cat >>confdefs.h <<\_ACEOF
-#define STDC_HEADERS 1
-_ACEOF
-
-fi
-
-# On IRIX 5.3, sys/types and inttypes.h are conflicting.
-
-
-
-
-
-
-
-
-
-for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
- inttypes.h stdint.h unistd.h
-do
-as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-
-#include <$ac_header>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_Header=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_Header=no"
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
-if test `eval echo '${'$as_ac_Header'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
-
-
-for ac_header in dlfcn.h
-do
-as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
-else
- # Is the header compilable?
-echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-#include <$ac_header>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_header_compiler=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_header_compiler=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
-
-# Is the header present?
-echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <$ac_header>
-_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_c_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
- ac_header_preproc=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_preproc=no
-fi
-rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
-
-# So? What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
- yes:no: )
- { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
- ac_header_preproc=yes
- ;;
- no:yes:* )
- { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
-echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
- (
- cat <<\_ASBOX
-## ------------------------------------------ ##
-## Report this to the AC_PACKAGE_NAME lists. ##
-## ------------------------------------------ ##
-_ASBOX
- ) |
- sed "s/^/$as_me: WARNING: /" >&2
- ;;
-esac
-echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- eval "$as_ac_Header=\$ac_header_preproc"
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
-
-fi
-if test `eval echo '${'$as_ac_Header'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
-ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-if test -n "$ac_tool_prefix"; then
- for ac_prog in $CCC g++ c++ gpp aCC CC cxx cc++ cl FCC KCC RCC xlC_r xlC
- do
- # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_CXX+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$CXX"; then
- ac_cv_prog_CXX="$CXX" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_CXX="$ac_tool_prefix$ac_prog"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
-fi
-fi
-CXX=$ac_cv_prog_CXX
-if test -n "$CXX"; then
- echo "$as_me:$LINENO: result: $CXX" >&5
-echo "${ECHO_T}$CXX" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
- test -n "$CXX" && break
- done
-fi
-if test -z "$CXX"; then
- ac_ct_CXX=$CXX
- for ac_prog in $CCC g++ c++ gpp aCC CC cxx cc++ cl FCC KCC RCC xlC_r xlC
-do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$ac_ct_CXX"; then
- ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_CXX="$ac_prog"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
-fi
-fi
-ac_ct_CXX=$ac_cv_prog_ac_ct_CXX
-if test -n "$ac_ct_CXX"; then
- echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5
-echo "${ECHO_T}$ac_ct_CXX" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
- test -n "$ac_ct_CXX" && break
-done
-test -n "$ac_ct_CXX" || ac_ct_CXX="g++"
-
- CXX=$ac_ct_CXX
-fi
-
-
-# Provide some information about the compiler.
-echo "$as_me:$LINENO:" \
- "checking for C++ compiler version" >&5
-ac_compiler=`set X $ac_compile; echo $2`
-{ (eval echo "$as_me:$LINENO: \"$ac_compiler --version </dev/null >&5\"") >&5
- (eval $ac_compiler --version </dev/null >&5) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }
-{ (eval echo "$as_me:$LINENO: \"$ac_compiler -v </dev/null >&5\"") >&5
- (eval $ac_compiler -v </dev/null >&5) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }
-{ (eval echo "$as_me:$LINENO: \"$ac_compiler -V </dev/null >&5\"") >&5
- (eval $ac_compiler -V </dev/null >&5) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }
-
-echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5
-echo $ECHO_N "checking whether we are using the GNU C++ compiler... $ECHO_C" >&6
-if test "${ac_cv_cxx_compiler_gnu+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-#ifndef __GNUC__
- choke me
-#endif
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_compiler_gnu=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_compiler_gnu=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-ac_cv_cxx_compiler_gnu=$ac_compiler_gnu
-
-fi
-echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5
-echo "${ECHO_T}$ac_cv_cxx_compiler_gnu" >&6
-GXX=`test $ac_compiler_gnu = yes && echo yes`
-ac_test_CXXFLAGS=${CXXFLAGS+set}
-ac_save_CXXFLAGS=$CXXFLAGS
-CXXFLAGS="-g"
-echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5
-echo $ECHO_N "checking whether $CXX accepts -g... $ECHO_C" >&6
-if test "${ac_cv_prog_cxx_g+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_prog_cxx_g=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_prog_cxx_g=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5
-echo "${ECHO_T}$ac_cv_prog_cxx_g" >&6
-if test "$ac_test_CXXFLAGS" = set; then
- CXXFLAGS=$ac_save_CXXFLAGS
-elif test $ac_cv_prog_cxx_g = yes; then
- if test "$GXX" = yes; then
- CXXFLAGS="-g -O2"
- else
- CXXFLAGS="-g"
- fi
-else
- if test "$GXX" = yes; then
- CXXFLAGS="-O2"
- else
- CXXFLAGS=
- fi
-fi
-for ac_declaration in \
- '' \
- 'extern "C" void std::exit (int) throw (); using std::exit;' \
- 'extern "C" void std::exit (int); using std::exit;' \
- 'extern "C" void exit (int) throw ();' \
- 'extern "C" void exit (int);' \
- 'void exit (int);'
-do
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_declaration
-#include <stdlib.h>
-int
-main ()
-{
-exit (42);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- :
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-continue
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_declaration
-int
-main ()
-{
-exit (42);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- break
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-done
-rm -f conftest*
-if test -n "$ac_declaration"; then
- echo '#ifdef __cplusplus' >>confdefs.h
- echo $ac_declaration >>confdefs.h
- echo '#endif' >>confdefs.h
-fi
-
-ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
-depcc="$CXX" am_compiler_list=
-
-echo "$as_me:$LINENO: checking dependency style of $depcc" >&5
-echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6
-if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
- # We make a subdir and do the tests there. Otherwise we can end up
- # making bogus files that we don't know about and never remove. For
- # instance it was reported that on HP-UX the gcc test will end up
- # making a dummy file named `D' -- because `-MD' means `put the output
- # in D'.
- mkdir conftest.dir
- # Copy depcomp to subdir because otherwise we won't find it if we're
- # using a relative directory.
- cp "$am_depcomp" conftest.dir
- cd conftest.dir
- # We will build objects and dependencies in a subdirectory because
- # it helps to detect inapplicable dependency modes. For instance
- # both Tru64's cc and ICC support -MD to output dependencies as a
- # side effect of compilation, but ICC will put the dependencies in
- # the current directory while Tru64 will put them in the object
- # directory.
- mkdir sub
-
- am_cv_CXX_dependencies_compiler_type=none
- if test "$am_compiler_list" = ""; then
- am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
- fi
- for depmode in $am_compiler_list; do
- # Setup a source with many dependencies, because some compilers
- # like to wrap large dependency lists on column 80 (with \), and
- # we should not choose a depcomp mode which is confused by this.
- #
- # We need to recreate these files for each test, as the compiler may
- # overwrite some of them when testing with obscure command lines.
- # This happens at least with the AIX C compiler.
- : > sub/conftest.c
- for i in 1 2 3 4 5 6; do
- echo '#include "conftst'$i'.h"' >> sub/conftest.c
- # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
- # Solaris 8's {/usr,}/bin/sh.
- touch sub/conftst$i.h
- done
- echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
-
- case $depmode in
- nosideeffect)
- # after this tag, mechanisms are not by side-effect, so they'll
- # only be used when explicitly requested
- if test "x$enable_dependency_tracking" = xyes; then
- continue
- else
- break
- fi
- ;;
- none) break ;;
- esac
- # We check with `-c' and `-o' for the sake of the "dashmstdout"
- # mode. It turns out that the SunPro C++ compiler does not properly
- # handle `-M -o', and we need to detect this.
- if depmode=$depmode \
- source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \
- depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
- $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \
- >/dev/null 2>conftest.err &&
- grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
- grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 &&
- ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
- # icc doesn't choke on unknown options, it will just issue warnings
- # or remarks (even with -Werror). So we grep stderr for any message
- # that says an option was ignored or not supported.
- # When given -MP, icc 7.0 and 7.1 complain thusly:
- # icc: Command line warning: ignoring option '-M'; no argument required
- # The diagnosis changed in icc 8.0:
- # icc: Command line remark: option '-MP' not supported
- if (grep 'ignoring option' conftest.err ||
- grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
- am_cv_CXX_dependencies_compiler_type=$depmode
- break
- fi
- fi
- done
-
- cd ..
- rm -rf conftest.dir
-else
- am_cv_CXX_dependencies_compiler_type=none
-fi
-
-fi
-echo "$as_me:$LINENO: result: $am_cv_CXX_dependencies_compiler_type" >&5
-echo "${ECHO_T}$am_cv_CXX_dependencies_compiler_type" >&6
-CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type
-
-
-
-if
- test "x$enable_dependency_tracking" != xno \
- && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then
- am__fastdepCXX_TRUE=
- am__fastdepCXX_FALSE='#'
-else
- am__fastdepCXX_TRUE='#'
- am__fastdepCXX_FALSE=
-fi
-
-
-
-
-if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
- ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
- (test "X$CXX" != "Xg++"))) ; then
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-echo "$as_me:$LINENO: checking how to run the C++ preprocessor" >&5
-echo $ECHO_N "checking how to run the C++ preprocessor... $ECHO_C" >&6
-if test -z "$CXXCPP"; then
- if test "${ac_cv_prog_CXXCPP+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- # Double quotes because CXXCPP needs to be expanded
- for CXXCPP in "$CXX -E" "/lib/cpp"
- do
- ac_preproc_ok=false
-for ac_cxx_preproc_warn_flag in '' yes
-do
- # Use a header file that comes with gcc, so configuring glibc
- # with a fresh cross-compiler works.
- # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- # <limits.h> exists even on freestanding compilers.
- # On the NeXT, cc -E runs the code through the compiler's parser,
- # not just through cpp. "Syntax error" is here to catch this case.
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
- Syntax error
-_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_cxx_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
- :
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- # Broken: fails on valid input.
-continue
-fi
-rm -f conftest.err conftest.$ac_ext
-
- # OK, works on sane cases. Now check whether non-existent headers
- # can be detected and how.
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <ac_nonexistent.h>
-_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_cxx_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
- # Broken: success on invalid input.
-continue
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-rm -f conftest.err conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then
- break
-fi
-
- done
- ac_cv_prog_CXXCPP=$CXXCPP
-
-fi
- CXXCPP=$ac_cv_prog_CXXCPP
-else
- ac_cv_prog_CXXCPP=$CXXCPP
-fi
-echo "$as_me:$LINENO: result: $CXXCPP" >&5
-echo "${ECHO_T}$CXXCPP" >&6
-ac_preproc_ok=false
-for ac_cxx_preproc_warn_flag in '' yes
-do
- # Use a header file that comes with gcc, so configuring glibc
- # with a fresh cross-compiler works.
- # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- # <limits.h> exists even on freestanding compilers.
- # On the NeXT, cc -E runs the code through the compiler's parser,
- # not just through cpp. "Syntax error" is here to catch this case.
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
- Syntax error
-_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_cxx_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
- :
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- # Broken: fails on valid input.
-continue
-fi
-rm -f conftest.err conftest.$ac_ext
-
- # OK, works on sane cases. Now check whether non-existent headers
- # can be detected and how.
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <ac_nonexistent.h>
-_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_cxx_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
- # Broken: success on invalid input.
-continue
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-rm -f conftest.err conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then
- :
-else
- { { echo "$as_me:$LINENO: error: C++ preprocessor \"$CXXCPP\" fails sanity check
-See \`config.log' for more details." >&5
-echo "$as_me: error: C++ preprocessor \"$CXXCPP\" fails sanity check
-See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }
-fi
-
-ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
-fi
-
-
-ac_ext=f
-ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5'
-ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_f77_compiler_gnu
-if test -n "$ac_tool_prefix"; then
- for ac_prog in g77 f77 xlf frt pgf77 fort77 fl32 af77 f90 xlf90 pgf90 epcf90 f95 fort xlf95 ifc efc pgf95 lf95 gfortran
- do
- # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_F77+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$F77"; then
- ac_cv_prog_F77="$F77" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_F77="$ac_tool_prefix$ac_prog"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
-fi
-fi
-F77=$ac_cv_prog_F77
-if test -n "$F77"; then
- echo "$as_me:$LINENO: result: $F77" >&5
-echo "${ECHO_T}$F77" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
- test -n "$F77" && break
- done
-fi
-if test -z "$F77"; then
- ac_ct_F77=$F77
- for ac_prog in g77 f77 xlf frt pgf77 fort77 fl32 af77 f90 xlf90 pgf90 epcf90 f95 fort xlf95 ifc efc pgf95 lf95 gfortran
-do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_ac_ct_F77+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$ac_ct_F77"; then
- ac_cv_prog_ac_ct_F77="$ac_ct_F77" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_F77="$ac_prog"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
-fi
-fi
-ac_ct_F77=$ac_cv_prog_ac_ct_F77
-if test -n "$ac_ct_F77"; then
- echo "$as_me:$LINENO: result: $ac_ct_F77" >&5
-echo "${ECHO_T}$ac_ct_F77" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
- test -n "$ac_ct_F77" && break
-done
-
- F77=$ac_ct_F77
-fi
-
-
-# Provide some information about the compiler.
-echo "$as_me:5435:" \
- "checking for Fortran 77 compiler version" >&5
-ac_compiler=`set X $ac_compile; echo $2`
-{ (eval echo "$as_me:$LINENO: \"$ac_compiler --version </dev/null >&5\"") >&5
- (eval $ac_compiler --version </dev/null >&5) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }
-{ (eval echo "$as_me:$LINENO: \"$ac_compiler -v </dev/null >&5\"") >&5
- (eval $ac_compiler -v </dev/null >&5) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }
-{ (eval echo "$as_me:$LINENO: \"$ac_compiler -V </dev/null >&5\"") >&5
- (eval $ac_compiler -V </dev/null >&5) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }
-rm -f a.out
-
-# If we don't use `.F' as extension, the preprocessor is not run on the
-# input file. (Note that this only needs to work for GNU compilers.)
-ac_save_ext=$ac_ext
-ac_ext=F
-echo "$as_me:$LINENO: checking whether we are using the GNU Fortran 77 compiler" >&5
-echo $ECHO_N "checking whether we are using the GNU Fortran 77 compiler... $ECHO_C" >&6
-if test "${ac_cv_f77_compiler_gnu+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
- program main
-#ifndef __GNUC__
- choke me
-#endif
-
- end
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_f77_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_compiler_gnu=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_compiler_gnu=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-ac_cv_f77_compiler_gnu=$ac_compiler_gnu
-
-fi
-echo "$as_me:$LINENO: result: $ac_cv_f77_compiler_gnu" >&5
-echo "${ECHO_T}$ac_cv_f77_compiler_gnu" >&6
-ac_ext=$ac_save_ext
-ac_test_FFLAGS=${FFLAGS+set}
-ac_save_FFLAGS=$FFLAGS
-FFLAGS=
-echo "$as_me:$LINENO: checking whether $F77 accepts -g" >&5
-echo $ECHO_N "checking whether $F77 accepts -g... $ECHO_C" >&6
-if test "${ac_cv_prog_f77_g+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- FFLAGS=-g
-cat >conftest.$ac_ext <<_ACEOF
- program main
-
- end
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_f77_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_prog_f77_g=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_prog_f77_g=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-
-fi
-echo "$as_me:$LINENO: result: $ac_cv_prog_f77_g" >&5
-echo "${ECHO_T}$ac_cv_prog_f77_g" >&6
-if test "$ac_test_FFLAGS" = set; then
- FFLAGS=$ac_save_FFLAGS
-elif test $ac_cv_prog_f77_g = yes; then
- if test "x$ac_cv_f77_compiler_gnu" = xyes; then
- FFLAGS="-g -O2"
- else
- FFLAGS="-g"
- fi
-else
- if test "x$ac_cv_f77_compiler_gnu" = xyes; then
- FFLAGS="-O2"
- else
- FFLAGS=
- fi
-fi
-
-G77=`test $ac_compiler_gnu = yes && echo yes`
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-
-# Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers!
-
-# find the maximum length of command line arguments
-echo "$as_me:$LINENO: checking the maximum length of command line arguments" >&5
-echo $ECHO_N "checking the maximum length of command line arguments... $ECHO_C" >&6
-if test "${lt_cv_sys_max_cmd_len+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- i=0
- teststring="ABCD"
-
- case $build_os in
- msdosdjgpp*)
- # On DJGPP, this test can blow up pretty badly due to problems in libc
- # (any single argument exceeding 2000 bytes causes a buffer overrun
- # during glob expansion). Even if it were fixed, the result of this
- # check would be larger than it should be.
- lt_cv_sys_max_cmd_len=12288; # 12K is about right
- ;;
-
- gnu*)
- # Under GNU Hurd, this test is not required because there is
- # no limit to the length of command line arguments.
- # Libtool will interpret -1 as no limit whatsoever
- lt_cv_sys_max_cmd_len=-1;
- ;;
-
- cygwin* | mingw*)
- # On Win9x/ME, this test blows up -- it succeeds, but takes
- # about 5 minutes as the teststring grows exponentially.
- # Worse, since 9x/ME are not pre-emptively multitasking,
- # you end up with a "frozen" computer, even though with patience
- # the test eventually succeeds (with a max line length of 256k).
- # Instead, let's just punt: use the minimum linelength reported by
- # all of the supported platforms: 8192 (on NT/2K/XP).
- lt_cv_sys_max_cmd_len=8192;
- ;;
-
- amigaos*)
- # On AmigaOS with pdksh, this test takes hours, literally.
- # So we just punt and use a minimum line length of 8192.
- lt_cv_sys_max_cmd_len=8192;
- ;;
-
- netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
- # This has been around since 386BSD, at least. Likely further.
- if test -x /sbin/sysctl; then
- lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
- elif test -x /usr/sbin/sysctl; then
- lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
- else
- lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs
- fi
- # And add a safety zone
- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
- ;;
-
- interix*)
- # We know the value 262144 and hardcode it with a safety zone (like BSD)
- lt_cv_sys_max_cmd_len=196608
- ;;
-
- osf*)
- # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
- # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
- # nice to cause kernel panics so lets avoid the loop below.
- # First set a reasonable default.
- lt_cv_sys_max_cmd_len=16384
- #
- if test -x /sbin/sysconfig; then
- case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
- *1*) lt_cv_sys_max_cmd_len=-1 ;;
- esac
- fi
- ;;
- sco3.2v5*)
- lt_cv_sys_max_cmd_len=102400
- ;;
- sysv5* | sco5v6* | sysv4.2uw2*)
- kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
- if test -n "$kargmax"; then
- lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[ ]//'`
- else
- lt_cv_sys_max_cmd_len=32768
- fi
- ;;
- *)
- # If test is not a shell built-in, we'll probably end up computing a
- # maximum length that is only half of the actual maximum length, but
- # we can't tell.
- SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
- while (test "X"`$SHELL $0 --fallback-echo "X$teststring" 2>/dev/null` \
- = "XX$teststring") >/dev/null 2>&1 &&
- new_result=`expr "X$teststring" : ".*" 2>&1` &&
- lt_cv_sys_max_cmd_len=$new_result &&
- test $i != 17 # 1/2 MB should be enough
- do
- i=`expr $i + 1`
- teststring=$teststring$teststring
- done
- teststring=
- # Add a significant safety factor because C++ compilers can tack on massive
- # amounts of additional arguments before passing them to the linker.
- # It appears as though 1/2 is a usable value.
- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
- ;;
- esac
-
-fi
-
-if test -n $lt_cv_sys_max_cmd_len ; then
- echo "$as_me:$LINENO: result: $lt_cv_sys_max_cmd_len" >&5
-echo "${ECHO_T}$lt_cv_sys_max_cmd_len" >&6
-else
- echo "$as_me:$LINENO: result: none" >&5
-echo "${ECHO_T}none" >&6
-fi
-
-
-
-
-# Check for command to grab the raw symbol name followed by C symbol from nm.
-echo "$as_me:$LINENO: checking command to parse $NM output from $compiler object" >&5
-echo $ECHO_N "checking command to parse $NM output from $compiler object... $ECHO_C" >&6
-if test "${lt_cv_sys_global_symbol_pipe+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-# These are sane defaults that work on at least a few old systems.
-# [They come from Ultrix. What could be older than Ultrix?!! ;)]
-
-# Character class describing NM global symbol codes.
-symcode='[BCDEGRST]'
-
-# Regexp to match symbols that can be accessed directly from C.
-sympat='\([_A-Za-z][_A-Za-z0-9]*\)'
-
-# Transform an extracted symbol line into a proper C declaration
-lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern int \1;/p'"
-
-# Transform an extracted symbol line into symbol name and symbol address
-lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode \([^ ]*\) \([^ ]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'"
-
-# Define system-specific variables.
-case $host_os in
-aix*)
- symcode='[BCDT]'
- ;;
-cygwin* | mingw* | pw32*)
- symcode='[ABCDGISTW]'
- ;;
-hpux*) # Its linker distinguishes data from code symbols
- if test "$host_cpu" = ia64; then
- symcode='[ABCDEGRST]'
- fi
- lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
- lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'"
- ;;
-linux*)
- if test "$host_cpu" = ia64; then
- symcode='[ABCDGIRSTW]'
- lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
- lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'"
- fi
- ;;
-irix* | nonstopux*)
- symcode='[BCDEGRST]'
- ;;
-osf*)
- symcode='[BCDEGQRST]'
- ;;
-solaris*)
- symcode='[BDRT]'
- ;;
-sco3.2v5*)
- symcode='[DT]'
- ;;
-sysv4.2uw2*)
- symcode='[DT]'
- ;;
-sysv5* | sco5v6* | unixware* | OpenUNIX*)
- symcode='[ABDT]'
- ;;
-sysv4)
- symcode='[DFNSTU]'
- ;;
-esac
-
-# Handle CRLF in mingw tool chain
-opt_cr=
-case $build_os in
-mingw*)
- opt_cr=`echo 'x\{0,1\}' | tr x '\015'` # option cr in regexp
- ;;
-esac
-
-# If we're using GNU nm, then use its standard symbol codes.
-case `$NM -V 2>&1` in
-*GNU* | *'with BFD'*)
- symcode='[ABCDGIRSTW]' ;;
-esac
-
-# Try without a prefix undercore, then with it.
-for ac_symprfx in "" "_"; do
-
- # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
- symxfrm="\\1 $ac_symprfx\\2 \\2"
-
- # Write the raw and C identifiers.
- lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
-
- # Check to see that the pipe works correctly.
- pipe_works=no
-
- rm -f conftest*
- cat > conftest.$ac_ext <<EOF
-#ifdef __cplusplus
-extern "C" {
-#endif
-char nm_test_var;
-void nm_test_func(){}
-#ifdef __cplusplus
-}
-#endif
-int main(){nm_test_var='a';nm_test_func();return(0);}
-EOF
-
- if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; then
- # Now try to grab the symbols.
- nlist=conftest.nm
- if { (eval echo "$as_me:$LINENO: \"$NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist\"") >&5
- (eval $NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && test -s "$nlist"; then
- # Try sorting and uniquifying the output.
- if sort "$nlist" | uniq > "$nlist"T; then
- mv -f "$nlist"T "$nlist"
- else
- rm -f "$nlist"T
- fi
-
- # Make sure that we snagged all the symbols we need.
- if grep ' nm_test_var$' "$nlist" >/dev/null; then
- if grep ' nm_test_func$' "$nlist" >/dev/null; then
- cat <<EOF > conftest.$ac_ext
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-EOF
- # Now generate the symbol file.
- eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | grep -v main >> conftest.$ac_ext'
-
- cat <<EOF >> conftest.$ac_ext
-#if defined (__STDC__) && __STDC__
-# define lt_ptr_t void *
-#else
-# define lt_ptr_t char *
-# define const
-#endif
-
-/* The mapping between symbol names and symbols. */
-const struct {
- const char *name;
- lt_ptr_t address;
-}
-lt_preloaded_symbols[] =
-{
-EOF
- $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (lt_ptr_t) \&\2},/" < "$nlist" | grep -v main >> conftest.$ac_ext
- cat <<\EOF >> conftest.$ac_ext
- {0, (lt_ptr_t) 0}
-};
-
-#ifdef __cplusplus
-}
-#endif
-EOF
- # Now try linking the two files.
- mv conftest.$ac_objext conftstm.$ac_objext
- lt_save_LIBS="$LIBS"
- lt_save_CFLAGS="$CFLAGS"
- LIBS="conftstm.$ac_objext"
- CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag"
- if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && test -s conftest${ac_exeext}; then
- pipe_works=yes
- fi
- LIBS="$lt_save_LIBS"
- CFLAGS="$lt_save_CFLAGS"
- else
- echo "cannot find nm_test_func in $nlist" >&5
- fi
- else
- echo "cannot find nm_test_var in $nlist" >&5
- fi
- else
- echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5
- fi
- else
- echo "$progname: failed program was:" >&5
- cat conftest.$ac_ext >&5
- fi
- rm -f conftest* conftst*
-
- # Do not use the global_symbol_pipe unless it works.
- if test "$pipe_works" = yes; then
- break
- else
- lt_cv_sys_global_symbol_pipe=
- fi
-done
-
-fi
-
-if test -z "$lt_cv_sys_global_symbol_pipe"; then
- lt_cv_sys_global_symbol_to_cdecl=
-fi
-if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
- echo "$as_me:$LINENO: result: failed" >&5
-echo "${ECHO_T}failed" >&6
-else
- echo "$as_me:$LINENO: result: ok" >&5
-echo "${ECHO_T}ok" >&6
-fi
-
-echo "$as_me:$LINENO: checking for objdir" >&5
-echo $ECHO_N "checking for objdir... $ECHO_C" >&6
-if test "${lt_cv_objdir+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- rm -f .libs 2>/dev/null
-mkdir .libs 2>/dev/null
-if test -d .libs; then
- lt_cv_objdir=.libs
-else
- # MS-DOS does not allow filenames that begin with a dot.
- lt_cv_objdir=_libs
-fi
-rmdir .libs 2>/dev/null
-fi
-echo "$as_me:$LINENO: result: $lt_cv_objdir" >&5
-echo "${ECHO_T}$lt_cv_objdir" >&6
-objdir=$lt_cv_objdir
-
-
-
-
-
-case $host_os in
-aix3*)
- # AIX sometimes has problems with the GCC collect2 program. For some
- # reason, if we set the COLLECT_NAMES environment variable, the problems
- # vanish in a puff of smoke.
- if test "X${COLLECT_NAMES+set}" != Xset; then
- COLLECT_NAMES=
- export COLLECT_NAMES
- fi
- ;;
-esac
-
-# Sed substitution that helps us do robust quoting. It backslashifies
-# metacharacters that are still active within double-quoted strings.
-Xsed='sed -e 1s/^X//'
-sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g'
-
-# Same as above, but do not quote variable references.
-double_quote_subst='s/\([\\"\\`\\\\]\)/\\\1/g'
-
-# Sed substitution to delay expansion of an escaped shell variable in a
-# double_quote_subst'ed string.
-delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
-
-# Sed substitution to avoid accidental globbing in evaled expressions
-no_glob_subst='s/\*/\\\*/g'
-
-# Constants:
-rm="rm -f"
-
-# Global variables:
-default_ofile=libtool
-can_build_shared=yes
-
-# All known linkers require a `.a' archive for static linking (except MSVC,
-# which needs '.lib').
-libext=a
-ltmain="$ac_aux_dir/ltmain.sh"
-ofile="$default_ofile"
-with_gnu_ld="$lt_cv_prog_gnu_ld"
-
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
-set dummy ${ac_tool_prefix}ar; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_AR+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$AR"; then
- ac_cv_prog_AR="$AR" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_AR="${ac_tool_prefix}ar"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
-fi
-fi
-AR=$ac_cv_prog_AR
-if test -n "$AR"; then
- echo "$as_me:$LINENO: result: $AR" >&5
-echo "${ECHO_T}$AR" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
-fi
-if test -z "$ac_cv_prog_AR"; then
- ac_ct_AR=$AR
- # Extract the first word of "ar", so it can be a program name with args.
-set dummy ar; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_ac_ct_AR+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$ac_ct_AR"; then
- ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_AR="ar"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
- test -z "$ac_cv_prog_ac_ct_AR" && ac_cv_prog_ac_ct_AR="false"
-fi
-fi
-ac_ct_AR=$ac_cv_prog_ac_ct_AR
-if test -n "$ac_ct_AR"; then
- echo "$as_me:$LINENO: result: $ac_ct_AR" >&5
-echo "${ECHO_T}$ac_ct_AR" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
- AR=$ac_ct_AR
-else
- AR="$ac_cv_prog_AR"
-fi
-
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
-set dummy ${ac_tool_prefix}ranlib; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_RANLIB+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$RANLIB"; then
- ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
-fi
-fi
-RANLIB=$ac_cv_prog_RANLIB
-if test -n "$RANLIB"; then
- echo "$as_me:$LINENO: result: $RANLIB" >&5
-echo "${ECHO_T}$RANLIB" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
-fi
-if test -z "$ac_cv_prog_RANLIB"; then
- ac_ct_RANLIB=$RANLIB
- # Extract the first word of "ranlib", so it can be a program name with args.
-set dummy ranlib; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$ac_ct_RANLIB"; then
- ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_RANLIB="ranlib"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
- test -z "$ac_cv_prog_ac_ct_RANLIB" && ac_cv_prog_ac_ct_RANLIB=":"
-fi
-fi
-ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
-if test -n "$ac_ct_RANLIB"; then
- echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5
-echo "${ECHO_T}$ac_ct_RANLIB" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
- RANLIB=$ac_ct_RANLIB
-else
- RANLIB="$ac_cv_prog_RANLIB"
-fi
-
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
-set dummy ${ac_tool_prefix}strip; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_STRIP+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$STRIP"; then
- ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_STRIP="${ac_tool_prefix}strip"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
-fi
-fi
-STRIP=$ac_cv_prog_STRIP
-if test -n "$STRIP"; then
- echo "$as_me:$LINENO: result: $STRIP" >&5
-echo "${ECHO_T}$STRIP" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
-fi
-if test -z "$ac_cv_prog_STRIP"; then
- ac_ct_STRIP=$STRIP
- # Extract the first word of "strip", so it can be a program name with args.
-set dummy strip; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$ac_ct_STRIP"; then
- ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_STRIP="strip"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
- test -z "$ac_cv_prog_ac_ct_STRIP" && ac_cv_prog_ac_ct_STRIP=":"
-fi
-fi
-ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
-if test -n "$ac_ct_STRIP"; then
- echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5
-echo "${ECHO_T}$ac_ct_STRIP" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
- STRIP=$ac_ct_STRIP
-else
- STRIP="$ac_cv_prog_STRIP"
-fi
-
-
-old_CC="$CC"
-old_CFLAGS="$CFLAGS"
-
-# Set sane defaults for various variables
-test -z "$AR" && AR=ar
-test -z "$AR_FLAGS" && AR_FLAGS=cru
-test -z "$AS" && AS=as
-test -z "$CC" && CC=cc
-test -z "$LTCC" && LTCC=$CC
-test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
-test -z "$DLLTOOL" && DLLTOOL=dlltool
-test -z "$LD" && LD=ld
-test -z "$LN_S" && LN_S="ln -s"
-test -z "$MAGIC_CMD" && MAGIC_CMD=file
-test -z "$NM" && NM=nm
-test -z "$SED" && SED=sed
-test -z "$OBJDUMP" && OBJDUMP=objdump
-test -z "$RANLIB" && RANLIB=:
-test -z "$STRIP" && STRIP=:
-test -z "$ac_objext" && ac_objext=o
-
-# Determine commands to create old-style static archives.
-old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs$old_deplibs'
-old_postinstall_cmds='chmod 644 $oldlib'
-old_postuninstall_cmds=
-
-if test -n "$RANLIB"; then
- case $host_os in
- openbsd*)
- old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib"
- ;;
- *)
- old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib"
- ;;
- esac
- old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
-fi
-
-for cc_temp in $compiler""; do
- case $cc_temp in
- compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
- distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
- \-*) ;;
- *) break;;
- esac
-done
-cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
-
-
-# Only perform the check for file, if the check method requires it
-case $deplibs_check_method in
-file_magic*)
- if test "$file_magic_cmd" = '$MAGIC_CMD'; then
- echo "$as_me:$LINENO: checking for ${ac_tool_prefix}file" >&5
-echo $ECHO_N "checking for ${ac_tool_prefix}file... $ECHO_C" >&6
-if test "${lt_cv_path_MAGIC_CMD+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- case $MAGIC_CMD in
-[\\/*] | ?:[\\/]*)
- lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
- ;;
-*)
- lt_save_MAGIC_CMD="$MAGIC_CMD"
- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
- ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
- for ac_dir in $ac_dummy; do
- IFS="$lt_save_ifs"
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/${ac_tool_prefix}file; then
- lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file"
- if test -n "$file_magic_test_file"; then
- case $deplibs_check_method in
- "file_magic "*)
- file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
- MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
- if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
- $EGREP "$file_magic_regex" > /dev/null; then
- :
- else
- cat <<EOF 1>&2
-
-*** Warning: the command libtool uses to detect shared libraries,
-*** $file_magic_cmd, produces output that libtool cannot recognize.
-*** The result is that libtool may fail to recognize shared libraries
-*** as such. This will affect the creation of libtool libraries that
-*** depend on shared libraries, but programs linked with such libtool
-*** libraries will work regardless of this problem. Nevertheless, you
-*** may want to report the problem to your system manager and/or to
-*** bug-libtool@gnu.org
-
-EOF
- fi ;;
- esac
- fi
- break
- fi
- done
- IFS="$lt_save_ifs"
- MAGIC_CMD="$lt_save_MAGIC_CMD"
- ;;
-esac
-fi
-
-MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
-if test -n "$MAGIC_CMD"; then
- echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5
-echo "${ECHO_T}$MAGIC_CMD" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
-if test -z "$lt_cv_path_MAGIC_CMD"; then
- if test -n "$ac_tool_prefix"; then
- echo "$as_me:$LINENO: checking for file" >&5
-echo $ECHO_N "checking for file... $ECHO_C" >&6
-if test "${lt_cv_path_MAGIC_CMD+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- case $MAGIC_CMD in
-[\\/*] | ?:[\\/]*)
- lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
- ;;
-*)
- lt_save_MAGIC_CMD="$MAGIC_CMD"
- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
- ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
- for ac_dir in $ac_dummy; do
- IFS="$lt_save_ifs"
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/file; then
- lt_cv_path_MAGIC_CMD="$ac_dir/file"
- if test -n "$file_magic_test_file"; then
- case $deplibs_check_method in
- "file_magic "*)
- file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
- MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
- if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
- $EGREP "$file_magic_regex" > /dev/null; then
- :
- else
- cat <<EOF 1>&2
-
-*** Warning: the command libtool uses to detect shared libraries,
-*** $file_magic_cmd, produces output that libtool cannot recognize.
-*** The result is that libtool may fail to recognize shared libraries
-*** as such. This will affect the creation of libtool libraries that
-*** depend on shared libraries, but programs linked with such libtool
-*** libraries will work regardless of this problem. Nevertheless, you
-*** may want to report the problem to your system manager and/or to
-*** bug-libtool@gnu.org
-
-EOF
- fi ;;
- esac
- fi
- break
- fi
- done
- IFS="$lt_save_ifs"
- MAGIC_CMD="$lt_save_MAGIC_CMD"
- ;;
-esac
-fi
-
-MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
-if test -n "$MAGIC_CMD"; then
- echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5
-echo "${ECHO_T}$MAGIC_CMD" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
- else
- MAGIC_CMD=:
- fi
-fi
-
- fi
- ;;
-esac
-
-enable_dlopen=no
-enable_win32_dll=no
-
-# Check whether --enable-libtool-lock or --disable-libtool-lock was given.
-if test "${enable_libtool_lock+set}" = set; then
- enableval="$enable_libtool_lock"
-
-fi;
-test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
-
-
-# Check whether --with-pic or --without-pic was given.
-if test "${with_pic+set}" = set; then
- withval="$with_pic"
- pic_mode="$withval"
-else
- pic_mode=default
-fi;
-test -z "$pic_mode" && pic_mode=default
-
-# Use C for the default configuration in the libtool script
-tagname=
-lt_save_CC="$CC"
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-# Source file extension for C test sources.
-ac_ext=c
-
-# Object file extension for compiled C test sources.
-objext=o
-objext=$objext
-
-# Code to be used in simple compile tests
-lt_simple_compile_test_code="int some_variable = 0;\n"
-
-# Code to be used in simple link tests
-lt_simple_link_test_code='int main(){return(0);}\n'
-
-
-# If no C compiler was specified, use CC.
-LTCC=${LTCC-"$CC"}
-
-# If no C compiler flags were specified, use CFLAGS.
-LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
-
-# Allow CC to be a program name with arguments.
-compiler=$CC
-
-
-# save warnings/boilerplate of simple test code
-ac_outfile=conftest.$ac_objext
-printf "$lt_simple_compile_test_code" >conftest.$ac_ext
-eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_compiler_boilerplate=`cat conftest.err`
-$rm conftest*
-
-ac_outfile=conftest.$ac_objext
-printf "$lt_simple_link_test_code" >conftest.$ac_ext
-eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_linker_boilerplate=`cat conftest.err`
-$rm conftest*
-
-
-
-lt_prog_compiler_no_builtin_flag=
-
-if test "$GCC" = yes; then
- lt_prog_compiler_no_builtin_flag=' -fno-builtin'
-
-
-echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
-echo $ECHO_N "checking if $compiler supports -fno-rtti -fno-exceptions... $ECHO_C" >&6
-if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- lt_cv_prog_compiler_rtti_exceptions=no
- ac_outfile=conftest.$ac_objext
- printf "$lt_simple_compile_test_code" > conftest.$ac_ext
- lt_compiler_flag="-fno-rtti -fno-exceptions"
- # Insert the option either (1) after the last *FLAGS variable, or
- # (2) before a word containing "conftest.", or (3) at the end.
- # Note that $ac_compile itself does not contain backslashes and begins
- # with a dollar sign (not a hyphen), so the echo should work correctly.
- # The option is referenced via a variable to avoid confusing sed.
- lt_compile=`echo "$ac_compile" | $SED \
- -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
- -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
- -e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:6498: $lt_compile\"" >&5)
- (eval "$lt_compile" 2>conftest.err)
- ac_status=$?
- cat conftest.err >&5
- echo "$as_me:6502: \$? = $ac_status" >&5
- if (exit $ac_status) && test -s "$ac_outfile"; then
- # The compiler can only warn and ignore the option if not recognized
- # So say no if there are warnings other than the usual output.
- $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
- $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
- if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
- lt_cv_prog_compiler_rtti_exceptions=yes
- fi
- fi
- $rm conftest*
-
-fi
-echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5
-echo "${ECHO_T}$lt_cv_prog_compiler_rtti_exceptions" >&6
-
-if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then
- lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions"
-else
- :
-fi
-
-fi
-
-lt_prog_compiler_wl=
-lt_prog_compiler_pic=
-lt_prog_compiler_static=
-
-echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5
-echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
-
- if test "$GCC" = yes; then
- lt_prog_compiler_wl='-Wl,'
- lt_prog_compiler_static='-static'
-
- case $host_os in
- aix*)
- # All AIX code is PIC.
- if test "$host_cpu" = ia64; then
- # AIX 5 now supports IA64 processor
- lt_prog_compiler_static='-Bstatic'
- fi
- ;;
-
- amigaos*)
- # FIXME: we need at least 68020 code to build shared libraries, but
- # adding the `-m68020' flag to GCC prevents building anything better,
- # like `-m68040'.
- lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4'
- ;;
-
- beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
- # PIC is the default for these OSes.
- ;;
-
- mingw* | pw32* | os2*)
- # This hack is so that the source file can tell whether it is being
- # built for inclusion in a dll (and should export symbols for example).
- lt_prog_compiler_pic='-DDLL_EXPORT'
- ;;
-
- darwin* | rhapsody*)
- # PIC is the default on this platform
- # Common symbols not allowed in MH_DYLIB files
- lt_prog_compiler_pic='-fno-common'
- ;;
-
- interix3*)
- # Interix 3.x gcc -fpic/-fPIC options generate broken code.
- # Instead, we relocate shared libraries at runtime.
- ;;
-
- msdosdjgpp*)
- # Just because we use GCC doesn't mean we suddenly get shared libraries
- # on systems that don't support them.
- lt_prog_compiler_can_build_shared=no
- enable_shared=no
- ;;
-
- sysv4*MP*)
- if test -d /usr/nec; then
- lt_prog_compiler_pic=-Kconform_pic
- fi
- ;;
-
- hpux*)
- # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
- # not for PA HP-UX.
- case $host_cpu in
- hppa*64*|ia64*)
- # +Z the default
- ;;
- *)
- lt_prog_compiler_pic='-fPIC'
- ;;
- esac
- ;;
-
- *)
- lt_prog_compiler_pic='-fPIC'
- ;;
- esac
- else
- # PORTME Check for flag to pass linker flags through the system compiler.
- case $host_os in
- aix*)
- lt_prog_compiler_wl='-Wl,'
- if test "$host_cpu" = ia64; then
- # AIX 5 now supports IA64 processor
- lt_prog_compiler_static='-Bstatic'
- else
- lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp'
- fi
- ;;
- darwin*)
- # PIC is the default on this platform
- # Common symbols not allowed in MH_DYLIB files
- case $cc_basename in
- xlc*)
- lt_prog_compiler_pic='-qnocommon'
- lt_prog_compiler_wl='-Wl,'
- ;;
- esac
- ;;
-
- mingw* | pw32* | os2*)
- # This hack is so that the source file can tell whether it is being
- # built for inclusion in a dll (and should export symbols for example).
- lt_prog_compiler_pic='-DDLL_EXPORT'
- ;;
-
- hpux9* | hpux10* | hpux11*)
- lt_prog_compiler_wl='-Wl,'
- # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
- # not for PA HP-UX.
- case $host_cpu in
- hppa*64*|ia64*)
- # +Z the default
- ;;
- *)
- lt_prog_compiler_pic='+Z'
- ;;
- esac
- # Is there a better lt_prog_compiler_static that works with the bundled CC?
- lt_prog_compiler_static='${wl}-a ${wl}archive'
- ;;
-
- irix5* | irix6* | nonstopux*)
- lt_prog_compiler_wl='-Wl,'
- # PIC (with -KPIC) is the default.
- lt_prog_compiler_static='-non_shared'
- ;;
-
- newsos6)
- lt_prog_compiler_pic='-KPIC'
- lt_prog_compiler_static='-Bstatic'
- ;;
-
- linux*)
- case $cc_basename in
- icc* | ecc*)
- lt_prog_compiler_wl='-Wl,'
- lt_prog_compiler_pic='-KPIC'
- lt_prog_compiler_static='-static'
- ;;
- pgcc* | pgf77* | pgf90* | pgf95*)
- # Portland Group compilers (*not* the Pentium gcc compiler,
- # which looks to be a dead project)
- lt_prog_compiler_wl='-Wl,'
- lt_prog_compiler_pic='-fpic'
- lt_prog_compiler_static='-Bstatic'
- ;;
- ccc*)
- lt_prog_compiler_wl='-Wl,'
- # All Alpha code is PIC.
- lt_prog_compiler_static='-non_shared'
- ;;
- esac
- ;;
-
- osf3* | osf4* | osf5*)
- lt_prog_compiler_wl='-Wl,'
- # All OSF/1 code is PIC.
- lt_prog_compiler_static='-non_shared'
- ;;
-
- solaris*)
- lt_prog_compiler_pic='-KPIC'
- lt_prog_compiler_static='-Bstatic'
- case $cc_basename in
- f77* | f90* | f95*)
- lt_prog_compiler_wl='-Qoption ld ';;
- *)
- lt_prog_compiler_wl='-Wl,';;
- esac
- ;;
-
- sunos4*)
- lt_prog_compiler_wl='-Qoption ld '
- lt_prog_compiler_pic='-PIC'
- lt_prog_compiler_static='-Bstatic'
- ;;
-
- sysv4 | sysv4.2uw2* | sysv4.3*)
- lt_prog_compiler_wl='-Wl,'
- lt_prog_compiler_pic='-KPIC'
- lt_prog_compiler_static='-Bstatic'
- ;;
-
- sysv4*MP*)
- if test -d /usr/nec ;then
- lt_prog_compiler_pic='-Kconform_pic'
- lt_prog_compiler_static='-Bstatic'
- fi
- ;;
-
- sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
- lt_prog_compiler_wl='-Wl,'
- lt_prog_compiler_pic='-KPIC'
- lt_prog_compiler_static='-Bstatic'
- ;;
-
- unicos*)
- lt_prog_compiler_wl='-Wl,'
- lt_prog_compiler_can_build_shared=no
- ;;
-
- uts4*)
- lt_prog_compiler_pic='-pic'
- lt_prog_compiler_static='-Bstatic'
- ;;
-
- *)
- lt_prog_compiler_can_build_shared=no
- ;;
- esac
- fi
-
-echo "$as_me:$LINENO: result: $lt_prog_compiler_pic" >&5
-echo "${ECHO_T}$lt_prog_compiler_pic" >&6
-
-#
-# Check to make sure the PIC flag actually works.
-#
-if test -n "$lt_prog_compiler_pic"; then
-
-echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5
-echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic works... $ECHO_C" >&6
-if test "${lt_prog_compiler_pic_works+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- lt_prog_compiler_pic_works=no
- ac_outfile=conftest.$ac_objext
- printf "$lt_simple_compile_test_code" > conftest.$ac_ext
- lt_compiler_flag="$lt_prog_compiler_pic -DPIC"
- # Insert the option either (1) after the last *FLAGS variable, or
- # (2) before a word containing "conftest.", or (3) at the end.
- # Note that $ac_compile itself does not contain backslashes and begins
- # with a dollar sign (not a hyphen), so the echo should work correctly.
- # The option is referenced via a variable to avoid confusing sed.
- lt_compile=`echo "$ac_compile" | $SED \
- -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
- -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
- -e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:6766: $lt_compile\"" >&5)
- (eval "$lt_compile" 2>conftest.err)
- ac_status=$?
- cat conftest.err >&5
- echo "$as_me:6770: \$? = $ac_status" >&5
- if (exit $ac_status) && test -s "$ac_outfile"; then
- # The compiler can only warn and ignore the option if not recognized
- # So say no if there are warnings other than the usual output.
- $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
- $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
- if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
- lt_prog_compiler_pic_works=yes
- fi
- fi
- $rm conftest*
-
-fi
-echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works" >&5
-echo "${ECHO_T}$lt_prog_compiler_pic_works" >&6
-
-if test x"$lt_prog_compiler_pic_works" = xyes; then
- case $lt_prog_compiler_pic in
- "" | " "*) ;;
- *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;;
- esac
-else
- lt_prog_compiler_pic=
- lt_prog_compiler_can_build_shared=no
-fi
-
-fi
-case $host_os in
- # For platforms which do not support PIC, -DPIC is meaningless:
- *djgpp*)
- lt_prog_compiler_pic=
- ;;
- *)
- lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC"
- ;;
-esac
-
-#
-# Check to make sure the static flag actually works.
-#
-wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\"
-echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5
-echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6
-if test "${lt_prog_compiler_static_works+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- lt_prog_compiler_static_works=no
- save_LDFLAGS="$LDFLAGS"
- LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
- printf "$lt_simple_link_test_code" > conftest.$ac_ext
- if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
- # The linker can only warn and ignore the option if not recognized
- # So say no if there are warnings
- if test -s conftest.err; then
- # Append any errors to the config.log.
- cat conftest.err 1>&5
- $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
- $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
- if diff conftest.exp conftest.er2 >/dev/null; then
- lt_prog_compiler_static_works=yes
- fi
- else
- lt_prog_compiler_static_works=yes
- fi
- fi
- $rm conftest*
- LDFLAGS="$save_LDFLAGS"
-
-fi
-echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works" >&5
-echo "${ECHO_T}$lt_prog_compiler_static_works" >&6
-
-if test x"$lt_prog_compiler_static_works" = xyes; then
- :
-else
- lt_prog_compiler_static=
-fi
-
-
-echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
-echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6
-if test "${lt_cv_prog_compiler_c_o+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- lt_cv_prog_compiler_c_o=no
- $rm -r conftest 2>/dev/null
- mkdir conftest
- cd conftest
- mkdir out
- printf "$lt_simple_compile_test_code" > conftest.$ac_ext
-
- lt_compiler_flag="-o out/conftest2.$ac_objext"
- # Insert the option either (1) after the last *FLAGS variable, or
- # (2) before a word containing "conftest.", or (3) at the end.
- # Note that $ac_compile itself does not contain backslashes and begins
- # with a dollar sign (not a hyphen), so the echo should work correctly.
- lt_compile=`echo "$ac_compile" | $SED \
- -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
- -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
- -e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:6870: $lt_compile\"" >&5)
- (eval "$lt_compile" 2>out/conftest.err)
- ac_status=$?
- cat out/conftest.err >&5
- echo "$as_me:6874: \$? = $ac_status" >&5
- if (exit $ac_status) && test -s out/conftest2.$ac_objext
- then
- # The compiler can only warn and ignore the option if not recognized
- # So say no if there are warnings
- $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
- $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
- if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
- lt_cv_prog_compiler_c_o=yes
- fi
- fi
- chmod u+w . 2>&5
- $rm conftest*
- # SGI C++ compiler will create directory out/ii_files/ for
- # template instantiation
- test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files
- $rm out/* && rmdir out
- cd ..
- rmdir conftest
- $rm conftest*
-
-fi
-echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o" >&5
-echo "${ECHO_T}$lt_cv_prog_compiler_c_o" >&6
-
-
-hard_links="nottested"
-if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then
- # do not overwrite the value of need_locks provided by the user
- echo "$as_me:$LINENO: checking if we can lock with hard links" >&5
-echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6
- hard_links=yes
- $rm conftest*
- ln conftest.a conftest.b 2>/dev/null && hard_links=no
- touch conftest.a
- ln conftest.a conftest.b 2>&5 || hard_links=no
- ln conftest.a conftest.b 2>/dev/null && hard_links=no
- echo "$as_me:$LINENO: result: $hard_links" >&5
-echo "${ECHO_T}$hard_links" >&6
- if test "$hard_links" = no; then
- { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
-echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
- need_locks=warn
- fi
-else
- need_locks=no
-fi
-
-echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
-echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6
-
- runpath_var=
- allow_undefined_flag=
- enable_shared_with_static_runtimes=no
- archive_cmds=
- archive_expsym_cmds=
- old_archive_From_new_cmds=
- old_archive_from_expsyms_cmds=
- export_dynamic_flag_spec=
- whole_archive_flag_spec=
- thread_safe_flag_spec=
- hardcode_libdir_flag_spec=
- hardcode_libdir_flag_spec_ld=
- hardcode_libdir_separator=
- hardcode_direct=no
- hardcode_minus_L=no
- hardcode_shlibpath_var=unsupported
- link_all_deplibs=unknown
- hardcode_automatic=no
- module_cmds=
- module_expsym_cmds=
- always_export_symbols=no
- export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
- # include_expsyms should be a list of space-separated symbols to be *always*
- # included in the symbol list
- include_expsyms=
- # exclude_expsyms can be an extended regexp of symbols to exclude
- # it will be wrapped by ` (' and `)$', so one must not match beginning or
- # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
- # as well as any symbol that contains `d'.
- exclude_expsyms="_GLOBAL_OFFSET_TABLE_"
- # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
- # platforms (ab)use it in PIC code, but their linkers get confused if
- # the symbol is explicitly referenced. Since portable code cannot
- # rely on this symbol name, it's probably fine to never include it in
- # preloaded symbol tables.
- extract_expsyms_cmds=
- # Just being paranoid about ensuring that cc_basename is set.
- for cc_temp in $compiler""; do
- case $cc_temp in
- compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
- distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
- \-*) ;;
- *) break;;
- esac
-done
-cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
-
- case $host_os in
- cygwin* | mingw* | pw32*)
- # FIXME: the MSVC++ port hasn't been tested in a loooong time
- # When not using gcc, we currently assume that we are using
- # Microsoft Visual C++.
- if test "$GCC" != yes; then
- with_gnu_ld=no
- fi
- ;;
- interix*)
- # we just hope/assume this is gcc and not c89 (= MSVC++)
- with_gnu_ld=yes
- ;;
- openbsd*)
- with_gnu_ld=no
- ;;
- esac
-
- ld_shlibs=yes
- if test "$with_gnu_ld" = yes; then
- # If archive_cmds runs LD, not CC, wlarc should be empty
- wlarc='${wl}'
-
- # Set some defaults for GNU ld with shared library support. These
- # are reset later if shared libraries are not supported. Putting them
- # here allows them to be overridden if necessary.
- runpath_var=LD_RUN_PATH
- hardcode_libdir_flag_spec='${wl}--rpath ${wl}$libdir'
- export_dynamic_flag_spec='${wl}--export-dynamic'
- # ancient GNU ld didn't support --whole-archive et. al.
- if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then
- whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
- else
- whole_archive_flag_spec=
- fi
- supports_anon_versioning=no
- case `$LD -v 2>/dev/null` in
- *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11
- *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
- *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
- *\ 2.11.*) ;; # other 2.11 versions
- *) supports_anon_versioning=yes ;;
- esac
-
- # See if GNU ld supports shared libraries.
- case $host_os in
- aix3* | aix4* | aix5*)
- # On AIX/PPC, the GNU linker is very broken
- if test "$host_cpu" != ia64; then
- ld_shlibs=no
- cat <<EOF 1>&2
-
-*** Warning: the GNU linker, at least up to release 2.9.1, is reported
-*** to be unable to reliably create shared libraries on AIX.
-*** Therefore, libtool is disabling shared libraries support. If you
-*** really care for shared libraries, you may want to modify your PATH
-*** so that a non-GNU linker is found, and then restart.
-
-EOF
- fi
- ;;
-
- amigaos*)
- archive_cmds='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_minus_L=yes
-
- # Samuel A. Falvo II <kc5tja@dolphin.openprojects.net> reports
- # that the semantics of dynamic libraries on AmigaOS, at least up
- # to version 4, is to share data among multiple programs linked
- # with the same dynamic library. Since this doesn't match the
- # behavior of shared libraries on other platforms, we can't use
- # them.
- ld_shlibs=no
- ;;
-
- beos*)
- if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
- allow_undefined_flag=unsupported
- # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
- # support --undefined. This deserves some investigation. FIXME
- archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- else
- ld_shlibs=no
- fi
- ;;
-
- cygwin* | mingw* | pw32*)
- # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless,
- # as there is no search path for DLLs.
- hardcode_libdir_flag_spec='-L$libdir'
- allow_undefined_flag=unsupported
- always_export_symbols=no
- enable_shared_with_static_runtimes=yes
- export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS] /s/.* \([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols'
-
- if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
- # If the export-symbols file already is a .def file (1st line
- # is EXPORTS), use it as is; otherwise, prepend...
- archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
- cp $export_symbols $output_objdir/$soname.def;
- else
- echo EXPORTS > $output_objdir/$soname.def;
- cat $export_symbols >> $output_objdir/$soname.def;
- fi~
- $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
- else
- ld_shlibs=no
- fi
- ;;
-
- interix3*)
- hardcode_direct=no
- hardcode_shlibpath_var=no
- hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
- export_dynamic_flag_spec='${wl}-E'
- # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
- # Instead, shared libraries are loaded at an image base (0x10000000 by
- # default) and relocated if they conflict, which is a slow very memory
- # consuming and fragmenting process. To avoid this, we pick a random,
- # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
- # time. Moving up from 0x10000000 also allows more sbrk(2) space.
- archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
- archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
- ;;
-
- linux*)
- if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
- tmp_addflag=
- case $cc_basename,$host_cpu in
- pgcc*) # Portland Group C compiler
- whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
- tmp_addflag=' $pic_flag'
- ;;
- pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers
- whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
- tmp_addflag=' $pic_flag -Mnomain' ;;
- ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64
- tmp_addflag=' -i_dynamic' ;;
- efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64
- tmp_addflag=' -i_dynamic -nofor_main' ;;
- ifc* | ifort*) # Intel Fortran compiler
- tmp_addflag=' -nofor_main' ;;
- esac
- archive_cmds='$CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-
- if test $supports_anon_versioning = yes; then
- archive_expsym_cmds='$echo "{ global:" > $output_objdir/$libname.ver~
- cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
- $echo "local: *; };" >> $output_objdir/$libname.ver~
- $CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
- fi
- else
- ld_shlibs=no
- fi
- ;;
-
- netbsd*)
- if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
- archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
- wlarc=
- else
- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- fi
- ;;
-
- solaris*)
- if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then
- ld_shlibs=no
- cat <<EOF 1>&2
-
-*** Warning: The releases 2.8.* of the GNU linker cannot reliably
-*** create shared libraries on Solaris systems. Therefore, libtool
-*** is disabling shared libraries support. We urge you to upgrade GNU
-*** binutils to release 2.9.1 or newer. Another option is to modify
-*** your PATH or compiler configuration so that the native linker is
-*** used, and then restart.
-
-EOF
- elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- else
- ld_shlibs=no
- fi
- ;;
-
- sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
- case `$LD -v 2>&1` in
- *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*)
- ld_shlibs=no
- cat <<_LT_EOF 1>&2
-
-*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
-*** reliably create shared libraries on SCO systems. Therefore, libtool
-*** is disabling shared libraries support. We urge you to upgrade GNU
-*** binutils to release 2.16.91.0.3 or newer. Another option is to modify
-*** your PATH or compiler configuration so that the native linker is
-*** used, and then restart.
-
-_LT_EOF
- ;;
- *)
- if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
- hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`'
- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib'
- archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib'
- else
- ld_shlibs=no
- fi
- ;;
- esac
- ;;
-
- sunos4*)
- archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
- wlarc=
- hardcode_direct=yes
- hardcode_shlibpath_var=no
- ;;
-
- *)
- if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- else
- ld_shlibs=no
- fi
- ;;
- esac
-
- if test "$ld_shlibs" = no; then
- runpath_var=
- hardcode_libdir_flag_spec=
- export_dynamic_flag_spec=
- whole_archive_flag_spec=
- fi
- else
- # PORTME fill in a description of your system's linker (not GNU ld)
- case $host_os in
- aix3*)
- allow_undefined_flag=unsupported
- always_export_symbols=yes
- archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
- # Note: this linker hardcodes the directories in LIBPATH if there
- # are no directories specified by -L.
- hardcode_minus_L=yes
- if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
- # Neither direct hardcoding nor static linking is supported with a
- # broken collect2.
- hardcode_direct=unsupported
- fi
- ;;
-
- aix4* | aix5*)
- if test "$host_cpu" = ia64; then
- # On IA64, the linker does run time linking by default, so we don't
- # have to do anything special.
- aix_use_runtimelinking=no
- exp_sym_flag='-Bexport'
- no_entry_flag=""
- else
- # If we're using GNU nm, then we don't want the "-C" option.
- # -C means demangle to AIX nm, but means don't demangle with GNU nm
- if $NM -V 2>&1 | grep 'GNU' > /dev/null; then
- export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols'
- else
- export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols'
- fi
- aix_use_runtimelinking=no
-
- # Test if we are trying to use run time linking or normal
- # AIX style linking. If -brtl is somewhere in LDFLAGS, we
- # need to do runtime linking.
- case $host_os in aix4.[23]|aix4.[23].*|aix5*)
- for ld_flag in $LDFLAGS; do
- if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
- aix_use_runtimelinking=yes
- break
- fi
- done
- ;;
- esac
-
- exp_sym_flag='-bexport'
- no_entry_flag='-bnoentry'
- fi
-
- # When large executables or shared objects are built, AIX ld can
- # have problems creating the table of contents. If linking a library
- # or program results in "error TOC overflow" add -mminimal-toc to
- # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
- # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
-
- archive_cmds=''
- hardcode_direct=yes
- hardcode_libdir_separator=':'
- link_all_deplibs=yes
-
- if test "$GCC" = yes; then
- case $host_os in aix4.[012]|aix4.[012].*)
- # We only want to do this on AIX 4.2 and lower, the check
- # below for broken collect2 doesn't work under 4.3+
- collect2name=`${CC} -print-prog-name=collect2`
- if test -f "$collect2name" && \
- strings "$collect2name" | grep resolve_lib_name >/dev/null
- then
- # We have reworked collect2
- hardcode_direct=yes
- else
- # We have old collect2
- hardcode_direct=unsupported
- # It fails to find uninstalled libraries when the uninstalled
- # path is not listed in the libpath. Setting hardcode_minus_L
- # to unsupported forces relinking
- hardcode_minus_L=yes
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_libdir_separator=
- fi
- ;;
- esac
- shared_flag='-shared'
- if test "$aix_use_runtimelinking" = yes; then
- shared_flag="$shared_flag "'${wl}-G'
- fi
- else
- # not using gcc
- if test "$host_cpu" = ia64; then
- # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
- # chokes on -Wl,-G. The following line is correct:
- shared_flag='-G'
- else
- if test "$aix_use_runtimelinking" = yes; then
- shared_flag='${wl}-G'
- else
- shared_flag='${wl}-bM:SRE'
- fi
- fi
- fi
-
- # It seems that -bexpall does not export symbols beginning with
- # underscore (_), so it is better to generate a list of symbols to export.
- always_export_symbols=yes
- if test "$aix_use_runtimelinking" = yes; then
- # Warning - without using the other runtime loading flags (-brtl),
- # -berok will link without error, but may produce a broken library.
- allow_undefined_flag='-berok'
- # Determine the default libpath from the value encoded in an empty executable.
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
-
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
-}'`
-# Check for a 64-bit object if we didn't find anything.
-if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
-}'`; fi
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
-
- hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
- archive_expsym_cmds="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
- else
- if test "$host_cpu" = ia64; then
- hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib'
- allow_undefined_flag="-z nodefs"
- archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
- else
- # Determine the default libpath from the value encoded in an empty executable.
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
-
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
-}'`
-# Check for a 64-bit object if we didn't find anything.
-if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
-}'`; fi
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
-
- hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
- # Warning - without using the other run time loading flags,
- # -berok will link without error, but may produce a broken library.
- no_undefined_flag=' ${wl}-bernotok'
- allow_undefined_flag=' ${wl}-berok'
- # Exported symbols can be pulled into shared objects from archives
- whole_archive_flag_spec='$convenience'
- archive_cmds_need_lc=yes
- # This is similar to how AIX traditionally builds its shared libraries.
- archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
- fi
- fi
- ;;
-
- amigaos*)
- archive_cmds='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_minus_L=yes
- # see comment about different semantics on the GNU ld section
- ld_shlibs=no
- ;;
-
- bsdi[45]*)
- export_dynamic_flag_spec=-rdynamic
- ;;
-
- cygwin* | mingw* | pw32*)
- # When not using gcc, we currently assume that we are using
- # Microsoft Visual C++.
- # hardcode_libdir_flag_spec is actually meaningless, as there is
- # no search path for DLLs.
- hardcode_libdir_flag_spec=' '
- allow_undefined_flag=unsupported
- # Tell ltmain to make .lib files, not .a files.
- libext=lib
- # Tell ltmain to make .dll files, not .so files.
- shrext_cmds=".dll"
- # FIXME: Setting linknames here is a bad hack.
- archive_cmds='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames='
- # The linker will automatically build a .lib file if we build a DLL.
- old_archive_From_new_cmds='true'
- # FIXME: Should let the user specify the lib program.
- old_archive_cmds='lib /OUT:$oldlib$oldobjs$old_deplibs'
- fix_srcfile_path='`cygpath -w "$srcfile"`'
- enable_shared_with_static_runtimes=yes
- ;;
-
- darwin* | rhapsody*)
- case $host_os in
- rhapsody* | darwin1.[012])
- allow_undefined_flag='${wl}-undefined ${wl}suppress'
- ;;
- *) # Darwin 1.3 on
- if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then
- allow_undefined_flag='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
- else
- case ${MACOSX_DEPLOYMENT_TARGET} in
- 10.[012])
- allow_undefined_flag='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
- ;;
- 10.*)
- allow_undefined_flag='${wl}-undefined ${wl}dynamic_lookup'
- ;;
- esac
- fi
- ;;
- esac
- archive_cmds_need_lc=no
- hardcode_direct=no
- hardcode_automatic=yes
- hardcode_shlibpath_var=unsupported
- whole_archive_flag_spec=''
- link_all_deplibs=yes
- if test "$GCC" = yes ; then
- output_verbose_link_cmd='echo'
- archive_cmds='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
- module_cmds='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
- # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
- archive_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
- module_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
- else
- case $cc_basename in
- xlc*)
- output_verbose_link_cmd='echo'
- archive_cmds='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring'
- module_cmds='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
- # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
- archive_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
- module_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
- ;;
- *)
- ld_shlibs=no
- ;;
- esac
- fi
- ;;
-
- dgux*)
- archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_shlibpath_var=no
- ;;
-
- freebsd1*)
- ld_shlibs=no
- ;;
-
- # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
- # support. Future versions do this automatically, but an explicit c++rt0.o
- # does not break anything, and helps significantly (at the cost of a little
- # extra space).
- freebsd2.2*)
- archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
- hardcode_libdir_flag_spec='-R$libdir'
- hardcode_direct=yes
- hardcode_shlibpath_var=no
- ;;
-
- # Unfortunately, older versions of FreeBSD 2 do not have this feature.
- freebsd2*)
- archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
- hardcode_direct=yes
- hardcode_minus_L=yes
- hardcode_shlibpath_var=no
- ;;
-
- # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
- freebsd* | kfreebsd*-gnu | dragonfly*)
- archive_cmds='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
- hardcode_libdir_flag_spec='-R$libdir'
- hardcode_direct=yes
- hardcode_shlibpath_var=no
- ;;
-
- hpux9*)
- if test "$GCC" = yes; then
- archive_cmds='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
- else
- archive_cmds='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
- fi
- hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
- hardcode_libdir_separator=:
- hardcode_direct=yes
-
- # hardcode_minus_L: Not really in the search PATH,
- # but as the default location of the library.
- hardcode_minus_L=yes
- export_dynamic_flag_spec='${wl}-E'
- ;;
-
- hpux10*)
- if test "$GCC" = yes -a "$with_gnu_ld" = no; then
- archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
- else
- archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
- fi
- if test "$with_gnu_ld" = no; then
- hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
- hardcode_libdir_separator=:
-
- hardcode_direct=yes
- export_dynamic_flag_spec='${wl}-E'
-
- # hardcode_minus_L: Not really in the search PATH,
- # but as the default location of the library.
- hardcode_minus_L=yes
- fi
- ;;
-
- hpux11*)
- if test "$GCC" = yes -a "$with_gnu_ld" = no; then
- case $host_cpu in
- hppa*64*)
- archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- ia64*)
- archive_cmds='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- *)
- archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- esac
- else
- case $host_cpu in
- hppa*64*)
- archive_cmds='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- ia64*)
- archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- *)
- archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- esac
- fi
- if test "$with_gnu_ld" = no; then
- hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
- hardcode_libdir_separator=:
-
- case $host_cpu in
- hppa*64*|ia64*)
- hardcode_libdir_flag_spec_ld='+b $libdir'
- hardcode_direct=no
- hardcode_shlibpath_var=no
- ;;
- *)
- hardcode_direct=yes
- export_dynamic_flag_spec='${wl}-E'
-
- # hardcode_minus_L: Not really in the search PATH,
- # but as the default location of the library.
- hardcode_minus_L=yes
- ;;
- esac
- fi
- ;;
-
- irix5* | irix6* | nonstopux*)
- if test "$GCC" = yes; then
- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
- else
- archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
- hardcode_libdir_flag_spec_ld='-rpath $libdir'
- fi
- hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
- hardcode_libdir_separator=:
- link_all_deplibs=yes
- ;;
-
- netbsd*)
- if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
- archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
- else
- archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF
- fi
- hardcode_libdir_flag_spec='-R$libdir'
- hardcode_direct=yes
- hardcode_shlibpath_var=no
- ;;
-
- newsos6)
- archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_direct=yes
- hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
- hardcode_libdir_separator=:
- hardcode_shlibpath_var=no
- ;;
-
- openbsd*)
- hardcode_direct=yes
- hardcode_shlibpath_var=no
- if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
- hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
- export_dynamic_flag_spec='${wl}-E'
- else
- case $host_os in
- openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
- archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
- hardcode_libdir_flag_spec='-R$libdir'
- ;;
- *)
- archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
- hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
- ;;
- esac
- fi
- ;;
-
- os2*)
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_minus_L=yes
- allow_undefined_flag=unsupported
- archive_cmds='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
- old_archive_From_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
- ;;
-
- osf3*)
- if test "$GCC" = yes; then
- allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
- archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
- else
- allow_undefined_flag=' -expect_unresolved \*'
- archive_cmds='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
- fi
- hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
- hardcode_libdir_separator=:
- ;;
-
- osf4* | osf5*) # as osf3* with the addition of -msym flag
- if test "$GCC" = yes; then
- allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
- archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
- hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
- else
- allow_undefined_flag=' -expect_unresolved \*'
- archive_cmds='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
- archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~
- $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp'
-
- # Both c and cxx compiler support -rpath directly
- hardcode_libdir_flag_spec='-rpath $libdir'
- fi
- hardcode_libdir_separator=:
- ;;
-
- solaris*)
- no_undefined_flag=' -z text'
- if test "$GCC" = yes; then
- wlarc='${wl}'
- archive_cmds='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
- $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp'
- else
- wlarc=''
- archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
- archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
- $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp'
- fi
- hardcode_libdir_flag_spec='-R$libdir'
- hardcode_shlibpath_var=no
- case $host_os in
- solaris2.[0-5] | solaris2.[0-5].*) ;;
- *)
- # The compiler driver will combine linker options so we
- # cannot just pass the convience library names through
- # without $wl, iff we do not link with $LD.
- # Luckily, gcc supports the same syntax we need for Sun Studio.
- # Supported since Solaris 2.6 (maybe 2.5.1?)
- case $wlarc in
- '')
- whole_archive_flag_spec='-z allextract$convenience -z defaultextract' ;;
- *)
- whole_archive_flag_spec='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' ;;
- esac ;;
- esac
- link_all_deplibs=yes
- ;;
-
- sunos4*)
- if test "x$host_vendor" = xsequent; then
- # Use $CC to link under sequent, because it throws in some extra .o
- # files that make .init and .fini sections work.
- archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
- else
- archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
- fi
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_direct=yes
- hardcode_minus_L=yes
- hardcode_shlibpath_var=no
- ;;
-
- sysv4)
- case $host_vendor in
- sni)
- archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_direct=yes # is this really true???
- ;;
- siemens)
- ## LD is ld it makes a PLAMLIB
- ## CC just makes a GrossModule.
- archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags'
- reload_cmds='$CC -r -o $output$reload_objs'
- hardcode_direct=no
- ;;
- motorola)
- archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_direct=no #Motorola manual says yes, but my tests say they lie
- ;;
- esac
- runpath_var='LD_RUN_PATH'
- hardcode_shlibpath_var=no
- ;;
-
- sysv4.3*)
- archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_shlibpath_var=no
- export_dynamic_flag_spec='-Bexport'
- ;;
-
- sysv4*MP*)
- if test -d /usr/nec; then
- archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_shlibpath_var=no
- runpath_var=LD_RUN_PATH
- hardcode_runpath_var=yes
- ld_shlibs=yes
- fi
- ;;
-
- sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7*)
- no_undefined_flag='${wl}-z,text'
- archive_cmds_need_lc=no
- hardcode_shlibpath_var=no
- runpath_var='LD_RUN_PATH'
-
- if test "$GCC" = yes; then
- archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- else
- archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- fi
- ;;
-
- sysv5* | sco3.2v5* | sco5v6*)
- # Note: We can NOT use -z defs as we might desire, because we do not
- # link with -lc, and that would cause any symbols used from libc to
- # always be unresolved, which means just about no library would
- # ever link correctly. If we're not using GNU ld we use -z text
- # though, which does catch some bad symbols but isn't as heavy-handed
- # as -z defs.
- no_undefined_flag='${wl}-z,text'
- allow_undefined_flag='${wl}-z,nodefs'
- archive_cmds_need_lc=no
- hardcode_shlibpath_var=no
- hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`'
- hardcode_libdir_separator=':'
- link_all_deplibs=yes
- export_dynamic_flag_spec='${wl}-Bexport'
- runpath_var='LD_RUN_PATH'
-
- if test "$GCC" = yes; then
- archive_cmds='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
- else
- archive_cmds='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
- fi
- ;;
-
- uts4*)
- archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_shlibpath_var=no
- ;;
-
- *)
- ld_shlibs=no
- ;;
- esac
- fi
-
-echo "$as_me:$LINENO: result: $ld_shlibs" >&5
-echo "${ECHO_T}$ld_shlibs" >&6
-test "$ld_shlibs" = no && can_build_shared=no
-
-#
-# Do we need to explicitly link libc?
-#
-case "x$archive_cmds_need_lc" in
-x|xyes)
- # Assume -lc should be added
- archive_cmds_need_lc=yes
-
- if test "$enable_shared" = yes && test "$GCC" = yes; then
- case $archive_cmds in
- *'~'*)
- # FIXME: we may have to deal with multi-command sequences.
- ;;
- '$CC '*)
- # Test whether the compiler implicitly links with -lc since on some
- # systems, -lgcc has to come before -lc. If gcc already passes -lc
- # to ld, don't add -lc before -lgcc.
- echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
-echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6
- $rm conftest*
- printf "$lt_simple_compile_test_code" > conftest.$ac_ext
-
- if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } 2>conftest.err; then
- soname=conftest
- lib=conftest
- libobjs=conftest.$ac_objext
- deplibs=
- wl=$lt_prog_compiler_wl
- pic_flag=$lt_prog_compiler_pic
- compiler_flags=-v
- linker_flags=-v
- verstring=
- output_objdir=.
- libname=conftest
- lt_save_allow_undefined_flag=$allow_undefined_flag
- allow_undefined_flag=
- if { (eval echo "$as_me:$LINENO: \"$archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5
- (eval $archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }
- then
- archive_cmds_need_lc=no
- else
- archive_cmds_need_lc=yes
- fi
- allow_undefined_flag=$lt_save_allow_undefined_flag
- else
- cat conftest.err 1>&5
- fi
- $rm conftest*
- echo "$as_me:$LINENO: result: $archive_cmds_need_lc" >&5
-echo "${ECHO_T}$archive_cmds_need_lc" >&6
- ;;
- esac
- fi
- ;;
-esac
-
-echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
-echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6
-library_names_spec=
-libname_spec='lib$name'
-soname_spec=
-shrext_cmds=".so"
-postinstall_cmds=
-postuninstall_cmds=
-finish_cmds=
-finish_eval=
-shlibpath_var=
-shlibpath_overrides_runpath=unknown
-version_type=none
-dynamic_linker="$host_os ld.so"
-sys_lib_dlsearch_path_spec="/lib /usr/lib"
-if test "$GCC" = yes; then
- sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
- if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then
- # if the path contains ";" then we assume it to be the separator
- # otherwise default to the standard path separator (i.e. ":") - it is
- # assumed that no part of a normal pathname contains ";" but that should
- # okay in the real world where ";" in dirpaths is itself problematic.
- sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
- else
- sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
- fi
-else
- sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
-fi
-need_lib_prefix=unknown
-hardcode_into_libs=no
-
-# when you set need_version to no, make sure it does not cause -set_version
-# flags to be left without arguments
-need_version=unknown
-
-case $host_os in
-aix3*)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
- shlibpath_var=LIBPATH
-
- # AIX 3 has no versioning support, so we append a major version to the name.
- soname_spec='${libname}${release}${shared_ext}$major'
- ;;
-
-aix4* | aix5*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- hardcode_into_libs=yes
- if test "$host_cpu" = ia64; then
- # AIX 5 supports IA64
- library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
- shlibpath_var=LD_LIBRARY_PATH
- else
- # With GCC up to 2.95.x, collect2 would create an import file
- # for dependence libraries. The import file would start with
- # the line `#! .'. This would cause the generated library to
- # depend on `.', always an invalid library. This was fixed in
- # development snapshots of GCC prior to 3.0.
- case $host_os in
- aix4 | aix4.[01] | aix4.[01].*)
- if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
- echo ' yes '
- echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then
- :
- else
- can_build_shared=no
- fi
- ;;
- esac
- # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
- # soname into executable. Probably we can add versioning support to
- # collect2, so additional links can be useful in future.
- if test "$aix_use_runtimelinking" = yes; then
- # If using run time linking (on AIX 4.2 or later) use lib<name>.so
- # instead of lib<name>.a to let people know that these are not
- # typical AIX shared libraries.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- else
- # We preserve .a as extension for shared libraries through AIX4.2
- # and later when we are not doing run time linking.
- library_names_spec='${libname}${release}.a $libname.a'
- soname_spec='${libname}${release}${shared_ext}$major'
- fi
- shlibpath_var=LIBPATH
- fi
- ;;
-
-amigaos*)
- library_names_spec='$libname.ixlibrary $libname.a'
- # Create ${libname}_ixlibrary.a entries in /sys/libs.
- finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
- ;;
-
-beos*)
- library_names_spec='${libname}${shared_ext}'
- dynamic_linker="$host_os ld.so"
- shlibpath_var=LIBRARY_PATH
- ;;
-
-bsdi[45]*)
- version_type=linux
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
- sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
- # the default ld.so.conf also contains /usr/contrib/lib and
- # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
- # libtool to hard-code these into programs
- ;;
-
-cygwin* | mingw* | pw32*)
- version_type=windows
- shrext_cmds=".dll"
- need_version=no
- need_lib_prefix=no
-
- case $GCC,$host_os in
- yes,cygwin* | yes,mingw* | yes,pw32*)
- library_names_spec='$libname.dll.a'
- # DLL is installed to $(libdir)/../bin by postinstall_cmds
- postinstall_cmds='base_file=`basename \${file}`~
- dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~
- dldir=$destdir/`dirname \$dlpath`~
- test -d \$dldir || mkdir -p \$dldir~
- $install_prog $dir/$dlname \$dldir/$dlname~
- chmod a+x \$dldir/$dlname'
- postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
- dlpath=$dir/\$dldll~
- $rm \$dlpath'
- shlibpath_overrides_runpath=yes
-
- case $host_os in
- cygwin*)
- # Cygwin DLLs use 'cyg' prefix rather than 'lib'
- soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
- sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib"
- ;;
- mingw*)
- # MinGW DLLs use traditional 'lib' prefix
- soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
- sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
- if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then
- # It is most probably a Windows format PATH printed by
- # mingw gcc, but we are running on Cygwin. Gcc prints its search
- # path with ; separators, and with drive letters. We can handle the
- # drive letters (cygwin fileutils understands them), so leave them,
- # especially as we might pass files found there to a mingw objdump,
- # which wouldn't understand a cygwinified path. Ahh.
- sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
- else
- sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
- fi
- ;;
- pw32*)
- # pw32 DLLs use 'pw' prefix rather than 'lib'
- library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
- ;;
- esac
- ;;
-
- *)
- library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib'
- ;;
- esac
- dynamic_linker='Win32 ld.exe'
- # FIXME: first we should search . and the directory the executable is in
- shlibpath_var=PATH
- ;;
-
-darwin* | rhapsody*)
- dynamic_linker="$host_os dyld"
- version_type=darwin
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext'
- soname_spec='${libname}${release}${major}$shared_ext'
- shlibpath_overrides_runpath=yes
- shlibpath_var=DYLD_LIBRARY_PATH
- shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
- # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same.
- if test "$GCC" = yes; then
- sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"`
- else
- sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib'
- fi
- sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
- ;;
-
-dgux*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- ;;
-
-freebsd1*)
- dynamic_linker=no
- ;;
-
-kfreebsd*-gnu)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- dynamic_linker='GNU ld.so'
- ;;
-
-freebsd* | dragonfly*)
- # DragonFly does not have aout. When/if they implement a new
- # versioning mechanism, adjust this.
- if test -x /usr/bin/objformat; then
- objformat=`/usr/bin/objformat`
- else
- case $host_os in
- freebsd[123]*) objformat=aout ;;
- *) objformat=elf ;;
- esac
- fi
- version_type=freebsd-$objformat
- case $version_type in
- freebsd-elf*)
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
- need_version=no
- need_lib_prefix=no
- ;;
- freebsd-*)
- library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
- need_version=yes
- ;;
- esac
- shlibpath_var=LD_LIBRARY_PATH
- case $host_os in
- freebsd2*)
- shlibpath_overrides_runpath=yes
- ;;
- freebsd3.[01]* | freebsdelf3.[01]*)
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- ;;
- freebsd3.[2-9]* | freebsdelf3.[2-9]* | \
- freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1)
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- ;;
- freebsd*) # from 4.6 on
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- ;;
- esac
- ;;
-
-gnu*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- hardcode_into_libs=yes
- ;;
-
-hpux9* | hpux10* | hpux11*)
- # Give a soname corresponding to the major version so that dld.sl refuses to
- # link against other versions.
- version_type=sunos
- need_lib_prefix=no
- need_version=no
- case $host_cpu in
- ia64*)
- shrext_cmds='.so'
- hardcode_into_libs=yes
- dynamic_linker="$host_os dld.so"
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- if test "X$HPUX_IA64_MODE" = X32; then
- sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
- else
- sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
- fi
- sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
- ;;
- hppa*64*)
- shrext_cmds='.sl'
- hardcode_into_libs=yes
- dynamic_linker="$host_os dld.sl"
- shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
- shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
- sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
- ;;
- *)
- shrext_cmds='.sl'
- dynamic_linker="$host_os dld.sl"
- shlibpath_var=SHLIB_PATH
- shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- ;;
- esac
- # HP-UX runs *really* slowly unless shared libraries are mode 555.
- postinstall_cmds='chmod 555 $lib'
- ;;
-
-interix3*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- ;;
-
-irix5* | irix6* | nonstopux*)
- case $host_os in
- nonstopux*) version_type=nonstopux ;;
- *)
- if test "$lt_cv_prog_gnu_ld" = yes; then
- version_type=linux
- else
- version_type=irix
- fi ;;
- esac
- need_lib_prefix=no
- need_version=no
- soname_spec='${libname}${release}${shared_ext}$major'
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
- case $host_os in
- irix5* | nonstopux*)
- libsuff= shlibsuff=
- ;;
- *)
- case $LD in # libtool.m4 will add one of these switches to LD
- *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
- libsuff= shlibsuff= libmagic=32-bit;;
- *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
- libsuff=32 shlibsuff=N32 libmagic=N32;;
- *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
- libsuff=64 shlibsuff=64 libmagic=64-bit;;
- *) libsuff= shlibsuff= libmagic=never-match;;
- esac
- ;;
- esac
- shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
- shlibpath_overrides_runpath=no
- sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
- sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
- hardcode_into_libs=yes
- ;;
-
-# No shared lib support for Linux oldld, aout, or coff.
-linux*oldld* | linux*aout* | linux*coff*)
- dynamic_linker=no
- ;;
-
-# This must be Linux ELF.
-linux*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- # This implies no fast_install, which is unacceptable.
- # Some rework will be needed to allow for fast_install
- # before this can be enabled.
- hardcode_into_libs=yes
-
- # Append ld.so.conf contents to the search path
- if test -f /etc/ld.so.conf; then
- lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
- sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
- fi
-
- # We used to test for /lib/ld.so.1 and disable shared libraries on
- # powerpc, because MkLinux only supported shared libraries with the
- # GNU dynamic linker. Since this was broken with cross compilers,
- # most powerpc-linux boxes support dynamic linking these days and
- # people can always --disable-shared, the test was removed, and we
- # assume the GNU/Linux dynamic linker is in use.
- dynamic_linker='GNU/Linux ld.so'
- ;;
-
-knetbsd*-gnu)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- dynamic_linker='GNU ld.so'
- ;;
-
-netbsd*)
- version_type=sunos
- need_lib_prefix=no
- need_version=no
- if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
- dynamic_linker='NetBSD (a.out) ld.so'
- else
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- dynamic_linker='NetBSD ld.elf_so'
- fi
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- ;;
-
-newsos6)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- ;;
-
-nto-qnx*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- ;;
-
-openbsd*)
- version_type=sunos
- sys_lib_dlsearch_path_spec="/usr/lib"
- need_lib_prefix=no
- # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
- case $host_os in
- openbsd3.3 | openbsd3.3.*) need_version=yes ;;
- *) need_version=no ;;
- esac
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- case $host_os in
- openbsd2.[89] | openbsd2.[89].*)
- shlibpath_overrides_runpath=no
- ;;
- *)
- shlibpath_overrides_runpath=yes
- ;;
- esac
- else
- shlibpath_overrides_runpath=yes
- fi
- ;;
-
-os2*)
- libname_spec='$name'
- shrext_cmds=".dll"
- need_lib_prefix=no
- library_names_spec='$libname${shared_ext} $libname.a'
- dynamic_linker='OS/2 ld.exe'
- shlibpath_var=LIBPATH
- ;;
-
-osf3* | osf4* | osf5*)
- version_type=osf
- need_lib_prefix=no
- need_version=no
- soname_spec='${libname}${release}${shared_ext}$major'
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- shlibpath_var=LD_LIBRARY_PATH
- sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
- sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
- ;;
-
-solaris*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- # ldd complains unless libraries are executable
- postinstall_cmds='chmod +x $lib'
- ;;
-
-sunos4*)
- version_type=sunos
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
- finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- if test "$with_gnu_ld" = yes; then
- need_lib_prefix=no
- fi
- need_version=yes
- ;;
-
-sysv4 | sysv4.3*)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- case $host_vendor in
- sni)
- shlibpath_overrides_runpath=no
- need_lib_prefix=no
- export_dynamic_flag_spec='${wl}-Blargedynsym'
- runpath_var=LD_RUN_PATH
- ;;
- siemens)
- need_lib_prefix=no
- ;;
- motorola)
- need_lib_prefix=no
- need_version=no
- shlibpath_overrides_runpath=no
- sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
- ;;
- esac
- ;;
-
-sysv4*MP*)
- if test -d /usr/nec ;then
- version_type=linux
- library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
- soname_spec='$libname${shared_ext}.$major'
- shlibpath_var=LD_LIBRARY_PATH
- fi
- ;;
-
-sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
- version_type=freebsd-elf
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- hardcode_into_libs=yes
- if test "$with_gnu_ld" = yes; then
- sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
- shlibpath_overrides_runpath=no
- else
- sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
- shlibpath_overrides_runpath=yes
- case $host_os in
- sco3.2v5*)
- sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
- ;;
- esac
- fi
- sys_lib_dlsearch_path_spec='/usr/lib'
- ;;
-
-uts4*)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- ;;
-
-*)
- dynamic_linker=no
- ;;
-esac
-echo "$as_me:$LINENO: result: $dynamic_linker" >&5
-echo "${ECHO_T}$dynamic_linker" >&6
-test "$dynamic_linker" = no && can_build_shared=no
-
-variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
-if test "$GCC" = yes; then
- variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
-fi
-
-echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
-echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6
-hardcode_action=
-if test -n "$hardcode_libdir_flag_spec" || \
- test -n "$runpath_var" || \
- test "X$hardcode_automatic" = "Xyes" ; then
-
- # We can hardcode non-existant directories.
- if test "$hardcode_direct" != no &&
- # If the only mechanism to avoid hardcoding is shlibpath_var, we
- # have to relink, otherwise we might link with an installed library
- # when we should be linking with a yet-to-be-installed one
- ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, )" != no &&
- test "$hardcode_minus_L" != no; then
- # Linking always hardcodes the temporary library directory.
- hardcode_action=relink
- else
- # We can link without hardcoding, and we can hardcode nonexisting dirs.
- hardcode_action=immediate
- fi
-else
- # We cannot hardcode anything, or else we can only hardcode existing
- # directories.
- hardcode_action=unsupported
-fi
-echo "$as_me:$LINENO: result: $hardcode_action" >&5
-echo "${ECHO_T}$hardcode_action" >&6
-
-if test "$hardcode_action" = relink; then
- # Fast installation is not supported
- enable_fast_install=no
-elif test "$shlibpath_overrides_runpath" = yes ||
- test "$enable_shared" = no; then
- # Fast installation is not necessary
- enable_fast_install=needless
-fi
-
-striplib=
-old_striplib=
-echo "$as_me:$LINENO: checking whether stripping libraries is possible" >&5
-echo $ECHO_N "checking whether stripping libraries is possible... $ECHO_C" >&6
-if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then
- test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
- test -z "$striplib" && striplib="$STRIP --strip-unneeded"
- echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
-else
-# FIXME - insert some real tests, host_os isn't really good enough
- case $host_os in
- darwin*)
- if test -n "$STRIP" ; then
- striplib="$STRIP -x"
- echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
- else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
- ;;
- *)
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
- ;;
- esac
-fi
-
-if test "x$enable_dlopen" != xyes; then
- enable_dlopen=unknown
- enable_dlopen_self=unknown
- enable_dlopen_self_static=unknown
-else
- lt_cv_dlopen=no
- lt_cv_dlopen_libs=
-
- case $host_os in
- beos*)
- lt_cv_dlopen="load_add_on"
- lt_cv_dlopen_libs=
- lt_cv_dlopen_self=yes
- ;;
-
- mingw* | pw32*)
- lt_cv_dlopen="LoadLibrary"
- lt_cv_dlopen_libs=
- ;;
-
- cygwin*)
- lt_cv_dlopen="dlopen"
- lt_cv_dlopen_libs=
- ;;
-
- darwin*)
- # if libdl is installed we need to link against it
- echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5
-echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6
-if test "${ac_cv_lib_dl_dlopen+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldl $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char dlopen ();
-int
-main ()
-{
-dlopen ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_lib_dl_dlopen=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_lib_dl_dlopen=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5
-echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6
-if test $ac_cv_lib_dl_dlopen = yes; then
- lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
-else
-
- lt_cv_dlopen="dyld"
- lt_cv_dlopen_libs=
- lt_cv_dlopen_self=yes
-
-fi
-
- ;;
-
- *)
- echo "$as_me:$LINENO: checking for shl_load" >&5
-echo $ECHO_N "checking for shl_load... $ECHO_C" >&6
-if test "${ac_cv_func_shl_load+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define shl_load to an innocuous variant, in case <limits.h> declares shl_load.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define shl_load innocuous_shl_load
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char shl_load (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef shl_load
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char shl_load ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_shl_load) || defined (__stub___shl_load)
-choke me
-#else
-char (*f) () = shl_load;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != shl_load;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_func_shl_load=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_func_shl_load=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_func_shl_load" >&5
-echo "${ECHO_T}$ac_cv_func_shl_load" >&6
-if test $ac_cv_func_shl_load = yes; then
- lt_cv_dlopen="shl_load"
-else
- echo "$as_me:$LINENO: checking for shl_load in -ldld" >&5
-echo $ECHO_N "checking for shl_load in -ldld... $ECHO_C" >&6
-if test "${ac_cv_lib_dld_shl_load+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldld $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char shl_load ();
-int
-main ()
-{
-shl_load ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_lib_dld_shl_load=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_lib_dld_shl_load=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_dld_shl_load" >&5
-echo "${ECHO_T}$ac_cv_lib_dld_shl_load" >&6
-if test $ac_cv_lib_dld_shl_load = yes; then
- lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld"
-else
- echo "$as_me:$LINENO: checking for dlopen" >&5
-echo $ECHO_N "checking for dlopen... $ECHO_C" >&6
-if test "${ac_cv_func_dlopen+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define dlopen to an innocuous variant, in case <limits.h> declares dlopen.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define dlopen innocuous_dlopen
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char dlopen (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef dlopen
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char dlopen ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_dlopen) || defined (__stub___dlopen)
-choke me
-#else
-char (*f) () = dlopen;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != dlopen;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_func_dlopen=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_func_dlopen=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_func_dlopen" >&5
-echo "${ECHO_T}$ac_cv_func_dlopen" >&6
-if test $ac_cv_func_dlopen = yes; then
- lt_cv_dlopen="dlopen"
-else
- echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5
-echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6
-if test "${ac_cv_lib_dl_dlopen+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldl $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char dlopen ();
-int
-main ()
-{
-dlopen ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_lib_dl_dlopen=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_lib_dl_dlopen=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5
-echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6
-if test $ac_cv_lib_dl_dlopen = yes; then
- lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
-else
- echo "$as_me:$LINENO: checking for dlopen in -lsvld" >&5
-echo $ECHO_N "checking for dlopen in -lsvld... $ECHO_C" >&6
-if test "${ac_cv_lib_svld_dlopen+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lsvld $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char dlopen ();
-int
-main ()
-{
-dlopen ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_lib_svld_dlopen=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_lib_svld_dlopen=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_svld_dlopen" >&5
-echo "${ECHO_T}$ac_cv_lib_svld_dlopen" >&6
-if test $ac_cv_lib_svld_dlopen = yes; then
- lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"
-else
- echo "$as_me:$LINENO: checking for dld_link in -ldld" >&5
-echo $ECHO_N "checking for dld_link in -ldld... $ECHO_C" >&6
-if test "${ac_cv_lib_dld_dld_link+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldld $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char dld_link ();
-int
-main ()
-{
-dld_link ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_lib_dld_dld_link=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_lib_dld_dld_link=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_dld_dld_link" >&5
-echo "${ECHO_T}$ac_cv_lib_dld_dld_link" >&6
-if test $ac_cv_lib_dld_dld_link = yes; then
- lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld"
-fi
-
-
-fi
-
-
-fi
-
-
-fi
-
-
-fi
-
-
-fi
-
- ;;
- esac
-
- if test "x$lt_cv_dlopen" != xno; then
- enable_dlopen=yes
- else
- enable_dlopen=no
- fi
-
- case $lt_cv_dlopen in
- dlopen)
- save_CPPFLAGS="$CPPFLAGS"
- test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
-
- save_LDFLAGS="$LDFLAGS"
- wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
-
- save_LIBS="$LIBS"
- LIBS="$lt_cv_dlopen_libs $LIBS"
-
- echo "$as_me:$LINENO: checking whether a program can dlopen itself" >&5
-echo $ECHO_N "checking whether a program can dlopen itself... $ECHO_C" >&6
-if test "${lt_cv_dlopen_self+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test "$cross_compiling" = yes; then :
- lt_cv_dlopen_self=cross
-else
- lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
- lt_status=$lt_dlunknown
- cat > conftest.$ac_ext <<EOF
-#line 9215 "configure"
-#include "confdefs.h"
-
-#if HAVE_DLFCN_H
-#include <dlfcn.h>
-#endif
-
-#include <stdio.h>
-
-#ifdef RTLD_GLOBAL
-# define LT_DLGLOBAL RTLD_GLOBAL
-#else
-# ifdef DL_GLOBAL
-# define LT_DLGLOBAL DL_GLOBAL
-# else
-# define LT_DLGLOBAL 0
-# endif
-#endif
-
-/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
- find out it does not work in some platform. */
-#ifndef LT_DLLAZY_OR_NOW
-# ifdef RTLD_LAZY
-# define LT_DLLAZY_OR_NOW RTLD_LAZY
-# else
-# ifdef DL_LAZY
-# define LT_DLLAZY_OR_NOW DL_LAZY
-# else
-# ifdef RTLD_NOW
-# define LT_DLLAZY_OR_NOW RTLD_NOW
-# else
-# ifdef DL_NOW
-# define LT_DLLAZY_OR_NOW DL_NOW
-# else
-# define LT_DLLAZY_OR_NOW 0
-# endif
-# endif
-# endif
-# endif
-#endif
-
-#ifdef __cplusplus
-extern "C" void exit (int);
-#endif
-
-void fnord() { int i=42;}
-int main ()
-{
- void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
- int status = $lt_dlunknown;
-
- if (self)
- {
- if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
- else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
- /* dlclose (self); */
- }
- else
- puts (dlerror ());
-
- exit (status);
-}
-EOF
- if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then
- (./conftest; exit; ) >&5 2>/dev/null
- lt_status=$?
- case x$lt_status in
- x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;;
- x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;;
- x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;;
- esac
- else :
- # compilation failed
- lt_cv_dlopen_self=no
- fi
-fi
-rm -fr conftest*
-
-
-fi
-echo "$as_me:$LINENO: result: $lt_cv_dlopen_self" >&5
-echo "${ECHO_T}$lt_cv_dlopen_self" >&6
-
- if test "x$lt_cv_dlopen_self" = xyes; then
- wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
- echo "$as_me:$LINENO: checking whether a statically linked program can dlopen itself" >&5
-echo $ECHO_N "checking whether a statically linked program can dlopen itself... $ECHO_C" >&6
-if test "${lt_cv_dlopen_self_static+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test "$cross_compiling" = yes; then :
- lt_cv_dlopen_self_static=cross
-else
- lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
- lt_status=$lt_dlunknown
- cat > conftest.$ac_ext <<EOF
-#line 9315 "configure"
-#include "confdefs.h"
-
-#if HAVE_DLFCN_H
-#include <dlfcn.h>
-#endif
-
-#include <stdio.h>
-
-#ifdef RTLD_GLOBAL
-# define LT_DLGLOBAL RTLD_GLOBAL
-#else
-# ifdef DL_GLOBAL
-# define LT_DLGLOBAL DL_GLOBAL
-# else
-# define LT_DLGLOBAL 0
-# endif
-#endif
-
-/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
- find out it does not work in some platform. */
-#ifndef LT_DLLAZY_OR_NOW
-# ifdef RTLD_LAZY
-# define LT_DLLAZY_OR_NOW RTLD_LAZY
-# else
-# ifdef DL_LAZY
-# define LT_DLLAZY_OR_NOW DL_LAZY
-# else
-# ifdef RTLD_NOW
-# define LT_DLLAZY_OR_NOW RTLD_NOW
-# else
-# ifdef DL_NOW
-# define LT_DLLAZY_OR_NOW DL_NOW
-# else
-# define LT_DLLAZY_OR_NOW 0
-# endif
-# endif
-# endif
-# endif
-#endif
-
-#ifdef __cplusplus
-extern "C" void exit (int);
-#endif
-
-void fnord() { int i=42;}
-int main ()
-{
- void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
- int status = $lt_dlunknown;
-
- if (self)
- {
- if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
- else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
- /* dlclose (self); */
- }
- else
- puts (dlerror ());
-
- exit (status);
-}
-EOF
- if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then
- (./conftest; exit; ) >&5 2>/dev/null
- lt_status=$?
- case x$lt_status in
- x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;;
- x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;;
- x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;;
- esac
- else :
- # compilation failed
- lt_cv_dlopen_self_static=no
- fi
-fi
-rm -fr conftest*
-
-
-fi
-echo "$as_me:$LINENO: result: $lt_cv_dlopen_self_static" >&5
-echo "${ECHO_T}$lt_cv_dlopen_self_static" >&6
- fi
-
- CPPFLAGS="$save_CPPFLAGS"
- LDFLAGS="$save_LDFLAGS"
- LIBS="$save_LIBS"
- ;;
- esac
-
- case $lt_cv_dlopen_self in
- yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
- *) enable_dlopen_self=unknown ;;
- esac
-
- case $lt_cv_dlopen_self_static in
- yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
- *) enable_dlopen_self_static=unknown ;;
- esac
-fi
-
-
-# Report which library types will actually be built
-echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5
-echo $ECHO_N "checking if libtool supports shared libraries... $ECHO_C" >&6
-echo "$as_me:$LINENO: result: $can_build_shared" >&5
-echo "${ECHO_T}$can_build_shared" >&6
-
-echo "$as_me:$LINENO: checking whether to build shared libraries" >&5
-echo $ECHO_N "checking whether to build shared libraries... $ECHO_C" >&6
-test "$can_build_shared" = "no" && enable_shared=no
-
-# On AIX, shared libraries and static libraries use the same namespace, and
-# are all built from PIC.
-case $host_os in
-aix3*)
- test "$enable_shared" = yes && enable_static=no
- if test -n "$RANLIB"; then
- archive_cmds="$archive_cmds~\$RANLIB \$lib"
- postinstall_cmds='$RANLIB $lib'
- fi
- ;;
-
-aix4* | aix5*)
- if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
- test "$enable_shared" = yes && enable_static=no
- fi
- ;;
-esac
-echo "$as_me:$LINENO: result: $enable_shared" >&5
-echo "${ECHO_T}$enable_shared" >&6
-
-echo "$as_me:$LINENO: checking whether to build static libraries" >&5
-echo $ECHO_N "checking whether to build static libraries... $ECHO_C" >&6
-# Make sure either enable_shared or enable_static is yes.
-test "$enable_shared" = yes || enable_static=yes
-echo "$as_me:$LINENO: result: $enable_static" >&5
-echo "${ECHO_T}$enable_static" >&6
-
-# The else clause should only fire when bootstrapping the
-# libtool distribution, otherwise you forgot to ship ltmain.sh
-# with your package, and you will get complaints that there are
-# no rules to generate ltmain.sh.
-if test -f "$ltmain"; then
- # See if we are running on zsh, and set the options which allow our commands through
- # without removal of \ escapes.
- if test -n "${ZSH_VERSION+set}" ; then
- setopt NO_GLOB_SUBST
- fi
- # Now quote all the things that may contain metacharacters while being
- # careful not to overquote the AC_SUBSTed values. We take copies of the
- # variables and quote the copies for generation of the libtool script.
- for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \
- SED SHELL STRIP \
- libname_spec library_names_spec soname_spec extract_expsyms_cmds \
- old_striplib striplib file_magic_cmd finish_cmds finish_eval \
- deplibs_check_method reload_flag reload_cmds need_locks \
- lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \
- lt_cv_sys_global_symbol_to_c_name_address \
- sys_lib_search_path_spec sys_lib_dlsearch_path_spec \
- old_postinstall_cmds old_postuninstall_cmds \
- compiler \
- CC \
- LD \
- lt_prog_compiler_wl \
- lt_prog_compiler_pic \
- lt_prog_compiler_static \
- lt_prog_compiler_no_builtin_flag \
- export_dynamic_flag_spec \
- thread_safe_flag_spec \
- whole_archive_flag_spec \
- enable_shared_with_static_runtimes \
- old_archive_cmds \
- old_archive_from_new_cmds \
- predep_objects \
- postdep_objects \
- predeps \
- postdeps \
- compiler_lib_search_path \
- archive_cmds \
- archive_expsym_cmds \
- postinstall_cmds \
- postuninstall_cmds \
- old_archive_from_expsyms_cmds \
- allow_undefined_flag \
- no_undefined_flag \
- export_symbols_cmds \
- hardcode_libdir_flag_spec \
- hardcode_libdir_flag_spec_ld \
- hardcode_libdir_separator \
- hardcode_automatic \
- module_cmds \
- module_expsym_cmds \
- lt_cv_prog_compiler_c_o \
- exclude_expsyms \
- include_expsyms; do
-
- case $var in
- old_archive_cmds | \
- old_archive_from_new_cmds | \
- archive_cmds | \
- archive_expsym_cmds | \
- module_cmds | \
- module_expsym_cmds | \
- old_archive_from_expsyms_cmds | \
- export_symbols_cmds | \
- extract_expsyms_cmds | reload_cmds | finish_cmds | \
- postinstall_cmds | postuninstall_cmds | \
- old_postinstall_cmds | old_postuninstall_cmds | \
- sys_lib_search_path_spec | sys_lib_dlsearch_path_spec)
- # Double-quote double-evaled strings.
- eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\""
- ;;
- *)
- eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\""
- ;;
- esac
- done
-
- case $lt_echo in
- *'\$0 --fallback-echo"')
- lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'`
- ;;
- esac
-
-cfgfile="${ofile}T"
- trap "$rm \"$cfgfile\"; exit 1" 1 2 15
- $rm -f "$cfgfile"
- { echo "$as_me:$LINENO: creating $ofile" >&5
-echo "$as_me: creating $ofile" >&6;}
-
- cat <<__EOF__ >> "$cfgfile"
-#! $SHELL
-
-# `$echo "$cfgfile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
-# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP)
-# NOTE: Changes made to this file will be lost: look at ltmain.sh.
-#
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001
-# Free Software Foundation, Inc.
-#
-# This file is part of GNU Libtool:
-# Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-#
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-# A sed program that does not truncate output.
-SED=$lt_SED
-
-# Sed that helps us avoid accidentally triggering echo(1) options like -n.
-Xsed="$SED -e 1s/^X//"
-
-# The HP-UX ksh and POSIX shell print the target directory to stdout
-# if CDPATH is set.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-# The names of the tagged configurations supported by this script.
-available_tags=
-
-# ### BEGIN LIBTOOL CONFIG
-
-# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
-
-# Shell to use when invoking shell scripts.
-SHELL=$lt_SHELL
-
-# Whether or not to build shared libraries.
-build_libtool_libs=$enable_shared
-
-# Whether or not to build static libraries.
-build_old_libs=$enable_static
-
-# Whether or not to add -lc for building shared libraries.
-build_libtool_need_lc=$archive_cmds_need_lc
-
-# Whether or not to disallow shared libs when runtime libs are static
-allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes
-
-# Whether or not to optimize for fast installation.
-fast_install=$enable_fast_install
-
-# The host system.
-host_alias=$host_alias
-host=$host
-host_os=$host_os
-
-# The build system.
-build_alias=$build_alias
-build=$build
-build_os=$build_os
-
-# An echo program that does not interpret backslashes.
-echo=$lt_echo
-
-# The archiver.
-AR=$lt_AR
-AR_FLAGS=$lt_AR_FLAGS
-
-# A C compiler.
-LTCC=$lt_LTCC
-
-# LTCC compiler flags.
-LTCFLAGS=$lt_LTCFLAGS
-
-# A language-specific compiler.
-CC=$lt_compiler
-
-# Is the compiler the GNU C compiler?
-with_gcc=$GCC
-
-# An ERE matcher.
-EGREP=$lt_EGREP
-
-# The linker used to build libraries.
-LD=$lt_LD
-
-# Whether we need hard or soft links.
-LN_S=$lt_LN_S
-
-# A BSD-compatible nm program.
-NM=$lt_NM
-
-# A symbol stripping program
-STRIP=$lt_STRIP
-
-# Used to examine libraries when file_magic_cmd begins "file"
-MAGIC_CMD=$MAGIC_CMD
-
-# Used on cygwin: DLL creation program.
-DLLTOOL="$DLLTOOL"
-
-# Used on cygwin: object dumper.
-OBJDUMP="$OBJDUMP"
-
-# Used on cygwin: assembler.
-AS="$AS"
-
-# The name of the directory that contains temporary libtool files.
-objdir=$objdir
-
-# How to create reloadable object files.
-reload_flag=$lt_reload_flag
-reload_cmds=$lt_reload_cmds
-
-# How to pass a linker flag through the compiler.
-wl=$lt_lt_prog_compiler_wl
-
-# Object file suffix (normally "o").
-objext="$ac_objext"
-
-# Old archive suffix (normally "a").
-libext="$libext"
-
-# Shared library suffix (normally ".so").
-shrext_cmds='$shrext_cmds'
-
-# Executable file suffix (normally "").
-exeext="$exeext"
-
-# Additional compiler flags for building library objects.
-pic_flag=$lt_lt_prog_compiler_pic
-pic_mode=$pic_mode
-
-# What is the maximum length of a command?
-max_cmd_len=$lt_cv_sys_max_cmd_len
-
-# Does compiler simultaneously support -c and -o options?
-compiler_c_o=$lt_lt_cv_prog_compiler_c_o
-
-# Must we lock files when doing compilation?
-need_locks=$lt_need_locks
-
-# Do we need the lib prefix for modules?
-need_lib_prefix=$need_lib_prefix
-
-# Do we need a version for libraries?
-need_version=$need_version
-
-# Whether dlopen is supported.
-dlopen_support=$enable_dlopen
-
-# Whether dlopen of programs is supported.
-dlopen_self=$enable_dlopen_self
-
-# Whether dlopen of statically linked programs is supported.
-dlopen_self_static=$enable_dlopen_self_static
-
-# Compiler flag to prevent dynamic linking.
-link_static_flag=$lt_lt_prog_compiler_static
-
-# Compiler flag to turn off builtin functions.
-no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag
-
-# Compiler flag to allow reflexive dlopens.
-export_dynamic_flag_spec=$lt_export_dynamic_flag_spec
-
-# Compiler flag to generate shared objects directly from archives.
-whole_archive_flag_spec=$lt_whole_archive_flag_spec
-
-# Compiler flag to generate thread-safe objects.
-thread_safe_flag_spec=$lt_thread_safe_flag_spec
-
-# Library versioning type.
-version_type=$version_type
-
-# Format of library name prefix.
-libname_spec=$lt_libname_spec
-
-# List of archive names. First name is the real one, the rest are links.
-# The last name is the one that the linker finds with -lNAME.
-library_names_spec=$lt_library_names_spec
-
-# The coded name of the library, if different from the real name.
-soname_spec=$lt_soname_spec
-
-# Commands used to build and install an old-style archive.
-RANLIB=$lt_RANLIB
-old_archive_cmds=$lt_old_archive_cmds
-old_postinstall_cmds=$lt_old_postinstall_cmds
-old_postuninstall_cmds=$lt_old_postuninstall_cmds
-
-# Create an old-style archive from a shared archive.
-old_archive_from_new_cmds=$lt_old_archive_from_new_cmds
-
-# Create a temporary old-style archive to link instead of a shared archive.
-old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds
-
-# Commands used to build and install a shared archive.
-archive_cmds=$lt_archive_cmds
-archive_expsym_cmds=$lt_archive_expsym_cmds
-postinstall_cmds=$lt_postinstall_cmds
-postuninstall_cmds=$lt_postuninstall_cmds
-
-# Commands used to build a loadable module (assumed same as above if empty)
-module_cmds=$lt_module_cmds
-module_expsym_cmds=$lt_module_expsym_cmds
-
-# Commands to strip libraries.
-old_striplib=$lt_old_striplib
-striplib=$lt_striplib
-
-# Dependencies to place before the objects being linked to create a
-# shared library.
-predep_objects=$lt_predep_objects
-
-# Dependencies to place after the objects being linked to create a
-# shared library.
-postdep_objects=$lt_postdep_objects
-
-# Dependencies to place before the objects being linked to create a
-# shared library.
-predeps=$lt_predeps
-
-# Dependencies to place after the objects being linked to create a
-# shared library.
-postdeps=$lt_postdeps
-
-# The library search path used internally by the compiler when linking
-# a shared library.
-compiler_lib_search_path=$lt_compiler_lib_search_path
-
-# Method to check whether dependent libraries are shared objects.
-deplibs_check_method=$lt_deplibs_check_method
-
-# Command to use when deplibs_check_method == file_magic.
-file_magic_cmd=$lt_file_magic_cmd
-
-# Flag that allows shared libraries with undefined symbols to be built.
-allow_undefined_flag=$lt_allow_undefined_flag
-
-# Flag that forces no undefined symbols.
-no_undefined_flag=$lt_no_undefined_flag
-
-# Commands used to finish a libtool library installation in a directory.
-finish_cmds=$lt_finish_cmds
-
-# Same as above, but a single script fragment to be evaled but not shown.
-finish_eval=$lt_finish_eval
-
-# Take the output of nm and produce a listing of raw symbols and C names.
-global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
-
-# Transform the output of nm in a proper C declaration
-global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
-
-# Transform the output of nm in a C name address pair
-global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
-
-# This is the shared library runtime path variable.
-runpath_var=$runpath_var
-
-# This is the shared library path variable.
-shlibpath_var=$shlibpath_var
-
-# Is shlibpath searched before the hard-coded library search path?
-shlibpath_overrides_runpath=$shlibpath_overrides_runpath
-
-# How to hardcode a shared library path into an executable.
-hardcode_action=$hardcode_action
-
-# Whether we should hardcode library paths into libraries.
-hardcode_into_libs=$hardcode_into_libs
-
-# Flag to hardcode \$libdir into a binary during linking.
-# This must work even if \$libdir does not exist.
-hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec
-
-# If ld is used when linking, flag to hardcode \$libdir into
-# a binary during linking. This must work even if \$libdir does
-# not exist.
-hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld
-
-# Whether we need a single -rpath flag with a separated argument.
-hardcode_libdir_separator=$lt_hardcode_libdir_separator
-
-# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the
-# resulting binary.
-hardcode_direct=$hardcode_direct
-
-# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
-# resulting binary.
-hardcode_minus_L=$hardcode_minus_L
-
-# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into
-# the resulting binary.
-hardcode_shlibpath_var=$hardcode_shlibpath_var
-
-# Set to yes if building a shared library automatically hardcodes DIR into the library
-# and all subsequent libraries and executables linked against it.
-hardcode_automatic=$hardcode_automatic
-
-# Variables whose values should be saved in libtool wrapper scripts and
-# restored at relink time.
-variables_saved_for_relink="$variables_saved_for_relink"
-
-# Whether libtool must link a program against all its dependency libraries.
-link_all_deplibs=$link_all_deplibs
-
-# Compile-time system search path for libraries
-sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
-
-# Run-time system search path for libraries
-sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
-
-# Fix the shell variable \$srcfile for the compiler.
-fix_srcfile_path="$fix_srcfile_path"
-
-# Set to yes if exported symbols are required.
-always_export_symbols=$always_export_symbols
-
-# The commands to list exported symbols.
-export_symbols_cmds=$lt_export_symbols_cmds
-
-# The commands to extract the exported symbol list from a shared archive.
-extract_expsyms_cmds=$lt_extract_expsyms_cmds
-
-# Symbols that should not be listed in the preloaded symbols.
-exclude_expsyms=$lt_exclude_expsyms
-
-# Symbols that must always be exported.
-include_expsyms=$lt_include_expsyms
-
-# ### END LIBTOOL CONFIG
-
-__EOF__
-
-
- case $host_os in
- aix3*)
- cat <<\EOF >> "$cfgfile"
-
-# AIX sometimes has problems with the GCC collect2 program. For some
-# reason, if we set the COLLECT_NAMES environment variable, the problems
-# vanish in a puff of smoke.
-if test "X${COLLECT_NAMES+set}" != Xset; then
- COLLECT_NAMES=
- export COLLECT_NAMES
-fi
-EOF
- ;;
- esac
-
- # We use sed instead of cat because bash on DJGPP gets confused if
- # if finds mixed CR/LF and LF-only lines. Since sed operates in
- # text mode, it properly converts lines to CR/LF. This bash problem
- # is reportedly fixed, but why not run on old versions too?
- sed '$q' "$ltmain" >> "$cfgfile" || (rm -f "$cfgfile"; exit 1)
-
- mv -f "$cfgfile" "$ofile" || \
- (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
- chmod +x "$ofile"
-
-else
- # If there is no Makefile yet, we rely on a make rule to execute
- # `config.status --recheck' to rerun these tests and create the
- # libtool script then.
- ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'`
- if test -f "$ltmain_in"; then
- test -f Makefile && make "$ltmain"
- fi
-fi
-
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-CC="$lt_save_CC"
-
-
-# Check whether --with-tags or --without-tags was given.
-if test "${with_tags+set}" = set; then
- withval="$with_tags"
- tagnames="$withval"
-fi;
-
-if test -f "$ltmain" && test -n "$tagnames"; then
- if test ! -f "${ofile}"; then
- { echo "$as_me:$LINENO: WARNING: output file \`$ofile' does not exist" >&5
-echo "$as_me: WARNING: output file \`$ofile' does not exist" >&2;}
- fi
-
- if test -z "$LTCC"; then
- eval "`$SHELL ${ofile} --config | grep '^LTCC='`"
- if test -z "$LTCC"; then
- { echo "$as_me:$LINENO: WARNING: output file \`$ofile' does not look like a libtool script" >&5
-echo "$as_me: WARNING: output file \`$ofile' does not look like a libtool script" >&2;}
- else
- { echo "$as_me:$LINENO: WARNING: using \`LTCC=$LTCC', extracted from \`$ofile'" >&5
-echo "$as_me: WARNING: using \`LTCC=$LTCC', extracted from \`$ofile'" >&2;}
- fi
- fi
- if test -z "$LTCFLAGS"; then
- eval "`$SHELL ${ofile} --config | grep '^LTCFLAGS='`"
- fi
-
- # Extract list of available tagged configurations in $ofile.
- # Note that this assumes the entire list is on one line.
- available_tags=`grep "^available_tags=" "${ofile}" | $SED -e 's/available_tags=\(.*$\)/\1/' -e 's/\"//g'`
-
- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
- for tagname in $tagnames; do
- IFS="$lt_save_ifs"
- # Check whether tagname contains only valid characters
- case `$echo "X$tagname" | $Xsed -e 's:[-_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890,/]::g'` in
- "") ;;
- *) { { echo "$as_me:$LINENO: error: invalid tag name: $tagname" >&5
-echo "$as_me: error: invalid tag name: $tagname" >&2;}
- { (exit 1); exit 1; }; }
- ;;
- esac
-
- if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "${ofile}" > /dev/null
- then
- { { echo "$as_me:$LINENO: error: tag name \"$tagname\" already exists" >&5
-echo "$as_me: error: tag name \"$tagname\" already exists" >&2;}
- { (exit 1); exit 1; }; }
- fi
-
- # Update the list of available tags.
- if test -n "$tagname"; then
- echo appending configuration tag \"$tagname\" to $ofile
-
- case $tagname in
- CXX)
- if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
- ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
- (test "X$CXX" != "Xg++"))) ; then
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
-
-
-
-archive_cmds_need_lc_CXX=no
-allow_undefined_flag_CXX=
-always_export_symbols_CXX=no
-archive_expsym_cmds_CXX=
-export_dynamic_flag_spec_CXX=
-hardcode_direct_CXX=no
-hardcode_libdir_flag_spec_CXX=
-hardcode_libdir_flag_spec_ld_CXX=
-hardcode_libdir_separator_CXX=
-hardcode_minus_L_CXX=no
-hardcode_shlibpath_var_CXX=unsupported
-hardcode_automatic_CXX=no
-module_cmds_CXX=
-module_expsym_cmds_CXX=
-link_all_deplibs_CXX=unknown
-old_archive_cmds_CXX=$old_archive_cmds
-no_undefined_flag_CXX=
-whole_archive_flag_spec_CXX=
-enable_shared_with_static_runtimes_CXX=no
-
-# Dependencies to place before and after the object being linked:
-predep_objects_CXX=
-postdep_objects_CXX=
-predeps_CXX=
-postdeps_CXX=
-compiler_lib_search_path_CXX=
-
-# Source file extension for C++ test sources.
-ac_ext=cpp
-
-# Object file extension for compiled C++ test sources.
-objext=o
-objext_CXX=$objext
-
-# Code to be used in simple compile tests
-lt_simple_compile_test_code="int some_variable = 0;\n"
-
-# Code to be used in simple link tests
-lt_simple_link_test_code='int main(int, char *[]) { return(0); }\n'
-
-# ltmain only uses $CC for tagged configurations so make sure $CC is set.
-
-# If no C compiler was specified, use CC.
-LTCC=${LTCC-"$CC"}
-
-# If no C compiler flags were specified, use CFLAGS.
-LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
-
-# Allow CC to be a program name with arguments.
-compiler=$CC
-
-
-# save warnings/boilerplate of simple test code
-ac_outfile=conftest.$ac_objext
-printf "$lt_simple_compile_test_code" >conftest.$ac_ext
-eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_compiler_boilerplate=`cat conftest.err`
-$rm conftest*
-
-ac_outfile=conftest.$ac_objext
-printf "$lt_simple_link_test_code" >conftest.$ac_ext
-eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_linker_boilerplate=`cat conftest.err`
-$rm conftest*
-
-
-# Allow CC to be a program name with arguments.
-lt_save_CC=$CC
-lt_save_LD=$LD
-lt_save_GCC=$GCC
-GCC=$GXX
-lt_save_with_gnu_ld=$with_gnu_ld
-lt_save_path_LD=$lt_cv_path_LD
-if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then
- lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx
-else
- $as_unset lt_cv_prog_gnu_ld
-fi
-if test -n "${lt_cv_path_LDCXX+set}"; then
- lt_cv_path_LD=$lt_cv_path_LDCXX
-else
- $as_unset lt_cv_path_LD
-fi
-test -z "${LDCXX+set}" || LD=$LDCXX
-CC=${CXX-"c++"}
-compiler=$CC
-compiler_CXX=$CC
-for cc_temp in $compiler""; do
- case $cc_temp in
- compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
- distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
- \-*) ;;
- *) break;;
- esac
-done
-cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
-
-
-# We don't want -fno-exception wen compiling C++ code, so set the
-# no_builtin_flag separately
-if test "$GXX" = yes; then
- lt_prog_compiler_no_builtin_flag_CXX=' -fno-builtin'
-else
- lt_prog_compiler_no_builtin_flag_CXX=
-fi
-
-if test "$GXX" = yes; then
- # Set up default GNU C++ configuration
-
-
-# Check whether --with-gnu-ld or --without-gnu-ld was given.
-if test "${with_gnu_ld+set}" = set; then
- withval="$with_gnu_ld"
- test "$withval" = no || with_gnu_ld=yes
-else
- with_gnu_ld=no
-fi;
-ac_prog=ld
-if test "$GCC" = yes; then
- # Check if gcc -print-prog-name=ld gives a path.
- echo "$as_me:$LINENO: checking for ld used by $CC" >&5
-echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6
- case $host in
- *-*-mingw*)
- # gcc leaves a trailing carriage return which upsets mingw
- ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
- *)
- ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
- esac
- case $ac_prog in
- # Accept absolute paths.
- [\\/]* | ?:[\\/]*)
- re_direlt='/[^/][^/]*/\.\./'
- # Canonicalize the pathname of ld
- ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'`
- while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
- ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"`
- done
- test -z "$LD" && LD="$ac_prog"
- ;;
- "")
- # If it fails, then pretend we aren't using GCC.
- ac_prog=ld
- ;;
- *)
- # If it is relative, then search for the first ld in PATH.
- with_gnu_ld=unknown
- ;;
- esac
-elif test "$with_gnu_ld" = yes; then
- echo "$as_me:$LINENO: checking for GNU ld" >&5
-echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6
-else
- echo "$as_me:$LINENO: checking for non-GNU ld" >&5
-echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6
-fi
-if test "${lt_cv_path_LD+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -z "$LD"; then
- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
- for ac_dir in $PATH; do
- IFS="$lt_save_ifs"
- test -z "$ac_dir" && ac_dir=.
- if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
- lt_cv_path_LD="$ac_dir/$ac_prog"
- # Check to see if the program is GNU ld. I'd rather use --version,
- # but apparently some variants of GNU ld only accept -v.
- # Break only if it was the GNU/non-GNU ld that we prefer.
- case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
- *GNU* | *'with BFD'*)
- test "$with_gnu_ld" != no && break
- ;;
- *)
- test "$with_gnu_ld" != yes && break
- ;;
- esac
- fi
- done
- IFS="$lt_save_ifs"
-else
- lt_cv_path_LD="$LD" # Let the user override the test with a path.
-fi
-fi
-
-LD="$lt_cv_path_LD"
-if test -n "$LD"; then
- echo "$as_me:$LINENO: result: $LD" >&5
-echo "${ECHO_T}$LD" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5
-echo "$as_me: error: no acceptable ld found in \$PATH" >&2;}
- { (exit 1); exit 1; }; }
-echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5
-echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6
-if test "${lt_cv_prog_gnu_ld+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- # I'd rather use --version here, but apparently some GNU lds only accept -v.
-case `$LD -v 2>&1 </dev/null` in
-*GNU* | *'with BFD'*)
- lt_cv_prog_gnu_ld=yes
- ;;
-*)
- lt_cv_prog_gnu_ld=no
- ;;
-esac
-fi
-echo "$as_me:$LINENO: result: $lt_cv_prog_gnu_ld" >&5
-echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6
-with_gnu_ld=$lt_cv_prog_gnu_ld
-
-
-
- # Check if GNU C++ uses GNU ld as the underlying linker, since the
- # archiving commands below assume that GNU ld is being used.
- if test "$with_gnu_ld" = yes; then
- archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-
- hardcode_libdir_flag_spec_CXX='${wl}--rpath ${wl}$libdir'
- export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
-
- # If archive_cmds runs LD, not CC, wlarc should be empty
- # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to
- # investigate it a little bit more. (MM)
- wlarc='${wl}'
-
- # ancient GNU ld didn't support --whole-archive et. al.
- if eval "`$CC -print-prog-name=ld` --help 2>&1" | \
- grep 'no-whole-archive' > /dev/null; then
- whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
- else
- whole_archive_flag_spec_CXX=
- fi
- else
- with_gnu_ld=no
- wlarc=
-
- # A generic and very simple default shared library creation
- # command for GNU C++ for the case where it uses the native
- # linker, instead of GNU ld. If possible, this setting should
- # overridden to take advantage of the native linker features on
- # the platform it is being used on.
- archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
- fi
-
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"'
-
-else
- GXX=no
- with_gnu_ld=no
- wlarc=
-fi
-
-# PORTME: fill in a description of your system's C++ link characteristics
-echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
-echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6
-ld_shlibs_CXX=yes
-case $host_os in
- aix3*)
- # FIXME: insert proper C++ library support
- ld_shlibs_CXX=no
- ;;
- aix4* | aix5*)
- if test "$host_cpu" = ia64; then
- # On IA64, the linker does run time linking by default, so we don't
- # have to do anything special.
- aix_use_runtimelinking=no
- exp_sym_flag='-Bexport'
- no_entry_flag=""
- else
- aix_use_runtimelinking=no
-
- # Test if we are trying to use run time linking or normal
- # AIX style linking. If -brtl is somewhere in LDFLAGS, we
- # need to do runtime linking.
- case $host_os in aix4.[23]|aix4.[23].*|aix5*)
- for ld_flag in $LDFLAGS; do
- case $ld_flag in
- *-brtl*)
- aix_use_runtimelinking=yes
- break
- ;;
- esac
- done
- ;;
- esac
-
- exp_sym_flag='-bexport'
- no_entry_flag='-bnoentry'
- fi
-
- # When large executables or shared objects are built, AIX ld can
- # have problems creating the table of contents. If linking a library
- # or program results in "error TOC overflow" add -mminimal-toc to
- # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
- # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
-
- archive_cmds_CXX=''
- hardcode_direct_CXX=yes
- hardcode_libdir_separator_CXX=':'
- link_all_deplibs_CXX=yes
-
- if test "$GXX" = yes; then
- case $host_os in aix4.[012]|aix4.[012].*)
- # We only want to do this on AIX 4.2 and lower, the check
- # below for broken collect2 doesn't work under 4.3+
- collect2name=`${CC} -print-prog-name=collect2`
- if test -f "$collect2name" && \
- strings "$collect2name" | grep resolve_lib_name >/dev/null
- then
- # We have reworked collect2
- hardcode_direct_CXX=yes
- else
- # We have old collect2
- hardcode_direct_CXX=unsupported
- # It fails to find uninstalled libraries when the uninstalled
- # path is not listed in the libpath. Setting hardcode_minus_L
- # to unsupported forces relinking
- hardcode_minus_L_CXX=yes
- hardcode_libdir_flag_spec_CXX='-L$libdir'
- hardcode_libdir_separator_CXX=
- fi
- ;;
- esac
- shared_flag='-shared'
- if test "$aix_use_runtimelinking" = yes; then
- shared_flag="$shared_flag "'${wl}-G'
- fi
- else
- # not using gcc
- if test "$host_cpu" = ia64; then
- # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
- # chokes on -Wl,-G. The following line is correct:
- shared_flag='-G'
- else
- if test "$aix_use_runtimelinking" = yes; then
- shared_flag='${wl}-G'
- else
- shared_flag='${wl}-bM:SRE'
- fi
- fi
- fi
-
- # It seems that -bexpall does not export symbols beginning with
- # underscore (_), so it is better to generate a list of symbols to export.
- always_export_symbols_CXX=yes
- if test "$aix_use_runtimelinking" = yes; then
- # Warning - without using the other runtime loading flags (-brtl),
- # -berok will link without error, but may produce a broken library.
- allow_undefined_flag_CXX='-berok'
- # Determine the default libpath from the value encoded in an empty executable.
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
-
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
-}'`
-# Check for a 64-bit object if we didn't find anything.
-if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
-}'`; fi
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
-
- hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath"
-
- archive_expsym_cmds_CXX="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
- else
- if test "$host_cpu" = ia64; then
- hardcode_libdir_flag_spec_CXX='${wl}-R $libdir:/usr/lib:/lib'
- allow_undefined_flag_CXX="-z nodefs"
- archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
- else
- # Determine the default libpath from the value encoded in an empty executable.
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
-
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
-}'`
-# Check for a 64-bit object if we didn't find anything.
-if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
-}'`; fi
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
-
- hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath"
- # Warning - without using the other run time loading flags,
- # -berok will link without error, but may produce a broken library.
- no_undefined_flag_CXX=' ${wl}-bernotok'
- allow_undefined_flag_CXX=' ${wl}-berok'
- # Exported symbols can be pulled into shared objects from archives
- whole_archive_flag_spec_CXX='$convenience'
- archive_cmds_need_lc_CXX=yes
- # This is similar to how AIX traditionally builds its shared libraries.
- archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
- fi
- fi
- ;;
-
- beos*)
- if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
- allow_undefined_flag_CXX=unsupported
- # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
- # support --undefined. This deserves some investigation. FIXME
- archive_cmds_CXX='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- else
- ld_shlibs_CXX=no
- fi
- ;;
-
- chorus*)
- case $cc_basename in
- *)
- # FIXME: insert proper C++ library support
- ld_shlibs_CXX=no
- ;;
- esac
- ;;
-
- cygwin* | mingw* | pw32*)
- # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, CXX) is actually meaningless,
- # as there is no search path for DLLs.
- hardcode_libdir_flag_spec_CXX='-L$libdir'
- allow_undefined_flag_CXX=unsupported
- always_export_symbols_CXX=no
- enable_shared_with_static_runtimes_CXX=yes
-
- if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
- archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
- # If the export-symbols file already is a .def file (1st line
- # is EXPORTS), use it as is; otherwise, prepend...
- archive_expsym_cmds_CXX='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
- cp $export_symbols $output_objdir/$soname.def;
- else
- echo EXPORTS > $output_objdir/$soname.def;
- cat $export_symbols >> $output_objdir/$soname.def;
- fi~
- $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
- else
- ld_shlibs_CXX=no
- fi
- ;;
- darwin* | rhapsody*)
- case $host_os in
- rhapsody* | darwin1.[012])
- allow_undefined_flag_CXX='${wl}-undefined ${wl}suppress'
- ;;
- *) # Darwin 1.3 on
- if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then
- allow_undefined_flag_CXX='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
- else
- case ${MACOSX_DEPLOYMENT_TARGET} in
- 10.[012])
- allow_undefined_flag_CXX='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
- ;;
- 10.*)
- allow_undefined_flag_CXX='${wl}-undefined ${wl}dynamic_lookup'
- ;;
- esac
- fi
- ;;
- esac
- archive_cmds_need_lc_CXX=no
- hardcode_direct_CXX=no
- hardcode_automatic_CXX=yes
- hardcode_shlibpath_var_CXX=unsupported
- whole_archive_flag_spec_CXX=''
- link_all_deplibs_CXX=yes
-
- if test "$GXX" = yes ; then
- lt_int_apple_cc_single_mod=no
- output_verbose_link_cmd='echo'
- if $CC -dumpspecs 2>&1 | $EGREP 'single_module' >/dev/null ; then
- lt_int_apple_cc_single_mod=yes
- fi
- if test "X$lt_int_apple_cc_single_mod" = Xyes ; then
- archive_cmds_CXX='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
- else
- archive_cmds_CXX='$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
- fi
- module_cmds_CXX='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
- # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
- if test "X$lt_int_apple_cc_single_mod" = Xyes ; then
- archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
- else
- archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
- fi
- module_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
- else
- case $cc_basename in
- xlc*)
- output_verbose_link_cmd='echo'
- archive_cmds_CXX='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring'
- module_cmds_CXX='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
- # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
- archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
- module_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
- ;;
- *)
- ld_shlibs_CXX=no
- ;;
- esac
- fi
- ;;
-
- dgux*)
- case $cc_basename in
- ec++*)
- # FIXME: insert proper C++ library support
- ld_shlibs_CXX=no
- ;;
- ghcx*)
- # Green Hills C++ Compiler
- # FIXME: insert proper C++ library support
- ld_shlibs_CXX=no
- ;;
- *)
- # FIXME: insert proper C++ library support
- ld_shlibs_CXX=no
- ;;
- esac
- ;;
- freebsd[12]*)
- # C++ shared libraries reported to be fairly broken before switch to ELF
- ld_shlibs_CXX=no
- ;;
- freebsd-elf*)
- archive_cmds_need_lc_CXX=no
- ;;
- freebsd* | kfreebsd*-gnu | dragonfly*)
- # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
- # conventions
- ld_shlibs_CXX=yes
- ;;
- gnu*)
- ;;
- hpux9*)
- hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir'
- hardcode_libdir_separator_CXX=:
- export_dynamic_flag_spec_CXX='${wl}-E'
- hardcode_direct_CXX=yes
- hardcode_minus_L_CXX=yes # Not in the search PATH,
- # but as the default
- # location of the library.
-
- case $cc_basename in
- CC*)
- # FIXME: insert proper C++ library support
- ld_shlibs_CXX=no
- ;;
- aCC*)
- archive_cmds_CXX='$rm $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- #
- # There doesn't appear to be a way to prevent this compiler from
- # explicitly linking system object files so we need to strip them
- # from the output so that they don't get included in the library
- # dependencies.
- output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "[-]L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
- ;;
- *)
- if test "$GXX" = yes; then
- archive_cmds_CXX='$rm $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
- else
- # FIXME: insert proper C++ library support
- ld_shlibs_CXX=no
- fi
- ;;
- esac
- ;;
- hpux10*|hpux11*)
- if test $with_gnu_ld = no; then
- hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir'
- hardcode_libdir_separator_CXX=:
-
- case $host_cpu in
- hppa*64*|ia64*)
- hardcode_libdir_flag_spec_ld_CXX='+b $libdir'
- ;;
- *)
- export_dynamic_flag_spec_CXX='${wl}-E'
- ;;
- esac
- fi
- case $host_cpu in
- hppa*64*|ia64*)
- hardcode_direct_CXX=no
- hardcode_shlibpath_var_CXX=no
- ;;
- *)
- hardcode_direct_CXX=yes
- hardcode_minus_L_CXX=yes # Not in the search PATH,
- # but as the default
- # location of the library.
- ;;
- esac
-
- case $cc_basename in
- CC*)
- # FIXME: insert proper C++ library support
- ld_shlibs_CXX=no
- ;;
- aCC*)
- case $host_cpu in
- hppa*64*)
- archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
- ;;
- ia64*)
- archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
- ;;
- *)
- archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
- ;;
- esac
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- #
- # There doesn't appear to be a way to prevent this compiler from
- # explicitly linking system object files so we need to strip them
- # from the output so that they don't get included in the library
- # dependencies.
- output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
- ;;
- *)
- if test "$GXX" = yes; then
- if test $with_gnu_ld = no; then
- case $host_cpu in
- hppa*64*)
- archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
- ;;
- ia64*)
- archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
- ;;
- *)
- archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
- ;;
- esac
- fi
- else
- # FIXME: insert proper C++ library support
- ld_shlibs_CXX=no
- fi
- ;;
- esac
- ;;
- interix3*)
- hardcode_direct_CXX=no
- hardcode_shlibpath_var_CXX=no
- hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
- export_dynamic_flag_spec_CXX='${wl}-E'
- # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
- # Instead, shared libraries are loaded at an image base (0x10000000 by
- # default) and relocated if they conflict, which is a slow very memory
- # consuming and fragmenting process. To avoid this, we pick a random,
- # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
- # time. Moving up from 0x10000000 also allows more sbrk(2) space.
- archive_cmds_CXX='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
- archive_expsym_cmds_CXX='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
- ;;
- irix5* | irix6*)
- case $cc_basename in
- CC*)
- # SGI C++
- archive_cmds_CXX='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
-
- # Archives containing C++ object files must be created using
- # "CC -ar", where "CC" is the IRIX C++ compiler. This is
- # necessary to make sure instantiated templates are included
- # in the archive.
- old_archive_cmds_CXX='$CC -ar -WR,-u -o $oldlib $oldobjs'
- ;;
- *)
- if test "$GXX" = yes; then
- if test "$with_gnu_ld" = no; then
- archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
- else
- archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` -o $lib'
- fi
- fi
- link_all_deplibs_CXX=yes
- ;;
- esac
- hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
- hardcode_libdir_separator_CXX=:
- ;;
- linux*)
- case $cc_basename in
- KCC*)
- # Kuck and Associates, Inc. (KAI) C++ Compiler
-
- # KCC will only create a shared library if the output file
- # ends with ".so" (or ".sl" for HP-UX), so rename the library
- # to its proper name (with version) after linking.
- archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
- archive_expsym_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib'
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- #
- # There doesn't appear to be a way to prevent this compiler from
- # explicitly linking system object files so we need to strip them
- # from the output so that they don't get included in the library
- # dependencies.
- output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | grep "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
-
- hardcode_libdir_flag_spec_CXX='${wl}--rpath,$libdir'
- export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
-
- # Archives containing C++ object files must be created using
- # "CC -Bstatic", where "CC" is the KAI C++ compiler.
- old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs'
- ;;
- icpc*)
- # Intel C++
- with_gnu_ld=yes
- # version 8.0 and above of icpc choke on multiply defined symbols
- # if we add $predep_objects and $postdep_objects, however 7.1 and
- # earlier do not add the objects themselves.
- case `$CC -V 2>&1` in
- *"Version 7."*)
- archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- ;;
- *) # Version 8.0 or newer
- tmp_idyn=
- case $host_cpu in
- ia64*) tmp_idyn=' -i_dynamic';;
- esac
- archive_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- ;;
- esac
- archive_cmds_need_lc_CXX=no
- hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
- export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
- whole_archive_flag_spec_CXX='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
- ;;
- pgCC*)
- # Portland Group C++ compiler
- archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
- archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
-
- hardcode_libdir_flag_spec_CXX='${wl}--rpath ${wl}$libdir'
- export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
- whole_archive_flag_spec_CXX='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
- ;;
- cxx*)
- # Compaq C++
- archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols'
-
- runpath_var=LD_RUN_PATH
- hardcode_libdir_flag_spec_CXX='-rpath $libdir'
- hardcode_libdir_separator_CXX=:
-
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- #
- # There doesn't appear to be a way to prevent this compiler from
- # explicitly linking system object files so we need to strip them
- # from the output so that they don't get included in the library
- # dependencies.
- output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
- ;;
- esac
- ;;
- lynxos*)
- # FIXME: insert proper C++ library support
- ld_shlibs_CXX=no
- ;;
- m88k*)
- # FIXME: insert proper C++ library support
- ld_shlibs_CXX=no
- ;;
- mvs*)
- case $cc_basename in
- cxx*)
- # FIXME: insert proper C++ library support
- ld_shlibs_CXX=no
- ;;
- *)
- # FIXME: insert proper C++ library support
- ld_shlibs_CXX=no
- ;;
- esac
- ;;
- netbsd*)
- if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
- archive_cmds_CXX='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
- wlarc=
- hardcode_libdir_flag_spec_CXX='-R$libdir'
- hardcode_direct_CXX=yes
- hardcode_shlibpath_var_CXX=no
- fi
- # Workaround some broken pre-1.5 toolchains
- output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"'
- ;;
- openbsd2*)
- # C++ shared libraries are fairly broken
- ld_shlibs_CXX=no
- ;;
- openbsd*)
- hardcode_direct_CXX=yes
- hardcode_shlibpath_var_CXX=no
- archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
- hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
- if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib'
- export_dynamic_flag_spec_CXX='${wl}-E'
- whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
- fi
- output_verbose_link_cmd='echo'
- ;;
- osf3*)
- case $cc_basename in
- KCC*)
- # Kuck and Associates, Inc. (KAI) C++ Compiler
-
- # KCC will only create a shared library if the output file
- # ends with ".so" (or ".sl" for HP-UX), so rename the library
- # to its proper name (with version) after linking.
- archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
-
- hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
- hardcode_libdir_separator_CXX=:
-
- # Archives containing C++ object files must be created using
- # "CC -Bstatic", where "CC" is the KAI C++ compiler.
- old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs'
-
- ;;
- RCC*)
- # Rational C++ 2.4.1
- # FIXME: insert proper C++ library support
- ld_shlibs_CXX=no
- ;;
- cxx*)
- allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*'
- archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && echo ${wl}-set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
-
- hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
- hardcode_libdir_separator_CXX=:
-
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- #
- # There doesn't appear to be a way to prevent this compiler from
- # explicitly linking system object files so we need to strip them
- # from the output so that they don't get included in the library
- # dependencies.
- output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
- ;;
- *)
- if test "$GXX" = yes && test "$with_gnu_ld" = no; then
- allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*'
- archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-
- hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
- hardcode_libdir_separator_CXX=:
-
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"'
-
- else
- # FIXME: insert proper C++ library support
- ld_shlibs_CXX=no
- fi
- ;;
- esac
- ;;
- osf4* | osf5*)
- case $cc_basename in
- KCC*)
- # Kuck and Associates, Inc. (KAI) C++ Compiler
-
- # KCC will only create a shared library if the output file
- # ends with ".so" (or ".sl" for HP-UX), so rename the library
- # to its proper name (with version) after linking.
- archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
-
- hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
- hardcode_libdir_separator_CXX=:
-
- # Archives containing C++ object files must be created using
- # the KAI C++ compiler.
- old_archive_cmds_CXX='$CC -o $oldlib $oldobjs'
- ;;
- RCC*)
- # Rational C++ 2.4.1
- # FIXME: insert proper C++ library support
- ld_shlibs_CXX=no
- ;;
- cxx*)
- allow_undefined_flag_CXX=' -expect_unresolved \*'
- archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
- archive_expsym_cmds_CXX='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~
- echo "-hidden">> $lib.exp~
- $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname -Wl,-input -Wl,$lib.exp `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~
- $rm $lib.exp'
-
- hardcode_libdir_flag_spec_CXX='-rpath $libdir'
- hardcode_libdir_separator_CXX=:
-
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- #
- # There doesn't appear to be a way to prevent this compiler from
- # explicitly linking system object files so we need to strip them
- # from the output so that they don't get included in the library
- # dependencies.
- output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
- ;;
- *)
- if test "$GXX" = yes && test "$with_gnu_ld" = no; then
- allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*'
- archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-
- hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
- hardcode_libdir_separator_CXX=:
-
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"'
-
- else
- # FIXME: insert proper C++ library support
- ld_shlibs_CXX=no
- fi
- ;;
- esac
- ;;
- psos*)
- # FIXME: insert proper C++ library support
- ld_shlibs_CXX=no
- ;;
- sunos4*)
- case $cc_basename in
- CC*)
- # Sun C++ 4.x
- # FIXME: insert proper C++ library support
- ld_shlibs_CXX=no
- ;;
- lcc*)
- # Lucid
- # FIXME: insert proper C++ library support
- ld_shlibs_CXX=no
- ;;
- *)
- # FIXME: insert proper C++ library support
- ld_shlibs_CXX=no
- ;;
- esac
- ;;
- solaris*)
- case $cc_basename in
- CC*)
- # Sun C++ 4.2, 5.x and Centerline C++
- archive_cmds_need_lc_CXX=yes
- no_undefined_flag_CXX=' -zdefs'
- archive_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
- archive_expsym_cmds_CXX='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
- $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp'
-
- hardcode_libdir_flag_spec_CXX='-R$libdir'
- hardcode_shlibpath_var_CXX=no
- case $host_os in
- solaris2.[0-5] | solaris2.[0-5].*) ;;
- *)
- # The C++ compiler is used as linker so we must use $wl
- # flag to pass the commands to the underlying system
- # linker. We must also pass each convience library through
- # to the system linker between allextract/defaultextract.
- # The C++ compiler will combine linker options so we
- # cannot just pass the convience library names through
- # without $wl.
- # Supported since Solaris 2.6 (maybe 2.5.1?)
- whole_archive_flag_spec_CXX='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract'
- ;;
- esac
- link_all_deplibs_CXX=yes
-
- output_verbose_link_cmd='echo'
-
- # Archives containing C++ object files must be created using
- # "CC -xar", where "CC" is the Sun C++ compiler. This is
- # necessary to make sure instantiated templates are included
- # in the archive.
- old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs'
- ;;
- gcx*)
- # Green Hills C++ Compiler
- archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
-
- # The C++ compiler must be used to create the archive.
- old_archive_cmds_CXX='$CC $LDFLAGS -archive -o $oldlib $oldobjs'
- ;;
- *)
- # GNU C++ compiler with Solaris linker
- if test "$GXX" = yes && test "$with_gnu_ld" = no; then
- no_undefined_flag_CXX=' ${wl}-z ${wl}defs'
- if $CC --version | grep -v '^2\.7' > /dev/null; then
- archive_cmds_CXX='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
- archive_expsym_cmds_CXX='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
- $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp'
-
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- output_verbose_link_cmd="$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\""
- else
- # g++ 2.7 appears to require `-G' NOT `-shared' on this
- # platform.
- archive_cmds_CXX='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
- archive_expsym_cmds_CXX='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
- $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp'
-
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- output_verbose_link_cmd="$CC -G $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\""
- fi
-
- hardcode_libdir_flag_spec_CXX='${wl}-R $wl$libdir'
- fi
- ;;
- esac
- ;;
- sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
- no_undefined_flag_CXX='${wl}-z,text'
- archive_cmds_need_lc_CXX=no
- hardcode_shlibpath_var_CXX=no
- runpath_var='LD_RUN_PATH'
-
- case $cc_basename in
- CC*)
- archive_cmds_CXX='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- *)
- archive_cmds_CXX='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- esac
- ;;
- sysv5* | sco3.2v5* | sco5v6*)
- # Note: We can NOT use -z defs as we might desire, because we do not
- # link with -lc, and that would cause any symbols used from libc to
- # always be unresolved, which means just about no library would
- # ever link correctly. If we're not using GNU ld we use -z text
- # though, which does catch some bad symbols but isn't as heavy-handed
- # as -z defs.
- # For security reasons, it is highly recommended that you always
- # use absolute paths for naming shared libraries, and exclude the
- # DT_RUNPATH tag from executables and libraries. But doing so
- # requires that you compile everything twice, which is a pain.
- # So that behaviour is only enabled if SCOABSPATH is set to a
- # non-empty value in the environment. Most likely only useful for
- # creating official distributions of packages.
- # This is a hack until libtool officially supports absolute path
- # names for shared libraries.
- no_undefined_flag_CXX='${wl}-z,text'
- allow_undefined_flag_CXX='${wl}-z,nodefs'
- archive_cmds_need_lc_CXX=no
- hardcode_shlibpath_var_CXX=no
- hardcode_libdir_flag_spec_CXX='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`'
- hardcode_libdir_separator_CXX=':'
- link_all_deplibs_CXX=yes
- export_dynamic_flag_spec_CXX='${wl}-Bexport'
- runpath_var='LD_RUN_PATH'
-
- case $cc_basename in
- CC*)
- archive_cmds_CXX='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- *)
- archive_cmds_CXX='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- esac
- ;;
- tandem*)
- case $cc_basename in
- NCC*)
- # NonStop-UX NCC 3.20
- # FIXME: insert proper C++ library support
- ld_shlibs_CXX=no
- ;;
- *)
- # FIXME: insert proper C++ library support
- ld_shlibs_CXX=no
- ;;
- esac
- ;;
- vxworks*)
- # FIXME: insert proper C++ library support
- ld_shlibs_CXX=no
- ;;
- *)
- # FIXME: insert proper C++ library support
- ld_shlibs_CXX=no
- ;;
-esac
-echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5
-echo "${ECHO_T}$ld_shlibs_CXX" >&6
-test "$ld_shlibs_CXX" = no && can_build_shared=no
-
-GCC_CXX="$GXX"
-LD_CXX="$LD"
-
-
-cat > conftest.$ac_ext <<EOF
-class Foo
-{
-public:
- Foo (void) { a = 0; }
-private:
- int a;
-};
-EOF
-
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; then
- # Parse the compiler output and extract the necessary
- # objects, libraries and library flags.
-
- # Sentinel used to keep track of whether or not we are before
- # the conftest object file.
- pre_test_object_deps_done=no
-
- # The `*' in the case matches for architectures that use `case' in
- # $output_verbose_cmd can trigger glob expansion during the loop
- # eval without this substitution.
- output_verbose_link_cmd=`$echo "X$output_verbose_link_cmd" | $Xsed -e "$no_glob_subst"`
-
- for p in `eval $output_verbose_link_cmd`; do
- case $p in
-
- -L* | -R* | -l*)
- # Some compilers place space between "-{L,R}" and the path.
- # Remove the space.
- if test $p = "-L" \
- || test $p = "-R"; then
- prev=$p
- continue
- else
- prev=
- fi
-
- if test "$pre_test_object_deps_done" = no; then
- case $p in
- -L* | -R*)
- # Internal compiler library paths should come after those
- # provided the user. The postdeps already come after the
- # user supplied libs so there is no need to process them.
- if test -z "$compiler_lib_search_path_CXX"; then
- compiler_lib_search_path_CXX="${prev}${p}"
- else
- compiler_lib_search_path_CXX="${compiler_lib_search_path_CXX} ${prev}${p}"
- fi
- ;;
- # The "-l" case would never come before the object being
- # linked, so don't bother handling this case.
- esac
- else
- if test -z "$postdeps_CXX"; then
- postdeps_CXX="${prev}${p}"
- else
- postdeps_CXX="${postdeps_CXX} ${prev}${p}"
- fi
- fi
- ;;
-
- *.$objext)
- # This assumes that the test object file only shows up
- # once in the compiler output.
- if test "$p" = "conftest.$objext"; then
- pre_test_object_deps_done=yes
- continue
- fi
-
- if test "$pre_test_object_deps_done" = no; then
- if test -z "$predep_objects_CXX"; then
- predep_objects_CXX="$p"
- else
- predep_objects_CXX="$predep_objects_CXX $p"
- fi
- else
- if test -z "$postdep_objects_CXX"; then
- postdep_objects_CXX="$p"
- else
- postdep_objects_CXX="$postdep_objects_CXX $p"
- fi
- fi
- ;;
-
- *) ;; # Ignore the rest.
-
- esac
- done
-
- # Clean up.
- rm -f a.out a.exe
-else
- echo "libtool.m4: error: problem compiling CXX test program"
-fi
-
-$rm -f confest.$objext
-
-# PORTME: override above test on systems where it is broken
-case $host_os in
-interix3*)
- # Interix 3.5 installs completely hosed .la files for C++, so rather than
- # hack all around it, let's just trust "g++" to DTRT.
- predep_objects_CXX=
- postdep_objects_CXX=
- postdeps_CXX=
- ;;
-
-solaris*)
- case $cc_basename in
- CC*)
- # Adding this requires a known-good setup of shared libraries for
- # Sun compiler versions before 5.6, else PIC objects from an old
- # archive will be linked into the output, leading to subtle bugs.
- postdeps_CXX='-lCstd -lCrun'
- ;;
- esac
- ;;
-esac
-
-
-case " $postdeps_CXX " in
-*" -lc "*) archive_cmds_need_lc_CXX=no ;;
-esac
-
-lt_prog_compiler_wl_CXX=
-lt_prog_compiler_pic_CXX=
-lt_prog_compiler_static_CXX=
-
-echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5
-echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
-
- # C++ specific cases for pic, static, wl, etc.
- if test "$GXX" = yes; then
- lt_prog_compiler_wl_CXX='-Wl,'
- lt_prog_compiler_static_CXX='-static'
-
- case $host_os in
- aix*)
- # All AIX code is PIC.
- if test "$host_cpu" = ia64; then
- # AIX 5 now supports IA64 processor
- lt_prog_compiler_static_CXX='-Bstatic'
- fi
- ;;
- amigaos*)
- # FIXME: we need at least 68020 code to build shared libraries, but
- # adding the `-m68020' flag to GCC prevents building anything better,
- # like `-m68040'.
- lt_prog_compiler_pic_CXX='-m68020 -resident32 -malways-restore-a4'
- ;;
- beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
- # PIC is the default for these OSes.
- ;;
- mingw* | os2* | pw32*)
- # This hack is so that the source file can tell whether it is being
- # built for inclusion in a dll (and should export symbols for example).
- lt_prog_compiler_pic_CXX='-DDLL_EXPORT'
- ;;
- darwin* | rhapsody*)
- # PIC is the default on this platform
- # Common symbols not allowed in MH_DYLIB files
- lt_prog_compiler_pic_CXX='-fno-common'
- ;;
- *djgpp*)
- # DJGPP does not support shared libraries at all
- lt_prog_compiler_pic_CXX=
- ;;
- interix3*)
- # Interix 3.x gcc -fpic/-fPIC options generate broken code.
- # Instead, we relocate shared libraries at runtime.
- ;;
- sysv4*MP*)
- if test -d /usr/nec; then
- lt_prog_compiler_pic_CXX=-Kconform_pic
- fi
- ;;
- hpux*)
- # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
- # not for PA HP-UX.
- case $host_cpu in
- hppa*64*|ia64*)
- ;;
- *)
- lt_prog_compiler_pic_CXX='-fPIC'
- ;;
- esac
- ;;
- *)
- lt_prog_compiler_pic_CXX='-fPIC'
- ;;
- esac
- else
- case $host_os in
- aix4* | aix5*)
- # All AIX code is PIC.
- if test "$host_cpu" = ia64; then
- # AIX 5 now supports IA64 processor
- lt_prog_compiler_static_CXX='-Bstatic'
- else
- lt_prog_compiler_static_CXX='-bnso -bI:/lib/syscalls.exp'
- fi
- ;;
- chorus*)
- case $cc_basename in
- cxch68*)
- # Green Hills C++ Compiler
- # _LT_AC_TAGVAR(lt_prog_compiler_static, CXX)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a"
- ;;
- esac
- ;;
- darwin*)
- # PIC is the default on this platform
- # Common symbols not allowed in MH_DYLIB files
- case $cc_basename in
- xlc*)
- lt_prog_compiler_pic_CXX='-qnocommon'
- lt_prog_compiler_wl_CXX='-Wl,'
- ;;
- esac
- ;;
- dgux*)
- case $cc_basename in
- ec++*)
- lt_prog_compiler_pic_CXX='-KPIC'
- ;;
- ghcx*)
- # Green Hills C++ Compiler
- lt_prog_compiler_pic_CXX='-pic'
- ;;
- *)
- ;;
- esac
- ;;
- freebsd* | kfreebsd*-gnu | dragonfly*)
- # FreeBSD uses GNU C++
- ;;
- hpux9* | hpux10* | hpux11*)
- case $cc_basename in
- CC*)
- lt_prog_compiler_wl_CXX='-Wl,'
- lt_prog_compiler_static_CXX='${wl}-a ${wl}archive'
- if test "$host_cpu" != ia64; then
- lt_prog_compiler_pic_CXX='+Z'
- fi
- ;;
- aCC*)
- lt_prog_compiler_wl_CXX='-Wl,'
- lt_prog_compiler_static_CXX='${wl}-a ${wl}archive'
- case $host_cpu in
- hppa*64*|ia64*)
- # +Z the default
- ;;
- *)
- lt_prog_compiler_pic_CXX='+Z'
- ;;
- esac
- ;;
- *)
- ;;
- esac
- ;;
- interix*)
- # This is c89, which is MS Visual C++ (no shared libs)
- # Anyone wants to do a port?
- ;;
- irix5* | irix6* | nonstopux*)
- case $cc_basename in
- CC*)
- lt_prog_compiler_wl_CXX='-Wl,'
- lt_prog_compiler_static_CXX='-non_shared'
- # CC pic flag -KPIC is the default.
- ;;
- *)
- ;;
- esac
- ;;
- linux*)
- case $cc_basename in
- KCC*)
- # KAI C++ Compiler
- lt_prog_compiler_wl_CXX='--backend -Wl,'
- lt_prog_compiler_pic_CXX='-fPIC'
- ;;
- icpc* | ecpc*)
- # Intel C++
- lt_prog_compiler_wl_CXX='-Wl,'
- lt_prog_compiler_pic_CXX='-KPIC'
- lt_prog_compiler_static_CXX='-static'
- ;;
- pgCC*)
- # Portland Group C++ compiler.
- lt_prog_compiler_wl_CXX='-Wl,'
- lt_prog_compiler_pic_CXX='-fpic'
- lt_prog_compiler_static_CXX='-Bstatic'
- ;;
- cxx*)
- # Compaq C++
- # Make sure the PIC flag is empty. It appears that all Alpha
- # Linux and Compaq Tru64 Unix objects are PIC.
- lt_prog_compiler_pic_CXX=
- lt_prog_compiler_static_CXX='-non_shared'
- ;;
- *)
- ;;
- esac
- ;;
- lynxos*)
- ;;
- m88k*)
- ;;
- mvs*)
- case $cc_basename in
- cxx*)
- lt_prog_compiler_pic_CXX='-W c,exportall'
- ;;
- *)
- ;;
- esac
- ;;
- netbsd*)
- ;;
- osf3* | osf4* | osf5*)
- case $cc_basename in
- KCC*)
- lt_prog_compiler_wl_CXX='--backend -Wl,'
- ;;
- RCC*)
- # Rational C++ 2.4.1
- lt_prog_compiler_pic_CXX='-pic'
- ;;
- cxx*)
- # Digital/Compaq C++
- lt_prog_compiler_wl_CXX='-Wl,'
- # Make sure the PIC flag is empty. It appears that all Alpha
- # Linux and Compaq Tru64 Unix objects are PIC.
- lt_prog_compiler_pic_CXX=
- lt_prog_compiler_static_CXX='-non_shared'
- ;;
- *)
- ;;
- esac
- ;;
- psos*)
- ;;
- solaris*)
- case $cc_basename in
- CC*)
- # Sun C++ 4.2, 5.x and Centerline C++
- lt_prog_compiler_pic_CXX='-KPIC'
- lt_prog_compiler_static_CXX='-Bstatic'
- lt_prog_compiler_wl_CXX='-Qoption ld '
- ;;
- gcx*)
- # Green Hills C++ Compiler
- lt_prog_compiler_pic_CXX='-PIC'
- ;;
- *)
- ;;
- esac
- ;;
- sunos4*)
- case $cc_basename in
- CC*)
- # Sun C++ 4.x
- lt_prog_compiler_pic_CXX='-pic'
- lt_prog_compiler_static_CXX='-Bstatic'
- ;;
- lcc*)
- # Lucid
- lt_prog_compiler_pic_CXX='-pic'
- ;;
- *)
- ;;
- esac
- ;;
- tandem*)
- case $cc_basename in
- NCC*)
- # NonStop-UX NCC 3.20
- lt_prog_compiler_pic_CXX='-KPIC'
- ;;
- *)
- ;;
- esac
- ;;
- sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
- case $cc_basename in
- CC*)
- lt_prog_compiler_wl_CXX='-Wl,'
- lt_prog_compiler_pic_CXX='-KPIC'
- lt_prog_compiler_static_CXX='-Bstatic'
- ;;
- esac
- ;;
- vxworks*)
- ;;
- *)
- lt_prog_compiler_can_build_shared_CXX=no
- ;;
- esac
- fi
-
-echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_CXX" >&5
-echo "${ECHO_T}$lt_prog_compiler_pic_CXX" >&6
-
-#
-# Check to make sure the PIC flag actually works.
-#
-if test -n "$lt_prog_compiler_pic_CXX"; then
-
-echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&5
-echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works... $ECHO_C" >&6
-if test "${lt_prog_compiler_pic_works_CXX+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- lt_prog_compiler_pic_works_CXX=no
- ac_outfile=conftest.$ac_objext
- printf "$lt_simple_compile_test_code" > conftest.$ac_ext
- lt_compiler_flag="$lt_prog_compiler_pic_CXX -DPIC"
- # Insert the option either (1) after the last *FLAGS variable, or
- # (2) before a word containing "conftest.", or (3) at the end.
- # Note that $ac_compile itself does not contain backslashes and begins
- # with a dollar sign (not a hyphen), so the echo should work correctly.
- # The option is referenced via a variable to avoid confusing sed.
- lt_compile=`echo "$ac_compile" | $SED \
- -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
- -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
- -e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:11655: $lt_compile\"" >&5)
- (eval "$lt_compile" 2>conftest.err)
- ac_status=$?
- cat conftest.err >&5
- echo "$as_me:11659: \$? = $ac_status" >&5
- if (exit $ac_status) && test -s "$ac_outfile"; then
- # The compiler can only warn and ignore the option if not recognized
- # So say no if there are warnings other than the usual output.
- $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
- $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
- if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
- lt_prog_compiler_pic_works_CXX=yes
- fi
- fi
- $rm conftest*
-
-fi
-echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_CXX" >&5
-echo "${ECHO_T}$lt_prog_compiler_pic_works_CXX" >&6
-
-if test x"$lt_prog_compiler_pic_works_CXX" = xyes; then
- case $lt_prog_compiler_pic_CXX in
- "" | " "*) ;;
- *) lt_prog_compiler_pic_CXX=" $lt_prog_compiler_pic_CXX" ;;
- esac
-else
- lt_prog_compiler_pic_CXX=
- lt_prog_compiler_can_build_shared_CXX=no
-fi
-
-fi
-case $host_os in
- # For platforms which do not support PIC, -DPIC is meaningless:
- *djgpp*)
- lt_prog_compiler_pic_CXX=
- ;;
- *)
- lt_prog_compiler_pic_CXX="$lt_prog_compiler_pic_CXX -DPIC"
- ;;
-esac
-
-#
-# Check to make sure the static flag actually works.
-#
-wl=$lt_prog_compiler_wl_CXX eval lt_tmp_static_flag=\"$lt_prog_compiler_static_CXX\"
-echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5
-echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6
-if test "${lt_prog_compiler_static_works_CXX+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- lt_prog_compiler_static_works_CXX=no
- save_LDFLAGS="$LDFLAGS"
- LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
- printf "$lt_simple_link_test_code" > conftest.$ac_ext
- if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
- # The linker can only warn and ignore the option if not recognized
- # So say no if there are warnings
- if test -s conftest.err; then
- # Append any errors to the config.log.
- cat conftest.err 1>&5
- $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
- $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
- if diff conftest.exp conftest.er2 >/dev/null; then
- lt_prog_compiler_static_works_CXX=yes
- fi
- else
- lt_prog_compiler_static_works_CXX=yes
- fi
- fi
- $rm conftest*
- LDFLAGS="$save_LDFLAGS"
-
-fi
-echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_CXX" >&5
-echo "${ECHO_T}$lt_prog_compiler_static_works_CXX" >&6
-
-if test x"$lt_prog_compiler_static_works_CXX" = xyes; then
- :
-else
- lt_prog_compiler_static_CXX=
-fi
-
-
-echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
-echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6
-if test "${lt_cv_prog_compiler_c_o_CXX+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- lt_cv_prog_compiler_c_o_CXX=no
- $rm -r conftest 2>/dev/null
- mkdir conftest
- cd conftest
- mkdir out
- printf "$lt_simple_compile_test_code" > conftest.$ac_ext
-
- lt_compiler_flag="-o out/conftest2.$ac_objext"
- # Insert the option either (1) after the last *FLAGS variable, or
- # (2) before a word containing "conftest.", or (3) at the end.
- # Note that $ac_compile itself does not contain backslashes and begins
- # with a dollar sign (not a hyphen), so the echo should work correctly.
- lt_compile=`echo "$ac_compile" | $SED \
- -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
- -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
- -e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:11759: $lt_compile\"" >&5)
- (eval "$lt_compile" 2>out/conftest.err)
- ac_status=$?
- cat out/conftest.err >&5
- echo "$as_me:11763: \$? = $ac_status" >&5
- if (exit $ac_status) && test -s out/conftest2.$ac_objext
- then
- # The compiler can only warn and ignore the option if not recognized
- # So say no if there are warnings
- $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
- $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
- if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
- lt_cv_prog_compiler_c_o_CXX=yes
- fi
- fi
- chmod u+w . 2>&5
- $rm conftest*
- # SGI C++ compiler will create directory out/ii_files/ for
- # template instantiation
- test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files
- $rm out/* && rmdir out
- cd ..
- rmdir conftest
- $rm conftest*
-
-fi
-echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_CXX" >&5
-echo "${ECHO_T}$lt_cv_prog_compiler_c_o_CXX" >&6
-
-
-hard_links="nottested"
-if test "$lt_cv_prog_compiler_c_o_CXX" = no && test "$need_locks" != no; then
- # do not overwrite the value of need_locks provided by the user
- echo "$as_me:$LINENO: checking if we can lock with hard links" >&5
-echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6
- hard_links=yes
- $rm conftest*
- ln conftest.a conftest.b 2>/dev/null && hard_links=no
- touch conftest.a
- ln conftest.a conftest.b 2>&5 || hard_links=no
- ln conftest.a conftest.b 2>/dev/null && hard_links=no
- echo "$as_me:$LINENO: result: $hard_links" >&5
-echo "${ECHO_T}$hard_links" >&6
- if test "$hard_links" = no; then
- { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
-echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
- need_locks=warn
- fi
-else
- need_locks=no
-fi
-
-echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
-echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6
-
- export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
- case $host_os in
- aix4* | aix5*)
- # If we're using GNU nm, then we don't want the "-C" option.
- # -C means demangle to AIX nm, but means don't demangle with GNU nm
- if $NM -V 2>&1 | grep 'GNU' > /dev/null; then
- export_symbols_cmds_CXX='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols'
- else
- export_symbols_cmds_CXX='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols'
- fi
- ;;
- pw32*)
- export_symbols_cmds_CXX="$ltdll_cmds"
- ;;
- cygwin* | mingw*)
- export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS] /s/.* \([^ ]*\)/\1 DATA/;/^.* __nm__/s/^.* __nm__\([^ ]*\) [^ ]*/\1 DATA/;/^I /d;/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols'
- ;;
- *)
- export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
- ;;
- esac
-
-echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5
-echo "${ECHO_T}$ld_shlibs_CXX" >&6
-test "$ld_shlibs_CXX" = no && can_build_shared=no
-
-#
-# Do we need to explicitly link libc?
-#
-case "x$archive_cmds_need_lc_CXX" in
-x|xyes)
- # Assume -lc should be added
- archive_cmds_need_lc_CXX=yes
-
- if test "$enable_shared" = yes && test "$GCC" = yes; then
- case $archive_cmds_CXX in
- *'~'*)
- # FIXME: we may have to deal with multi-command sequences.
- ;;
- '$CC '*)
- # Test whether the compiler implicitly links with -lc since on some
- # systems, -lgcc has to come before -lc. If gcc already passes -lc
- # to ld, don't add -lc before -lgcc.
- echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
-echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6
- $rm conftest*
- printf "$lt_simple_compile_test_code" > conftest.$ac_ext
-
- if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } 2>conftest.err; then
- soname=conftest
- lib=conftest
- libobjs=conftest.$ac_objext
- deplibs=
- wl=$lt_prog_compiler_wl_CXX
- pic_flag=$lt_prog_compiler_pic_CXX
- compiler_flags=-v
- linker_flags=-v
- verstring=
- output_objdir=.
- libname=conftest
- lt_save_allow_undefined_flag=$allow_undefined_flag_CXX
- allow_undefined_flag_CXX=
- if { (eval echo "$as_me:$LINENO: \"$archive_cmds_CXX 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5
- (eval $archive_cmds_CXX 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }
- then
- archive_cmds_need_lc_CXX=no
- else
- archive_cmds_need_lc_CXX=yes
- fi
- allow_undefined_flag_CXX=$lt_save_allow_undefined_flag
- else
- cat conftest.err 1>&5
- fi
- $rm conftest*
- echo "$as_me:$LINENO: result: $archive_cmds_need_lc_CXX" >&5
-echo "${ECHO_T}$archive_cmds_need_lc_CXX" >&6
- ;;
- esac
- fi
- ;;
-esac
-
-echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
-echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6
-library_names_spec=
-libname_spec='lib$name'
-soname_spec=
-shrext_cmds=".so"
-postinstall_cmds=
-postuninstall_cmds=
-finish_cmds=
-finish_eval=
-shlibpath_var=
-shlibpath_overrides_runpath=unknown
-version_type=none
-dynamic_linker="$host_os ld.so"
-sys_lib_dlsearch_path_spec="/lib /usr/lib"
-if test "$GCC" = yes; then
- sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
- if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then
- # if the path contains ";" then we assume it to be the separator
- # otherwise default to the standard path separator (i.e. ":") - it is
- # assumed that no part of a normal pathname contains ";" but that should
- # okay in the real world where ";" in dirpaths is itself problematic.
- sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
- else
- sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
- fi
-else
- sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
-fi
-need_lib_prefix=unknown
-hardcode_into_libs=no
-
-# when you set need_version to no, make sure it does not cause -set_version
-# flags to be left without arguments
-need_version=unknown
-
-case $host_os in
-aix3*)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
- shlibpath_var=LIBPATH
-
- # AIX 3 has no versioning support, so we append a major version to the name.
- soname_spec='${libname}${release}${shared_ext}$major'
- ;;
-
-aix4* | aix5*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- hardcode_into_libs=yes
- if test "$host_cpu" = ia64; then
- # AIX 5 supports IA64
- library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
- shlibpath_var=LD_LIBRARY_PATH
- else
- # With GCC up to 2.95.x, collect2 would create an import file
- # for dependence libraries. The import file would start with
- # the line `#! .'. This would cause the generated library to
- # depend on `.', always an invalid library. This was fixed in
- # development snapshots of GCC prior to 3.0.
- case $host_os in
- aix4 | aix4.[01] | aix4.[01].*)
- if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
- echo ' yes '
- echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then
- :
- else
- can_build_shared=no
- fi
- ;;
- esac
- # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
- # soname into executable. Probably we can add versioning support to
- # collect2, so additional links can be useful in future.
- if test "$aix_use_runtimelinking" = yes; then
- # If using run time linking (on AIX 4.2 or later) use lib<name>.so
- # instead of lib<name>.a to let people know that these are not
- # typical AIX shared libraries.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- else
- # We preserve .a as extension for shared libraries through AIX4.2
- # and later when we are not doing run time linking.
- library_names_spec='${libname}${release}.a $libname.a'
- soname_spec='${libname}${release}${shared_ext}$major'
- fi
- shlibpath_var=LIBPATH
- fi
- ;;
-
-amigaos*)
- library_names_spec='$libname.ixlibrary $libname.a'
- # Create ${libname}_ixlibrary.a entries in /sys/libs.
- finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
- ;;
-
-beos*)
- library_names_spec='${libname}${shared_ext}'
- dynamic_linker="$host_os ld.so"
- shlibpath_var=LIBRARY_PATH
- ;;
-
-bsdi[45]*)
- version_type=linux
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
- sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
- # the default ld.so.conf also contains /usr/contrib/lib and
- # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
- # libtool to hard-code these into programs
- ;;
-
-cygwin* | mingw* | pw32*)
- version_type=windows
- shrext_cmds=".dll"
- need_version=no
- need_lib_prefix=no
-
- case $GCC,$host_os in
- yes,cygwin* | yes,mingw* | yes,pw32*)
- library_names_spec='$libname.dll.a'
- # DLL is installed to $(libdir)/../bin by postinstall_cmds
- postinstall_cmds='base_file=`basename \${file}`~
- dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~
- dldir=$destdir/`dirname \$dlpath`~
- test -d \$dldir || mkdir -p \$dldir~
- $install_prog $dir/$dlname \$dldir/$dlname~
- chmod a+x \$dldir/$dlname'
- postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
- dlpath=$dir/\$dldll~
- $rm \$dlpath'
- shlibpath_overrides_runpath=yes
-
- case $host_os in
- cygwin*)
- # Cygwin DLLs use 'cyg' prefix rather than 'lib'
- soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
- sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib"
- ;;
- mingw*)
- # MinGW DLLs use traditional 'lib' prefix
- soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
- sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
- if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then
- # It is most probably a Windows format PATH printed by
- # mingw gcc, but we are running on Cygwin. Gcc prints its search
- # path with ; separators, and with drive letters. We can handle the
- # drive letters (cygwin fileutils understands them), so leave them,
- # especially as we might pass files found there to a mingw objdump,
- # which wouldn't understand a cygwinified path. Ahh.
- sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
- else
- sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
- fi
- ;;
- pw32*)
- # pw32 DLLs use 'pw' prefix rather than 'lib'
- library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
- ;;
- esac
- ;;
-
- *)
- library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib'
- ;;
- esac
- dynamic_linker='Win32 ld.exe'
- # FIXME: first we should search . and the directory the executable is in
- shlibpath_var=PATH
- ;;
-
-darwin* | rhapsody*)
- dynamic_linker="$host_os dyld"
- version_type=darwin
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext'
- soname_spec='${libname}${release}${major}$shared_ext'
- shlibpath_overrides_runpath=yes
- shlibpath_var=DYLD_LIBRARY_PATH
- shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
- # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same.
- if test "$GCC" = yes; then
- sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"`
- else
- sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib'
- fi
- sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
- ;;
-
-dgux*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- ;;
-
-freebsd1*)
- dynamic_linker=no
- ;;
-
-kfreebsd*-gnu)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- dynamic_linker='GNU ld.so'
- ;;
-
-freebsd* | dragonfly*)
- # DragonFly does not have aout. When/if they implement a new
- # versioning mechanism, adjust this.
- if test -x /usr/bin/objformat; then
- objformat=`/usr/bin/objformat`
- else
- case $host_os in
- freebsd[123]*) objformat=aout ;;
- *) objformat=elf ;;
- esac
- fi
- version_type=freebsd-$objformat
- case $version_type in
- freebsd-elf*)
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
- need_version=no
- need_lib_prefix=no
- ;;
- freebsd-*)
- library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
- need_version=yes
- ;;
- esac
- shlibpath_var=LD_LIBRARY_PATH
- case $host_os in
- freebsd2*)
- shlibpath_overrides_runpath=yes
- ;;
- freebsd3.[01]* | freebsdelf3.[01]*)
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- ;;
- freebsd3.[2-9]* | freebsdelf3.[2-9]* | \
- freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1)
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- ;;
- freebsd*) # from 4.6 on
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- ;;
- esac
- ;;
-
-gnu*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- hardcode_into_libs=yes
- ;;
-
-hpux9* | hpux10* | hpux11*)
- # Give a soname corresponding to the major version so that dld.sl refuses to
- # link against other versions.
- version_type=sunos
- need_lib_prefix=no
- need_version=no
- case $host_cpu in
- ia64*)
- shrext_cmds='.so'
- hardcode_into_libs=yes
- dynamic_linker="$host_os dld.so"
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- if test "X$HPUX_IA64_MODE" = X32; then
- sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
- else
- sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
- fi
- sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
- ;;
- hppa*64*)
- shrext_cmds='.sl'
- hardcode_into_libs=yes
- dynamic_linker="$host_os dld.sl"
- shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
- shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
- sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
- ;;
- *)
- shrext_cmds='.sl'
- dynamic_linker="$host_os dld.sl"
- shlibpath_var=SHLIB_PATH
- shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- ;;
- esac
- # HP-UX runs *really* slowly unless shared libraries are mode 555.
- postinstall_cmds='chmod 555 $lib'
- ;;
-
-interix3*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- ;;
-
-irix5* | irix6* | nonstopux*)
- case $host_os in
- nonstopux*) version_type=nonstopux ;;
- *)
- if test "$lt_cv_prog_gnu_ld" = yes; then
- version_type=linux
- else
- version_type=irix
- fi ;;
- esac
- need_lib_prefix=no
- need_version=no
- soname_spec='${libname}${release}${shared_ext}$major'
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
- case $host_os in
- irix5* | nonstopux*)
- libsuff= shlibsuff=
- ;;
- *)
- case $LD in # libtool.m4 will add one of these switches to LD
- *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
- libsuff= shlibsuff= libmagic=32-bit;;
- *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
- libsuff=32 shlibsuff=N32 libmagic=N32;;
- *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
- libsuff=64 shlibsuff=64 libmagic=64-bit;;
- *) libsuff= shlibsuff= libmagic=never-match;;
- esac
- ;;
- esac
- shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
- shlibpath_overrides_runpath=no
- sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
- sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
- hardcode_into_libs=yes
- ;;
-
-# No shared lib support for Linux oldld, aout, or coff.
-linux*oldld* | linux*aout* | linux*coff*)
- dynamic_linker=no
- ;;
-
-# This must be Linux ELF.
-linux*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- # This implies no fast_install, which is unacceptable.
- # Some rework will be needed to allow for fast_install
- # before this can be enabled.
- hardcode_into_libs=yes
-
- # Append ld.so.conf contents to the search path
- if test -f /etc/ld.so.conf; then
- lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
- sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
- fi
-
- # We used to test for /lib/ld.so.1 and disable shared libraries on
- # powerpc, because MkLinux only supported shared libraries with the
- # GNU dynamic linker. Since this was broken with cross compilers,
- # most powerpc-linux boxes support dynamic linking these days and
- # people can always --disable-shared, the test was removed, and we
- # assume the GNU/Linux dynamic linker is in use.
- dynamic_linker='GNU/Linux ld.so'
- ;;
-
-knetbsd*-gnu)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- dynamic_linker='GNU ld.so'
- ;;
-
-netbsd*)
- version_type=sunos
- need_lib_prefix=no
- need_version=no
- if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
- dynamic_linker='NetBSD (a.out) ld.so'
- else
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- dynamic_linker='NetBSD ld.elf_so'
- fi
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- ;;
-
-newsos6)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- ;;
-
-nto-qnx*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- ;;
-
-openbsd*)
- version_type=sunos
- sys_lib_dlsearch_path_spec="/usr/lib"
- need_lib_prefix=no
- # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
- case $host_os in
- openbsd3.3 | openbsd3.3.*) need_version=yes ;;
- *) need_version=no ;;
- esac
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- case $host_os in
- openbsd2.[89] | openbsd2.[89].*)
- shlibpath_overrides_runpath=no
- ;;
- *)
- shlibpath_overrides_runpath=yes
- ;;
- esac
- else
- shlibpath_overrides_runpath=yes
- fi
- ;;
-
-os2*)
- libname_spec='$name'
- shrext_cmds=".dll"
- need_lib_prefix=no
- library_names_spec='$libname${shared_ext} $libname.a'
- dynamic_linker='OS/2 ld.exe'
- shlibpath_var=LIBPATH
- ;;
-
-osf3* | osf4* | osf5*)
- version_type=osf
- need_lib_prefix=no
- need_version=no
- soname_spec='${libname}${release}${shared_ext}$major'
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- shlibpath_var=LD_LIBRARY_PATH
- sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
- sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
- ;;
-
-solaris*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- # ldd complains unless libraries are executable
- postinstall_cmds='chmod +x $lib'
- ;;
-
-sunos4*)
- version_type=sunos
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
- finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- if test "$with_gnu_ld" = yes; then
- need_lib_prefix=no
- fi
- need_version=yes
- ;;
-
-sysv4 | sysv4.3*)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- case $host_vendor in
- sni)
- shlibpath_overrides_runpath=no
- need_lib_prefix=no
- export_dynamic_flag_spec='${wl}-Blargedynsym'
- runpath_var=LD_RUN_PATH
- ;;
- siemens)
- need_lib_prefix=no
- ;;
- motorola)
- need_lib_prefix=no
- need_version=no
- shlibpath_overrides_runpath=no
- sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
- ;;
- esac
- ;;
-
-sysv4*MP*)
- if test -d /usr/nec ;then
- version_type=linux
- library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
- soname_spec='$libname${shared_ext}.$major'
- shlibpath_var=LD_LIBRARY_PATH
- fi
- ;;
-
-sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
- version_type=freebsd-elf
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- hardcode_into_libs=yes
- if test "$with_gnu_ld" = yes; then
- sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
- shlibpath_overrides_runpath=no
- else
- sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
- shlibpath_overrides_runpath=yes
- case $host_os in
- sco3.2v5*)
- sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
- ;;
- esac
- fi
- sys_lib_dlsearch_path_spec='/usr/lib'
- ;;
-
-uts4*)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- ;;
-
-*)
- dynamic_linker=no
- ;;
-esac
-echo "$as_me:$LINENO: result: $dynamic_linker" >&5
-echo "${ECHO_T}$dynamic_linker" >&6
-test "$dynamic_linker" = no && can_build_shared=no
-
-variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
-if test "$GCC" = yes; then
- variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
-fi
-
-echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
-echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6
-hardcode_action_CXX=
-if test -n "$hardcode_libdir_flag_spec_CXX" || \
- test -n "$runpath_var_CXX" || \
- test "X$hardcode_automatic_CXX" = "Xyes" ; then
-
- # We can hardcode non-existant directories.
- if test "$hardcode_direct_CXX" != no &&
- # If the only mechanism to avoid hardcoding is shlibpath_var, we
- # have to relink, otherwise we might link with an installed library
- # when we should be linking with a yet-to-be-installed one
- ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, CXX)" != no &&
- test "$hardcode_minus_L_CXX" != no; then
- # Linking always hardcodes the temporary library directory.
- hardcode_action_CXX=relink
- else
- # We can link without hardcoding, and we can hardcode nonexisting dirs.
- hardcode_action_CXX=immediate
- fi
-else
- # We cannot hardcode anything, or else we can only hardcode existing
- # directories.
- hardcode_action_CXX=unsupported
-fi
-echo "$as_me:$LINENO: result: $hardcode_action_CXX" >&5
-echo "${ECHO_T}$hardcode_action_CXX" >&6
-
-if test "$hardcode_action_CXX" = relink; then
- # Fast installation is not supported
- enable_fast_install=no
-elif test "$shlibpath_overrides_runpath" = yes ||
- test "$enable_shared" = no; then
- # Fast installation is not necessary
- enable_fast_install=needless
-fi
-
-
-# The else clause should only fire when bootstrapping the
-# libtool distribution, otherwise you forgot to ship ltmain.sh
-# with your package, and you will get complaints that there are
-# no rules to generate ltmain.sh.
-if test -f "$ltmain"; then
- # See if we are running on zsh, and set the options which allow our commands through
- # without removal of \ escapes.
- if test -n "${ZSH_VERSION+set}" ; then
- setopt NO_GLOB_SUBST
- fi
- # Now quote all the things that may contain metacharacters while being
- # careful not to overquote the AC_SUBSTed values. We take copies of the
- # variables and quote the copies for generation of the libtool script.
- for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \
- SED SHELL STRIP \
- libname_spec library_names_spec soname_spec extract_expsyms_cmds \
- old_striplib striplib file_magic_cmd finish_cmds finish_eval \
- deplibs_check_method reload_flag reload_cmds need_locks \
- lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \
- lt_cv_sys_global_symbol_to_c_name_address \
- sys_lib_search_path_spec sys_lib_dlsearch_path_spec \
- old_postinstall_cmds old_postuninstall_cmds \
- compiler_CXX \
- CC_CXX \
- LD_CXX \
- lt_prog_compiler_wl_CXX \
- lt_prog_compiler_pic_CXX \
- lt_prog_compiler_static_CXX \
- lt_prog_compiler_no_builtin_flag_CXX \
- export_dynamic_flag_spec_CXX \
- thread_safe_flag_spec_CXX \
- whole_archive_flag_spec_CXX \
- enable_shared_with_static_runtimes_CXX \
- old_archive_cmds_CXX \
- old_archive_from_new_cmds_CXX \
- predep_objects_CXX \
- postdep_objects_CXX \
- predeps_CXX \
- postdeps_CXX \
- compiler_lib_search_path_CXX \
- archive_cmds_CXX \
- archive_expsym_cmds_CXX \
- postinstall_cmds_CXX \
- postuninstall_cmds_CXX \
- old_archive_from_expsyms_cmds_CXX \
- allow_undefined_flag_CXX \
- no_undefined_flag_CXX \
- export_symbols_cmds_CXX \
- hardcode_libdir_flag_spec_CXX \
- hardcode_libdir_flag_spec_ld_CXX \
- hardcode_libdir_separator_CXX \
- hardcode_automatic_CXX \
- module_cmds_CXX \
- module_expsym_cmds_CXX \
- lt_cv_prog_compiler_c_o_CXX \
- exclude_expsyms_CXX \
- include_expsyms_CXX; do
-
- case $var in
- old_archive_cmds_CXX | \
- old_archive_from_new_cmds_CXX | \
- archive_cmds_CXX | \
- archive_expsym_cmds_CXX | \
- module_cmds_CXX | \
- module_expsym_cmds_CXX | \
- old_archive_from_expsyms_cmds_CXX | \
- export_symbols_cmds_CXX | \
- extract_expsyms_cmds | reload_cmds | finish_cmds | \
- postinstall_cmds | postuninstall_cmds | \
- old_postinstall_cmds | old_postuninstall_cmds | \
- sys_lib_search_path_spec | sys_lib_dlsearch_path_spec)
- # Double-quote double-evaled strings.
- eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\""
- ;;
- *)
- eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\""
- ;;
- esac
- done
-
- case $lt_echo in
- *'\$0 --fallback-echo"')
- lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'`
- ;;
- esac
-
-cfgfile="$ofile"
-
- cat <<__EOF__ >> "$cfgfile"
-# ### BEGIN LIBTOOL TAG CONFIG: $tagname
-
-# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
-
-# Shell to use when invoking shell scripts.
-SHELL=$lt_SHELL
-
-# Whether or not to build shared libraries.
-build_libtool_libs=$enable_shared
-
-# Whether or not to build static libraries.
-build_old_libs=$enable_static
-
-# Whether or not to add -lc for building shared libraries.
-build_libtool_need_lc=$archive_cmds_need_lc_CXX
-
-# Whether or not to disallow shared libs when runtime libs are static
-allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_CXX
-
-# Whether or not to optimize for fast installation.
-fast_install=$enable_fast_install
-
-# The host system.
-host_alias=$host_alias
-host=$host
-host_os=$host_os
-
-# The build system.
-build_alias=$build_alias
-build=$build
-build_os=$build_os
-
-# An echo program that does not interpret backslashes.
-echo=$lt_echo
-
-# The archiver.
-AR=$lt_AR
-AR_FLAGS=$lt_AR_FLAGS
-
-# A C compiler.
-LTCC=$lt_LTCC
-
-# LTCC compiler flags.
-LTCFLAGS=$lt_LTCFLAGS
-
-# A language-specific compiler.
-CC=$lt_compiler_CXX
-
-# Is the compiler the GNU C compiler?
-with_gcc=$GCC_CXX
-
-# An ERE matcher.
-EGREP=$lt_EGREP
-
-# The linker used to build libraries.
-LD=$lt_LD_CXX
-
-# Whether we need hard or soft links.
-LN_S=$lt_LN_S
-
-# A BSD-compatible nm program.
-NM=$lt_NM
-
-# A symbol stripping program
-STRIP=$lt_STRIP
-
-# Used to examine libraries when file_magic_cmd begins "file"
-MAGIC_CMD=$MAGIC_CMD
-
-# Used on cygwin: DLL creation program.
-DLLTOOL="$DLLTOOL"
-
-# Used on cygwin: object dumper.
-OBJDUMP="$OBJDUMP"
-
-# Used on cygwin: assembler.
-AS="$AS"
-
-# The name of the directory that contains temporary libtool files.
-objdir=$objdir
-
-# How to create reloadable object files.
-reload_flag=$lt_reload_flag
-reload_cmds=$lt_reload_cmds
-
-# How to pass a linker flag through the compiler.
-wl=$lt_lt_prog_compiler_wl_CXX
-
-# Object file suffix (normally "o").
-objext="$ac_objext"
-
-# Old archive suffix (normally "a").
-libext="$libext"
-
-# Shared library suffix (normally ".so").
-shrext_cmds='$shrext_cmds'
-
-# Executable file suffix (normally "").
-exeext="$exeext"
-
-# Additional compiler flags for building library objects.
-pic_flag=$lt_lt_prog_compiler_pic_CXX
-pic_mode=$pic_mode
-
-# What is the maximum length of a command?
-max_cmd_len=$lt_cv_sys_max_cmd_len
-
-# Does compiler simultaneously support -c and -o options?
-compiler_c_o=$lt_lt_cv_prog_compiler_c_o_CXX
-
-# Must we lock files when doing compilation?
-need_locks=$lt_need_locks
-
-# Do we need the lib prefix for modules?
-need_lib_prefix=$need_lib_prefix
-
-# Do we need a version for libraries?
-need_version=$need_version
-
-# Whether dlopen is supported.
-dlopen_support=$enable_dlopen
-
-# Whether dlopen of programs is supported.
-dlopen_self=$enable_dlopen_self
-
-# Whether dlopen of statically linked programs is supported.
-dlopen_self_static=$enable_dlopen_self_static
-
-# Compiler flag to prevent dynamic linking.
-link_static_flag=$lt_lt_prog_compiler_static_CXX
-
-# Compiler flag to turn off builtin functions.
-no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_CXX
-
-# Compiler flag to allow reflexive dlopens.
-export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_CXX
-
-# Compiler flag to generate shared objects directly from archives.
-whole_archive_flag_spec=$lt_whole_archive_flag_spec_CXX
-
-# Compiler flag to generate thread-safe objects.
-thread_safe_flag_spec=$lt_thread_safe_flag_spec_CXX
-
-# Library versioning type.
-version_type=$version_type
-
-# Format of library name prefix.
-libname_spec=$lt_libname_spec
-
-# List of archive names. First name is the real one, the rest are links.
-# The last name is the one that the linker finds with -lNAME.
-library_names_spec=$lt_library_names_spec
-
-# The coded name of the library, if different from the real name.
-soname_spec=$lt_soname_spec
-
-# Commands used to build and install an old-style archive.
-RANLIB=$lt_RANLIB
-old_archive_cmds=$lt_old_archive_cmds_CXX
-old_postinstall_cmds=$lt_old_postinstall_cmds
-old_postuninstall_cmds=$lt_old_postuninstall_cmds
-
-# Create an old-style archive from a shared archive.
-old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_CXX
-
-# Create a temporary old-style archive to link instead of a shared archive.
-old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_CXX
-
-# Commands used to build and install a shared archive.
-archive_cmds=$lt_archive_cmds_CXX
-archive_expsym_cmds=$lt_archive_expsym_cmds_CXX
-postinstall_cmds=$lt_postinstall_cmds
-postuninstall_cmds=$lt_postuninstall_cmds
-
-# Commands used to build a loadable module (assumed same as above if empty)
-module_cmds=$lt_module_cmds_CXX
-module_expsym_cmds=$lt_module_expsym_cmds_CXX
-
-# Commands to strip libraries.
-old_striplib=$lt_old_striplib
-striplib=$lt_striplib
-
-# Dependencies to place before the objects being linked to create a
-# shared library.
-predep_objects=$lt_predep_objects_CXX
-
-# Dependencies to place after the objects being linked to create a
-# shared library.
-postdep_objects=$lt_postdep_objects_CXX
-
-# Dependencies to place before the objects being linked to create a
-# shared library.
-predeps=$lt_predeps_CXX
-
-# Dependencies to place after the objects being linked to create a
-# shared library.
-postdeps=$lt_postdeps_CXX
-
-# The library search path used internally by the compiler when linking
-# a shared library.
-compiler_lib_search_path=$lt_compiler_lib_search_path_CXX
-
-# Method to check whether dependent libraries are shared objects.
-deplibs_check_method=$lt_deplibs_check_method
-
-# Command to use when deplibs_check_method == file_magic.
-file_magic_cmd=$lt_file_magic_cmd
-
-# Flag that allows shared libraries with undefined symbols to be built.
-allow_undefined_flag=$lt_allow_undefined_flag_CXX
-
-# Flag that forces no undefined symbols.
-no_undefined_flag=$lt_no_undefined_flag_CXX
-
-# Commands used to finish a libtool library installation in a directory.
-finish_cmds=$lt_finish_cmds
-
-# Same as above, but a single script fragment to be evaled but not shown.
-finish_eval=$lt_finish_eval
-
-# Take the output of nm and produce a listing of raw symbols and C names.
-global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
-
-# Transform the output of nm in a proper C declaration
-global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
-
-# Transform the output of nm in a C name address pair
-global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
-
-# This is the shared library runtime path variable.
-runpath_var=$runpath_var
-
-# This is the shared library path variable.
-shlibpath_var=$shlibpath_var
-
-# Is shlibpath searched before the hard-coded library search path?
-shlibpath_overrides_runpath=$shlibpath_overrides_runpath
-
-# How to hardcode a shared library path into an executable.
-hardcode_action=$hardcode_action_CXX
-
-# Whether we should hardcode library paths into libraries.
-hardcode_into_libs=$hardcode_into_libs
-
-# Flag to hardcode \$libdir into a binary during linking.
-# This must work even if \$libdir does not exist.
-hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_CXX
-
-# If ld is used when linking, flag to hardcode \$libdir into
-# a binary during linking. This must work even if \$libdir does
-# not exist.
-hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_CXX
-
-# Whether we need a single -rpath flag with a separated argument.
-hardcode_libdir_separator=$lt_hardcode_libdir_separator_CXX
-
-# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the
-# resulting binary.
-hardcode_direct=$hardcode_direct_CXX
-
-# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
-# resulting binary.
-hardcode_minus_L=$hardcode_minus_L_CXX
-
-# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into
-# the resulting binary.
-hardcode_shlibpath_var=$hardcode_shlibpath_var_CXX
-
-# Set to yes if building a shared library automatically hardcodes DIR into the library
-# and all subsequent libraries and executables linked against it.
-hardcode_automatic=$hardcode_automatic_CXX
-
-# Variables whose values should be saved in libtool wrapper scripts and
-# restored at relink time.
-variables_saved_for_relink="$variables_saved_for_relink"
-
-# Whether libtool must link a program against all its dependency libraries.
-link_all_deplibs=$link_all_deplibs_CXX
-
-# Compile-time system search path for libraries
-sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
-
-# Run-time system search path for libraries
-sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
-
-# Fix the shell variable \$srcfile for the compiler.
-fix_srcfile_path="$fix_srcfile_path_CXX"
-
-# Set to yes if exported symbols are required.
-always_export_symbols=$always_export_symbols_CXX
-
-# The commands to list exported symbols.
-export_symbols_cmds=$lt_export_symbols_cmds_CXX
-
-# The commands to extract the exported symbol list from a shared archive.
-extract_expsyms_cmds=$lt_extract_expsyms_cmds
-
-# Symbols that should not be listed in the preloaded symbols.
-exclude_expsyms=$lt_exclude_expsyms_CXX
-
-# Symbols that must always be exported.
-include_expsyms=$lt_include_expsyms_CXX
-
-# ### END LIBTOOL TAG CONFIG: $tagname
-
-__EOF__
-
-
-else
- # If there is no Makefile yet, we rely on a make rule to execute
- # `config.status --recheck' to rerun these tests and create the
- # libtool script then.
- ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'`
- if test -f "$ltmain_in"; then
- test -f Makefile && make "$ltmain"
- fi
-fi
-
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-CC=$lt_save_CC
-LDCXX=$LD
-LD=$lt_save_LD
-GCC=$lt_save_GCC
-with_gnu_ldcxx=$with_gnu_ld
-with_gnu_ld=$lt_save_with_gnu_ld
-lt_cv_path_LDCXX=$lt_cv_path_LD
-lt_cv_path_LD=$lt_save_path_LD
-lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld
-lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld
-
- else
- tagname=""
- fi
- ;;
-
- F77)
- if test -n "$F77" && test "X$F77" != "Xno"; then
-
-ac_ext=f
-ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5'
-ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_f77_compiler_gnu
-
-
-archive_cmds_need_lc_F77=no
-allow_undefined_flag_F77=
-always_export_symbols_F77=no
-archive_expsym_cmds_F77=
-export_dynamic_flag_spec_F77=
-hardcode_direct_F77=no
-hardcode_libdir_flag_spec_F77=
-hardcode_libdir_flag_spec_ld_F77=
-hardcode_libdir_separator_F77=
-hardcode_minus_L_F77=no
-hardcode_automatic_F77=no
-module_cmds_F77=
-module_expsym_cmds_F77=
-link_all_deplibs_F77=unknown
-old_archive_cmds_F77=$old_archive_cmds
-no_undefined_flag_F77=
-whole_archive_flag_spec_F77=
-enable_shared_with_static_runtimes_F77=no
-
-# Source file extension for f77 test sources.
-ac_ext=f
-
-# Object file extension for compiled f77 test sources.
-objext=o
-objext_F77=$objext
-
-# Code to be used in simple compile tests
-lt_simple_compile_test_code=" subroutine t\n return\n end\n"
-
-# Code to be used in simple link tests
-lt_simple_link_test_code=" program t\n end\n"
-
-# ltmain only uses $CC for tagged configurations so make sure $CC is set.
-
-# If no C compiler was specified, use CC.
-LTCC=${LTCC-"$CC"}
-
-# If no C compiler flags were specified, use CFLAGS.
-LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
-
-# Allow CC to be a program name with arguments.
-compiler=$CC
-
-
-# save warnings/boilerplate of simple test code
-ac_outfile=conftest.$ac_objext
-printf "$lt_simple_compile_test_code" >conftest.$ac_ext
-eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_compiler_boilerplate=`cat conftest.err`
-$rm conftest*
-
-ac_outfile=conftest.$ac_objext
-printf "$lt_simple_link_test_code" >conftest.$ac_ext
-eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_linker_boilerplate=`cat conftest.err`
-$rm conftest*
-
-
-# Allow CC to be a program name with arguments.
-lt_save_CC="$CC"
-CC=${F77-"f77"}
-compiler=$CC
-compiler_F77=$CC
-for cc_temp in $compiler""; do
- case $cc_temp in
- compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
- distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
- \-*) ;;
- *) break;;
- esac
-done
-cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
-
-
-echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5
-echo $ECHO_N "checking if libtool supports shared libraries... $ECHO_C" >&6
-echo "$as_me:$LINENO: result: $can_build_shared" >&5
-echo "${ECHO_T}$can_build_shared" >&6
-
-echo "$as_me:$LINENO: checking whether to build shared libraries" >&5
-echo $ECHO_N "checking whether to build shared libraries... $ECHO_C" >&6
-test "$can_build_shared" = "no" && enable_shared=no
-
-# On AIX, shared libraries and static libraries use the same namespace, and
-# are all built from PIC.
-case $host_os in
-aix3*)
- test "$enable_shared" = yes && enable_static=no
- if test -n "$RANLIB"; then
- archive_cmds="$archive_cmds~\$RANLIB \$lib"
- postinstall_cmds='$RANLIB $lib'
- fi
- ;;
-aix4* | aix5*)
- if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
- test "$enable_shared" = yes && enable_static=no
- fi
- ;;
-esac
-echo "$as_me:$LINENO: result: $enable_shared" >&5
-echo "${ECHO_T}$enable_shared" >&6
-
-echo "$as_me:$LINENO: checking whether to build static libraries" >&5
-echo $ECHO_N "checking whether to build static libraries... $ECHO_C" >&6
-# Make sure either enable_shared or enable_static is yes.
-test "$enable_shared" = yes || enable_static=yes
-echo "$as_me:$LINENO: result: $enable_static" >&5
-echo "${ECHO_T}$enable_static" >&6
-
-GCC_F77="$G77"
-LD_F77="$LD"
-
-lt_prog_compiler_wl_F77=
-lt_prog_compiler_pic_F77=
-lt_prog_compiler_static_F77=
-
-echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5
-echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
-
- if test "$GCC" = yes; then
- lt_prog_compiler_wl_F77='-Wl,'
- lt_prog_compiler_static_F77='-static'
-
- case $host_os in
- aix*)
- # All AIX code is PIC.
- if test "$host_cpu" = ia64; then
- # AIX 5 now supports IA64 processor
- lt_prog_compiler_static_F77='-Bstatic'
- fi
- ;;
-
- amigaos*)
- # FIXME: we need at least 68020 code to build shared libraries, but
- # adding the `-m68020' flag to GCC prevents building anything better,
- # like `-m68040'.
- lt_prog_compiler_pic_F77='-m68020 -resident32 -malways-restore-a4'
- ;;
-
- beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
- # PIC is the default for these OSes.
- ;;
-
- mingw* | pw32* | os2*)
- # This hack is so that the source file can tell whether it is being
- # built for inclusion in a dll (and should export symbols for example).
- lt_prog_compiler_pic_F77='-DDLL_EXPORT'
- ;;
-
- darwin* | rhapsody*)
- # PIC is the default on this platform
- # Common symbols not allowed in MH_DYLIB files
- lt_prog_compiler_pic_F77='-fno-common'
- ;;
-
- interix3*)
- # Interix 3.x gcc -fpic/-fPIC options generate broken code.
- # Instead, we relocate shared libraries at runtime.
- ;;
-
- msdosdjgpp*)
- # Just because we use GCC doesn't mean we suddenly get shared libraries
- # on systems that don't support them.
- lt_prog_compiler_can_build_shared_F77=no
- enable_shared=no
- ;;
-
- sysv4*MP*)
- if test -d /usr/nec; then
- lt_prog_compiler_pic_F77=-Kconform_pic
- fi
- ;;
-
- hpux*)
- # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
- # not for PA HP-UX.
- case $host_cpu in
- hppa*64*|ia64*)
- # +Z the default
- ;;
- *)
- lt_prog_compiler_pic_F77='-fPIC'
- ;;
- esac
- ;;
-
- *)
- lt_prog_compiler_pic_F77='-fPIC'
- ;;
- esac
- else
- # PORTME Check for flag to pass linker flags through the system compiler.
- case $host_os in
- aix*)
- lt_prog_compiler_wl_F77='-Wl,'
- if test "$host_cpu" = ia64; then
- # AIX 5 now supports IA64 processor
- lt_prog_compiler_static_F77='-Bstatic'
- else
- lt_prog_compiler_static_F77='-bnso -bI:/lib/syscalls.exp'
- fi
- ;;
- darwin*)
- # PIC is the default on this platform
- # Common symbols not allowed in MH_DYLIB files
- case $cc_basename in
- xlc*)
- lt_prog_compiler_pic_F77='-qnocommon'
- lt_prog_compiler_wl_F77='-Wl,'
- ;;
- esac
- ;;
-
- mingw* | pw32* | os2*)
- # This hack is so that the source file can tell whether it is being
- # built for inclusion in a dll (and should export symbols for example).
- lt_prog_compiler_pic_F77='-DDLL_EXPORT'
- ;;
-
- hpux9* | hpux10* | hpux11*)
- lt_prog_compiler_wl_F77='-Wl,'
- # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
- # not for PA HP-UX.
- case $host_cpu in
- hppa*64*|ia64*)
- # +Z the default
- ;;
- *)
- lt_prog_compiler_pic_F77='+Z'
- ;;
- esac
- # Is there a better lt_prog_compiler_static that works with the bundled CC?
- lt_prog_compiler_static_F77='${wl}-a ${wl}archive'
- ;;
-
- irix5* | irix6* | nonstopux*)
- lt_prog_compiler_wl_F77='-Wl,'
- # PIC (with -KPIC) is the default.
- lt_prog_compiler_static_F77='-non_shared'
- ;;
-
- newsos6)
- lt_prog_compiler_pic_F77='-KPIC'
- lt_prog_compiler_static_F77='-Bstatic'
- ;;
-
- linux*)
- case $cc_basename in
- icc* | ecc*)
- lt_prog_compiler_wl_F77='-Wl,'
- lt_prog_compiler_pic_F77='-KPIC'
- lt_prog_compiler_static_F77='-static'
- ;;
- pgcc* | pgf77* | pgf90* | pgf95*)
- # Portland Group compilers (*not* the Pentium gcc compiler,
- # which looks to be a dead project)
- lt_prog_compiler_wl_F77='-Wl,'
- lt_prog_compiler_pic_F77='-fpic'
- lt_prog_compiler_static_F77='-Bstatic'
- ;;
- ccc*)
- lt_prog_compiler_wl_F77='-Wl,'
- # All Alpha code is PIC.
- lt_prog_compiler_static_F77='-non_shared'
- ;;
- esac
- ;;
-
- osf3* | osf4* | osf5*)
- lt_prog_compiler_wl_F77='-Wl,'
- # All OSF/1 code is PIC.
- lt_prog_compiler_static_F77='-non_shared'
- ;;
-
- solaris*)
- lt_prog_compiler_pic_F77='-KPIC'
- lt_prog_compiler_static_F77='-Bstatic'
- case $cc_basename in
- f77* | f90* | f95*)
- lt_prog_compiler_wl_F77='-Qoption ld ';;
- *)
- lt_prog_compiler_wl_F77='-Wl,';;
- esac
- ;;
-
- sunos4*)
- lt_prog_compiler_wl_F77='-Qoption ld '
- lt_prog_compiler_pic_F77='-PIC'
- lt_prog_compiler_static_F77='-Bstatic'
- ;;
-
- sysv4 | sysv4.2uw2* | sysv4.3*)
- lt_prog_compiler_wl_F77='-Wl,'
- lt_prog_compiler_pic_F77='-KPIC'
- lt_prog_compiler_static_F77='-Bstatic'
- ;;
-
- sysv4*MP*)
- if test -d /usr/nec ;then
- lt_prog_compiler_pic_F77='-Kconform_pic'
- lt_prog_compiler_static_F77='-Bstatic'
- fi
- ;;
-
- sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
- lt_prog_compiler_wl_F77='-Wl,'
- lt_prog_compiler_pic_F77='-KPIC'
- lt_prog_compiler_static_F77='-Bstatic'
- ;;
-
- unicos*)
- lt_prog_compiler_wl_F77='-Wl,'
- lt_prog_compiler_can_build_shared_F77=no
- ;;
-
- uts4*)
- lt_prog_compiler_pic_F77='-pic'
- lt_prog_compiler_static_F77='-Bstatic'
- ;;
-
- *)
- lt_prog_compiler_can_build_shared_F77=no
- ;;
- esac
- fi
-
-echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_F77" >&5
-echo "${ECHO_T}$lt_prog_compiler_pic_F77" >&6
-
-#
-# Check to make sure the PIC flag actually works.
-#
-if test -n "$lt_prog_compiler_pic_F77"; then
-
-echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works" >&5
-echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works... $ECHO_C" >&6
-if test "${lt_prog_compiler_pic_works_F77+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- lt_prog_compiler_pic_works_F77=no
- ac_outfile=conftest.$ac_objext
- printf "$lt_simple_compile_test_code" > conftest.$ac_ext
- lt_compiler_flag="$lt_prog_compiler_pic_F77"
- # Insert the option either (1) after the last *FLAGS variable, or
- # (2) before a word containing "conftest.", or (3) at the end.
- # Note that $ac_compile itself does not contain backslashes and begins
- # with a dollar sign (not a hyphen), so the echo should work correctly.
- # The option is referenced via a variable to avoid confusing sed.
- lt_compile=`echo "$ac_compile" | $SED \
- -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
- -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
- -e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:13329: $lt_compile\"" >&5)
- (eval "$lt_compile" 2>conftest.err)
- ac_status=$?
- cat conftest.err >&5
- echo "$as_me:13333: \$? = $ac_status" >&5
- if (exit $ac_status) && test -s "$ac_outfile"; then
- # The compiler can only warn and ignore the option if not recognized
- # So say no if there are warnings other than the usual output.
- $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
- $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
- if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
- lt_prog_compiler_pic_works_F77=yes
- fi
- fi
- $rm conftest*
-
-fi
-echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_F77" >&5
-echo "${ECHO_T}$lt_prog_compiler_pic_works_F77" >&6
-
-if test x"$lt_prog_compiler_pic_works_F77" = xyes; then
- case $lt_prog_compiler_pic_F77 in
- "" | " "*) ;;
- *) lt_prog_compiler_pic_F77=" $lt_prog_compiler_pic_F77" ;;
- esac
-else
- lt_prog_compiler_pic_F77=
- lt_prog_compiler_can_build_shared_F77=no
-fi
-
-fi
-case $host_os in
- # For platforms which do not support PIC, -DPIC is meaningless:
- *djgpp*)
- lt_prog_compiler_pic_F77=
- ;;
- *)
- lt_prog_compiler_pic_F77="$lt_prog_compiler_pic_F77"
- ;;
-esac
-
-#
-# Check to make sure the static flag actually works.
-#
-wl=$lt_prog_compiler_wl_F77 eval lt_tmp_static_flag=\"$lt_prog_compiler_static_F77\"
-echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5
-echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6
-if test "${lt_prog_compiler_static_works_F77+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- lt_prog_compiler_static_works_F77=no
- save_LDFLAGS="$LDFLAGS"
- LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
- printf "$lt_simple_link_test_code" > conftest.$ac_ext
- if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
- # The linker can only warn and ignore the option if not recognized
- # So say no if there are warnings
- if test -s conftest.err; then
- # Append any errors to the config.log.
- cat conftest.err 1>&5
- $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
- $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
- if diff conftest.exp conftest.er2 >/dev/null; then
- lt_prog_compiler_static_works_F77=yes
- fi
- else
- lt_prog_compiler_static_works_F77=yes
- fi
- fi
- $rm conftest*
- LDFLAGS="$save_LDFLAGS"
-
-fi
-echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_F77" >&5
-echo "${ECHO_T}$lt_prog_compiler_static_works_F77" >&6
-
-if test x"$lt_prog_compiler_static_works_F77" = xyes; then
- :
-else
- lt_prog_compiler_static_F77=
-fi
-
-
-echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
-echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6
-if test "${lt_cv_prog_compiler_c_o_F77+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- lt_cv_prog_compiler_c_o_F77=no
- $rm -r conftest 2>/dev/null
- mkdir conftest
- cd conftest
- mkdir out
- printf "$lt_simple_compile_test_code" > conftest.$ac_ext
-
- lt_compiler_flag="-o out/conftest2.$ac_objext"
- # Insert the option either (1) after the last *FLAGS variable, or
- # (2) before a word containing "conftest.", or (3) at the end.
- # Note that $ac_compile itself does not contain backslashes and begins
- # with a dollar sign (not a hyphen), so the echo should work correctly.
- lt_compile=`echo "$ac_compile" | $SED \
- -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
- -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
- -e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:13433: $lt_compile\"" >&5)
- (eval "$lt_compile" 2>out/conftest.err)
- ac_status=$?
- cat out/conftest.err >&5
- echo "$as_me:13437: \$? = $ac_status" >&5
- if (exit $ac_status) && test -s out/conftest2.$ac_objext
- then
- # The compiler can only warn and ignore the option if not recognized
- # So say no if there are warnings
- $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
- $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
- if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
- lt_cv_prog_compiler_c_o_F77=yes
- fi
- fi
- chmod u+w . 2>&5
- $rm conftest*
- # SGI C++ compiler will create directory out/ii_files/ for
- # template instantiation
- test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files
- $rm out/* && rmdir out
- cd ..
- rmdir conftest
- $rm conftest*
-
-fi
-echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_F77" >&5
-echo "${ECHO_T}$lt_cv_prog_compiler_c_o_F77" >&6
-
-
-hard_links="nottested"
-if test "$lt_cv_prog_compiler_c_o_F77" = no && test "$need_locks" != no; then
- # do not overwrite the value of need_locks provided by the user
- echo "$as_me:$LINENO: checking if we can lock with hard links" >&5
-echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6
- hard_links=yes
- $rm conftest*
- ln conftest.a conftest.b 2>/dev/null && hard_links=no
- touch conftest.a
- ln conftest.a conftest.b 2>&5 || hard_links=no
- ln conftest.a conftest.b 2>/dev/null && hard_links=no
- echo "$as_me:$LINENO: result: $hard_links" >&5
-echo "${ECHO_T}$hard_links" >&6
- if test "$hard_links" = no; then
- { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
-echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
- need_locks=warn
- fi
-else
- need_locks=no
-fi
-
-echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
-echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6
-
- runpath_var=
- allow_undefined_flag_F77=
- enable_shared_with_static_runtimes_F77=no
- archive_cmds_F77=
- archive_expsym_cmds_F77=
- old_archive_From_new_cmds_F77=
- old_archive_from_expsyms_cmds_F77=
- export_dynamic_flag_spec_F77=
- whole_archive_flag_spec_F77=
- thread_safe_flag_spec_F77=
- hardcode_libdir_flag_spec_F77=
- hardcode_libdir_flag_spec_ld_F77=
- hardcode_libdir_separator_F77=
- hardcode_direct_F77=no
- hardcode_minus_L_F77=no
- hardcode_shlibpath_var_F77=unsupported
- link_all_deplibs_F77=unknown
- hardcode_automatic_F77=no
- module_cmds_F77=
- module_expsym_cmds_F77=
- always_export_symbols_F77=no
- export_symbols_cmds_F77='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
- # include_expsyms should be a list of space-separated symbols to be *always*
- # included in the symbol list
- include_expsyms_F77=
- # exclude_expsyms can be an extended regexp of symbols to exclude
- # it will be wrapped by ` (' and `)$', so one must not match beginning or
- # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
- # as well as any symbol that contains `d'.
- exclude_expsyms_F77="_GLOBAL_OFFSET_TABLE_"
- # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
- # platforms (ab)use it in PIC code, but their linkers get confused if
- # the symbol is explicitly referenced. Since portable code cannot
- # rely on this symbol name, it's probably fine to never include it in
- # preloaded symbol tables.
- extract_expsyms_cmds=
- # Just being paranoid about ensuring that cc_basename is set.
- for cc_temp in $compiler""; do
- case $cc_temp in
- compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
- distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
- \-*) ;;
- *) break;;
- esac
-done
-cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
-
- case $host_os in
- cygwin* | mingw* | pw32*)
- # FIXME: the MSVC++ port hasn't been tested in a loooong time
- # When not using gcc, we currently assume that we are using
- # Microsoft Visual C++.
- if test "$GCC" != yes; then
- with_gnu_ld=no
- fi
- ;;
- interix*)
- # we just hope/assume this is gcc and not c89 (= MSVC++)
- with_gnu_ld=yes
- ;;
- openbsd*)
- with_gnu_ld=no
- ;;
- esac
-
- ld_shlibs_F77=yes
- if test "$with_gnu_ld" = yes; then
- # If archive_cmds runs LD, not CC, wlarc should be empty
- wlarc='${wl}'
-
- # Set some defaults for GNU ld with shared library support. These
- # are reset later if shared libraries are not supported. Putting them
- # here allows them to be overridden if necessary.
- runpath_var=LD_RUN_PATH
- hardcode_libdir_flag_spec_F77='${wl}--rpath ${wl}$libdir'
- export_dynamic_flag_spec_F77='${wl}--export-dynamic'
- # ancient GNU ld didn't support --whole-archive et. al.
- if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then
- whole_archive_flag_spec_F77="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
- else
- whole_archive_flag_spec_F77=
- fi
- supports_anon_versioning=no
- case `$LD -v 2>/dev/null` in
- *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11
- *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
- *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
- *\ 2.11.*) ;; # other 2.11 versions
- *) supports_anon_versioning=yes ;;
- esac
-
- # See if GNU ld supports shared libraries.
- case $host_os in
- aix3* | aix4* | aix5*)
- # On AIX/PPC, the GNU linker is very broken
- if test "$host_cpu" != ia64; then
- ld_shlibs_F77=no
- cat <<EOF 1>&2
-
-*** Warning: the GNU linker, at least up to release 2.9.1, is reported
-*** to be unable to reliably create shared libraries on AIX.
-*** Therefore, libtool is disabling shared libraries support. If you
-*** really care for shared libraries, you may want to modify your PATH
-*** so that a non-GNU linker is found, and then restart.
-
-EOF
- fi
- ;;
-
- amigaos*)
- archive_cmds_F77='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
- hardcode_libdir_flag_spec_F77='-L$libdir'
- hardcode_minus_L_F77=yes
-
- # Samuel A. Falvo II <kc5tja@dolphin.openprojects.net> reports
- # that the semantics of dynamic libraries on AmigaOS, at least up
- # to version 4, is to share data among multiple programs linked
- # with the same dynamic library. Since this doesn't match the
- # behavior of shared libraries on other platforms, we can't use
- # them.
- ld_shlibs_F77=no
- ;;
-
- beos*)
- if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
- allow_undefined_flag_F77=unsupported
- # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
- # support --undefined. This deserves some investigation. FIXME
- archive_cmds_F77='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- else
- ld_shlibs_F77=no
- fi
- ;;
-
- cygwin* | mingw* | pw32*)
- # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, F77) is actually meaningless,
- # as there is no search path for DLLs.
- hardcode_libdir_flag_spec_F77='-L$libdir'
- allow_undefined_flag_F77=unsupported
- always_export_symbols_F77=no
- enable_shared_with_static_runtimes_F77=yes
- export_symbols_cmds_F77='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS] /s/.* \([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols'
-
- if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
- archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
- # If the export-symbols file already is a .def file (1st line
- # is EXPORTS), use it as is; otherwise, prepend...
- archive_expsym_cmds_F77='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
- cp $export_symbols $output_objdir/$soname.def;
- else
- echo EXPORTS > $output_objdir/$soname.def;
- cat $export_symbols >> $output_objdir/$soname.def;
- fi~
- $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
- else
- ld_shlibs_F77=no
- fi
- ;;
-
- interix3*)
- hardcode_direct_F77=no
- hardcode_shlibpath_var_F77=no
- hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir'
- export_dynamic_flag_spec_F77='${wl}-E'
- # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
- # Instead, shared libraries are loaded at an image base (0x10000000 by
- # default) and relocated if they conflict, which is a slow very memory
- # consuming and fragmenting process. To avoid this, we pick a random,
- # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
- # time. Moving up from 0x10000000 also allows more sbrk(2) space.
- archive_cmds_F77='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
- archive_expsym_cmds_F77='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
- ;;
-
- linux*)
- if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
- tmp_addflag=
- case $cc_basename,$host_cpu in
- pgcc*) # Portland Group C compiler
- whole_archive_flag_spec_F77='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
- tmp_addflag=' $pic_flag'
- ;;
- pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers
- whole_archive_flag_spec_F77='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
- tmp_addflag=' $pic_flag -Mnomain' ;;
- ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64
- tmp_addflag=' -i_dynamic' ;;
- efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64
- tmp_addflag=' -i_dynamic -nofor_main' ;;
- ifc* | ifort*) # Intel Fortran compiler
- tmp_addflag=' -nofor_main' ;;
- esac
- archive_cmds_F77='$CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-
- if test $supports_anon_versioning = yes; then
- archive_expsym_cmds_F77='$echo "{ global:" > $output_objdir/$libname.ver~
- cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
- $echo "local: *; };" >> $output_objdir/$libname.ver~
- $CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
- fi
- else
- ld_shlibs_F77=no
- fi
- ;;
-
- netbsd*)
- if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
- archive_cmds_F77='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
- wlarc=
- else
- archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- fi
- ;;
-
- solaris*)
- if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then
- ld_shlibs_F77=no
- cat <<EOF 1>&2
-
-*** Warning: The releases 2.8.* of the GNU linker cannot reliably
-*** create shared libraries on Solaris systems. Therefore, libtool
-*** is disabling shared libraries support. We urge you to upgrade GNU
-*** binutils to release 2.9.1 or newer. Another option is to modify
-*** your PATH or compiler configuration so that the native linker is
-*** used, and then restart.
-
-EOF
- elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
- archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- else
- ld_shlibs_F77=no
- fi
- ;;
-
- sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
- case `$LD -v 2>&1` in
- *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*)
- ld_shlibs_F77=no
- cat <<_LT_EOF 1>&2
-
-*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
-*** reliably create shared libraries on SCO systems. Therefore, libtool
-*** is disabling shared libraries support. We urge you to upgrade GNU
-*** binutils to release 2.16.91.0.3 or newer. Another option is to modify
-*** your PATH or compiler configuration so that the native linker is
-*** used, and then restart.
-
-_LT_EOF
- ;;
- *)
- if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
- hardcode_libdir_flag_spec_F77='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`'
- archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib'
- archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib'
- else
- ld_shlibs_F77=no
- fi
- ;;
- esac
- ;;
-
- sunos4*)
- archive_cmds_F77='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
- wlarc=
- hardcode_direct_F77=yes
- hardcode_shlibpath_var_F77=no
- ;;
-
- *)
- if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
- archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- else
- ld_shlibs_F77=no
- fi
- ;;
- esac
-
- if test "$ld_shlibs_F77" = no; then
- runpath_var=
- hardcode_libdir_flag_spec_F77=
- export_dynamic_flag_spec_F77=
- whole_archive_flag_spec_F77=
- fi
- else
- # PORTME fill in a description of your system's linker (not GNU ld)
- case $host_os in
- aix3*)
- allow_undefined_flag_F77=unsupported
- always_export_symbols_F77=yes
- archive_expsym_cmds_F77='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
- # Note: this linker hardcodes the directories in LIBPATH if there
- # are no directories specified by -L.
- hardcode_minus_L_F77=yes
- if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
- # Neither direct hardcoding nor static linking is supported with a
- # broken collect2.
- hardcode_direct_F77=unsupported
- fi
- ;;
-
- aix4* | aix5*)
- if test "$host_cpu" = ia64; then
- # On IA64, the linker does run time linking by default, so we don't
- # have to do anything special.
- aix_use_runtimelinking=no
- exp_sym_flag='-Bexport'
- no_entry_flag=""
- else
- # If we're using GNU nm, then we don't want the "-C" option.
- # -C means demangle to AIX nm, but means don't demangle with GNU nm
- if $NM -V 2>&1 | grep 'GNU' > /dev/null; then
- export_symbols_cmds_F77='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols'
- else
- export_symbols_cmds_F77='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols'
- fi
- aix_use_runtimelinking=no
-
- # Test if we are trying to use run time linking or normal
- # AIX style linking. If -brtl is somewhere in LDFLAGS, we
- # need to do runtime linking.
- case $host_os in aix4.[23]|aix4.[23].*|aix5*)
- for ld_flag in $LDFLAGS; do
- if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
- aix_use_runtimelinking=yes
- break
- fi
- done
- ;;
- esac
-
- exp_sym_flag='-bexport'
- no_entry_flag='-bnoentry'
- fi
-
- # When large executables or shared objects are built, AIX ld can
- # have problems creating the table of contents. If linking a library
- # or program results in "error TOC overflow" add -mminimal-toc to
- # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
- # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
-
- archive_cmds_F77=''
- hardcode_direct_F77=yes
- hardcode_libdir_separator_F77=':'
- link_all_deplibs_F77=yes
-
- if test "$GCC" = yes; then
- case $host_os in aix4.[012]|aix4.[012].*)
- # We only want to do this on AIX 4.2 and lower, the check
- # below for broken collect2 doesn't work under 4.3+
- collect2name=`${CC} -print-prog-name=collect2`
- if test -f "$collect2name" && \
- strings "$collect2name" | grep resolve_lib_name >/dev/null
- then
- # We have reworked collect2
- hardcode_direct_F77=yes
- else
- # We have old collect2
- hardcode_direct_F77=unsupported
- # It fails to find uninstalled libraries when the uninstalled
- # path is not listed in the libpath. Setting hardcode_minus_L
- # to unsupported forces relinking
- hardcode_minus_L_F77=yes
- hardcode_libdir_flag_spec_F77='-L$libdir'
- hardcode_libdir_separator_F77=
- fi
- ;;
- esac
- shared_flag='-shared'
- if test "$aix_use_runtimelinking" = yes; then
- shared_flag="$shared_flag "'${wl}-G'
- fi
- else
- # not using gcc
- if test "$host_cpu" = ia64; then
- # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
- # chokes on -Wl,-G. The following line is correct:
- shared_flag='-G'
- else
- if test "$aix_use_runtimelinking" = yes; then
- shared_flag='${wl}-G'
- else
- shared_flag='${wl}-bM:SRE'
- fi
- fi
- fi
-
- # It seems that -bexpall does not export symbols beginning with
- # underscore (_), so it is better to generate a list of symbols to export.
- always_export_symbols_F77=yes
- if test "$aix_use_runtimelinking" = yes; then
- # Warning - without using the other runtime loading flags (-brtl),
- # -berok will link without error, but may produce a broken library.
- allow_undefined_flag_F77='-berok'
- # Determine the default libpath from the value encoded in an empty executable.
- cat >conftest.$ac_ext <<_ACEOF
- program main
-
- end
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_f77_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
-
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
-}'`
-# Check for a 64-bit object if we didn't find anything.
-if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
-}'`; fi
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
-
- hardcode_libdir_flag_spec_F77='${wl}-blibpath:$libdir:'"$aix_libpath"
- archive_expsym_cmds_F77="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
- else
- if test "$host_cpu" = ia64; then
- hardcode_libdir_flag_spec_F77='${wl}-R $libdir:/usr/lib:/lib'
- allow_undefined_flag_F77="-z nodefs"
- archive_expsym_cmds_F77="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
- else
- # Determine the default libpath from the value encoded in an empty executable.
- cat >conftest.$ac_ext <<_ACEOF
- program main
-
- end
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_f77_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
-
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
-}'`
-# Check for a 64-bit object if we didn't find anything.
-if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
-}'`; fi
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
-
- hardcode_libdir_flag_spec_F77='${wl}-blibpath:$libdir:'"$aix_libpath"
- # Warning - without using the other run time loading flags,
- # -berok will link without error, but may produce a broken library.
- no_undefined_flag_F77=' ${wl}-bernotok'
- allow_undefined_flag_F77=' ${wl}-berok'
- # Exported symbols can be pulled into shared objects from archives
- whole_archive_flag_spec_F77='$convenience'
- archive_cmds_need_lc_F77=yes
- # This is similar to how AIX traditionally builds its shared libraries.
- archive_expsym_cmds_F77="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
- fi
- fi
- ;;
-
- amigaos*)
- archive_cmds_F77='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
- hardcode_libdir_flag_spec_F77='-L$libdir'
- hardcode_minus_L_F77=yes
- # see comment about different semantics on the GNU ld section
- ld_shlibs_F77=no
- ;;
-
- bsdi[45]*)
- export_dynamic_flag_spec_F77=-rdynamic
- ;;
-
- cygwin* | mingw* | pw32*)
- # When not using gcc, we currently assume that we are using
- # Microsoft Visual C++.
- # hardcode_libdir_flag_spec is actually meaningless, as there is
- # no search path for DLLs.
- hardcode_libdir_flag_spec_F77=' '
- allow_undefined_flag_F77=unsupported
- # Tell ltmain to make .lib files, not .a files.
- libext=lib
- # Tell ltmain to make .dll files, not .so files.
- shrext_cmds=".dll"
- # FIXME: Setting linknames here is a bad hack.
- archive_cmds_F77='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames='
- # The linker will automatically build a .lib file if we build a DLL.
- old_archive_From_new_cmds_F77='true'
- # FIXME: Should let the user specify the lib program.
- old_archive_cmds_F77='lib /OUT:$oldlib$oldobjs$old_deplibs'
- fix_srcfile_path_F77='`cygpath -w "$srcfile"`'
- enable_shared_with_static_runtimes_F77=yes
- ;;
-
- darwin* | rhapsody*)
- case $host_os in
- rhapsody* | darwin1.[012])
- allow_undefined_flag_F77='${wl}-undefined ${wl}suppress'
- ;;
- *) # Darwin 1.3 on
- if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then
- allow_undefined_flag_F77='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
- else
- case ${MACOSX_DEPLOYMENT_TARGET} in
- 10.[012])
- allow_undefined_flag_F77='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
- ;;
- 10.*)
- allow_undefined_flag_F77='${wl}-undefined ${wl}dynamic_lookup'
- ;;
- esac
- fi
- ;;
- esac
- archive_cmds_need_lc_F77=no
- hardcode_direct_F77=no
- hardcode_automatic_F77=yes
- hardcode_shlibpath_var_F77=unsupported
- whole_archive_flag_spec_F77=''
- link_all_deplibs_F77=yes
- if test "$GCC" = yes ; then
- output_verbose_link_cmd='echo'
- archive_cmds_F77='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
- module_cmds_F77='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
- # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
- archive_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
- module_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
- else
- case $cc_basename in
- xlc*)
- output_verbose_link_cmd='echo'
- archive_cmds_F77='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring'
- module_cmds_F77='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
- # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
- archive_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
- module_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
- ;;
- *)
- ld_shlibs_F77=no
- ;;
- esac
- fi
- ;;
-
- dgux*)
- archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_libdir_flag_spec_F77='-L$libdir'
- hardcode_shlibpath_var_F77=no
- ;;
-
- freebsd1*)
- ld_shlibs_F77=no
- ;;
-
- # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
- # support. Future versions do this automatically, but an explicit c++rt0.o
- # does not break anything, and helps significantly (at the cost of a little
- # extra space).
- freebsd2.2*)
- archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
- hardcode_libdir_flag_spec_F77='-R$libdir'
- hardcode_direct_F77=yes
- hardcode_shlibpath_var_F77=no
- ;;
-
- # Unfortunately, older versions of FreeBSD 2 do not have this feature.
- freebsd2*)
- archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
- hardcode_direct_F77=yes
- hardcode_minus_L_F77=yes
- hardcode_shlibpath_var_F77=no
- ;;
-
- # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
- freebsd* | kfreebsd*-gnu | dragonfly*)
- archive_cmds_F77='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
- hardcode_libdir_flag_spec_F77='-R$libdir'
- hardcode_direct_F77=yes
- hardcode_shlibpath_var_F77=no
- ;;
-
- hpux9*)
- if test "$GCC" = yes; then
- archive_cmds_F77='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
- else
- archive_cmds_F77='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
- fi
- hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir'
- hardcode_libdir_separator_F77=:
- hardcode_direct_F77=yes
-
- # hardcode_minus_L: Not really in the search PATH,
- # but as the default location of the library.
- hardcode_minus_L_F77=yes
- export_dynamic_flag_spec_F77='${wl}-E'
- ;;
-
- hpux10*)
- if test "$GCC" = yes -a "$with_gnu_ld" = no; then
- archive_cmds_F77='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
- else
- archive_cmds_F77='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
- fi
- if test "$with_gnu_ld" = no; then
- hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir'
- hardcode_libdir_separator_F77=:
-
- hardcode_direct_F77=yes
- export_dynamic_flag_spec_F77='${wl}-E'
-
- # hardcode_minus_L: Not really in the search PATH,
- # but as the default location of the library.
- hardcode_minus_L_F77=yes
- fi
- ;;
-
- hpux11*)
- if test "$GCC" = yes -a "$with_gnu_ld" = no; then
- case $host_cpu in
- hppa*64*)
- archive_cmds_F77='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- ia64*)
- archive_cmds_F77='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- *)
- archive_cmds_F77='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- esac
- else
- case $host_cpu in
- hppa*64*)
- archive_cmds_F77='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- ia64*)
- archive_cmds_F77='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- *)
- archive_cmds_F77='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- esac
- fi
- if test "$with_gnu_ld" = no; then
- hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir'
- hardcode_libdir_separator_F77=:
-
- case $host_cpu in
- hppa*64*|ia64*)
- hardcode_libdir_flag_spec_ld_F77='+b $libdir'
- hardcode_direct_F77=no
- hardcode_shlibpath_var_F77=no
- ;;
- *)
- hardcode_direct_F77=yes
- export_dynamic_flag_spec_F77='${wl}-E'
-
- # hardcode_minus_L: Not really in the search PATH,
- # but as the default location of the library.
- hardcode_minus_L_F77=yes
- ;;
- esac
- fi
- ;;
-
- irix5* | irix6* | nonstopux*)
- if test "$GCC" = yes; then
- archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
- else
- archive_cmds_F77='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
- hardcode_libdir_flag_spec_ld_F77='-rpath $libdir'
- fi
- hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir'
- hardcode_libdir_separator_F77=:
- link_all_deplibs_F77=yes
- ;;
-
- netbsd*)
- if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
- archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
- else
- archive_cmds_F77='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF
- fi
- hardcode_libdir_flag_spec_F77='-R$libdir'
- hardcode_direct_F77=yes
- hardcode_shlibpath_var_F77=no
- ;;
-
- newsos6)
- archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_direct_F77=yes
- hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir'
- hardcode_libdir_separator_F77=:
- hardcode_shlibpath_var_F77=no
- ;;
-
- openbsd*)
- hardcode_direct_F77=yes
- hardcode_shlibpath_var_F77=no
- if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
- hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir'
- export_dynamic_flag_spec_F77='${wl}-E'
- else
- case $host_os in
- openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
- archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
- hardcode_libdir_flag_spec_F77='-R$libdir'
- ;;
- *)
- archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
- hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir'
- ;;
- esac
- fi
- ;;
-
- os2*)
- hardcode_libdir_flag_spec_F77='-L$libdir'
- hardcode_minus_L_F77=yes
- allow_undefined_flag_F77=unsupported
- archive_cmds_F77='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
- old_archive_From_new_cmds_F77='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
- ;;
-
- osf3*)
- if test "$GCC" = yes; then
- allow_undefined_flag_F77=' ${wl}-expect_unresolved ${wl}\*'
- archive_cmds_F77='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
- else
- allow_undefined_flag_F77=' -expect_unresolved \*'
- archive_cmds_F77='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
- fi
- hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir'
- hardcode_libdir_separator_F77=:
- ;;
-
- osf4* | osf5*) # as osf3* with the addition of -msym flag
- if test "$GCC" = yes; then
- allow_undefined_flag_F77=' ${wl}-expect_unresolved ${wl}\*'
- archive_cmds_F77='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
- hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir'
- else
- allow_undefined_flag_F77=' -expect_unresolved \*'
- archive_cmds_F77='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
- archive_expsym_cmds_F77='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~
- $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp'
-
- # Both c and cxx compiler support -rpath directly
- hardcode_libdir_flag_spec_F77='-rpath $libdir'
- fi
- hardcode_libdir_separator_F77=:
- ;;
-
- solaris*)
- no_undefined_flag_F77=' -z text'
- if test "$GCC" = yes; then
- wlarc='${wl}'
- archive_cmds_F77='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds_F77='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
- $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp'
- else
- wlarc=''
- archive_cmds_F77='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
- archive_expsym_cmds_F77='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
- $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp'
- fi
- hardcode_libdir_flag_spec_F77='-R$libdir'
- hardcode_shlibpath_var_F77=no
- case $host_os in
- solaris2.[0-5] | solaris2.[0-5].*) ;;
- *)
- # The compiler driver will combine linker options so we
- # cannot just pass the convience library names through
- # without $wl, iff we do not link with $LD.
- # Luckily, gcc supports the same syntax we need for Sun Studio.
- # Supported since Solaris 2.6 (maybe 2.5.1?)
- case $wlarc in
- '')
- whole_archive_flag_spec_F77='-z allextract$convenience -z defaultextract' ;;
- *)
- whole_archive_flag_spec_F77='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' ;;
- esac ;;
- esac
- link_all_deplibs_F77=yes
- ;;
-
- sunos4*)
- if test "x$host_vendor" = xsequent; then
- # Use $CC to link under sequent, because it throws in some extra .o
- # files that make .init and .fini sections work.
- archive_cmds_F77='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
- else
- archive_cmds_F77='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
- fi
- hardcode_libdir_flag_spec_F77='-L$libdir'
- hardcode_direct_F77=yes
- hardcode_minus_L_F77=yes
- hardcode_shlibpath_var_F77=no
- ;;
-
- sysv4)
- case $host_vendor in
- sni)
- archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_direct_F77=yes # is this really true???
- ;;
- siemens)
- ## LD is ld it makes a PLAMLIB
- ## CC just makes a GrossModule.
- archive_cmds_F77='$LD -G -o $lib $libobjs $deplibs $linker_flags'
- reload_cmds_F77='$CC -r -o $output$reload_objs'
- hardcode_direct_F77=no
- ;;
- motorola)
- archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_direct_F77=no #Motorola manual says yes, but my tests say they lie
- ;;
- esac
- runpath_var='LD_RUN_PATH'
- hardcode_shlibpath_var_F77=no
- ;;
-
- sysv4.3*)
- archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_shlibpath_var_F77=no
- export_dynamic_flag_spec_F77='-Bexport'
- ;;
-
- sysv4*MP*)
- if test -d /usr/nec; then
- archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_shlibpath_var_F77=no
- runpath_var=LD_RUN_PATH
- hardcode_runpath_var=yes
- ld_shlibs_F77=yes
- fi
- ;;
-
- sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7*)
- no_undefined_flag_F77='${wl}-z,text'
- archive_cmds_need_lc_F77=no
- hardcode_shlibpath_var_F77=no
- runpath_var='LD_RUN_PATH'
-
- if test "$GCC" = yes; then
- archive_cmds_F77='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds_F77='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- else
- archive_cmds_F77='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds_F77='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- fi
- ;;
-
- sysv5* | sco3.2v5* | sco5v6*)
- # Note: We can NOT use -z defs as we might desire, because we do not
- # link with -lc, and that would cause any symbols used from libc to
- # always be unresolved, which means just about no library would
- # ever link correctly. If we're not using GNU ld we use -z text
- # though, which does catch some bad symbols but isn't as heavy-handed
- # as -z defs.
- no_undefined_flag_F77='${wl}-z,text'
- allow_undefined_flag_F77='${wl}-z,nodefs'
- archive_cmds_need_lc_F77=no
- hardcode_shlibpath_var_F77=no
- hardcode_libdir_flag_spec_F77='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`'
- hardcode_libdir_separator_F77=':'
- link_all_deplibs_F77=yes
- export_dynamic_flag_spec_F77='${wl}-Bexport'
- runpath_var='LD_RUN_PATH'
-
- if test "$GCC" = yes; then
- archive_cmds_F77='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds_F77='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
- else
- archive_cmds_F77='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds_F77='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
- fi
- ;;
-
- uts4*)
- archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_libdir_flag_spec_F77='-L$libdir'
- hardcode_shlibpath_var_F77=no
- ;;
-
- *)
- ld_shlibs_F77=no
- ;;
- esac
- fi
-
-echo "$as_me:$LINENO: result: $ld_shlibs_F77" >&5
-echo "${ECHO_T}$ld_shlibs_F77" >&6
-test "$ld_shlibs_F77" = no && can_build_shared=no
-
-#
-# Do we need to explicitly link libc?
-#
-case "x$archive_cmds_need_lc_F77" in
-x|xyes)
- # Assume -lc should be added
- archive_cmds_need_lc_F77=yes
-
- if test "$enable_shared" = yes && test "$GCC" = yes; then
- case $archive_cmds_F77 in
- *'~'*)
- # FIXME: we may have to deal with multi-command sequences.
- ;;
- '$CC '*)
- # Test whether the compiler implicitly links with -lc since on some
- # systems, -lgcc has to come before -lc. If gcc already passes -lc
- # to ld, don't add -lc before -lgcc.
- echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
-echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6
- $rm conftest*
- printf "$lt_simple_compile_test_code" > conftest.$ac_ext
-
- if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } 2>conftest.err; then
- soname=conftest
- lib=conftest
- libobjs=conftest.$ac_objext
- deplibs=
- wl=$lt_prog_compiler_wl_F77
- pic_flag=$lt_prog_compiler_pic_F77
- compiler_flags=-v
- linker_flags=-v
- verstring=
- output_objdir=.
- libname=conftest
- lt_save_allow_undefined_flag=$allow_undefined_flag_F77
- allow_undefined_flag_F77=
- if { (eval echo "$as_me:$LINENO: \"$archive_cmds_F77 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5
- (eval $archive_cmds_F77 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }
- then
- archive_cmds_need_lc_F77=no
- else
- archive_cmds_need_lc_F77=yes
- fi
- allow_undefined_flag_F77=$lt_save_allow_undefined_flag
- else
- cat conftest.err 1>&5
- fi
- $rm conftest*
- echo "$as_me:$LINENO: result: $archive_cmds_need_lc_F77" >&5
-echo "${ECHO_T}$archive_cmds_need_lc_F77" >&6
- ;;
- esac
- fi
- ;;
-esac
-
-echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
-echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6
-library_names_spec=
-libname_spec='lib$name'
-soname_spec=
-shrext_cmds=".so"
-postinstall_cmds=
-postuninstall_cmds=
-finish_cmds=
-finish_eval=
-shlibpath_var=
-shlibpath_overrides_runpath=unknown
-version_type=none
-dynamic_linker="$host_os ld.so"
-sys_lib_dlsearch_path_spec="/lib /usr/lib"
-if test "$GCC" = yes; then
- sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
- if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then
- # if the path contains ";" then we assume it to be the separator
- # otherwise default to the standard path separator (i.e. ":") - it is
- # assumed that no part of a normal pathname contains ";" but that should
- # okay in the real world where ";" in dirpaths is itself problematic.
- sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
- else
- sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
- fi
-else
- sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
-fi
-need_lib_prefix=unknown
-hardcode_into_libs=no
-
-# when you set need_version to no, make sure it does not cause -set_version
-# flags to be left without arguments
-need_version=unknown
-
-case $host_os in
-aix3*)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
- shlibpath_var=LIBPATH
-
- # AIX 3 has no versioning support, so we append a major version to the name.
- soname_spec='${libname}${release}${shared_ext}$major'
- ;;
-
-aix4* | aix5*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- hardcode_into_libs=yes
- if test "$host_cpu" = ia64; then
- # AIX 5 supports IA64
- library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
- shlibpath_var=LD_LIBRARY_PATH
- else
- # With GCC up to 2.95.x, collect2 would create an import file
- # for dependence libraries. The import file would start with
- # the line `#! .'. This would cause the generated library to
- # depend on `.', always an invalid library. This was fixed in
- # development snapshots of GCC prior to 3.0.
- case $host_os in
- aix4 | aix4.[01] | aix4.[01].*)
- if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
- echo ' yes '
- echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then
- :
- else
- can_build_shared=no
- fi
- ;;
- esac
- # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
- # soname into executable. Probably we can add versioning support to
- # collect2, so additional links can be useful in future.
- if test "$aix_use_runtimelinking" = yes; then
- # If using run time linking (on AIX 4.2 or later) use lib<name>.so
- # instead of lib<name>.a to let people know that these are not
- # typical AIX shared libraries.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- else
- # We preserve .a as extension for shared libraries through AIX4.2
- # and later when we are not doing run time linking.
- library_names_spec='${libname}${release}.a $libname.a'
- soname_spec='${libname}${release}${shared_ext}$major'
- fi
- shlibpath_var=LIBPATH
- fi
- ;;
-
-amigaos*)
- library_names_spec='$libname.ixlibrary $libname.a'
- # Create ${libname}_ixlibrary.a entries in /sys/libs.
- finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
- ;;
-
-beos*)
- library_names_spec='${libname}${shared_ext}'
- dynamic_linker="$host_os ld.so"
- shlibpath_var=LIBRARY_PATH
- ;;
-
-bsdi[45]*)
- version_type=linux
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
- sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
- # the default ld.so.conf also contains /usr/contrib/lib and
- # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
- # libtool to hard-code these into programs
- ;;
-
-cygwin* | mingw* | pw32*)
- version_type=windows
- shrext_cmds=".dll"
- need_version=no
- need_lib_prefix=no
-
- case $GCC,$host_os in
- yes,cygwin* | yes,mingw* | yes,pw32*)
- library_names_spec='$libname.dll.a'
- # DLL is installed to $(libdir)/../bin by postinstall_cmds
- postinstall_cmds='base_file=`basename \${file}`~
- dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~
- dldir=$destdir/`dirname \$dlpath`~
- test -d \$dldir || mkdir -p \$dldir~
- $install_prog $dir/$dlname \$dldir/$dlname~
- chmod a+x \$dldir/$dlname'
- postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
- dlpath=$dir/\$dldll~
- $rm \$dlpath'
- shlibpath_overrides_runpath=yes
-
- case $host_os in
- cygwin*)
- # Cygwin DLLs use 'cyg' prefix rather than 'lib'
- soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
- sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib"
- ;;
- mingw*)
- # MinGW DLLs use traditional 'lib' prefix
- soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
- sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
- if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then
- # It is most probably a Windows format PATH printed by
- # mingw gcc, but we are running on Cygwin. Gcc prints its search
- # path with ; separators, and with drive letters. We can handle the
- # drive letters (cygwin fileutils understands them), so leave them,
- # especially as we might pass files found there to a mingw objdump,
- # which wouldn't understand a cygwinified path. Ahh.
- sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
- else
- sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
- fi
- ;;
- pw32*)
- # pw32 DLLs use 'pw' prefix rather than 'lib'
- library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
- ;;
- esac
- ;;
-
- *)
- library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib'
- ;;
- esac
- dynamic_linker='Win32 ld.exe'
- # FIXME: first we should search . and the directory the executable is in
- shlibpath_var=PATH
- ;;
-
-darwin* | rhapsody*)
- dynamic_linker="$host_os dyld"
- version_type=darwin
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext'
- soname_spec='${libname}${release}${major}$shared_ext'
- shlibpath_overrides_runpath=yes
- shlibpath_var=DYLD_LIBRARY_PATH
- shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
- # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same.
- if test "$GCC" = yes; then
- sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"`
- else
- sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib'
- fi
- sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
- ;;
-
-dgux*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- ;;
-
-freebsd1*)
- dynamic_linker=no
- ;;
-
-kfreebsd*-gnu)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- dynamic_linker='GNU ld.so'
- ;;
-
-freebsd* | dragonfly*)
- # DragonFly does not have aout. When/if they implement a new
- # versioning mechanism, adjust this.
- if test -x /usr/bin/objformat; then
- objformat=`/usr/bin/objformat`
- else
- case $host_os in
- freebsd[123]*) objformat=aout ;;
- *) objformat=elf ;;
- esac
- fi
- version_type=freebsd-$objformat
- case $version_type in
- freebsd-elf*)
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
- need_version=no
- need_lib_prefix=no
- ;;
- freebsd-*)
- library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
- need_version=yes
- ;;
- esac
- shlibpath_var=LD_LIBRARY_PATH
- case $host_os in
- freebsd2*)
- shlibpath_overrides_runpath=yes
- ;;
- freebsd3.[01]* | freebsdelf3.[01]*)
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- ;;
- freebsd3.[2-9]* | freebsdelf3.[2-9]* | \
- freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1)
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- ;;
- freebsd*) # from 4.6 on
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- ;;
- esac
- ;;
-
-gnu*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- hardcode_into_libs=yes
- ;;
-
-hpux9* | hpux10* | hpux11*)
- # Give a soname corresponding to the major version so that dld.sl refuses to
- # link against other versions.
- version_type=sunos
- need_lib_prefix=no
- need_version=no
- case $host_cpu in
- ia64*)
- shrext_cmds='.so'
- hardcode_into_libs=yes
- dynamic_linker="$host_os dld.so"
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- if test "X$HPUX_IA64_MODE" = X32; then
- sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
- else
- sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
- fi
- sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
- ;;
- hppa*64*)
- shrext_cmds='.sl'
- hardcode_into_libs=yes
- dynamic_linker="$host_os dld.sl"
- shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
- shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
- sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
- ;;
- *)
- shrext_cmds='.sl'
- dynamic_linker="$host_os dld.sl"
- shlibpath_var=SHLIB_PATH
- shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- ;;
- esac
- # HP-UX runs *really* slowly unless shared libraries are mode 555.
- postinstall_cmds='chmod 555 $lib'
- ;;
-
-interix3*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- ;;
-
-irix5* | irix6* | nonstopux*)
- case $host_os in
- nonstopux*) version_type=nonstopux ;;
- *)
- if test "$lt_cv_prog_gnu_ld" = yes; then
- version_type=linux
- else
- version_type=irix
- fi ;;
- esac
- need_lib_prefix=no
- need_version=no
- soname_spec='${libname}${release}${shared_ext}$major'
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
- case $host_os in
- irix5* | nonstopux*)
- libsuff= shlibsuff=
- ;;
- *)
- case $LD in # libtool.m4 will add one of these switches to LD
- *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
- libsuff= shlibsuff= libmagic=32-bit;;
- *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
- libsuff=32 shlibsuff=N32 libmagic=N32;;
- *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
- libsuff=64 shlibsuff=64 libmagic=64-bit;;
- *) libsuff= shlibsuff= libmagic=never-match;;
- esac
- ;;
- esac
- shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
- shlibpath_overrides_runpath=no
- sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
- sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
- hardcode_into_libs=yes
- ;;
-
-# No shared lib support for Linux oldld, aout, or coff.
-linux*oldld* | linux*aout* | linux*coff*)
- dynamic_linker=no
- ;;
-
-# This must be Linux ELF.
-linux*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- # This implies no fast_install, which is unacceptable.
- # Some rework will be needed to allow for fast_install
- # before this can be enabled.
- hardcode_into_libs=yes
-
- # Append ld.so.conf contents to the search path
- if test -f /etc/ld.so.conf; then
- lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
- sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
- fi
-
- # We used to test for /lib/ld.so.1 and disable shared libraries on
- # powerpc, because MkLinux only supported shared libraries with the
- # GNU dynamic linker. Since this was broken with cross compilers,
- # most powerpc-linux boxes support dynamic linking these days and
- # people can always --disable-shared, the test was removed, and we
- # assume the GNU/Linux dynamic linker is in use.
- dynamic_linker='GNU/Linux ld.so'
- ;;
-
-knetbsd*-gnu)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- dynamic_linker='GNU ld.so'
- ;;
-
-netbsd*)
- version_type=sunos
- need_lib_prefix=no
- need_version=no
- if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
- dynamic_linker='NetBSD (a.out) ld.so'
- else
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- dynamic_linker='NetBSD ld.elf_so'
- fi
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- ;;
-
-newsos6)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- ;;
-
-nto-qnx*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- ;;
-
-openbsd*)
- version_type=sunos
- sys_lib_dlsearch_path_spec="/usr/lib"
- need_lib_prefix=no
- # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
- case $host_os in
- openbsd3.3 | openbsd3.3.*) need_version=yes ;;
- *) need_version=no ;;
- esac
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- case $host_os in
- openbsd2.[89] | openbsd2.[89].*)
- shlibpath_overrides_runpath=no
- ;;
- *)
- shlibpath_overrides_runpath=yes
- ;;
- esac
- else
- shlibpath_overrides_runpath=yes
- fi
- ;;
-
-os2*)
- libname_spec='$name'
- shrext_cmds=".dll"
- need_lib_prefix=no
- library_names_spec='$libname${shared_ext} $libname.a'
- dynamic_linker='OS/2 ld.exe'
- shlibpath_var=LIBPATH
- ;;
-
-osf3* | osf4* | osf5*)
- version_type=osf
- need_lib_prefix=no
- need_version=no
- soname_spec='${libname}${release}${shared_ext}$major'
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- shlibpath_var=LD_LIBRARY_PATH
- sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
- sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
- ;;
-
-solaris*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- # ldd complains unless libraries are executable
- postinstall_cmds='chmod +x $lib'
- ;;
-
-sunos4*)
- version_type=sunos
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
- finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- if test "$with_gnu_ld" = yes; then
- need_lib_prefix=no
- fi
- need_version=yes
- ;;
-
-sysv4 | sysv4.3*)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- case $host_vendor in
- sni)
- shlibpath_overrides_runpath=no
- need_lib_prefix=no
- export_dynamic_flag_spec='${wl}-Blargedynsym'
- runpath_var=LD_RUN_PATH
- ;;
- siemens)
- need_lib_prefix=no
- ;;
- motorola)
- need_lib_prefix=no
- need_version=no
- shlibpath_overrides_runpath=no
- sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
- ;;
- esac
- ;;
-
-sysv4*MP*)
- if test -d /usr/nec ;then
- version_type=linux
- library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
- soname_spec='$libname${shared_ext}.$major'
- shlibpath_var=LD_LIBRARY_PATH
- fi
- ;;
-
-sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
- version_type=freebsd-elf
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- hardcode_into_libs=yes
- if test "$with_gnu_ld" = yes; then
- sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
- shlibpath_overrides_runpath=no
- else
- sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
- shlibpath_overrides_runpath=yes
- case $host_os in
- sco3.2v5*)
- sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
- ;;
- esac
- fi
- sys_lib_dlsearch_path_spec='/usr/lib'
- ;;
-
-uts4*)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- ;;
-
-*)
- dynamic_linker=no
- ;;
-esac
-echo "$as_me:$LINENO: result: $dynamic_linker" >&5
-echo "${ECHO_T}$dynamic_linker" >&6
-test "$dynamic_linker" = no && can_build_shared=no
-
-variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
-if test "$GCC" = yes; then
- variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
-fi
-
-echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
-echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6
-hardcode_action_F77=
-if test -n "$hardcode_libdir_flag_spec_F77" || \
- test -n "$runpath_var_F77" || \
- test "X$hardcode_automatic_F77" = "Xyes" ; then
-
- # We can hardcode non-existant directories.
- if test "$hardcode_direct_F77" != no &&
- # If the only mechanism to avoid hardcoding is shlibpath_var, we
- # have to relink, otherwise we might link with an installed library
- # when we should be linking with a yet-to-be-installed one
- ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, F77)" != no &&
- test "$hardcode_minus_L_F77" != no; then
- # Linking always hardcodes the temporary library directory.
- hardcode_action_F77=relink
- else
- # We can link without hardcoding, and we can hardcode nonexisting dirs.
- hardcode_action_F77=immediate
- fi
-else
- # We cannot hardcode anything, or else we can only hardcode existing
- # directories.
- hardcode_action_F77=unsupported
-fi
-echo "$as_me:$LINENO: result: $hardcode_action_F77" >&5
-echo "${ECHO_T}$hardcode_action_F77" >&6
-
-if test "$hardcode_action_F77" = relink; then
- # Fast installation is not supported
- enable_fast_install=no
-elif test "$shlibpath_overrides_runpath" = yes ||
- test "$enable_shared" = no; then
- # Fast installation is not necessary
- enable_fast_install=needless
-fi
-
-
-# The else clause should only fire when bootstrapping the
-# libtool distribution, otherwise you forgot to ship ltmain.sh
-# with your package, and you will get complaints that there are
-# no rules to generate ltmain.sh.
-if test -f "$ltmain"; then
- # See if we are running on zsh, and set the options which allow our commands through
- # without removal of \ escapes.
- if test -n "${ZSH_VERSION+set}" ; then
- setopt NO_GLOB_SUBST
- fi
- # Now quote all the things that may contain metacharacters while being
- # careful not to overquote the AC_SUBSTed values. We take copies of the
- # variables and quote the copies for generation of the libtool script.
- for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \
- SED SHELL STRIP \
- libname_spec library_names_spec soname_spec extract_expsyms_cmds \
- old_striplib striplib file_magic_cmd finish_cmds finish_eval \
- deplibs_check_method reload_flag reload_cmds need_locks \
- lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \
- lt_cv_sys_global_symbol_to_c_name_address \
- sys_lib_search_path_spec sys_lib_dlsearch_path_spec \
- old_postinstall_cmds old_postuninstall_cmds \
- compiler_F77 \
- CC_F77 \
- LD_F77 \
- lt_prog_compiler_wl_F77 \
- lt_prog_compiler_pic_F77 \
- lt_prog_compiler_static_F77 \
- lt_prog_compiler_no_builtin_flag_F77 \
- export_dynamic_flag_spec_F77 \
- thread_safe_flag_spec_F77 \
- whole_archive_flag_spec_F77 \
- enable_shared_with_static_runtimes_F77 \
- old_archive_cmds_F77 \
- old_archive_from_new_cmds_F77 \
- predep_objects_F77 \
- postdep_objects_F77 \
- predeps_F77 \
- postdeps_F77 \
- compiler_lib_search_path_F77 \
- archive_cmds_F77 \
- archive_expsym_cmds_F77 \
- postinstall_cmds_F77 \
- postuninstall_cmds_F77 \
- old_archive_from_expsyms_cmds_F77 \
- allow_undefined_flag_F77 \
- no_undefined_flag_F77 \
- export_symbols_cmds_F77 \
- hardcode_libdir_flag_spec_F77 \
- hardcode_libdir_flag_spec_ld_F77 \
- hardcode_libdir_separator_F77 \
- hardcode_automatic_F77 \
- module_cmds_F77 \
- module_expsym_cmds_F77 \
- lt_cv_prog_compiler_c_o_F77 \
- exclude_expsyms_F77 \
- include_expsyms_F77; do
-
- case $var in
- old_archive_cmds_F77 | \
- old_archive_from_new_cmds_F77 | \
- archive_cmds_F77 | \
- archive_expsym_cmds_F77 | \
- module_cmds_F77 | \
- module_expsym_cmds_F77 | \
- old_archive_from_expsyms_cmds_F77 | \
- export_symbols_cmds_F77 | \
- extract_expsyms_cmds | reload_cmds | finish_cmds | \
- postinstall_cmds | postuninstall_cmds | \
- old_postinstall_cmds | old_postuninstall_cmds | \
- sys_lib_search_path_spec | sys_lib_dlsearch_path_spec)
- # Double-quote double-evaled strings.
- eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\""
- ;;
- *)
- eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\""
- ;;
- esac
- done
-
- case $lt_echo in
- *'\$0 --fallback-echo"')
- lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'`
- ;;
- esac
-
-cfgfile="$ofile"
-
- cat <<__EOF__ >> "$cfgfile"
-# ### BEGIN LIBTOOL TAG CONFIG: $tagname
-
-# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
-
-# Shell to use when invoking shell scripts.
-SHELL=$lt_SHELL
-
-# Whether or not to build shared libraries.
-build_libtool_libs=$enable_shared
-
-# Whether or not to build static libraries.
-build_old_libs=$enable_static
-
-# Whether or not to add -lc for building shared libraries.
-build_libtool_need_lc=$archive_cmds_need_lc_F77
-
-# Whether or not to disallow shared libs when runtime libs are static
-allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_F77
-
-# Whether or not to optimize for fast installation.
-fast_install=$enable_fast_install
-
-# The host system.
-host_alias=$host_alias
-host=$host
-host_os=$host_os
-
-# The build system.
-build_alias=$build_alias
-build=$build
-build_os=$build_os
-
-# An echo program that does not interpret backslashes.
-echo=$lt_echo
-
-# The archiver.
-AR=$lt_AR
-AR_FLAGS=$lt_AR_FLAGS
-
-# A C compiler.
-LTCC=$lt_LTCC
-
-# LTCC compiler flags.
-LTCFLAGS=$lt_LTCFLAGS
-
-# A language-specific compiler.
-CC=$lt_compiler_F77
-
-# Is the compiler the GNU C compiler?
-with_gcc=$GCC_F77
-
-# An ERE matcher.
-EGREP=$lt_EGREP
-
-# The linker used to build libraries.
-LD=$lt_LD_F77
-
-# Whether we need hard or soft links.
-LN_S=$lt_LN_S
-
-# A BSD-compatible nm program.
-NM=$lt_NM
-
-# A symbol stripping program
-STRIP=$lt_STRIP
-
-# Used to examine libraries when file_magic_cmd begins "file"
-MAGIC_CMD=$MAGIC_CMD
-
-# Used on cygwin: DLL creation program.
-DLLTOOL="$DLLTOOL"
-
-# Used on cygwin: object dumper.
-OBJDUMP="$OBJDUMP"
-
-# Used on cygwin: assembler.
-AS="$AS"
-
-# The name of the directory that contains temporary libtool files.
-objdir=$objdir
-
-# How to create reloadable object files.
-reload_flag=$lt_reload_flag
-reload_cmds=$lt_reload_cmds
-
-# How to pass a linker flag through the compiler.
-wl=$lt_lt_prog_compiler_wl_F77
-
-# Object file suffix (normally "o").
-objext="$ac_objext"
-
-# Old archive suffix (normally "a").
-libext="$libext"
-
-# Shared library suffix (normally ".so").
-shrext_cmds='$shrext_cmds'
-
-# Executable file suffix (normally "").
-exeext="$exeext"
-
-# Additional compiler flags for building library objects.
-pic_flag=$lt_lt_prog_compiler_pic_F77
-pic_mode=$pic_mode
-
-# What is the maximum length of a command?
-max_cmd_len=$lt_cv_sys_max_cmd_len
-
-# Does compiler simultaneously support -c and -o options?
-compiler_c_o=$lt_lt_cv_prog_compiler_c_o_F77
-
-# Must we lock files when doing compilation?
-need_locks=$lt_need_locks
-
-# Do we need the lib prefix for modules?
-need_lib_prefix=$need_lib_prefix
-
-# Do we need a version for libraries?
-need_version=$need_version
-
-# Whether dlopen is supported.
-dlopen_support=$enable_dlopen
-
-# Whether dlopen of programs is supported.
-dlopen_self=$enable_dlopen_self
-
-# Whether dlopen of statically linked programs is supported.
-dlopen_self_static=$enable_dlopen_self_static
-
-# Compiler flag to prevent dynamic linking.
-link_static_flag=$lt_lt_prog_compiler_static_F77
-
-# Compiler flag to turn off builtin functions.
-no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_F77
-
-# Compiler flag to allow reflexive dlopens.
-export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_F77
-
-# Compiler flag to generate shared objects directly from archives.
-whole_archive_flag_spec=$lt_whole_archive_flag_spec_F77
-
-# Compiler flag to generate thread-safe objects.
-thread_safe_flag_spec=$lt_thread_safe_flag_spec_F77
-
-# Library versioning type.
-version_type=$version_type
-
-# Format of library name prefix.
-libname_spec=$lt_libname_spec
-
-# List of archive names. First name is the real one, the rest are links.
-# The last name is the one that the linker finds with -lNAME.
-library_names_spec=$lt_library_names_spec
-
-# The coded name of the library, if different from the real name.
-soname_spec=$lt_soname_spec
-
-# Commands used to build and install an old-style archive.
-RANLIB=$lt_RANLIB
-old_archive_cmds=$lt_old_archive_cmds_F77
-old_postinstall_cmds=$lt_old_postinstall_cmds
-old_postuninstall_cmds=$lt_old_postuninstall_cmds
-
-# Create an old-style archive from a shared archive.
-old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_F77
-
-# Create a temporary old-style archive to link instead of a shared archive.
-old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_F77
-
-# Commands used to build and install a shared archive.
-archive_cmds=$lt_archive_cmds_F77
-archive_expsym_cmds=$lt_archive_expsym_cmds_F77
-postinstall_cmds=$lt_postinstall_cmds
-postuninstall_cmds=$lt_postuninstall_cmds
-
-# Commands used to build a loadable module (assumed same as above if empty)
-module_cmds=$lt_module_cmds_F77
-module_expsym_cmds=$lt_module_expsym_cmds_F77
-
-# Commands to strip libraries.
-old_striplib=$lt_old_striplib
-striplib=$lt_striplib
-
-# Dependencies to place before the objects being linked to create a
-# shared library.
-predep_objects=$lt_predep_objects_F77
-
-# Dependencies to place after the objects being linked to create a
-# shared library.
-postdep_objects=$lt_postdep_objects_F77
-
-# Dependencies to place before the objects being linked to create a
-# shared library.
-predeps=$lt_predeps_F77
-
-# Dependencies to place after the objects being linked to create a
-# shared library.
-postdeps=$lt_postdeps_F77
-
-# The library search path used internally by the compiler when linking
-# a shared library.
-compiler_lib_search_path=$lt_compiler_lib_search_path_F77
-
-# Method to check whether dependent libraries are shared objects.
-deplibs_check_method=$lt_deplibs_check_method
-
-# Command to use when deplibs_check_method == file_magic.
-file_magic_cmd=$lt_file_magic_cmd
-
-# Flag that allows shared libraries with undefined symbols to be built.
-allow_undefined_flag=$lt_allow_undefined_flag_F77
-
-# Flag that forces no undefined symbols.
-no_undefined_flag=$lt_no_undefined_flag_F77
-
-# Commands used to finish a libtool library installation in a directory.
-finish_cmds=$lt_finish_cmds
-
-# Same as above, but a single script fragment to be evaled but not shown.
-finish_eval=$lt_finish_eval
-
-# Take the output of nm and produce a listing of raw symbols and C names.
-global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
-
-# Transform the output of nm in a proper C declaration
-global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
-
-# Transform the output of nm in a C name address pair
-global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
-
-# This is the shared library runtime path variable.
-runpath_var=$runpath_var
-
-# This is the shared library path variable.
-shlibpath_var=$shlibpath_var
-
-# Is shlibpath searched before the hard-coded library search path?
-shlibpath_overrides_runpath=$shlibpath_overrides_runpath
-
-# How to hardcode a shared library path into an executable.
-hardcode_action=$hardcode_action_F77
-
-# Whether we should hardcode library paths into libraries.
-hardcode_into_libs=$hardcode_into_libs
-
-# Flag to hardcode \$libdir into a binary during linking.
-# This must work even if \$libdir does not exist.
-hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_F77
-
-# If ld is used when linking, flag to hardcode \$libdir into
-# a binary during linking. This must work even if \$libdir does
-# not exist.
-hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_F77
-
-# Whether we need a single -rpath flag with a separated argument.
-hardcode_libdir_separator=$lt_hardcode_libdir_separator_F77
-
-# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the
-# resulting binary.
-hardcode_direct=$hardcode_direct_F77
-
-# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
-# resulting binary.
-hardcode_minus_L=$hardcode_minus_L_F77
-
-# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into
-# the resulting binary.
-hardcode_shlibpath_var=$hardcode_shlibpath_var_F77
-
-# Set to yes if building a shared library automatically hardcodes DIR into the library
-# and all subsequent libraries and executables linked against it.
-hardcode_automatic=$hardcode_automatic_F77
-
-# Variables whose values should be saved in libtool wrapper scripts and
-# restored at relink time.
-variables_saved_for_relink="$variables_saved_for_relink"
-
-# Whether libtool must link a program against all its dependency libraries.
-link_all_deplibs=$link_all_deplibs_F77
-
-# Compile-time system search path for libraries
-sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
-
-# Run-time system search path for libraries
-sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
-
-# Fix the shell variable \$srcfile for the compiler.
-fix_srcfile_path="$fix_srcfile_path_F77"
-
-# Set to yes if exported symbols are required.
-always_export_symbols=$always_export_symbols_F77
-
-# The commands to list exported symbols.
-export_symbols_cmds=$lt_export_symbols_cmds_F77
-
-# The commands to extract the exported symbol list from a shared archive.
-extract_expsyms_cmds=$lt_extract_expsyms_cmds
-
-# Symbols that should not be listed in the preloaded symbols.
-exclude_expsyms=$lt_exclude_expsyms_F77
-
-# Symbols that must always be exported.
-include_expsyms=$lt_include_expsyms_F77
-
-# ### END LIBTOOL TAG CONFIG: $tagname
-
-__EOF__
-
-
-else
- # If there is no Makefile yet, we rely on a make rule to execute
- # `config.status --recheck' to rerun these tests and create the
- # libtool script then.
- ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'`
- if test -f "$ltmain_in"; then
- test -f Makefile && make "$ltmain"
- fi
-fi
-
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-CC="$lt_save_CC"
-
- else
- tagname=""
- fi
- ;;
-
- GCJ)
- if test -n "$GCJ" && test "X$GCJ" != "Xno"; then
-
-
-
-# Source file extension for Java test sources.
-ac_ext=java
-
-# Object file extension for compiled Java test sources.
-objext=o
-objext_GCJ=$objext
-
-# Code to be used in simple compile tests
-lt_simple_compile_test_code="class foo {}\n"
-
-# Code to be used in simple link tests
-lt_simple_link_test_code='public class conftest { public static void main(String[] argv) {}; }\n'
-
-# ltmain only uses $CC for tagged configurations so make sure $CC is set.
-
-# If no C compiler was specified, use CC.
-LTCC=${LTCC-"$CC"}
-
-# If no C compiler flags were specified, use CFLAGS.
-LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
-
-# Allow CC to be a program name with arguments.
-compiler=$CC
-
-
-# save warnings/boilerplate of simple test code
-ac_outfile=conftest.$ac_objext
-printf "$lt_simple_compile_test_code" >conftest.$ac_ext
-eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_compiler_boilerplate=`cat conftest.err`
-$rm conftest*
-
-ac_outfile=conftest.$ac_objext
-printf "$lt_simple_link_test_code" >conftest.$ac_ext
-eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_linker_boilerplate=`cat conftest.err`
-$rm conftest*
-
-
-# Allow CC to be a program name with arguments.
-lt_save_CC="$CC"
-CC=${GCJ-"gcj"}
-compiler=$CC
-compiler_GCJ=$CC
-for cc_temp in $compiler""; do
- case $cc_temp in
- compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
- distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
- \-*) ;;
- *) break;;
- esac
-done
-cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
-
-
-# GCJ did not exist at the time GCC didn't implicitly link libc in.
-archive_cmds_need_lc_GCJ=no
-
-old_archive_cmds_GCJ=$old_archive_cmds
-
-
-lt_prog_compiler_no_builtin_flag_GCJ=
-
-if test "$GCC" = yes; then
- lt_prog_compiler_no_builtin_flag_GCJ=' -fno-builtin'
-
-
-echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
-echo $ECHO_N "checking if $compiler supports -fno-rtti -fno-exceptions... $ECHO_C" >&6
-if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- lt_cv_prog_compiler_rtti_exceptions=no
- ac_outfile=conftest.$ac_objext
- printf "$lt_simple_compile_test_code" > conftest.$ac_ext
- lt_compiler_flag="-fno-rtti -fno-exceptions"
- # Insert the option either (1) after the last *FLAGS variable, or
- # (2) before a word containing "conftest.", or (3) at the end.
- # Note that $ac_compile itself does not contain backslashes and begins
- # with a dollar sign (not a hyphen), so the echo should work correctly.
- # The option is referenced via a variable to avoid confusing sed.
- lt_compile=`echo "$ac_compile" | $SED \
- -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
- -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
- -e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:15636: $lt_compile\"" >&5)
- (eval "$lt_compile" 2>conftest.err)
- ac_status=$?
- cat conftest.err >&5
- echo "$as_me:15640: \$? = $ac_status" >&5
- if (exit $ac_status) && test -s "$ac_outfile"; then
- # The compiler can only warn and ignore the option if not recognized
- # So say no if there are warnings other than the usual output.
- $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
- $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
- if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
- lt_cv_prog_compiler_rtti_exceptions=yes
- fi
- fi
- $rm conftest*
-
-fi
-echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5
-echo "${ECHO_T}$lt_cv_prog_compiler_rtti_exceptions" >&6
-
-if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then
- lt_prog_compiler_no_builtin_flag_GCJ="$lt_prog_compiler_no_builtin_flag_GCJ -fno-rtti -fno-exceptions"
-else
- :
-fi
-
-fi
-
-lt_prog_compiler_wl_GCJ=
-lt_prog_compiler_pic_GCJ=
-lt_prog_compiler_static_GCJ=
-
-echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5
-echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
-
- if test "$GCC" = yes; then
- lt_prog_compiler_wl_GCJ='-Wl,'
- lt_prog_compiler_static_GCJ='-static'
-
- case $host_os in
- aix*)
- # All AIX code is PIC.
- if test "$host_cpu" = ia64; then
- # AIX 5 now supports IA64 processor
- lt_prog_compiler_static_GCJ='-Bstatic'
- fi
- ;;
-
- amigaos*)
- # FIXME: we need at least 68020 code to build shared libraries, but
- # adding the `-m68020' flag to GCC prevents building anything better,
- # like `-m68040'.
- lt_prog_compiler_pic_GCJ='-m68020 -resident32 -malways-restore-a4'
- ;;
-
- beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
- # PIC is the default for these OSes.
- ;;
-
- mingw* | pw32* | os2*)
- # This hack is so that the source file can tell whether it is being
- # built for inclusion in a dll (and should export symbols for example).
- lt_prog_compiler_pic_GCJ='-DDLL_EXPORT'
- ;;
-
- darwin* | rhapsody*)
- # PIC is the default on this platform
- # Common symbols not allowed in MH_DYLIB files
- lt_prog_compiler_pic_GCJ='-fno-common'
- ;;
-
- interix3*)
- # Interix 3.x gcc -fpic/-fPIC options generate broken code.
- # Instead, we relocate shared libraries at runtime.
- ;;
-
- msdosdjgpp*)
- # Just because we use GCC doesn't mean we suddenly get shared libraries
- # on systems that don't support them.
- lt_prog_compiler_can_build_shared_GCJ=no
- enable_shared=no
- ;;
-
- sysv4*MP*)
- if test -d /usr/nec; then
- lt_prog_compiler_pic_GCJ=-Kconform_pic
- fi
- ;;
-
- hpux*)
- # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
- # not for PA HP-UX.
- case $host_cpu in
- hppa*64*|ia64*)
- # +Z the default
- ;;
- *)
- lt_prog_compiler_pic_GCJ='-fPIC'
- ;;
- esac
- ;;
-
- *)
- lt_prog_compiler_pic_GCJ='-fPIC'
- ;;
- esac
- else
- # PORTME Check for flag to pass linker flags through the system compiler.
- case $host_os in
- aix*)
- lt_prog_compiler_wl_GCJ='-Wl,'
- if test "$host_cpu" = ia64; then
- # AIX 5 now supports IA64 processor
- lt_prog_compiler_static_GCJ='-Bstatic'
- else
- lt_prog_compiler_static_GCJ='-bnso -bI:/lib/syscalls.exp'
- fi
- ;;
- darwin*)
- # PIC is the default on this platform
- # Common symbols not allowed in MH_DYLIB files
- case $cc_basename in
- xlc*)
- lt_prog_compiler_pic_GCJ='-qnocommon'
- lt_prog_compiler_wl_GCJ='-Wl,'
- ;;
- esac
- ;;
-
- mingw* | pw32* | os2*)
- # This hack is so that the source file can tell whether it is being
- # built for inclusion in a dll (and should export symbols for example).
- lt_prog_compiler_pic_GCJ='-DDLL_EXPORT'
- ;;
-
- hpux9* | hpux10* | hpux11*)
- lt_prog_compiler_wl_GCJ='-Wl,'
- # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
- # not for PA HP-UX.
- case $host_cpu in
- hppa*64*|ia64*)
- # +Z the default
- ;;
- *)
- lt_prog_compiler_pic_GCJ='+Z'
- ;;
- esac
- # Is there a better lt_prog_compiler_static that works with the bundled CC?
- lt_prog_compiler_static_GCJ='${wl}-a ${wl}archive'
- ;;
-
- irix5* | irix6* | nonstopux*)
- lt_prog_compiler_wl_GCJ='-Wl,'
- # PIC (with -KPIC) is the default.
- lt_prog_compiler_static_GCJ='-non_shared'
- ;;
-
- newsos6)
- lt_prog_compiler_pic_GCJ='-KPIC'
- lt_prog_compiler_static_GCJ='-Bstatic'
- ;;
-
- linux*)
- case $cc_basename in
- icc* | ecc*)
- lt_prog_compiler_wl_GCJ='-Wl,'
- lt_prog_compiler_pic_GCJ='-KPIC'
- lt_prog_compiler_static_GCJ='-static'
- ;;
- pgcc* | pgf77* | pgf90* | pgf95*)
- # Portland Group compilers (*not* the Pentium gcc compiler,
- # which looks to be a dead project)
- lt_prog_compiler_wl_GCJ='-Wl,'
- lt_prog_compiler_pic_GCJ='-fpic'
- lt_prog_compiler_static_GCJ='-Bstatic'
- ;;
- ccc*)
- lt_prog_compiler_wl_GCJ='-Wl,'
- # All Alpha code is PIC.
- lt_prog_compiler_static_GCJ='-non_shared'
- ;;
- esac
- ;;
-
- osf3* | osf4* | osf5*)
- lt_prog_compiler_wl_GCJ='-Wl,'
- # All OSF/1 code is PIC.
- lt_prog_compiler_static_GCJ='-non_shared'
- ;;
-
- solaris*)
- lt_prog_compiler_pic_GCJ='-KPIC'
- lt_prog_compiler_static_GCJ='-Bstatic'
- case $cc_basename in
- f77* | f90* | f95*)
- lt_prog_compiler_wl_GCJ='-Qoption ld ';;
- *)
- lt_prog_compiler_wl_GCJ='-Wl,';;
- esac
- ;;
-
- sunos4*)
- lt_prog_compiler_wl_GCJ='-Qoption ld '
- lt_prog_compiler_pic_GCJ='-PIC'
- lt_prog_compiler_static_GCJ='-Bstatic'
- ;;
-
- sysv4 | sysv4.2uw2* | sysv4.3*)
- lt_prog_compiler_wl_GCJ='-Wl,'
- lt_prog_compiler_pic_GCJ='-KPIC'
- lt_prog_compiler_static_GCJ='-Bstatic'
- ;;
-
- sysv4*MP*)
- if test -d /usr/nec ;then
- lt_prog_compiler_pic_GCJ='-Kconform_pic'
- lt_prog_compiler_static_GCJ='-Bstatic'
- fi
- ;;
-
- sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
- lt_prog_compiler_wl_GCJ='-Wl,'
- lt_prog_compiler_pic_GCJ='-KPIC'
- lt_prog_compiler_static_GCJ='-Bstatic'
- ;;
-
- unicos*)
- lt_prog_compiler_wl_GCJ='-Wl,'
- lt_prog_compiler_can_build_shared_GCJ=no
- ;;
-
- uts4*)
- lt_prog_compiler_pic_GCJ='-pic'
- lt_prog_compiler_static_GCJ='-Bstatic'
- ;;
-
- *)
- lt_prog_compiler_can_build_shared_GCJ=no
- ;;
- esac
- fi
-
-echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_GCJ" >&5
-echo "${ECHO_T}$lt_prog_compiler_pic_GCJ" >&6
-
-#
-# Check to make sure the PIC flag actually works.
-#
-if test -n "$lt_prog_compiler_pic_GCJ"; then
-
-echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works" >&5
-echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works... $ECHO_C" >&6
-if test "${lt_prog_compiler_pic_works_GCJ+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- lt_prog_compiler_pic_works_GCJ=no
- ac_outfile=conftest.$ac_objext
- printf "$lt_simple_compile_test_code" > conftest.$ac_ext
- lt_compiler_flag="$lt_prog_compiler_pic_GCJ"
- # Insert the option either (1) after the last *FLAGS variable, or
- # (2) before a word containing "conftest.", or (3) at the end.
- # Note that $ac_compile itself does not contain backslashes and begins
- # with a dollar sign (not a hyphen), so the echo should work correctly.
- # The option is referenced via a variable to avoid confusing sed.
- lt_compile=`echo "$ac_compile" | $SED \
- -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
- -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
- -e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:15904: $lt_compile\"" >&5)
- (eval "$lt_compile" 2>conftest.err)
- ac_status=$?
- cat conftest.err >&5
- echo "$as_me:15908: \$? = $ac_status" >&5
- if (exit $ac_status) && test -s "$ac_outfile"; then
- # The compiler can only warn and ignore the option if not recognized
- # So say no if there are warnings other than the usual output.
- $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
- $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
- if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
- lt_prog_compiler_pic_works_GCJ=yes
- fi
- fi
- $rm conftest*
-
-fi
-echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_GCJ" >&5
-echo "${ECHO_T}$lt_prog_compiler_pic_works_GCJ" >&6
-
-if test x"$lt_prog_compiler_pic_works_GCJ" = xyes; then
- case $lt_prog_compiler_pic_GCJ in
- "" | " "*) ;;
- *) lt_prog_compiler_pic_GCJ=" $lt_prog_compiler_pic_GCJ" ;;
- esac
-else
- lt_prog_compiler_pic_GCJ=
- lt_prog_compiler_can_build_shared_GCJ=no
-fi
-
-fi
-case $host_os in
- # For platforms which do not support PIC, -DPIC is meaningless:
- *djgpp*)
- lt_prog_compiler_pic_GCJ=
- ;;
- *)
- lt_prog_compiler_pic_GCJ="$lt_prog_compiler_pic_GCJ"
- ;;
-esac
-
-#
-# Check to make sure the static flag actually works.
-#
-wl=$lt_prog_compiler_wl_GCJ eval lt_tmp_static_flag=\"$lt_prog_compiler_static_GCJ\"
-echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5
-echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6
-if test "${lt_prog_compiler_static_works_GCJ+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- lt_prog_compiler_static_works_GCJ=no
- save_LDFLAGS="$LDFLAGS"
- LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
- printf "$lt_simple_link_test_code" > conftest.$ac_ext
- if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
- # The linker can only warn and ignore the option if not recognized
- # So say no if there are warnings
- if test -s conftest.err; then
- # Append any errors to the config.log.
- cat conftest.err 1>&5
- $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
- $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
- if diff conftest.exp conftest.er2 >/dev/null; then
- lt_prog_compiler_static_works_GCJ=yes
- fi
- else
- lt_prog_compiler_static_works_GCJ=yes
- fi
- fi
- $rm conftest*
- LDFLAGS="$save_LDFLAGS"
-
-fi
-echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_GCJ" >&5
-echo "${ECHO_T}$lt_prog_compiler_static_works_GCJ" >&6
-
-if test x"$lt_prog_compiler_static_works_GCJ" = xyes; then
- :
-else
- lt_prog_compiler_static_GCJ=
-fi
-
-
-echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
-echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6
-if test "${lt_cv_prog_compiler_c_o_GCJ+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- lt_cv_prog_compiler_c_o_GCJ=no
- $rm -r conftest 2>/dev/null
- mkdir conftest
- cd conftest
- mkdir out
- printf "$lt_simple_compile_test_code" > conftest.$ac_ext
-
- lt_compiler_flag="-o out/conftest2.$ac_objext"
- # Insert the option either (1) after the last *FLAGS variable, or
- # (2) before a word containing "conftest.", or (3) at the end.
- # Note that $ac_compile itself does not contain backslashes and begins
- # with a dollar sign (not a hyphen), so the echo should work correctly.
- lt_compile=`echo "$ac_compile" | $SED \
- -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
- -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
- -e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:16008: $lt_compile\"" >&5)
- (eval "$lt_compile" 2>out/conftest.err)
- ac_status=$?
- cat out/conftest.err >&5
- echo "$as_me:16012: \$? = $ac_status" >&5
- if (exit $ac_status) && test -s out/conftest2.$ac_objext
- then
- # The compiler can only warn and ignore the option if not recognized
- # So say no if there are warnings
- $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
- $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
- if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
- lt_cv_prog_compiler_c_o_GCJ=yes
- fi
- fi
- chmod u+w . 2>&5
- $rm conftest*
- # SGI C++ compiler will create directory out/ii_files/ for
- # template instantiation
- test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files
- $rm out/* && rmdir out
- cd ..
- rmdir conftest
- $rm conftest*
-
-fi
-echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_GCJ" >&5
-echo "${ECHO_T}$lt_cv_prog_compiler_c_o_GCJ" >&6
-
-
-hard_links="nottested"
-if test "$lt_cv_prog_compiler_c_o_GCJ" = no && test "$need_locks" != no; then
- # do not overwrite the value of need_locks provided by the user
- echo "$as_me:$LINENO: checking if we can lock with hard links" >&5
-echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6
- hard_links=yes
- $rm conftest*
- ln conftest.a conftest.b 2>/dev/null && hard_links=no
- touch conftest.a
- ln conftest.a conftest.b 2>&5 || hard_links=no
- ln conftest.a conftest.b 2>/dev/null && hard_links=no
- echo "$as_me:$LINENO: result: $hard_links" >&5
-echo "${ECHO_T}$hard_links" >&6
- if test "$hard_links" = no; then
- { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
-echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
- need_locks=warn
- fi
-else
- need_locks=no
-fi
-
-echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
-echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6
-
- runpath_var=
- allow_undefined_flag_GCJ=
- enable_shared_with_static_runtimes_GCJ=no
- archive_cmds_GCJ=
- archive_expsym_cmds_GCJ=
- old_archive_From_new_cmds_GCJ=
- old_archive_from_expsyms_cmds_GCJ=
- export_dynamic_flag_spec_GCJ=
- whole_archive_flag_spec_GCJ=
- thread_safe_flag_spec_GCJ=
- hardcode_libdir_flag_spec_GCJ=
- hardcode_libdir_flag_spec_ld_GCJ=
- hardcode_libdir_separator_GCJ=
- hardcode_direct_GCJ=no
- hardcode_minus_L_GCJ=no
- hardcode_shlibpath_var_GCJ=unsupported
- link_all_deplibs_GCJ=unknown
- hardcode_automatic_GCJ=no
- module_cmds_GCJ=
- module_expsym_cmds_GCJ=
- always_export_symbols_GCJ=no
- export_symbols_cmds_GCJ='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
- # include_expsyms should be a list of space-separated symbols to be *always*
- # included in the symbol list
- include_expsyms_GCJ=
- # exclude_expsyms can be an extended regexp of symbols to exclude
- # it will be wrapped by ` (' and `)$', so one must not match beginning or
- # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
- # as well as any symbol that contains `d'.
- exclude_expsyms_GCJ="_GLOBAL_OFFSET_TABLE_"
- # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
- # platforms (ab)use it in PIC code, but their linkers get confused if
- # the symbol is explicitly referenced. Since portable code cannot
- # rely on this symbol name, it's probably fine to never include it in
- # preloaded symbol tables.
- extract_expsyms_cmds=
- # Just being paranoid about ensuring that cc_basename is set.
- for cc_temp in $compiler""; do
- case $cc_temp in
- compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
- distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
- \-*) ;;
- *) break;;
- esac
-done
-cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
-
- case $host_os in
- cygwin* | mingw* | pw32*)
- # FIXME: the MSVC++ port hasn't been tested in a loooong time
- # When not using gcc, we currently assume that we are using
- # Microsoft Visual C++.
- if test "$GCC" != yes; then
- with_gnu_ld=no
- fi
- ;;
- interix*)
- # we just hope/assume this is gcc and not c89 (= MSVC++)
- with_gnu_ld=yes
- ;;
- openbsd*)
- with_gnu_ld=no
- ;;
- esac
-
- ld_shlibs_GCJ=yes
- if test "$with_gnu_ld" = yes; then
- # If archive_cmds runs LD, not CC, wlarc should be empty
- wlarc='${wl}'
-
- # Set some defaults for GNU ld with shared library support. These
- # are reset later if shared libraries are not supported. Putting them
- # here allows them to be overridden if necessary.
- runpath_var=LD_RUN_PATH
- hardcode_libdir_flag_spec_GCJ='${wl}--rpath ${wl}$libdir'
- export_dynamic_flag_spec_GCJ='${wl}--export-dynamic'
- # ancient GNU ld didn't support --whole-archive et. al.
- if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then
- whole_archive_flag_spec_GCJ="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
- else
- whole_archive_flag_spec_GCJ=
- fi
- supports_anon_versioning=no
- case `$LD -v 2>/dev/null` in
- *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11
- *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
- *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
- *\ 2.11.*) ;; # other 2.11 versions
- *) supports_anon_versioning=yes ;;
- esac
-
- # See if GNU ld supports shared libraries.
- case $host_os in
- aix3* | aix4* | aix5*)
- # On AIX/PPC, the GNU linker is very broken
- if test "$host_cpu" != ia64; then
- ld_shlibs_GCJ=no
- cat <<EOF 1>&2
-
-*** Warning: the GNU linker, at least up to release 2.9.1, is reported
-*** to be unable to reliably create shared libraries on AIX.
-*** Therefore, libtool is disabling shared libraries support. If you
-*** really care for shared libraries, you may want to modify your PATH
-*** so that a non-GNU linker is found, and then restart.
-
-EOF
- fi
- ;;
-
- amigaos*)
- archive_cmds_GCJ='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
- hardcode_libdir_flag_spec_GCJ='-L$libdir'
- hardcode_minus_L_GCJ=yes
-
- # Samuel A. Falvo II <kc5tja@dolphin.openprojects.net> reports
- # that the semantics of dynamic libraries on AmigaOS, at least up
- # to version 4, is to share data among multiple programs linked
- # with the same dynamic library. Since this doesn't match the
- # behavior of shared libraries on other platforms, we can't use
- # them.
- ld_shlibs_GCJ=no
- ;;
-
- beos*)
- if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
- allow_undefined_flag_GCJ=unsupported
- # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
- # support --undefined. This deserves some investigation. FIXME
- archive_cmds_GCJ='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- else
- ld_shlibs_GCJ=no
- fi
- ;;
-
- cygwin* | mingw* | pw32*)
- # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, GCJ) is actually meaningless,
- # as there is no search path for DLLs.
- hardcode_libdir_flag_spec_GCJ='-L$libdir'
- allow_undefined_flag_GCJ=unsupported
- always_export_symbols_GCJ=no
- enable_shared_with_static_runtimes_GCJ=yes
- export_symbols_cmds_GCJ='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS] /s/.* \([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols'
-
- if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
- archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
- # If the export-symbols file already is a .def file (1st line
- # is EXPORTS), use it as is; otherwise, prepend...
- archive_expsym_cmds_GCJ='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
- cp $export_symbols $output_objdir/$soname.def;
- else
- echo EXPORTS > $output_objdir/$soname.def;
- cat $export_symbols >> $output_objdir/$soname.def;
- fi~
- $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
- else
- ld_shlibs_GCJ=no
- fi
- ;;
-
- interix3*)
- hardcode_direct_GCJ=no
- hardcode_shlibpath_var_GCJ=no
- hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir'
- export_dynamic_flag_spec_GCJ='${wl}-E'
- # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
- # Instead, shared libraries are loaded at an image base (0x10000000 by
- # default) and relocated if they conflict, which is a slow very memory
- # consuming and fragmenting process. To avoid this, we pick a random,
- # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
- # time. Moving up from 0x10000000 also allows more sbrk(2) space.
- archive_cmds_GCJ='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
- archive_expsym_cmds_GCJ='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
- ;;
-
- linux*)
- if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
- tmp_addflag=
- case $cc_basename,$host_cpu in
- pgcc*) # Portland Group C compiler
- whole_archive_flag_spec_GCJ='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
- tmp_addflag=' $pic_flag'
- ;;
- pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers
- whole_archive_flag_spec_GCJ='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
- tmp_addflag=' $pic_flag -Mnomain' ;;
- ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64
- tmp_addflag=' -i_dynamic' ;;
- efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64
- tmp_addflag=' -i_dynamic -nofor_main' ;;
- ifc* | ifort*) # Intel Fortran compiler
- tmp_addflag=' -nofor_main' ;;
- esac
- archive_cmds_GCJ='$CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-
- if test $supports_anon_versioning = yes; then
- archive_expsym_cmds_GCJ='$echo "{ global:" > $output_objdir/$libname.ver~
- cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
- $echo "local: *; };" >> $output_objdir/$libname.ver~
- $CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
- fi
- else
- ld_shlibs_GCJ=no
- fi
- ;;
-
- netbsd*)
- if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
- archive_cmds_GCJ='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
- wlarc=
- else
- archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- fi
- ;;
-
- solaris*)
- if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then
- ld_shlibs_GCJ=no
- cat <<EOF 1>&2
-
-*** Warning: The releases 2.8.* of the GNU linker cannot reliably
-*** create shared libraries on Solaris systems. Therefore, libtool
-*** is disabling shared libraries support. We urge you to upgrade GNU
-*** binutils to release 2.9.1 or newer. Another option is to modify
-*** your PATH or compiler configuration so that the native linker is
-*** used, and then restart.
-
-EOF
- elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
- archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- else
- ld_shlibs_GCJ=no
- fi
- ;;
-
- sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
- case `$LD -v 2>&1` in
- *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*)
- ld_shlibs_GCJ=no
- cat <<_LT_EOF 1>&2
-
-*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
-*** reliably create shared libraries on SCO systems. Therefore, libtool
-*** is disabling shared libraries support. We urge you to upgrade GNU
-*** binutils to release 2.16.91.0.3 or newer. Another option is to modify
-*** your PATH or compiler configuration so that the native linker is
-*** used, and then restart.
-
-_LT_EOF
- ;;
- *)
- if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
- hardcode_libdir_flag_spec_GCJ='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`'
- archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib'
- archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib'
- else
- ld_shlibs_GCJ=no
- fi
- ;;
- esac
- ;;
-
- sunos4*)
- archive_cmds_GCJ='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
- wlarc=
- hardcode_direct_GCJ=yes
- hardcode_shlibpath_var_GCJ=no
- ;;
-
- *)
- if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
- archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- else
- ld_shlibs_GCJ=no
- fi
- ;;
- esac
-
- if test "$ld_shlibs_GCJ" = no; then
- runpath_var=
- hardcode_libdir_flag_spec_GCJ=
- export_dynamic_flag_spec_GCJ=
- whole_archive_flag_spec_GCJ=
- fi
- else
- # PORTME fill in a description of your system's linker (not GNU ld)
- case $host_os in
- aix3*)
- allow_undefined_flag_GCJ=unsupported
- always_export_symbols_GCJ=yes
- archive_expsym_cmds_GCJ='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
- # Note: this linker hardcodes the directories in LIBPATH if there
- # are no directories specified by -L.
- hardcode_minus_L_GCJ=yes
- if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
- # Neither direct hardcoding nor static linking is supported with a
- # broken collect2.
- hardcode_direct_GCJ=unsupported
- fi
- ;;
-
- aix4* | aix5*)
- if test "$host_cpu" = ia64; then
- # On IA64, the linker does run time linking by default, so we don't
- # have to do anything special.
- aix_use_runtimelinking=no
- exp_sym_flag='-Bexport'
- no_entry_flag=""
- else
- # If we're using GNU nm, then we don't want the "-C" option.
- # -C means demangle to AIX nm, but means don't demangle with GNU nm
- if $NM -V 2>&1 | grep 'GNU' > /dev/null; then
- export_symbols_cmds_GCJ='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols'
- else
- export_symbols_cmds_GCJ='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols'
- fi
- aix_use_runtimelinking=no
-
- # Test if we are trying to use run time linking or normal
- # AIX style linking. If -brtl is somewhere in LDFLAGS, we
- # need to do runtime linking.
- case $host_os in aix4.[23]|aix4.[23].*|aix5*)
- for ld_flag in $LDFLAGS; do
- if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
- aix_use_runtimelinking=yes
- break
- fi
- done
- ;;
- esac
-
- exp_sym_flag='-bexport'
- no_entry_flag='-bnoentry'
- fi
-
- # When large executables or shared objects are built, AIX ld can
- # have problems creating the table of contents. If linking a library
- # or program results in "error TOC overflow" add -mminimal-toc to
- # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
- # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
-
- archive_cmds_GCJ=''
- hardcode_direct_GCJ=yes
- hardcode_libdir_separator_GCJ=':'
- link_all_deplibs_GCJ=yes
-
- if test "$GCC" = yes; then
- case $host_os in aix4.[012]|aix4.[012].*)
- # We only want to do this on AIX 4.2 and lower, the check
- # below for broken collect2 doesn't work under 4.3+
- collect2name=`${CC} -print-prog-name=collect2`
- if test -f "$collect2name" && \
- strings "$collect2name" | grep resolve_lib_name >/dev/null
- then
- # We have reworked collect2
- hardcode_direct_GCJ=yes
- else
- # We have old collect2
- hardcode_direct_GCJ=unsupported
- # It fails to find uninstalled libraries when the uninstalled
- # path is not listed in the libpath. Setting hardcode_minus_L
- # to unsupported forces relinking
- hardcode_minus_L_GCJ=yes
- hardcode_libdir_flag_spec_GCJ='-L$libdir'
- hardcode_libdir_separator_GCJ=
- fi
- ;;
- esac
- shared_flag='-shared'
- if test "$aix_use_runtimelinking" = yes; then
- shared_flag="$shared_flag "'${wl}-G'
- fi
- else
- # not using gcc
- if test "$host_cpu" = ia64; then
- # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
- # chokes on -Wl,-G. The following line is correct:
- shared_flag='-G'
- else
- if test "$aix_use_runtimelinking" = yes; then
- shared_flag='${wl}-G'
- else
- shared_flag='${wl}-bM:SRE'
- fi
- fi
- fi
-
- # It seems that -bexpall does not export symbols beginning with
- # underscore (_), so it is better to generate a list of symbols to export.
- always_export_symbols_GCJ=yes
- if test "$aix_use_runtimelinking" = yes; then
- # Warning - without using the other runtime loading flags (-brtl),
- # -berok will link without error, but may produce a broken library.
- allow_undefined_flag_GCJ='-berok'
- # Determine the default libpath from the value encoded in an empty executable.
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
-
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
-}'`
-# Check for a 64-bit object if we didn't find anything.
-if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
-}'`; fi
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
-
- hardcode_libdir_flag_spec_GCJ='${wl}-blibpath:$libdir:'"$aix_libpath"
- archive_expsym_cmds_GCJ="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
- else
- if test "$host_cpu" = ia64; then
- hardcode_libdir_flag_spec_GCJ='${wl}-R $libdir:/usr/lib:/lib'
- allow_undefined_flag_GCJ="-z nodefs"
- archive_expsym_cmds_GCJ="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
- else
- # Determine the default libpath from the value encoded in an empty executable.
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
-
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
-}'`
-# Check for a 64-bit object if we didn't find anything.
-if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
-}'`; fi
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
-
- hardcode_libdir_flag_spec_GCJ='${wl}-blibpath:$libdir:'"$aix_libpath"
- # Warning - without using the other run time loading flags,
- # -berok will link without error, but may produce a broken library.
- no_undefined_flag_GCJ=' ${wl}-bernotok'
- allow_undefined_flag_GCJ=' ${wl}-berok'
- # Exported symbols can be pulled into shared objects from archives
- whole_archive_flag_spec_GCJ='$convenience'
- archive_cmds_need_lc_GCJ=yes
- # This is similar to how AIX traditionally builds its shared libraries.
- archive_expsym_cmds_GCJ="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
- fi
- fi
- ;;
-
- amigaos*)
- archive_cmds_GCJ='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
- hardcode_libdir_flag_spec_GCJ='-L$libdir'
- hardcode_minus_L_GCJ=yes
- # see comment about different semantics on the GNU ld section
- ld_shlibs_GCJ=no
- ;;
-
- bsdi[45]*)
- export_dynamic_flag_spec_GCJ=-rdynamic
- ;;
-
- cygwin* | mingw* | pw32*)
- # When not using gcc, we currently assume that we are using
- # Microsoft Visual C++.
- # hardcode_libdir_flag_spec is actually meaningless, as there is
- # no search path for DLLs.
- hardcode_libdir_flag_spec_GCJ=' '
- allow_undefined_flag_GCJ=unsupported
- # Tell ltmain to make .lib files, not .a files.
- libext=lib
- # Tell ltmain to make .dll files, not .so files.
- shrext_cmds=".dll"
- # FIXME: Setting linknames here is a bad hack.
- archive_cmds_GCJ='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames='
- # The linker will automatically build a .lib file if we build a DLL.
- old_archive_From_new_cmds_GCJ='true'
- # FIXME: Should let the user specify the lib program.
- old_archive_cmds_GCJ='lib /OUT:$oldlib$oldobjs$old_deplibs'
- fix_srcfile_path_GCJ='`cygpath -w "$srcfile"`'
- enable_shared_with_static_runtimes_GCJ=yes
- ;;
-
- darwin* | rhapsody*)
- case $host_os in
- rhapsody* | darwin1.[012])
- allow_undefined_flag_GCJ='${wl}-undefined ${wl}suppress'
- ;;
- *) # Darwin 1.3 on
- if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then
- allow_undefined_flag_GCJ='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
- else
- case ${MACOSX_DEPLOYMENT_TARGET} in
- 10.[012])
- allow_undefined_flag_GCJ='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
- ;;
- 10.*)
- allow_undefined_flag_GCJ='${wl}-undefined ${wl}dynamic_lookup'
- ;;
- esac
- fi
- ;;
- esac
- archive_cmds_need_lc_GCJ=no
- hardcode_direct_GCJ=no
- hardcode_automatic_GCJ=yes
- hardcode_shlibpath_var_GCJ=unsupported
- whole_archive_flag_spec_GCJ=''
- link_all_deplibs_GCJ=yes
- if test "$GCC" = yes ; then
- output_verbose_link_cmd='echo'
- archive_cmds_GCJ='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
- module_cmds_GCJ='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
- # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
- archive_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
- module_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
- else
- case $cc_basename in
- xlc*)
- output_verbose_link_cmd='echo'
- archive_cmds_GCJ='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring'
- module_cmds_GCJ='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
- # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
- archive_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
- module_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
- ;;
- *)
- ld_shlibs_GCJ=no
- ;;
- esac
- fi
- ;;
-
- dgux*)
- archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_libdir_flag_spec_GCJ='-L$libdir'
- hardcode_shlibpath_var_GCJ=no
- ;;
-
- freebsd1*)
- ld_shlibs_GCJ=no
- ;;
-
- # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
- # support. Future versions do this automatically, but an explicit c++rt0.o
- # does not break anything, and helps significantly (at the cost of a little
- # extra space).
- freebsd2.2*)
- archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
- hardcode_libdir_flag_spec_GCJ='-R$libdir'
- hardcode_direct_GCJ=yes
- hardcode_shlibpath_var_GCJ=no
- ;;
-
- # Unfortunately, older versions of FreeBSD 2 do not have this feature.
- freebsd2*)
- archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
- hardcode_direct_GCJ=yes
- hardcode_minus_L_GCJ=yes
- hardcode_shlibpath_var_GCJ=no
- ;;
-
- # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
- freebsd* | kfreebsd*-gnu | dragonfly*)
- archive_cmds_GCJ='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
- hardcode_libdir_flag_spec_GCJ='-R$libdir'
- hardcode_direct_GCJ=yes
- hardcode_shlibpath_var_GCJ=no
- ;;
-
- hpux9*)
- if test "$GCC" = yes; then
- archive_cmds_GCJ='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
- else
- archive_cmds_GCJ='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
- fi
- hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir'
- hardcode_libdir_separator_GCJ=:
- hardcode_direct_GCJ=yes
-
- # hardcode_minus_L: Not really in the search PATH,
- # but as the default location of the library.
- hardcode_minus_L_GCJ=yes
- export_dynamic_flag_spec_GCJ='${wl}-E'
- ;;
-
- hpux10*)
- if test "$GCC" = yes -a "$with_gnu_ld" = no; then
- archive_cmds_GCJ='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
- else
- archive_cmds_GCJ='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
- fi
- if test "$with_gnu_ld" = no; then
- hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir'
- hardcode_libdir_separator_GCJ=:
-
- hardcode_direct_GCJ=yes
- export_dynamic_flag_spec_GCJ='${wl}-E'
-
- # hardcode_minus_L: Not really in the search PATH,
- # but as the default location of the library.
- hardcode_minus_L_GCJ=yes
- fi
- ;;
-
- hpux11*)
- if test "$GCC" = yes -a "$with_gnu_ld" = no; then
- case $host_cpu in
- hppa*64*)
- archive_cmds_GCJ='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- ia64*)
- archive_cmds_GCJ='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- *)
- archive_cmds_GCJ='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- esac
- else
- case $host_cpu in
- hppa*64*)
- archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- ia64*)
- archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- *)
- archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- esac
- fi
- if test "$with_gnu_ld" = no; then
- hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir'
- hardcode_libdir_separator_GCJ=:
-
- case $host_cpu in
- hppa*64*|ia64*)
- hardcode_libdir_flag_spec_ld_GCJ='+b $libdir'
- hardcode_direct_GCJ=no
- hardcode_shlibpath_var_GCJ=no
- ;;
- *)
- hardcode_direct_GCJ=yes
- export_dynamic_flag_spec_GCJ='${wl}-E'
-
- # hardcode_minus_L: Not really in the search PATH,
- # but as the default location of the library.
- hardcode_minus_L_GCJ=yes
- ;;
- esac
- fi
- ;;
-
- irix5* | irix6* | nonstopux*)
- if test "$GCC" = yes; then
- archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
- else
- archive_cmds_GCJ='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
- hardcode_libdir_flag_spec_ld_GCJ='-rpath $libdir'
- fi
- hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir'
- hardcode_libdir_separator_GCJ=:
- link_all_deplibs_GCJ=yes
- ;;
-
- netbsd*)
- if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
- archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
- else
- archive_cmds_GCJ='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF
- fi
- hardcode_libdir_flag_spec_GCJ='-R$libdir'
- hardcode_direct_GCJ=yes
- hardcode_shlibpath_var_GCJ=no
- ;;
-
- newsos6)
- archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_direct_GCJ=yes
- hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir'
- hardcode_libdir_separator_GCJ=:
- hardcode_shlibpath_var_GCJ=no
- ;;
-
- openbsd*)
- hardcode_direct_GCJ=yes
- hardcode_shlibpath_var_GCJ=no
- if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
- hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir'
- export_dynamic_flag_spec_GCJ='${wl}-E'
- else
- case $host_os in
- openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
- archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
- hardcode_libdir_flag_spec_GCJ='-R$libdir'
- ;;
- *)
- archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
- hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir'
- ;;
- esac
- fi
- ;;
-
- os2*)
- hardcode_libdir_flag_spec_GCJ='-L$libdir'
- hardcode_minus_L_GCJ=yes
- allow_undefined_flag_GCJ=unsupported
- archive_cmds_GCJ='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
- old_archive_From_new_cmds_GCJ='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
- ;;
-
- osf3*)
- if test "$GCC" = yes; then
- allow_undefined_flag_GCJ=' ${wl}-expect_unresolved ${wl}\*'
- archive_cmds_GCJ='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
- else
- allow_undefined_flag_GCJ=' -expect_unresolved \*'
- archive_cmds_GCJ='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
- fi
- hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir'
- hardcode_libdir_separator_GCJ=:
- ;;
-
- osf4* | osf5*) # as osf3* with the addition of -msym flag
- if test "$GCC" = yes; then
- allow_undefined_flag_GCJ=' ${wl}-expect_unresolved ${wl}\*'
- archive_cmds_GCJ='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
- hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir'
- else
- allow_undefined_flag_GCJ=' -expect_unresolved \*'
- archive_cmds_GCJ='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
- archive_expsym_cmds_GCJ='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~
- $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp'
-
- # Both c and cxx compiler support -rpath directly
- hardcode_libdir_flag_spec_GCJ='-rpath $libdir'
- fi
- hardcode_libdir_separator_GCJ=:
- ;;
-
- solaris*)
- no_undefined_flag_GCJ=' -z text'
- if test "$GCC" = yes; then
- wlarc='${wl}'
- archive_cmds_GCJ='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds_GCJ='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
- $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp'
- else
- wlarc=''
- archive_cmds_GCJ='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
- archive_expsym_cmds_GCJ='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
- $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp'
- fi
- hardcode_libdir_flag_spec_GCJ='-R$libdir'
- hardcode_shlibpath_var_GCJ=no
- case $host_os in
- solaris2.[0-5] | solaris2.[0-5].*) ;;
- *)
- # The compiler driver will combine linker options so we
- # cannot just pass the convience library names through
- # without $wl, iff we do not link with $LD.
- # Luckily, gcc supports the same syntax we need for Sun Studio.
- # Supported since Solaris 2.6 (maybe 2.5.1?)
- case $wlarc in
- '')
- whole_archive_flag_spec_GCJ='-z allextract$convenience -z defaultextract' ;;
- *)
- whole_archive_flag_spec_GCJ='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' ;;
- esac ;;
- esac
- link_all_deplibs_GCJ=yes
- ;;
-
- sunos4*)
- if test "x$host_vendor" = xsequent; then
- # Use $CC to link under sequent, because it throws in some extra .o
- # files that make .init and .fini sections work.
- archive_cmds_GCJ='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
- else
- archive_cmds_GCJ='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
- fi
- hardcode_libdir_flag_spec_GCJ='-L$libdir'
- hardcode_direct_GCJ=yes
- hardcode_minus_L_GCJ=yes
- hardcode_shlibpath_var_GCJ=no
- ;;
-
- sysv4)
- case $host_vendor in
- sni)
- archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_direct_GCJ=yes # is this really true???
- ;;
- siemens)
- ## LD is ld it makes a PLAMLIB
- ## CC just makes a GrossModule.
- archive_cmds_GCJ='$LD -G -o $lib $libobjs $deplibs $linker_flags'
- reload_cmds_GCJ='$CC -r -o $output$reload_objs'
- hardcode_direct_GCJ=no
- ;;
- motorola)
- archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_direct_GCJ=no #Motorola manual says yes, but my tests say they lie
- ;;
- esac
- runpath_var='LD_RUN_PATH'
- hardcode_shlibpath_var_GCJ=no
- ;;
-
- sysv4.3*)
- archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_shlibpath_var_GCJ=no
- export_dynamic_flag_spec_GCJ='-Bexport'
- ;;
-
- sysv4*MP*)
- if test -d /usr/nec; then
- archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_shlibpath_var_GCJ=no
- runpath_var=LD_RUN_PATH
- hardcode_runpath_var=yes
- ld_shlibs_GCJ=yes
- fi
- ;;
-
- sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7*)
- no_undefined_flag_GCJ='${wl}-z,text'
- archive_cmds_need_lc_GCJ=no
- hardcode_shlibpath_var_GCJ=no
- runpath_var='LD_RUN_PATH'
-
- if test "$GCC" = yes; then
- archive_cmds_GCJ='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds_GCJ='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- else
- archive_cmds_GCJ='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds_GCJ='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- fi
- ;;
-
- sysv5* | sco3.2v5* | sco5v6*)
- # Note: We can NOT use -z defs as we might desire, because we do not
- # link with -lc, and that would cause any symbols used from libc to
- # always be unresolved, which means just about no library would
- # ever link correctly. If we're not using GNU ld we use -z text
- # though, which does catch some bad symbols but isn't as heavy-handed
- # as -z defs.
- no_undefined_flag_GCJ='${wl}-z,text'
- allow_undefined_flag_GCJ='${wl}-z,nodefs'
- archive_cmds_need_lc_GCJ=no
- hardcode_shlibpath_var_GCJ=no
- hardcode_libdir_flag_spec_GCJ='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`'
- hardcode_libdir_separator_GCJ=':'
- link_all_deplibs_GCJ=yes
- export_dynamic_flag_spec_GCJ='${wl}-Bexport'
- runpath_var='LD_RUN_PATH'
-
- if test "$GCC" = yes; then
- archive_cmds_GCJ='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds_GCJ='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
- else
- archive_cmds_GCJ='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds_GCJ='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
- fi
- ;;
-
- uts4*)
- archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_libdir_flag_spec_GCJ='-L$libdir'
- hardcode_shlibpath_var_GCJ=no
- ;;
-
- *)
- ld_shlibs_GCJ=no
- ;;
- esac
- fi
-
-echo "$as_me:$LINENO: result: $ld_shlibs_GCJ" >&5
-echo "${ECHO_T}$ld_shlibs_GCJ" >&6
-test "$ld_shlibs_GCJ" = no && can_build_shared=no
-
-#
-# Do we need to explicitly link libc?
-#
-case "x$archive_cmds_need_lc_GCJ" in
-x|xyes)
- # Assume -lc should be added
- archive_cmds_need_lc_GCJ=yes
-
- if test "$enable_shared" = yes && test "$GCC" = yes; then
- case $archive_cmds_GCJ in
- *'~'*)
- # FIXME: we may have to deal with multi-command sequences.
- ;;
- '$CC '*)
- # Test whether the compiler implicitly links with -lc since on some
- # systems, -lgcc has to come before -lc. If gcc already passes -lc
- # to ld, don't add -lc before -lgcc.
- echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
-echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6
- $rm conftest*
- printf "$lt_simple_compile_test_code" > conftest.$ac_ext
-
- if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } 2>conftest.err; then
- soname=conftest
- lib=conftest
- libobjs=conftest.$ac_objext
- deplibs=
- wl=$lt_prog_compiler_wl_GCJ
- pic_flag=$lt_prog_compiler_pic_GCJ
- compiler_flags=-v
- linker_flags=-v
- verstring=
- output_objdir=.
- libname=conftest
- lt_save_allow_undefined_flag=$allow_undefined_flag_GCJ
- allow_undefined_flag_GCJ=
- if { (eval echo "$as_me:$LINENO: \"$archive_cmds_GCJ 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5
- (eval $archive_cmds_GCJ 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }
- then
- archive_cmds_need_lc_GCJ=no
- else
- archive_cmds_need_lc_GCJ=yes
- fi
- allow_undefined_flag_GCJ=$lt_save_allow_undefined_flag
- else
- cat conftest.err 1>&5
- fi
- $rm conftest*
- echo "$as_me:$LINENO: result: $archive_cmds_need_lc_GCJ" >&5
-echo "${ECHO_T}$archive_cmds_need_lc_GCJ" >&6
- ;;
- esac
- fi
- ;;
-esac
-
-echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
-echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6
-library_names_spec=
-libname_spec='lib$name'
-soname_spec=
-shrext_cmds=".so"
-postinstall_cmds=
-postuninstall_cmds=
-finish_cmds=
-finish_eval=
-shlibpath_var=
-shlibpath_overrides_runpath=unknown
-version_type=none
-dynamic_linker="$host_os ld.so"
-sys_lib_dlsearch_path_spec="/lib /usr/lib"
-if test "$GCC" = yes; then
- sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
- if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then
- # if the path contains ";" then we assume it to be the separator
- # otherwise default to the standard path separator (i.e. ":") - it is
- # assumed that no part of a normal pathname contains ";" but that should
- # okay in the real world where ";" in dirpaths is itself problematic.
- sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
- else
- sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
- fi
-else
- sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
-fi
-need_lib_prefix=unknown
-hardcode_into_libs=no
-
-# when you set need_version to no, make sure it does not cause -set_version
-# flags to be left without arguments
-need_version=unknown
-
-case $host_os in
-aix3*)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
- shlibpath_var=LIBPATH
-
- # AIX 3 has no versioning support, so we append a major version to the name.
- soname_spec='${libname}${release}${shared_ext}$major'
- ;;
-
-aix4* | aix5*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- hardcode_into_libs=yes
- if test "$host_cpu" = ia64; then
- # AIX 5 supports IA64
- library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
- shlibpath_var=LD_LIBRARY_PATH
- else
- # With GCC up to 2.95.x, collect2 would create an import file
- # for dependence libraries. The import file would start with
- # the line `#! .'. This would cause the generated library to
- # depend on `.', always an invalid library. This was fixed in
- # development snapshots of GCC prior to 3.0.
- case $host_os in
- aix4 | aix4.[01] | aix4.[01].*)
- if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
- echo ' yes '
- echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then
- :
- else
- can_build_shared=no
- fi
- ;;
- esac
- # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
- # soname into executable. Probably we can add versioning support to
- # collect2, so additional links can be useful in future.
- if test "$aix_use_runtimelinking" = yes; then
- # If using run time linking (on AIX 4.2 or later) use lib<name>.so
- # instead of lib<name>.a to let people know that these are not
- # typical AIX shared libraries.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- else
- # We preserve .a as extension for shared libraries through AIX4.2
- # and later when we are not doing run time linking.
- library_names_spec='${libname}${release}.a $libname.a'
- soname_spec='${libname}${release}${shared_ext}$major'
- fi
- shlibpath_var=LIBPATH
- fi
- ;;
-
-amigaos*)
- library_names_spec='$libname.ixlibrary $libname.a'
- # Create ${libname}_ixlibrary.a entries in /sys/libs.
- finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
- ;;
-
-beos*)
- library_names_spec='${libname}${shared_ext}'
- dynamic_linker="$host_os ld.so"
- shlibpath_var=LIBRARY_PATH
- ;;
-
-bsdi[45]*)
- version_type=linux
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
- sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
- # the default ld.so.conf also contains /usr/contrib/lib and
- # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
- # libtool to hard-code these into programs
- ;;
-
-cygwin* | mingw* | pw32*)
- version_type=windows
- shrext_cmds=".dll"
- need_version=no
- need_lib_prefix=no
-
- case $GCC,$host_os in
- yes,cygwin* | yes,mingw* | yes,pw32*)
- library_names_spec='$libname.dll.a'
- # DLL is installed to $(libdir)/../bin by postinstall_cmds
- postinstall_cmds='base_file=`basename \${file}`~
- dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~
- dldir=$destdir/`dirname \$dlpath`~
- test -d \$dldir || mkdir -p \$dldir~
- $install_prog $dir/$dlname \$dldir/$dlname~
- chmod a+x \$dldir/$dlname'
- postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
- dlpath=$dir/\$dldll~
- $rm \$dlpath'
- shlibpath_overrides_runpath=yes
-
- case $host_os in
- cygwin*)
- # Cygwin DLLs use 'cyg' prefix rather than 'lib'
- soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
- sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib"
- ;;
- mingw*)
- # MinGW DLLs use traditional 'lib' prefix
- soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
- sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
- if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then
- # It is most probably a Windows format PATH printed by
- # mingw gcc, but we are running on Cygwin. Gcc prints its search
- # path with ; separators, and with drive letters. We can handle the
- # drive letters (cygwin fileutils understands them), so leave them,
- # especially as we might pass files found there to a mingw objdump,
- # which wouldn't understand a cygwinified path. Ahh.
- sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
- else
- sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
- fi
- ;;
- pw32*)
- # pw32 DLLs use 'pw' prefix rather than 'lib'
- library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
- ;;
- esac
- ;;
-
- *)
- library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib'
- ;;
- esac
- dynamic_linker='Win32 ld.exe'
- # FIXME: first we should search . and the directory the executable is in
- shlibpath_var=PATH
- ;;
-
-darwin* | rhapsody*)
- dynamic_linker="$host_os dyld"
- version_type=darwin
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext'
- soname_spec='${libname}${release}${major}$shared_ext'
- shlibpath_overrides_runpath=yes
- shlibpath_var=DYLD_LIBRARY_PATH
- shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
- # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same.
- if test "$GCC" = yes; then
- sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"`
- else
- sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib'
- fi
- sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
- ;;
-
-dgux*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- ;;
-
-freebsd1*)
- dynamic_linker=no
- ;;
-
-kfreebsd*-gnu)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- dynamic_linker='GNU ld.so'
- ;;
-
-freebsd* | dragonfly*)
- # DragonFly does not have aout. When/if they implement a new
- # versioning mechanism, adjust this.
- if test -x /usr/bin/objformat; then
- objformat=`/usr/bin/objformat`
- else
- case $host_os in
- freebsd[123]*) objformat=aout ;;
- *) objformat=elf ;;
- esac
- fi
- version_type=freebsd-$objformat
- case $version_type in
- freebsd-elf*)
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
- need_version=no
- need_lib_prefix=no
- ;;
- freebsd-*)
- library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
- need_version=yes
- ;;
- esac
- shlibpath_var=LD_LIBRARY_PATH
- case $host_os in
- freebsd2*)
- shlibpath_overrides_runpath=yes
- ;;
- freebsd3.[01]* | freebsdelf3.[01]*)
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- ;;
- freebsd3.[2-9]* | freebsdelf3.[2-9]* | \
- freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1)
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- ;;
- freebsd*) # from 4.6 on
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- ;;
- esac
- ;;
-
-gnu*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- hardcode_into_libs=yes
- ;;
-
-hpux9* | hpux10* | hpux11*)
- # Give a soname corresponding to the major version so that dld.sl refuses to
- # link against other versions.
- version_type=sunos
- need_lib_prefix=no
- need_version=no
- case $host_cpu in
- ia64*)
- shrext_cmds='.so'
- hardcode_into_libs=yes
- dynamic_linker="$host_os dld.so"
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- if test "X$HPUX_IA64_MODE" = X32; then
- sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
- else
- sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
- fi
- sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
- ;;
- hppa*64*)
- shrext_cmds='.sl'
- hardcode_into_libs=yes
- dynamic_linker="$host_os dld.sl"
- shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
- shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
- sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
- ;;
- *)
- shrext_cmds='.sl'
- dynamic_linker="$host_os dld.sl"
- shlibpath_var=SHLIB_PATH
- shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- ;;
- esac
- # HP-UX runs *really* slowly unless shared libraries are mode 555.
- postinstall_cmds='chmod 555 $lib'
- ;;
-
-interix3*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- ;;
-
-irix5* | irix6* | nonstopux*)
- case $host_os in
- nonstopux*) version_type=nonstopux ;;
- *)
- if test "$lt_cv_prog_gnu_ld" = yes; then
- version_type=linux
- else
- version_type=irix
- fi ;;
- esac
- need_lib_prefix=no
- need_version=no
- soname_spec='${libname}${release}${shared_ext}$major'
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
- case $host_os in
- irix5* | nonstopux*)
- libsuff= shlibsuff=
- ;;
- *)
- case $LD in # libtool.m4 will add one of these switches to LD
- *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
- libsuff= shlibsuff= libmagic=32-bit;;
- *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
- libsuff=32 shlibsuff=N32 libmagic=N32;;
- *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
- libsuff=64 shlibsuff=64 libmagic=64-bit;;
- *) libsuff= shlibsuff= libmagic=never-match;;
- esac
- ;;
- esac
- shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
- shlibpath_overrides_runpath=no
- sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
- sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
- hardcode_into_libs=yes
- ;;
-
-# No shared lib support for Linux oldld, aout, or coff.
-linux*oldld* | linux*aout* | linux*coff*)
- dynamic_linker=no
- ;;
-
-# This must be Linux ELF.
-linux*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- # This implies no fast_install, which is unacceptable.
- # Some rework will be needed to allow for fast_install
- # before this can be enabled.
- hardcode_into_libs=yes
-
- # Append ld.so.conf contents to the search path
- if test -f /etc/ld.so.conf; then
- lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
- sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
- fi
-
- # We used to test for /lib/ld.so.1 and disable shared libraries on
- # powerpc, because MkLinux only supported shared libraries with the
- # GNU dynamic linker. Since this was broken with cross compilers,
- # most powerpc-linux boxes support dynamic linking these days and
- # people can always --disable-shared, the test was removed, and we
- # assume the GNU/Linux dynamic linker is in use.
- dynamic_linker='GNU/Linux ld.so'
- ;;
-
-knetbsd*-gnu)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- dynamic_linker='GNU ld.so'
- ;;
-
-netbsd*)
- version_type=sunos
- need_lib_prefix=no
- need_version=no
- if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
- dynamic_linker='NetBSD (a.out) ld.so'
- else
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- dynamic_linker='NetBSD ld.elf_so'
- fi
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- ;;
-
-newsos6)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- ;;
-
-nto-qnx*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- ;;
-
-openbsd*)
- version_type=sunos
- sys_lib_dlsearch_path_spec="/usr/lib"
- need_lib_prefix=no
- # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
- case $host_os in
- openbsd3.3 | openbsd3.3.*) need_version=yes ;;
- *) need_version=no ;;
- esac
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- case $host_os in
- openbsd2.[89] | openbsd2.[89].*)
- shlibpath_overrides_runpath=no
- ;;
- *)
- shlibpath_overrides_runpath=yes
- ;;
- esac
- else
- shlibpath_overrides_runpath=yes
- fi
- ;;
-
-os2*)
- libname_spec='$name'
- shrext_cmds=".dll"
- need_lib_prefix=no
- library_names_spec='$libname${shared_ext} $libname.a'
- dynamic_linker='OS/2 ld.exe'
- shlibpath_var=LIBPATH
- ;;
-
-osf3* | osf4* | osf5*)
- version_type=osf
- need_lib_prefix=no
- need_version=no
- soname_spec='${libname}${release}${shared_ext}$major'
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- shlibpath_var=LD_LIBRARY_PATH
- sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
- sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
- ;;
-
-solaris*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- # ldd complains unless libraries are executable
- postinstall_cmds='chmod +x $lib'
- ;;
-
-sunos4*)
- version_type=sunos
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
- finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- if test "$with_gnu_ld" = yes; then
- need_lib_prefix=no
- fi
- need_version=yes
- ;;
-
-sysv4 | sysv4.3*)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- case $host_vendor in
- sni)
- shlibpath_overrides_runpath=no
- need_lib_prefix=no
- export_dynamic_flag_spec='${wl}-Blargedynsym'
- runpath_var=LD_RUN_PATH
- ;;
- siemens)
- need_lib_prefix=no
- ;;
- motorola)
- need_lib_prefix=no
- need_version=no
- shlibpath_overrides_runpath=no
- sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
- ;;
- esac
- ;;
-
-sysv4*MP*)
- if test -d /usr/nec ;then
- version_type=linux
- library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
- soname_spec='$libname${shared_ext}.$major'
- shlibpath_var=LD_LIBRARY_PATH
- fi
- ;;
-
-sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
- version_type=freebsd-elf
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- hardcode_into_libs=yes
- if test "$with_gnu_ld" = yes; then
- sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
- shlibpath_overrides_runpath=no
- else
- sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
- shlibpath_overrides_runpath=yes
- case $host_os in
- sco3.2v5*)
- sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
- ;;
- esac
- fi
- sys_lib_dlsearch_path_spec='/usr/lib'
- ;;
-
-uts4*)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- ;;
-
-*)
- dynamic_linker=no
- ;;
-esac
-echo "$as_me:$LINENO: result: $dynamic_linker" >&5
-echo "${ECHO_T}$dynamic_linker" >&6
-test "$dynamic_linker" = no && can_build_shared=no
-
-variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
-if test "$GCC" = yes; then
- variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
-fi
-
-echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
-echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6
-hardcode_action_GCJ=
-if test -n "$hardcode_libdir_flag_spec_GCJ" || \
- test -n "$runpath_var_GCJ" || \
- test "X$hardcode_automatic_GCJ" = "Xyes" ; then
-
- # We can hardcode non-existant directories.
- if test "$hardcode_direct_GCJ" != no &&
- # If the only mechanism to avoid hardcoding is shlibpath_var, we
- # have to relink, otherwise we might link with an installed library
- # when we should be linking with a yet-to-be-installed one
- ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, GCJ)" != no &&
- test "$hardcode_minus_L_GCJ" != no; then
- # Linking always hardcodes the temporary library directory.
- hardcode_action_GCJ=relink
- else
- # We can link without hardcoding, and we can hardcode nonexisting dirs.
- hardcode_action_GCJ=immediate
- fi
-else
- # We cannot hardcode anything, or else we can only hardcode existing
- # directories.
- hardcode_action_GCJ=unsupported
-fi
-echo "$as_me:$LINENO: result: $hardcode_action_GCJ" >&5
-echo "${ECHO_T}$hardcode_action_GCJ" >&6
-
-if test "$hardcode_action_GCJ" = relink; then
- # Fast installation is not supported
- enable_fast_install=no
-elif test "$shlibpath_overrides_runpath" = yes ||
- test "$enable_shared" = no; then
- # Fast installation is not necessary
- enable_fast_install=needless
-fi
-
-
-# The else clause should only fire when bootstrapping the
-# libtool distribution, otherwise you forgot to ship ltmain.sh
-# with your package, and you will get complaints that there are
-# no rules to generate ltmain.sh.
-if test -f "$ltmain"; then
- # See if we are running on zsh, and set the options which allow our commands through
- # without removal of \ escapes.
- if test -n "${ZSH_VERSION+set}" ; then
- setopt NO_GLOB_SUBST
- fi
- # Now quote all the things that may contain metacharacters while being
- # careful not to overquote the AC_SUBSTed values. We take copies of the
- # variables and quote the copies for generation of the libtool script.
- for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \
- SED SHELL STRIP \
- libname_spec library_names_spec soname_spec extract_expsyms_cmds \
- old_striplib striplib file_magic_cmd finish_cmds finish_eval \
- deplibs_check_method reload_flag reload_cmds need_locks \
- lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \
- lt_cv_sys_global_symbol_to_c_name_address \
- sys_lib_search_path_spec sys_lib_dlsearch_path_spec \
- old_postinstall_cmds old_postuninstall_cmds \
- compiler_GCJ \
- CC_GCJ \
- LD_GCJ \
- lt_prog_compiler_wl_GCJ \
- lt_prog_compiler_pic_GCJ \
- lt_prog_compiler_static_GCJ \
- lt_prog_compiler_no_builtin_flag_GCJ \
- export_dynamic_flag_spec_GCJ \
- thread_safe_flag_spec_GCJ \
- whole_archive_flag_spec_GCJ \
- enable_shared_with_static_runtimes_GCJ \
- old_archive_cmds_GCJ \
- old_archive_from_new_cmds_GCJ \
- predep_objects_GCJ \
- postdep_objects_GCJ \
- predeps_GCJ \
- postdeps_GCJ \
- compiler_lib_search_path_GCJ \
- archive_cmds_GCJ \
- archive_expsym_cmds_GCJ \
- postinstall_cmds_GCJ \
- postuninstall_cmds_GCJ \
- old_archive_from_expsyms_cmds_GCJ \
- allow_undefined_flag_GCJ \
- no_undefined_flag_GCJ \
- export_symbols_cmds_GCJ \
- hardcode_libdir_flag_spec_GCJ \
- hardcode_libdir_flag_spec_ld_GCJ \
- hardcode_libdir_separator_GCJ \
- hardcode_automatic_GCJ \
- module_cmds_GCJ \
- module_expsym_cmds_GCJ \
- lt_cv_prog_compiler_c_o_GCJ \
- exclude_expsyms_GCJ \
- include_expsyms_GCJ; do
-
- case $var in
- old_archive_cmds_GCJ | \
- old_archive_from_new_cmds_GCJ | \
- archive_cmds_GCJ | \
- archive_expsym_cmds_GCJ | \
- module_cmds_GCJ | \
- module_expsym_cmds_GCJ | \
- old_archive_from_expsyms_cmds_GCJ | \
- export_symbols_cmds_GCJ | \
- extract_expsyms_cmds | reload_cmds | finish_cmds | \
- postinstall_cmds | postuninstall_cmds | \
- old_postinstall_cmds | old_postuninstall_cmds | \
- sys_lib_search_path_spec | sys_lib_dlsearch_path_spec)
- # Double-quote double-evaled strings.
- eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\""
- ;;
- *)
- eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\""
- ;;
- esac
- done
-
- case $lt_echo in
- *'\$0 --fallback-echo"')
- lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'`
- ;;
- esac
-
-cfgfile="$ofile"
-
- cat <<__EOF__ >> "$cfgfile"
-# ### BEGIN LIBTOOL TAG CONFIG: $tagname
-
-# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
-
-# Shell to use when invoking shell scripts.
-SHELL=$lt_SHELL
-
-# Whether or not to build shared libraries.
-build_libtool_libs=$enable_shared
-
-# Whether or not to build static libraries.
-build_old_libs=$enable_static
-
-# Whether or not to add -lc for building shared libraries.
-build_libtool_need_lc=$archive_cmds_need_lc_GCJ
-
-# Whether or not to disallow shared libs when runtime libs are static
-allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_GCJ
-
-# Whether or not to optimize for fast installation.
-fast_install=$enable_fast_install
-
-# The host system.
-host_alias=$host_alias
-host=$host
-host_os=$host_os
-
-# The build system.
-build_alias=$build_alias
-build=$build
-build_os=$build_os
-
-# An echo program that does not interpret backslashes.
-echo=$lt_echo
-
-# The archiver.
-AR=$lt_AR
-AR_FLAGS=$lt_AR_FLAGS
-
-# A C compiler.
-LTCC=$lt_LTCC
-
-# LTCC compiler flags.
-LTCFLAGS=$lt_LTCFLAGS
-
-# A language-specific compiler.
-CC=$lt_compiler_GCJ
-
-# Is the compiler the GNU C compiler?
-with_gcc=$GCC_GCJ
-
-# An ERE matcher.
-EGREP=$lt_EGREP
-
-# The linker used to build libraries.
-LD=$lt_LD_GCJ
-
-# Whether we need hard or soft links.
-LN_S=$lt_LN_S
-
-# A BSD-compatible nm program.
-NM=$lt_NM
-
-# A symbol stripping program
-STRIP=$lt_STRIP
-
-# Used to examine libraries when file_magic_cmd begins "file"
-MAGIC_CMD=$MAGIC_CMD
-
-# Used on cygwin: DLL creation program.
-DLLTOOL="$DLLTOOL"
-
-# Used on cygwin: object dumper.
-OBJDUMP="$OBJDUMP"
-
-# Used on cygwin: assembler.
-AS="$AS"
-
-# The name of the directory that contains temporary libtool files.
-objdir=$objdir
-
-# How to create reloadable object files.
-reload_flag=$lt_reload_flag
-reload_cmds=$lt_reload_cmds
-
-# How to pass a linker flag through the compiler.
-wl=$lt_lt_prog_compiler_wl_GCJ
-
-# Object file suffix (normally "o").
-objext="$ac_objext"
-
-# Old archive suffix (normally "a").
-libext="$libext"
-
-# Shared library suffix (normally ".so").
-shrext_cmds='$shrext_cmds'
-
-# Executable file suffix (normally "").
-exeext="$exeext"
-
-# Additional compiler flags for building library objects.
-pic_flag=$lt_lt_prog_compiler_pic_GCJ
-pic_mode=$pic_mode
-
-# What is the maximum length of a command?
-max_cmd_len=$lt_cv_sys_max_cmd_len
-
-# Does compiler simultaneously support -c and -o options?
-compiler_c_o=$lt_lt_cv_prog_compiler_c_o_GCJ
-
-# Must we lock files when doing compilation?
-need_locks=$lt_need_locks
-
-# Do we need the lib prefix for modules?
-need_lib_prefix=$need_lib_prefix
-
-# Do we need a version for libraries?
-need_version=$need_version
-
-# Whether dlopen is supported.
-dlopen_support=$enable_dlopen
-
-# Whether dlopen of programs is supported.
-dlopen_self=$enable_dlopen_self
-
-# Whether dlopen of statically linked programs is supported.
-dlopen_self_static=$enable_dlopen_self_static
-
-# Compiler flag to prevent dynamic linking.
-link_static_flag=$lt_lt_prog_compiler_static_GCJ
-
-# Compiler flag to turn off builtin functions.
-no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_GCJ
-
-# Compiler flag to allow reflexive dlopens.
-export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_GCJ
-
-# Compiler flag to generate shared objects directly from archives.
-whole_archive_flag_spec=$lt_whole_archive_flag_spec_GCJ
-
-# Compiler flag to generate thread-safe objects.
-thread_safe_flag_spec=$lt_thread_safe_flag_spec_GCJ
-
-# Library versioning type.
-version_type=$version_type
-
-# Format of library name prefix.
-libname_spec=$lt_libname_spec
-
-# List of archive names. First name is the real one, the rest are links.
-# The last name is the one that the linker finds with -lNAME.
-library_names_spec=$lt_library_names_spec
-
-# The coded name of the library, if different from the real name.
-soname_spec=$lt_soname_spec
-
-# Commands used to build and install an old-style archive.
-RANLIB=$lt_RANLIB
-old_archive_cmds=$lt_old_archive_cmds_GCJ
-old_postinstall_cmds=$lt_old_postinstall_cmds
-old_postuninstall_cmds=$lt_old_postuninstall_cmds
-
-# Create an old-style archive from a shared archive.
-old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_GCJ
-
-# Create a temporary old-style archive to link instead of a shared archive.
-old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_GCJ
-
-# Commands used to build and install a shared archive.
-archive_cmds=$lt_archive_cmds_GCJ
-archive_expsym_cmds=$lt_archive_expsym_cmds_GCJ
-postinstall_cmds=$lt_postinstall_cmds
-postuninstall_cmds=$lt_postuninstall_cmds
-
-# Commands used to build a loadable module (assumed same as above if empty)
-module_cmds=$lt_module_cmds_GCJ
-module_expsym_cmds=$lt_module_expsym_cmds_GCJ
-
-# Commands to strip libraries.
-old_striplib=$lt_old_striplib
-striplib=$lt_striplib
-
-# Dependencies to place before the objects being linked to create a
-# shared library.
-predep_objects=$lt_predep_objects_GCJ
-
-# Dependencies to place after the objects being linked to create a
-# shared library.
-postdep_objects=$lt_postdep_objects_GCJ
-
-# Dependencies to place before the objects being linked to create a
-# shared library.
-predeps=$lt_predeps_GCJ
-
-# Dependencies to place after the objects being linked to create a
-# shared library.
-postdeps=$lt_postdeps_GCJ
-
-# The library search path used internally by the compiler when linking
-# a shared library.
-compiler_lib_search_path=$lt_compiler_lib_search_path_GCJ
-
-# Method to check whether dependent libraries are shared objects.
-deplibs_check_method=$lt_deplibs_check_method
-
-# Command to use when deplibs_check_method == file_magic.
-file_magic_cmd=$lt_file_magic_cmd
-
-# Flag that allows shared libraries with undefined symbols to be built.
-allow_undefined_flag=$lt_allow_undefined_flag_GCJ
-
-# Flag that forces no undefined symbols.
-no_undefined_flag=$lt_no_undefined_flag_GCJ
-
-# Commands used to finish a libtool library installation in a directory.
-finish_cmds=$lt_finish_cmds
-
-# Same as above, but a single script fragment to be evaled but not shown.
-finish_eval=$lt_finish_eval
-
-# Take the output of nm and produce a listing of raw symbols and C names.
-global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
-
-# Transform the output of nm in a proper C declaration
-global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
-
-# Transform the output of nm in a C name address pair
-global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
-
-# This is the shared library runtime path variable.
-runpath_var=$runpath_var
-
-# This is the shared library path variable.
-shlibpath_var=$shlibpath_var
-
-# Is shlibpath searched before the hard-coded library search path?
-shlibpath_overrides_runpath=$shlibpath_overrides_runpath
-
-# How to hardcode a shared library path into an executable.
-hardcode_action=$hardcode_action_GCJ
-
-# Whether we should hardcode library paths into libraries.
-hardcode_into_libs=$hardcode_into_libs
-
-# Flag to hardcode \$libdir into a binary during linking.
-# This must work even if \$libdir does not exist.
-hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_GCJ
-
-# If ld is used when linking, flag to hardcode \$libdir into
-# a binary during linking. This must work even if \$libdir does
-# not exist.
-hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_GCJ
-
-# Whether we need a single -rpath flag with a separated argument.
-hardcode_libdir_separator=$lt_hardcode_libdir_separator_GCJ
-
-# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the
-# resulting binary.
-hardcode_direct=$hardcode_direct_GCJ
-
-# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
-# resulting binary.
-hardcode_minus_L=$hardcode_minus_L_GCJ
-
-# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into
-# the resulting binary.
-hardcode_shlibpath_var=$hardcode_shlibpath_var_GCJ
-
-# Set to yes if building a shared library automatically hardcodes DIR into the library
-# and all subsequent libraries and executables linked against it.
-hardcode_automatic=$hardcode_automatic_GCJ
-
-# Variables whose values should be saved in libtool wrapper scripts and
-# restored at relink time.
-variables_saved_for_relink="$variables_saved_for_relink"
-
-# Whether libtool must link a program against all its dependency libraries.
-link_all_deplibs=$link_all_deplibs_GCJ
-
-# Compile-time system search path for libraries
-sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
-
-# Run-time system search path for libraries
-sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
-
-# Fix the shell variable \$srcfile for the compiler.
-fix_srcfile_path="$fix_srcfile_path_GCJ"
-
-# Set to yes if exported symbols are required.
-always_export_symbols=$always_export_symbols_GCJ
-
-# The commands to list exported symbols.
-export_symbols_cmds=$lt_export_symbols_cmds_GCJ
-
-# The commands to extract the exported symbol list from a shared archive.
-extract_expsyms_cmds=$lt_extract_expsyms_cmds
-
-# Symbols that should not be listed in the preloaded symbols.
-exclude_expsyms=$lt_exclude_expsyms_GCJ
-
-# Symbols that must always be exported.
-include_expsyms=$lt_include_expsyms_GCJ
-
-# ### END LIBTOOL TAG CONFIG: $tagname
-
-__EOF__
-
-
-else
- # If there is no Makefile yet, we rely on a make rule to execute
- # `config.status --recheck' to rerun these tests and create the
- # libtool script then.
- ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'`
- if test -f "$ltmain_in"; then
- test -f Makefile && make "$ltmain"
- fi
-fi
-
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-CC="$lt_save_CC"
-
- else
- tagname=""
- fi
- ;;
-
- RC)
-
-
-
-# Source file extension for RC test sources.
-ac_ext=rc
-
-# Object file extension for compiled RC test sources.
-objext=o
-objext_RC=$objext
-
-# Code to be used in simple compile tests
-lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }\n'
-
-# Code to be used in simple link tests
-lt_simple_link_test_code="$lt_simple_compile_test_code"
-
-# ltmain only uses $CC for tagged configurations so make sure $CC is set.
-
-# If no C compiler was specified, use CC.
-LTCC=${LTCC-"$CC"}
-
-# If no C compiler flags were specified, use CFLAGS.
-LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
-
-# Allow CC to be a program name with arguments.
-compiler=$CC
-
-
-# save warnings/boilerplate of simple test code
-ac_outfile=conftest.$ac_objext
-printf "$lt_simple_compile_test_code" >conftest.$ac_ext
-eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_compiler_boilerplate=`cat conftest.err`
-$rm conftest*
-
-ac_outfile=conftest.$ac_objext
-printf "$lt_simple_link_test_code" >conftest.$ac_ext
-eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_linker_boilerplate=`cat conftest.err`
-$rm conftest*
-
-
-# Allow CC to be a program name with arguments.
-lt_save_CC="$CC"
-CC=${RC-"windres"}
-compiler=$CC
-compiler_RC=$CC
-for cc_temp in $compiler""; do
- case $cc_temp in
- compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
- distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
- \-*) ;;
- *) break;;
- esac
-done
-cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
-
-lt_cv_prog_compiler_c_o_RC=yes
-
-# The else clause should only fire when bootstrapping the
-# libtool distribution, otherwise you forgot to ship ltmain.sh
-# with your package, and you will get complaints that there are
-# no rules to generate ltmain.sh.
-if test -f "$ltmain"; then
- # See if we are running on zsh, and set the options which allow our commands through
- # without removal of \ escapes.
- if test -n "${ZSH_VERSION+set}" ; then
- setopt NO_GLOB_SUBST
- fi
- # Now quote all the things that may contain metacharacters while being
- # careful not to overquote the AC_SUBSTed values. We take copies of the
- # variables and quote the copies for generation of the libtool script.
- for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \
- SED SHELL STRIP \
- libname_spec library_names_spec soname_spec extract_expsyms_cmds \
- old_striplib striplib file_magic_cmd finish_cmds finish_eval \
- deplibs_check_method reload_flag reload_cmds need_locks \
- lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \
- lt_cv_sys_global_symbol_to_c_name_address \
- sys_lib_search_path_spec sys_lib_dlsearch_path_spec \
- old_postinstall_cmds old_postuninstall_cmds \
- compiler_RC \
- CC_RC \
- LD_RC \
- lt_prog_compiler_wl_RC \
- lt_prog_compiler_pic_RC \
- lt_prog_compiler_static_RC \
- lt_prog_compiler_no_builtin_flag_RC \
- export_dynamic_flag_spec_RC \
- thread_safe_flag_spec_RC \
- whole_archive_flag_spec_RC \
- enable_shared_with_static_runtimes_RC \
- old_archive_cmds_RC \
- old_archive_from_new_cmds_RC \
- predep_objects_RC \
- postdep_objects_RC \
- predeps_RC \
- postdeps_RC \
- compiler_lib_search_path_RC \
- archive_cmds_RC \
- archive_expsym_cmds_RC \
- postinstall_cmds_RC \
- postuninstall_cmds_RC \
- old_archive_from_expsyms_cmds_RC \
- allow_undefined_flag_RC \
- no_undefined_flag_RC \
- export_symbols_cmds_RC \
- hardcode_libdir_flag_spec_RC \
- hardcode_libdir_flag_spec_ld_RC \
- hardcode_libdir_separator_RC \
- hardcode_automatic_RC \
- module_cmds_RC \
- module_expsym_cmds_RC \
- lt_cv_prog_compiler_c_o_RC \
- exclude_expsyms_RC \
- include_expsyms_RC; do
-
- case $var in
- old_archive_cmds_RC | \
- old_archive_from_new_cmds_RC | \
- archive_cmds_RC | \
- archive_expsym_cmds_RC | \
- module_cmds_RC | \
- module_expsym_cmds_RC | \
- old_archive_from_expsyms_cmds_RC | \
- export_symbols_cmds_RC | \
- extract_expsyms_cmds | reload_cmds | finish_cmds | \
- postinstall_cmds | postuninstall_cmds | \
- old_postinstall_cmds | old_postuninstall_cmds | \
- sys_lib_search_path_spec | sys_lib_dlsearch_path_spec)
- # Double-quote double-evaled strings.
- eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\""
- ;;
- *)
- eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\""
- ;;
- esac
- done
-
- case $lt_echo in
- *'\$0 --fallback-echo"')
- lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'`
- ;;
- esac
-
-cfgfile="$ofile"
-
- cat <<__EOF__ >> "$cfgfile"
-# ### BEGIN LIBTOOL TAG CONFIG: $tagname
-
-# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
-
-# Shell to use when invoking shell scripts.
-SHELL=$lt_SHELL
-
-# Whether or not to build shared libraries.
-build_libtool_libs=$enable_shared
-
-# Whether or not to build static libraries.
-build_old_libs=$enable_static
-
-# Whether or not to add -lc for building shared libraries.
-build_libtool_need_lc=$archive_cmds_need_lc_RC
-
-# Whether or not to disallow shared libs when runtime libs are static
-allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_RC
-
-# Whether or not to optimize for fast installation.
-fast_install=$enable_fast_install
-
-# The host system.
-host_alias=$host_alias
-host=$host
-host_os=$host_os
-
-# The build system.
-build_alias=$build_alias
-build=$build
-build_os=$build_os
-
-# An echo program that does not interpret backslashes.
-echo=$lt_echo
-
-# The archiver.
-AR=$lt_AR
-AR_FLAGS=$lt_AR_FLAGS
-
-# A C compiler.
-LTCC=$lt_LTCC
-
-# LTCC compiler flags.
-LTCFLAGS=$lt_LTCFLAGS
-
-# A language-specific compiler.
-CC=$lt_compiler_RC
-
-# Is the compiler the GNU C compiler?
-with_gcc=$GCC_RC
-
-# An ERE matcher.
-EGREP=$lt_EGREP
-
-# The linker used to build libraries.
-LD=$lt_LD_RC
-
-# Whether we need hard or soft links.
-LN_S=$lt_LN_S
-
-# A BSD-compatible nm program.
-NM=$lt_NM
-
-# A symbol stripping program
-STRIP=$lt_STRIP
-
-# Used to examine libraries when file_magic_cmd begins "file"
-MAGIC_CMD=$MAGIC_CMD
-
-# Used on cygwin: DLL creation program.
-DLLTOOL="$DLLTOOL"
-
-# Used on cygwin: object dumper.
-OBJDUMP="$OBJDUMP"
-
-# Used on cygwin: assembler.
-AS="$AS"
-
-# The name of the directory that contains temporary libtool files.
-objdir=$objdir
-
-# How to create reloadable object files.
-reload_flag=$lt_reload_flag
-reload_cmds=$lt_reload_cmds
-
-# How to pass a linker flag through the compiler.
-wl=$lt_lt_prog_compiler_wl_RC
-
-# Object file suffix (normally "o").
-objext="$ac_objext"
-
-# Old archive suffix (normally "a").
-libext="$libext"
-
-# Shared library suffix (normally ".so").
-shrext_cmds='$shrext_cmds'
-
-# Executable file suffix (normally "").
-exeext="$exeext"
-
-# Additional compiler flags for building library objects.
-pic_flag=$lt_lt_prog_compiler_pic_RC
-pic_mode=$pic_mode
-
-# What is the maximum length of a command?
-max_cmd_len=$lt_cv_sys_max_cmd_len
-
-# Does compiler simultaneously support -c and -o options?
-compiler_c_o=$lt_lt_cv_prog_compiler_c_o_RC
-
-# Must we lock files when doing compilation?
-need_locks=$lt_need_locks
-
-# Do we need the lib prefix for modules?
-need_lib_prefix=$need_lib_prefix
-
-# Do we need a version for libraries?
-need_version=$need_version
-
-# Whether dlopen is supported.
-dlopen_support=$enable_dlopen
-
-# Whether dlopen of programs is supported.
-dlopen_self=$enable_dlopen_self
-
-# Whether dlopen of statically linked programs is supported.
-dlopen_self_static=$enable_dlopen_self_static
-
-# Compiler flag to prevent dynamic linking.
-link_static_flag=$lt_lt_prog_compiler_static_RC
-
-# Compiler flag to turn off builtin functions.
-no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_RC
-
-# Compiler flag to allow reflexive dlopens.
-export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_RC
-
-# Compiler flag to generate shared objects directly from archives.
-whole_archive_flag_spec=$lt_whole_archive_flag_spec_RC
-
-# Compiler flag to generate thread-safe objects.
-thread_safe_flag_spec=$lt_thread_safe_flag_spec_RC
-
-# Library versioning type.
-version_type=$version_type
-
-# Format of library name prefix.
-libname_spec=$lt_libname_spec
-
-# List of archive names. First name is the real one, the rest are links.
-# The last name is the one that the linker finds with -lNAME.
-library_names_spec=$lt_library_names_spec
-
-# The coded name of the library, if different from the real name.
-soname_spec=$lt_soname_spec
-
-# Commands used to build and install an old-style archive.
-RANLIB=$lt_RANLIB
-old_archive_cmds=$lt_old_archive_cmds_RC
-old_postinstall_cmds=$lt_old_postinstall_cmds
-old_postuninstall_cmds=$lt_old_postuninstall_cmds
-
-# Create an old-style archive from a shared archive.
-old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_RC
-
-# Create a temporary old-style archive to link instead of a shared archive.
-old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_RC
-
-# Commands used to build and install a shared archive.
-archive_cmds=$lt_archive_cmds_RC
-archive_expsym_cmds=$lt_archive_expsym_cmds_RC
-postinstall_cmds=$lt_postinstall_cmds
-postuninstall_cmds=$lt_postuninstall_cmds
-
-# Commands used to build a loadable module (assumed same as above if empty)
-module_cmds=$lt_module_cmds_RC
-module_expsym_cmds=$lt_module_expsym_cmds_RC
-
-# Commands to strip libraries.
-old_striplib=$lt_old_striplib
-striplib=$lt_striplib
-
-# Dependencies to place before the objects being linked to create a
-# shared library.
-predep_objects=$lt_predep_objects_RC
-
-# Dependencies to place after the objects being linked to create a
-# shared library.
-postdep_objects=$lt_postdep_objects_RC
-
-# Dependencies to place before the objects being linked to create a
-# shared library.
-predeps=$lt_predeps_RC
-
-# Dependencies to place after the objects being linked to create a
-# shared library.
-postdeps=$lt_postdeps_RC
-
-# The library search path used internally by the compiler when linking
-# a shared library.
-compiler_lib_search_path=$lt_compiler_lib_search_path_RC
-
-# Method to check whether dependent libraries are shared objects.
-deplibs_check_method=$lt_deplibs_check_method
-
-# Command to use when deplibs_check_method == file_magic.
-file_magic_cmd=$lt_file_magic_cmd
-
-# Flag that allows shared libraries with undefined symbols to be built.
-allow_undefined_flag=$lt_allow_undefined_flag_RC
-
-# Flag that forces no undefined symbols.
-no_undefined_flag=$lt_no_undefined_flag_RC
-
-# Commands used to finish a libtool library installation in a directory.
-finish_cmds=$lt_finish_cmds
-
-# Same as above, but a single script fragment to be evaled but not shown.
-finish_eval=$lt_finish_eval
-
-# Take the output of nm and produce a listing of raw symbols and C names.
-global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
-
-# Transform the output of nm in a proper C declaration
-global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
-
-# Transform the output of nm in a C name address pair
-global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
-
-# This is the shared library runtime path variable.
-runpath_var=$runpath_var
-
-# This is the shared library path variable.
-shlibpath_var=$shlibpath_var
-
-# Is shlibpath searched before the hard-coded library search path?
-shlibpath_overrides_runpath=$shlibpath_overrides_runpath
-
-# How to hardcode a shared library path into an executable.
-hardcode_action=$hardcode_action_RC
-
-# Whether we should hardcode library paths into libraries.
-hardcode_into_libs=$hardcode_into_libs
-
-# Flag to hardcode \$libdir into a binary during linking.
-# This must work even if \$libdir does not exist.
-hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_RC
-
-# If ld is used when linking, flag to hardcode \$libdir into
-# a binary during linking. This must work even if \$libdir does
-# not exist.
-hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_RC
-
-# Whether we need a single -rpath flag with a separated argument.
-hardcode_libdir_separator=$lt_hardcode_libdir_separator_RC
-
-# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the
-# resulting binary.
-hardcode_direct=$hardcode_direct_RC
-
-# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
-# resulting binary.
-hardcode_minus_L=$hardcode_minus_L_RC
-
-# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into
-# the resulting binary.
-hardcode_shlibpath_var=$hardcode_shlibpath_var_RC
-
-# Set to yes if building a shared library automatically hardcodes DIR into the library
-# and all subsequent libraries and executables linked against it.
-hardcode_automatic=$hardcode_automatic_RC
-
-# Variables whose values should be saved in libtool wrapper scripts and
-# restored at relink time.
-variables_saved_for_relink="$variables_saved_for_relink"
-
-# Whether libtool must link a program against all its dependency libraries.
-link_all_deplibs=$link_all_deplibs_RC
-
-# Compile-time system search path for libraries
-sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
-
-# Run-time system search path for libraries
-sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
-
-# Fix the shell variable \$srcfile for the compiler.
-fix_srcfile_path="$fix_srcfile_path_RC"
-
-# Set to yes if exported symbols are required.
-always_export_symbols=$always_export_symbols_RC
-
-# The commands to list exported symbols.
-export_symbols_cmds=$lt_export_symbols_cmds_RC
-
-# The commands to extract the exported symbol list from a shared archive.
-extract_expsyms_cmds=$lt_extract_expsyms_cmds
-
-# Symbols that should not be listed in the preloaded symbols.
-exclude_expsyms=$lt_exclude_expsyms_RC
-
-# Symbols that must always be exported.
-include_expsyms=$lt_include_expsyms_RC
-
-# ### END LIBTOOL TAG CONFIG: $tagname
-
-__EOF__
-
-
-else
- # If there is no Makefile yet, we rely on a make rule to execute
- # `config.status --recheck' to rerun these tests and create the
- # libtool script then.
- ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'`
- if test -f "$ltmain_in"; then
- test -f Makefile && make "$ltmain"
- fi
-fi
-
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-CC="$lt_save_CC"
-
- ;;
-
- *)
- { { echo "$as_me:$LINENO: error: Unsupported tag name: $tagname" >&5
-echo "$as_me: error: Unsupported tag name: $tagname" >&2;}
- { (exit 1); exit 1; }; }
- ;;
- esac
-
- # Append the new tag name to the list of available tags.
- if test -n "$tagname" ; then
- available_tags="$available_tags $tagname"
- fi
- fi
- done
- IFS="$lt_save_ifs"
-
- # Now substitute the updated list of available tags.
- if eval "sed -e 's/^available_tags=.*\$/available_tags=\"$available_tags\"/' \"$ofile\" > \"${ofile}T\""; then
- mv "${ofile}T" "$ofile"
- chmod +x "$ofile"
- else
- rm -f "${ofile}T"
- { { echo "$as_me:$LINENO: error: unable to update list of available tagged configurations." >&5
-echo "$as_me: error: unable to update list of available tagged configurations." >&2;}
- { (exit 1); exit 1; }; }
- fi
-fi
-
-
-
-# This can be used to rebuild libtool when needed
-LIBTOOL_DEPS="$ac_aux_dir/ltmain.sh"
-
-# Always use our own libtool.
-LIBTOOL='$(SHELL) $(top_builddir)/libtool'
-
-# Prevent multiple expansion
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-DATE="`date '+%a %d %B %Y'`"
-
-
-OPROFILE_DIR=`pwd`
-
-
-# this needs to come before --with-gcc so we link with binutil's version
-# of libiberty ... sigh
-
-# Check whether --with-binutils or --without-binutils was given.
-if test "${with_binutils+set}" = set; then
- withval="$with_binutils"
- BINUTILSDIR=$withval
-fi;
-
-if test "$BINUTILSDIR" != ""; then
- LD="$BINUTILSDIR/ld"
- if test "$CFLAGS" = ""; then
- CFLAGS="-g -O2"
- fi
- if test "$CXXFLAGS" = ""; then
- CXXFLAGS="-g -O2"
- fi
- CFLAGS="$CFLAGS -I$BINUTILSDIR/include"
- CXXFLAGS="$CXXFLAGS -I$BINUTILSDIR/include"
-
-# Check whether --with-binutils-libname or --without-binutils-libname was given.
-if test "${with_binutils_libname+set}" = set; then
- withval="$with_binutils_libname"
- BINUTILSLIB=$withval
-fi;
- if test "$BINUTILSLIB" = ""; then
- BINUTILSLIB="lib"
- fi
- LDFLAGS="$LDFLAGS -L$BINUTILSDIR/$BINUTILSLIB -Xlinker -R -Xlinker $BINUTILSDIR/$BINUTILSLIB"
-fi
-
-
-# Check whether --with-gcc or --without-gcc was given.
-if test "${with_gcc+set}" = set; then
- withval="$with_gcc"
- GCCDIR=$withval
-fi;
-
-if test "$GCCDIR" != ""; then
- CC="$GCCDIR/bin/gcc"
- CXX="$GCCDIR/bin/g++"
- LDFLAGS="$LDFLAGS -L$GCCDIR/lib -Xlinker -R -Xlinker $GCCDIR/lib"
-fi
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
-set dummy ${ac_tool_prefix}gcc; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_CC+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_CC="${ac_tool_prefix}gcc"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
- echo "$as_me:$LINENO: result: $CC" >&5
-echo "${ECHO_T}$CC" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
-fi
-if test -z "$ac_cv_prog_CC"; then
- ac_ct_CC=$CC
- # Extract the first word of "gcc", so it can be a program name with args.
-set dummy gcc; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$ac_ct_CC"; then
- ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_CC="gcc"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
- echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
-echo "${ECHO_T}$ac_ct_CC" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
- CC=$ac_ct_CC
-else
- CC="$ac_cv_prog_CC"
-fi
-
-if test -z "$CC"; then
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
-set dummy ${ac_tool_prefix}cc; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_CC+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_CC="${ac_tool_prefix}cc"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
- echo "$as_me:$LINENO: result: $CC" >&5
-echo "${ECHO_T}$CC" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
-fi
-if test -z "$ac_cv_prog_CC"; then
- ac_ct_CC=$CC
- # Extract the first word of "cc", so it can be a program name with args.
-set dummy cc; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$ac_ct_CC"; then
- ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_CC="cc"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
- echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
-echo "${ECHO_T}$ac_ct_CC" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
- CC=$ac_ct_CC
-else
- CC="$ac_cv_prog_CC"
-fi
-
-fi
-if test -z "$CC"; then
- # Extract the first word of "cc", so it can be a program name with args.
-set dummy cc; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_CC+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
- ac_prog_rejected=no
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
- ac_prog_rejected=yes
- continue
- fi
- ac_cv_prog_CC="cc"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
-if test $ac_prog_rejected = yes; then
- # We found a bogon in the path, so make sure we never use it.
- set dummy $ac_cv_prog_CC
- shift
- if test $# != 0; then
- # We chose a different compiler from the bogus one.
- # However, it has the same basename, so the bogon will be chosen
- # first if we set CC to just the basename; use the full file name.
- shift
- ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
- fi
-fi
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
- echo "$as_me:$LINENO: result: $CC" >&5
-echo "${ECHO_T}$CC" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
-fi
-if test -z "$CC"; then
- if test -n "$ac_tool_prefix"; then
- for ac_prog in cl
- do
- # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_CC+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
- echo "$as_me:$LINENO: result: $CC" >&5
-echo "${ECHO_T}$CC" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
- test -n "$CC" && break
- done
-fi
-if test -z "$CC"; then
- ac_ct_CC=$CC
- for ac_prog in cl
-do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$ac_ct_CC"; then
- ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_CC="$ac_prog"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
- echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
-echo "${ECHO_T}$ac_ct_CC" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
- test -n "$ac_ct_CC" && break
-done
-
- CC=$ac_ct_CC
-fi
-
-fi
-
-
-test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH
-See \`config.log' for more details." >&5
-echo "$as_me: error: no acceptable C compiler found in \$PATH
-See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }
-
-# Provide some information about the compiler.
-echo "$as_me:$LINENO:" \
- "checking for C compiler version" >&5
-ac_compiler=`set X $ac_compile; echo $2`
-{ (eval echo "$as_me:$LINENO: \"$ac_compiler --version </dev/null >&5\"") >&5
- (eval $ac_compiler --version </dev/null >&5) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }
-{ (eval echo "$as_me:$LINENO: \"$ac_compiler -v </dev/null >&5\"") >&5
- (eval $ac_compiler -v </dev/null >&5) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }
-{ (eval echo "$as_me:$LINENO: \"$ac_compiler -V </dev/null >&5\"") >&5
- (eval $ac_compiler -V </dev/null >&5) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }
-
-echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5
-echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6
-if test "${ac_cv_c_compiler_gnu+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-#ifndef __GNUC__
- choke me
-#endif
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_compiler_gnu=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_compiler_gnu=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-ac_cv_c_compiler_gnu=$ac_compiler_gnu
-
-fi
-echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5
-echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6
-GCC=`test $ac_compiler_gnu = yes && echo yes`
-ac_test_CFLAGS=${CFLAGS+set}
-ac_save_CFLAGS=$CFLAGS
-CFLAGS="-g"
-echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5
-echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6
-if test "${ac_cv_prog_cc_g+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_prog_cc_g=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_prog_cc_g=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5
-echo "${ECHO_T}$ac_cv_prog_cc_g" >&6
-if test "$ac_test_CFLAGS" = set; then
- CFLAGS=$ac_save_CFLAGS
-elif test $ac_cv_prog_cc_g = yes; then
- if test "$GCC" = yes; then
- CFLAGS="-g -O2"
- else
- CFLAGS="-g"
- fi
-else
- if test "$GCC" = yes; then
- CFLAGS="-O2"
- else
- CFLAGS=
- fi
-fi
-echo "$as_me:$LINENO: checking for $CC option to accept ANSI C" >&5
-echo $ECHO_N "checking for $CC option to accept ANSI C... $ECHO_C" >&6
-if test "${ac_cv_prog_cc_stdc+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_cv_prog_cc_stdc=no
-ac_save_CC=$CC
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <stdarg.h>
-#include <stdio.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */
-struct buf { int x; };
-FILE * (*rcsopen) (struct buf *, struct stat *, int);
-static char *e (p, i)
- char **p;
- int i;
-{
- return p[i];
-}
-static char *f (char * (*g) (char **, int), char **p, ...)
-{
- char *s;
- va_list v;
- va_start (v,p);
- s = g (p, va_arg (v,int));
- va_end (v);
- return s;
-}
-
-/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has
- function prototypes and stuff, but not '\xHH' hex character constants.
- These don't provoke an error unfortunately, instead are silently treated
- as 'x'. The following induces an error, until -std1 is added to get
- proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an
- array size at least. It's necessary to write '\x00'==0 to get something
- that's true only with -std1. */
-int osf4_cc_array ['\x00' == 0 ? 1 : -1];
-
-int test (int i, double x);
-struct s1 {int (*f) (int a);};
-struct s2 {int (*f) (double a);};
-int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
-int argc;
-char **argv;
-int
-main ()
-{
-return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1];
- ;
- return 0;
-}
-_ACEOF
-# Don't try gcc -ansi; that turns off useful extensions and
-# breaks some systems' header files.
-# AIX -qlanglvl=ansi
-# Ultrix and OSF/1 -std1
-# HP-UX 10.20 and later -Ae
-# HP-UX older versions -Aa -D_HPUX_SOURCE
-# SVR4 -Xc -D__EXTENSIONS__
-for ac_arg in "" -qlanglvl=ansi -std1 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
-do
- CC="$ac_save_CC $ac_arg"
- rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_prog_cc_stdc=$ac_arg
-break
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-fi
-rm -f conftest.err conftest.$ac_objext
-done
-rm -f conftest.$ac_ext conftest.$ac_objext
-CC=$ac_save_CC
-
-fi
-
-case "x$ac_cv_prog_cc_stdc" in
- x|xno)
- echo "$as_me:$LINENO: result: none needed" >&5
-echo "${ECHO_T}none needed" >&6 ;;
- *)
- echo "$as_me:$LINENO: result: $ac_cv_prog_cc_stdc" >&5
-echo "${ECHO_T}$ac_cv_prog_cc_stdc" >&6
- CC="$CC $ac_cv_prog_cc_stdc" ;;
-esac
-
-# Some people use a C++ compiler to compile C. Since we use `exit',
-# in C++ we need to declare it. In case someone uses the same compiler
-# for both compiling C and C++ we need to have the C++ compiler decide
-# the declaration of exit, since it's the most demanding environment.
-cat >conftest.$ac_ext <<_ACEOF
-#ifndef __cplusplus
- choke me
-#endif
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- for ac_declaration in \
- '' \
- 'extern "C" void std::exit (int) throw (); using std::exit;' \
- 'extern "C" void std::exit (int); using std::exit;' \
- 'extern "C" void exit (int) throw ();' \
- 'extern "C" void exit (int);' \
- 'void exit (int);'
-do
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_declaration
-#include <stdlib.h>
-int
-main ()
-{
-exit (42);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- :
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-continue
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_declaration
-int
-main ()
-{
-exit (42);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- break
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-done
-rm -f conftest*
-if test -n "$ac_declaration"; then
- echo '#ifdef __cplusplus' >>confdefs.h
- echo $ac_declaration >>confdefs.h
- echo '#endif' >>confdefs.h
-fi
-
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-depcc="$CC" am_compiler_list=
-
-echo "$as_me:$LINENO: checking dependency style of $depcc" >&5
-echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6
-if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
- # We make a subdir and do the tests there. Otherwise we can end up
- # making bogus files that we don't know about and never remove. For
- # instance it was reported that on HP-UX the gcc test will end up
- # making a dummy file named `D' -- because `-MD' means `put the output
- # in D'.
- mkdir conftest.dir
- # Copy depcomp to subdir because otherwise we won't find it if we're
- # using a relative directory.
- cp "$am_depcomp" conftest.dir
- cd conftest.dir
- # We will build objects and dependencies in a subdirectory because
- # it helps to detect inapplicable dependency modes. For instance
- # both Tru64's cc and ICC support -MD to output dependencies as a
- # side effect of compilation, but ICC will put the dependencies in
- # the current directory while Tru64 will put them in the object
- # directory.
- mkdir sub
-
- am_cv_CC_dependencies_compiler_type=none
- if test "$am_compiler_list" = ""; then
- am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
- fi
- for depmode in $am_compiler_list; do
- # Setup a source with many dependencies, because some compilers
- # like to wrap large dependency lists on column 80 (with \), and
- # we should not choose a depcomp mode which is confused by this.
- #
- # We need to recreate these files for each test, as the compiler may
- # overwrite some of them when testing with obscure command lines.
- # This happens at least with the AIX C compiler.
- : > sub/conftest.c
- for i in 1 2 3 4 5 6; do
- echo '#include "conftst'$i'.h"' >> sub/conftest.c
- # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
- # Solaris 8's {/usr,}/bin/sh.
- touch sub/conftst$i.h
- done
- echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
-
- case $depmode in
- nosideeffect)
- # after this tag, mechanisms are not by side-effect, so they'll
- # only be used when explicitly requested
- if test "x$enable_dependency_tracking" = xyes; then
- continue
- else
- break
- fi
- ;;
- none) break ;;
- esac
- # We check with `-c' and `-o' for the sake of the "dashmstdout"
- # mode. It turns out that the SunPro C++ compiler does not properly
- # handle `-M -o', and we need to detect this.
- if depmode=$depmode \
- source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \
- depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
- $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \
- >/dev/null 2>conftest.err &&
- grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
- grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 &&
- ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
- # icc doesn't choke on unknown options, it will just issue warnings
- # or remarks (even with -Werror). So we grep stderr for any message
- # that says an option was ignored or not supported.
- # When given -MP, icc 7.0 and 7.1 complain thusly:
- # icc: Command line warning: ignoring option '-M'; no argument required
- # The diagnosis changed in icc 8.0:
- # icc: Command line remark: option '-MP' not supported
- if (grep 'ignoring option' conftest.err ||
- grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
- am_cv_CC_dependencies_compiler_type=$depmode
- break
- fi
- fi
- done
-
- cd ..
- rm -rf conftest.dir
-else
- am_cv_CC_dependencies_compiler_type=none
-fi
-
-fi
-echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5
-echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6
-CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
-
-
-
-if
- test "x$enable_dependency_tracking" != xno \
- && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then
- am__fastdepCC_TRUE=
- am__fastdepCC_FALSE='#'
-else
- am__fastdepCC_TRUE='#'
- am__fastdepCC_FALSE=
-fi
-
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5
-echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6
-# On Suns, sometimes $CPP names a directory.
-if test -n "$CPP" && test -d "$CPP"; then
- CPP=
-fi
-if test -z "$CPP"; then
- if test "${ac_cv_prog_CPP+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- # Double quotes because CPP needs to be expanded
- for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
- do
- ac_preproc_ok=false
-for ac_c_preproc_warn_flag in '' yes
-do
- # Use a header file that comes with gcc, so configuring glibc
- # with a fresh cross-compiler works.
- # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- # <limits.h> exists even on freestanding compilers.
- # On the NeXT, cc -E runs the code through the compiler's parser,
- # not just through cpp. "Syntax error" is here to catch this case.
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
- Syntax error
-_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_c_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
- :
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- # Broken: fails on valid input.
-continue
-fi
-rm -f conftest.err conftest.$ac_ext
-
- # OK, works on sane cases. Now check whether non-existent headers
- # can be detected and how.
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <ac_nonexistent.h>
-_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_c_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
- # Broken: success on invalid input.
-continue
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-rm -f conftest.err conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then
- break
-fi
-
- done
- ac_cv_prog_CPP=$CPP
-
-fi
- CPP=$ac_cv_prog_CPP
-else
- ac_cv_prog_CPP=$CPP
-fi
-echo "$as_me:$LINENO: result: $CPP" >&5
-echo "${ECHO_T}$CPP" >&6
-ac_preproc_ok=false
-for ac_c_preproc_warn_flag in '' yes
-do
- # Use a header file that comes with gcc, so configuring glibc
- # with a fresh cross-compiler works.
- # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- # <limits.h> exists even on freestanding compilers.
- # On the NeXT, cc -E runs the code through the compiler's parser,
- # not just through cpp. "Syntax error" is here to catch this case.
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
- Syntax error
-_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_c_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
- :
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- # Broken: fails on valid input.
-continue
-fi
-rm -f conftest.err conftest.$ac_ext
-
- # OK, works on sane cases. Now check whether non-existent headers
- # can be detected and how.
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <ac_nonexistent.h>
-_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_c_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
- # Broken: success on invalid input.
-continue
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-rm -f conftest.err conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then
- :
-else
- { { echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check
-See \`config.log' for more details." >&5
-echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check
-See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }
-fi
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-if test -n "$ac_tool_prefix"; then
- for ac_prog in $CCC g++ c++ gpp aCC CC cxx cc++ cl FCC KCC RCC xlC_r xlC
- do
- # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_CXX+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$CXX"; then
- ac_cv_prog_CXX="$CXX" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_CXX="$ac_tool_prefix$ac_prog"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
-fi
-fi
-CXX=$ac_cv_prog_CXX
-if test -n "$CXX"; then
- echo "$as_me:$LINENO: result: $CXX" >&5
-echo "${ECHO_T}$CXX" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
- test -n "$CXX" && break
- done
-fi
-if test -z "$CXX"; then
- ac_ct_CXX=$CXX
- for ac_prog in $CCC g++ c++ gpp aCC CC cxx cc++ cl FCC KCC RCC xlC_r xlC
-do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$ac_ct_CXX"; then
- ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_CXX="$ac_prog"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
-fi
-fi
-ac_ct_CXX=$ac_cv_prog_ac_ct_CXX
-if test -n "$ac_ct_CXX"; then
- echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5
-echo "${ECHO_T}$ac_ct_CXX" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
- test -n "$ac_ct_CXX" && break
-done
-test -n "$ac_ct_CXX" || ac_ct_CXX="g++"
-
- CXX=$ac_ct_CXX
-fi
-
-
-# Provide some information about the compiler.
-echo "$as_me:$LINENO:" \
- "checking for C++ compiler version" >&5
-ac_compiler=`set X $ac_compile; echo $2`
-{ (eval echo "$as_me:$LINENO: \"$ac_compiler --version </dev/null >&5\"") >&5
- (eval $ac_compiler --version </dev/null >&5) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }
-{ (eval echo "$as_me:$LINENO: \"$ac_compiler -v </dev/null >&5\"") >&5
- (eval $ac_compiler -v </dev/null >&5) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }
-{ (eval echo "$as_me:$LINENO: \"$ac_compiler -V </dev/null >&5\"") >&5
- (eval $ac_compiler -V </dev/null >&5) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }
-
-echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5
-echo $ECHO_N "checking whether we are using the GNU C++ compiler... $ECHO_C" >&6
-if test "${ac_cv_cxx_compiler_gnu+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-#ifndef __GNUC__
- choke me
-#endif
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_compiler_gnu=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_compiler_gnu=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-ac_cv_cxx_compiler_gnu=$ac_compiler_gnu
-
-fi
-echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5
-echo "${ECHO_T}$ac_cv_cxx_compiler_gnu" >&6
-GXX=`test $ac_compiler_gnu = yes && echo yes`
-ac_test_CXXFLAGS=${CXXFLAGS+set}
-ac_save_CXXFLAGS=$CXXFLAGS
-CXXFLAGS="-g"
-echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5
-echo $ECHO_N "checking whether $CXX accepts -g... $ECHO_C" >&6
-if test "${ac_cv_prog_cxx_g+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_prog_cxx_g=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_prog_cxx_g=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5
-echo "${ECHO_T}$ac_cv_prog_cxx_g" >&6
-if test "$ac_test_CXXFLAGS" = set; then
- CXXFLAGS=$ac_save_CXXFLAGS
-elif test $ac_cv_prog_cxx_g = yes; then
- if test "$GXX" = yes; then
- CXXFLAGS="-g -O2"
- else
- CXXFLAGS="-g"
- fi
-else
- if test "$GXX" = yes; then
- CXXFLAGS="-O2"
- else
- CXXFLAGS=
- fi
-fi
-for ac_declaration in \
- '' \
- 'extern "C" void std::exit (int) throw (); using std::exit;' \
- 'extern "C" void std::exit (int); using std::exit;' \
- 'extern "C" void exit (int) throw ();' \
- 'extern "C" void exit (int);' \
- 'void exit (int);'
-do
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_declaration
-#include <stdlib.h>
-int
-main ()
-{
-exit (42);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- :
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-continue
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_declaration
-int
-main ()
-{
-exit (42);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- break
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-done
-rm -f conftest*
-if test -n "$ac_declaration"; then
- echo '#ifdef __cplusplus' >>confdefs.h
- echo $ac_declaration >>confdefs.h
- echo '#endif' >>confdefs.h
-fi
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-depcc="$CXX" am_compiler_list=
-
-echo "$as_me:$LINENO: checking dependency style of $depcc" >&5
-echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6
-if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
- # We make a subdir and do the tests there. Otherwise we can end up
- # making bogus files that we don't know about and never remove. For
- # instance it was reported that on HP-UX the gcc test will end up
- # making a dummy file named `D' -- because `-MD' means `put the output
- # in D'.
- mkdir conftest.dir
- # Copy depcomp to subdir because otherwise we won't find it if we're
- # using a relative directory.
- cp "$am_depcomp" conftest.dir
- cd conftest.dir
- # We will build objects and dependencies in a subdirectory because
- # it helps to detect inapplicable dependency modes. For instance
- # both Tru64's cc and ICC support -MD to output dependencies as a
- # side effect of compilation, but ICC will put the dependencies in
- # the current directory while Tru64 will put them in the object
- # directory.
- mkdir sub
-
- am_cv_CXX_dependencies_compiler_type=none
- if test "$am_compiler_list" = ""; then
- am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
- fi
- for depmode in $am_compiler_list; do
- # Setup a source with many dependencies, because some compilers
- # like to wrap large dependency lists on column 80 (with \), and
- # we should not choose a depcomp mode which is confused by this.
- #
- # We need to recreate these files for each test, as the compiler may
- # overwrite some of them when testing with obscure command lines.
- # This happens at least with the AIX C compiler.
- : > sub/conftest.c
- for i in 1 2 3 4 5 6; do
- echo '#include "conftst'$i'.h"' >> sub/conftest.c
- # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
- # Solaris 8's {/usr,}/bin/sh.
- touch sub/conftst$i.h
- done
- echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
-
- case $depmode in
- nosideeffect)
- # after this tag, mechanisms are not by side-effect, so they'll
- # only be used when explicitly requested
- if test "x$enable_dependency_tracking" = xyes; then
- continue
- else
- break
- fi
- ;;
- none) break ;;
- esac
- # We check with `-c' and `-o' for the sake of the "dashmstdout"
- # mode. It turns out that the SunPro C++ compiler does not properly
- # handle `-M -o', and we need to detect this.
- if depmode=$depmode \
- source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \
- depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
- $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \
- >/dev/null 2>conftest.err &&
- grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
- grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 &&
- ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
- # icc doesn't choke on unknown options, it will just issue warnings
- # or remarks (even with -Werror). So we grep stderr for any message
- # that says an option was ignored or not supported.
- # When given -MP, icc 7.0 and 7.1 complain thusly:
- # icc: Command line warning: ignoring option '-M'; no argument required
- # The diagnosis changed in icc 8.0:
- # icc: Command line remark: option '-MP' not supported
- if (grep 'ignoring option' conftest.err ||
- grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
- am_cv_CXX_dependencies_compiler_type=$depmode
- break
- fi
- fi
- done
-
- cd ..
- rm -rf conftest.dir
-else
- am_cv_CXX_dependencies_compiler_type=none
-fi
-
-fi
-echo "$as_me:$LINENO: result: $am_cv_CXX_dependencies_compiler_type" >&5
-echo "${ECHO_T}$am_cv_CXX_dependencies_compiler_type" >&6
-CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type
-
-
-
-if
- test "x$enable_dependency_tracking" != xno \
- && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then
- am__fastdepCXX_TRUE=
- am__fastdepCXX_FALSE='#'
-else
- am__fastdepCXX_TRUE='#'
- am__fastdepCXX_FALSE=
-fi
-
-
-# Extract the first word of "ld", so it can be a program name with args.
-set dummy ld; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_LD+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$LD"; then
- ac_cv_prog_LD="$LD" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_LD="ld"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
-fi
-fi
-LD=$ac_cv_prog_LD
-if test -n "$LD"; then
- echo "$as_me:$LINENO: result: $LD" >&5
-echo "${ECHO_T}$LD" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
-test "$LD" || { { echo "$as_me:$LINENO: error: ld not found" >&5
-echo "$as_me: error: ld not found" >&2;}
- { (exit 1); exit 1; }; }
-
-
-echo "$as_me:$LINENO: checking for kernel OProfile support" >&5
-echo $ECHO_N "checking for kernel OProfile support... $ECHO_C" >&6
-
-# Check whether --with-kernel-support or --without-kernel-support was given.
-if test "${with_kernel_support+set}" = set; then
- withval="$with_kernel_support"
- if test "$withval" = "yes"; then
- OPROFILE_26=yes
-fi
-
-fi;
-
-if test "$OPROFILE_26" != "yes"; then
-
-
- KSRC=/lib/modules/`uname -r`/build
-
-# Check whether --with-linux or --without-linux was given.
-if test "${with_linux+set}" = set; then
- withval="$with_linux"
- KSRC=$withval
-fi;
- KINC=$KSRC/include
-
-
-
-SAVE_CFLAGS=$CFLAGS
-CFLAGS="-I$KINC -O2 -D__KERNEL__"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <linux/autoconf.h>
-int
-main ()
-{
-
-#ifndef CONFIG_OPROFILE
-break_me_hard(\\\);
-#endif
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- OPROFILE_26=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-OPROFILE_26=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-CFLAGS=$SAVE_CFLAGS
-
-
-SAVE_CFLAGS=$CFLAGS
-CFLAGS="-I$KINC -O2 -D__KERNEL__"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <linux/autoconf.h>
-int
-main ()
-{
-
-#ifndef CONFIG_OPROFILE_MODULE
-break_me_hard(\\\);
-#endif
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- OPROFILE_26=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-OPROFILE_26=$OPROFILE_26
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-CFLAGS=$SAVE_CFLAGS
-
-fi
-echo "$as_me:$LINENO: result: $OPROFILE_26" >&5
-echo "${ECHO_T}$OPROFILE_26" >&6
-
-
-
-if test "$OPROFILE_26" = yes; then
- kernel_support_TRUE=
- kernel_support_FALSE='#'
-else
- kernel_support_TRUE='#'
- kernel_support_FALSE=
-fi
-
-
-
-
-if test "$OPROFILE_26" = "no"; then
-
-if test ! -f $KINC/linux/autoconf.h; then
- { { echo "$as_me:$LINENO: error: no suitably configured kernel include tree found" >&5
-echo "$as_me: error: no suitably configured kernel include tree found" >&2;}
- { (exit 1); exit 1; }; }
-fi
-
-
-
-echo "$as_me:$LINENO: checking for kernel version" >&5
-echo $ECHO_N "checking for kernel version... $ECHO_C" >&6
-eval KVERS=`gcc -I$KINC -E -dM $KINC/linux/version.h | grep -w UTS_RELEASE | awk '{print $3}'`
-echo "$as_me:$LINENO: result: $KVERS" >&5
-echo "${ECHO_T}$KVERS" >&6
-case "$KVERS" in
-2.2.*|2.4.*) ;;
-*) { { echo "$as_me:$LINENO: error: Unsupported kernel version" >&5
-echo "$as_me: error: Unsupported kernel version" >&2;}
- { (exit 1); exit 1; }; }
-esac
-
-echo "$as_me:$LINENO: checking kernel version" >&5
-echo $ECHO_N "checking kernel version... $ECHO_C" >&6
-
-SAVE_CFLAGS=$CFLAGS
-CFLAGS="-I$KINC -D__KERNEL__ -Werror"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
- #include <linux/version.h>
-
-int
-main ()
-{
-
- #if LINUX_VERSION_CODE <= KERNEL_VERSION(2, 2, 10)
- break_me_hard(\\\);
- #endif
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- echo "$as_me:$LINENO: result: ok" >&5
-echo "${ECHO_T}ok" >&6
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-{ { echo "$as_me:$LINENO: error: check html documentation install section" >&5
-echo "$as_me: error: check html documentation install section" >&2;}
- { (exit 1); exit 1; }; }
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-CFLAGS=$SAVE_CFLAGS
-
-
-echo "$as_me:$LINENO: checking for $KINC/linux/spinlock.h" >&5
-echo $ECHO_N "checking for $KINC/linux/spinlock.h... $ECHO_C" >&6
-if test -f $KINC/linux/spinlock.h; then
- EXTRA_CFLAGS_MODULE="$EXTRA_CFLAGS_MODULE -DHAVE_LINUX_SPINLOCK_HEADER"
- echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
-echo "$as_me:$LINENO: checking for rtc_lock" >&5
-echo $ECHO_N "checking for rtc_lock... $ECHO_C" >&6
-gcc -I$KINC -E $KINC/linux/mc146818rtc.h | grep rtc_lock >/dev/null
-if test "$?" -eq 0; then
- EXTRA_CFLAGS_MODULE="$EXTRA_CFLAGS_MODULE -DRTC_LOCK"
- echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
-arch="unknown"
-echo "$as_me:$LINENO: checking for x86 architecture" >&5
-echo $ECHO_N "checking for x86 architecture... $ECHO_C" >&6
-
-SAVE_CFLAGS=$CFLAGS
-CFLAGS="-I$KINC -O2 -D__KERNEL__"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <linux/autoconf.h>
-int
-main ()
-{
-
-#ifndef CONFIG_X86
-break_me_hard(\\\);
-#endif
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- x86=1
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-x86=0
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-CFLAGS=$SAVE_CFLAGS
-
-
-SAVE_CFLAGS=$CFLAGS
-CFLAGS="-I$KINC -O2 -D__KERNEL__"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <linux/autoconf.h>
-int
-main ()
-{
-
-#ifndef CONFIG_X86_WP_WORKS_OK
-break_me_hard(\\\);
-#endif
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- x86=1
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-x86=$x86
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-CFLAGS=$SAVE_CFLAGS
-
-x=no
-test "x$x86" = "x1" && x=yes
-echo "$as_me:$LINENO: result: $x" >&5
-echo "${ECHO_T}$x" >&6
-test "$x86" = 1 && arch="x86"
-
-if test "$arch" = "unknown"; then
- echo "$as_me:$LINENO: checking for ia64 architecture" >&5
-echo $ECHO_N "checking for ia64 architecture... $ECHO_C" >&6
-
-SAVE_CFLAGS=$CFLAGS
-CFLAGS="-I$KINC -O2 -D__KERNEL__"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <linux/autoconf.h>
-int
-main ()
-{
-
-#ifndef CONFIG_IA64
-break_me_hard(\\\);
-#endif
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ia64=1
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ia64=0
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-CFLAGS=$SAVE_CFLAGS
-
- x=no
-test "x$ia64" = "x1" && x=yes
-echo "$as_me:$LINENO: result: $x" >&5
-echo "${ECHO_T}$x" >&6
- test "$ia64" = 1 && arch="ia64"
-fi
-
-test "$arch" = "unknown" && { { echo "$as_me:$LINENO: error: Unsupported architecture" >&5
-echo "$as_me: error: Unsupported architecture" >&2;}
- { (exit 1); exit 1; }; }
-
-echo "$as_me:$LINENO: checking arch/kernel version combination" >&5
-echo $ECHO_N "checking arch/kernel version combination... $ECHO_C" >&6
-case "$arch" in
-ia64)
-
-SAVE_CFLAGS=$CFLAGS
-CFLAGS="-I$KINC -D__KERNEL__ -Werror"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
- #include <linux/version.h>
-
-int
-main ()
-{
-
- #if LINUX_VERSION_CODE < KERNEL_VERSION(2, 4, 18)
- break_me_hard(\\\);
- #endif
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- echo "$as_me:$LINENO: result: ok" >&5
-echo "${ECHO_T}ok" >&6
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-{ { echo "$as_me:$LINENO: error: unsupported arch/kernel" >&5
-echo "$as_me: error: unsupported arch/kernel" >&2;}
- { (exit 1); exit 1; }; }
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-CFLAGS=$SAVE_CFLAGS
- ;;
-*) echo "$as_me:$LINENO: result: ok" >&5
-echo "${ECHO_T}ok" >&6
-esac
-
-echo "$as_me:$LINENO: checking for preempt patch" >&5
-echo $ECHO_N "checking for preempt patch... $ECHO_C" >&6
-
-SAVE_CFLAGS=$CFLAGS
-CFLAGS="-I$KINC -O2 -D__KERNEL__"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <linux/autoconf.h>
-int
-main ()
-{
-
-#ifndef CONFIG_PREEMPT
-break_me_hard(\\\);
-#endif
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- preempt=1
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-preempt=0
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-CFLAGS=$SAVE_CFLAGS
-
-x=no
-test "x$preempt" = "x1" && x=yes
-echo "$as_me:$LINENO: result: $x" >&5
-echo "${ECHO_T}$x" >&6
-test "$preempt" = 0 || { { echo "$as_me:$LINENO: error: unsupported kernel configuration : CONFIG_PREEMPT" >&5
-echo "$as_me: error: unsupported kernel configuration : CONFIG_PREEMPT" >&2;}
- { (exit 1); exit 1; }; }
-
-
-
-MODINSTALLDIR=/lib/modules/$KVERS
-
-OPROFILE_MODULE_ARCH=$arch
-
-
-
-fi
-
-
-# Check whether --with-module-dir or --without-module-dir was given.
-if test "${with_module_dir+set}" = set; then
- withval="$with_module_dir"
- MODINSTALLDIR=$withval
-fi;
-
-
-
-# Check whether --with-java or --without-java was given.
-if test "${with_java+set}" = set; then
- withval="$with_java"
- JAVA_HOMEDIR=$withval
-fi;
-
-
-if test -n "$JAVA_HOMEDIR"; then
- as_ac_File=`echo "ac_cv_file_"$JAVA_HOMEDIR/include/jvmti.h"" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for \"$JAVA_HOMEDIR/include/jvmti.h\"" >&5
-echo $ECHO_N "checking for \"$JAVA_HOMEDIR/include/jvmti.h\"... $ECHO_C" >&6
-if eval "test \"\${$as_ac_File+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- test "$cross_compiling" = yes &&
- { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5
-echo "$as_me: error: cannot check for file existence when cross compiling" >&2;}
- { (exit 1); exit 1; }; }
-if test -r ""$JAVA_HOMEDIR/include/jvmti.h""; then
- eval "$as_ac_File=yes"
-else
- eval "$as_ac_File=no"
-fi
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_File'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_File'}'`" >&6
-if test `eval echo '${'$as_ac_File'}'` = yes; then
- JVMTI_H_EXISTS="yes"
-fi
-
- as_ac_File=`echo "ac_cv_file_"$JAVA_HOMEDIR/include/jvmpi.h"" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for \"$JAVA_HOMEDIR/include/jvmpi.h\"" >&5
-echo $ECHO_N "checking for \"$JAVA_HOMEDIR/include/jvmpi.h\"... $ECHO_C" >&6
-if eval "test \"\${$as_ac_File+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- test "$cross_compiling" = yes &&
- { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5
-echo "$as_me: error: cannot check for file existence when cross compiling" >&2;}
- { (exit 1); exit 1; }; }
-if test -r ""$JAVA_HOMEDIR/include/jvmpi.h""; then
- eval "$as_ac_File=yes"
-else
- eval "$as_ac_File=no"
-fi
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_File'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_File'}'`" >&6
-if test `eval echo '${'$as_ac_File'}'` = yes; then
- JVMPI_H_EXISTS="yes"
-fi
-
-fi
-
-
-
-if test -n "$JVMTI_H_EXISTS"; then
- BUILD_JVMTI_AGENT_TRUE=
- BUILD_JVMTI_AGENT_FALSE='#'
-else
- BUILD_JVMTI_AGENT_TRUE='#'
- BUILD_JVMTI_AGENT_FALSE=
-fi
-
-
-
-if test -n "$JVMPI_H_EXISTS"; then
- BUILD_JVMPI_AGENT_TRUE=
- BUILD_JVMPI_AGENT_FALSE='#'
-else
- BUILD_JVMPI_AGENT_TRUE='#'
- BUILD_JVMPI_AGENT_FALSE=
-fi
-
-
-
-echo "$as_me:$LINENO: checking whether malloc attribute is understood" >&5
-echo $ECHO_N "checking whether malloc attribute is understood... $ECHO_C" >&6
-SAVE_CFLAGS=$CFLAGS
-CFLAGS="-Werror $CFLAGS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-
-void monkey() __attribute__((malloc));
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6;
-cat >>confdefs.h <<\_ACEOF
-#define MALLOC_ATTRIBUTE_OK 1
-_ACEOF
-
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-CFLAGS=$SAVE_CFLAGS
-
-
-
-echo "$as_me:$LINENO: checking whether __builtin_expect is understood" >&5
-echo $ECHO_N "checking whether __builtin_expect is understood... $ECHO_C" >&6
-SAVE_CFLAGS=$CFLAGS
-CFLAGS="-Werror $CFLAGS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-
-int i;
-if (__builtin_expect(i, 0)) { }
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; EXTRA_CFLAGS_MODULE="$EXTRA_CFLAGS_MODULE -DEXPECT_OK"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6;
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-CFLAGS=$SAVE_CFLAGS
-
-
-
-
-
-topdir=`pwd`
-
-
-
-
-# Check whether --with-extra-includes or --without-extra-includes was given.
-if test "${with_extra_includes+set}" = set; then
- withval="$with_extra_includes"
- use_extra_includes="$withval"
-else
- use_extra_includes=NO
-
-fi;
-if test -n "$use_extra_includes" && \
- test "$use_extra_includes" != "NO"; then
- ac_save_ifs=$IFS
- IFS=':'
- for dir in $use_extra_includes; do
- extra_includes="$extra_includes -I$dir"
- done
- IFS=$ac_save_ifs
- CPPFLAGS="$CPPFLAGS $extra_includes"
-fi
-
-
-# Check whether --with-extra-libs or --without-extra-libs was given.
-if test "${with_extra_libs+set}" = set; then
- withval="$with_extra_libs"
- use_extra_libs=$withval
-else
- use_extra_libs=NO
-
-fi;
-if test -n "$use_extra_libs" && \
- test "$use_extra_libs" != "NO"; then
- ac_save_ifs=$IFS
- IFS=':'
- for dir in $use_extra_libs; do
- extra_libraries="$extra_libraries -L$dir"
- done
- IFS=$ac_save_ifs
- LDFLAGS="$LDFLAGS $extra_libraries"
-fi
-
-
-
-ORIG_SAVE_LIBS="$LIBS"
-
-
-
-for ac_func in sched_setaffinity perfmonctl
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
-
-
-echo "$as_me:$LINENO: checking for poptGetContext in -lpopt" >&5
-echo $ECHO_N "checking for poptGetContext in -lpopt... $ECHO_C" >&6
-if test "${ac_cv_lib_popt_poptGetContext+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lpopt $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char poptGetContext ();
-int
-main ()
-{
-poptGetContext ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_lib_popt_poptGetContext=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_lib_popt_poptGetContext=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_popt_poptGetContext" >&5
-echo "${ECHO_T}$ac_cv_lib_popt_poptGetContext" >&6
-if test $ac_cv_lib_popt_poptGetContext = yes; then
- cat >>confdefs.h <<_ACEOF
-#define HAVE_LIBPOPT 1
-_ACEOF
-
- LIBS="-lpopt $LIBS"
-
-else
- { { echo "$as_me:$LINENO: error: popt library not found" >&5
-echo "$as_me: error: popt library not found" >&2;}
- { (exit 1); exit 1; }; }
-fi
-
-
-
-for ac_header in libiberty.h
-do
-as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
-else
- # Is the header compilable?
-echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-#include <$ac_header>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_header_compiler=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_header_compiler=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
-
-# Is the header present?
-echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <$ac_header>
-_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_c_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
- ac_header_preproc=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_preproc=no
-fi
-rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
-
-# So? What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
- yes:no: )
- { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
- ac_header_preproc=yes
- ;;
- no:yes:* )
- { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
-echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
- (
- cat <<\_ASBOX
-## ------------------------------------------ ##
-## Report this to the AC_PACKAGE_NAME lists. ##
-## ------------------------------------------ ##
-_ASBOX
- ) |
- sed "s/^/$as_me: WARNING: /" >&2
- ;;
-esac
-echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- eval "$as_ac_Header=\$ac_header_preproc"
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
-
-fi
-if test `eval echo '${'$as_ac_Header'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
-
-echo "$as_me:$LINENO: checking for cplus_demangle in -liberty" >&5
-echo $ECHO_N "checking for cplus_demangle in -liberty... $ECHO_C" >&6
-if test "${ac_cv_lib_iberty_cplus_demangle+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-liberty $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char cplus_demangle ();
-int
-main ()
-{
-cplus_demangle ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_lib_iberty_cplus_demangle=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_lib_iberty_cplus_demangle=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_iberty_cplus_demangle" >&5
-echo "${ECHO_T}$ac_cv_lib_iberty_cplus_demangle" >&6
-if test $ac_cv_lib_iberty_cplus_demangle = yes; then
- cat >>confdefs.h <<_ACEOF
-#define HAVE_LIBIBERTY 1
-_ACEOF
-
- LIBS="-liberty $LIBS"
-
-else
- { { echo "$as_me:$LINENO: error: liberty library not found" >&5
-echo "$as_me: error: liberty library not found" >&2;}
- { (exit 1); exit 1; }; }
-fi
-
-
-for ac_func in xcalloc
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
-
-for ac_func in xmemdup
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
-echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5
-echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6
-if test "${ac_cv_lib_dl_dlopen+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldl $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char dlopen ();
-int
-main ()
-{
-dlopen ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_lib_dl_dlopen=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_lib_dl_dlopen=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5
-echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6
-if test $ac_cv_lib_dl_dlopen = yes; then
- LIBS="$LIBS -ldl"; DL_LIB="-ldl"
-else
- DL_LIB=""
-fi
-
-echo "$as_me:$LINENO: checking for main in -lintl" >&5
-echo $ECHO_N "checking for main in -lintl... $ECHO_C" >&6
-if test "${ac_cv_lib_intl_main+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lintl $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-
-int
-main ()
-{
-main ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_lib_intl_main=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_lib_intl_main=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_intl_main" >&5
-echo "${ECHO_T}$ac_cv_lib_intl_main" >&6
-if test $ac_cv_lib_intl_main = yes; then
- LIBS="$LIBS -lintl"; INTL_LIB="-lintl"
-else
- INTL_LIB=""
-fi
-
-
-echo "$as_me:$LINENO: checking for bfd_openr in -lbfd" >&5
-echo $ECHO_N "checking for bfd_openr in -lbfd... $ECHO_C" >&6
-if test "${ac_cv_lib_bfd_bfd_openr+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lbfd $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char bfd_openr ();
-int
-main ()
-{
-bfd_openr ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_lib_bfd_bfd_openr=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_lib_bfd_bfd_openr=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_bfd_bfd_openr" >&5
-echo "${ECHO_T}$ac_cv_lib_bfd_bfd_openr" >&6
-if test $ac_cv_lib_bfd_bfd_openr = yes; then
- LIBS="-lbfd $LIBS"; Z_LIB=""
-else
- echo "$as_me:$LINENO: checking for compress in -lz" >&5
-echo $ECHO_N "checking for compress in -lz... $ECHO_C" >&6
-if test "${ac_cv_lib_z_compress+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lz $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char compress ();
-int
-main ()
-{
-compress ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_lib_z_compress=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_lib_z_compress=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_z_compress" >&5
-echo "${ECHO_T}$ac_cv_lib_z_compress" >&6
-if test $ac_cv_lib_z_compress = yes; then
- echo "$as_me:$LINENO: checking for bfd_fdopenr in -lbfd" >&5
-echo $ECHO_N "checking for bfd_fdopenr in -lbfd... $ECHO_C" >&6
-if test "${ac_cv_lib_bfd_bfd_fdopenr+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lbfd -lz $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char bfd_fdopenr ();
-int
-main ()
-{
-bfd_fdopenr ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_lib_bfd_bfd_fdopenr=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_lib_bfd_bfd_fdopenr=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_bfd_bfd_fdopenr" >&5
-echo "${ECHO_T}$ac_cv_lib_bfd_bfd_fdopenr" >&6
-if test $ac_cv_lib_bfd_bfd_fdopenr = yes; then
- LIBS="-lbfd -lz $LIBS"; Z_LIB="-lz"
-else
- { { echo "$as_me:$LINENO: error: bfd library not found" >&5
-echo "$as_me: error: bfd library not found" >&2;}
- { (exit 1); exit 1; }; }
-fi
-
-
-else
- { { echo "$as_me:$LINENO: error: libz library not found; required by libbfd" >&5
-echo "$as_me: error: libz library not found; required by libbfd" >&2;}
- { (exit 1); exit 1; }; }
-fi
-
-
-
-fi
-
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-# Determine if bfd_get_synthetic_symtab macro is available
-OS="`uname`"
-if test "$OS" = "Linux"; then
- echo "$as_me:$LINENO: checking whether bfd_get_synthetic_symtab() exists in BFD library" >&5
-echo $ECHO_N "checking whether bfd_get_synthetic_symtab() exists in BFD library... $ECHO_C" >&6
- rm -f test-for-synth
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <bfd.h>
-int
-main ()
-{
-asymbol * synthsyms; bfd * ibfd = 0;
- long synth_count = bfd_get_synthetic_symtab(ibfd, 0, 0, 0, 0, &synthsyms);
- extern const bfd_target bfd_elf64_powerpc_vec;
- extern const bfd_target bfd_elf64_powerpcle_vec;
- char * ppc_name = bfd_elf64_powerpc_vec.name;
- char * ppcle_name = bfd_elf64_powerpcle_vec.name;
- printf("%s %s\n", ppc_name, ppcle_name);
- ;
- return 0;
-}
-
-_ACEOF
- $CC conftest.$ac_ext $CFLAGS $LDFLAGS $LIBS -o test-for-synth > /dev/null 2>&1
- if test -f test-for-synth; then
- echo "yes"
- SYNTHESIZE_SYMBOLS='1'
- else
- echo "no"
- SYNTHESIZE_SYMBOLS='0'
- fi
-
-cat >>confdefs.h <<_ACEOF
-#define SYNTHESIZE_SYMBOLS $SYNTHESIZE_SYMBOLS
-_ACEOF
-
- rm -f test-for-synth*
-
-fi
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-
-
-# On Cell BE architecture, OProfile uses bfd_openr_iovec when processing some
-# SPU profiles. To parse embedded SPU ELF on Cell BE, OProfile requires a
-# version of bfd_openr_iovec that supports the elf32-spu target.
-# This version of the function also has a 7th parameter that's been added.
-# First, we check for existence of the base bfd_openr_iovec. If it exists,
-# we then use a temporary test program below that passes 7 arguments to
-# bfd_openr_iovec; if it compiles OK, we assume we have the right BFD
-# library to support Cell BE SPU profiling.
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-echo "$as_me:$LINENO: checking for bfd_openr_iovec in -lbfd" >&5
-echo $ECHO_N "checking for bfd_openr_iovec in -lbfd... $ECHO_C" >&6
-if test "${ac_cv_lib_bfd_bfd_openr_iovec+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lbfd $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char bfd_openr_iovec ();
-int
-main ()
-{
-bfd_openr_iovec ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_lib_bfd_bfd_openr_iovec=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_lib_bfd_bfd_openr_iovec=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_bfd_bfd_openr_iovec" >&5
-echo "${ECHO_T}$ac_cv_lib_bfd_bfd_openr_iovec" >&6
-if test $ac_cv_lib_bfd_bfd_openr_iovec = yes; then
- bfd_openr_iovec_exists="yes"
-else
- bfd_openr_iovec_exists="no"
-
-fi
-
-
-if test "$bfd_openr_iovec_exists" = "yes"; then
- echo "$as_me:$LINENO: checking whether bfd_openr_iovec has seven parameters" >&5
-echo $ECHO_N "checking whether bfd_openr_iovec has seven parameters... $ECHO_C" >&6
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <bfd.h>
- #include <stdlib.h>
-
-int
-main ()
-{
-struct bfd *nbfd = bfd_openr_iovec("some-file", "elf32-spu",
- NULL, NULL, NULL, NULL, NULL);
- return 0;
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_BFD_OPENR_IOVEC_WITH_7PARMS
-_ACEOF
-
- bfd_open_iovec_7="yes"
- echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-arch="unknown"
-
-# Check whether --with-target or --without-target was given.
-if test "${with_target+set}" = set; then
- withval="$with_target"
- arch=$withval
-fi;
-
-if test "$arch" = "cell-be"; then
- if test "$bfd_open_iovec_7" = "yes"; then
- { echo "$as_me:$LINENO: BFD library has support for Cell Broadband Engine SPU profiling" >&5
-echo "$as_me: BFD library has support for Cell Broadband Engine SPU profiling" >&6;}
- else
- { { echo "$as_me:$LINENO: error: BFD library does not support elf32-spu target; SPU profiling is unsupported" >&5
-echo "$as_me: error: BFD library does not support elf32-spu target; SPU profiling is unsupported" >&2;}
- { (exit 1); exit 1; }; }
- fi
-fi
-
-
-
-# C++ tests
-
-ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
-
-
-echo "$as_me:$LINENO: checking popt prototype" >&5
-echo $ECHO_N "checking popt prototype... $ECHO_C" >&6
-SAVE_CXXFLAGS=$CXXFLAGS
-CXXFLAGS="-Werror $CXXFLAGS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <popt.h>
-int
-main ()
-{
-
-int c; char **v;
-poptGetContext(0, c, v, 0, 0);
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- echo "$as_me:$LINENO: result: takes char **" >&5
-echo "${ECHO_T}takes char **" >&6;
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-echo "$as_me:$LINENO: result: takes const char **" >&5
-echo "${ECHO_T}takes const char **" >&6;
-cat >>confdefs.h <<\_ACEOF
-#define CONST_POPT 1
-_ACEOF
-
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-CXXFLAGS="$SAVE_CXXFLAGS"
-
-
-
-echo "$as_me:$LINENO: checking whether to use included sstream" >&5
-echo $ECHO_N "checking whether to use included sstream... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <sstream>
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6;
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; OP_CXXFLAGS="$OP_CXXFLAGS -I\${top_srcdir}/include"
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-
-
-
-echo "$as_me:$LINENO: checking whether bfd defines bool" >&5
-echo $ECHO_N "checking whether bfd defines bool... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <bfd.h>
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6;
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6;
-cat >>confdefs.h <<\_ACEOF
-#define TRUE_FALSE_ALREADY_DEFINED 1
-_ACEOF
-
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-
-
- echo "$as_me:$LINENO: checking type of size_t" >&5
-echo $ECHO_N "checking type of size_t... $ECHO_C" >&6
- for f in "unsigned" "unsigned long"; do
-
-
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-SAVE_CFLAGS=$CFLAGS
-CFLAGS="-Werror $CFLAGS"
-
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
- #include <stddef.h>
-
-int
-main ()
-{
-
- typedef void (*fct1)(size_t);
- typedef void (*fct2)($f);
- fct1 f1 = 0;
- fct2 f2 = 0;
- if (f1 == f2) {}
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- SIZE_T_TYPE="$f"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-SIZE_T_TYPE=""
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-
-CFLAGS=$SAVE_CFLAGS
-ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
-
- if test -n "${SIZE_T_TYPE}"; then
- break
- fi
- done
- if test -n "${SIZE_T_TYPE}"; then
- echo "$as_me:$LINENO: result: ${SIZE_T_TYPE}" >&5
-echo "${ECHO_T}${SIZE_T_TYPE}" >&6
- else
- { { echo "$as_me:$LINENO: error: not found" >&5
-echo "$as_me: error: not found" >&2;}
- { (exit 1); exit 1; }; }
- fi
-
-
-
- echo "$as_me:$LINENO: checking type of ptrdiff_t" >&5
-echo $ECHO_N "checking type of ptrdiff_t... $ECHO_C" >&6
- for f in "int" "long"; do
-
-
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-SAVE_CFLAGS=$CFLAGS
-CFLAGS="-Werror $CFLAGS"
-
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
- #include <stddef.h>
-
-int
-main ()
-{
-
- typedef void (*fct1)(ptrdiff_t);
- typedef void (*fct2)($f);
- fct1 f1 = 0;
- fct2 f2 = 0;
- if (f1 == f2) {}
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- PTRDIFF_T_TYPE="$f"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-PTRDIFF_T_TYPE=""
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-
-CFLAGS=$SAVE_CFLAGS
-ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
-
- if test -n "${PTRDIFF_T_TYPE}"; then
- break
- fi
- done
- if test -n "${PTRDIFF_T_TYPE}"; then
- echo "$as_me:$LINENO: result: ${PTRDIFF_T_TYPE}" >&5
-echo "${ECHO_T}${PTRDIFF_T_TYPE}" >&6
- else
- { { echo "$as_me:$LINENO: error: not found" >&5
-echo "$as_me: error: not found" >&2;}
- { (exit 1); exit 1; }; }
- fi
-
-
-
-
-echo "$as_me:$LINENO: checking for X" >&5
-echo $ECHO_N "checking for X... $ECHO_C" >&6
-
-
-# Check whether --with-x or --without-x was given.
-if test "${with_x+set}" = set; then
- withval="$with_x"
-
-fi;
-# $have_x is `yes', `no', `disabled', or empty when we do not yet know.
-if test "x$with_x" = xno; then
- # The user explicitly disabled X.
- have_x=disabled
-else
- if test "x$x_includes" != xNONE && test "x$x_libraries" != xNONE; then
- # Both variables are already set.
- have_x=yes
- else
- if test "${ac_cv_have_x+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- # One or both of the vars are not set, and there is no cached value.
-ac_x_includes=no ac_x_libraries=no
-rm -fr conftest.dir
-if mkdir conftest.dir; then
- cd conftest.dir
- # Make sure to not put "make" in the Imakefile rules, since we grep it out.
- cat >Imakefile <<'_ACEOF'
-acfindx:
- @echo 'ac_im_incroot="${INCROOT}"; ac_im_usrlibdir="${USRLIBDIR}"; ac_im_libdir="${LIBDIR}"'
-_ACEOF
- if (xmkmf) >/dev/null 2>/dev/null && test -f Makefile; then
- # GNU make sometimes prints "make[1]: Entering...", which would confuse us.
- eval `${MAKE-make} acfindx 2>/dev/null | grep -v make`
- # Open Windows xmkmf reportedly sets LIBDIR instead of USRLIBDIR.
- for ac_extension in a so sl; do
- if test ! -f $ac_im_usrlibdir/libX11.$ac_extension &&
- test -f $ac_im_libdir/libX11.$ac_extension; then
- ac_im_usrlibdir=$ac_im_libdir; break
- fi
- done
- # Screen out bogus values from the imake configuration. They are
- # bogus both because they are the default anyway, and because
- # using them would break gcc on systems where it needs fixed includes.
- case $ac_im_incroot in
- /usr/include) ;;
- *) test -f "$ac_im_incroot/X11/Xos.h" && ac_x_includes=$ac_im_incroot;;
- esac
- case $ac_im_usrlibdir in
- /usr/lib | /lib) ;;
- *) test -d "$ac_im_usrlibdir" && ac_x_libraries=$ac_im_usrlibdir ;;
- esac
- fi
- cd ..
- rm -fr conftest.dir
-fi
-
-# Standard set of common directories for X headers.
-# Check X11 before X11Rn because it is often a symlink to the current release.
-ac_x_header_dirs='
-/usr/X11/include
-/usr/X11R6/include
-/usr/X11R5/include
-/usr/X11R4/include
-
-/usr/include/X11
-/usr/include/X11R6
-/usr/include/X11R5
-/usr/include/X11R4
-
-/usr/local/X11/include
-/usr/local/X11R6/include
-/usr/local/X11R5/include
-/usr/local/X11R4/include
-
-/usr/local/include/X11
-/usr/local/include/X11R6
-/usr/local/include/X11R5
-/usr/local/include/X11R4
-
-/usr/X386/include
-/usr/x386/include
-/usr/XFree86/include/X11
-
-/usr/include
-/usr/local/include
-/usr/unsupported/include
-/usr/athena/include
-/usr/local/x11r5/include
-/usr/lpp/Xamples/include
-
-/usr/openwin/include
-/usr/openwin/share/include'
-
-if test "$ac_x_includes" = no; then
- # Guess where to find include files, by looking for Intrinsic.h.
- # First, try using that file with no special directory specified.
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <X11/Intrinsic.h>
-_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_cxx_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
- # We can compile using X headers with no special include directory.
-ac_x_includes=
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- for ac_dir in $ac_x_header_dirs; do
- if test -r "$ac_dir/X11/Intrinsic.h"; then
- ac_x_includes=$ac_dir
- break
- fi
-done
-fi
-rm -f conftest.err conftest.$ac_ext
-fi # $ac_x_includes = no
-
-if test "$ac_x_libraries" = no; then
- # Check for the libraries.
- # See if we find them without any special options.
- # Don't add to $LIBS permanently.
- ac_save_LIBS=$LIBS
- LIBS="-lXt $LIBS"
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <X11/Intrinsic.h>
-int
-main ()
-{
-XtMalloc (0)
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- LIBS=$ac_save_LIBS
-# We can link X programs with no special library path.
-ac_x_libraries=
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-LIBS=$ac_save_LIBS
-for ac_dir in `echo "$ac_x_includes $ac_x_header_dirs" | sed s/include/lib/g`
-do
- # Don't even attempt the hair of trying to link an X program!
- for ac_extension in a so sl; do
- if test -r $ac_dir/libXt.$ac_extension; then
- ac_x_libraries=$ac_dir
- break 2
- fi
- done
-done
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi # $ac_x_libraries = no
-
-if test "$ac_x_includes" = no || test "$ac_x_libraries" = no; then
- # Didn't find X anywhere. Cache the known absence of X.
- ac_cv_have_x="have_x=no"
-else
- # Record where we found X for the cache.
- ac_cv_have_x="have_x=yes \
- ac_x_includes=$ac_x_includes ac_x_libraries=$ac_x_libraries"
-fi
-fi
-
- fi
- eval "$ac_cv_have_x"
-fi # $with_x != no
-
-if test "$have_x" != yes; then
- echo "$as_me:$LINENO: result: $have_x" >&5
-echo "${ECHO_T}$have_x" >&6
- no_x=yes
-else
- # If each of the values was on the command line, it overrides each guess.
- test "x$x_includes" = xNONE && x_includes=$ac_x_includes
- test "x$x_libraries" = xNONE && x_libraries=$ac_x_libraries
- # Update the cache value to reflect the command line values.
- ac_cv_have_x="have_x=yes \
- ac_x_includes=$x_includes ac_x_libraries=$x_libraries"
- echo "$as_me:$LINENO: result: libraries $x_libraries, headers $x_includes" >&5
-echo "${ECHO_T}libraries $x_libraries, headers $x_includes" >&6
-fi
-
-if test "$no_x" = yes; then
- # Not all programs may use this symbol, but it does not hurt to define it.
-
-cat >>confdefs.h <<\_ACEOF
-#define X_DISPLAY_MISSING 1
-_ACEOF
-
- X_CFLAGS= X_PRE_LIBS= X_LIBS= X_EXTRA_LIBS=
-else
- if test -n "$x_includes"; then
- X_CFLAGS="$X_CFLAGS -I$x_includes"
- fi
-
- # It would also be nice to do this for all -L options, not just this one.
- if test -n "$x_libraries"; then
- X_LIBS="$X_LIBS -L$x_libraries"
- # For Solaris; some versions of Sun CC require a space after -R and
- # others require no space. Words are not sufficient . . . .
- case `(uname -sr) 2>/dev/null` in
- "SunOS 5"*)
- echo "$as_me:$LINENO: checking whether -R must be followed by a space" >&5
-echo $ECHO_N "checking whether -R must be followed by a space... $ECHO_C" >&6
- ac_xsave_LIBS=$LIBS; LIBS="$LIBS -R$x_libraries"
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_R_nospace=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_R_nospace=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- if test $ac_R_nospace = yes; then
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
- X_LIBS="$X_LIBS -R$x_libraries"
- else
- LIBS="$ac_xsave_LIBS -R $x_libraries"
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_R_space=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_R_space=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- if test $ac_R_space = yes; then
- echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
- X_LIBS="$X_LIBS -R $x_libraries"
- else
- echo "$as_me:$LINENO: result: neither works" >&5
-echo "${ECHO_T}neither works" >&6
- fi
- fi
- LIBS=$ac_xsave_LIBS
- esac
- fi
-
- # Check for system-dependent libraries X programs must link with.
- # Do this before checking for the system-independent R6 libraries
- # (-lICE), since we may need -lsocket or whatever for X linking.
-
- if test "$ISC" = yes; then
- X_EXTRA_LIBS="$X_EXTRA_LIBS -lnsl_s -linet"
- else
- # Martyn Johnson says this is needed for Ultrix, if the X
- # libraries were built with DECnet support. And Karl Berry says
- # the Alpha needs dnet_stub (dnet does not exist).
- ac_xsave_LIBS="$LIBS"; LIBS="$LIBS $X_LIBS -lX11"
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char XOpenDisplay ();
-int
-main ()
-{
-XOpenDisplay ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- :
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-echo "$as_me:$LINENO: checking for dnet_ntoa in -ldnet" >&5
-echo $ECHO_N "checking for dnet_ntoa in -ldnet... $ECHO_C" >&6
-if test "${ac_cv_lib_dnet_dnet_ntoa+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldnet $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char dnet_ntoa ();
-int
-main ()
-{
-dnet_ntoa ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_lib_dnet_dnet_ntoa=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_lib_dnet_dnet_ntoa=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_dnet_dnet_ntoa" >&5
-echo "${ECHO_T}$ac_cv_lib_dnet_dnet_ntoa" >&6
-if test $ac_cv_lib_dnet_dnet_ntoa = yes; then
- X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet"
-fi
-
- if test $ac_cv_lib_dnet_dnet_ntoa = no; then
- echo "$as_me:$LINENO: checking for dnet_ntoa in -ldnet_stub" >&5
-echo $ECHO_N "checking for dnet_ntoa in -ldnet_stub... $ECHO_C" >&6
-if test "${ac_cv_lib_dnet_stub_dnet_ntoa+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldnet_stub $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char dnet_ntoa ();
-int
-main ()
-{
-dnet_ntoa ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_lib_dnet_stub_dnet_ntoa=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_lib_dnet_stub_dnet_ntoa=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_dnet_stub_dnet_ntoa" >&5
-echo "${ECHO_T}$ac_cv_lib_dnet_stub_dnet_ntoa" >&6
-if test $ac_cv_lib_dnet_stub_dnet_ntoa = yes; then
- X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet_stub"
-fi
-
- fi
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- LIBS="$ac_xsave_LIBS"
-
- # msh@cis.ufl.edu says -lnsl (and -lsocket) are needed for his 386/AT,
- # to get the SysV transport functions.
- # Chad R. Larson says the Pyramis MIS-ES running DC/OSx (SVR4)
- # needs -lnsl.
- # The nsl library prevents programs from opening the X display
- # on Irix 5.2, according to T.E. Dickey.
- # The functions gethostbyname, getservbyname, and inet_addr are
- # in -lbsd on LynxOS 3.0.1/i386, according to Lars Hecking.
- echo "$as_me:$LINENO: checking for gethostbyname" >&5
-echo $ECHO_N "checking for gethostbyname... $ECHO_C" >&6
-if test "${ac_cv_func_gethostbyname+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define gethostbyname to an innocuous variant, in case <limits.h> declares gethostbyname.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define gethostbyname innocuous_gethostbyname
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char gethostbyname (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef gethostbyname
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char gethostbyname ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_gethostbyname) || defined (__stub___gethostbyname)
-choke me
-#else
-char (*f) () = gethostbyname;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != gethostbyname;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_func_gethostbyname=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_func_gethostbyname=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_func_gethostbyname" >&5
-echo "${ECHO_T}$ac_cv_func_gethostbyname" >&6
-
- if test $ac_cv_func_gethostbyname = no; then
- echo "$as_me:$LINENO: checking for gethostbyname in -lnsl" >&5
-echo $ECHO_N "checking for gethostbyname in -lnsl... $ECHO_C" >&6
-if test "${ac_cv_lib_nsl_gethostbyname+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lnsl $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char gethostbyname ();
-int
-main ()
-{
-gethostbyname ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_lib_nsl_gethostbyname=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_lib_nsl_gethostbyname=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_nsl_gethostbyname" >&5
-echo "${ECHO_T}$ac_cv_lib_nsl_gethostbyname" >&6
-if test $ac_cv_lib_nsl_gethostbyname = yes; then
- X_EXTRA_LIBS="$X_EXTRA_LIBS -lnsl"
-fi
-
- if test $ac_cv_lib_nsl_gethostbyname = no; then
- echo "$as_me:$LINENO: checking for gethostbyname in -lbsd" >&5
-echo $ECHO_N "checking for gethostbyname in -lbsd... $ECHO_C" >&6
-if test "${ac_cv_lib_bsd_gethostbyname+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lbsd $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char gethostbyname ();
-int
-main ()
-{
-gethostbyname ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_lib_bsd_gethostbyname=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_lib_bsd_gethostbyname=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_bsd_gethostbyname" >&5
-echo "${ECHO_T}$ac_cv_lib_bsd_gethostbyname" >&6
-if test $ac_cv_lib_bsd_gethostbyname = yes; then
- X_EXTRA_LIBS="$X_EXTRA_LIBS -lbsd"
-fi
-
- fi
- fi
-
- # lieder@skyler.mavd.honeywell.com says without -lsocket,
- # socket/setsockopt and other routines are undefined under SCO ODT
- # 2.0. But -lsocket is broken on IRIX 5.2 (and is not necessary
- # on later versions), says Simon Leinen: it contains gethostby*
- # variants that don't use the name server (or something). -lsocket
- # must be given before -lnsl if both are needed. We assume that
- # if connect needs -lnsl, so does gethostbyname.
- echo "$as_me:$LINENO: checking for connect" >&5
-echo $ECHO_N "checking for connect... $ECHO_C" >&6
-if test "${ac_cv_func_connect+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define connect to an innocuous variant, in case <limits.h> declares connect.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define connect innocuous_connect
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char connect (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef connect
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char connect ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_connect) || defined (__stub___connect)
-choke me
-#else
-char (*f) () = connect;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != connect;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_func_connect=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_func_connect=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_func_connect" >&5
-echo "${ECHO_T}$ac_cv_func_connect" >&6
-
- if test $ac_cv_func_connect = no; then
- echo "$as_me:$LINENO: checking for connect in -lsocket" >&5
-echo $ECHO_N "checking for connect in -lsocket... $ECHO_C" >&6
-if test "${ac_cv_lib_socket_connect+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lsocket $X_EXTRA_LIBS $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char connect ();
-int
-main ()
-{
-connect ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_lib_socket_connect=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_lib_socket_connect=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_socket_connect" >&5
-echo "${ECHO_T}$ac_cv_lib_socket_connect" >&6
-if test $ac_cv_lib_socket_connect = yes; then
- X_EXTRA_LIBS="-lsocket $X_EXTRA_LIBS"
-fi
-
- fi
-
- # Guillermo Gomez says -lposix is necessary on A/UX.
- echo "$as_me:$LINENO: checking for remove" >&5
-echo $ECHO_N "checking for remove... $ECHO_C" >&6
-if test "${ac_cv_func_remove+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define remove to an innocuous variant, in case <limits.h> declares remove.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define remove innocuous_remove
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char remove (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef remove
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char remove ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_remove) || defined (__stub___remove)
-choke me
-#else
-char (*f) () = remove;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != remove;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_func_remove=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_func_remove=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_func_remove" >&5
-echo "${ECHO_T}$ac_cv_func_remove" >&6
-
- if test $ac_cv_func_remove = no; then
- echo "$as_me:$LINENO: checking for remove in -lposix" >&5
-echo $ECHO_N "checking for remove in -lposix... $ECHO_C" >&6
-if test "${ac_cv_lib_posix_remove+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lposix $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char remove ();
-int
-main ()
-{
-remove ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_lib_posix_remove=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_lib_posix_remove=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_posix_remove" >&5
-echo "${ECHO_T}$ac_cv_lib_posix_remove" >&6
-if test $ac_cv_lib_posix_remove = yes; then
- X_EXTRA_LIBS="$X_EXTRA_LIBS -lposix"
-fi
-
- fi
-
- # BSDI BSD/OS 2.1 needs -lipc for XOpenDisplay.
- echo "$as_me:$LINENO: checking for shmat" >&5
-echo $ECHO_N "checking for shmat... $ECHO_C" >&6
-if test "${ac_cv_func_shmat+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define shmat to an innocuous variant, in case <limits.h> declares shmat.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define shmat innocuous_shmat
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char shmat (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef shmat
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char shmat ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_shmat) || defined (__stub___shmat)
-choke me
-#else
-char (*f) () = shmat;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != shmat;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_func_shmat=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_func_shmat=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_func_shmat" >&5
-echo "${ECHO_T}$ac_cv_func_shmat" >&6
-
- if test $ac_cv_func_shmat = no; then
- echo "$as_me:$LINENO: checking for shmat in -lipc" >&5
-echo $ECHO_N "checking for shmat in -lipc... $ECHO_C" >&6
-if test "${ac_cv_lib_ipc_shmat+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lipc $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char shmat ();
-int
-main ()
-{
-shmat ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_lib_ipc_shmat=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_lib_ipc_shmat=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_ipc_shmat" >&5
-echo "${ECHO_T}$ac_cv_lib_ipc_shmat" >&6
-if test $ac_cv_lib_ipc_shmat = yes; then
- X_EXTRA_LIBS="$X_EXTRA_LIBS -lipc"
-fi
-
- fi
- fi
-
- # Check for libraries that X11R6 Xt/Xaw programs need.
- ac_save_LDFLAGS=$LDFLAGS
- test -n "$x_libraries" && LDFLAGS="$LDFLAGS -L$x_libraries"
- # SM needs ICE to (dynamically) link under SunOS 4.x (so we have to
- # check for ICE first), but we must link in the order -lSM -lICE or
- # we get undefined symbols. So assume we have SM if we have ICE.
- # These have to be linked with before -lX11, unlike the other
- # libraries we check for below, so use a different variable.
- # John Interrante, Karl Berry
- echo "$as_me:$LINENO: checking for IceConnectionNumber in -lICE" >&5
-echo $ECHO_N "checking for IceConnectionNumber in -lICE... $ECHO_C" >&6
-if test "${ac_cv_lib_ICE_IceConnectionNumber+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lICE $X_EXTRA_LIBS $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char IceConnectionNumber ();
-int
-main ()
-{
-IceConnectionNumber ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_lib_ICE_IceConnectionNumber=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_lib_ICE_IceConnectionNumber=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_ICE_IceConnectionNumber" >&5
-echo "${ECHO_T}$ac_cv_lib_ICE_IceConnectionNumber" >&6
-if test $ac_cv_lib_ICE_IceConnectionNumber = yes; then
- X_PRE_LIBS="$X_PRE_LIBS -lSM -lICE"
-fi
-
- LDFLAGS=$ac_save_LDFLAGS
-
-fi
-
-ORIG_X_SAVE_LIBS="$LIBS"
-LIBS="$X_PRE_LIBS $LIBS $X_LIBS -lX11 $X_EXTRA_LIBS"
-X_LIBS="$LIBS"
-
-
- FATAL=0
-
-
-# Check whether --with-qt-dir or --without-qt-dir was given.
-if test "${with_qt_dir+set}" = set; then
- withval="$with_qt_dir"
- qt_cv_dir=`eval echo "$withval"/`
-fi;
-
-
-# Check whether --with-qt-includes or --without-qt-includes was given.
-if test "${with_qt_includes+set}" = set; then
- withval="$with_qt_includes"
- qt_cv_includes=`eval echo "$withval"`
-fi;
-
-
-# Check whether --with-qt-libraries or --without-qt-libraries was given.
-if test "${with_qt_libraries+set}" = set; then
- withval="$with_qt_libraries"
- qt_cv_libraries=`eval echo "$withval"`
-fi;
-
- if test -z "$qt_cv_dir"; then
- qt_cv_dir=$QTDIR
- fi
-
- if test -n "$qt_cv_dir"; then
- if test -z "$qt_cv_includes"; then
- qt_cv_includes=$qt_cv_dir/include
- fi
- if test -z "$qt_cv_libraries"; then
- qt_cv_libraries=$qt_cv_dir/lib
- fi
- fi
-
- QT_INCLUDES=
- QT_LDFLAGS=
- if test -n "$qt_cv_includes"; then
- QT_INCLUDES="-isystem $qt_cv_includes"
- fi
- if test -n "$qt_cv_libraries"; then
- QT_LDFLAGS="-L$qt_cv_libraries"
- fi
-
-
-
-
-
- echo "$as_me:$LINENO: checking for moc2" >&5
-echo $ECHO_N "checking for moc2... $ECHO_C" >&6
- if test "${qt_cv_path_moc2+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
- qt_cv_path_moc2="NONE"
- if test -n "$ac_moc2"; then
- qt_cv_path_moc2="$ac_moc2";
- else
- dirs="$qt_cv_dir/bin"
- qt_save_IFS=$IFS
- IFS=':'
- for dir in $PATH; do
- dirs="$dirs $dir"
- done
- IFS=$qt_save_IFS
-
- for dir in $dirs; do
- if test -x "$dir/moc2"; then
- if test -n ""; then
- evalstr="$dir/moc2 2>&1 "
- if eval $evalstr; then
- qt_cv_path_moc2="$dir/moc2"
- break
- fi
- else
- qt_cv_path_moc2="$dir/moc2"
- break
- fi
- fi
- done
- fi
-
-fi
-
-
- if test -z "$qt_cv_path_moc2" || test "$qt_cv_path_moc2" = "NONE"; then
- echo "$as_me:$LINENO: result: not found" >&5
-echo "${ECHO_T}not found" >&6
-
- else
- echo "$as_me:$LINENO: result: $qt_cv_path_moc2" >&5
-echo "${ECHO_T}$qt_cv_path_moc2" >&6
- ac_moc2=$qt_cv_path_moc2
- fi
-
-
- echo "$as_me:$LINENO: checking for moc" >&5
-echo $ECHO_N "checking for moc... $ECHO_C" >&6
- if test "${qt_cv_path_moc+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
- qt_cv_path_moc="NONE"
- if test -n "$ac_moc1"; then
- qt_cv_path_moc="$ac_moc1";
- else
- dirs="$qt_cv_dir/bin"
- qt_save_IFS=$IFS
- IFS=':'
- for dir in $PATH; do
- dirs="$dirs $dir"
- done
- IFS=$qt_save_IFS
-
- for dir in $dirs; do
- if test -x "$dir/moc"; then
- if test -n ""; then
- evalstr="$dir/moc 2>&1 "
- if eval $evalstr; then
- qt_cv_path_moc="$dir/moc"
- break
- fi
- else
- qt_cv_path_moc="$dir/moc"
- break
- fi
- fi
- done
- fi
-
-fi
-
-
- if test -z "$qt_cv_path_moc" || test "$qt_cv_path_moc" = "NONE"; then
- echo "$as_me:$LINENO: result: not found" >&5
-echo "${ECHO_T}not found" >&6
-
- else
- echo "$as_me:$LINENO: result: $qt_cv_path_moc" >&5
-echo "${ECHO_T}$qt_cv_path_moc" >&6
- ac_moc1=$qt_cv_path_moc
- fi
-
-
- if test -n "$ac_moc1" -a -n "$ac_moc2"; then
- $ac_moc1 -v 2>&1 | grep "Qt 3" >/dev/null
- if test "$?" = 0; then
- ac_moc=$ac_moc1;
- else
- ac_moc=$ac_moc2;
- fi
- else
- if test -n "$ac_moc1"; then
- ac_moc=$ac_moc1;
- else
- ac_moc=$ac_moc2;
- fi
- fi
-
- if test -z "$ac_moc" -a "$FATAL" = 1; then
- { { echo "$as_me:$LINENO: error: moc binary not found in \$PATH or $qt_cv_dir/bin !" >&5
-echo "$as_me: error: moc binary not found in \$PATH or $qt_cv_dir/bin !" >&2;}
- { (exit 1); exit 1; }; }
- fi
-
- MOC=$ac_moc
-
-
-
- echo "$as_me:$LINENO: checking for uic" >&5
-echo $ECHO_N "checking for uic... $ECHO_C" >&6
- if test "${qt_cv_path_uic+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
- qt_cv_path_uic="NONE"
- if test -n "$ac_uic"; then
- qt_cv_path_uic="$ac_uic";
- else
- dirs="$qt_cv_dir/bin"
- qt_save_IFS=$IFS
- IFS=':'
- for dir in $PATH; do
- dirs="$dirs $dir"
- done
- IFS=$qt_save_IFS
-
- for dir in $dirs; do
- if test -x "$dir/uic"; then
- if test -n ""; then
- evalstr="$dir/uic 2>&1 "
- if eval $evalstr; then
- qt_cv_path_uic="$dir/uic"
- break
- fi
- else
- qt_cv_path_uic="$dir/uic"
- break
- fi
- fi
- done
- fi
-
-fi
-
-
- if test -z "$qt_cv_path_uic" || test "$qt_cv_path_uic" = "NONE"; then
- echo "$as_me:$LINENO: result: not found" >&5
-echo "${ECHO_T}not found" >&6
-
- else
- echo "$as_me:$LINENO: result: $qt_cv_path_uic" >&5
-echo "${ECHO_T}$qt_cv_path_uic" >&6
- ac_uic=$qt_cv_path_uic
- fi
-
- if test -z "$ac_uic" -a "$FATAL" = 1; then
- { { echo "$as_me:$LINENO: error: uic binary not found in \$PATH or $qt_cv_dir/bin !" >&5
-echo "$as_me: error: uic binary not found in \$PATH or $qt_cv_dir/bin !" >&2;}
- { (exit 1); exit 1; }; }
- fi
-
- UIC=$ac_uic
-
-
-
- echo "$as_me:$LINENO: checking for Qt library name" >&5
-echo $ECHO_N "checking for Qt library name... $ECHO_C" >&6
-
- if test "${qt_cv_libname+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- SAVE_CXXFLAGS=$CXXFLAGS
- CXXFLAGS="$CXXFLAGS $QT_INCLUDES $QT_LDFLAGS"
-
- for libname in -lqt-mt -lqt3 -lqt2 -lqt;
- do
-
- SAVE_LIBS="$LIBS"
- LIBS="$LIBS $libname"
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
- #include <qglobal.h>
- #include <qstring.h>
-
-int
-main ()
-{
-
- QString s("mangle_failure");
- #if (QT_VERSION < 221)
- break_me_(\\\);
- #endif
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- qt_cv_libname=$libname
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- LIBS="$SAVE_LIBS"
-
- if test -n "$qt_cv_libname"; then
- break;
- fi
- done
-
- CXXFLAGS=$SAVE_CXXFLAGS
-
-fi
-
-
- if test -z "$qt_cv_libname"; then
- echo "$as_me:$LINENO: result: failed" >&5
-echo "${ECHO_T}failed" >&6
- if test "$FATAL" = 1 ; then
- { { echo "$as_me:$LINENO: error: Cannot compile a simple Qt executable. Check you have the right \$QTDIR !" >&5
-echo "$as_me: error: Cannot compile a simple Qt executable. Check you have the right \$QTDIR !" >&2;}
- { (exit 1); exit 1; }; }
- fi
- else
- echo "$as_me:$LINENO: result: $qt_cv_libname" >&5
-echo "${ECHO_T}$qt_cv_libname" >&6
- fi
-
-
- QT_LIB=$qt_cv_libname;
-
-
- if test -n "$qt_cv_libname"; then
-
- echo "$as_me:$LINENO: checking Qt version" >&5
-echo $ECHO_N "checking Qt version... $ECHO_C" >&6
-if test "${lyx_cv_qtversion+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- SAVE_CPPFLAGS=$CPPFLAGS
- CPPFLAGS="$CPPFLAGS $QT_INCLUDES"
-
- cat > conftest.$ac_ext <<EOF
-#line 24450 "configure"
-#include "confdefs.h"
-#include <qglobal.h>
-"%%%"QT_VERSION_STR"%%%"
-EOF
- lyx_cv_qtversion=`(eval "$ac_cpp conftest.$ac_ext") 2>&5 | \
- grep '^"%%%"' 2>/dev/null | \
- sed -e 's/"%%%"//g' -e 's/"//g'`
- rm -f conftest.$ac_ext
- CPPFLAGS=$SAVE_CPPFLAGS
-
-fi
-echo "$as_me:$LINENO: result: $lyx_cv_qtversion" >&5
-echo "${ECHO_T}$lyx_cv_qtversion" >&6
-
- QT_VERSION=$lyx_cv_qtversion
-
-
- fi
-
-LIBS="$ORIG_X_SAVE_LIBS"
-
-# Check whether --enable-pch or --disable-pch was given.
-if test "${enable_pch+set}" = set; then
- enableval="$enable_pch"
- enable_pch=$enableval
-else
- enable_pch=no
-fi;
-if test "$enable_pch" = yes; then
-
-echo "$as_me:$LINENO: checking whether ${CXX} support precompiled header" >&5
-echo $ECHO_N "checking whether ${CXX} support precompiled header... $ECHO_C" >&6
-
-
-ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
-SAVE_CXXFLAGS=$CXXFLAGS
-CXXFLAGS=-Winvalid-pch
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; OP_CXXFLAGS="${OP_CXXFLAGS} -include bits/stdc++.h"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-CXXFLAGS=$SAVE_CXXFLAGS
-ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
-
-fi
-
-
-# It's just rude to go over the net to build
-XSLTPROC_FLAGS=--nonet
-DOCBOOK_ROOT=
-if test ! -f /etc/xml/catalog; then
- for i in /usr/share/sgml/docbook/stylesheet/xsl/nwalsh /usr/share/sgml/docbook/xsl-stylesheets/;
- do
- if test -d "$i"; then
- DOCBOOK_ROOT=$i
- fi
- done
-
- # Last resort - try net
- if test -z "$DOCBOOK_ROOT"; then
- XSLTPROC_FLAGS=
- fi
-else
- XML_CATALOG=/etc/xml/catalog
- CAT_ENTRY_START='<!--'
- CAT_ENTRY_END='-->'
-fi
-
-# Extract the first word of "xsltproc", so it can be a program name with args.
-set dummy xsltproc; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_XSLTPROC+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$XSLTPROC"; then
- ac_cv_prog_XSLTPROC="$XSLTPROC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_XSLTPROC="xsltproc"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
-fi
-fi
-XSLTPROC=$ac_cv_prog_XSLTPROC
-if test -n "$XSLTPROC"; then
- echo "$as_me:$LINENO: result: $XSLTPROC" >&5
-echo "${ECHO_T}$XSLTPROC" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
-XSLTPROC_WORKS=no
-if test -n "$XSLTPROC"; then
- echo "$as_me:$LINENO: checking whether xsltproc works" >&5
-echo $ECHO_N "checking whether xsltproc works... $ECHO_C" >&6
-
- if test -n "$XML_CATALOG"; then
- DB_FILE="http://docbook.sourceforge.net/release/xsl/current/xhtml/docbook.xsl"
- else
- DB_FILE="$DOCBOOK_ROOT/docbook.xsl"
- fi
-
- $XSLTPROC $XSLTPROC_FLAGS $DB_FILE >/dev/null 2>&1 << END
-<?xml version="1.0" encoding='ISO-8859-1'?>
-<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN" "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
-<book id="test">
-</book>
-END
- if test "$?" = 0; then
- XSLTPROC_WORKS=yes
- fi
- echo "$as_me:$LINENO: result: $XSLTPROC_WORKS" >&5
-echo "${ECHO_T}$XSLTPROC_WORKS" >&6
-fi
-
-
-if test "$XSLTPROC_WORKS" = "yes"; then
- have_xsltproc_TRUE=
- have_xsltproc_FALSE='#'
-else
- have_xsltproc_TRUE='#'
- have_xsltproc_FALSE=
-fi
-
-
-
-
-
-
-
-
-
-LIBS="$ORIG_SAVE_LIBS"
-LIBERTY_LIBS="-liberty $DL_LIB $INTL_LIB"
-BFD_LIBS="-lbfd -liberty $DL_LIB $INTL_LIB $Z_LIB"
-POPT_LIBS="-lpopt"
-
-
-
-
-# do NOT put tests here, they will fail in the case X is not installed !
-
-
-
-if test -n "$QT_LIB"; then
- have_qt_TRUE=
- have_qt_FALSE='#'
-else
- have_qt_TRUE='#'
- have_qt_FALSE=
-fi
-
-
-
-echo "$as_me:$LINENO: checking whether ${CC} -W is understood" >&5
-echo $ECHO_N "checking whether ${CC} -W is understood... $ECHO_C" >&6
-
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-SAVE_CFLAGS=$CFLAGS
-CFLAGS=-W
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; OP_CFLAGS="${OP_CFLAGS} -W"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-CFLAGS=$SAVE_CFLAGS
-ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
-
-
-echo "$as_me:$LINENO: checking whether ${CXX} -W is understood" >&5
-echo $ECHO_N "checking whether ${CXX} -W is understood... $ECHO_C" >&6
-
-
-ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
-SAVE_CXXFLAGS=$CXXFLAGS
-CXXFLAGS=-W
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; OP_CXXFLAGS="${OP_CXXFLAGS} -W"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-CXXFLAGS=$SAVE_CXXFLAGS
-ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
-
-
-echo "$as_me:$LINENO: checking whether ${CC} -Wall is understood" >&5
-echo $ECHO_N "checking whether ${CC} -Wall is understood... $ECHO_C" >&6
-
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-SAVE_CFLAGS=$CFLAGS
-CFLAGS=-Wall
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; OP_CFLAGS="${OP_CFLAGS} -Wall"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-CFLAGS=$SAVE_CFLAGS
-ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
-
-
-echo "$as_me:$LINENO: checking whether ${CXX} -Wall is understood" >&5
-echo $ECHO_N "checking whether ${CXX} -Wall is understood... $ECHO_C" >&6
-
-
-ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
-SAVE_CXXFLAGS=$CXXFLAGS
-CXXFLAGS=-Wall
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; OP_CXXFLAGS="${OP_CXXFLAGS} -Wall"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-CXXFLAGS=$SAVE_CXXFLAGS
-ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
-
-
-echo "$as_me:$LINENO: checking whether ${CC} -fno-common is understood" >&5
-echo $ECHO_N "checking whether ${CC} -fno-common is understood... $ECHO_C" >&6
-
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-SAVE_CFLAGS=$CFLAGS
-CFLAGS=-fno-common
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; OP_CFLAGS="${OP_CFLAGS} -fno-common"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-CFLAGS=$SAVE_CFLAGS
-ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
-
-
-echo "$as_me:$LINENO: checking whether ${CXX} -fno-common is understood" >&5
-echo $ECHO_N "checking whether ${CXX} -fno-common is understood... $ECHO_C" >&6
-
-
-ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
-SAVE_CXXFLAGS=$CXXFLAGS
-CXXFLAGS=-fno-common
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; OP_CXXFLAGS="${OP_CXXFLAGS} -fno-common"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-CXXFLAGS=$SAVE_CXXFLAGS
-ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
-
-
-echo "$as_me:$LINENO: checking whether ${CXX} -ftemplate-depth-50 is understood" >&5
-echo $ECHO_N "checking whether ${CXX} -ftemplate-depth-50 is understood... $ECHO_C" >&6
-
-
-ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
-SAVE_CXXFLAGS=$CXXFLAGS
-CXXFLAGS=-ftemplate-depth-50
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; OP_CXXFLAGS="${OP_CXXFLAGS} -ftemplate-depth-50"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-CXXFLAGS=$SAVE_CXXFLAGS
-ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
-
-
-echo "$as_me:$LINENO: checking whether ${CC} -Wdeclaration-after-statement is understood" >&5
-echo $ECHO_N "checking whether ${CC} -Wdeclaration-after-statement is understood... $ECHO_C" >&6
-
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-SAVE_CFLAGS=$CFLAGS
-CFLAGS=-Wdeclaration-after-statement
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; OP_CFLAGS="${OP_CFLAGS} -Wdeclaration-after-statement"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-CFLAGS=$SAVE_CFLAGS
-ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
-
-
-# Check whether --enable-gcov or --disable-gcov was given.
-if test "${enable_gcov+set}" = set; then
- enableval="$enable_gcov"
- enable_gcov=$enableval
-else
- enable_gcov=no
-fi;
-if test "$enable_gcov" = yes; then
-
-echo "$as_me:$LINENO: checking whether ${CC} -fprofile-arcs is understood" >&5
-echo $ECHO_N "checking whether ${CC} -fprofile-arcs is understood... $ECHO_C" >&6
-
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-SAVE_CFLAGS=$CFLAGS
-CFLAGS=-fprofile-arcs
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; OP_CFLAGS="${OP_CFLAGS} -fprofile-arcs"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-CFLAGS=$SAVE_CFLAGS
-ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
-
-
-echo "$as_me:$LINENO: checking whether ${CXX} -fprofile-arcs is understood" >&5
-echo $ECHO_N "checking whether ${CXX} -fprofile-arcs is understood... $ECHO_C" >&6
-
-
-ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
-SAVE_CXXFLAGS=$CXXFLAGS
-CXXFLAGS=-fprofile-arcs
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; OP_CXXFLAGS="${OP_CXXFLAGS} -fprofile-arcs"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-CXXFLAGS=$SAVE_CXXFLAGS
-ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
-
-
-echo "$as_me:$LINENO: checking whether ${CC} -ftest-coverage is understood" >&5
-echo $ECHO_N "checking whether ${CC} -ftest-coverage is understood... $ECHO_C" >&6
-
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-SAVE_CFLAGS=$CFLAGS
-CFLAGS=-ftest-coverage
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; OP_CFLAGS="${OP_CFLAGS} -ftest-coverage"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-CFLAGS=$SAVE_CFLAGS
-ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
-
-
-echo "$as_me:$LINENO: checking whether ${CXX} -ftest-coverage is understood" >&5
-echo $ECHO_N "checking whether ${CXX} -ftest-coverage is understood... $ECHO_C" >&6
-
-
-ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
-SAVE_CXXFLAGS=$CXXFLAGS
-CXXFLAGS=-ftest-coverage
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; OP_CXXFLAGS="${OP_CXXFLAGS} -ftest-coverage"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-CXXFLAGS=$SAVE_CXXFLAGS
-ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
-
-fi
-
-# Check whether --enable-werror or --disable-werror was given.
-if test "${enable_werror+set}" = set; then
- enableval="$enable_werror"
- enable_werror=$enableval
-else
- enable_werror=yes
-fi;
-if test "$enable_werror" = yes; then
- # enable -Werror for non-release versions.
- if echo "$VERSION" | grep cvs >/dev/null; then
-
-echo "$as_me:$LINENO: checking whether ${CC} -Werror is understood" >&5
-echo $ECHO_N "checking whether ${CC} -Werror is understood... $ECHO_C" >&6
-
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-SAVE_CFLAGS=$CFLAGS
-CFLAGS=-Werror
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; OP_CFLAGS="${OP_CFLAGS} -Werror"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-CFLAGS=$SAVE_CFLAGS
-ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
-
-
-echo "$as_me:$LINENO: checking whether ${CXX} -Werror is understood" >&5
-echo $ECHO_N "checking whether ${CXX} -Werror is understood... $ECHO_C" >&6
-
-
-ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
-SAVE_CXXFLAGS=$CXXFLAGS
-CXXFLAGS=-Werror
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; OP_CXXFLAGS="${OP_CXXFLAGS} -Werror"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-CXXFLAGS=$SAVE_CXXFLAGS
-ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
-
- fi
-fi
-
-# Check whether --enable-optimization or --disable-optimization was given.
-if test "${enable_optimization+set}" = set; then
- enableval="$enable_optimization"
- enable_optimization=$enableval
-else
- enable_optimisation=yes
-fi;
-if test "$enable_optimization" = "no"; then
- CFLAGS=`echo $CFLAGS | sed 's/-O2//g'`
- CXXFLAGS=`echo $CXXFLAGS | sed 's/-O2//g'`
-fi
-
-
-
-
-# fixups for config.h
-if test "$prefix" = "NONE"; then
- my_op_prefix="$ac_default_prefix"
-else
- my_op_prefix="$prefix"
-fi
-my_op_datadir="$my_op_prefix/share"
-
-if test "$exec_prefix" = "NONE"; then
- my_op_exec_prefix="$my_op_prefix"
-else
- my_op_exec_prefix="$exec_prefix"
-fi
-my_op_bindir="$my_op_exec_prefix/bin"
-
-OP_DATADIR=`eval echo "$my_op_datadir/$PACKAGE/"`
-
-cat >>confdefs.h <<_ACEOF
-#define OP_DATADIR "$OP_DATADIR"
-_ACEOF
-
-OP_BINDIR=`eval echo "$my_op_bindir/"`
-
-cat >>confdefs.h <<_ACEOF
-#define OP_BINDIR "$OP_BINDIR"
-_ACEOF
-
-OP_DOCDIR=`eval echo "${my_op_prefix}/share/doc/$PACKAGE/"`
-
-
- ac_config_files="$ac_config_files Makefile m4/Makefile libutil/Makefile libutil/tests/Makefile libutil++/Makefile libutil++/tests/Makefile libop/Makefile libop/tests/Makefile libopagent/Makefile libopt++/Makefile libdb/Makefile libdb/tests/Makefile libabi/Makefile libabi/tests/Makefile libregex/Makefile libregex/tests/Makefile libregex/stl.pat libregex/tests/mangled-name daemon/Makefile daemon/liblegacy/Makefile events/Makefile utils/Makefile doc/Makefile doc/xsl/catalog-1.xml doc/oprofile.1 doc/opcontrol.1 doc/ophelp.1 doc/opreport.1 doc/opannotate.1 doc/opgprof.1 doc/oparchive.1 doc/opimport.1 doc/srcdoc/Doxyfile libpp/Makefile opjitconv/Makefile pp/Makefile gui/Makefile gui/ui/Makefile module/Makefile module/x86/Makefile module/ia64/Makefile agents/Makefile agents/jvmti/Makefile agents/jvmpi/Makefile"
-cat >confcache <<\_ACEOF
-# This file is a shell script that caches the results of configure
-# tests run on this system so they can be shared between configure
-# scripts and configure runs, see configure's option --config-cache.
-# It is not useful on other systems. If it contains results you don't
-# want to keep, you may remove or edit it.
-#
-# config.status only pays attention to the cache file if you give it
-# the --recheck option to rerun configure.
-#
-# `ac_cv_env_foo' variables (set or unset) will be overridden when
-# loading this file, other *unset* `ac_cv_foo' will be assigned the
-# following values.
-
-_ACEOF
-
-# The following way of writing the cache mishandles newlines in values,
-# but we know of no workaround that is simple, portable, and efficient.
-# So, don't put newlines in cache variables' values.
-# Ultrix sh set writes to stderr and can't be redirected directly,
-# and sets the high bit in the cache file unless we assign to the vars.
-{
- (set) 2>&1 |
- case `(ac_space=' '; set | grep ac_space) 2>&1` in
- *ac_space=\ *)
- # `set' does not quote correctly, so add quotes (double-quote
- # substitution turns \\\\ into \\, and sed turns \\ into \).
- sed -n \
- "s/'/'\\\\''/g;
- s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
- ;;
- *)
- # `set' quotes correctly as required by POSIX, so do not add quotes.
- sed -n \
- "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p"
- ;;
- esac;
-} |
- sed '
- t clear
- : clear
- s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
- t end
- /^ac_cv_env/!s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
- : end' >>confcache
-if diff $cache_file confcache >/dev/null 2>&1; then :; else
- if test -w $cache_file; then
- test "x$cache_file" != "x/dev/null" && echo "updating cache $cache_file"
- cat confcache >$cache_file
- else
- echo "not updating unwritable cache $cache_file"
- fi
-fi
-rm -f confcache
-
-test "x$prefix" = xNONE && prefix=$ac_default_prefix
-# Let make expand exec_prefix.
-test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
-
-# VPATH may cause trouble with some makes, so we remove $(srcdir),
-# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
-# trailing colons and then remove the whole line if VPATH becomes empty
-# (actually we leave an empty line to preserve line numbers).
-if test "x$srcdir" = x.; then
- ac_vpsub='/^[ ]*VPATH[ ]*=/{
-s/:*\$(srcdir):*/:/;
-s/:*\${srcdir}:*/:/;
-s/:*@srcdir@:*/:/;
-s/^\([^=]*=[ ]*\):*/\1/;
-s/:*$//;
-s/^[^=]*=[ ]*$//;
-}'
-fi
-
-DEFS=-DHAVE_CONFIG_H
-
-ac_libobjs=
-ac_ltlibobjs=
-for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
- # 1. Remove the extension, and $U if already installed.
- ac_i=`echo "$ac_i" |
- sed 's/\$U\././;s/\.o$//;s/\.obj$//'`
- # 2. Add them.
- ac_libobjs="$ac_libobjs $ac_i\$U.$ac_objext"
- ac_ltlibobjs="$ac_ltlibobjs $ac_i"'$U.lo'
-done
-LIBOBJS=$ac_libobjs
-
-LTLIBOBJS=$ac_ltlibobjs
-
-
-if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"AMDEP\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"AMDEP\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
-fi
-if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCC\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"am__fastdepCC\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
-fi
-if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCXX\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"am__fastdepCXX\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
-fi
-if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCC\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"am__fastdepCC\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
-fi
-if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCXX\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"am__fastdepCXX\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
-fi
-if test -z "${kernel_support_TRUE}" && test -z "${kernel_support_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"kernel_support\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"kernel_support\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
-fi
-if test -z "${BUILD_JVMTI_AGENT_TRUE}" && test -z "${BUILD_JVMTI_AGENT_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"BUILD_JVMTI_AGENT\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"BUILD_JVMTI_AGENT\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
-fi
-if test -z "${BUILD_JVMPI_AGENT_TRUE}" && test -z "${BUILD_JVMPI_AGENT_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"BUILD_JVMPI_AGENT\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"BUILD_JVMPI_AGENT\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
-fi
-if test -z "${have_xsltproc_TRUE}" && test -z "${have_xsltproc_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"have_xsltproc\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"have_xsltproc\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
-fi
-if test -z "${have_qt_TRUE}" && test -z "${have_qt_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"have_qt\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"have_qt\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
-fi
-
-: ${CONFIG_STATUS=./config.status}
-ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files $CONFIG_STATUS"
-{ echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5
-echo "$as_me: creating $CONFIG_STATUS" >&6;}
-cat >$CONFIG_STATUS <<_ACEOF
-#! $SHELL
-# Generated by $as_me.
-# Run this file to recreate the current configuration.
-# Compiler output produced by configure, useful for debugging
-# configure, is in config.log if it exists.
-
-debug=false
-ac_cs_recheck=false
-ac_cs_silent=false
-SHELL=\${CONFIG_SHELL-$SHELL}
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF
-## --------------------- ##
-## M4sh Initialization. ##
-## --------------------- ##
-
-# Be Bourne compatible
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
- emulate sh
- NULLCMD=:
- # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
- # is contrary to our usage. Disable this feature.
- alias -g '${1+"$@"}'='"$@"'
-elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
- set -o posix
-fi
-DUALCASE=1; export DUALCASE # for MKS sh
-
-# Support unset when possible.
-if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
- as_unset=unset
-else
- as_unset=false
-fi
-
-
-# Work around bugs in pre-3.0 UWIN ksh.
-$as_unset ENV MAIL MAILPATH
-PS1='$ '
-PS2='> '
-PS4='+ '
-
-# NLS nuisances.
-for as_var in \
- LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
- LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
- LC_TELEPHONE LC_TIME
-do
- if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
- eval $as_var=C; export $as_var
- else
- $as_unset $as_var
- fi
-done
-
-# Required to use basename.
-if expr a : '\(a\)' >/dev/null 2>&1; then
- as_expr=expr
-else
- as_expr=false
-fi
-
-if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then
- as_basename=basename
-else
- as_basename=false
-fi
-
-
-# Name of the executable.
-as_me=`$as_basename "$0" ||
-$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
- X"$0" : 'X\(//\)$' \| \
- X"$0" : 'X\(/\)$' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X/"$0" |
- sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; }
- /^X\/\(\/\/\)$/{ s//\1/; q; }
- /^X\/\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
-
-
-# PATH needs CR, and LINENO needs CR and PATH.
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
-
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
- echo "#! /bin/sh" >conf$$.sh
- echo "exit 0" >>conf$$.sh
- chmod +x conf$$.sh
- if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
- PATH_SEPARATOR=';'
- else
- PATH_SEPARATOR=:
- fi
- rm -f conf$$.sh
-fi
-
-
- as_lineno_1=$LINENO
- as_lineno_2=$LINENO
- as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
- test "x$as_lineno_1" != "x$as_lineno_2" &&
- test "x$as_lineno_3" = "x$as_lineno_2" || {
- # Find who we are. Look in the path if we contain no path at all
- # relative or not.
- case $0 in
- *[\\/]* ) as_myself=$0 ;;
- *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
-done
-
- ;;
- esac
- # We did not find ourselves, most probably we were run as `sh COMMAND'
- # in which case we are not to be found in the path.
- if test "x$as_myself" = x; then
- as_myself=$0
- fi
- if test ! -f "$as_myself"; then
- { { echo "$as_me:$LINENO: error: cannot find myself; rerun with an absolute path" >&5
-echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2;}
- { (exit 1); exit 1; }; }
- fi
- case $CONFIG_SHELL in
- '')
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for as_base in sh bash ksh sh5; do
- case $as_dir in
- /*)
- if ("$as_dir/$as_base" -c '
- as_lineno_1=$LINENO
- as_lineno_2=$LINENO
- as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
- test "x$as_lineno_1" != "x$as_lineno_2" &&
- test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then
- $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; }
- $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; }
- CONFIG_SHELL=$as_dir/$as_base
- export CONFIG_SHELL
- exec "$CONFIG_SHELL" "$0" ${1+"$@"}
- fi;;
- esac
- done
-done
-;;
- esac
-
- # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
- # uniformly replaced by the line number. The first 'sed' inserts a
- # line-number line before each line; the second 'sed' does the real
- # work. The second script uses 'N' to pair each line-number line
- # with the numbered line, and appends trailing '-' during
- # substitution so that $LINENO is not a special case at line end.
- # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
- # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-)
- sed '=' <$as_myself |
- sed '
- N
- s,$,-,
- : loop
- s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3,
- t loop
- s,-$,,
- s,^['$as_cr_digits']*\n,,
- ' >$as_me.lineno &&
- chmod +x $as_me.lineno ||
- { { echo "$as_me:$LINENO: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&5
-echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2;}
- { (exit 1); exit 1; }; }
-
- # Don't try to exec as it changes $[0], causing all sort of problems
- # (the dirname of $[0] is not the place where we might find the
- # original and so on. Autoconf is especially sensible to this).
- . ./$as_me.lineno
- # Exit status is that of the last command.
- exit
-}
-
-
-case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in
- *c*,-n*) ECHO_N= ECHO_C='
-' ECHO_T=' ' ;;
- *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;;
- *) ECHO_N= ECHO_C='\c' ECHO_T= ;;
-esac
-
-if expr a : '\(a\)' >/dev/null 2>&1; then
- as_expr=expr
-else
- as_expr=false
-fi
-
-rm -f conf$$ conf$$.exe conf$$.file
-echo >conf$$.file
-if ln -s conf$$.file conf$$ 2>/dev/null; then
- # We could just check for DJGPP; but this test a) works b) is more generic
- # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04).
- if test -f conf$$.exe; then
- # Don't use ln at all; we don't have any links
- as_ln_s='cp -p'
- else
- as_ln_s='ln -s'
- fi
-elif ln conf$$.file conf$$ 2>/dev/null; then
- as_ln_s=ln
-else
- as_ln_s='cp -p'
-fi
-rm -f conf$$ conf$$.exe conf$$.file
-
-if mkdir -p . 2>/dev/null; then
- as_mkdir_p=:
-else
- test -d ./-p && rmdir ./-p
- as_mkdir_p=false
-fi
-
-as_executable_p="test -f"
-
-# Sed expression to map a string onto a valid CPP name.
-as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
-
-# Sed expression to map a string onto a valid variable name.
-as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
-
-
-# IFS
-# We need space, tab and new line, in precisely that order.
-as_nl='
-'
-IFS=" $as_nl"
-
-# CDPATH.
-$as_unset CDPATH
-
-exec 6>&1
-
-# Open the log real soon, to keep \$[0] and so on meaningful, and to
-# report actual input values of CONFIG_FILES etc. instead of their
-# values after options handling. Logging --version etc. is OK.
-exec 5>>config.log
-{
- echo
- sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
-## Running $as_me. ##
-_ASBOX
-} >&5
-cat >&5 <<_CSEOF
-
-This file was extended by $as_me, which was
-generated by GNU Autoconf 2.59. Invocation command line was
-
- CONFIG_FILES = $CONFIG_FILES
- CONFIG_HEADERS = $CONFIG_HEADERS
- CONFIG_LINKS = $CONFIG_LINKS
- CONFIG_COMMANDS = $CONFIG_COMMANDS
- $ $0 $@
-
-_CSEOF
-echo "on `(hostname || uname -n) 2>/dev/null | sed 1q`" >&5
-echo >&5
-_ACEOF
-
-# Files that config.status was made for.
-if test -n "$ac_config_files"; then
- echo "config_files=\"$ac_config_files\"" >>$CONFIG_STATUS
-fi
-
-if test -n "$ac_config_headers"; then
- echo "config_headers=\"$ac_config_headers\"" >>$CONFIG_STATUS
-fi
-
-if test -n "$ac_config_links"; then
- echo "config_links=\"$ac_config_links\"" >>$CONFIG_STATUS
-fi
-
-if test -n "$ac_config_commands"; then
- echo "config_commands=\"$ac_config_commands\"" >>$CONFIG_STATUS
-fi
-
-cat >>$CONFIG_STATUS <<\_ACEOF
-
-ac_cs_usage="\
-\`$as_me' instantiates files from templates according to the
-current configuration.
-
-Usage: $0 [OPTIONS] [FILE]...
-
- -h, --help print this help, then exit
- -V, --version print version number, then exit
- -q, --quiet do not print progress messages
- -d, --debug don't remove temporary files
- --recheck update $as_me by reconfiguring in the same conditions
- --file=FILE[:TEMPLATE]
- instantiate the configuration file FILE
- --header=FILE[:TEMPLATE]
- instantiate the configuration header FILE
-
-Configuration files:
-$config_files
-
-Configuration headers:
-$config_headers
-
-Configuration commands:
-$config_commands
-
-Report bugs to <bug-autoconf@gnu.org>."
-_ACEOF
-
-cat >>$CONFIG_STATUS <<_ACEOF
-ac_cs_version="\\
-config.status
-configured by $0, generated by GNU Autoconf 2.59,
- with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\"
-
-Copyright (C) 2003 Free Software Foundation, Inc.
-This config.status script is free software; the Free Software Foundation
-gives unlimited permission to copy, distribute and modify it."
-srcdir=$srcdir
-INSTALL="$INSTALL"
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF
-# If no file are specified by the user, then we need to provide default
-# value. By we need to know if files were specified by the user.
-ac_need_defaults=:
-while test $# != 0
-do
- case $1 in
- --*=*)
- ac_option=`expr "x$1" : 'x\([^=]*\)='`
- ac_optarg=`expr "x$1" : 'x[^=]*=\(.*\)'`
- ac_shift=:
- ;;
- -*)
- ac_option=$1
- ac_optarg=$2
- ac_shift=shift
- ;;
- *) # This is not an option, so the user has probably given explicit
- # arguments.
- ac_option=$1
- ac_need_defaults=false;;
- esac
-
- case $ac_option in
- # Handling of the options.
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF
- -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
- ac_cs_recheck=: ;;
- --version | --vers* | -V )
- echo "$ac_cs_version"; exit 0 ;;
- --he | --h)
- # Conflict between --help and --header
- { { echo "$as_me:$LINENO: error: ambiguous option: $1
-Try \`$0 --help' for more information." >&5
-echo "$as_me: error: ambiguous option: $1
-Try \`$0 --help' for more information." >&2;}
- { (exit 1); exit 1; }; };;
- --help | --hel | -h )
- echo "$ac_cs_usage"; exit 0 ;;
- --debug | --d* | -d )
- debug=: ;;
- --file | --fil | --fi | --f )
- $ac_shift
- CONFIG_FILES="$CONFIG_FILES $ac_optarg"
- ac_need_defaults=false;;
- --header | --heade | --head | --hea )
- $ac_shift
- CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg"
- ac_need_defaults=false;;
- -q | -quiet | --quiet | --quie | --qui | --qu | --q \
- | -silent | --silent | --silen | --sile | --sil | --si | --s)
- ac_cs_silent=: ;;
-
- # This is an error.
- -*) { { echo "$as_me:$LINENO: error: unrecognized option: $1
-Try \`$0 --help' for more information." >&5
-echo "$as_me: error: unrecognized option: $1
-Try \`$0 --help' for more information." >&2;}
- { (exit 1); exit 1; }; } ;;
-
- *) ac_config_targets="$ac_config_targets $1" ;;
-
- esac
- shift
-done
-
-ac_configure_extra_args=
-
-if $ac_cs_silent; then
- exec 6>/dev/null
- ac_configure_extra_args="$ac_configure_extra_args --silent"
-fi
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF
-if \$ac_cs_recheck; then
- echo "running $SHELL $0 " $ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6
- exec $SHELL $0 $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
-fi
-
-_ACEOF
-
-cat >>$CONFIG_STATUS <<_ACEOF
-#
-# INIT-COMMANDS section.
-#
-
-AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"
-
-_ACEOF
-
-
-
-cat >>$CONFIG_STATUS <<\_ACEOF
-for ac_config_target in $ac_config_targets
-do
- case "$ac_config_target" in
- # Handling of arguments.
- "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;;
- "m4/Makefile" ) CONFIG_FILES="$CONFIG_FILES m4/Makefile" ;;
- "libutil/Makefile" ) CONFIG_FILES="$CONFIG_FILES libutil/Makefile" ;;
- "libutil/tests/Makefile" ) CONFIG_FILES="$CONFIG_FILES libutil/tests/Makefile" ;;
- "libutil++/Makefile" ) CONFIG_FILES="$CONFIG_FILES libutil++/Makefile" ;;
- "libutil++/tests/Makefile" ) CONFIG_FILES="$CONFIG_FILES libutil++/tests/Makefile" ;;
- "libop/Makefile" ) CONFIG_FILES="$CONFIG_FILES libop/Makefile" ;;
- "libop/tests/Makefile" ) CONFIG_FILES="$CONFIG_FILES libop/tests/Makefile" ;;
- "libopagent/Makefile" ) CONFIG_FILES="$CONFIG_FILES libopagent/Makefile" ;;
- "libopt++/Makefile" ) CONFIG_FILES="$CONFIG_FILES libopt++/Makefile" ;;
- "libdb/Makefile" ) CONFIG_FILES="$CONFIG_FILES libdb/Makefile" ;;
- "libdb/tests/Makefile" ) CONFIG_FILES="$CONFIG_FILES libdb/tests/Makefile" ;;
- "libabi/Makefile" ) CONFIG_FILES="$CONFIG_FILES libabi/Makefile" ;;
- "libabi/tests/Makefile" ) CONFIG_FILES="$CONFIG_FILES libabi/tests/Makefile" ;;
- "libregex/Makefile" ) CONFIG_FILES="$CONFIG_FILES libregex/Makefile" ;;
- "libregex/tests/Makefile" ) CONFIG_FILES="$CONFIG_FILES libregex/tests/Makefile" ;;
- "libregex/stl.pat" ) CONFIG_FILES="$CONFIG_FILES libregex/stl.pat" ;;
- "libregex/tests/mangled-name" ) CONFIG_FILES="$CONFIG_FILES libregex/tests/mangled-name" ;;
- "daemon/Makefile" ) CONFIG_FILES="$CONFIG_FILES daemon/Makefile" ;;
- "daemon/liblegacy/Makefile" ) CONFIG_FILES="$CONFIG_FILES daemon/liblegacy/Makefile" ;;
- "events/Makefile" ) CONFIG_FILES="$CONFIG_FILES events/Makefile" ;;
- "utils/Makefile" ) CONFIG_FILES="$CONFIG_FILES utils/Makefile" ;;
- "doc/Makefile" ) CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;;
- "doc/xsl/catalog-1.xml" ) CONFIG_FILES="$CONFIG_FILES doc/xsl/catalog-1.xml" ;;
- "doc/oprofile.1" ) CONFIG_FILES="$CONFIG_FILES doc/oprofile.1" ;;
- "doc/opcontrol.1" ) CONFIG_FILES="$CONFIG_FILES doc/opcontrol.1" ;;
- "doc/ophelp.1" ) CONFIG_FILES="$CONFIG_FILES doc/ophelp.1" ;;
- "doc/opreport.1" ) CONFIG_FILES="$CONFIG_FILES doc/opreport.1" ;;
- "doc/opannotate.1" ) CONFIG_FILES="$CONFIG_FILES doc/opannotate.1" ;;
- "doc/opgprof.1" ) CONFIG_FILES="$CONFIG_FILES doc/opgprof.1" ;;
- "doc/oparchive.1" ) CONFIG_FILES="$CONFIG_FILES doc/oparchive.1" ;;
- "doc/opimport.1" ) CONFIG_FILES="$CONFIG_FILES doc/opimport.1" ;;
- "doc/srcdoc/Doxyfile" ) CONFIG_FILES="$CONFIG_FILES doc/srcdoc/Doxyfile" ;;
- "libpp/Makefile" ) CONFIG_FILES="$CONFIG_FILES libpp/Makefile" ;;
- "opjitconv/Makefile" ) CONFIG_FILES="$CONFIG_FILES opjitconv/Makefile" ;;
- "pp/Makefile" ) CONFIG_FILES="$CONFIG_FILES pp/Makefile" ;;
- "gui/Makefile" ) CONFIG_FILES="$CONFIG_FILES gui/Makefile" ;;
- "gui/ui/Makefile" ) CONFIG_FILES="$CONFIG_FILES gui/ui/Makefile" ;;
- "module/Makefile" ) CONFIG_FILES="$CONFIG_FILES module/Makefile" ;;
- "module/x86/Makefile" ) CONFIG_FILES="$CONFIG_FILES module/x86/Makefile" ;;
- "module/ia64/Makefile" ) CONFIG_FILES="$CONFIG_FILES module/ia64/Makefile" ;;
- "agents/Makefile" ) CONFIG_FILES="$CONFIG_FILES agents/Makefile" ;;
- "agents/jvmti/Makefile" ) CONFIG_FILES="$CONFIG_FILES agents/jvmti/Makefile" ;;
- "agents/jvmpi/Makefile" ) CONFIG_FILES="$CONFIG_FILES agents/jvmpi/Makefile" ;;
- "depfiles" ) CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
- "config.h" ) CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;;
- *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
-echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
- { (exit 1); exit 1; }; };;
- esac
-done
-
-# If the user did not use the arguments to specify the items to instantiate,
-# then the envvar interface is used. Set only those that are not.
-# We use the long form for the default assignment because of an extremely
-# bizarre bug on SunOS 4.1.3.
-if $ac_need_defaults; then
- test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
- test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers
- test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands
-fi
-
-# Have a temporary directory for convenience. Make it in the build tree
-# simply because there is no reason to put it here, and in addition,
-# creating and moving files from /tmp can sometimes cause problems.
-# Create a temporary directory, and hook for its removal unless debugging.
-$debug ||
-{
- trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0
- trap '{ (exit 1); exit 1; }' 1 2 13 15
-}
-
-# Create a (secure) tmp directory for tmp files.
-
-{
- tmp=`(umask 077 && mktemp -d -q "./confstatXXXXXX") 2>/dev/null` &&
- test -n "$tmp" && test -d "$tmp"
-} ||
-{
- tmp=./confstat$$-$RANDOM
- (umask 077 && mkdir $tmp)
-} ||
-{
- echo "$me: cannot create a temporary directory in ." >&2
- { (exit 1); exit 1; }
-}
-
-_ACEOF
-
-cat >>$CONFIG_STATUS <<_ACEOF
-
-#
-# CONFIG_FILES section.
-#
-
-# No need to generate the scripts if there are no CONFIG_FILES.
-# This happens for instance when ./config.status config.h
-if test -n "\$CONFIG_FILES"; then
- # Protect against being on the right side of a sed subst in config.status.
- sed 's/,@/@@/; s/@,/@@/; s/,;t t\$/@;t t/; /@;t t\$/s/[\\\\&,]/\\\\&/g;
- s/@@/,@/; s/@@/@,/; s/@;t t\$/,;t t/' >\$tmp/subs.sed <<\\CEOF
-s,@SHELL@,$SHELL,;t t
-s,@PATH_SEPARATOR@,$PATH_SEPARATOR,;t t
-s,@PACKAGE_NAME@,$PACKAGE_NAME,;t t
-s,@PACKAGE_TARNAME@,$PACKAGE_TARNAME,;t t
-s,@PACKAGE_VERSION@,$PACKAGE_VERSION,;t t
-s,@PACKAGE_STRING@,$PACKAGE_STRING,;t t
-s,@PACKAGE_BUGREPORT@,$PACKAGE_BUGREPORT,;t t
-s,@exec_prefix@,$exec_prefix,;t t
-s,@prefix@,$prefix,;t t
-s,@program_transform_name@,$program_transform_name,;t t
-s,@bindir@,$bindir,;t t
-s,@sbindir@,$sbindir,;t t
-s,@libexecdir@,$libexecdir,;t t
-s,@datadir@,$datadir,;t t
-s,@sysconfdir@,$sysconfdir,;t t
-s,@sharedstatedir@,$sharedstatedir,;t t
-s,@localstatedir@,$localstatedir,;t t
-s,@libdir@,$libdir,;t t
-s,@includedir@,$includedir,;t t
-s,@oldincludedir@,$oldincludedir,;t t
-s,@infodir@,$infodir,;t t
-s,@mandir@,$mandir,;t t
-s,@build_alias@,$build_alias,;t t
-s,@host_alias@,$host_alias,;t t
-s,@target_alias@,$target_alias,;t t
-s,@DEFS@,$DEFS,;t t
-s,@ECHO_C@,$ECHO_C,;t t
-s,@ECHO_N@,$ECHO_N,;t t
-s,@ECHO_T@,$ECHO_T,;t t
-s,@LIBS@,$LIBS,;t t
-s,@INSTALL_PROGRAM@,$INSTALL_PROGRAM,;t t
-s,@INSTALL_SCRIPT@,$INSTALL_SCRIPT,;t t
-s,@INSTALL_DATA@,$INSTALL_DATA,;t t
-s,@CYGPATH_W@,$CYGPATH_W,;t t
-s,@PACKAGE@,$PACKAGE,;t t
-s,@VERSION@,$VERSION,;t t
-s,@ACLOCAL@,$ACLOCAL,;t t
-s,@AUTOCONF@,$AUTOCONF,;t t
-s,@AUTOMAKE@,$AUTOMAKE,;t t
-s,@AUTOHEADER@,$AUTOHEADER,;t t
-s,@MAKEINFO@,$MAKEINFO,;t t
-s,@install_sh@,$install_sh,;t t
-s,@STRIP@,$STRIP,;t t
-s,@ac_ct_STRIP@,$ac_ct_STRIP,;t t
-s,@INSTALL_STRIP_PROGRAM@,$INSTALL_STRIP_PROGRAM,;t t
-s,@mkdir_p@,$mkdir_p,;t t
-s,@AWK@,$AWK,;t t
-s,@SET_MAKE@,$SET_MAKE,;t t
-s,@am__leading_dot@,$am__leading_dot,;t t
-s,@AMTAR@,$AMTAR,;t t
-s,@am__tar@,$am__tar,;t t
-s,@am__untar@,$am__untar,;t t
-s,@CC@,$CC,;t t
-s,@CFLAGS@,$CFLAGS,;t t
-s,@LDFLAGS@,$LDFLAGS,;t t
-s,@CPPFLAGS@,$CPPFLAGS,;t t
-s,@ac_ct_CC@,$ac_ct_CC,;t t
-s,@EXEEXT@,$EXEEXT,;t t
-s,@OBJEXT@,$OBJEXT,;t t
-s,@DEPDIR@,$DEPDIR,;t t
-s,@am__include@,$am__include,;t t
-s,@am__quote@,$am__quote,;t t
-s,@AMDEP_TRUE@,$AMDEP_TRUE,;t t
-s,@AMDEP_FALSE@,$AMDEP_FALSE,;t t
-s,@AMDEPBACKSLASH@,$AMDEPBACKSLASH,;t t
-s,@CCDEPMODE@,$CCDEPMODE,;t t
-s,@am__fastdepCC_TRUE@,$am__fastdepCC_TRUE,;t t
-s,@am__fastdepCC_FALSE@,$am__fastdepCC_FALSE,;t t
-s,@RANLIB@,$RANLIB,;t t
-s,@ac_ct_RANLIB@,$ac_ct_RANLIB,;t t
-s,@build@,$build,;t t
-s,@build_cpu@,$build_cpu,;t t
-s,@build_vendor@,$build_vendor,;t t
-s,@build_os@,$build_os,;t t
-s,@host@,$host,;t t
-s,@host_cpu@,$host_cpu,;t t
-s,@host_vendor@,$host_vendor,;t t
-s,@host_os@,$host_os,;t t
-s,@EGREP@,$EGREP,;t t
-s,@LN_S@,$LN_S,;t t
-s,@ECHO@,$ECHO,;t t
-s,@AR@,$AR,;t t
-s,@ac_ct_AR@,$ac_ct_AR,;t t
-s,@CPP@,$CPP,;t t
-s,@CXX@,$CXX,;t t
-s,@CXXFLAGS@,$CXXFLAGS,;t t
-s,@ac_ct_CXX@,$ac_ct_CXX,;t t
-s,@CXXDEPMODE@,$CXXDEPMODE,;t t
-s,@am__fastdepCXX_TRUE@,$am__fastdepCXX_TRUE,;t t
-s,@am__fastdepCXX_FALSE@,$am__fastdepCXX_FALSE,;t t
-s,@CXXCPP@,$CXXCPP,;t t
-s,@F77@,$F77,;t t
-s,@FFLAGS@,$FFLAGS,;t t
-s,@ac_ct_F77@,$ac_ct_F77,;t t
-s,@LIBTOOL@,$LIBTOOL,;t t
-s,@DATE@,$DATE,;t t
-s,@OPROFILE_DIR@,$OPROFILE_DIR,;t t
-s,@LD@,$LD,;t t
-s,@KSRC@,$KSRC,;t t
-s,@KINC@,$KINC,;t t
-s,@kernel_support_TRUE@,$kernel_support_TRUE,;t t
-s,@kernel_support_FALSE@,$kernel_support_FALSE,;t t
-s,@KVERS@,$KVERS,;t t
-s,@OPROFILE_MODULE_ARCH@,$OPROFILE_MODULE_ARCH,;t t
-s,@MODINSTALLDIR@,$MODINSTALLDIR,;t t
-s,@JAVA_HOMEDIR@,$JAVA_HOMEDIR,;t t
-s,@BUILD_JVMTI_AGENT_TRUE@,$BUILD_JVMTI_AGENT_TRUE,;t t
-s,@BUILD_JVMTI_AGENT_FALSE@,$BUILD_JVMTI_AGENT_FALSE,;t t
-s,@BUILD_JVMPI_AGENT_TRUE@,$BUILD_JVMPI_AGENT_TRUE,;t t
-s,@BUILD_JVMPI_AGENT_FALSE@,$BUILD_JVMPI_AGENT_FALSE,;t t
-s,@EXTRA_CFLAGS_MODULE@,$EXTRA_CFLAGS_MODULE,;t t
-s,@topdir@,$topdir,;t t
-s,@SIZE_T_TYPE@,$SIZE_T_TYPE,;t t
-s,@PTRDIFF_T_TYPE@,$PTRDIFF_T_TYPE,;t t
-s,@X_CFLAGS@,$X_CFLAGS,;t t
-s,@X_PRE_LIBS@,$X_PRE_LIBS,;t t
-s,@X_LIBS@,$X_LIBS,;t t
-s,@X_EXTRA_LIBS@,$X_EXTRA_LIBS,;t t
-s,@QT_INCLUDES@,$QT_INCLUDES,;t t
-s,@QT_LDFLAGS@,$QT_LDFLAGS,;t t
-s,@MOC@,$MOC,;t t
-s,@UIC@,$UIC,;t t
-s,@QT_LIB@,$QT_LIB,;t t
-s,@QT_VERSION@,$QT_VERSION,;t t
-s,@XSLTPROC@,$XSLTPROC,;t t
-s,@have_xsltproc_TRUE@,$have_xsltproc_TRUE,;t t
-s,@have_xsltproc_FALSE@,$have_xsltproc_FALSE,;t t
-s,@XML_CATALOG@,$XML_CATALOG,;t t
-s,@XSLTPROC_FLAGS@,$XSLTPROC_FLAGS,;t t
-s,@DOCBOOK_ROOT@,$DOCBOOK_ROOT,;t t
-s,@CAT_ENTRY_START@,$CAT_ENTRY_START,;t t
-s,@CAT_ENTRY_END@,$CAT_ENTRY_END,;t t
-s,@LIBERTY_LIBS@,$LIBERTY_LIBS,;t t
-s,@BFD_LIBS@,$BFD_LIBS,;t t
-s,@POPT_LIBS@,$POPT_LIBS,;t t
-s,@have_qt_TRUE@,$have_qt_TRUE,;t t
-s,@have_qt_FALSE@,$have_qt_FALSE,;t t
-s,@OP_CFLAGS@,$OP_CFLAGS,;t t
-s,@OP_CXXFLAGS@,$OP_CXXFLAGS,;t t
-s,@OP_DOCDIR@,$OP_DOCDIR,;t t
-s,@LIBOBJS@,$LIBOBJS,;t t
-s,@LTLIBOBJS@,$LTLIBOBJS,;t t
-CEOF
-
-_ACEOF
-
- cat >>$CONFIG_STATUS <<\_ACEOF
- # Split the substitutions into bite-sized pieces for seds with
- # small command number limits, like on Digital OSF/1 and HP-UX.
- ac_max_sed_lines=48
- ac_sed_frag=1 # Number of current file.
- ac_beg=1 # First line for current file.
- ac_end=$ac_max_sed_lines # Line after last line for current file.
- ac_more_lines=:
- ac_sed_cmds=
- while $ac_more_lines; do
- if test $ac_beg -gt 1; then
- sed "1,${ac_beg}d; ${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
- else
- sed "${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
- fi
- if test ! -s $tmp/subs.frag; then
- ac_more_lines=false
- else
- # The purpose of the label and of the branching condition is to
- # speed up the sed processing (if there are no `@' at all, there
- # is no need to browse any of the substitutions).
- # These are the two extra sed commands mentioned above.
- (echo ':t
- /@[a-zA-Z_][a-zA-Z_0-9]*@/!b' && cat $tmp/subs.frag) >$tmp/subs-$ac_sed_frag.sed
- if test -z "$ac_sed_cmds"; then
- ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed"
- else
- ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed"
- fi
- ac_sed_frag=`expr $ac_sed_frag + 1`
- ac_beg=$ac_end
- ac_end=`expr $ac_end + $ac_max_sed_lines`
- fi
- done
- if test -z "$ac_sed_cmds"; then
- ac_sed_cmds=cat
- fi
-fi # test -n "$CONFIG_FILES"
-
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF
-for ac_file in : $CONFIG_FILES; do test "x$ac_file" = x: && continue
- # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
- case $ac_file in
- - | *:- | *:-:* ) # input from stdin
- cat >$tmp/stdin
- ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
- ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
- *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
- ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
- * ) ac_file_in=$ac_file.in ;;
- esac
-
- # Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories.
- ac_dir=`(dirname "$ac_file") 2>/dev/null ||
-$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$ac_file" : 'X\(//\)[^/]' \| \
- X"$ac_file" : 'X\(//\)$' \| \
- X"$ac_file" : 'X\(/\)' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X"$ac_file" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
- /^X\(\/\/\)$/{ s//\1/; q; }
- /^X\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
- { if $as_mkdir_p; then
- mkdir -p "$ac_dir"
- else
- as_dir="$ac_dir"
- as_dirs=
- while test ! -d "$as_dir"; do
- as_dirs="$as_dir $as_dirs"
- as_dir=`(dirname "$as_dir") 2>/dev/null ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$as_dir" : 'X\(//\)[^/]' \| \
- X"$as_dir" : 'X\(//\)$' \| \
- X"$as_dir" : 'X\(/\)' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X"$as_dir" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
- /^X\(\/\/\)$/{ s//\1/; q; }
- /^X\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
- done
- test ! -n "$as_dirs" || mkdir $as_dirs
- fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5
-echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;}
- { (exit 1); exit 1; }; }; }
-
- ac_builddir=.
-
-if test "$ac_dir" != .; then
- ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
- # A "../" for each directory in $ac_dir_suffix.
- ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
-else
- ac_dir_suffix= ac_top_builddir=
-fi
-
-case $srcdir in
- .) # No --srcdir option. We are building in place.
- ac_srcdir=.
- if test -z "$ac_top_builddir"; then
- ac_top_srcdir=.
- else
- ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
- fi ;;
- [\\/]* | ?:[\\/]* ) # Absolute path.
- ac_srcdir=$srcdir$ac_dir_suffix;
- ac_top_srcdir=$srcdir ;;
- *) # Relative path.
- ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
- ac_top_srcdir=$ac_top_builddir$srcdir ;;
-esac
-
-# Do not use `cd foo && pwd` to compute absolute paths, because
-# the directories may not exist.
-case `pwd` in
-.) ac_abs_builddir="$ac_dir";;
-*)
- case "$ac_dir" in
- .) ac_abs_builddir=`pwd`;;
- [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";;
- *) ac_abs_builddir=`pwd`/"$ac_dir";;
- esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_top_builddir=${ac_top_builddir}.;;
-*)
- case ${ac_top_builddir}. in
- .) ac_abs_top_builddir=$ac_abs_builddir;;
- [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;;
- *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;;
- esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_srcdir=$ac_srcdir;;
-*)
- case $ac_srcdir in
- .) ac_abs_srcdir=$ac_abs_builddir;;
- [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;;
- *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;;
- esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_top_srcdir=$ac_top_srcdir;;
-*)
- case $ac_top_srcdir in
- .) ac_abs_top_srcdir=$ac_abs_builddir;;
- [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;;
- *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;;
- esac;;
-esac
-
-
- case $INSTALL in
- [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
- *) ac_INSTALL=$ac_top_builddir$INSTALL ;;
- esac
-
- if test x"$ac_file" != x-; then
- { echo "$as_me:$LINENO: creating $ac_file" >&5
-echo "$as_me: creating $ac_file" >&6;}
- rm -f "$ac_file"
- fi
- # Let's still pretend it is `configure' which instantiates (i.e., don't
- # use $as_me), people would be surprised to read:
- # /* config.h. Generated by config.status. */
- if test x"$ac_file" = x-; then
- configure_input=
- else
- configure_input="$ac_file. "
- fi
- configure_input=$configure_input"Generated from `echo $ac_file_in |
- sed 's,.*/,,'` by configure."
-
- # First look for the input files in the build tree, otherwise in the
- # src tree.
- ac_file_inputs=`IFS=:
- for f in $ac_file_in; do
- case $f in
- -) echo $tmp/stdin ;;
- [\\/$]*)
- # Absolute (can't be DOS-style, as IFS=:)
- test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
-echo "$as_me: error: cannot find input file: $f" >&2;}
- { (exit 1); exit 1; }; }
- echo "$f";;
- *) # Relative
- if test -f "$f"; then
- # Build tree
- echo "$f"
- elif test -f "$srcdir/$f"; then
- # Source tree
- echo "$srcdir/$f"
- else
- # /dev/null tree
- { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
-echo "$as_me: error: cannot find input file: $f" >&2;}
- { (exit 1); exit 1; }; }
- fi;;
- esac
- done` || { (exit 1); exit 1; }
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF
- sed "$ac_vpsub
-$extrasub
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF
-:t
-/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
-s,@configure_input@,$configure_input,;t t
-s,@srcdir@,$ac_srcdir,;t t
-s,@abs_srcdir@,$ac_abs_srcdir,;t t
-s,@top_srcdir@,$ac_top_srcdir,;t t
-s,@abs_top_srcdir@,$ac_abs_top_srcdir,;t t
-s,@builddir@,$ac_builddir,;t t
-s,@abs_builddir@,$ac_abs_builddir,;t t
-s,@top_builddir@,$ac_top_builddir,;t t
-s,@abs_top_builddir@,$ac_abs_top_builddir,;t t
-s,@INSTALL@,$ac_INSTALL,;t t
-" $ac_file_inputs | (eval "$ac_sed_cmds") >$tmp/out
- rm -f $tmp/stdin
- if test x"$ac_file" != x-; then
- mv $tmp/out $ac_file
- else
- cat $tmp/out
- rm -f $tmp/out
- fi
-
-done
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF
-
-#
-# CONFIG_HEADER section.
-#
-
-# These sed commands are passed to sed as "A NAME B NAME C VALUE D", where
-# NAME is the cpp macro being defined and VALUE is the value it is being given.
-#
-# ac_d sets the value in "#define NAME VALUE" lines.
-ac_dA='s,^\([ ]*\)#\([ ]*define[ ][ ]*\)'
-ac_dB='[ ].*$,\1#\2'
-ac_dC=' '
-ac_dD=',;t'
-# ac_u turns "#undef NAME" without trailing blanks into "#define NAME VALUE".
-ac_uA='s,^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)'
-ac_uB='$,\1#\2define\3'
-ac_uC=' '
-ac_uD=',;t'
-
-for ac_file in : $CONFIG_HEADERS; do test "x$ac_file" = x: && continue
- # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
- case $ac_file in
- - | *:- | *:-:* ) # input from stdin
- cat >$tmp/stdin
- ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
- ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
- *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
- ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
- * ) ac_file_in=$ac_file.in ;;
- esac
-
- test x"$ac_file" != x- && { echo "$as_me:$LINENO: creating $ac_file" >&5
-echo "$as_me: creating $ac_file" >&6;}
-
- # First look for the input files in the build tree, otherwise in the
- # src tree.
- ac_file_inputs=`IFS=:
- for f in $ac_file_in; do
- case $f in
- -) echo $tmp/stdin ;;
- [\\/$]*)
- # Absolute (can't be DOS-style, as IFS=:)
- test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
-echo "$as_me: error: cannot find input file: $f" >&2;}
- { (exit 1); exit 1; }; }
- # Do quote $f, to prevent DOS paths from being IFS'd.
- echo "$f";;
- *) # Relative
- if test -f "$f"; then
- # Build tree
- echo "$f"
- elif test -f "$srcdir/$f"; then
- # Source tree
- echo "$srcdir/$f"
- else
- # /dev/null tree
- { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
-echo "$as_me: error: cannot find input file: $f" >&2;}
- { (exit 1); exit 1; }; }
- fi;;
- esac
- done` || { (exit 1); exit 1; }
- # Remove the trailing spaces.
- sed 's/[ ]*$//' $ac_file_inputs >$tmp/in
-
-_ACEOF
-
-# Transform confdefs.h into two sed scripts, `conftest.defines' and
-# `conftest.undefs', that substitutes the proper values into
-# config.h.in to produce config.h. The first handles `#define'
-# templates, and the second `#undef' templates.
-# And first: Protect against being on the right side of a sed subst in
-# config.status. Protect against being in an unquoted here document
-# in config.status.
-rm -f conftest.defines conftest.undefs
-# Using a here document instead of a string reduces the quoting nightmare.
-# Putting comments in sed scripts is not portable.
-#
-# `end' is used to avoid that the second main sed command (meant for
-# 0-ary CPP macros) applies to n-ary macro definitions.
-# See the Autoconf documentation for `clear'.
-cat >confdef2sed.sed <<\_ACEOF
-s/[\\&,]/\\&/g
-s,[\\$`],\\&,g
-t clear
-: clear
-s,^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*\)\(([^)]*)\)[ ]*\(.*\)$,${ac_dA}\1${ac_dB}\1\2${ac_dC}\3${ac_dD},gp
-t end
-s,^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)$,${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD},gp
-: end
-_ACEOF
-# If some macros were called several times there might be several times
-# the same #defines, which is useless. Nevertheless, we may not want to
-# sort them, since we want the *last* AC-DEFINE to be honored.
-uniq confdefs.h | sed -n -f confdef2sed.sed >conftest.defines
-sed 's/ac_d/ac_u/g' conftest.defines >conftest.undefs
-rm -f confdef2sed.sed
-
-# This sed command replaces #undef with comments. This is necessary, for
-# example, in the case of _POSIX_SOURCE, which is predefined and required
-# on some systems where configure will not decide to define it.
-cat >>conftest.undefs <<\_ACEOF
-s,^[ ]*#[ ]*undef[ ][ ]*[a-zA-Z_][a-zA-Z_0-9]*,/* & */,
-_ACEOF
-
-# Break up conftest.defines because some shells have a limit on the size
-# of here documents, and old seds have small limits too (100 cmds).
-echo ' # Handle all the #define templates only if necessary.' >>$CONFIG_STATUS
-echo ' if grep "^[ ]*#[ ]*define" $tmp/in >/dev/null; then' >>$CONFIG_STATUS
-echo ' # If there are no defines, we may have an empty if/fi' >>$CONFIG_STATUS
-echo ' :' >>$CONFIG_STATUS
-rm -f conftest.tail
-while grep . conftest.defines >/dev/null
-do
- # Write a limited-size here document to $tmp/defines.sed.
- echo ' cat >$tmp/defines.sed <<CEOF' >>$CONFIG_STATUS
- # Speed up: don't consider the non `#define' lines.
- echo '/^[ ]*#[ ]*define/!b' >>$CONFIG_STATUS
- # Work around the forget-to-reset-the-flag bug.
- echo 't clr' >>$CONFIG_STATUS
- echo ': clr' >>$CONFIG_STATUS
- sed ${ac_max_here_lines}q conftest.defines >>$CONFIG_STATUS
- echo 'CEOF
- sed -f $tmp/defines.sed $tmp/in >$tmp/out
- rm -f $tmp/in
- mv $tmp/out $tmp/in
-' >>$CONFIG_STATUS
- sed 1,${ac_max_here_lines}d conftest.defines >conftest.tail
- rm -f conftest.defines
- mv conftest.tail conftest.defines
-done
-rm -f conftest.defines
-echo ' fi # grep' >>$CONFIG_STATUS
-echo >>$CONFIG_STATUS
-
-# Break up conftest.undefs because some shells have a limit on the size
-# of here documents, and old seds have small limits too (100 cmds).
-echo ' # Handle all the #undef templates' >>$CONFIG_STATUS
-rm -f conftest.tail
-while grep . conftest.undefs >/dev/null
-do
- # Write a limited-size here document to $tmp/undefs.sed.
- echo ' cat >$tmp/undefs.sed <<CEOF' >>$CONFIG_STATUS
- # Speed up: don't consider the non `#undef'
- echo '/^[ ]*#[ ]*undef/!b' >>$CONFIG_STATUS
- # Work around the forget-to-reset-the-flag bug.
- echo 't clr' >>$CONFIG_STATUS
- echo ': clr' >>$CONFIG_STATUS
- sed ${ac_max_here_lines}q conftest.undefs >>$CONFIG_STATUS
- echo 'CEOF
- sed -f $tmp/undefs.sed $tmp/in >$tmp/out
- rm -f $tmp/in
- mv $tmp/out $tmp/in
-' >>$CONFIG_STATUS
- sed 1,${ac_max_here_lines}d conftest.undefs >conftest.tail
- rm -f conftest.undefs
- mv conftest.tail conftest.undefs
-done
-rm -f conftest.undefs
-
-cat >>$CONFIG_STATUS <<\_ACEOF
- # Let's still pretend it is `configure' which instantiates (i.e., don't
- # use $as_me), people would be surprised to read:
- # /* config.h. Generated by config.status. */
- if test x"$ac_file" = x-; then
- echo "/* Generated by configure. */" >$tmp/config.h
- else
- echo "/* $ac_file. Generated by configure. */" >$tmp/config.h
- fi
- cat $tmp/in >>$tmp/config.h
- rm -f $tmp/in
- if test x"$ac_file" != x-; then
- if diff $ac_file $tmp/config.h >/dev/null 2>&1; then
- { echo "$as_me:$LINENO: $ac_file is unchanged" >&5
-echo "$as_me: $ac_file is unchanged" >&6;}
- else
- ac_dir=`(dirname "$ac_file") 2>/dev/null ||
-$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$ac_file" : 'X\(//\)[^/]' \| \
- X"$ac_file" : 'X\(//\)$' \| \
- X"$ac_file" : 'X\(/\)' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X"$ac_file" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
- /^X\(\/\/\)$/{ s//\1/; q; }
- /^X\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
- { if $as_mkdir_p; then
- mkdir -p "$ac_dir"
- else
- as_dir="$ac_dir"
- as_dirs=
- while test ! -d "$as_dir"; do
- as_dirs="$as_dir $as_dirs"
- as_dir=`(dirname "$as_dir") 2>/dev/null ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$as_dir" : 'X\(//\)[^/]' \| \
- X"$as_dir" : 'X\(//\)$' \| \
- X"$as_dir" : 'X\(/\)' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X"$as_dir" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
- /^X\(\/\/\)$/{ s//\1/; q; }
- /^X\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
- done
- test ! -n "$as_dirs" || mkdir $as_dirs
- fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5
-echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;}
- { (exit 1); exit 1; }; }; }
-
- rm -f $ac_file
- mv $tmp/config.h $ac_file
- fi
- else
- cat $tmp/config.h
- rm -f $tmp/config.h
- fi
-# Compute $ac_file's index in $config_headers.
-_am_stamp_count=1
-for _am_header in $config_headers :; do
- case $_am_header in
- $ac_file | $ac_file:* )
- break ;;
- * )
- _am_stamp_count=`expr $_am_stamp_count + 1` ;;
- esac
-done
-echo "timestamp for $ac_file" >`(dirname $ac_file) 2>/dev/null ||
-$as_expr X$ac_file : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X$ac_file : 'X\(//\)[^/]' \| \
- X$ac_file : 'X\(//\)$' \| \
- X$ac_file : 'X\(/\)' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X$ac_file |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
- /^X\(\/\/\)$/{ s//\1/; q; }
- /^X\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`/stamp-h$_am_stamp_count
-done
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF
-
-#
-# CONFIG_COMMANDS section.
-#
-for ac_file in : $CONFIG_COMMANDS; do test "x$ac_file" = x: && continue
- ac_dest=`echo "$ac_file" | sed 's,:.*,,'`
- ac_source=`echo "$ac_file" | sed 's,[^:]*:,,'`
- ac_dir=`(dirname "$ac_dest") 2>/dev/null ||
-$as_expr X"$ac_dest" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$ac_dest" : 'X\(//\)[^/]' \| \
- X"$ac_dest" : 'X\(//\)$' \| \
- X"$ac_dest" : 'X\(/\)' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X"$ac_dest" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
- /^X\(\/\/\)$/{ s//\1/; q; }
- /^X\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
- { if $as_mkdir_p; then
- mkdir -p "$ac_dir"
- else
- as_dir="$ac_dir"
- as_dirs=
- while test ! -d "$as_dir"; do
- as_dirs="$as_dir $as_dirs"
- as_dir=`(dirname "$as_dir") 2>/dev/null ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$as_dir" : 'X\(//\)[^/]' \| \
- X"$as_dir" : 'X\(//\)$' \| \
- X"$as_dir" : 'X\(/\)' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X"$as_dir" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
- /^X\(\/\/\)$/{ s//\1/; q; }
- /^X\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
- done
- test ! -n "$as_dirs" || mkdir $as_dirs
- fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5
-echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;}
- { (exit 1); exit 1; }; }; }
-
- ac_builddir=.
-
-if test "$ac_dir" != .; then
- ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
- # A "../" for each directory in $ac_dir_suffix.
- ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
-else
- ac_dir_suffix= ac_top_builddir=
-fi
-
-case $srcdir in
- .) # No --srcdir option. We are building in place.
- ac_srcdir=.
- if test -z "$ac_top_builddir"; then
- ac_top_srcdir=.
- else
- ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
- fi ;;
- [\\/]* | ?:[\\/]* ) # Absolute path.
- ac_srcdir=$srcdir$ac_dir_suffix;
- ac_top_srcdir=$srcdir ;;
- *) # Relative path.
- ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
- ac_top_srcdir=$ac_top_builddir$srcdir ;;
-esac
-
-# Do not use `cd foo && pwd` to compute absolute paths, because
-# the directories may not exist.
-case `pwd` in
-.) ac_abs_builddir="$ac_dir";;
-*)
- case "$ac_dir" in
- .) ac_abs_builddir=`pwd`;;
- [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";;
- *) ac_abs_builddir=`pwd`/"$ac_dir";;
- esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_top_builddir=${ac_top_builddir}.;;
-*)
- case ${ac_top_builddir}. in
- .) ac_abs_top_builddir=$ac_abs_builddir;;
- [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;;
- *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;;
- esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_srcdir=$ac_srcdir;;
-*)
- case $ac_srcdir in
- .) ac_abs_srcdir=$ac_abs_builddir;;
- [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;;
- *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;;
- esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_top_srcdir=$ac_top_srcdir;;
-*)
- case $ac_top_srcdir in
- .) ac_abs_top_srcdir=$ac_abs_builddir;;
- [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;;
- *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;;
- esac;;
-esac
-
-
- { echo "$as_me:$LINENO: executing $ac_dest commands" >&5
-echo "$as_me: executing $ac_dest commands" >&6;}
- case $ac_dest in
- depfiles ) test x"$AMDEP_TRUE" != x"" || for mf in $CONFIG_FILES; do
- # Strip MF so we end up with the name of the file.
- mf=`echo "$mf" | sed -e 's/:.*$//'`
- # Check whether this is an Automake generated Makefile or not.
- # We used to match only the files named `Makefile.in', but
- # some people rename them; so instead we look at the file content.
- # Grep'ing the first line is not enough: some people post-process
- # each Makefile.in and add a new line on top of each file to say so.
- # So let's grep whole file.
- if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then
- dirpart=`(dirname "$mf") 2>/dev/null ||
-$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$mf" : 'X\(//\)[^/]' \| \
- X"$mf" : 'X\(//\)$' \| \
- X"$mf" : 'X\(/\)' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X"$mf" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
- /^X\(\/\/\)$/{ s//\1/; q; }
- /^X\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
- else
- continue
- fi
- # Extract the definition of DEPDIR, am__include, and am__quote
- # from the Makefile without running `make'.
- DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
- test -z "$DEPDIR" && continue
- am__include=`sed -n 's/^am__include = //p' < "$mf"`
- test -z "am__include" && continue
- am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
- # When using ansi2knr, U may be empty or an underscore; expand it
- U=`sed -n 's/^U = //p' < "$mf"`
- # Find all dependency output files, they are included files with
- # $(DEPDIR) in their names. We invoke sed twice because it is the
- # simplest approach to changing $(DEPDIR) to its actual value in the
- # expansion.
- for file in `sed -n "
- s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
- sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
- # Make sure the directory exists.
- test -f "$dirpart/$file" && continue
- fdir=`(dirname "$file") 2>/dev/null ||
-$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$file" : 'X\(//\)[^/]' \| \
- X"$file" : 'X\(//\)$' \| \
- X"$file" : 'X\(/\)' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X"$file" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
- /^X\(\/\/\)$/{ s//\1/; q; }
- /^X\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
- { if $as_mkdir_p; then
- mkdir -p $dirpart/$fdir
- else
- as_dir=$dirpart/$fdir
- as_dirs=
- while test ! -d "$as_dir"; do
- as_dirs="$as_dir $as_dirs"
- as_dir=`(dirname "$as_dir") 2>/dev/null ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$as_dir" : 'X\(//\)[^/]' \| \
- X"$as_dir" : 'X\(//\)$' \| \
- X"$as_dir" : 'X\(/\)' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X"$as_dir" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
- /^X\(\/\/\)$/{ s//\1/; q; }
- /^X\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
- done
- test ! -n "$as_dirs" || mkdir $as_dirs
- fi || { { echo "$as_me:$LINENO: error: cannot create directory $dirpart/$fdir" >&5
-echo "$as_me: error: cannot create directory $dirpart/$fdir" >&2;}
- { (exit 1); exit 1; }; }; }
-
- # echo "creating $dirpart/$file"
- echo '# dummy' > "$dirpart/$file"
- done
-done
- ;;
- esac
-done
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF
-
-{ (exit 0); exit 0; }
-_ACEOF
-chmod +x $CONFIG_STATUS
-ac_clean_files=$ac_clean_files_save
-
-
-# configure is writing to config.log, and then calls config.status.
-# config.status does its own redirection, appending to config.log.
-# Unfortunately, on DOS this fails, as config.log is still kept open
-# by configure, so config.status won't be able to write to it; its
-# output is simply discarded. So we exec the FD to /dev/null,
-# effectively closing config.log, so it can be properly (re)opened and
-# appended to by config.status. When coming back to configure, we
-# need to make the FD available again.
-if test "$no_create" != yes; then
- ac_cs_success=:
- ac_config_status_args=
- test "$silent" = yes &&
- ac_config_status_args="$ac_config_status_args --quiet"
- exec 5>/dev/null
- $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false
- exec 5>>config.log
- # Use ||, not &&, to avoid exiting from the if with $? = 1, which
- # would make configure fail if this is the last instruction.
- $ac_cs_success || { (exit 1); exit 1; }
-fi
-
-
-
-if test -r doc/xsl/catalog.xml; then
- if cmp doc/xsl/catalog-1.xml doc/xsl/catalog.xml > /dev/null; then
- echo doc/xsl/catalog.xml is unchanged
- else
- cp -f doc/xsl/catalog-1.xml doc/xsl/catalog.xml
- fi
-else
- cp -f doc/xsl/catalog-1.xml doc/xsl/catalog.xml
-fi
-
-
-if test -z "$QT_LIB"; then
- echo "Warning: a working Qt not found; no GUI will be built"
-fi
-
-if test "`getent passwd oprofile 2>/dev/null`" == "" || \
- test "`getent group oprofile 2>/dev/null`" == ""; then
- if test `id -u` != "0"; then
- echo "Warning: The user account 'oprofile:oprofile' does not exist on the system."
- echo " To profile JITed code, this special user account must exist."
- echo " Please ask your system administrator to add the following user and group:"
- echo " user name : 'oprofile'"
- echo " group name: 'oprofile'"
- echo " The 'oprofile' group must be the default group for the 'oprofile' user."
- else
- echo "Warning: The user account 'oprofile:oprofile' does not exist on the system."
- echo " To profile JITed code, this special user account must exist."
- echo " Please add the following user and group:"
- echo " user name : 'oprofile'"
- echo " group name: 'oprofile'"
- echo " The 'oprofile' group must be the default group for the 'oprofile' user."
- fi
-fi
-
diff --git a/configure.in b/configure.in
index c439122..9f6b249 100644
--- a/configure.in
+++ b/configure.in
@@ -12,7 +12,7 @@
AC_PREREQ(2.13)
AC_INIT(libop/op_config.h)
-AM_INIT_AUTOMAKE(oprofile, 0.9.6)
+AM_INIT_AUTOMAKE(oprofile, 0.9.7cvs)
AM_CONFIG_HEADER(config.h)
AC_CHECK_DECLS([basename], [], [], [[#include <libgen.h>]])
@@ -196,6 +196,12 @@ if test "$enable_optimization" = "no"; then
CXXFLAGS=`echo $CXXFLAGS | sed 's/-O2//g'`
fi
+AC_ARG_ENABLE(account-check,
+ [ --disable-account-check disable account check (default is enabled)],
+ enable_account_check=$enableval, enable_account_check=yes)
+
+AM_CONDITIONAL(CHECK_ACCOUNT, test "x$enable_account_check" = "xyes")
+
AC_SUBST(OP_CFLAGS)
AC_SUBST(OP_CXXFLAGS)
@@ -272,8 +278,10 @@ if test -z "$QT_LIB"; then
echo "Warning: a working Qt not found; no GUI will be built"
fi
-if test "`getent passwd oprofile 2>/dev/null`" == "" || \
- test "`getent group oprofile 2>/dev/null`" == ""; then
+if ! test "x$enable_account_check" = "xyes"; then
+ :
+elif test "`getent passwd oprofile 2>/dev/null`" == "" || \
+ test "`getent group oprofile 2>/dev/null`" == ""; then
if test `id -u` != "0"; then
echo "Warning: The user account 'oprofile:oprofile' does not exist on the system."
echo " To profile JITed code, this special user account must exist."
diff --git a/daemon/Makefile.in b/daemon/Makefile.in
deleted file mode 100644
index 2f0f0ef..0000000
--- a/daemon/Makefile.in
+++ /dev/null
@@ -1,686 +0,0 @@
-# Makefile.in generated by automake 1.9.6 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005 Free Software Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ..
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-bin_PROGRAMS = oprofiled$(EXEEXT)
-subdir = daemon
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/binutils.m4 \
- $(top_srcdir)/m4/builtinexpect.m4 \
- $(top_srcdir)/m4/cellspubfdsupport.m4 \
- $(top_srcdir)/m4/compileroption.m4 \
- $(top_srcdir)/m4/configmodule.m4 \
- $(top_srcdir)/m4/copyifchange.m4 $(top_srcdir)/m4/docbook.m4 \
- $(top_srcdir)/m4/extradirs.m4 $(top_srcdir)/m4/findkernel.m4 \
- $(top_srcdir)/m4/kerneloption.m4 \
- $(top_srcdir)/m4/kernelversion.m4 \
- $(top_srcdir)/m4/mallocattribute.m4 \
- $(top_srcdir)/m4/poptconst.m4 \
- $(top_srcdir)/m4/precompiledheader.m4 $(top_srcdir)/m4/qt.m4 \
- $(top_srcdir)/m4/resultyn.m4 $(top_srcdir)/m4/sstream.m4 \
- $(top_srcdir)/m4/typedef.m4 $(top_srcdir)/configure.in
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-am__installdirs = "$(DESTDIR)$(bindir)"
-binPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
-PROGRAMS = $(bin_PROGRAMS)
-am_oprofiled_OBJECTS = init.$(OBJEXT) oprofiled.$(OBJEXT) \
- opd_stats.$(OBJEXT) opd_pipe.$(OBJEXT) opd_sfile.$(OBJEXT) \
- opd_kernel.$(OBJEXT) opd_trans.$(OBJEXT) opd_cookie.$(OBJEXT) \
- opd_events.$(OBJEXT) opd_mangling.$(OBJEXT) \
- opd_perfmon.$(OBJEXT) opd_anon.$(OBJEXT) opd_spu.$(OBJEXT) \
- opd_extended.$(OBJEXT) opd_ibs.$(OBJEXT) \
- opd_ibs_trans.$(OBJEXT)
-oprofiled_OBJECTS = $(am_oprofiled_OBJECTS)
-oprofiled_DEPENDENCIES = liblegacy/liblegacy.a ../libabi/libabi.a \
- ../libdb/libodb.a ../libop/libop.a ../libutil/libutil.a
-DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
-depcomp = $(SHELL) $(top_srcdir)/depcomp
-am__depfiles_maybe = depfiles
-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \
- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
- $(AM_CFLAGS) $(CFLAGS)
-CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(AM_LDFLAGS) $(LDFLAGS) -o $@
-SOURCES = $(oprofiled_SOURCES)
-DIST_SOURCES = $(oprofiled_SOURCES)
-RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
- html-recursive info-recursive install-data-recursive \
- install-exec-recursive install-info-recursive \
- install-recursive installcheck-recursive installdirs-recursive \
- pdf-recursive ps-recursive uninstall-info-recursive \
- uninstall-recursive
-ETAGS = etags
-CTAGS = ctags
-DIST_SUBDIRS = $(SUBDIRS)
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
-AMTAR = @AMTAR@
-AR = @AR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-BFD_LIBS = @BFD_LIBS@
-BUILD_JVMPI_AGENT_FALSE = @BUILD_JVMPI_AGENT_FALSE@
-BUILD_JVMPI_AGENT_TRUE = @BUILD_JVMPI_AGENT_TRUE@
-BUILD_JVMTI_AGENT_FALSE = @BUILD_JVMTI_AGENT_FALSE@
-BUILD_JVMTI_AGENT_TRUE = @BUILD_JVMTI_AGENT_TRUE@
-CAT_ENTRY_END = @CAT_ENTRY_END@
-CAT_ENTRY_START = @CAT_ENTRY_START@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DATE = @DATE@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DOCBOOK_ROOT = @DOCBOOK_ROOT@
-ECHO = @ECHO@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-EXTRA_CFLAGS_MODULE = @EXTRA_CFLAGS_MODULE@
-F77 = @F77@
-FFLAGS = @FFLAGS@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-JAVA_HOMEDIR = @JAVA_HOMEDIR@
-KINC = @KINC@
-KSRC = @KSRC@
-KVERS = @KVERS@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LIBERTY_LIBS = @LIBERTY_LIBS@
-LIBOBJS = @LIBOBJS@
-LIBS = @POPT_LIBS@ @LIBERTY_LIBS@
-LIBTOOL = @LIBTOOL@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-MAKEINFO = @MAKEINFO@
-MOC = @MOC@
-MODINSTALLDIR = @MODINSTALLDIR@
-OBJEXT = @OBJEXT@
-OPROFILE_DIR = @OPROFILE_DIR@
-OPROFILE_MODULE_ARCH = @OPROFILE_MODULE_ARCH@
-OP_CFLAGS = @OP_CFLAGS@
-OP_CXXFLAGS = @OP_CXXFLAGS@
-OP_DOCDIR = @OP_DOCDIR@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-POPT_LIBS = @POPT_LIBS@
-PTRDIFF_T_TYPE = @PTRDIFF_T_TYPE@
-QT_INCLUDES = @QT_INCLUDES@
-QT_LDFLAGS = @QT_LDFLAGS@
-QT_LIB = @QT_LIB@
-QT_VERSION = @QT_VERSION@
-RANLIB = @RANLIB@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-SIZE_T_TYPE = @SIZE_T_TYPE@
-STRIP = @STRIP@
-UIC = @UIC@
-VERSION = @VERSION@
-XML_CATALOG = @XML_CATALOG@
-XSLTPROC = @XSLTPROC@
-XSLTPROC_FLAGS = @XSLTPROC_FLAGS@
-X_CFLAGS = @X_CFLAGS@
-X_EXTRA_LIBS = @X_EXTRA_LIBS@
-X_LIBS = @X_LIBS@
-X_PRE_LIBS = @X_PRE_LIBS@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
-am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-datadir = @datadir@
-exec_prefix = @exec_prefix@
-have_qt_FALSE = @have_qt_FALSE@
-have_qt_TRUE = @have_qt_TRUE@
-have_xsltproc_FALSE = @have_xsltproc_FALSE@
-have_xsltproc_TRUE = @have_xsltproc_TRUE@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-kernel_support_FALSE = @kernel_support_FALSE@
-kernel_support_TRUE = @kernel_support_TRUE@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-topdir = @topdir@
-SUBDIRS = liblegacy .
-oprofiled_SOURCES = \
- init.c \
- oprofiled.c \
- oprofiled.h \
- opd_stats.c \
- opd_pipe.c \
- opd_pipe.h \
- opd_sfile.c \
- opd_sfile.h \
- opd_kernel.c \
- opd_kernel.h \
- opd_trans.c \
- opd_trans.h \
- opd_printf.h \
- opd_stats.h \
- opd_cookie.c \
- opd_cookie.h \
- opd_events.c \
- opd_events.h \
- opd_interface.h \
- opd_mangling.c \
- opd_mangling.h \
- opd_perfmon.h \
- opd_perfmon.c \
- opd_anon.h \
- opd_anon.c \
- opd_spu.c \
- opd_extended.h \
- opd_extended.c \
- opd_ibs.h \
- opd_ibs.c \
- opd_ibs_macro.h \
- opd_ibs_trans.h \
- opd_ibs_trans.c
-
-AM_CPPFLAGS = \
- -I ${top_srcdir}/libabi \
- -I ${top_srcdir}/libutil \
- -I ${top_srcdir}/libop \
- -I ${top_srcdir}/libdb
-
-
-# -fno-omit-frame-pointer needed for daemon build: see ChangeLog-2004 02-23
-AM_CFLAGS = @OP_CFLAGS@ -fno-omit-frame-pointer
-oprofiled_LDADD = \
- liblegacy/liblegacy.a \
- ../libabi/libabi.a \
- ../libdb/libodb.a \
- ../libop/libop.a \
- ../libutil/libutil.a
-
-oprofiled_LINK = $(CC) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
-all: all-recursive
-
-.SUFFIXES:
-.SUFFIXES: .c .lo .o .obj
-$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign daemon/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --foreign daemon/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- @case '$?' in \
- *config.status*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
- *) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-install-binPROGRAMS: $(bin_PROGRAMS)
- @$(NORMAL_INSTALL)
- test -z "$(bindir)" || $(mkdir_p) "$(DESTDIR)$(bindir)"
- @list='$(bin_PROGRAMS)'; for p in $$list; do \
- p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
- if test -f $$p \
- || test -f $$p1 \
- ; then \
- f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \
- echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \
- $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \
- else :; fi; \
- done
-
-uninstall-binPROGRAMS:
- @$(NORMAL_UNINSTALL)
- @list='$(bin_PROGRAMS)'; for p in $$list; do \
- f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
- echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \
- rm -f "$(DESTDIR)$(bindir)/$$f"; \
- done
-
-clean-binPROGRAMS:
- @list='$(bin_PROGRAMS)'; for p in $$list; do \
- f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
- echo " rm -f $$p $$f"; \
- rm -f $$p $$f ; \
- done
-oprofiled$(EXEEXT): $(oprofiled_OBJECTS) $(oprofiled_DEPENDENCIES)
- @rm -f oprofiled$(EXEEXT)
- $(oprofiled_LINK) $(oprofiled_LDFLAGS) $(oprofiled_OBJECTS) $(oprofiled_LDADD) $(LIBS)
-
-mostlyclean-compile:
- -rm -f *.$(OBJEXT)
-
-distclean-compile:
- -rm -f *.tab.c
-
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/init.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/opd_anon.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/opd_cookie.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/opd_events.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/opd_extended.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/opd_ibs.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/opd_ibs_trans.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/opd_kernel.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/opd_mangling.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/opd_perfmon.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/opd_pipe.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/opd_sfile.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/opd_spu.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/opd_stats.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/opd_trans.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/oprofiled.Po@am__quote@
-
-.c.o:
-@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(COMPILE) -c $<
-
-.c.obj:
-@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
-
-.c.lo:
-@am__fastdepCC_TRUE@ if $(LTCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-
-# This directory's subdirectories are mostly independent; you can cd
-# into them and run `make' without going through this Makefile.
-# To change the values of `make' variables: instead of editing Makefiles,
-# (1) if the variable is set in `config.status', edit `config.status'
-# (which will cause the Makefiles to be regenerated when you run `make');
-# (2) otherwise, pass the desired values on the `make' command line.
-$(RECURSIVE_TARGETS):
- @failcom='exit 1'; \
- for f in x $$MAKEFLAGS; do \
- case $$f in \
- *=* | --[!k]*);; \
- *k*) failcom='fail=yes';; \
- esac; \
- done; \
- dot_seen=no; \
- target=`echo $@ | sed s/-recursive//`; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- dot_seen=yes; \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || eval $$failcom; \
- done; \
- if test "$$dot_seen" = "no"; then \
- $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
- fi; test -z "$$fail"
-
-mostlyclean-recursive clean-recursive distclean-recursive \
-maintainer-clean-recursive:
- @failcom='exit 1'; \
- for f in x $$MAKEFLAGS; do \
- case $$f in \
- *=* | --[!k]*);; \
- *k*) failcom='fail=yes';; \
- esac; \
- done; \
- dot_seen=no; \
- case "$@" in \
- distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
- *) list='$(SUBDIRS)' ;; \
- esac; \
- rev=''; for subdir in $$list; do \
- if test "$$subdir" = "."; then :; else \
- rev="$$subdir $$rev"; \
- fi; \
- done; \
- rev="$$rev ."; \
- target=`echo $@ | sed s/-recursive//`; \
- for subdir in $$rev; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || eval $$failcom; \
- done && test -z "$$fail"
-tags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
- done
-ctags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
- done
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
- include_option=--etags-include; \
- empty_fix=.; \
- else \
- include_option=--include; \
- empty_fix=; \
- fi; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
- test ! -f $$subdir/TAGS || \
- tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
- fi; \
- done; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
- test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
- fi
-ctags: CTAGS
-CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkdir_p) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
- if test -d $$d/$$file; then \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
- fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
- else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
- || exit 1; \
- fi; \
- done
- list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
- test -d "$(distdir)/$$subdir" \
- || $(mkdir_p) "$(distdir)/$$subdir" \
- || exit 1; \
- distdir=`$(am__cd) $(distdir) && pwd`; \
- top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
- (cd $$subdir && \
- $(MAKE) $(AM_MAKEFLAGS) \
- top_distdir="$$top_distdir" \
- distdir="$$distdir/$$subdir" \
- distdir) \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: check-recursive
-all-am: Makefile $(PROGRAMS)
-installdirs: installdirs-recursive
-installdirs-am:
- for dir in "$(DESTDIR)$(bindir)"; do \
- test -z "$$dir" || $(mkdir_p) "$$dir"; \
- done
-install: install-recursive
-install-exec: install-exec-recursive
-install-data: install-data-recursive
-uninstall: uninstall-recursive
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-recursive
-install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-recursive
-
-clean-am: clean-binPROGRAMS clean-generic clean-libtool mostlyclean-am
-
-distclean: distclean-recursive
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
- distclean-libtool distclean-tags
-
-dvi: dvi-recursive
-
-dvi-am:
-
-html: html-recursive
-
-info: info-recursive
-
-info-am:
-
-install-data-am:
-
-install-exec-am: install-binPROGRAMS
-
-install-info: install-info-recursive
-
-install-man:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-recursive
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-recursive
-
-mostlyclean-am: mostlyclean-compile mostlyclean-generic \
- mostlyclean-libtool
-
-pdf: pdf-recursive
-
-pdf-am:
-
-ps: ps-recursive
-
-ps-am:
-
-uninstall-am: uninstall-binPROGRAMS uninstall-info-am
-
-uninstall-info: uninstall-info-recursive
-
-.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am \
- clean clean-binPROGRAMS clean-generic clean-libtool \
- clean-recursive ctags ctags-recursive distclean \
- distclean-compile distclean-generic distclean-libtool \
- distclean-recursive distclean-tags distdir dvi dvi-am html \
- html-am info info-am install install-am install-binPROGRAMS \
- install-data install-data-am install-exec install-exec-am \
- install-info install-info-am install-man install-strip \
- installcheck installcheck-am installdirs installdirs-am \
- maintainer-clean maintainer-clean-generic \
- maintainer-clean-recursive mostlyclean mostlyclean-compile \
- mostlyclean-generic mostlyclean-libtool mostlyclean-recursive \
- pdf pdf-am ps ps-am tags tags-recursive uninstall uninstall-am \
- uninstall-binPROGRAMS uninstall-info-am
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/daemon/init.c b/daemon/init.c
index b4a63cc..8bca135 100644
--- a/daemon/init.c
+++ b/daemon/init.c
@@ -24,6 +24,7 @@
#include "opd_anon.h"
#include "opd_perfmon.h"
#include "opd_printf.h"
+#include "opd_extended.h"
#include "op_version.h"
#include "op_config.h"
@@ -286,6 +287,8 @@ static void opd_sigterm(void)
opd_do_jitdumps();
opd_print_stats();
printf("oprofiled stopped %s", op_get_time());
+ opd_ext_deinitialize();
+
exit(EXIT_FAILURE);
}
diff --git a/daemon/liblegacy/Makefile.in b/daemon/liblegacy/Makefile.in
deleted file mode 100644
index 519f855..0000000
--- a/daemon/liblegacy/Makefile.in
+++ /dev/null
@@ -1,510 +0,0 @@
-# Makefile.in generated by automake 1.9.6 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005 Free Software Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ../..
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-subdir = daemon/liblegacy
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/binutils.m4 \
- $(top_srcdir)/m4/builtinexpect.m4 \
- $(top_srcdir)/m4/cellspubfdsupport.m4 \
- $(top_srcdir)/m4/compileroption.m4 \
- $(top_srcdir)/m4/configmodule.m4 \
- $(top_srcdir)/m4/copyifchange.m4 $(top_srcdir)/m4/docbook.m4 \
- $(top_srcdir)/m4/extradirs.m4 $(top_srcdir)/m4/findkernel.m4 \
- $(top_srcdir)/m4/kerneloption.m4 \
- $(top_srcdir)/m4/kernelversion.m4 \
- $(top_srcdir)/m4/mallocattribute.m4 \
- $(top_srcdir)/m4/poptconst.m4 \
- $(top_srcdir)/m4/precompiledheader.m4 $(top_srcdir)/m4/qt.m4 \
- $(top_srcdir)/m4/resultyn.m4 $(top_srcdir)/m4/sstream.m4 \
- $(top_srcdir)/m4/typedef.m4 $(top_srcdir)/configure.in
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-LIBRARIES = $(noinst_LIBRARIES)
-ARFLAGS = cru
-liblegacy_a_AR = $(AR) $(ARFLAGS)
-liblegacy_a_LIBADD =
-am_liblegacy_a_OBJECTS = opd_24_stats.$(OBJEXT) opd_kernel.$(OBJEXT) \
- opd_proc.$(OBJEXT) opd_image.$(OBJEXT) opd_mapping.$(OBJEXT) \
- opd_parse_proc.$(OBJEXT) opd_sample_files.$(OBJEXT) \
- init.$(OBJEXT)
-liblegacy_a_OBJECTS = $(am_liblegacy_a_OBJECTS)
-DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
-depcomp = $(SHELL) $(top_srcdir)/depcomp
-am__depfiles_maybe = depfiles
-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \
- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
- $(AM_CFLAGS) $(CFLAGS)
-CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(AM_LDFLAGS) $(LDFLAGS) -o $@
-SOURCES = $(liblegacy_a_SOURCES)
-DIST_SOURCES = $(liblegacy_a_SOURCES)
-ETAGS = etags
-CTAGS = ctags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
-AMTAR = @AMTAR@
-AR = @AR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-BFD_LIBS = @BFD_LIBS@
-BUILD_JVMPI_AGENT_FALSE = @BUILD_JVMPI_AGENT_FALSE@
-BUILD_JVMPI_AGENT_TRUE = @BUILD_JVMPI_AGENT_TRUE@
-BUILD_JVMTI_AGENT_FALSE = @BUILD_JVMTI_AGENT_FALSE@
-BUILD_JVMTI_AGENT_TRUE = @BUILD_JVMTI_AGENT_TRUE@
-CAT_ENTRY_END = @CAT_ENTRY_END@
-CAT_ENTRY_START = @CAT_ENTRY_START@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DATE = @DATE@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DOCBOOK_ROOT = @DOCBOOK_ROOT@
-ECHO = @ECHO@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-EXTRA_CFLAGS_MODULE = @EXTRA_CFLAGS_MODULE@
-F77 = @F77@
-FFLAGS = @FFLAGS@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-JAVA_HOMEDIR = @JAVA_HOMEDIR@
-KINC = @KINC@
-KSRC = @KSRC@
-KVERS = @KVERS@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LIBERTY_LIBS = @LIBERTY_LIBS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-MAKEINFO = @MAKEINFO@
-MOC = @MOC@
-MODINSTALLDIR = @MODINSTALLDIR@
-OBJEXT = @OBJEXT@
-OPROFILE_DIR = @OPROFILE_DIR@
-OPROFILE_MODULE_ARCH = @OPROFILE_MODULE_ARCH@
-OP_CFLAGS = @OP_CFLAGS@
-OP_CXXFLAGS = @OP_CXXFLAGS@
-OP_DOCDIR = @OP_DOCDIR@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-POPT_LIBS = @POPT_LIBS@
-PTRDIFF_T_TYPE = @PTRDIFF_T_TYPE@
-QT_INCLUDES = @QT_INCLUDES@
-QT_LDFLAGS = @QT_LDFLAGS@
-QT_LIB = @QT_LIB@
-QT_VERSION = @QT_VERSION@
-RANLIB = @RANLIB@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-SIZE_T_TYPE = @SIZE_T_TYPE@
-STRIP = @STRIP@
-UIC = @UIC@
-VERSION = @VERSION@
-XML_CATALOG = @XML_CATALOG@
-XSLTPROC = @XSLTPROC@
-XSLTPROC_FLAGS = @XSLTPROC_FLAGS@
-X_CFLAGS = @X_CFLAGS@
-X_EXTRA_LIBS = @X_EXTRA_LIBS@
-X_LIBS = @X_LIBS@
-X_PRE_LIBS = @X_PRE_LIBS@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
-am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-datadir = @datadir@
-exec_prefix = @exec_prefix@
-have_qt_FALSE = @have_qt_FALSE@
-have_qt_TRUE = @have_qt_TRUE@
-have_xsltproc_FALSE = @have_xsltproc_FALSE@
-have_xsltproc_TRUE = @have_xsltproc_TRUE@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-kernel_support_FALSE = @kernel_support_FALSE@
-kernel_support_TRUE = @kernel_support_TRUE@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-topdir = @topdir@
-noinst_LIBRARIES = liblegacy.a
-
-# -fno-omit-frame-pointer needed for daemon build: see ChangeLog-2004 02-23
-AM_CFLAGS = @OP_CFLAGS@ -fno-omit-frame-pointer
-AM_CPPFLAGS = \
- -I ${top_srcdir}/libutil \
- -I ${top_srcdir}/libop \
- -I ${top_srcdir}/libdb \
- -I ${top_srcdir}/daemon
-
-liblegacy_a_SOURCES = \
- opd_24_stats.c \
- opd_24_stats.h \
- opd_kernel.c \
- opd_proc.c \
- opd_image.c \
- opd_mapping.c \
- opd_parse_proc.c \
- opd_image.h \
- opd_mapping.h \
- p_module.h \
- opd_kernel.h \
- opd_parse_proc.h \
- opd_proc.h \
- opd_sample_files.c \
- opd_sample_files.h \
- init.c
-
-all: all-am
-
-.SUFFIXES:
-.SUFFIXES: .c .lo .o .obj
-$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign daemon/liblegacy/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --foreign daemon/liblegacy/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- @case '$?' in \
- *config.status*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
- *) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-clean-noinstLIBRARIES:
- -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
-liblegacy.a: $(liblegacy_a_OBJECTS) $(liblegacy_a_DEPENDENCIES)
- -rm -f liblegacy.a
- $(liblegacy_a_AR) liblegacy.a $(liblegacy_a_OBJECTS) $(liblegacy_a_LIBADD)
- $(RANLIB) liblegacy.a
-
-mostlyclean-compile:
- -rm -f *.$(OBJEXT)
-
-distclean-compile:
- -rm -f *.tab.c
-
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/init.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/opd_24_stats.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/opd_image.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/opd_kernel.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/opd_mapping.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/opd_parse_proc.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/opd_proc.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/opd_sample_files.Po@am__quote@
-
-.c.o:
-@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(COMPILE) -c $<
-
-.c.obj:
-@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
-
-.c.lo:
-@am__fastdepCC_TRUE@ if $(LTCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
- test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
- fi
-ctags: CTAGS
-CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkdir_p) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
- if test -d $$d/$$file; then \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
- fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
- else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: check-am
-all-am: Makefile $(LIBRARIES)
-installdirs:
-install: install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-am
-
-clean-am: clean-generic clean-libtool clean-noinstLIBRARIES \
- mostlyclean-am
-
-distclean: distclean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
- distclean-libtool distclean-tags
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-info: info-am
-
-info-am:
-
-install-data-am:
-
-install-exec-am:
-
-install-info: install-info-am
-
-install-man:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-compile mostlyclean-generic \
- mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am: uninstall-info-am
-
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
- clean-libtool clean-noinstLIBRARIES ctags distclean \
- distclean-compile distclean-generic distclean-libtool \
- distclean-tags distdir dvi dvi-am html html-am info info-am \
- install install-am install-data install-data-am install-exec \
- install-exec-am install-info install-info-am install-man \
- install-strip installcheck installcheck-am installdirs \
- maintainer-clean maintainer-clean-generic mostlyclean \
- mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
- pdf pdf-am ps ps-am tags uninstall uninstall-am \
- uninstall-info-am
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/daemon/opd_extended.c b/daemon/opd_extended.c
index d88c285..d4c8872 100644
--- a/daemon/opd_extended.c
+++ b/daemon/opd_extended.c
@@ -109,6 +109,20 @@ err_out:
}
+int opd_ext_deinitialize()
+{
+ int ret = EXIT_FAILURE;
+
+ if(opd_ext_feat_index == -1) {
+ return 0;
+ }
+
+ ret = ext_feature_table[opd_ext_feat_index].handlers->ext_deinit();
+
+ return ret;
+}
+
+
void opd_ext_print_stats()
{
if (is_ext_enabled()
diff --git a/daemon/opd_extended.h b/daemon/opd_extended.h
index 715041d..d7682a4 100644
--- a/daemon/opd_extended.h
+++ b/daemon/opd_extended.h
@@ -35,6 +35,8 @@ struct opd_ext_feature {
struct opd_ext_handlers {
// Extended init
int (*ext_init)(char const *);
+ // Extended deinit
+ int (*ext_deinit)();
// Extended statistics
int (*ext_print_stats)();
// Extended sfile handlers
@@ -61,6 +63,13 @@ struct opd_ext_sfile_handlers {
extern int opd_ext_initialize(char const * value);
/**
+ * @param value: commandline input option string
+ *
+ * Deinitialize
+ */
+extern int opd_ext_deinitialize();
+
+/**
* Print out extended feature statistics in oprofiled.log file
*/
extern void opd_ext_print_stats();
diff --git a/daemon/opd_ibs.c b/daemon/opd_ibs.c
index c57554a..f4af7c2 100644
--- a/daemon/opd_ibs.c
+++ b/daemon/opd_ibs.c
@@ -2,7 +2,7 @@
* @file daemon/opd_ibs.c
* AMD Family10h Instruction Based Sampling (IBS) handling.
*
- * @remark Copyright 2007 OProfile authors
+ * @remark Copyright 2007-2010 OProfile authors
* @remark Read the file COPYING
*
* @author Jason Yeh <jason.yeh@amd.com>
@@ -32,22 +32,22 @@
#include <stdio.h>
#include <errno.h>
#include <string.h>
+#include <limits.h>
extern op_cpu cpu_type;
extern int no_event_ok;
extern int sfile_equal(struct sfile const * sf, struct sfile const * sf2);
extern void sfile_dup(struct sfile * to, struct sfile * from);
+extern char * session_dir;
-/* IBS Select Arrays/Counters */
+/* IBS Select Counters */
static unsigned int ibs_selected_size;
+
+/* These flags store the IBS-derived events selection. */
static unsigned int ibs_fetch_selected_flag;
-static unsigned int ibs_fetch_selected_size;
static unsigned int ibs_op_selected_flag;
-static unsigned int ibs_op_selected_size;
static unsigned int ibs_op_ls_selected_flag;
-static unsigned int ibs_op_ls_selected_size;
static unsigned int ibs_op_nb_selected_flag;
-static unsigned int ibs_op_nb_selected_size;
/* IBS Statistics */
static unsigned long ibs_fetch_sample_stats;
@@ -64,6 +64,18 @@ struct opd_event ibs_vc[OP_MAX_IBS_COUNTERS];
/* IBS Virtual Counter Index(VCI) Map*/
unsigned int ibs_vci_map[OP_MAX_IBS_COUNTERS];
+/* CPUID information */
+unsigned int ibs_family;
+unsigned int ibs_model;
+unsigned int ibs_stepping;
+
+/* IBS Extended MSRs */
+static unsigned long ibs_bta_enabled;
+
+/* IBS log files */
+FILE * memaccess_log;
+FILE * bta_log;
+
/**
* This function converts IBS fetch event flags and values into
* derived events. If the tagged (sampled) fetched caused a derived
@@ -75,7 +87,7 @@ static void opd_log_ibs_fetch(struct transient * trans)
if (!trans_fetch)
return;
- trans_ibs_fetch(trans, ibs_fetch_selected_flag, ibs_fetch_selected_size);
+ trans_ibs_fetch(trans, ibs_fetch_selected_flag);
}
@@ -89,9 +101,16 @@ static void opd_log_ibs_op(struct transient * trans)
if (!trans_op)
return;
- trans_ibs_op(trans, ibs_op_selected_flag, ibs_op_selected_size);
- trans_ibs_op_ls(trans, ibs_op_ls_selected_flag, ibs_op_ls_selected_size);
- trans_ibs_op_nb(trans, ibs_op_nb_selected_flag, ibs_op_nb_selected_size);
+ trans_ibs_op_mask_reserved(ibs_family, trans);
+
+ if (trans_ibs_op_rip_invalid(trans) != 0)
+ return;
+
+ trans_ibs_op(trans, ibs_op_selected_flag);
+ trans_ibs_op_ls(trans, ibs_op_ls_selected_flag);
+ trans_ibs_op_nb(trans, ibs_op_nb_selected_flag);
+ trans_ibs_op_ls_memaccess(trans);
+ trans_ibs_op_bta(trans);
}
@@ -150,6 +169,26 @@ out:
}
+static void get_ibs_bta_status()
+{
+ FILE * fp = NULL;
+ char buf[PATH_MAX];
+
+ /* Default to disable */
+ ibs_bta_enabled = 0;
+
+ snprintf(buf, PATH_MAX, "/dev/oprofile/ibs_op/branch_target");
+ fp = fopen(buf, "r");
+ if (!fp)
+ return;
+
+ while (fgets(buf, PATH_MAX, fp) != NULL)
+ ibs_bta_enabled = strtoul(buf, NULL, 10);
+
+ fclose(fp);
+}
+
+
void code_ibs_fetch_sample(struct transient * trans)
{
struct ibs_fetch_sample * trans_fetch = NULL;
@@ -169,12 +208,12 @@ void code_ibs_fetch_sample(struct transient * trans)
trans_fetch->rip = pop_buffer_value(trans);
- trans_fetch->ibs_fetch_lin_addr_low = pop_buffer_value(trans);
- trans_fetch->ibs_fetch_lin_addr_high = pop_buffer_value(trans);
+ trans_fetch->ibs_fetch_lin_addr_low = pop_buffer_value(trans);
+ trans_fetch->ibs_fetch_lin_addr_high = pop_buffer_value(trans);
- trans_fetch->ibs_fetch_ctl_low = pop_buffer_value(trans);
- trans_fetch->ibs_fetch_ctl_high = pop_buffer_value(trans);
- trans_fetch->ibs_fetch_phys_addr_low = pop_buffer_value(trans);
+ trans_fetch->ibs_fetch_ctl_low = pop_buffer_value(trans);
+ trans_fetch->ibs_fetch_ctl_high = pop_buffer_value(trans);
+ trans_fetch->ibs_fetch_phys_addr_low = pop_buffer_value(trans);
trans_fetch->ibs_fetch_phys_addr_high = pop_buffer_value(trans);
verbprintf(vsamples,
@@ -200,6 +239,30 @@ void code_ibs_fetch_sample(struct transient * trans)
}
+static void get_ibs_op_bta_sample(struct transient * trans,
+ struct ibs_op_sample * trans_op)
+{
+ // Check remaining
+ if (!enough_remaining(trans, 2)) {
+ verbprintf(vext, "not enough remaining\n");
+ trans->remaining = 0;
+ ibs_op_incomplete_stats++;
+ return;
+ }
+
+ if (ibs_bta_enabled == 1) {
+ trans_op->ibs_op_brtgt_addr = pop_buffer_value(trans);
+
+ // Check if branch target address is valid (MSRC001_1035[37] == 1]
+ if ((trans_op->ibs_op_data1_high & (0x00000001 << 5)) == 0) {
+ trans_op->ibs_op_brtgt_addr = 0;
+ }
+ } else {
+ trans_op->ibs_op_brtgt_addr = 0;
+ }
+}
+
+
void code_ibs_op_sample(struct transient * trans)
{
struct ibs_op_sample * trans_op= NULL;
@@ -233,8 +296,10 @@ void code_ibs_op_sample(struct transient * trans)
trans_op->ibs_op_phys_addr_low = pop_buffer_value(trans);
trans_op->ibs_op_phys_addr_high = pop_buffer_value(trans);
+ get_ibs_op_bta_sample(trans, trans_op);
+
verbprintf(vsamples,
- "IBS_OP_X CPU:%ld PID:%d RIP:%lx D1HI:%x D1LO:%x D2LO:%x D3HI:%x D3LO:%x L_LO:%x P_LO:%x\n",
+ "IBS_OP_X CPU:%ld PID:%d RIP:%lx D1HI:%x D1LO:%x D2LO:%x D3HI:%x D3LO:%x L_LO:%x P_LO:%x\n",
trans->cpu,
trans->tgid,
trans_op->rip,
@@ -339,16 +404,12 @@ static int ibs_parse_and_set_events(char * str)
// Grouping
if (IS_IBS_FETCH(event->val)) {
ibs_fetch_selected_flag |= 1 << IBS_FETCH_OFFSET(event->val);
- ibs_fetch_selected_size++;
} else if (IS_IBS_OP(event->val)) {
ibs_op_selected_flag |= 1 << IBS_OP_OFFSET(event->val);
- ibs_op_selected_size++;
} else if (IS_IBS_OP_LS(event->val)) {
ibs_op_ls_selected_flag |= 1 << IBS_OP_LS_OFFSET(event->val);
- ibs_op_ls_selected_size++;
} else if (IS_IBS_OP_NB(event->val)) {
ibs_op_nb_selected_flag |= 1 << IBS_OP_NB_OFFSET(event->val);
- ibs_op_nb_selected_size++;
} else {
return -1;
}
@@ -402,7 +463,6 @@ static int ibs_parse_and_set_um_fetch(char const * str)
}
-
static int ibs_parse_and_set_um_op(char const * str, unsigned long int * ibs_op_um)
{
char * end = NULL;
@@ -418,6 +478,37 @@ static int ibs_parse_and_set_um_op(char const * str, unsigned long int * ibs_op_
}
+static void check_cpuid_family_model_stepping()
+{
+#if defined(__i386__) || defined(__x86_64__)
+ union {
+ unsigned eax;
+ struct {
+ unsigned stepping : 4;
+ unsigned model : 4;
+ unsigned family : 4;
+ unsigned res : 4;
+ unsigned ext_model : 4;
+ unsigned ext_family : 8;
+ unsigned res2 : 4;
+ };
+ } v;
+ unsigned ebx, ecx, edx;
+
+ /* CPUID Fn0000_0001_EAX Family, Model, Stepping */
+ asm ("cpuid" : "=a" (v.eax), "=b" (ebx), "=c" (ecx), "=d" (edx) : "0" (1));
+
+ ibs_family = v.family + v.ext_family;
+ ibs_model = v.model + v.ext_model;
+ ibs_stepping = v.stepping;
+#else
+ ibs_family = 0;
+ ibs_model = 0;
+ ibs_stepping = 0;
+#endif
+}
+
+
static int ibs_init(char const * argv)
{
char * tmp, * ptr, * tok1, * tok2 = NULL;
@@ -532,15 +623,67 @@ static int ibs_init(char const * argv)
// Allow no event
no_event_ok = 1;
+
+ check_cpuid_family_model_stepping();
+
+ get_ibs_bta_status();
+
+ /* Create IBS memory access log */
+ memaccess_log = NULL;
+ if (ibs_op_um & 0x2) {
+ char filename[1024];
+ strncpy(filename, session_dir, 1023);
+ strncat(filename, "/samples/ibs_memaccess.log", 1024);
+ if ((memaccess_log = fopen(filename, "w")) == NULL) {
+ verbprintf(vext, "Warning: Cannot create file %s\n", filename);
+
+ } else {
+ fprintf (memaccess_log, "# IBS Memory Access Log\n\n");
+ fprintf (memaccess_log, "# Format: app_cookie,cookie,cpu,tgid,tid,pc,branch-target-address,\n");
+ fprintf (memaccess_log, "# phy-hi:phy-low,lin-hi:lin-low,accese-type,latency\n\n");
+ }
+ }
+
+ // Create IBS Branch Target Address (BTA) log
+ bta_log = NULL;
+ if (ibs_bta_enabled) {
+ char filename[1024];
+ strncpy(filename, session_dir, 1023);
+ strncat(filename, "/samples/ibs_bta.log", 1024);
+ if ((bta_log = fopen(filename, "w")) == NULL) {
+ verbprintf(vext, "Warning: Cannot create file %s\n", filename);
+ } else {
+ fprintf (bta_log, "# IBS Memory Access Log\n\n");
+ fprintf (bta_log, "# Format: app_cookie,cookie,cpu,tgid,tid,pc,branch-target-address\n\n");
+ }
+ }
+
+ return 0;
+}
+
+
+static int ibs_deinit()
+{
+ if (memaccess_log) {
+ fclose (memaccess_log);
+ memaccess_log = NULL;
+ }
+
+ if (bta_log) {
+ fclose (bta_log);
+ bta_log = NULL;
+ }
return 0;
}
static int ibs_print_stats()
{
- printf("Nr. IBS Fetch samples : %lu (%lu entries)\n", ibs_fetch_sample_stats, (ibs_fetch_sample_stats * 7));
+ printf("Nr. IBS Fetch samples : %lu (%lu entries)\n",
+ ibs_fetch_sample_stats, (ibs_fetch_sample_stats * 7));
printf("Nr. IBS Fetch incompletes : %lu\n", ibs_fetch_incomplete_stats);
- printf("Nr. IBS Op samples : %lu (%lu entries)\n", ibs_op_sample_stats, (ibs_op_sample_stats * 13));
+ printf("Nr. IBS Op samples : %lu (%lu entries)\n",
+ ibs_op_sample_stats, (ibs_op_sample_stats * 13));
printf("Nr. IBS Op incompletes : %lu\n", ibs_op_incomplete_stats);
printf("Nr. IBS derived events : %lu\n", ibs_derived_event_stats);
return 0;
@@ -686,7 +829,8 @@ struct opd_ext_sfile_handlers ibs_sfile_handlers =
struct opd_ext_handlers ibs_handlers =
{
- .ext_init = &ibs_init,
+ .ext_init = &ibs_init,
+ .ext_deinit = &ibs_deinit,
.ext_print_stats = &ibs_print_stats,
- .ext_sfile = &ibs_sfile_handlers
+ .ext_sfile = &ibs_sfile_handlers
};
diff --git a/daemon/opd_ibs.h b/daemon/opd_ibs.h
index 9ccc482..6f0fd64 100644
--- a/daemon/opd_ibs.h
+++ b/daemon/opd_ibs.h
@@ -2,7 +2,7 @@
* @file daemon/opd_ibs.h
* AMD Family10h Instruction Based Sampling (IBS) handling.
*
- * @remark Copyright 2008 OProfile authors
+ * @remark Copyright 2008-2010 OProfile authors
* @remark Read the file COPYING
*
* @author Jason Yeh <jason.yeh@amd.com>
@@ -70,18 +70,14 @@ struct ibs_op_sample {
/* MSRC001_1037 IBS Op Data 3 Register */
unsigned int ibs_op_data3_low;
unsigned int ibs_op_data3_high;
+ /* MSRC001_1038 IBS DC Linear Address */
unsigned int ibs_op_ldst_linaddr_low;
unsigned int ibs_op_ldst_linaddr_high;
+ /* MSRC001_1039 IBS DC Physical Address */
unsigned int ibs_op_phys_addr_low;
unsigned int ibs_op_phys_addr_high;
-};
-
-
-enum IBSL1PAGESIZE {
- L1TLB4K = 0,
- L1TLB2M,
- L1TLB1G,
- L1TLB_INVALID
+ /* MSRC001_103B IBS Branch Target Address */
+ unsigned long ibs_op_brtgt_addr;
};
diff --git a/daemon/opd_ibs_macro.h b/daemon/opd_ibs_macro.h
index 565d22f..0bfcf17 100644
--- a/daemon/opd_ibs_macro.h
+++ b/daemon/opd_ibs_macro.h
@@ -1,8 +1,8 @@
/**
* @file daemon/opd_ibs_macro.h
- * AMD Family10h Instruction Based Sampling (IBS) related macro.
+ * AMD Instruction Based Sampling (IBS) related macro.
*
- * @remark Copyright 2008 OProfile authors
+ * @remark Copyright 2008-2010 OProfile authors
* @remark Read the file COPYING
*
* @author Jason Yeh <jason.yeh@amd.com>
@@ -16,7 +16,8 @@
/**
* The following defines are bit masks that are used to select
- * IBS fetch event flags and values at the MSR level.
+ * IBS fetch event flags and values at the
+ * MSRC001_1030 IBS Fetch Control Register (IbsFetchCtl)
*/
#define FETCH_MASK_LATENCY 0x0000ffff
#define FETCH_MASK_COMPLETE 0x00040000
@@ -34,7 +35,10 @@
* The following defines are bit masks that are used to select
* IBS op event flags and values at the MSR level.
*/
+
+/* MSRC001_1035 IBS Op Data Register (IbsOpData) */
#define BR_MASK_RETIRE 0x0000ffff
+#define MASK_RIP_INVALID 0x00000040
#define BR_MASK_BRN_RET 0x00000020
#define BR_MASK_BRN_MISP 0x00000010
#define BR_MASK_BRN_TAKEN 0x00000008
@@ -42,17 +46,19 @@
#define BR_MASK_MISP_RETURN 0x00000002
#define BR_MASK_BRN_RESYNC 0x00000001
+/* MSRC001_1036 IBS Op Data Register (IbsOpData2) */
#define NB_MASK_L3_STATE 0x00000020
#define NB_MASK_REQ_DST_PROC 0x00000010
#define NB_MASK_REQ_DATA_SRC 0x00000007
+/* MSRC001_1037 IBS Op Data Register (IbsOpData3) */
#define DC_MASK_L2_HIT_1G 0x00080000
#define DC_MASK_PHY_ADDR_VALID 0x00040000
#define DC_MASK_LIN_ADDR_VALID 0x00020000
#define DC_MASK_MAB_HIT 0x00010000
#define DC_MASK_LOCKED_OP 0x00008000
-#define DC_MASK_WC_MEM_ACCESS 0x00004000
-#define DC_MASK_UC_MEM_ACCESS 0x00002000
+#define DC_MASK_UC_MEM_ACCESS 0x00004000
+#define DC_MASK_WC_MEM_ACCESS 0x00002000
#define DC_MASK_ST_TO_LD_CANCEL 0x00001000
#define DC_MASK_ST_TO_LD_FOR 0x00000800
#define DC_MASK_ST_BANK_CONFLICT 0x00000400
@@ -77,10 +83,9 @@
* at 0xf000.
*
* The definitions in this file *must* match definitions
- * of IBS derived events in gh-events.xml and in the
- * oprofile AMD Family 10h events file. More information
+ * of IBS derived events. More information
* about IBS derived events is given in the Software Oprimization
- * Guide for AMD Family 10h Processors.
+ * Guide.
*/
/**
@@ -108,6 +113,8 @@
#define IBS_FETCH_MAX (IBS_FETCH_END - IBS_FETCH_BASE + 1)
#define IS_IBS_FETCH(x) (IBS_FETCH_BASE <= x && x <= IBS_FETCH_END)
#define IBS_FETCH_OFFSET(x) (x - IBS_FETCH_BASE)
+#define CHECK_FETCH_SELECTED_FLAG(x) if ( selected_flag & (1 << IBS_FETCH_OFFSET(x)))
+
/**
* The following defines associate a 16-bit select value with an IBS
@@ -129,6 +136,8 @@
#define IBS_OP_MAX (IBS_OP_END - IBS_OP_BASE + 1)
#define IS_IBS_OP(x) (IBS_OP_BASE <= x && x <= IBS_OP_END)
#define IBS_OP_OFFSET(x) (x - IBS_OP_BASE)
+#define CHECK_OP_SELECTED_FLAG(x) if ( selected_flag & (1 << IBS_OP_OFFSET(x)))
+
/**
* The following defines associate a 16-bit select value with an IBS
@@ -166,6 +175,7 @@
#define IBS_OP_LS_MAX (IBS_OP_LS_END - IBS_OP_LS_BASE + 1)
#define IS_IBS_OP_LS(x) (IBS_OP_LS_BASE <= x && x <= IBS_OP_LS_END)
#define IBS_OP_LS_OFFSET(x) (x - IBS_OP_LS_BASE)
+#define CHECK_OP_LS_SELECTED_FLAG(x) if ( selected_flag & (1 << IBS_OP_LS_OFFSET(x)))
/**
@@ -191,6 +201,7 @@
#define IBS_OP_NB_MAX (IBS_OP_NB_END - IBS_OP_NB_BASE + 1)
#define IS_IBS_OP_NB(x) (IBS_OP_NB_BASE <= x && x <= IBS_OP_NB_END)
#define IBS_OP_NB_OFFSET(x) (x - IBS_OP_NB_BASE)
+#define CHECK_OP_NB_SELECTED_FLAG(x) if ( selected_flag & (1 << IBS_OP_NB_OFFSET(x)))
#define OP_MAX_IBS_COUNTERS (IBS_FETCH_MAX + IBS_OP_MAX + IBS_OP_LS_MAX + IBS_OP_NB_MAX)
@@ -215,8 +226,18 @@
/** Bit 52 IbsPhyAddrValid: instruction fetch physical address valid. */
#define IBS_FETCH_PHYS_ADDR_VALID(x) ((x->ibs_fetch_ctl_high & FETCH_MASK_PHY_ADDR) != 0)
+enum IBSL1PAGESIZE {
+ L1TLB4K = 0,
+ L1TLB2M,
+ L1TLB1G,
+ L1TLB_INVALID
+};
+
/** Bits 54:53 IbsL1TlbPgSz: instruction cache L1TLB page size. */
#define IBS_FETCH_TLB_PAGE_SIZE(x) ((unsigned short)((x->ibs_fetch_ctl_high >> 21) & 0x3))
+#define IBS_FETCH_TLB_PAGE_SIZE_4K(x) (IBS_FETCH_TLB_PAGE_SIZE(x) == L1TLB4K)
+#define IBS_FETCH_TLB_PAGE_SIZE_2M(x) (IBS_FETCH_TLB_PAGE_SIZE(x) == L1TLB2M)
+#define IBS_FETCH_TLB_PAGE_SIZE_1G(x) (IBS_FETCH_TLB_PAGE_SIZE(x) == L1TLB1G)
/** Bit 55 IbsL1TlbMiss: instruction cache L1TLB miss. */
#define IBS_FETCH_M_L1_TLB_MISS(x) ((x->ibs_fetch_ctl_high & FETCH_MASK_L1_MISS) != 0)
@@ -252,22 +273,25 @@
#define IBS_OP_TAG_TO_RETIRE_CYCLES(x) ((unsigned short)((x->ibs_op_data1_low >> 16) & BR_MASK_RETIRE))
/** 32 op_branch_resync : resync macro-op. */
-#define IBS_OP_OP_BRANCH_RESYNC(x) ((x->ibs_op_data1_high & BR_MASK_BRN_RESYNC) != 0)
+#define IBS_OP_BRANCH_RESYNC(x) ((x->ibs_op_data1_high & BR_MASK_BRN_RESYNC) != 0)
/** 33 op_mispredict_return : mispredicted return macro-op. */
-#define IBS_OP_OP_MISPREDICT_RETURN(x) ((x->ibs_op_data1_high & BR_MASK_MISP_RETURN) != 0)
+#define IBS_OP_MISPREDICT_RETURN(x) ((x->ibs_op_data1_high & BR_MASK_MISP_RETURN) != 0)
/** 34 IbsOpReturn: return macro-op. */
-#define IBS_OP_OP_RETURN(x) ((x->ibs_op_data1_high & BR_MASK_RETURN) != 0)
+#define IBS_OP_RETURN(x) ((x->ibs_op_data1_high & BR_MASK_RETURN) != 0)
/** 35 IbsOpBrnTaken: taken branch macro-op. */
-#define IBS_OP_OP_BRANCH_TAKEN(x) ((x->ibs_op_data1_high & BR_MASK_BRN_TAKEN) != 0)
+#define IBS_OP_BRANCH_TAKEN(x) ((x->ibs_op_data1_high & BR_MASK_BRN_TAKEN) != 0)
/** 36 IbsOpBrnMisp: mispredicted branch macro-op. */
-#define IBS_OP_OP_BRANCH_MISPREDICT(x) ((x->ibs_op_data1_high & BR_MASK_BRN_MISP) != 0)
+#define IBS_OP_BRANCH_MISPREDICT(x) ((x->ibs_op_data1_high & BR_MASK_BRN_MISP) != 0)
/** 37 IbsOpBrnRet: branch macro-op retired. */
-#define IBS_OP_OP_BRANCH_RETIRED(x) ((x->ibs_op_data1_high & BR_MASK_BRN_RET) != 0)
+#define IBS_OP_BRANCH_RETIRED(x) ((x->ibs_op_data1_high & BR_MASK_BRN_RET) != 0)
+
+/** 38 IbsRipInvalid: RIP invalid. */
+#define IBS_OP_RIP_INVALID(x) ((x->ibs_op_data1_high & MASK_RIP_INVALID) != 0)
/**
* MSRC001_1036 IBS Op Data 2 Register (IbsOpData2)
@@ -282,10 +306,18 @@
/** 2:0 NbIbsReqSrc: Northbridge IBS request data source */
#define IBS_OP_NB_IBS_REQ_SRC(x) ((unsigned char)(x->ibs_op_data2_low & NB_MASK_REQ_DATA_SRC))
+#define IBS_OP_NB_IBS_REQ_SRC_01(x) (IBS_OP_NB_IBS_REQ_SRC(x) == 0x01)
+
+#define IBS_OP_NB_IBS_REQ_SRC_02(x) (IBS_OP_NB_IBS_REQ_SRC(x) == 0x02)
+
+#define IBS_OP_NB_IBS_REQ_SRC_03(x) (IBS_OP_NB_IBS_REQ_SRC(x) == 0x03)
+
+#define IBS_OP_NB_IBS_REQ_SRC_07(x) (IBS_OP_NB_IBS_REQ_SRC(x) == 0x07)
+
/**
* MSRC001_1037 IBS Op Data3 Register
*
- * Bits 48:32 IbsDcMissLat
+ * Bits 47:32 IbsDcMissLat
*/
#define IBS_OP_DC_MISS_LATENCY(x) ((unsigned short)(x->ibs_op_data3_high & 0xffff))
@@ -328,12 +360,12 @@
/** 12 ibs_dc_st_to_ld_can: Data forwarding from store to load operation cancelled */
#define IBS_OP_IBS_DC_ST_TO_LD_CAN(x) ((x->ibs_op_data3_low & DC_MASK_ST_TO_LD_CANCEL) != 0)
-/** 13 ibs_dc_uc_mem_acc: UC memory access */
-#define IBS_OP_IBS_DC_UC_MEM_ACC(x) ((x->ibs_op_data3_low & DC_MASK_UC_MEM_ACCESS) != 0)
-
-/** 14 ibs_dc_wc_mem_acc : WC memory access */
+/** 13 ibs_dc_wc_mem_acc : WC memory access */
#define IBS_OP_IBS_DC_WC_MEM_ACC(x) ((x->ibs_op_data3_low & DC_MASK_WC_MEM_ACCESS) != 0)
+/** 14 ibs_dc_uc_mem_acc : UC memory access */
+#define IBS_OP_IBS_DC_UC_MEM_ACC(x) ((x->ibs_op_data3_low & DC_MASK_UC_MEM_ACCESS) != 0)
+
/** 15 ibs_locked_op: Locked operation */
#define IBS_OP_IBS_LOCKED_OP(x) ((x->ibs_op_data3_low & DC_MASK_LOCKED_OP) != 0)
@@ -362,5 +394,4 @@
*/
#define AGG_IBS_COUNT(EV, COUNT) opd_log_ibs_count(EV, trans, COUNT)
-
#endif /*OPD_IBS_MACRO_H*/
diff --git a/daemon/opd_ibs_trans.c b/daemon/opd_ibs_trans.c
index 3b2c2f8..68bee38 100644
--- a/daemon/opd_ibs_trans.c
+++ b/daemon/opd_ibs_trans.c
@@ -1,8 +1,8 @@
/**
* @file daemon/opd_ibs_trans.c
- * AMD Family10h Instruction Based Sampling (IBS) translation.
+ * AMD Instruction Based Sampling (IBS) translation.
*
- * @remark Copyright 2008 OProfile authors
+ * @remark Copyright 2008 - 2010 OProfile authors
* @remark Read the file COPYING
*
* @author Jason Yeh <jason.yeh@amd.com>
@@ -20,205 +20,185 @@
#include <stdlib.h>
#include <stdio.h>
-#define MAX_EVENTS_PER_GROUP 32
+extern FILE * bta_log;
+extern FILE * memaccess_log;
/*
- * --------------------- OP DERIVED FUNCTION
+ * --------------------- FETCH DERIVED FUNCTION
*/
-void trans_ibs_fetch (struct transient * trans, unsigned int selected_flag, unsigned int size)
+void trans_ibs_fetch (struct transient * trans, unsigned int selected_flag)
{
struct ibs_fetch_sample * trans_fetch = ((struct ibs_sample*)(trans->ext))->fetch;
- unsigned int i, j, mask = 1;
-
- for (i = IBS_FETCH_BASE, j =0 ; i <= IBS_FETCH_END && j < size ; i++, mask = mask << 1) {
-
- if ((selected_flag & mask) == 0)
- continue;
-
- j++;
-
- switch (i) {
-
- case DE_IBS_FETCH_ALL:
- /* IBS all fetch samples (kills + attempts) */
- AGG_IBS_EVENT(DE_IBS_FETCH_ALL);
- break;
-
- case DE_IBS_FETCH_KILLED:
- /* IBS killed fetches ("case 0") -- All interesting event
- * flags are clear */
- if (IBS_FETCH_KILLED(trans_fetch))
- AGG_IBS_EVENT(DE_IBS_FETCH_KILLED);
- break;
-
- case DE_IBS_FETCH_ATTEMPTED:
- /* Any non-killed fetch is an attempted fetch */
- AGG_IBS_EVENT(DE_IBS_FETCH_ATTEMPTED);
- break;
-
- case DE_IBS_FETCH_COMPLETED:
- if (IBS_FETCH_FETCH_COMPLETION(trans_fetch))
- /* IBS Fetch Completed */
- AGG_IBS_EVENT(DE_IBS_FETCH_COMPLETED);
- break;
-
- case DE_IBS_FETCH_ABORTED:
- if (!IBS_FETCH_FETCH_COMPLETION(trans_fetch))
- /* IBS Fetch Aborted */
- AGG_IBS_EVENT(DE_IBS_FETCH_ABORTED);
- break;
-
- case DE_IBS_L1_ITLB_HIT:
- /* IBS L1 ITLB hit */
- if (IBS_FETCH_L1_TLB_HIT(trans_fetch))
- AGG_IBS_EVENT(DE_IBS_L1_ITLB_HIT);
- break;
-
- case DE_IBS_ITLB_L1M_L2H:
- /* IBS L1 ITLB miss and L2 ITLB hit */
- if (IBS_FETCH_ITLB_L1M_L2H(trans_fetch))
- AGG_IBS_EVENT(DE_IBS_ITLB_L1M_L2H);
- break;
-
- case DE_IBS_ITLB_L1M_L2M:
- /* IBS L1 & L2 ITLB miss; complete ITLB miss */
- if (IBS_FETCH_ITLB_L1M_L2M(trans_fetch))
- AGG_IBS_EVENT(DE_IBS_ITLB_L1M_L2M);
- break;
-
- case DE_IBS_IC_MISS:
- /* IBS instruction cache miss */
- if (IBS_FETCH_INST_CACHE_MISS(trans_fetch))
- AGG_IBS_EVENT(DE_IBS_IC_MISS);
- break;
-
- case DE_IBS_IC_HIT:
- /* IBS instruction cache hit */
- if (IBS_FETCH_INST_CACHE_HIT(trans_fetch))
- AGG_IBS_EVENT(DE_IBS_IC_HIT);
- break;
-
- case DE_IBS_FETCH_4K_PAGE:
- if (IBS_FETCH_PHYS_ADDR_VALID(trans_fetch)
- && IBS_FETCH_TLB_PAGE_SIZE(trans_fetch) == L1TLB4K)
- AGG_IBS_EVENT(DE_IBS_FETCH_4K_PAGE);
- break;
-
- case DE_IBS_FETCH_2M_PAGE:
- if (IBS_FETCH_PHYS_ADDR_VALID(trans_fetch)
- && IBS_FETCH_TLB_PAGE_SIZE(trans_fetch) == L1TLB2M)
- AGG_IBS_EVENT(DE_IBS_FETCH_2M_PAGE);
- break;
-
- case DE_IBS_FETCH_1G_PAGE:
- if (IBS_FETCH_PHYS_ADDR_VALID(trans_fetch)
- && IBS_FETCH_TLB_PAGE_SIZE(trans_fetch) == L1TLB1G)
- AGG_IBS_EVENT(DE_IBS_FETCH_1G_PAGE);
- break;
-
- case DE_IBS_FETCH_XX_PAGE:
- break;
-
- case DE_IBS_FETCH_LATENCY:
- if (IBS_FETCH_FETCH_LATENCY(trans_fetch))
- AGG_IBS_COUNT(DE_IBS_FETCH_LATENCY,
- IBS_FETCH_FETCH_LATENCY(trans_fetch));
- break;
- default:
- break;
- }
+
+ if ((selected_flag) == 0)
+ return;
+
+ CHECK_FETCH_SELECTED_FLAG(DE_IBS_FETCH_ALL) {
+ /* IBS all fetch samples (kills + attempts) */
+ AGG_IBS_EVENT(DE_IBS_FETCH_ALL);
+ }
+
+ CHECK_FETCH_SELECTED_FLAG(DE_IBS_FETCH_KILLED) {
+ /* IBS killed fetches ("case 0") -- All interesting event
+ * flags are clear */
+ if (IBS_FETCH_KILLED(trans_fetch))
+ AGG_IBS_EVENT(DE_IBS_FETCH_KILLED);
+ }
+
+ CHECK_FETCH_SELECTED_FLAG(DE_IBS_FETCH_ATTEMPTED) {
+ /* Any non-killed fetch is an attempted fetch */
+ AGG_IBS_EVENT(DE_IBS_FETCH_ATTEMPTED);
+ }
+
+ CHECK_FETCH_SELECTED_FLAG(DE_IBS_FETCH_COMPLETED) {
+ if (IBS_FETCH_FETCH_COMPLETION(trans_fetch))
+ /* IBS Fetch Completed */
+ AGG_IBS_EVENT(DE_IBS_FETCH_COMPLETED);
+ }
+
+ CHECK_FETCH_SELECTED_FLAG(DE_IBS_FETCH_ABORTED) {
+ if (!IBS_FETCH_FETCH_COMPLETION(trans_fetch))
+ /* IBS Fetch Aborted */
+ AGG_IBS_EVENT(DE_IBS_FETCH_ABORTED);
+ }
+
+ CHECK_FETCH_SELECTED_FLAG(DE_IBS_L1_ITLB_HIT) {
+ /* IBS L1 ITLB hit */
+ if (IBS_FETCH_L1_TLB_HIT(trans_fetch))
+ AGG_IBS_EVENT(DE_IBS_L1_ITLB_HIT);
+ }
+
+ CHECK_FETCH_SELECTED_FLAG(DE_IBS_ITLB_L1M_L2H) {
+ /* IBS L1 ITLB miss and L2 ITLB hit */
+ if (IBS_FETCH_ITLB_L1M_L2H(trans_fetch))
+ AGG_IBS_EVENT(DE_IBS_ITLB_L1M_L2H);
+ }
+
+ CHECK_FETCH_SELECTED_FLAG(DE_IBS_ITLB_L1M_L2M) {
+ /* IBS L1 & L2 ITLB miss; complete ITLB miss */
+ if (IBS_FETCH_ITLB_L1M_L2M(trans_fetch))
+ AGG_IBS_EVENT(DE_IBS_ITLB_L1M_L2M);
+ }
+
+ CHECK_FETCH_SELECTED_FLAG(DE_IBS_IC_MISS) {
+ /* IBS instruction cache miss */
+ if (IBS_FETCH_INST_CACHE_MISS(trans_fetch))
+ AGG_IBS_EVENT(DE_IBS_IC_MISS);
+ }
+
+ CHECK_FETCH_SELECTED_FLAG(DE_IBS_IC_HIT) {
+ /* IBS instruction cache hit */
+ if (IBS_FETCH_INST_CACHE_HIT(trans_fetch))
+ AGG_IBS_EVENT(DE_IBS_IC_HIT);
+ }
+
+ CHECK_FETCH_SELECTED_FLAG(DE_IBS_FETCH_4K_PAGE) {
+ if (IBS_FETCH_PHYS_ADDR_VALID(trans_fetch)
+ && IBS_FETCH_TLB_PAGE_SIZE_4K(trans_fetch))
+ AGG_IBS_EVENT(DE_IBS_FETCH_4K_PAGE);
+ }
+
+ CHECK_FETCH_SELECTED_FLAG(DE_IBS_FETCH_2M_PAGE) {
+ if (IBS_FETCH_PHYS_ADDR_VALID(trans_fetch)
+ && IBS_FETCH_TLB_PAGE_SIZE_2M(trans_fetch))
+ AGG_IBS_EVENT(DE_IBS_FETCH_2M_PAGE);
+ }
+
+ CHECK_FETCH_SELECTED_FLAG(DE_IBS_FETCH_1G_PAGE) {
+ if (IBS_FETCH_PHYS_ADDR_VALID(trans_fetch)
+ && IBS_FETCH_TLB_PAGE_SIZE_1G(trans_fetch))
+ AGG_IBS_EVENT(DE_IBS_FETCH_1G_PAGE);
+ }
+
+ CHECK_FETCH_SELECTED_FLAG(DE_IBS_FETCH_XX_PAGE) {
+ }
+
+ CHECK_FETCH_SELECTED_FLAG(DE_IBS_FETCH_LATENCY) {
+ if (IBS_FETCH_FETCH_LATENCY(trans_fetch))
+ AGG_IBS_COUNT(DE_IBS_FETCH_LATENCY,
+ IBS_FETCH_FETCH_LATENCY(trans_fetch));
}
}
+
/*
* --------------------- OP DERIVED FUNCTION
*/
-void trans_ibs_op (struct transient * trans, unsigned int selected_flag, unsigned int size)
+void trans_ibs_op (struct transient * trans, unsigned int selected_flag)
{
struct ibs_op_sample * trans_op = ((struct ibs_sample*)(trans->ext))->op;
- unsigned int i, j, mask = 1;
-
- for (i = IBS_OP_BASE, j =0 ; i <= IBS_OP_END && j < size ; i++, mask = mask << 1) {
-
- if ((selected_flag & mask) == 0)
- continue;
-
- j++;
-
- switch (i) {
-
- case DE_IBS_OP_ALL:
- /* All IBS op samples */
- AGG_IBS_EVENT(DE_IBS_OP_ALL);
- break;
-
- case DE_IBS_OP_TAG_TO_RETIRE:
- /* Tally retire cycle counts for all sampled macro-ops
- * IBS tag to retire cycles */
- if (IBS_OP_TAG_TO_RETIRE_CYCLES(trans_op))
- AGG_IBS_COUNT(DE_IBS_OP_TAG_TO_RETIRE,
- IBS_OP_TAG_TO_RETIRE_CYCLES(trans_op));
- break;
-
- case DE_IBS_OP_COMP_TO_RETIRE:
- /* IBS completion to retire cycles */
- if (IBS_OP_COM_TO_RETIRE_CYCLES(trans_op))
- AGG_IBS_COUNT(DE_IBS_OP_COMP_TO_RETIRE,
- IBS_OP_COM_TO_RETIRE_CYCLES(trans_op));
- break;
-
- case DE_IBS_BRANCH_RETIRED:
- if (IBS_OP_OP_BRANCH_RETIRED(trans_op))
- /* IBS Branch retired op */
- AGG_IBS_EVENT(DE_IBS_BRANCH_RETIRED) ;
- break;
-
- case DE_IBS_BRANCH_MISP:
- if (IBS_OP_OP_BRANCH_RETIRED(trans_op)
- /* Test branch-specific event flags */
- /* IBS mispredicted Branch op */
- && IBS_OP_OP_BRANCH_MISPREDICT(trans_op))
- AGG_IBS_EVENT(DE_IBS_BRANCH_MISP) ;
- break;
-
- case DE_IBS_BRANCH_TAKEN:
- if (IBS_OP_OP_BRANCH_RETIRED(trans_op)
- /* IBS taken Branch op */
- && IBS_OP_OP_BRANCH_TAKEN(trans_op))
- AGG_IBS_EVENT(DE_IBS_BRANCH_TAKEN);
- break;
-
- case DE_IBS_BRANCH_MISP_TAKEN:
- if (IBS_OP_OP_BRANCH_RETIRED(trans_op)
- /* IBS mispredicted taken branch op */
- && IBS_OP_OP_BRANCH_TAKEN(trans_op)
- && IBS_OP_OP_BRANCH_MISPREDICT(trans_op))
- AGG_IBS_EVENT(DE_IBS_BRANCH_MISP_TAKEN);
- break;
-
- case DE_IBS_RETURN:
- if (IBS_OP_OP_BRANCH_RETIRED(trans_op)
- /* IBS return op */
- && IBS_OP_OP_RETURN(trans_op))
- AGG_IBS_EVENT(DE_IBS_RETURN);
- break;
-
- case DE_IBS_RETURN_MISP:
- if (IBS_OP_OP_BRANCH_RETIRED(trans_op)
- /* IBS mispredicted return op */
- && IBS_OP_OP_RETURN(trans_op)
- && IBS_OP_OP_BRANCH_MISPREDICT(trans_op))
- AGG_IBS_EVENT(DE_IBS_RETURN_MISP);
- break;
-
- case DE_IBS_RESYNC:
- /* Test for a resync macro-op */
- if (IBS_OP_OP_BRANCH_RESYNC(trans_op))
- AGG_IBS_EVENT(DE_IBS_RESYNC);
- break;
- default:
- break;
- }
+
+ if ((selected_flag) == 0)
+ return;
+
+ CHECK_OP_SELECTED_FLAG(DE_IBS_OP_ALL) {
+ /* All IBS op samples */
+ AGG_IBS_EVENT(DE_IBS_OP_ALL);
+ }
+
+ CHECK_OP_SELECTED_FLAG(DE_IBS_OP_TAG_TO_RETIRE) {
+ /* Tally retire cycle counts for all sampled macro-ops
+ * IBS tag to retire cycles */
+ if (IBS_OP_TAG_TO_RETIRE_CYCLES(trans_op))
+ AGG_IBS_COUNT(DE_IBS_OP_TAG_TO_RETIRE,
+ IBS_OP_TAG_TO_RETIRE_CYCLES(trans_op));
+ }
+
+ CHECK_OP_SELECTED_FLAG(DE_IBS_OP_COMP_TO_RETIRE) {
+ /* IBS completion to retire cycles */
+ if (IBS_OP_COM_TO_RETIRE_CYCLES(trans_op))
+ AGG_IBS_COUNT(DE_IBS_OP_COMP_TO_RETIRE,
+ IBS_OP_COM_TO_RETIRE_CYCLES(trans_op));
+ }
+
+ CHECK_OP_SELECTED_FLAG(DE_IBS_BRANCH_RETIRED) {
+ if (IBS_OP_BRANCH_RETIRED(trans_op))
+ /* IBS Branch retired op */
+ AGG_IBS_EVENT(DE_IBS_BRANCH_RETIRED) ;
+ }
+
+ CHECK_OP_SELECTED_FLAG(DE_IBS_BRANCH_MISP) {
+ if (IBS_OP_BRANCH_RETIRED(trans_op)
+ /* Test branch-specific event flags */
+ /* IBS mispredicted Branch op */
+ && IBS_OP_BRANCH_MISPREDICT(trans_op))
+ AGG_IBS_EVENT(DE_IBS_BRANCH_MISP) ;
+ }
+
+ CHECK_OP_SELECTED_FLAG(DE_IBS_BRANCH_TAKEN) {
+ if (IBS_OP_BRANCH_RETIRED(trans_op)
+ /* IBS taken Branch op */
+ && IBS_OP_BRANCH_TAKEN(trans_op))
+ AGG_IBS_EVENT(DE_IBS_BRANCH_TAKEN);
+ }
+
+ CHECK_OP_SELECTED_FLAG(DE_IBS_BRANCH_MISP_TAKEN) {
+ if (IBS_OP_BRANCH_RETIRED(trans_op)
+ /* IBS mispredicted taken branch op */
+ && IBS_OP_BRANCH_TAKEN(trans_op)
+ && IBS_OP_BRANCH_MISPREDICT(trans_op))
+ AGG_IBS_EVENT(DE_IBS_BRANCH_MISP_TAKEN);
+ }
+
+ CHECK_OP_SELECTED_FLAG(DE_IBS_RETURN) {
+ if (IBS_OP_BRANCH_RETIRED(trans_op)
+ /* IBS return op */
+ && IBS_OP_RETURN(trans_op))
+ AGG_IBS_EVENT(DE_IBS_RETURN);
+ }
+
+ CHECK_OP_SELECTED_FLAG(DE_IBS_RETURN_MISP) {
+ if (IBS_OP_BRANCH_RETIRED(trans_op)
+ /* IBS mispredicted return op */
+ && IBS_OP_RETURN(trans_op)
+ && IBS_OP_BRANCH_MISPREDICT(trans_op))
+ AGG_IBS_EVENT(DE_IBS_RETURN_MISP);
+ }
+
+ CHECK_OP_SELECTED_FLAG(DE_IBS_RESYNC) {
+ /* Test for a resync macro-op */
+ if (IBS_OP_BRANCH_RESYNC(trans_op))
+ AGG_IBS_EVENT(DE_IBS_RESYNC);
}
}
@@ -226,213 +206,201 @@ void trans_ibs_op (struct transient * trans, unsigned int selected_flag, unsigne
/*
* --------------------- OP LS DERIVED FUNCTION
*/
-void trans_ibs_op_ls (struct transient * trans, unsigned int selected_flag, unsigned int size)
+void trans_ibs_op_ls (struct transient * trans, unsigned int selected_flag)
{
struct ibs_op_sample * trans_op = ((struct ibs_sample*)(trans->ext))->op;
- unsigned int i, j, mask = 1;
/* Preliminary check */
if (!IBS_OP_IBS_LD_OP(trans_op) && !IBS_OP_IBS_ST_OP(trans_op))
return;
- for (i = IBS_OP_LS_BASE, j =0 ; i <= IBS_OP_LS_END && j < size ; i++, mask = mask << 1) {
-
- if ((selected_flag & mask) == 0)
- continue;
-
- j++;
-
- switch (i) {
-
- case DE_IBS_LS_ALL_OP:
- /* Count the number of LS op samples */
- AGG_IBS_EVENT(DE_IBS_LS_ALL_OP) ;
- break;
-
- case DE_IBS_LS_LOAD_OP:
- if (IBS_OP_IBS_LD_OP(trans_op))
- /* TALLy an IBS load derived event */
- AGG_IBS_EVENT(DE_IBS_LS_LOAD_OP) ;
- break;
-
- case DE_IBS_LS_STORE_OP:
- if (IBS_OP_IBS_ST_OP(trans_op))
- /* Count and handle store operations */
- AGG_IBS_EVENT(DE_IBS_LS_STORE_OP);
- break;
-
- case DE_IBS_LS_DTLB_L1H:
- if (IBS_OP_IBS_DC_LIN_ADDR_VALID(trans_op)
- && !IBS_OP_IBS_DC_L1_TLB_MISS(trans_op))
- /* L1 DTLB hit -- This is the most frequent case */
- AGG_IBS_EVENT(DE_IBS_LS_DTLB_L1H);
- break;
-
- case DE_IBS_LS_DTLB_L1M_L2H:
- /* l2_translation_size = 1 */
- if (IBS_OP_IBS_DC_LIN_ADDR_VALID(trans_op)
- && IBS_OP_IBS_DC_L1_TLB_MISS(trans_op)
- && !IBS_OP_IBS_DC_L2_TLB_MISS(trans_op))
- /* L1 DTLB miss, L2 DTLB hit */
- AGG_IBS_EVENT(DE_IBS_LS_DTLB_L1M_L2H);
- break;
-
- case DE_IBS_LS_DTLB_L1M_L2M:
- if (IBS_OP_IBS_DC_LIN_ADDR_VALID(trans_op)
- && IBS_OP_IBS_DC_L1_TLB_MISS(trans_op)
- && IBS_OP_IBS_DC_L2_TLB_MISS(trans_op))
- /* L1 DTLB miss, L2 DTLB miss */
- AGG_IBS_EVENT(DE_IBS_LS_DTLB_L1M_L2M);
- break;
-
- case DE_IBS_LS_DC_MISS:
- if (IBS_OP_IBS_DC_MISS(trans_op))
- AGG_IBS_EVENT(DE_IBS_LS_DC_MISS);
- break;
-
- case DE_IBS_LS_DC_HIT:
- if (!IBS_OP_IBS_DC_MISS(trans_op))
- AGG_IBS_EVENT(DE_IBS_LS_DC_HIT);
- break;
-
- case DE_IBS_LS_MISALIGNED:
- if (IBS_OP_IBS_DC_MISS_ACC(trans_op))
- AGG_IBS_EVENT(DE_IBS_LS_MISALIGNED);
- break;
-
- case DE_IBS_LS_BNK_CONF_LOAD:
- if (IBS_OP_IBS_DC_LD_BNK_CON(trans_op))
- AGG_IBS_EVENT(DE_IBS_LS_BNK_CONF_LOAD);
- break;
-
- case DE_IBS_LS_BNK_CONF_STORE:
- if (IBS_OP_IBS_DC_ST_BNK_CON(trans_op))
- AGG_IBS_EVENT(DE_IBS_LS_BNK_CONF_STORE);
- break;
-
- case DE_IBS_LS_STL_FORWARDED:
- if (IBS_OP_IBS_LD_OP(trans_op)
- /* Data forwarding info are valid only for load ops */
- && IBS_OP_IBS_DC_ST_TO_LD_FWD(trans_op))
- AGG_IBS_EVENT(DE_IBS_LS_STL_FORWARDED) ;
- break;
-
- case DE_IBS_LS_STL_CANCELLED:
- if (IBS_OP_IBS_LD_OP(trans_op))
- if (IBS_OP_IBS_DC_ST_TO_LD_CAN(trans_op))
- AGG_IBS_EVENT(DE_IBS_LS_STL_CANCELLED) ;
- break;
-
- case DE_IBS_LS_UC_MEM_ACCESS:
- if (IBS_OP_IBS_DC_UC_MEM_ACC(trans_op))
- AGG_IBS_EVENT(DE_IBS_LS_UC_MEM_ACCESS);
- break;
-
- case DE_IBS_LS_WC_MEM_ACCESS:
- if (IBS_OP_IBS_DC_WC_MEM_ACC(trans_op))
- AGG_IBS_EVENT(DE_IBS_LS_WC_MEM_ACCESS);
- break;
-
- case DE_IBS_LS_LOCKED_OP:
- if (IBS_OP_IBS_LOCKED_OP(trans_op))
- AGG_IBS_EVENT(DE_IBS_LS_LOCKED_OP);
- break;
-
- case DE_IBS_LS_MAB_HIT:
- if (IBS_OP_IBS_DC_MAB_HIT(trans_op))
- AGG_IBS_EVENT(DE_IBS_LS_MAB_HIT);
- break;
-
- case DE_IBS_LS_L1_DTLB_4K:
- /* l1_translation */
- if (IBS_OP_IBS_DC_LIN_ADDR_VALID(trans_op)
- && !IBS_OP_IBS_DC_L1_TLB_MISS(trans_op)
-
- && !IBS_OP_IBS_DC_L1_TLB_HIT_2MB(trans_op)
- && !IBS_OP_IBS_DC_L1_TLB_HIT_1GB(trans_op))
- /* This is the most common case, unfortunately */
- AGG_IBS_EVENT(DE_IBS_LS_L1_DTLB_4K) ;
- break;
-
- case DE_IBS_LS_L1_DTLB_2M:
- /* l1_translation */
- if (IBS_OP_IBS_DC_LIN_ADDR_VALID(trans_op)
- && !IBS_OP_IBS_DC_L1_TLB_MISS(trans_op)
-
- && IBS_OP_IBS_DC_L1_TLB_HIT_2MB(trans_op))
- /* 2M L1 DTLB page translation */
- AGG_IBS_EVENT(DE_IBS_LS_L1_DTLB_2M);
- break;
-
- case DE_IBS_LS_L1_DTLB_1G:
- /* l1_translation */
- if (IBS_OP_IBS_DC_LIN_ADDR_VALID(trans_op)
- && !IBS_OP_IBS_DC_L1_TLB_MISS(trans_op)
-
- && !IBS_OP_IBS_DC_L1_TLB_HIT_2MB(trans_op)
- && IBS_OP_IBS_DC_L1_TLB_HIT_1GB(trans_op))
- /* 1G L1 DTLB page translation */
- AGG_IBS_EVENT(DE_IBS_LS_L1_DTLB_1G);
- break;
-
- case DE_IBS_LS_L1_DTLB_RES:
- break;
-
- case DE_IBS_LS_L2_DTLB_4K:
- /* l2_translation_size = 1 */
- if (IBS_OP_IBS_DC_LIN_ADDR_VALID(trans_op)
- && IBS_OP_IBS_DC_L1_TLB_MISS(trans_op)
- && !IBS_OP_IBS_DC_L2_TLB_MISS(trans_op)
-
- /* L2 DTLB page translation */
- && !IBS_OP_IBS_DC_L2_TLB_HIT_2MB(trans_op)
- && !IBS_OP_IBS_DC_L2_TLB_HIT_1GB(trans_op))
- /* 4K L2 DTLB page translation */
- AGG_IBS_EVENT(DE_IBS_LS_L2_DTLB_4K);
- break;
-
- case DE_IBS_LS_L2_DTLB_2M:
- /* l2_translation_size = 1 */
- if (IBS_OP_IBS_DC_LIN_ADDR_VALID(trans_op)
- && IBS_OP_IBS_DC_L1_TLB_MISS(trans_op)
- && !IBS_OP_IBS_DC_L2_TLB_MISS(trans_op)
-
- /* L2 DTLB page translation */
- && IBS_OP_IBS_DC_L2_TLB_HIT_2MB(trans_op)
- && !IBS_OP_IBS_DC_L2_TLB_HIT_1GB(trans_op))
- /* 2M L2 DTLB page translation */
- AGG_IBS_EVENT(DE_IBS_LS_L2_DTLB_2M);
- break;
-
- case DE_IBS_LS_L2_DTLB_1G:
- /* l2_translation_size = 1 */
- if (IBS_OP_IBS_DC_LIN_ADDR_VALID(trans_op)
- && IBS_OP_IBS_DC_L1_TLB_MISS(trans_op)
- && !IBS_OP_IBS_DC_L2_TLB_MISS(trans_op)
-
- /* L2 DTLB page translation */
- && !IBS_OP_IBS_DC_L2_TLB_HIT_2MB(trans_op)
- && IBS_OP_IBS_DC_L2_TLB_HIT_1GB(trans_op))
- /* 2M L2 DTLB page translation */
- AGG_IBS_EVENT(DE_IBS_LS_L2_DTLB_1G);
- break;
-
- case DE_IBS_LS_L2_DTLB_RES2:
- break;
-
- case DE_IBS_LS_DC_LOAD_LAT:
- if (IBS_OP_IBS_LD_OP(trans_op)
- /* If the load missed in DC, tally the DC load miss latency */
- && IBS_OP_IBS_DC_MISS(trans_op))
- /* DC load miss latency is only reliable for load ops */
- AGG_IBS_COUNT(DE_IBS_LS_DC_LOAD_LAT,
- IBS_OP_DC_MISS_LATENCY(trans_op)) ;
- break;
-
- default:
- break;
- }
+ if ((selected_flag) == 0)
+ return;
+
+ CHECK_OP_LS_SELECTED_FLAG(DE_IBS_LS_ALL_OP) {
+ /* Count the number of LS op samples */
+ AGG_IBS_EVENT(DE_IBS_LS_ALL_OP) ;
+ }
+
+ CHECK_OP_LS_SELECTED_FLAG(DE_IBS_LS_LOAD_OP) {
+ if (IBS_OP_IBS_LD_OP(trans_op))
+ /* TALLy an IBS load derived event */
+ AGG_IBS_EVENT(DE_IBS_LS_LOAD_OP) ;
+ }
+
+ CHECK_OP_LS_SELECTED_FLAG(DE_IBS_LS_STORE_OP) {
+ if (IBS_OP_IBS_ST_OP(trans_op))
+ /* Count and handle store operations */
+ AGG_IBS_EVENT(DE_IBS_LS_STORE_OP);
+ }
+
+ CHECK_OP_LS_SELECTED_FLAG(DE_IBS_LS_DTLB_L1H) {
+ if (IBS_OP_IBS_DC_LIN_ADDR_VALID(trans_op)
+ && !IBS_OP_IBS_DC_L1_TLB_MISS(trans_op))
+ /* L1 DTLB hit -- This is the most frequent case */
+ AGG_IBS_EVENT(DE_IBS_LS_DTLB_L1H);
+ }
+
+ CHECK_OP_LS_SELECTED_FLAG(DE_IBS_LS_DTLB_L1M_L2H) {
+ /* l2_translation_size = 1 */
+ if (IBS_OP_IBS_DC_LIN_ADDR_VALID(trans_op)
+ && IBS_OP_IBS_DC_L1_TLB_MISS(trans_op)
+ && !IBS_OP_IBS_DC_L2_TLB_MISS(trans_op))
+ /* L1 DTLB miss, L2 DTLB hit */
+ AGG_IBS_EVENT(DE_IBS_LS_DTLB_L1M_L2H);
+ }
+
+ CHECK_OP_LS_SELECTED_FLAG(DE_IBS_LS_DTLB_L1M_L2M) {
+ if (IBS_OP_IBS_DC_LIN_ADDR_VALID(trans_op)
+ && IBS_OP_IBS_DC_L1_TLB_MISS(trans_op)
+ && IBS_OP_IBS_DC_L2_TLB_MISS(trans_op))
+ /* L1 DTLB miss, L2 DTLB miss */
+ AGG_IBS_EVENT(DE_IBS_LS_DTLB_L1M_L2M);
+ }
+
+ CHECK_OP_LS_SELECTED_FLAG(DE_IBS_LS_DC_MISS) {
+ if (IBS_OP_IBS_DC_MISS(trans_op))
+ AGG_IBS_EVENT(DE_IBS_LS_DC_MISS);
+ }
+
+ CHECK_OP_LS_SELECTED_FLAG(DE_IBS_LS_DC_HIT) {
+ if (!IBS_OP_IBS_DC_MISS(trans_op))
+ AGG_IBS_EVENT(DE_IBS_LS_DC_HIT);
+ }
+
+ CHECK_OP_LS_SELECTED_FLAG(DE_IBS_LS_MISALIGNED) {
+ if (IBS_OP_IBS_DC_MISS_ACC(trans_op))
+ AGG_IBS_EVENT(DE_IBS_LS_MISALIGNED);
+ }
+
+ CHECK_OP_LS_SELECTED_FLAG(DE_IBS_LS_BNK_CONF_LOAD) {
+ if (IBS_OP_IBS_DC_LD_BNK_CON(trans_op))
+ AGG_IBS_EVENT(DE_IBS_LS_BNK_CONF_LOAD);
+ }
+
+ CHECK_OP_LS_SELECTED_FLAG(DE_IBS_LS_BNK_CONF_STORE) {
+ if (IBS_OP_IBS_DC_ST_BNK_CON(trans_op))
+ AGG_IBS_EVENT(DE_IBS_LS_BNK_CONF_STORE);
+ }
+
+ CHECK_OP_LS_SELECTED_FLAG(DE_IBS_LS_STL_FORWARDED) {
+ if (IBS_OP_IBS_LD_OP(trans_op)
+ /* Data forwarding info are valid only for load ops */
+ && IBS_OP_IBS_DC_ST_TO_LD_FWD(trans_op))
+ AGG_IBS_EVENT(DE_IBS_LS_STL_FORWARDED) ;
+ }
+
+ CHECK_OP_LS_SELECTED_FLAG(DE_IBS_LS_STL_CANCELLED) {
+ if (IBS_OP_IBS_LD_OP(trans_op))
+ if (IBS_OP_IBS_DC_ST_TO_LD_CAN(trans_op))
+ AGG_IBS_EVENT(DE_IBS_LS_STL_CANCELLED) ;
+ }
+
+ CHECK_OP_LS_SELECTED_FLAG(DE_IBS_LS_UC_MEM_ACCESS) {
+ if (IBS_OP_IBS_DC_UC_MEM_ACC(trans_op))
+ AGG_IBS_EVENT(DE_IBS_LS_UC_MEM_ACCESS);
+ }
+
+ CHECK_OP_LS_SELECTED_FLAG(DE_IBS_LS_WC_MEM_ACCESS) {
+ if (IBS_OP_IBS_DC_WC_MEM_ACC(trans_op))
+ AGG_IBS_EVENT(DE_IBS_LS_WC_MEM_ACCESS);
+ }
+
+ CHECK_OP_LS_SELECTED_FLAG(DE_IBS_LS_LOCKED_OP) {
+ if (IBS_OP_IBS_LOCKED_OP(trans_op))
+ AGG_IBS_EVENT(DE_IBS_LS_LOCKED_OP);
+ }
+
+ CHECK_OP_LS_SELECTED_FLAG(DE_IBS_LS_MAB_HIT) {
+ if (IBS_OP_IBS_DC_MAB_HIT(trans_op))
+ AGG_IBS_EVENT(DE_IBS_LS_MAB_HIT);
+ }
+
+ CHECK_OP_LS_SELECTED_FLAG(DE_IBS_LS_L1_DTLB_4K) {
+ /* l1_translation */
+ if (IBS_OP_IBS_DC_LIN_ADDR_VALID(trans_op)
+ && !IBS_OP_IBS_DC_L1_TLB_MISS(trans_op)
+
+ && !IBS_OP_IBS_DC_L1_TLB_HIT_2MB(trans_op)
+ && !IBS_OP_IBS_DC_L1_TLB_HIT_1GB(trans_op))
+ /* This is the most common case, unfortunately */
+ AGG_IBS_EVENT(DE_IBS_LS_L1_DTLB_4K) ;
+ }
+
+ CHECK_OP_LS_SELECTED_FLAG(DE_IBS_LS_L1_DTLB_2M) {
+ /* l1_translation */
+ if (IBS_OP_IBS_DC_LIN_ADDR_VALID(trans_op)
+ && !IBS_OP_IBS_DC_L1_TLB_MISS(trans_op)
+
+ && IBS_OP_IBS_DC_L1_TLB_HIT_2MB(trans_op))
+ /* 2M L1 DTLB page translation */
+ AGG_IBS_EVENT(DE_IBS_LS_L1_DTLB_2M);
+ }
+
+ CHECK_OP_LS_SELECTED_FLAG(DE_IBS_LS_L1_DTLB_1G) {
+ /* l1_translation */
+ if (IBS_OP_IBS_DC_LIN_ADDR_VALID(trans_op)
+ && !IBS_OP_IBS_DC_L1_TLB_MISS(trans_op)
+
+ && !IBS_OP_IBS_DC_L1_TLB_HIT_2MB(trans_op)
+ && IBS_OP_IBS_DC_L1_TLB_HIT_1GB(trans_op))
+ /* 1G L1 DTLB page translation */
+ AGG_IBS_EVENT(DE_IBS_LS_L1_DTLB_1G);
+ }
+
+ CHECK_OP_LS_SELECTED_FLAG(DE_IBS_LS_L1_DTLB_RES) {
+ }
+
+ CHECK_OP_LS_SELECTED_FLAG(DE_IBS_LS_L2_DTLB_4K) {
+ /* l2_translation_size = 1 */
+ if (IBS_OP_IBS_DC_LIN_ADDR_VALID(trans_op)
+ && IBS_OP_IBS_DC_L1_TLB_MISS(trans_op)
+ && !IBS_OP_IBS_DC_L2_TLB_MISS(trans_op)
+
+ /* L2 DTLB page translation */
+ && !IBS_OP_IBS_DC_L2_TLB_HIT_2MB(trans_op)
+ && !IBS_OP_IBS_DC_L2_TLB_HIT_1GB(trans_op))
+ /* 4K L2 DTLB page translation */
+ AGG_IBS_EVENT(DE_IBS_LS_L2_DTLB_4K);
+ }
+
+ CHECK_OP_LS_SELECTED_FLAG(DE_IBS_LS_L2_DTLB_2M) {
+ /* l2_translation_size = 1 */
+ if (IBS_OP_IBS_DC_LIN_ADDR_VALID(trans_op)
+ && IBS_OP_IBS_DC_L1_TLB_MISS(trans_op)
+ && !IBS_OP_IBS_DC_L2_TLB_MISS(trans_op)
+
+ /* L2 DTLB page translation */
+ && IBS_OP_IBS_DC_L2_TLB_HIT_2MB(trans_op)
+ && !IBS_OP_IBS_DC_L2_TLB_HIT_1GB(trans_op))
+ /* 2M L2 DTLB page translation */
+ AGG_IBS_EVENT(DE_IBS_LS_L2_DTLB_2M);
+ }
+
+ CHECK_OP_LS_SELECTED_FLAG(DE_IBS_LS_L2_DTLB_1G) {
+ /* l2_translation_size = 1 */
+ if (IBS_OP_IBS_DC_LIN_ADDR_VALID(trans_op)
+ && IBS_OP_IBS_DC_L1_TLB_MISS(trans_op)
+ && !IBS_OP_IBS_DC_L2_TLB_MISS(trans_op)
+
+ /* L2 DTLB page translation */
+ && !IBS_OP_IBS_DC_L2_TLB_HIT_2MB(trans_op)
+ && IBS_OP_IBS_DC_L2_TLB_HIT_1GB(trans_op))
+ /* 2M L2 DTLB page translation */
+ AGG_IBS_EVENT(DE_IBS_LS_L2_DTLB_1G);
+ }
+
+ CHECK_OP_LS_SELECTED_FLAG(DE_IBS_LS_L2_DTLB_RES2) {
+ }
+
+ CHECK_OP_LS_SELECTED_FLAG(DE_IBS_LS_DC_LOAD_LAT) {
+ if (IBS_OP_IBS_LD_OP(trans_op)
+ /* If the load missed in DC, tally the DC load miss latency */
+ && IBS_OP_IBS_DC_MISS(trans_op))
+ /* DC load miss latency is only reliable for load ops */
+ AGG_IBS_COUNT(DE_IBS_LS_DC_LOAD_LAT,
+ IBS_OP_DC_MISS_LATENCY(trans_op)) ;
}
}
@@ -443,12 +411,14 @@ void trans_ibs_op_ls (struct transient * trans, unsigned int selected_flag, unsi
* that miss in L1 and L2 cache. NB data arrives too late
* to be reliable for store operations
*/
-void trans_ibs_op_nb (struct transient * trans, unsigned int selected_flag, unsigned int size)
+void trans_ibs_op_nb (struct transient * trans, unsigned int selected_flag)
{
struct ibs_op_sample * trans_op = ((struct ibs_sample*)(trans->ext))->op;
- unsigned int i, j, mask = 1;
/* Preliminary check */
+ if ((selected_flag) == 0)
+ return;
+
if (!IBS_OP_IBS_LD_OP(trans_op))
return;
@@ -458,97 +428,219 @@ void trans_ibs_op_nb (struct transient * trans, unsigned int selected_flag, unsi
if (IBS_OP_NB_IBS_REQ_SRC(trans_op) == 0)
return;
- for (i = IBS_OP_NB_BASE, j =0 ; i <= IBS_OP_NB_END && j < size ; i++, mask = mask << 1) {
-
- if ((selected_flag & mask) == 0)
- continue;
-
- j++;
-
- switch (i) {
-
- case DE_IBS_NB_LOCAL:
- if (!IBS_OP_NB_IBS_REQ_DST_PROC(trans_op))
- /* Request was serviced by local processor */
- AGG_IBS_EVENT(DE_IBS_NB_LOCAL) ;
- break;
-
- case DE_IBS_NB_REMOTE:
- if (IBS_OP_NB_IBS_REQ_DST_PROC(trans_op))
- /* Request was serviced by remote processor */
- AGG_IBS_EVENT(DE_IBS_NB_REMOTE) ;
- break;
-
- case DE_IBS_NB_LOCAL_L3:
- if (!IBS_OP_NB_IBS_REQ_DST_PROC(trans_op)
- && (IBS_OP_NB_IBS_REQ_SRC(trans_op) == 0x1))
- AGG_IBS_EVENT(DE_IBS_NB_LOCAL_L3);
- break;
-
- case DE_IBS_NB_LOCAL_CACHE:
- if (!IBS_OP_NB_IBS_REQ_DST_PROC(trans_op)
- && (IBS_OP_NB_IBS_REQ_SRC(trans_op) == 0x2))
- AGG_IBS_EVENT(DE_IBS_NB_LOCAL_CACHE);
- break;
-
- case DE_IBS_NB_REMOTE_CACHE:
- if (IBS_OP_NB_IBS_REQ_DST_PROC(trans_op)
- && (IBS_OP_NB_IBS_REQ_SRC(trans_op) == 0x2))
- AGG_IBS_EVENT(DE_IBS_NB_REMOTE_CACHE) ;
- break;
-
- case DE_IBS_NB_LOCAL_DRAM:
- if (!IBS_OP_NB_IBS_REQ_DST_PROC(trans_op)
- && (IBS_OP_NB_IBS_REQ_SRC(trans_op) == 0x3))
- AGG_IBS_EVENT(DE_IBS_NB_LOCAL_DRAM);
- break;
-
- case DE_IBS_NB_REMOTE_DRAM:
- if (IBS_OP_NB_IBS_REQ_DST_PROC(trans_op)
- && (IBS_OP_NB_IBS_REQ_SRC(trans_op) == 0x3))
- AGG_IBS_EVENT(DE_IBS_NB_REMOTE_DRAM) ;
- break;
-
- case DE_IBS_NB_LOCAL_OTHER:
- if (!IBS_OP_NB_IBS_REQ_DST_PROC(trans_op)
- && (IBS_OP_NB_IBS_REQ_SRC(trans_op) == 0x7))
- AGG_IBS_EVENT(DE_IBS_NB_LOCAL_OTHER);
- break;
-
- case DE_IBS_NB_REMOTE_OTHER:
- if (IBS_OP_NB_IBS_REQ_DST_PROC(trans_op)
- && (IBS_OP_NB_IBS_REQ_SRC(trans_op) == 0x7))
- AGG_IBS_EVENT(DE_IBS_NB_REMOTE_OTHER) ;
- break;
-
- case DE_IBS_NB_CACHE_STATE_M:
- if ((IBS_OP_NB_IBS_REQ_SRC(trans_op) == 0x2)
- && !IBS_OP_NB_IBS_CACHE_HIT_ST(trans_op))
- AGG_IBS_EVENT(DE_IBS_NB_CACHE_STATE_M) ;
- break;
-
- case DE_IBS_NB_CACHE_STATE_O:
- if ((IBS_OP_NB_IBS_REQ_SRC(trans_op) == 0x2)
- && IBS_OP_NB_IBS_CACHE_HIT_ST(trans_op))
- AGG_IBS_EVENT(DE_IBS_NB_CACHE_STATE_O) ;
- break;
-
- case DE_IBS_NB_LOCAL_LATENCY:
- if (!IBS_OP_NB_IBS_REQ_DST_PROC(trans_op))
- /* Request was serviced by local processor */
- AGG_IBS_COUNT(DE_IBS_NB_LOCAL_LATENCY,
- IBS_OP_DC_MISS_LATENCY(trans_op));
- break;
-
- case DE_IBS_NB_REMOTE_LATENCY:
- if (IBS_OP_NB_IBS_REQ_DST_PROC(trans_op))
- /* Request was serviced by remote processor */
- AGG_IBS_COUNT(DE_IBS_NB_REMOTE_LATENCY,
- IBS_OP_DC_MISS_LATENCY(trans_op));
- break;
-
- default:
- break;
+ CHECK_OP_NB_SELECTED_FLAG(DE_IBS_NB_LOCAL) {
+ if (!IBS_OP_NB_IBS_REQ_DST_PROC(trans_op))
+ /* Request was serviced by local processor */
+ AGG_IBS_EVENT(DE_IBS_NB_LOCAL) ;
+ }
+
+ CHECK_OP_NB_SELECTED_FLAG(DE_IBS_NB_REMOTE) {
+ if (IBS_OP_NB_IBS_REQ_DST_PROC(trans_op))
+ /* Request was serviced by remote processor */
+ AGG_IBS_EVENT(DE_IBS_NB_REMOTE) ;
+ }
+
+ CHECK_OP_NB_SELECTED_FLAG(DE_IBS_NB_LOCAL_L3) {
+ if (!IBS_OP_NB_IBS_REQ_DST_PROC(trans_op)
+ && IBS_OP_NB_IBS_REQ_SRC_01(trans_op))
+ AGG_IBS_EVENT(DE_IBS_NB_LOCAL_L3);
+ }
+
+ CHECK_OP_NB_SELECTED_FLAG(DE_IBS_NB_LOCAL_CACHE) {
+ if (!IBS_OP_NB_IBS_REQ_DST_PROC(trans_op)
+ && IBS_OP_NB_IBS_REQ_SRC_02(trans_op))
+ AGG_IBS_EVENT(DE_IBS_NB_LOCAL_CACHE);
+ }
+
+ CHECK_OP_NB_SELECTED_FLAG(DE_IBS_NB_REMOTE_CACHE) {
+ if (IBS_OP_NB_IBS_REQ_DST_PROC(trans_op)
+ && IBS_OP_NB_IBS_REQ_SRC_02(trans_op))
+ AGG_IBS_EVENT(DE_IBS_NB_REMOTE_CACHE) ;
+ }
+
+ CHECK_OP_NB_SELECTED_FLAG(DE_IBS_NB_LOCAL_DRAM) {
+ if (!IBS_OP_NB_IBS_REQ_DST_PROC(trans_op)
+ && IBS_OP_NB_IBS_REQ_SRC_03(trans_op))
+ AGG_IBS_EVENT(DE_IBS_NB_LOCAL_DRAM);
+ }
+
+ CHECK_OP_NB_SELECTED_FLAG(DE_IBS_NB_REMOTE_DRAM) {
+ if (IBS_OP_NB_IBS_REQ_DST_PROC(trans_op)
+ && IBS_OP_NB_IBS_REQ_SRC_03(trans_op))
+ AGG_IBS_EVENT(DE_IBS_NB_REMOTE_DRAM) ;
+ }
+
+ CHECK_OP_NB_SELECTED_FLAG(DE_IBS_NB_LOCAL_OTHER) {
+ if (!IBS_OP_NB_IBS_REQ_DST_PROC(trans_op)
+ && IBS_OP_NB_IBS_REQ_SRC_07(trans_op))
+ AGG_IBS_EVENT(DE_IBS_NB_LOCAL_OTHER);
+ }
+
+ CHECK_OP_NB_SELECTED_FLAG(DE_IBS_NB_REMOTE_OTHER) {
+ if (IBS_OP_NB_IBS_REQ_DST_PROC(trans_op)
+ && IBS_OP_NB_IBS_REQ_SRC_07(trans_op))
+ AGG_IBS_EVENT(DE_IBS_NB_REMOTE_OTHER) ;
+ }
+
+ CHECK_OP_NB_SELECTED_FLAG(DE_IBS_NB_CACHE_STATE_M) {
+ if (IBS_OP_NB_IBS_REQ_SRC_02(trans_op)
+ && !IBS_OP_NB_IBS_CACHE_HIT_ST(trans_op))
+ AGG_IBS_EVENT(DE_IBS_NB_CACHE_STATE_M) ;
+ }
+
+ CHECK_OP_NB_SELECTED_FLAG(DE_IBS_NB_CACHE_STATE_O) {
+ if (IBS_OP_NB_IBS_REQ_SRC_02(trans_op)
+ && IBS_OP_NB_IBS_CACHE_HIT_ST(trans_op))
+ AGG_IBS_EVENT(DE_IBS_NB_CACHE_STATE_O) ;
+ }
+
+ CHECK_OP_NB_SELECTED_FLAG(DE_IBS_NB_LOCAL_LATENCY) {
+ if (!IBS_OP_NB_IBS_REQ_DST_PROC(trans_op))
+ /* Request was serviced by local processor */
+ AGG_IBS_COUNT(DE_IBS_NB_LOCAL_LATENCY,
+ IBS_OP_DC_MISS_LATENCY(trans_op));
+ }
+
+ CHECK_OP_NB_SELECTED_FLAG(DE_IBS_NB_REMOTE_LATENCY) {
+ if (IBS_OP_NB_IBS_REQ_DST_PROC(trans_op))
+ /* Request was serviced by remote processor */
+ AGG_IBS_COUNT(DE_IBS_NB_REMOTE_LATENCY,
+ IBS_OP_DC_MISS_LATENCY(trans_op));
+ }
+}
+
+
+int trans_ibs_op_rip_invalid (struct transient * trans)
+{
+ struct ibs_op_sample * trans_op = ((struct ibs_sample*)(trans->ext))->op;
+
+ if (IBS_OP_RIP_INVALID(trans_op))
+ return 1;
+
+ return 0;
+}
+
+
+void trans_ibs_op_mask_reserved (unsigned int family, struct transient * trans)
+{
+ struct ibs_op_sample * trans_op = ((struct ibs_sample*)(trans->ext))->op;
+
+ switch (family) {
+ case 0x10:
+ /* Reserved IbsRipInvalid (MSRC001_1035[38])*/
+ trans_op->ibs_op_data1_high &= ~MASK_RIP_INVALID;
+ break;
+ case 0x12:
+ /* Reserved NbIbsReqDstProc (MSRCC001_1036[4]) */
+ trans_op->ibs_op_data2_low &= ~NB_MASK_REQ_DST_PROC;
+ /* Reserved NbIbsReqCacheHitSt (MSRCC001_1036[5]) */
+ trans_op->ibs_op_data2_low &= ~NB_MASK_L3_STATE;
+ break;
+ case 0x14:
+ /* Reserved NbIbsReqDstProc (MSRCC001_1036[4]) */
+ trans_op->ibs_op_data2_low &= ~NB_MASK_REQ_DST_PROC;
+ /* Reserved NbIbsReqCacheHitSt (MSRCC001_1036[5]) */
+ trans_op->ibs_op_data2_low &= ~NB_MASK_L3_STATE;
+ /* Reserved IbsDcL1tlbHit1G (MSRC001_1037[5]) */
+ trans_op->ibs_op_data3_low &= ~DC_MASK_L1_HIT_1G;
+ /* Reserved IbsDcLdBnkCon (MSRC001_1037[9]) */
+ trans_op->ibs_op_data3_low &= ~DC_MASK_LD_BANK_CONFLICT;
+ /* Reserved IbsDcStBnkCon (MSRC001_1037[10]) */
+ trans_op->ibs_op_data3_low &= ~DC_MASK_ST_BANK_CONFLICT;
+ /* Reserved IbsDcStToLdCan (MSRC001_1037[12]) */
+ trans_op->ibs_op_data3_low &= ~DC_MASK_ST_TO_LD_CANCEL;
+ /* Reserved IbsDcL2tlbHit1G (MSRC001_1037[19]) */
+ trans_op->ibs_op_data3_low &= ~DC_MASK_L2_HIT_1G;
+
+ break;
+ case 0x15:
+ default:
+ break;
+
+ }
+}
+
+
+void trans_ibs_op_bta(struct transient * trans)
+{
+ static cookie_t old_cookie = NO_COOKIE;
+ static cookie_t old_app_cookie = NO_COOKIE;
+ static char const * mod = NULL;
+ static char const * app = NULL;
+ const char vmlinux[10] = "vmlinux";
+ struct ibs_op_sample * trans_op = ((struct ibs_sample*)(trans->ext))->op;
+
+ if (!bta_log)
+ return;
+
+ if (!trans_op->ibs_op_brtgt_addr)
+ return;
+
+ if( old_app_cookie == INVALID_COOKIE
+ || old_app_cookie == NO_COOKIE
+ || old_app_cookie != trans->app_cookie) {
+ app = find_cookie(trans->app_cookie);
+ old_app_cookie = trans->cookie;
+ }
+
+ if (trans->in_kernel == 1) {
+ mod = vmlinux;
+ old_cookie = NO_COOKIE;
+ } else {
+ if( old_cookie == INVALID_COOKIE
+ || old_cookie == NO_COOKIE
+ || old_cookie != trans->cookie) {
+ mod = find_cookie(trans->cookie);
+ old_cookie = trans->cookie;
+ }
+ }
+
+ fprintf(bta_log, "0x%016llx,0x%016llx,%02lu %08u,%08u,0x%08x,0x%08lx\n",
+ trans->app_cookie, trans->cookie, trans->cpu, trans->tgid, trans->tid, (unsigned int)trans->pc,
+ trans_op->ibs_op_brtgt_addr);
+}
+
+
+void trans_ibs_op_ls_memaccess(struct transient * trans)
+{
+ static cookie_t old_cookie = NO_COOKIE;
+ static cookie_t old_app_cookie = NO_COOKIE;
+ static char const * mod = NULL;
+ static char const * app = NULL;
+ const char vmlinux[10] = "vmlinux";
+ struct ibs_op_sample * trans_op = ((struct ibs_sample*)(trans->ext))->op;
+
+ if (!memaccess_log)
+ return;
+
+ if( old_app_cookie == INVALID_COOKIE
+ || old_app_cookie == NO_COOKIE
+ || old_app_cookie != trans->app_cookie) {
+ app = find_cookie(trans->app_cookie);
+ old_app_cookie = trans->cookie;
+ }
+
+ if (trans->in_kernel == 1) {
+ mod = vmlinux;
+ old_cookie = NO_COOKIE;
+ } else {
+ if( old_cookie == INVALID_COOKIE
+ || old_cookie == NO_COOKIE
+ || old_cookie != trans->cookie) {
+ mod = find_cookie(trans->cookie);
+ old_cookie = trans->cookie;
}
}
+
+ fprintf(memaccess_log, "0x%016llx,0x%016llx,%02lu,%08u,%08u,0x%08x,0x%08u:%08x,0x%08x:%08x,%s,%08u\n",
+ trans->app_cookie,
+trans->cookie,
+trans->cpu,
+trans->tgid,
+trans->tid,
+(unsigned int)trans->pc,
+ trans_op->ibs_op_phys_addr_high, trans_op->ibs_op_phys_addr_low,
+ trans_op->ibs_op_ldst_linaddr_high, trans_op->ibs_op_ldst_linaddr_low,
+ (IBS_OP_IBS_LD_OP(trans_op))? "LD": "ST",
+ (unsigned int) IBS_OP_DC_MISS_LATENCY(trans_op));
}
diff --git a/daemon/opd_ibs_trans.h b/daemon/opd_ibs_trans.h
index d01e3d9..bf34dfa 100644
--- a/daemon/opd_ibs_trans.h
+++ b/daemon/opd_ibs_trans.h
@@ -24,8 +24,12 @@ struct ibs_translation_table {
};
-extern void trans_ibs_fetch (struct transient * trans, unsigned int selected_flag, unsigned int size);
-extern void trans_ibs_op (struct transient * trans, unsigned int selected_flag, unsigned int size);
-extern void trans_ibs_op_ls (struct transient * trans, unsigned int selected_flag, unsigned int size);
-extern void trans_ibs_op_nb (struct transient * trans, unsigned int selected_flag, unsigned int size);
+extern void trans_ibs_fetch (struct transient * trans, unsigned int selected_flag);
+extern void trans_ibs_op (struct transient * trans, unsigned int selected_flag);
+extern void trans_ibs_op_ls (struct transient * trans, unsigned int selected_flag);
+extern void trans_ibs_op_nb (struct transient * trans, unsigned int selected_flag);
+extern int trans_ibs_op_rip_invalid (struct transient * trans);
+extern void trans_ibs_op_mask_reserved (unsigned int family, struct transient * trans);
+extern void trans_ibs_op_ls_memaccess(struct transient * trans);
+extern void trans_ibs_op_bta (struct transient * trans);
#endif // OPD_IBS_TRANS_H
diff --git a/depcomp b/depcomp
deleted file mode 100755
index 04701da..0000000
--- a/depcomp
+++ /dev/null
@@ -1,530 +0,0 @@
-#! /bin/sh
-# depcomp - compile a program generating dependencies as side-effects
-
-scriptversion=2005-07-09.11
-
-# Copyright (C) 1999, 2000, 2003, 2004, 2005 Free Software Foundation, Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-# 02110-1301, USA.
-
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-# Originally written by Alexandre Oliva <oliva@dcc.unicamp.br>.
-
-case $1 in
- '')
- echo "$0: No command. Try \`$0 --help' for more information." 1>&2
- exit 1;
- ;;
- -h | --h*)
- cat <<\EOF
-Usage: depcomp [--help] [--version] PROGRAM [ARGS]
-
-Run PROGRAMS ARGS to compile a file, generating dependencies
-as side-effects.
-
-Environment variables:
- depmode Dependency tracking mode.
- source Source file read by `PROGRAMS ARGS'.
- object Object file output by `PROGRAMS ARGS'.
- DEPDIR directory where to store dependencies.
- depfile Dependency file to output.
- tmpdepfile Temporary file to use when outputing dependencies.
- libtool Whether libtool is used (yes/no).
-
-Report bugs to <bug-automake@gnu.org>.
-EOF
- exit $?
- ;;
- -v | --v*)
- echo "depcomp $scriptversion"
- exit $?
- ;;
-esac
-
-if test -z "$depmode" || test -z "$source" || test -z "$object"; then
- echo "depcomp: Variables source, object and depmode must be set" 1>&2
- exit 1
-fi
-
-# Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po.
-depfile=${depfile-`echo "$object" |
- sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`}
-tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`}
-
-rm -f "$tmpdepfile"
-
-# Some modes work just like other modes, but use different flags. We
-# parameterize here, but still list the modes in the big case below,
-# to make depend.m4 easier to write. Note that we *cannot* use a case
-# here, because this file can only contain one case statement.
-if test "$depmode" = hp; then
- # HP compiler uses -M and no extra arg.
- gccflag=-M
- depmode=gcc
-fi
-
-if test "$depmode" = dashXmstdout; then
- # This is just like dashmstdout with a different argument.
- dashmflag=-xM
- depmode=dashmstdout
-fi
-
-case "$depmode" in
-gcc3)
-## gcc 3 implements dependency tracking that does exactly what
-## we want. Yay! Note: for some reason libtool 1.4 doesn't like
-## it if -MD -MP comes after the -MF stuff. Hmm.
- "$@" -MT "$object" -MD -MP -MF "$tmpdepfile"
- stat=$?
- if test $stat -eq 0; then :
- else
- rm -f "$tmpdepfile"
- exit $stat
- fi
- mv "$tmpdepfile" "$depfile"
- ;;
-
-gcc)
-## There are various ways to get dependency output from gcc. Here's
-## why we pick this rather obscure method:
-## - Don't want to use -MD because we'd like the dependencies to end
-## up in a subdir. Having to rename by hand is ugly.
-## (We might end up doing this anyway to support other compilers.)
-## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like
-## -MM, not -M (despite what the docs say).
-## - Using -M directly means running the compiler twice (even worse
-## than renaming).
- if test -z "$gccflag"; then
- gccflag=-MD,
- fi
- "$@" -Wp,"$gccflag$tmpdepfile"
- stat=$?
- if test $stat -eq 0; then :
- else
- rm -f "$tmpdepfile"
- exit $stat
- fi
- rm -f "$depfile"
- echo "$object : \\" > "$depfile"
- alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
-## The second -e expression handles DOS-style file names with drive letters.
- sed -e 's/^[^:]*: / /' \
- -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile"
-## This next piece of magic avoids the `deleted header file' problem.
-## The problem is that when a header file which appears in a .P file
-## is deleted, the dependency causes make to die (because there is
-## typically no way to rebuild the header). We avoid this by adding
-## dummy dependencies for each header file. Too bad gcc doesn't do
-## this for us directly.
- tr ' ' '
-' < "$tmpdepfile" |
-## Some versions of gcc put a space before the `:'. On the theory
-## that the space means something, we add a space to the output as
-## well.
-## Some versions of the HPUX 10.20 sed can't process this invocation
-## correctly. Breaking it into two sed invocations is a workaround.
- sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
- rm -f "$tmpdepfile"
- ;;
-
-hp)
- # This case exists only to let depend.m4 do its work. It works by
- # looking at the text of this script. This case will never be run,
- # since it is checked for above.
- exit 1
- ;;
-
-sgi)
- if test "$libtool" = yes; then
- "$@" "-Wp,-MDupdate,$tmpdepfile"
- else
- "$@" -MDupdate "$tmpdepfile"
- fi
- stat=$?
- if test $stat -eq 0; then :
- else
- rm -f "$tmpdepfile"
- exit $stat
- fi
- rm -f "$depfile"
-
- if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files
- echo "$object : \\" > "$depfile"
-
- # Clip off the initial element (the dependent). Don't try to be
- # clever and replace this with sed code, as IRIX sed won't handle
- # lines with more than a fixed number of characters (4096 in
- # IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines;
- # the IRIX cc adds comments like `#:fec' to the end of the
- # dependency line.
- tr ' ' '
-' < "$tmpdepfile" \
- | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \
- tr '
-' ' ' >> $depfile
- echo >> $depfile
-
- # The second pass generates a dummy entry for each header file.
- tr ' ' '
-' < "$tmpdepfile" \
- | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
- >> $depfile
- else
- # The sourcefile does not contain any dependencies, so just
- # store a dummy comment line, to avoid errors with the Makefile
- # "include basename.Plo" scheme.
- echo "#dummy" > "$depfile"
- fi
- rm -f "$tmpdepfile"
- ;;
-
-aix)
- # The C for AIX Compiler uses -M and outputs the dependencies
- # in a .u file. In older versions, this file always lives in the
- # current directory. Also, the AIX compiler puts `$object:' at the
- # start of each line; $object doesn't have directory information.
- # Version 6 uses the directory in both cases.
- stripped=`echo "$object" | sed 's/\(.*\)\..*$/\1/'`
- tmpdepfile="$stripped.u"
- if test "$libtool" = yes; then
- "$@" -Wc,-M
- else
- "$@" -M
- fi
- stat=$?
-
- if test -f "$tmpdepfile"; then :
- else
- stripped=`echo "$stripped" | sed 's,^.*/,,'`
- tmpdepfile="$stripped.u"
- fi
-
- if test $stat -eq 0; then :
- else
- rm -f "$tmpdepfile"
- exit $stat
- fi
-
- if test -f "$tmpdepfile"; then
- outname="$stripped.o"
- # Each line is of the form `foo.o: dependent.h'.
- # Do two passes, one to just change these to
- # `$object: dependent.h' and one to simply `dependent.h:'.
- sed -e "s,^$outname:,$object :," < "$tmpdepfile" > "$depfile"
- sed -e "s,^$outname: \(.*\)$,\1:," < "$tmpdepfile" >> "$depfile"
- else
- # The sourcefile does not contain any dependencies, so just
- # store a dummy comment line, to avoid errors with the Makefile
- # "include basename.Plo" scheme.
- echo "#dummy" > "$depfile"
- fi
- rm -f "$tmpdepfile"
- ;;
-
-icc)
- # Intel's C compiler understands `-MD -MF file'. However on
- # icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c
- # ICC 7.0 will fill foo.d with something like
- # foo.o: sub/foo.c
- # foo.o: sub/foo.h
- # which is wrong. We want:
- # sub/foo.o: sub/foo.c
- # sub/foo.o: sub/foo.h
- # sub/foo.c:
- # sub/foo.h:
- # ICC 7.1 will output
- # foo.o: sub/foo.c sub/foo.h
- # and will wrap long lines using \ :
- # foo.o: sub/foo.c ... \
- # sub/foo.h ... \
- # ...
-
- "$@" -MD -MF "$tmpdepfile"
- stat=$?
- if test $stat -eq 0; then :
- else
- rm -f "$tmpdepfile"
- exit $stat
- fi
- rm -f "$depfile"
- # Each line is of the form `foo.o: dependent.h',
- # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'.
- # Do two passes, one to just change these to
- # `$object: dependent.h' and one to simply `dependent.h:'.
- sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile"
- # Some versions of the HPUX 10.20 sed can't process this invocation
- # correctly. Breaking it into two sed invocations is a workaround.
- sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" |
- sed -e 's/$/ :/' >> "$depfile"
- rm -f "$tmpdepfile"
- ;;
-
-tru64)
- # The Tru64 compiler uses -MD to generate dependencies as a side
- # effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'.
- # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
- # dependencies in `foo.d' instead, so we check for that too.
- # Subdirectories are respected.
- dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
- test "x$dir" = "x$object" && dir=
- base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
-
- if test "$libtool" = yes; then
- # With Tru64 cc, shared objects can also be used to make a
- # static library. This mecanism is used in libtool 1.4 series to
- # handle both shared and static libraries in a single compilation.
- # With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d.
- #
- # With libtool 1.5 this exception was removed, and libtool now
- # generates 2 separate objects for the 2 libraries. These two
- # compilations output dependencies in in $dir.libs/$base.o.d and
- # in $dir$base.o.d. We have to check for both files, because
- # one of the two compilations can be disabled. We should prefer
- # $dir$base.o.d over $dir.libs/$base.o.d because the latter is
- # automatically cleaned when .libs/ is deleted, while ignoring
- # the former would cause a distcleancheck panic.
- tmpdepfile1=$dir.libs/$base.lo.d # libtool 1.4
- tmpdepfile2=$dir$base.o.d # libtool 1.5
- tmpdepfile3=$dir.libs/$base.o.d # libtool 1.5
- tmpdepfile4=$dir.libs/$base.d # Compaq CCC V6.2-504
- "$@" -Wc,-MD
- else
- tmpdepfile1=$dir$base.o.d
- tmpdepfile2=$dir$base.d
- tmpdepfile3=$dir$base.d
- tmpdepfile4=$dir$base.d
- "$@" -MD
- fi
-
- stat=$?
- if test $stat -eq 0; then :
- else
- rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
- exit $stat
- fi
-
- for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
- do
- test -f "$tmpdepfile" && break
- done
- if test -f "$tmpdepfile"; then
- sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
- # That's a tab and a space in the [].
- sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
- else
- echo "#dummy" > "$depfile"
- fi
- rm -f "$tmpdepfile"
- ;;
-
-#nosideeffect)
- # This comment above is used by automake to tell side-effect
- # dependency tracking mechanisms from slower ones.
-
-dashmstdout)
- # Important note: in order to support this mode, a compiler *must*
- # always write the preprocessed file to stdout, regardless of -o.
- "$@" || exit $?
-
- # Remove the call to Libtool.
- if test "$libtool" = yes; then
- while test $1 != '--mode=compile'; do
- shift
- done
- shift
- fi
-
- # Remove `-o $object'.
- IFS=" "
- for arg
- do
- case $arg in
- -o)
- shift
- ;;
- $object)
- shift
- ;;
- *)
- set fnord "$@" "$arg"
- shift # fnord
- shift # $arg
- ;;
- esac
- done
-
- test -z "$dashmflag" && dashmflag=-M
- # Require at least two characters before searching for `:'
- # in the target name. This is to cope with DOS-style filenames:
- # a dependency such as `c:/foo/bar' could be seen as target `c' otherwise.
- "$@" $dashmflag |
- sed 's:^[ ]*[^: ][^:][^:]*\:[ ]*:'"$object"'\: :' > "$tmpdepfile"
- rm -f "$depfile"
- cat < "$tmpdepfile" > "$depfile"
- tr ' ' '
-' < "$tmpdepfile" | \
-## Some versions of the HPUX 10.20 sed can't process this invocation
-## correctly. Breaking it into two sed invocations is a workaround.
- sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
- rm -f "$tmpdepfile"
- ;;
-
-dashXmstdout)
- # This case only exists to satisfy depend.m4. It is never actually
- # run, as this mode is specially recognized in the preamble.
- exit 1
- ;;
-
-makedepend)
- "$@" || exit $?
- # Remove any Libtool call
- if test "$libtool" = yes; then
- while test $1 != '--mode=compile'; do
- shift
- done
- shift
- fi
- # X makedepend
- shift
- cleared=no
- for arg in "$@"; do
- case $cleared in
- no)
- set ""; shift
- cleared=yes ;;
- esac
- case "$arg" in
- -D*|-I*)
- set fnord "$@" "$arg"; shift ;;
- # Strip any option that makedepend may not understand. Remove
- # the object too, otherwise makedepend will parse it as a source file.
- -*|$object)
- ;;
- *)
- set fnord "$@" "$arg"; shift ;;
- esac
- done
- obj_suffix="`echo $object | sed 's/^.*\././'`"
- touch "$tmpdepfile"
- ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@"
- rm -f "$depfile"
- cat < "$tmpdepfile" > "$depfile"
- sed '1,2d' "$tmpdepfile" | tr ' ' '
-' | \
-## Some versions of the HPUX 10.20 sed can't process this invocation
-## correctly. Breaking it into two sed invocations is a workaround.
- sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
- rm -f "$tmpdepfile" "$tmpdepfile".bak
- ;;
-
-cpp)
- # Important note: in order to support this mode, a compiler *must*
- # always write the preprocessed file to stdout.
- "$@" || exit $?
-
- # Remove the call to Libtool.
- if test "$libtool" = yes; then
- while test $1 != '--mode=compile'; do
- shift
- done
- shift
- fi
-
- # Remove `-o $object'.
- IFS=" "
- for arg
- do
- case $arg in
- -o)
- shift
- ;;
- $object)
- shift
- ;;
- *)
- set fnord "$@" "$arg"
- shift # fnord
- shift # $arg
- ;;
- esac
- done
-
- "$@" -E |
- sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
- -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' |
- sed '$ s: \\$::' > "$tmpdepfile"
- rm -f "$depfile"
- echo "$object : \\" > "$depfile"
- cat < "$tmpdepfile" >> "$depfile"
- sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile"
- rm -f "$tmpdepfile"
- ;;
-
-msvisualcpp)
- # Important note: in order to support this mode, a compiler *must*
- # always write the preprocessed file to stdout, regardless of -o,
- # because we must use -o when running libtool.
- "$@" || exit $?
- IFS=" "
- for arg
- do
- case "$arg" in
- "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI")
- set fnord "$@"
- shift
- shift
- ;;
- *)
- set fnord "$@" "$arg"
- shift
- shift
- ;;
- esac
- done
- "$@" -E |
- sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::echo "`cygpath -u \\"\1\\"`":p' | sort | uniq > "$tmpdepfile"
- rm -f "$depfile"
- echo "$object : \\" > "$depfile"
- . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile"
- echo " " >> "$depfile"
- . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s::\1\::p' >> "$depfile"
- rm -f "$tmpdepfile"
- ;;
-
-none)
- exec "$@"
- ;;
-
-*)
- echo "Unknown depmode $depmode" 1>&2
- exit 1
- ;;
-esac
-
-exit 0
-
-# Local Variables:
-# mode: shell-script
-# sh-indentation: 2
-# eval: (add-hook 'write-file-hooks 'time-stamp)
-# time-stamp-start: "scriptversion="
-# time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-end: "$"
-# End:
diff --git a/doc/CodingStyle b/doc/CodingStyle
new file mode 100644
index 0000000..cb0d15e
--- /dev/null
+++ b/doc/CodingStyle
@@ -0,0 +1,137 @@
+
+*** Patches not matching these rules will be rejected ***
+
+First off, read Linus' CodingStyle in the kernel Documentation/ directory.
+Most of it applies directly. There are a number of other points worth making,
+however.
+
+The script "check_style.py" in the oprofile-tests CVS module can help
+identify some problems. Note that it generates a lot of false positives,
+as well as false negatives, so be careful in its use. If all else fails,
+use common sense.
+
+General points
+--------------
+
+Keep lines within 80 columns with a maximum tab size of 8. You may
+exceed 80 columns if the alternative is uglier (see format_output.h).
+
+Keep files (especially headers) focussed on one small aspect.
+Make judicious use of forward declarations.
+
+ Rationale: reduce false include dependencies
+
+Separate out more general routines and place them in the appropriate
+utility library (e.g. libop/, libutil++).
+
+ Rationale: re-use, clean organisation
+
+Avoid complex conditionals via helper functions (e.g. comma_match)
+
+Avoid ifdefs: prefer configure options / build trickery.
+
+Use Doxygen comments judiciously. Actual source code should generally
+only document the unexpected. Comments should not duplicate what the code
+says (this means variable/function naming is uber-important). The Doxygen
+function comments go in the header (except for static functions obviously).
+
+Do not use trailing comments, unless they are used for an enum or struct
+member, e.g. :
+
+ enum foo {
+ bar, /**< foo */
+ baz, /**< quux */
+ };
+
+If you do this, you must use the above doxygenated markup.
+
+Makefile.am: prefer using
+LIST = \
+ foo1 \
+ foo2
+rather than
+LIST = foo1 foo2
+
+ Rationale: diffs are a lot easier to read.
+
+Arbitrary rules
+---------------
+
+Two blank lines between functions.
+
+Use tabs for indentation, spaces for alignment. Avoid wrapping lines,
+but if you do, choose a reasonable point and align the next line
+sensibly. If there is no sensible alignment point, use single extra
+tab to indicate "continuation". Avoid using tabs for alignment: it
+breaks on different sized tabs. Lines should be less than 80
+on screen characters wide (assuming a maximum tab-size of 8).
+
+rationale: http://www.movementarian.org/docs/whytabs/
+
+C++ inline methods in headers. use Java braces :
+
+ void method() {
+ }
+
+Avoid using inline methods at all.
+
+Space types like this :
+
+ void blah(int * x, int * y);
+ void blah(int & x);
+ int & ref = get_ref();
+ int * x = &y;
+ int z = *x;
+ int arr[4];
+
+Rationale: makes application of operators visually different from
+type specifications.
+
+Use "char const *" not "const char *".
+
+Make use of the C++ standard library. That's what it's there for. Bear
+in mind we support gcc 2.91.66
+
+Avoid CamelCase in preference to cpp_std_library.
+
+Use "using namespace std;" in .cpp files. Use std:: qualification in .h files.
+
+Avoid do { } while(). Avoid defines.
+
+Single-line for/while/if blocks should generally not use containing
+braces. Never use the comma operator to avoid braces. If there is more
+than one visual line (regardless of number of statements), you need
+braces. If there is an else clause, you should probably use braces; if
+any of the branches in an if/else if change has braces, they all should.
+
+Spacing :
+
+ if (blah) {
+ call_method(&param);
+ x = y + z;
+ x = func(a, b, c + SOME_DEFINE);
+
+Use noncopyable, scoped_ptr, and scoped_array.
+
+Use the standard comments + include guards for headers.
+
+Do not inline unless you have good reason.
+
+Use anon namespaces for static variables.
+
+In a derived class re-implementing a virtual function, include the
+(unnecessary) "virtual" keyword in the function declaration.
+
+"nr_doobries" not "no_doobries" - disambiguates between "number" and "negative"
+
+Wrap long function definitions like this if possible :
+
+struct some_frobnication const &
+my_frobnicator(vector<string> const & values, bool bogo);
+
+or, if not :
+
+static void my_frobnicator(vector<string> const & values,
+ vector<string> const & things);
+
+Note the spaces for alignment here. Avoid such long prototypes at all where sensible.
diff --git a/doc/Makefile.in b/doc/Makefile.in
deleted file mode 100644
index be49353..0000000
--- a/doc/Makefile.in
+++ /dev/null
@@ -1,555 +0,0 @@
-# Makefile.in generated by automake 1.9.6 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005 Free Software Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ..
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-subdir = doc
-DIST_COMMON = $(dist_html_DATA) $(srcdir)/Makefile.am \
- $(srcdir)/Makefile.in $(srcdir)/opannotate.1.in \
- $(srcdir)/oparchive.1.in $(srcdir)/opcontrol.1.in \
- $(srcdir)/opgprof.1.in $(srcdir)/ophelp.1.in \
- $(srcdir)/opimport.1.in $(srcdir)/opreport.1.in \
- $(srcdir)/oprofile.1.in
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/binutils.m4 \
- $(top_srcdir)/m4/builtinexpect.m4 \
- $(top_srcdir)/m4/cellspubfdsupport.m4 \
- $(top_srcdir)/m4/compileroption.m4 \
- $(top_srcdir)/m4/configmodule.m4 \
- $(top_srcdir)/m4/copyifchange.m4 $(top_srcdir)/m4/docbook.m4 \
- $(top_srcdir)/m4/extradirs.m4 $(top_srcdir)/m4/findkernel.m4 \
- $(top_srcdir)/m4/kerneloption.m4 \
- $(top_srcdir)/m4/kernelversion.m4 \
- $(top_srcdir)/m4/mallocattribute.m4 \
- $(top_srcdir)/m4/poptconst.m4 \
- $(top_srcdir)/m4/precompiledheader.m4 $(top_srcdir)/m4/qt.m4 \
- $(top_srcdir)/m4/resultyn.m4 $(top_srcdir)/m4/sstream.m4 \
- $(top_srcdir)/m4/typedef.m4 $(top_srcdir)/configure.in
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES = oprofile.1 opcontrol.1 ophelp.1 opreport.1 \
- opannotate.1 opgprof.1 oparchive.1 opimport.1
-SOURCES =
-DIST_SOURCES =
-man1dir = $(mandir)/man1
-am__installdirs = "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(htmldir)"
-NROFF = nroff
-MANS = $(man_MANS)
-am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
-am__vpath_adj = case $$p in \
- $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
- *) f=$$p;; \
- esac;
-am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
-dist_htmlDATA_INSTALL = $(INSTALL_DATA)
-DATA = $(dist_html_DATA)
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
-AMTAR = @AMTAR@
-AR = @AR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-BFD_LIBS = @BFD_LIBS@
-BUILD_JVMPI_AGENT_FALSE = @BUILD_JVMPI_AGENT_FALSE@
-BUILD_JVMPI_AGENT_TRUE = @BUILD_JVMPI_AGENT_TRUE@
-BUILD_JVMTI_AGENT_FALSE = @BUILD_JVMTI_AGENT_FALSE@
-BUILD_JVMTI_AGENT_TRUE = @BUILD_JVMTI_AGENT_TRUE@
-CAT_ENTRY_END = @CAT_ENTRY_END@
-CAT_ENTRY_START = @CAT_ENTRY_START@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DATE = @DATE@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DOCBOOK_ROOT = @DOCBOOK_ROOT@
-ECHO = @ECHO@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-EXTRA_CFLAGS_MODULE = @EXTRA_CFLAGS_MODULE@
-F77 = @F77@
-FFLAGS = @FFLAGS@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-JAVA_HOMEDIR = @JAVA_HOMEDIR@
-KINC = @KINC@
-KSRC = @KSRC@
-KVERS = @KVERS@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LIBERTY_LIBS = @LIBERTY_LIBS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-MAKEINFO = @MAKEINFO@
-MOC = @MOC@
-MODINSTALLDIR = @MODINSTALLDIR@
-OBJEXT = @OBJEXT@
-OPROFILE_DIR = @OPROFILE_DIR@
-OPROFILE_MODULE_ARCH = @OPROFILE_MODULE_ARCH@
-OP_CFLAGS = @OP_CFLAGS@
-OP_CXXFLAGS = @OP_CXXFLAGS@
-OP_DOCDIR = @OP_DOCDIR@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-POPT_LIBS = @POPT_LIBS@
-PTRDIFF_T_TYPE = @PTRDIFF_T_TYPE@
-QT_INCLUDES = @QT_INCLUDES@
-QT_LDFLAGS = @QT_LDFLAGS@
-QT_LIB = @QT_LIB@
-QT_VERSION = @QT_VERSION@
-RANLIB = @RANLIB@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-SIZE_T_TYPE = @SIZE_T_TYPE@
-STRIP = @STRIP@
-UIC = @UIC@
-VERSION = @VERSION@
-XML_CATALOG = @XML_CATALOG@
-XSLTPROC = xsltproc
-XSLTPROC_FLAGS = @XSLTPROC_FLAGS@
-X_CFLAGS = @X_CFLAGS@
-X_EXTRA_LIBS = @X_EXTRA_LIBS@
-X_LIBS = @X_LIBS@
-X_PRE_LIBS = @X_PRE_LIBS@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
-am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-datadir = @datadir@
-exec_prefix = @exec_prefix@
-have_qt_FALSE = @have_qt_FALSE@
-have_qt_TRUE = @have_qt_TRUE@
-have_xsltproc_FALSE = @have_xsltproc_FALSE@
-have_xsltproc_TRUE = @have_xsltproc_TRUE@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-kernel_support_FALSE = @kernel_support_FALSE@
-kernel_support_TRUE = @kernel_support_TRUE@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-topdir = @topdir@
-RM = rm
-MANDIR = $(DESTDIR)@mandir@/man1
-XHTML_STYLESHEET = $(srcdir)/xsl/xhtml.xsl
-CHUNK_XHTML_STYLESHEET = $(srcdir)/xsl/xhtml-chunk.xsl
-XML_CATALOG_FILES = xsl/catalog.xml
-STYLESHEETS = $(CHUNK_XHTML_STYLESHEET) $(srcdir)/xsl/xhtml-common.xsl
-man_MANS = \
- oprofile.1 \
- opcontrol.1 \
- opreport.1 \
- opannotate.1 \
- opgprof.1 \
- ophelp.1 \
- oparchive.1 \
- opimport.1
-
-htmldir = $(prefix)/share/doc/oprofile
-dist_html_DATA = oprofile.html internals.html opreport.xsd op-jit-devel.html
-EXTRA_DIST = \
- oprofile.1 \
- oprofile.1.in \
- oprofile.xml \
- op-jit-devel.xml \
- internals.xml \
- buffers.png \
- xsl/catalog-1.xml.in \
- xsl/xhtml.xsl \
- xsl/xhtml-common.xsl \
- xsl/xhtml-chunk.xsl \
- srcdoc/Doxyfile.in \
- srcdoc/Makefile
-
-all: all-am
-
-.SUFFIXES:
-$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign doc/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --foreign doc/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- @case '$?' in \
- *config.status*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
- *) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-oprofile.1: $(top_builddir)/config.status $(srcdir)/oprofile.1.in
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
-opcontrol.1: $(top_builddir)/config.status $(srcdir)/opcontrol.1.in
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
-ophelp.1: $(top_builddir)/config.status $(srcdir)/ophelp.1.in
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
-opreport.1: $(top_builddir)/config.status $(srcdir)/opreport.1.in
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
-opannotate.1: $(top_builddir)/config.status $(srcdir)/opannotate.1.in
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
-opgprof.1: $(top_builddir)/config.status $(srcdir)/opgprof.1.in
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
-oparchive.1: $(top_builddir)/config.status $(srcdir)/oparchive.1.in
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
-opimport.1: $(top_builddir)/config.status $(srcdir)/opimport.1.in
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-install-man1: $(man1_MANS) $(man_MANS)
- @$(NORMAL_INSTALL)
- test -z "$(man1dir)" || $(mkdir_p) "$(DESTDIR)$(man1dir)"
- @list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \
- l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \
- for i in $$l2; do \
- case "$$i" in \
- *.1*) list="$$list $$i" ;; \
- esac; \
- done; \
- for i in $$list; do \
- if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \
- else file=$$i; fi; \
- ext=`echo $$i | sed -e 's/^.*\\.//'`; \
- case "$$ext" in \
- 1*) ;; \
- *) ext='1' ;; \
- esac; \
- inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
- inst=`echo $$inst | sed -e 's/^.*\///'`; \
- inst=`echo $$inst | sed '$(transform)'`.$$ext; \
- echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \
- $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst"; \
- done
-uninstall-man1:
- @$(NORMAL_UNINSTALL)
- @list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \
- l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \
- for i in $$l2; do \
- case "$$i" in \
- *.1*) list="$$list $$i" ;; \
- esac; \
- done; \
- for i in $$list; do \
- ext=`echo $$i | sed -e 's/^.*\\.//'`; \
- case "$$ext" in \
- 1*) ;; \
- *) ext='1' ;; \
- esac; \
- inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
- inst=`echo $$inst | sed -e 's/^.*\///'`; \
- inst=`echo $$inst | sed '$(transform)'`.$$ext; \
- echo " rm -f '$(DESTDIR)$(man1dir)/$$inst'"; \
- rm -f "$(DESTDIR)$(man1dir)/$$inst"; \
- done
-install-dist_htmlDATA: $(dist_html_DATA)
- @$(NORMAL_INSTALL)
- test -z "$(htmldir)" || $(mkdir_p) "$(DESTDIR)$(htmldir)"
- @list='$(dist_html_DATA)'; for p in $$list; do \
- if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(dist_htmlDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(htmldir)/$$f'"; \
- $(dist_htmlDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(htmldir)/$$f"; \
- done
-
-uninstall-dist_htmlDATA:
- @$(NORMAL_UNINSTALL)
- @list='$(dist_html_DATA)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(htmldir)/$$f'"; \
- rm -f "$(DESTDIR)$(htmldir)/$$f"; \
- done
-tags: TAGS
-TAGS:
-
-ctags: CTAGS
-CTAGS:
-
-
-distdir: $(DISTFILES)
- $(mkdir_p) $(distdir)/srcdoc $(distdir)/xsl
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkdir_p) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
- if test -d $$d/$$file; then \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
- fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
- else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: check-am
-all-am: Makefile $(MANS) $(DATA)
-installdirs:
- for dir in "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(htmldir)"; do \
- test -z "$$dir" || $(mkdir_p) "$$dir"; \
- done
-install: install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-am
-
-clean-am: clean-generic clean-libtool clean-local mostlyclean-am
-
-distclean: distclean-am
- -rm -f Makefile
-distclean-am: clean-am distclean-generic distclean-libtool \
- distclean-local
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-info: info-am
-
-info-am:
-
-install-data-am: install-dist_htmlDATA install-man
-
-install-exec-am:
-
-install-info: install-info-am
-
-install-man: install-man1
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-generic mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am: uninstall-dist_htmlDATA uninstall-info-am \
- uninstall-local uninstall-man
-
-uninstall-man: uninstall-man1
-
-.PHONY: all all-am check check-am clean clean-generic clean-libtool \
- clean-local distclean distclean-generic distclean-libtool \
- distclean-local distdir dvi dvi-am html html-am info info-am \
- install install-am install-data install-data-am \
- install-dist_htmlDATA install-exec install-exec-am \
- install-info install-info-am install-man install-man1 \
- install-strip installcheck installcheck-am installdirs \
- maintainer-clean maintainer-clean-generic mostlyclean \
- mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
- uninstall uninstall-am uninstall-dist_htmlDATA \
- uninstall-info-am uninstall-local uninstall-man uninstall-man1
-
-
-@have_xsltproc_TRUE@oprofile.html: ${top_srcdir}/doc/oprofile.xml
-@have_xsltproc_TRUE@ XML_CATALOG_FILES=$(XML_CATALOG_FILES) $(XSLTPROC) $(XSLTPROC_FLAGS) -o $@ --stringparam version @VERSION@ $(XHTML_STYLESHEET) $<
-
-@have_xsltproc_TRUE@op-jit-devel.html: ${top_srcdir}/doc/op-jit-devel.xml
-@have_xsltproc_TRUE@ XML_CATALOG_FILES=$(XML_CATALOG_FILES) $(XSLTPROC) $(XSLTPROC_FLAGS) -o $@ --stringparam version @VERSION@ $(XHTML_STYLESHEET) $<
-
-@have_xsltproc_TRUE@internals.html: ${top_srcdir}/doc/internals.xml
-@have_xsltproc_TRUE@ XML_CATALOG_FILES=$(XML_CATALOG_FILES) $(XSLTPROC) $(XSLTPROC_FLAGS) -o $@ --stringparam version @VERSION@ $(XHTML_STYLESHEET) $<
-
-# rules to generate oprofile.sf.net/doc files
-
-@have_xsltproc_TRUE@doc/index.html: ${top_srcdir}/doc/oprofile.xml
-@have_xsltproc_TRUE@ -mkdir doc/
-@have_xsltproc_TRUE@ $(XSLTPROC) -o doc/ $(XSLTPROC_FLAGS) --stringparam version @VERSION@ $(CHUNK_XHTML_STYLESHEET) $<
-
-@have_xsltproc_TRUE@doc/devel/index.html: ${top_srcdir}/doc/op-jit-devel.xml
-@have_xsltproc_TRUE@ -mkdir doc/devel/
-@have_xsltproc_TRUE@ $(XSLTPROC) -o doc/devel/ $(XSLTPROC_FLAGS) --stringparam version @VERSION@ $(CHUNK_XHTML_STYLESHEET) $<
-
-@have_xsltproc_TRUE@doc/internals/index.html: ${top_srcdir}/doc/internals.xml
-@have_xsltproc_TRUE@ -mkdir doc/internals/
-@have_xsltproc_TRUE@ $(XSLTPROC) -o doc/internals/ $(XSLTPROC_FLAGS) --stringparam version @VERSION@ $(CHUNK_XHTML_STYLESHEET) $<
-
-@have_xsltproc_TRUE@chunk: doc/index.html doc/internals/index.html doc/devel/index.html
-@have_xsltproc_TRUE@ cp ${top_srcdir}/doc/buffers.png doc/internals/
-
-@have_xsltproc_FALSE@oprofile.html:
-@have_xsltproc_FALSE@ touch $@
-
-@have_xsltproc_FALSE@internals.html:
-@have_xsltproc_FALSE@ touch $@
-
-@have_xsltproc_FALSE@op-jit-devel.html:
-@have_xsltproc_FALSE@ touch $@
-
-@have_xsltproc_FALSE@chunk:
-
-distclean-local:
- $(RM) -f xsl/catalog-1.xml xsl/catalog.xml
-
-clean-local:
- $(RM) -f $(generated_mans)
-
-# these files are not cleaned by make uninstall automake bug ?
-uninstall-local:
- rm -f @mandir@/cat1/oprofile.1.gz
- @for f in $(LINK_LIST); do \
- rm -f $(CATDIR)/cat1/$$f.gz; \
- done
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/doc/buffers.dia b/doc/buffers.dia
new file mode 100644
index 0000000..22181af
--- /dev/null
+++ b/doc/buffers.dia
Binary files differ
diff --git a/doc/internals.html b/doc/internals.html
deleted file mode 100644
index 97cc06a..0000000
--- a/doc/internals.html
+++ /dev/null
@@ -1,2009 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
- <title>OProfile Internals</title>
- <meta name="generator" content="DocBook XSL Stylesheets V1.69.1" />
- </head>
- <body>
- <div class="book" lang="en" xml:lang="en">
- <div class="titlepage">
- <div>
- <div>
- <h1 class="title"><a id="oprofile-internals"></a>OProfile Internals</h1>
- </div>
- <div>
- <div class="authorgroup">
- <div class="author">
- <h3 class="author"><span class="firstname">John</span> <span class="surname">Levon</span></h3>
- <div class="affiliation">
- <div class="address">
- <p>
- <code class="email">&lt;<a href="mailto:levon@movementarian.org">levon@movementarian.org</a>&gt;</code>
- </p>
- </div>
- </div>
- </div>
- </div>
- </div>
- <div>
- <p class="copyright">Copyright © 2003 John Levon</p>
- </div>
- </div>
- <hr />
- </div>
- <div class="toc">
- <p>
- <b>Table of Contents</b>
- </p>
- <dl>
- <dt>
- <span class="chapter">
- <a href="#introduction">1. Introduction</a>
- </span>
- </dt>
- <dd>
- <dl>
- <dt>
- <span class="sect1">
- <a href="#overview">1. Overview</a>
- </span>
- </dt>
- <dt>
- <span class="sect1">
- <a href="#components">2. Components of the OProfile system</a>
- </span>
- </dt>
- <dd>
- <dl>
- <dt>
- <span class="sect2">
- <a href="#arch-specific-components">2.1. Architecture-specific components</a>
- </span>
- </dt>
- <dt>
- <span class="sect2">
- <a href="#filesystem">2.2. oprofilefs</a>
- </span>
- </dt>
- <dt>
- <span class="sect2">
- <a href="#driver">2.3. Generic kernel driver</a>
- </span>
- </dt>
- <dt>
- <span class="sect2">
- <a href="#daemon">2.4. The OProfile daemon</a>
- </span>
- </dt>
- <dt>
- <span class="sect2">
- <a href="#post-profiling">2.5. Post-profiling tools</a>
- </span>
- </dt>
- </dl>
- </dd>
- </dl>
- </dd>
- <dt>
- <span class="chapter">
- <a href="#performance-counters">2. Performance counter management</a>
- </span>
- </dt>
- <dd>
- <dl>
- <dt>
- <span class="sect1">
- <a href="#performance-counters-ui">1. Providing a user interface</a>
- </span>
- </dt>
- <dt>
- <span class="sect1">
- <a href="#performance-counters-programming">2. Programming the performance counter registers</a>
- </span>
- </dt>
- <dd>
- <dl>
- <dt>
- <span class="sect2">
- <a href="#performance-counters-start">2.1. Starting and stopping the counters</a>
- </span>
- </dt>
- <dt>
- <span class="sect2">
- <a href="#id4669490">2.2. IA64 and perfmon</a>
- </span>
- </dt>
- </dl>
- </dd>
- </dl>
- </dd>
- <dt>
- <span class="chapter">
- <a href="#collecting-samples">3. Collecting and processing samples</a>
- </span>
- </dt>
- <dd>
- <dl>
- <dt>
- <span class="sect1">
- <a href="#receiving-interrupts">1. Receiving interrupts</a>
- </span>
- </dt>
- <dt>
- <span class="sect1">
- <a href="#core-structure">2. Core data structures</a>
- </span>
- </dt>
- <dt>
- <span class="sect1">
- <a href="#logging-sample">3. Logging a sample</a>
- </span>
- </dt>
- <dt>
- <span class="sect1">
- <a href="#logging-stack">4. Logging stack traces</a>
- </span>
- </dt>
- <dt>
- <span class="sect1">
- <a href="#synchronising-buffers">5. Synchronising the CPU buffers to the event buffer</a>
- </span>
- </dt>
- <dt>
- <span class="sect1">
- <a href="#dentry-cookies">6. Identifying binary images</a>
- </span>
- </dt>
- <dt>
- <span class="sect1">
- <a href="#finding-dentry">7. Finding a sample's binary image and offset</a>
- </span>
- </dt>
- </dl>
- </dd>
- <dt>
- <span class="chapter">
- <a href="#sample-files">4. Generating sample files</a>
- </span>
- </dt>
- <dd>
- <dl>
- <dt>
- <span class="sect1">
- <a href="#processing-buffer">1. Processing the buffer</a>
- </span>
- </dt>
- <dd>
- <dl>
- <dt>
- <span class="sect2">
- <a href="#handling-kernel-samples">1.1. Handling kernel samples</a>
- </span>
- </dt>
- </dl>
- </dd>
- <dt>
- <span class="sect1">
- <a href="#sample-file-generation">2. Locating and creating sample files</a>
- </span>
- </dt>
- <dt>
- <span class="sect1">
- <a href="#sample-file-writing">3. Writing data to a sample file</a>
- </span>
- </dt>
- </dl>
- </dd>
- <dt>
- <span class="chapter">
- <a href="#output">5. Generating useful output</a>
- </span>
- </dt>
- <dd>
- <dl>
- <dt>
- <span class="sect1">
- <a href="#profile-specification">1. Handling the profile specification</a>
- </span>
- </dt>
- <dt>
- <span class="sect1">
- <a href="#sample-file-collating">2. Collating the candidate sample files</a>
- </span>
- </dt>
- <dd>
- <dl>
- <dt>
- <span class="sect2">
- <a href="#sample-file-classifying">2.1. Classifying sample files</a>
- </span>
- </dt>
- <dt>
- <span class="sect2">
- <a href="#sample-file-inverting">2.2. Creating inverted profile lists</a>
- </span>
- </dt>
- </dl>
- </dd>
- <dt>
- <span class="sect1">
- <a href="#generating-profile-data">3. Generating profile data</a>
- </span>
- </dt>
- <dd>
- <dl>
- <dt>
- <span class="sect2">
- <a href="#bfd">3.1. Processing the binary image</a>
- </span>
- </dt>
- <dt>
- <span class="sect2">
- <a href="#processing-sample-files">3.2. Processing the sample files</a>
- </span>
- </dt>
- </dl>
- </dd>
- <dt>
- <span class="sect1">
- <a href="#generating-output">4. Generating output</a>
- </span>
- </dt>
- </dl>
- </dd>
- <dt>
- <span class="chapter">
- <a href="#ext">6. Extended Feature Interface</a>
- </span>
- </dt>
- <dd>
- <dl>
- <dt>
- <span class="sect1">
- <a href="#ext-intro">1. Introduction</a>
- </span>
- </dt>
- <dt>
- <span class="sect1">
- <a href="#ext-name-and-handlers">2. Feature Name and Handlers</a>
- </span>
- </dt>
- <dt>
- <span class="sect1">
- <a href="#ext-enable">3. Enabling Features</a>
- </span>
- </dt>
- <dt>
- <span class="sect1">
- <a href="#ext-types-of-handlers">4. Type of Handlers</a>
- </span>
- </dt>
- <dd>
- <dl>
- <dt>
- <span class="sect2">
- <a href="#ext_init">4.1. ext_init Handler</a>
- </span>
- </dt>
- <dt>
- <span class="sect2">
- <a href="#ext_print_stats">4.2. ext_print_stats Handler</a>
- </span>
- </dt>
- <dt>
- <span class="sect2">
- <a href="#ext_sfile_handlers">4.3. ext_sfile Handler</a>
- </span>
- </dt>
- </dl>
- </dd>
- <dt>
- <span class="sect1">
- <a href="#ext-implementation">5. Extended Feature Reference Implementation</a>
- </span>
- </dt>
- <dd>
- <dl>
- <dt>
- <span class="sect2">
- <a href="#ext-ibs">5.1. Instruction-Based Sampling (IBS)</a>
- </span>
- </dt>
- </dl>
- </dd>
- </dl>
- </dd>
- <dt>
- <span class="glossary">
- <a href="#glossary">Glossary of OProfile source concepts and types</a>
- </span>
- </dt>
- </dl>
- </div>
- <div class="list-of-figures">
- <p>
- <b>List of Figures</b>
- </p>
- <dl>
- <dt>3.1. <a href="#id4669660">The OProfile buffers</a></dt>
- </dl>
- </div>
- <div class="chapter" lang="en" xml:lang="en">
- <div class="titlepage">
- <div>
- <div>
- <h2 class="title"><a id="introduction"></a>Chapter 1. Introduction</h2>
- </div>
- </div>
- </div>
- <div class="toc">
- <p>
- <b>Table of Contents</b>
- </p>
- <dl>
- <dt>
- <span class="sect1">
- <a href="#overview">1. Overview</a>
- </span>
- </dt>
- <dt>
- <span class="sect1">
- <a href="#components">2. Components of the OProfile system</a>
- </span>
- </dt>
- <dd>
- <dl>
- <dt>
- <span class="sect2">
- <a href="#arch-specific-components">2.1. Architecture-specific components</a>
- </span>
- </dt>
- <dt>
- <span class="sect2">
- <a href="#filesystem">2.2. oprofilefs</a>
- </span>
- </dt>
- <dt>
- <span class="sect2">
- <a href="#driver">2.3. Generic kernel driver</a>
- </span>
- </dt>
- <dt>
- <span class="sect2">
- <a href="#daemon">2.4. The OProfile daemon</a>
- </span>
- </dt>
- <dt>
- <span class="sect2">
- <a href="#post-profiling">2.5. Post-profiling tools</a>
- </span>
- </dt>
- </dl>
- </dd>
- </dl>
- </div>
- <p>
-This document is current for OProfile version 0.9.6.
-This document provides some details on the internal workings of OProfile for the
-interested hacker. This document assumes strong C, working C++, plus some knowledge of
-kernel internals and CPU hardware.
-</p>
- <div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
- <h3 class="title">Note</h3>
- <p>
-Only the "new" implementation associated with kernel 2.6 and above is covered here. 2.4
-uses a very different kernel module implementation and daemon to produce the sample files.
-</p>
- </div>
- <div class="sect1" lang="en" xml:lang="en">
- <div class="titlepage">
- <div>
- <div>
- <h2 class="title" style="clear: both"><a id="overview"></a>1. Overview</h2>
- </div>
- </div>
- </div>
- <p>
-OProfile is a statistical continuous profiler. In other words, profiles are generated by
-regularly sampling the current registers on each CPU (from an interrupt handler, the
-saved PC value at the time of interrupt is stored), and converting that runtime PC
-value into something meaningful to the programmer.
-</p>
- <p>
-OProfile achieves this by taking the stream of sampled PC values, along with the detail
-of which task was running at the time of the interrupt, and converting into a file offset
-against a particular binary file. Because applications <code class="function">mmap()</code>
-the code they run (be it <code class="filename">/bin/bash</code>, <code class="filename">/lib/libfoo.so</code>
-or whatever), it's possible to find the relevant binary file and offset by walking
-the task's list of mapped memory areas. Each PC value is thus converted into a tuple
-of binary-image,offset. This is something that the userspace tools can use directly
-to reconstruct where the code came from, including the particular assembly instructions,
-symbol, and source line (via the binary's debug information if present).
-</p>
- <p>
-Regularly sampling the PC value like this approximates what actually was executed and
-how often - more often than not, this statistical approximation is good enough to
-reflect reality. In common operation, the time between each sample interrupt is regulated
-by a fixed number of clock cycles. This implies that the results will reflect where
-the CPU is spending the most time; this is obviously a very useful information source
-for performance analysis.
-</p>
- <p>
-Sometimes though, an application programmer needs different kinds of information: for example,
-"which of the source routines cause the most cache misses ?". The rise in importance of
-such metrics in recent years has led many CPU manufacturers to provide hardware performance
-counters capable of measuring these events on the hardware level. Typically, these counters
-increment once per each event, and generate an interrupt on reaching some pre-defined
-number of events. OProfile can use these interrupts to generate samples: then, the
-profile results are a statistical approximation of which code caused how many of the
-given event.
-</p>
- <p>
-Consider a simplified system that only executes two functions A and B. A
-takes one cycle to execute, whereas B takes 99 cycles. Imagine we run at
-100 cycles a second, and we've set the performance counter to create an
-interrupt after a set number of "events" (in this case an event is one
-clock cycle). It should be clear that the chances of the interrupt
-occurring in function A is 1/100, and 99/100 for function B. Thus, we
-statistically approximate the actual relative performance features of
-the two functions over time. This same analysis works for other types of
-events, providing that the interrupt is tied to the number of events
-occurring (that is, after N events, an interrupt is generated).
-</p>
- <p>
-There are typically more than one of these counters, so it's possible to set up profiling
-for several different event types. Using these counters gives us a powerful, low-overhead
-way of gaining performance metrics. If OProfile, or the CPU, does not support performance
-counters, then a simpler method is used: the kernel timer interrupt feeds samples
-into OProfile itself.
-</p>
- <p>
-The rest of this document concerns itself with how we get from receiving samples at
-interrupt time to producing user-readable profile information.
-</p>
- </div>
- <div class="sect1" lang="en" xml:lang="en">
- <div class="titlepage">
- <div>
- <div>
- <h2 class="title" style="clear: both"><a id="components"></a>2. Components of the OProfile system</h2>
- </div>
- </div>
- </div>
- <div class="sect2" lang="en" xml:lang="en">
- <div class="titlepage">
- <div>
- <div>
- <h3 class="title"><a id="arch-specific-components"></a>2.1. Architecture-specific components</h3>
- </div>
- </div>
- </div>
- <p>
-If OProfile supports the hardware performance counters found on
-a particular architecture, code for managing the details of setting
-up and managing these counters can be found in the kernel source
-tree in the relevant <code class="filename">arch/<span class="emphasis"><em>arch</em></span>/oprofile/</code>
-directory. The architecture-specific implementation works via
-filling in the oprofile_operations structure at init time. This
-provides a set of operations such as <code class="function">setup()</code>,
-<code class="function">start()</code>, <code class="function">stop()</code>, etc.
-that manage the hardware-specific details of fiddling with the
-performance counter registers.
-</p>
- <p>
-The other important facility available to the architecture code is
-<code class="function">oprofile_add_sample()</code>. This is where a particular sample
-taken at interrupt time is fed into the generic OProfile driver code.
-</p>
- </div>
- <div class="sect2" lang="en" xml:lang="en">
- <div class="titlepage">
- <div>
- <div>
- <h3 class="title"><a id="filesystem"></a>2.2. oprofilefs</h3>
- </div>
- </div>
- </div>
- <p>
-OProfile implements a pseudo-filesystem known as "oprofilefs", mounted from
-userspace at <code class="filename">/dev/oprofile</code>. This consists of small
-files for reporting and receiving configuration from userspace, as well
-as the actual character device that the OProfile userspace receives samples
-from. At <code class="function">setup()</code> time, the architecture-specific may
-add further configuration files related to the details of the performance
-counters. For example, on x86, one numbered directory for each hardware
-performance counter is added, with files in each for the event type,
-reset value, etc.
-</p>
- <p>
-The filesystem also contains a <code class="filename">stats</code> directory with
-a number of useful counters for various OProfile events.
-</p>
- </div>
- <div class="sect2" lang="en" xml:lang="en">
- <div class="titlepage">
- <div>
- <div>
- <h3 class="title"><a id="driver"></a>2.3. Generic kernel driver</h3>
- </div>
- </div>
- </div>
- <p>
-This lives in <code class="filename">drivers/oprofile/</code>, and forms the core of
-how OProfile works in the kernel. Its job is to take samples delivered
-from the architecture-specific code (via <code class="function">oprofile_add_sample()</code>),
-and buffer this data, in a transformed form as described later, until releasing
-the data to the userspace daemon via the <code class="filename">/dev/oprofile/buffer</code>
-character device.
-</p>
- </div>
- <div class="sect2" lang="en" xml:lang="en">
- <div class="titlepage">
- <div>
- <div>
- <h3 class="title"><a id="daemon"></a>2.4. The OProfile daemon</h3>
- </div>
- </div>
- </div>
- <p>
-The OProfile userspace daemon's job is to take the raw data provided by the
-kernel and write it to the disk. It takes the single data stream from the
-kernel and logs sample data against a number of sample files (found in
-<code class="filename">$SESSION_DIR/samples/current/</code>, by default located at
-<code class="filename">/var/lib/oprofile/samples/current/</code>. For the benefit
-of the "separate" functionality, the names/paths of these sample files
-are mangled to reflect where the samples were from: this can include
-thread IDs, the binary file path, the event type used, and more.
-</p>
- <p>
-After this final step from interrupt to disk file, the data is now
-persistent (that is, changes in the running of the system do not invalidate
-stored data). So the post-profiling tools can run on this data at any
-time (assuming the original binary files are still available and unchanged,
-naturally).
-</p>
- </div>
- <div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="post-profiling"></a>2.5. Post-profiling tools</h3></div></div></div>
-So far, we've collected data, but we've yet to present it in a useful form
-to the user. This is the job of the post-profiling tools. In general form,
-they collate a subset of the available sample files, load and process each one
-correlated against the relevant binary file, and finally produce user-readable
-information.
-</div>
- </div>
- </div>
- <div class="chapter" lang="en" xml:lang="en">
- <div class="titlepage">
- <div>
- <div>
- <h2 class="title"><a id="performance-counters"></a>Chapter 2. Performance counter management</h2>
- </div>
- </div>
- </div>
- <div class="toc">
- <p>
- <b>Table of Contents</b>
- </p>
- <dl>
- <dt>
- <span class="sect1">
- <a href="#performance-counters-ui">1. Providing a user interface</a>
- </span>
- </dt>
- <dt>
- <span class="sect1">
- <a href="#performance-counters-programming">2. Programming the performance counter registers</a>
- </span>
- </dt>
- <dd>
- <dl>
- <dt>
- <span class="sect2">
- <a href="#performance-counters-start">2.1. Starting and stopping the counters</a>
- </span>
- </dt>
- <dt>
- <span class="sect2">
- <a href="#id4669490">2.2. IA64 and perfmon</a>
- </span>
- </dt>
- </dl>
- </dd>
- </dl>
- </div>
- <div class="sect1" lang="en" xml:lang="en">
- <div class="titlepage">
- <div>
- <div>
- <h2 class="title" style="clear: both"><a id="performance-counters-ui"></a>1. Providing a user interface</h2>
- </div>
- </div>
- </div>
- <p>
-The performance counter registers need programming in order to set the
-type of event to count, etc. OProfile uses a standard model across all
-CPUs for defining these events as follows :
-</p>
- <div class="informaltable">
- <table border="1">
- <colgroup>
- <col />
- <col />
- </colgroup>
- <tbody>
- <tr>
- <td>
- <code class="option">event</code>
- </td>
- <td>The event type e.g. DATA_MEM_REFS</td>
- </tr>
- <tr>
- <td>
- <code class="option">unit mask</code>
- </td>
- <td>The sub-events to count (more detailed specification)</td>
- </tr>
- <tr>
- <td>
- <code class="option">counter</code>
- </td>
- <td>The hardware counter(s) that can count this event</td>
- </tr>
- <tr>
- <td>
- <code class="option">count</code>
- </td>
- <td>The reset value (how many events before an interrupt)</td>
- </tr>
- <tr>
- <td>
- <code class="option">kernel</code>
- </td>
- <td>Whether the counter should increment when in kernel space</td>
- </tr>
- <tr>
- <td>
- <code class="option">user</code>
- </td>
- <td>Whether the counter should increment when in user space</td>
- </tr>
- </tbody>
- </table>
- </div>
- <p>
-The term "unit mask" is borrowed from the Intel architectures, and can
-further specify exactly when a counter is incremented (for example,
-cache-related events can be restricted to particular state transitions
-of the cache lines).
-</p>
- <p>
-All of the available hardware events and their details are specified in
-the textual files in the <code class="filename">events</code> directory. The
-syntax of these files should be fairly obvious. The user specifies the
-names and configuration details of the chosen counters via
-<span><strong class="command">opcontrol</strong></span>. These are then written to the kernel
-module (in numerical form) via <code class="filename">/dev/oprofile/N/</code>
-where N is the physical hardware counter (some events can only be used
-on specific counters; OProfile hides these details from the user when
-possible). On IA64, the perfmon-based interface behaves somewhat
-differently, as described later.
-</p>
- </div>
- <div class="sect1" lang="en" xml:lang="en">
- <div class="titlepage">
- <div>
- <div>
- <h2 class="title" style="clear: both"><a id="performance-counters-programming"></a>2. Programming the performance counter registers</h2>
- </div>
- </div>
- </div>
- <p>
-We have described how the user interface fills in the desired
-configuration of the counters and transmits the information to the
-kernel. It is the job of the <code class="function">-&gt;setup()</code> method
-to actually program the performance counter registers. Clearly, the
-details of how this is done is architecture-specific; it is also
-model-specific on many architectures. For example, i386 provides methods
-for each model type that programs the counter registers correctly
-(see the <code class="filename">op_model_*</code> files in
-<code class="filename">arch/i386/oprofile</code> for the details). The method
-reads the values stored in the virtual oprofilefs files and programs
-the registers appropriately, ready for starting the actual profiling
-session.
-</p>
- <p>
-The architecture-specific drivers make sure to save the old register
-settings before doing OProfile setup. They are restored when OProfile
-shuts down. This is useful, for example, on i386, where the NMI watchdog
-uses the same performance counter registers as OProfile; they cannot
-run concurrently, but OProfile makes sure to restore the setup it found
-before it was running.
-</p>
- <p>
-In addition to programming the counter registers themselves, other setup
-is often necessary. For example, on i386, the local APIC needs
-programming in order to make the counter's overflow interrupt appear as
-an NMI (non-maskable interrupt). This allows sampling (and therefore
-profiling) of regions where "normal" interrupts are masked, enabling
-more reliable profiles.
-</p>
- <div class="sect2" lang="en" xml:lang="en">
- <div class="titlepage">
- <div>
- <div>
- <h3 class="title"><a id="performance-counters-start"></a>2.1. Starting and stopping the counters</h3>
- </div>
- </div>
- </div>
- <p>
-Initiating a profiling session is done via writing an ASCII '1'
-to the file <code class="filename">/dev/oprofile/enable</code>. This sets up the
-core, and calls into the architecture-specific driver to actually
-enable each configured counter. Again, the details of how this is
-done is model-specific (for example, the Athlon models can disable
-or enable on a per-counter basis, unlike the PPro models).
-</p>
- </div>
- <div class="sect2" lang="en" xml:lang="en">
- <div class="titlepage">
- <div>
- <div>
- <h3 class="title"><a id="id4669490"></a>2.2. IA64 and perfmon</h3>
- </div>
- </div>
- </div>
- <p>
-The IA64 architecture provides a different interface from the other
-architectures, using the existing perfmon driver. Register programming
-is handled entirely in user-space (see
-<code class="filename">daemon/opd_perfmon.c</code> for the details). A process
-is forked for each CPU, which creates a perfmon context and sets the
-counter registers appropriately via the
-<code class="function">sys_perfmonctl</code> interface. In addition, the actual
-initiation and termination of the profiling session is handled via the
-same interface using <code class="constant">PFM_START</code> and
-<code class="constant">PFM_STOP</code>. On IA64, then, there are no oprofilefs
-files for the performance counters, as the kernel driver does not
-program the registers itself.
-</p>
- <p>
-Instead, the perfmon driver for OProfile simply registers with the
-OProfile core with an OProfile-specific UUID. During a profiling
-session, the perfmon core calls into the OProfile perfmon driver and
-samples are registered with the OProfile core itself as usual (with
-<code class="function">oprofile_add_sample()</code>).
-</p>
- </div>
- </div>
- </div>
- <div class="chapter" lang="en" xml:lang="en">
- <div class="titlepage">
- <div>
- <div>
- <h2 class="title"><a id="collecting-samples"></a>Chapter 3. Collecting and processing samples</h2>
- </div>
- </div>
- </div>
- <div class="toc">
- <p>
- <b>Table of Contents</b>
- </p>
- <dl>
- <dt>
- <span class="sect1">
- <a href="#receiving-interrupts">1. Receiving interrupts</a>
- </span>
- </dt>
- <dt>
- <span class="sect1">
- <a href="#core-structure">2. Core data structures</a>
- </span>
- </dt>
- <dt>
- <span class="sect1">
- <a href="#logging-sample">3. Logging a sample</a>
- </span>
- </dt>
- <dt>
- <span class="sect1">
- <a href="#logging-stack">4. Logging stack traces</a>
- </span>
- </dt>
- <dt>
- <span class="sect1">
- <a href="#synchronising-buffers">5. Synchronising the CPU buffers to the event buffer</a>
- </span>
- </dt>
- <dt>
- <span class="sect1">
- <a href="#dentry-cookies">6. Identifying binary images</a>
- </span>
- </dt>
- <dt>
- <span class="sect1">
- <a href="#finding-dentry">7. Finding a sample's binary image and offset</a>
- </span>
- </dt>
- </dl>
- </div>
- <div class="sect1" lang="en" xml:lang="en">
- <div class="titlepage">
- <div>
- <div>
- <h2 class="title" style="clear: both"><a id="receiving-interrupts"></a>1. Receiving interrupts</h2>
- </div>
- </div>
- </div>
- <p>
-Naturally, how the overflow interrupts are received is specific
-to the hardware architecture, unless we are in "timer" mode, where the
-logging routine is called directly from the standard kernel timer
-interrupt handler.
-</p>
- <p>
-On the i386 architecture, the local APIC is programmed such that when a
-counter overflows (that is, it receives an event that causes an integer
-overflow of the register value to zero), an NMI is generated. This calls
-into the general handler <code class="function">do_nmi()</code>; because OProfile
-has registered itself as capable of handling NMI interrupts, this will
-call into the OProfile driver code in
-<code class="filename">arch/i386/oprofile</code>. Here, the saved PC value (the
-CPU saves the register set at the time of interrupt on the stack
-available for inspection) is extracted, and the counters are examined to
-find out which one generated the interrupt. Also determined is whether
-the system was inside kernel or user space at the time of the interrupt.
-These three pieces of information are then forwarded onto the OProfile
-core via <code class="function">oprofile_add_sample()</code>. Finally, the
-counter values are reset to the chosen count value, to ensure another
-interrupt happens after another N events have occurred. Other
-architectures behave in a similar manner.
-</p>
- </div>
- <div class="sect1" lang="en" xml:lang="en">
- <div class="titlepage">
- <div>
- <div>
- <h2 class="title" style="clear: both"><a id="core-structure"></a>2. Core data structures</h2>
- </div>
- </div>
- </div>
- <p>
-Before considering what happens when we log a sample, we shall digress
-for a moment and look at the general structure of the data collection
-system.
-</p>
- <p>
-OProfile maintains a small buffer for storing the logged samples for
-each CPU on the system. Only this buffer is altered when we actually log
-a sample (remember, we may still be in an NMI context, so no locking is
-possible). The buffer is managed by a two-handed system; the "head"
-iterator dictates where the next sample data should be placed in the
-buffer. Of course, overflow of the buffer is possible, in which case
-the sample is discarded.
-</p>
- <p>
-It is critical to remember that at this point, the PC value is an
-absolute value, and is therefore only meaningful in the context of which
-task it was logged against. Thus, these per-CPU buffers also maintain
-details of which task each logged sample is for, as described in the
-next section. In addition, we store whether the sample was in kernel
-space or user space (on some architectures and configurations, the address
-space is not sub-divided neatly at a specific PC value, so we must store
-this information).
-</p>
- <p>
-As well as these small per-CPU buffers, we have a considerably larger
-single buffer. This holds the data that is eventually copied out into
-the OProfile daemon. On certain system events, the per-CPU buffers are
-processed and entered (in mutated form) into the main buffer, known in
-the source as the "event buffer". The "tail" iterator indicates the
-point from which the CPU may be read, up to the position of the "head"
-iterator. This provides an entirely lock-free method for extracting data
-from the CPU buffers. This process is described in detail later in this chapter.
-</p>
- <div class="figure">
- <a id="id4669660"></a>
- <p class="title">
- <b>Figure 3.1. The OProfile buffers</b>
- </p>
- <div>
- <img src="buffers.png" alt="The OProfile buffers" />
- </div>
- </div>
- </div>
- <div class="sect1" lang="en" xml:lang="en">
- <div class="titlepage">
- <div>
- <div>
- <h2 class="title" style="clear: both"><a id="logging-sample"></a>3. Logging a sample</h2>
- </div>
- </div>
- </div>
- <p>
-As mentioned, the sample is logged into the buffer specific to the
-current CPU. The CPU buffer is a simple array of pairs of unsigned long
-values; for a sample, they hold the PC value and the counter for the
-sample. (The counter value is later used to translate back into the relevant
-event type the counter was programmed to).
-</p>
- <p>
-In addition to logging the sample itself, we also log task switches.
-This is simply done by storing the address of the last task to log a
-sample on that CPU in a data structure, and writing a task switch entry
-into the buffer if the new value of <code class="function">current()</code> has
-changed. Note that later we will directly de-reference this pointer;
-this imposes certain restrictions on when and how the CPU buffers need
-to be processed.
-</p>
- <p>
-Finally, as mentioned, we log whether we have changed between kernel and
-userspace using a similar method. Both of these variables
-(<code class="varname">last_task</code> and <code class="varname">last_is_kernel</code>) are
-reset when the CPU buffer is read.
-</p>
- </div>
- <div class="sect1" lang="en" xml:lang="en">
- <div class="titlepage">
- <div>
- <div>
- <h2 class="title" style="clear: both"><a id="logging-stack"></a>4. Logging stack traces</h2>
- </div>
- </div>
- </div>
- <p>
-OProfile can also provide statistical samples of call chains (on x86). To
-do this, at sample time, the frame pointer chain is traversed, recording
-the return address for each stack frame. This will only work if the code
-was compiled with frame pointers, but we're careful to abort the
-traversal if the frame pointer appears bad. We store the set of return
-addresses straight into the CPU buffer. Note that, since this traversal
-is keyed off the standard sample interrupt, the number of times a
-function appears in a stack trace is not an indicator of how many times
-the call site was executed: rather, it's related to the number of
-samples we took where that call site was involved. Thus, the results for
-stack traces are not necessarily proportional to the call counts:
-typical programs will have many <code class="function">main()</code> samples.
-</p>
- </div>
- <div class="sect1" lang="en" xml:lang="en">
- <div class="titlepage">
- <div>
- <div>
- <h2 class="title" style="clear: both"><a id="synchronising-buffers"></a>5. Synchronising the CPU buffers to the event buffer</h2>
- </div>
- </div>
- </div>
- <p>
-At some point, we have to process the data in each CPU buffer and enter
-it into the main (event) buffer. The file
-<code class="filename">buffer_sync.c</code> contains the relevant code. We
-periodically (currently every <code class="constant">HZ</code>/4 jiffies) start
-the synchronisation process. In addition, we process the buffers on
-certain events, such as an application calling
-<code class="function">munmap()</code>. This is particularly important for
-<code class="function">exit()</code> - because the CPU buffers contain pointers
-to the task structure, if we don't process all the buffers before the
-task is actually destroyed and the task structure freed, then we could
-end up trying to dereference a bogus pointer in one of the CPU buffers.
-</p>
- <p>
-We also add a notification when a kernel module is loaded; this is so
-that user-space can re-read <code class="filename">/proc/modules</code> to
-determine the load addresses of kernel module text sections. Without
-this notification, samples for a newly-loaded module could get lost or
-be attributed to the wrong module.
-</p>
- <p>
-The synchronisation itself works in the following manner: first, mutual
-exclusion on the event buffer is taken. Remember, we do not need to do
-that for each CPU buffer, as we only read from the tail iterator (whilst
-interrupts might be arriving at the same buffer, but they will write to
-the position of the head iterator, leaving previously written entries
-intact). Then, we process each CPU buffer in turn. A CPU switch
-notification is added to the buffer first (for
-<code class="option">--separate=cpu</code> support). Then the processing of the
-actual data starts.
-</p>
- <p>
-As mentioned, the CPU buffer consists of task switch entries and the
-actual samples. When the routine <code class="function">sync_buffer()</code> sees
-a task switch, the process ID and process group ID are recorded into the
-event buffer, along with a dcookie (see below) identifying the
-application binary (e.g. <code class="filename">/bin/bash</code>). The
-<code class="varname">mmap_sem</code> for the task is then taken, to allow safe
-iteration across the tasks' list of mapped areas. Each sample is then
-processed as described in the next section.
-</p>
- <p>
-After a buffer has been read, the tail iterator is updated to reflect
-how much of the buffer was processed. Note that when we determined how
-much data there was to read in the CPU buffer, we also called
-<code class="function">cpu_buffer_reset()</code> to reset
-<code class="varname">last_task</code> and <code class="varname">last_is_kernel</code>, as
-we've already mentioned. During the processing, more samples may have
-been arriving in the CPU buffer; this is OK because we are careful to
-only update the tail iterator to how much we actually read - on the next
-buffer synchronisation, we will start again from that point.
-</p>
- </div>
- <div class="sect1" lang="en" xml:lang="en">
- <div class="titlepage">
- <div>
- <div>
- <h2 class="title" style="clear: both"><a id="dentry-cookies"></a>6. Identifying binary images</h2>
- </div>
- </div>
- </div>
- <p>
-In order to produce useful profiles, we need to be able to associate a
-particular PC value sample with an actual ELF binary on the disk. This
-leaves us with the problem of how to export this information to
-user-space. We create unique IDs that identify a particular directory
-entry (dentry), and write those IDs into the event buffer. Later on,
-the user-space daemon can call the <code class="function">lookup_dcookie</code>
-system call, which looks up the ID and fills in the full path of
-the binary image in the buffer user-space passes in. These IDs are
-maintained by the code in <code class="filename">fs/dcookies.c</code>; the
-cache lasts for as long as the daemon has the event buffer open.
-</p>
- </div>
- <div class="sect1" lang="en" xml:lang="en">
- <div class="titlepage">
- <div>
- <div>
- <h2 class="title" style="clear: both"><a id="finding-dentry"></a>7. Finding a sample's binary image and offset</h2>
- </div>
- </div>
- </div>
- <p>
-We haven't yet described how we process the absolute PC value into
-something usable by the user-space daemon. When we find a sample entered
-into the CPU buffer, we traverse the list of mappings for the task
-(remember, we will have seen a task switch earlier, so we know which
-task's lists to look at). When a mapping is found that contains the PC
-value, we look up the mapped file's dentry in the dcookie cache. This
-gives the dcookie ID that will uniquely identify the mapped file. Then
-we alter the absolute value such that it is an offset from the start of
-the file being mapped (the mapping need not start at the start of the
-actual file, so we have to consider the offset value of the mapping). We
-store this dcookie ID into the event buffer; this identifies which
-binary the samples following it are against.
-In this manner, we have converted a PC value, which has transitory
-meaning only, into a static offset value for later processing by the
-daemon.
-</p>
- <p>
-We also attempt to avoid the relatively expensive lookup of the dentry
-cookie value by storing the cookie value directly into the dentry
-itself; then we can simply derive the cookie value immediately when we
-find the correct mapping.
-</p>
- </div>
- </div>
- <div class="chapter" lang="en" xml:lang="en">
- <div class="titlepage">
- <div>
- <div>
- <h2 class="title"><a id="sample-files"></a>Chapter 4. Generating sample files</h2>
- </div>
- </div>
- </div>
- <div class="toc">
- <p>
- <b>Table of Contents</b>
- </p>
- <dl>
- <dt>
- <span class="sect1">
- <a href="#processing-buffer">1. Processing the buffer</a>
- </span>
- </dt>
- <dd>
- <dl>
- <dt>
- <span class="sect2">
- <a href="#handling-kernel-samples">1.1. Handling kernel samples</a>
- </span>
- </dt>
- </dl>
- </dd>
- <dt>
- <span class="sect1">
- <a href="#sample-file-generation">2. Locating and creating sample files</a>
- </span>
- </dt>
- <dt>
- <span class="sect1">
- <a href="#sample-file-writing">3. Writing data to a sample file</a>
- </span>
- </dt>
- </dl>
- </div>
- <div class="sect1" lang="en" xml:lang="en">
- <div class="titlepage">
- <div>
- <div>
- <h2 class="title" style="clear: both"><a id="processing-buffer"></a>1. Processing the buffer</h2>
- </div>
- </div>
- </div>
- <p>
-Now we can move onto user-space in our description of how raw interrupt
-samples are processed into useful information. As we described in
-previous sections, the kernel OProfile driver creates a large buffer of
-sample data consisting of offset values, interspersed with
-notification of changes in context. These context changes indicate how
-following samples should be attributed, and include task switches, CPU
-changes, and which dcookie the sample value is against. By processing
-this buffer entry-by-entry, we can determine where the samples should
-be accredited to. This is particularly important when using the
-<code class="option">--separate</code>.
-</p>
- <p>
-The file <code class="filename">daemon/opd_trans.c</code> contains the basic routine
-for the buffer processing. The <code class="varname">struct transient</code>
-structure is used to hold changes in context. Its members are modified
-as we process each entry; it is passed into the routines in
-<code class="filename">daemon/opd_sfile.c</code> for actually logging the sample
-to a particular sample file (which will be held in
-<code class="filename">$SESSION_DIR/samples/current</code>).
-</p>
- <p>
-The buffer format is designed for conciseness, as high sampling rates
-can easily generate a lot of data. Thus, context changes are prefixed
-by an escape code, identified by <code class="function">is_escape_code()</code>.
-If an escape code is found, the next entry in the buffer identifies
-what type of context change is being read. These are handed off to
-various handlers (see the <code class="varname">handlers</code> array), which
-modify the transient structure as appropriate. If it's not an escape
-code, then it must be a PC offset value, and the very next entry will
-be the numeric hardware counter. These values are read and recorded
-in the transient structure; we then do a lookup to find the correct
-sample file, and log the sample, as described in the next section.
-</p>
- <div class="sect2" lang="en" xml:lang="en">
- <div class="titlepage">
- <div>
- <div>
- <h3 class="title"><a id="handling-kernel-samples"></a>1.1. Handling kernel samples</h3>
- </div>
- </div>
- </div>
- <p>
-Samples from kernel code require a little special handling. Because
-the binary text which the sample is against does not correspond to
-any file that the kernel directly knows about, the OProfile driver
-stores the absolute PC value in the buffer, instead of the file offset.
-Of course, we need an offset against some particular binary. To handle
-this, we keep a list of loaded modules by parsing
-<code class="filename">/proc/modules</code> as needed. When a module is loaded,
-a notification is placed in the OProfile buffer, and this triggers a
-re-read. We store the module name, and the loading address and size.
-This is also done for the main kernel image, as specified by the user.
-The absolute PC value is matched against each address range, and
-modified into an offset when the matching module is found. See
-<code class="filename">daemon/opd_kernel.c</code> for the details.
-</p>
- </div>
- </div>
- <div class="sect1" lang="en" xml:lang="en">
- <div class="titlepage">
- <div>
- <div>
- <h2 class="title" style="clear: both"><a id="sample-file-generation"></a>2. Locating and creating sample files</h2>
- </div>
- </div>
- </div>
- <p>
-We have a sample value and its satellite data stored in a
-<code class="varname">struct transient</code>, and we must locate an
-actual sample file to store the sample in, using the context
-information in the transient structure as a key. The transient data to
-sample file lookup is handled in
-<code class="filename">daemon/opd_sfile.c</code>. A hash is taken of the
-transient values that are relevant (depending upon the setting of
-<code class="option">--separate</code>, some values might be irrelevant), and the
-hash value is used to lookup the list of currently open sample files.
-Of course, the sample file might not be found, in which case we need
-to create and open it.
-</p>
- <p>
-OProfile uses a rather complex scheme for naming sample files, in order
-to make selecting relevant sample files easier for the post-profiling
-utilities. The exact details of the scheme are given in
-<code class="filename">oprofile-tests/pp_interface</code>, but for now it will
-suffice to remember that the filename will include only relevant
-information for the current settings, taken from the transient data. A
-fully-specified filename looks something like :
-</p>
- <code class="computeroutput">
-/var/lib/oprofile/samples/current/{root}/usr/bin/xmms/{dep}/{root}/lib/tls/libc-2.3.2.so/CPU_CLK_UNHALTED.100000.0.28082.28089.0
-</code>
- <p>
-It should be clear that this identifies such information as the
-application binary, the dependent (library) binary, the hardware event,
-and the process and thread ID. Typically, not all this information is
-needed, in which cases some values may be replaced with the token
-<code class="filename">all</code>.
-</p>
- <p>
-The code that generates this filename and opens the file is found in
-<code class="filename">daemon/opd_mangling.c</code>. You may have realised that
-at this point, we do not have the binary image file names, only the
-dcookie values. In order to determine a file name, a dcookie value is
-looked up in the dcookie cache. This is to be found in
-<code class="filename">daemon/opd_cookie.c</code>. Since dcookies are both
-persistent and unique during a sampling session, we can cache the
-values. If the value is not found in the cache, then we ask the kernel
-to do the lookup from value to file name for us by calling
-<code class="function">lookup_dcookie()</code>. This looks up the value in a
-kernel-side cache (see <code class="filename">fs/dcookies.c</code>) and returns
-the fully-qualified file name to userspace.
-</p>
- </div>
- <div class="sect1" lang="en" xml:lang="en">
- <div class="titlepage">
- <div>
- <div>
- <h2 class="title" style="clear: both"><a id="sample-file-writing"></a>3. Writing data to a sample file</h2>
- </div>
- </div>
- </div>
- <p>
-Each specific sample file is a hashed collection, where the key is
-the PC offset from the transient data, and the value is the number of
-samples recorded against that offset. The files are
-<code class="function">mmap()</code>ed into the daemon's memory space. The code
-to actually log the write against the sample file can be found in
-<code class="filename">libdb/</code>.
-</p>
- <p>
-For recording stack traces, we have a more complicated sample filename
-mangling scheme that allows us to identify cross-binary calls. We use
-the same sample file format, where the key is a 64-bit value composed
-from the from,to pair of offsets.
-</p>
- </div>
- </div>
- <div class="chapter" lang="en" xml:lang="en">
- <div class="titlepage">
- <div>
- <div>
- <h2 class="title"><a id="output"></a>Chapter 5. Generating useful output</h2>
- </div>
- </div>
- </div>
- <div class="toc">
- <p>
- <b>Table of Contents</b>
- </p>
- <dl>
- <dt>
- <span class="sect1">
- <a href="#profile-specification">1. Handling the profile specification</a>
- </span>
- </dt>
- <dt>
- <span class="sect1">
- <a href="#sample-file-collating">2. Collating the candidate sample files</a>
- </span>
- </dt>
- <dd>
- <dl>
- <dt>
- <span class="sect2">
- <a href="#sample-file-classifying">2.1. Classifying sample files</a>
- </span>
- </dt>
- <dt>
- <span class="sect2">
- <a href="#sample-file-inverting">2.2. Creating inverted profile lists</a>
- </span>
- </dt>
- </dl>
- </dd>
- <dt>
- <span class="sect1">
- <a href="#generating-profile-data">3. Generating profile data</a>
- </span>
- </dt>
- <dd>
- <dl>
- <dt>
- <span class="sect2">
- <a href="#bfd">3.1. Processing the binary image</a>
- </span>
- </dt>
- <dt>
- <span class="sect2">
- <a href="#processing-sample-files">3.2. Processing the sample files</a>
- </span>
- </dt>
- </dl>
- </dd>
- <dt>
- <span class="sect1">
- <a href="#generating-output">4. Generating output</a>
- </span>
- </dt>
- </dl>
- </div>
- <p>
-All of the tools used to generate human-readable output have to take
-roughly the same steps to collect the data for processing. First, the
-profile specification given by the user has to be parsed. Next, a list
-of sample files matching the specification has to obtained. Using this
-list, we need to locate the binary file for each sample file, and then
-use them to extract meaningful data, before a final collation and
-presentation to the user.
-</p>
- <div class="sect1" lang="en" xml:lang="en">
- <div class="titlepage">
- <div>
- <div>
- <h2 class="title" style="clear: both"><a id="profile-specification"></a>1. Handling the profile specification</h2>
- </div>
- </div>
- </div>
- <p>
-The profile specification presented by the user is parsed in
-the function <code class="function">profile_spec::create()</code>. This
-creates an object representing the specification. Then we
-use <code class="function">profile_spec::generate_file_list()</code>
-to search for all sample files and match them against the
-<code class="varname">profile_spec</code>.
-</p>
- <p>
-To enable this matching process to work, the attributes of
-each sample file is encoded in its filename. This is a low-tech
-approach to matching specifications against candidate sample
-files, but it works reasonably well. A typical sample file
-might look like these:
-</p>
- <table xmlns="" border="0" style="background: #E0E0E0;" width="90%">
- <tr>
- <td>
- <pre class="screen">
-/var/lib/oprofile/samples/current/{root}/bin/ls/{dep}/{root}/bin/ls/{cg}/{root}/bin/ls/CPU_CLK_UNHALTED.100000.0.all.all.all
-/var/lib/oprofile/samples/current/{root}/bin/ls/{dep}/{root}/bin/ls/CPU_CLK_UNHALTED.100000.0.all.all.all
-/var/lib/oprofile/samples/current/{root}/bin/ls/{dep}/{root}/bin/ls/CPU_CLK_UNHALTED.100000.0.7423.7424.0
-/var/lib/oprofile/samples/current/{kern}/r128/{dep}/{kern}/r128/CPU_CLK_UNHALTED.100000.0.all.all.all
-</pre>
- </td>
- </tr>
- </table>
- <p>
-This looks unnecessarily complex, but it's actually fairly simple. First
-we have the session of the sample, by default located here
-<code class="filename">/var/lib/oprofile/samples/current</code>. This location
-can be changed by specifying the --session-dir option at command-line.
-This session could equally well be inside an archive from <span><strong class="command">oparchive</strong></span>.
-Next we have one of the tokens <code class="filename">{root}</code> or
-<code class="filename">{kern}</code>. <code class="filename">{root}</code> indicates
-that the binary is found on a file system, and we will encode its path
-in the next section (e.g. <code class="filename">/bin/ls</code>).
-<code class="filename">{kern}</code> indicates a kernel module - on 2.6 kernels
-the path information is not available from the kernel, so we have to
-special-case kernel modules like this; we encode merely the name of the
-module as loaded.
-</p>
- <p>
-Next there is a <code class="filename">{dep}</code> token, indicating another
-token/path which identifies the dependent binary image. This is used even for
-the "primary" binary (i.e. the one that was
-<code class="function">execve()</code>d), as it simplifies processing. Finally,
-if this sample file is a normal flat profile, the actual file is next in
-the path. If it's a call-graph sample file, we need one further
-specification, to allow us to identify cross-binary arcs in the call
-graph.
-</p>
- <p>
-The actual sample file name is dot-separated, where the fields are, in
-order: event name, event count, unit mask, task group ID, task ID, and
-CPU number.
-</p>
- <p>
-This sample file can be reliably parsed (with
-<code class="function">parse_filename()</code>) into a
-<code class="varname">filename_spec</code>. Finally, we can check whether to
-include the sample file in the final results by comparing this
-<code class="varname">filename_spec</code> against the
-<code class="varname">profile_spec</code> the user specified (for the interested,
-see <code class="function">valid_candidate()</code> and
-<code class="function">profile_spec::match</code>). Then comes the really
-complicated bit...
-</p>
- </div>
- <div class="sect1" lang="en" xml:lang="en">
- <div class="titlepage">
- <div>
- <div>
- <h2 class="title" style="clear: both"><a id="sample-file-collating"></a>2. Collating the candidate sample files</h2>
- </div>
- </div>
- </div>
- <p>
-At this point we have a duplicate-free list of sample files we need
-to process. But first we need to do some further arrangement: we
-need to classify each sample file, and we may also need to "invert"
-the profiles.
-</p>
- <div class="sect2" lang="en" xml:lang="en">
- <div class="titlepage">
- <div>
- <div>
- <h3 class="title"><a id="sample-file-classifying"></a>2.1. Classifying sample files</h3>
- </div>
- </div>
- </div>
- <p>
-It's possible for utilities like <span><strong class="command">opreport</strong></span> to show
-data in columnar format: for example, we might want to show the results
-of two threads within a process side-by-side. To do this, we need
-to classify each sample file into classes - the classes correspond
-with each <span><strong class="command">opreport</strong></span> column. The function that handles
-this is <code class="function">arrange_profiles()</code>. Each sample file
-is added to a particular class. If the sample file is the first in
-its class, a template is generated from the sample file. Each template
-describes a particular class (thus, in our example above, each template
-will have a different thread ID, and this uniquely identifies each
-class).
-</p>
- <p>
-Each class has a list of "profile sets" matching that class's template.
-A profile set is either a profile of the primary binary image, or any of
-its dependent images. After all sample files have been listed in one of
-the profile sets belonging to the classes, we have to name each class and
-perform error-checking. This is done by
-<code class="function">identify_classes()</code>; each class is checked to ensure
-that its "axis" is the same as all the others. This is needed because
-<span><strong class="command">opreport</strong></span> can't produce results in 3D format: we can
-only differ in one aspect, such as thread ID or event name.
-</p>
- </div>
- <div class="sect2" lang="en" xml:lang="en">
- <div class="titlepage">
- <div>
- <div>
- <h3 class="title"><a id="sample-file-inverting"></a>2.2. Creating inverted profile lists</h3>
- </div>
- </div>
- </div>
- <p>
-Remember that if we're using certain profile separation options, such as
-"--separate=lib", a single binary could be a dependent image to many
-different binaries. For example, the C library image would be a
-dependent image for most programs that have been profiled. As it
-happens, this can cause severe performance problems: without some
-re-arrangement, these dependent binary images would be opened each
-time we need to process sample files for each program.
-</p>
- <p>
-The solution is to "invert" the profiles via
-<code class="function">invert_profiles()</code>. We create a new data structure
-where the dependent binary is first, and the primary binary images using
-that dependent binary are listed as sub-images. This helps our
-performance problem, as now we only need to open each dependent image
-once, when we process the list of inverted profiles.
-</p>
- </div>
- </div>
- <div class="sect1" lang="en" xml:lang="en">
- <div class="titlepage">
- <div>
- <div>
- <h2 class="title" style="clear: both"><a id="generating-profile-data"></a>3. Generating profile data</h2>
- </div>
- </div>
- </div>
- <p>
-Things don't get any simpler at this point, unfortunately. At this point
-we've collected and classified the sample files into the set of inverted
-profiles, as described in the previous section. Now we need to process
-each inverted profile and make something of the data. The entry point
-for this is <code class="function">populate_for_image()</code>.
-</p>
- <div class="sect2" lang="en" xml:lang="en">
- <div class="titlepage">
- <div>
- <div>
- <h3 class="title"><a id="bfd"></a>3.1. Processing the binary image</h3>
- </div>
- </div>
- </div>
- <p>
-The first thing we do with an inverted profile is attempt to open the
-binary image (remember each inverted profile set is only for one binary
-image, but may have many sample files to process). The
-<code class="varname">op_bfd</code> class provides an abstracted interface to
-this; internally it uses <code class="filename">libbfd</code>. The main purpose
-of this class is to process the symbols for the binary image; this is
-also where symbol filtering happens. This is actually quite tricky, but
-should be clear from the source.
-</p>
- </div>
- <div class="sect2" lang="en" xml:lang="en">
- <div class="titlepage">
- <div>
- <div>
- <h3 class="title"><a id="processing-sample-files"></a>3.2. Processing the sample files</h3>
- </div>
- </div>
- </div>
- <p>
-The class <code class="varname">profile_container</code> is a hold-all that
-contains all the processed results. It is a container of
-<code class="varname">profile_t</code> objects. The
-<code class="function">add_sample_files()</code> method uses
-<code class="filename">libdb</code> to open the given sample file and add the
-key/value types to the <code class="varname">profile_t</code>. Once this has been
-done, <code class="function">profile_container::add()</code> is passed the
-<code class="varname">profile_t</code> plus the <code class="varname">op_bfd</code> for
-processing.
-</p>
- <p>
-<code class="function">profile_container::add()</code> walks through the symbols
-collected in the <code class="varname">op_bfd</code>.
-<code class="function">op_bfd::get_symbol_range()</code> gives us the start and
-end of the symbol as an offset from the start of the binary image,
-then we interrogate the <code class="varname">profile_t</code> for the relevant samples
-for that offset range. We create a <code class="varname">symbol_entry</code>
-object for this symbol and fill it in. If needed, here we also collect
-debug information from the <code class="varname">op_bfd</code>, and possibly
-record the detailed sample information (as used by <span><strong class="command">opreport
--d</strong></span> and <span><strong class="command">opannotate</strong></span>).
-Finally the <code class="varname">symbol_entry</code> is added to
-a private container of <code class="varname">profile_container</code> - this
-<code class="varname">symbol_container</code> holds all such processed symbols.
-</p>
- </div>
- </div>
- <div class="sect1" lang="en" xml:lang="en">
- <div class="titlepage">
- <div>
- <div>
- <h2 class="title" style="clear: both"><a id="generating-output"></a>4. Generating output</h2>
- </div>
- </div>
- </div>
- <p>
-After the processing described in the previous section, we've now got
-full details of what we need to output stored in the
-<code class="varname">profile_container</code> on a symbol-by-symbol basis. To
-produce output, we need to replay that data and format it suitably.
-</p>
- <p>
-<span><strong class="command">opreport</strong></span> first asks the
-<code class="varname">profile_container</code> for a
-<code class="varname">symbol_collection</code> (this is also where thresholding
-happens).
-This is sorted, then a
-<code class="varname">opreport_formatter</code> is initialised.
-This object initialises a set of field formatters as requested. Then
-<code class="function">opreport_formatter::output()</code> is called. This
-iterates through the (sorted) <code class="varname">symbol_collection</code>;
-for each entry, the selected fields (as set by the
-<code class="varname">format_flags</code> options) are output by calling the
-field formatters, with the <code class="varname">symbol_entry</code> passed in.
-</p>
- </div>
- </div>
- <div class="chapter" lang="en" xml:lang="en">
- <div class="titlepage">
- <div>
- <div>
- <h2 class="title"><a id="ext"></a>Chapter 6. Extended Feature Interface</h2>
- </div>
- </div>
- </div>
- <div class="toc">
- <p>
- <b>Table of Contents</b>
- </p>
- <dl>
- <dt>
- <span class="sect1">
- <a href="#ext-intro">1. Introduction</a>
- </span>
- </dt>
- <dt>
- <span class="sect1">
- <a href="#ext-name-and-handlers">2. Feature Name and Handlers</a>
- </span>
- </dt>
- <dt>
- <span class="sect1">
- <a href="#ext-enable">3. Enabling Features</a>
- </span>
- </dt>
- <dt>
- <span class="sect1">
- <a href="#ext-types-of-handlers">4. Type of Handlers</a>
- </span>
- </dt>
- <dd>
- <dl>
- <dt>
- <span class="sect2">
- <a href="#ext_init">4.1. ext_init Handler</a>
- </span>
- </dt>
- <dt>
- <span class="sect2">
- <a href="#ext_print_stats">4.2. ext_print_stats Handler</a>
- </span>
- </dt>
- <dt>
- <span class="sect2">
- <a href="#ext_sfile_handlers">4.3. ext_sfile Handler</a>
- </span>
- </dt>
- </dl>
- </dd>
- <dt>
- <span class="sect1">
- <a href="#ext-implementation">5. Extended Feature Reference Implementation</a>
- </span>
- </dt>
- <dd>
- <dl>
- <dt>
- <span class="sect2">
- <a href="#ext-ibs">5.1. Instruction-Based Sampling (IBS)</a>
- </span>
- </dt>
- </dl>
- </dd>
- </dl>
- </div>
- <div class="sect1" lang="en" xml:lang="en">
- <div class="titlepage">
- <div>
- <div>
- <h2 class="title" style="clear: both"><a id="ext-intro"></a>1. Introduction</h2>
- </div>
- </div>
- </div>
- <p>
-The Extended Feature Interface is a standard callback interface
-designed to allow extension to the OProfile daemon's sample processing.
-Each feature defines a set of callback handlers which can be enabled or
-disabled through the OProfile daemon's command-line option.
-This interface can be used to implement support for architecture-specific
-features or features not commonly used by general OProfile users.
-</p>
- </div>
- <div class="sect1" lang="en" xml:lang="en">
- <div class="titlepage">
- <div>
- <div>
- <h2 class="title" style="clear: both"><a id="ext-name-and-handlers"></a>2. Feature Name and Handlers</h2>
- </div>
- </div>
- </div>
- <p>
-Each extended feature has an entry in the <code class="varname">ext_feature_table</code>
-in <code class="filename">opd_extended.cpp</code>. Each entry contains a feature name,
-and a corresponding set of handlers. Feature name is a unique string, which is
-used to identify a feature in the table. Each feature provides a set
-of handlers, which will be executed by the OProfile daemon from pre-determined
-locations to perform certain tasks. At runtime, the OProfile daemon calls a feature
-handler wrapper from one of the predetermined locations to check whether
-an extended feature is enabled, and whether a particular handler exists.
-Only the handlers of the enabled feature will be executed.
-</p>
- </div>
- <div class="sect1" lang="en" xml:lang="en">
- <div class="titlepage">
- <div>
- <div>
- <h2 class="title" style="clear: both"><a id="ext-enable"></a>3. Enabling Features</h2>
- </div>
- </div>
- </div>
- <p>
-Each feature is enabled using the OProfile daemon (oprofiled) command-line
-option "--ext-feature=&lt;extended-feature-name&gt;:[args]". The
-"extended-feature-name" is used to determine the feature to be enabled.
-The optional "args" is passed into the feature-specific initialization handler
-(<code class="function">ext_init</code>). Currently, only one extended feature can be
-enabled at a time.
-</p>
- </div>
- <div class="sect1" lang="en" xml:lang="en">
- <div class="titlepage">
- <div>
- <div>
- <h2 class="title" style="clear: both"><a id="ext-types-of-handlers"></a>4. Type of Handlers</h2>
- </div>
- </div>
- </div>
- <p>
-Each feature is responsible for providing its own set of handlers.
-Types of handler are:
-</p>
- <div class="sect2" lang="en" xml:lang="en">
- <div class="titlepage">
- <div>
- <div>
- <h3 class="title"><a id="ext_init"></a>4.1. ext_init Handler</h3>
- </div>
- </div>
- </div>
- <p>
-"ext_init" handles initialization of an extended feature. It takes
-"args" parameter which is passed in through the "oprofiled --ext-feature=&lt;
-extended-feature-name&gt;:[args]". This handler is executed in the function
-<code class="function">opd_options()</code> in the file <code class="filename">daemon/oprofiled.c
-</code>.
-</p>
- <div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
- <h3 class="title">Note</h3>
- <p>
-The ext_init handler is required for all features.
-</p>
- </div>
- </div>
- <div class="sect2" lang="en" xml:lang="en">
- <div class="titlepage">
- <div>
- <div>
- <h3 class="title"><a id="ext_print_stats"></a>4.2. ext_print_stats Handler</h3>
- </div>
- </div>
- </div>
- <p>
-"ext_print_stats" handles the extended feature statistics report. It adds
-a new section in the OProfile daemon statistics report, which is normally
-outputed to the file
-<code class="filename">/var/lib/oprofile/samples/oprofiled.log</code>.
-This handler is executed in the function <code class="function">opd_print_stats()</code>
-in the file <code class="filename">daemon/opd_stats.c</code>.
-</p>
- </div>
- <div class="sect2" lang="en" xml:lang="en">
- <div class="titlepage">
- <div>
- <div>
- <h3 class="title"><a id="ext_sfile_handlers"></a>4.3. ext_sfile Handler</h3>
- </div>
- </div>
- </div>
- <p>
-"ext_sfile" contains a set of handlers related to operations on the extended
-sample files (sample files for events related to extended feature).
-These operations include <code class="function">create_sfile()</code>,
-<code class="function">sfile_dup()</code>, <code class="function">close_sfile()</code>,
-<code class="function">sync_sfile()</code>, and <code class="function">get_file()</code>
-as defined in <code class="filename">daemon/opd_sfile.c</code>.
-An additional field, <code class="varname">odb_t * ext_file</code>, is added to the
-<code class="varname">struct sfile</code> for storing extended sample files
-information.
-
-</p>
- </div>
- </div>
- <div class="sect1" lang="en" xml:lang="en">
- <div class="titlepage">
- <div>
- <div>
- <h2 class="title" style="clear: both"><a id="ext-implementation"></a>5. Extended Feature Reference Implementation</h2>
- </div>
- </div>
- </div>
- <div class="sect2" lang="en" xml:lang="en">
- <div class="titlepage">
- <div>
- <div>
- <h3 class="title"><a id="ext-ibs"></a>5.1. Instruction-Based Sampling (IBS)</h3>
- </div>
- </div>
- </div>
- <p>
-An example of extended feature implementation can be seen by
-examining the AMD Instruction-Based Sampling support.
-</p>
- <div class="sect3" lang="en" xml:lang="en">
- <div class="titlepage">
- <div>
- <div>
- <h4 class="title"><a id="ibs-init"></a>5.1.1. IBS Initialization</h4>
- </div>
- </div>
- </div>
- <p>
-Instruction-Based Sampling (IBS) is a new performance measurement technique
-available on AMD Family 10h processors. Enabling IBS profiling is done simply
-by specifying IBS performance events through the "--event=" options.
-</p>
- <table xmlns="" border="0" style="background: #E0E0E0;" width="90%">
- <tr>
- <td>
- <pre class="screen">
-opcontrol --event=IBS_FETCH_XXX:&lt;count&gt;:&lt;um&gt;:&lt;kernel&gt;:&lt;user&gt;
-opcontrol --event=IBS_OP_XXX:&lt;count&gt;:&lt;um&gt;:&lt;kernel&gt;:&lt;user&gt;
-
-Note: * Count and unitmask for all IBS fetch events must be the same,
- as do those for IBS op.
-</pre>
- </td>
- </tr>
- </table>
- <p>
-IBS performance events are listed in <code class="function">opcontrol --list-events</code>.
-When users specify these events, opcontrol verifies them using ophelp, which
-checks for the <code class="varname">ext:ibs_fetch</code> or <code class="varname">ext:ibs_op</code>
-tag in <code class="filename">events/x86-64/family10/events</code> file.
-Then, it configures the driver interface (/dev/oprofile/ibs_fetch/... and
-/dev/oprofile/ibs_op/...) and starts the OProfile daemon as follows.
-</p>
- <table xmlns="" border="0" style="background: #E0E0E0;" width="90%">
- <tr>
- <td>
- <pre class="screen">
-oprofiled \
- --ext-feature=ibs:\
- fetch:&lt;IBS_FETCH_EVENT1&gt;,&lt;IBS_FETCH_EVENT2&gt;,...,:&lt;IBS fetch count&gt;:&lt;IBS Fetch um&gt;|\
- op:&lt;IBS_OP_EVENT1&gt;,&lt;IBS_OP_EVENT2&gt;,...,:&lt;IBS op count&gt;:&lt;IBS op um&gt;
-</pre>
- </td>
- </tr>
- </table>
- <p>
-Here, the OProfile daemon parses the <code class="varname">--ext-feature</code>
-option and checks the feature name ("ibs") before calling the
-the initialization function to handle the string
-containing IBS events, counts, and unitmasks.
-Then, it stores each event in the IBS virtual-counter table
-(<code class="varname">struct opd_event ibs_vc[OP_MAX_IBS_COUNTERS]</code>) and
-stores the event index in the IBS Virtual Counter Index (VCI) map
-(<code class="varname">ibs_vci_map[OP_MAX_IBS_COUNTERS]</code>) with IBS event value
-as the map key.
-</p>
- </div>
- <div class="sect3" lang="en" xml:lang="en">
- <div class="titlepage">
- <div>
- <div>
- <h4 class="title"><a id="ibs-data-processing"></a>5.1.2. IBS Data Processing</h4>
- </div>
- </div>
- </div>
- <p>
-During a profile session, the OProfile daemon identifies IBS samples in the
-event buffer using the <code class="varname">"IBS_FETCH_CODE"</code> or
-<code class="varname">"IBS_OP_CODE"</code>. These codes trigger the handlers
-<code class="function">code_ibs_fetch_sample()</code> or
-<code class="function">code_ibs_op_sample()</code> listed in the
-<code class="varname">handler_t handlers[]</code> vector in
-<code class="filename">daemon/opd_trans.c </code>. These handlers are responsible for
-processing IBS samples and translate them into IBS performance events.
-</p>
- <p>
-Unlike traditional performance events, each IBS sample can be derived into
-multiple IBS performance events. For each event that the user specifies,
-a combination of bits from Model-Specific Registers (MSR) are checked
-against the bitmask defining the event. If the condition is met, the event
-will then be recorded. The derivation logic is in the files
-<code class="filename">daemon/opd_ibs_macro.h</code> and
-<code class="filename">daemon/opd_ibs_trans.[h,c]</code>.
-</p>
- </div>
- <div class="sect3" lang="en" xml:lang="en">
- <div class="titlepage">
- <div>
- <div>
- <h4 class="title"><a id="ibs-sample-file"></a>5.1.3. IBS Sample File</h4>
- </div>
- </div>
- </div>
- <p>
-Traditionally, sample file information <code class="varname">(odb_t)</code> is stored
-in the <code class="varname">struct sfile::odb_t file[OP_MAX_COUNTER]</code>.
-Currently, <code class="varname">OP_MAX_COUNTER</code> is 8 on non-alpha, and 20 on
-alpha-based system. Event index (the counter number on which the event
-is configured) is used to access the corresponding entry in the array.
-Unlike the traditional performance event, IBS does not use the actual
-counter registers (i.e. <code class="filename">/dev/oprofile/0,1,2,3</code>).
-Also, the number of performance events generated by IBS could be larger than
-<code class="varname">OP_MAX_COUNTER</code> (currently upto 13 IBS-fetch and 46 IBS-op
-events). Therefore IBS requires a special data structure and sfile
-handlers (<code class="varname">struct opd_ext_sfile_handlers</code>) for managing
-IBS sample files. IBS-sample-file information is stored in a memory
-allocated by handler <code class="function">ibs_sfile_create()</code>, which can
-be accessed through <code class="varname">struct sfile::odb_t * ext_files</code>.
-</p>
- </div>
- </div>
- </div>
- </div>
- <div class="glossary">
- <div class="titlepage">
- <div>
- <div>
- <h2 class="title"><a id="glossary"></a>Glossary of OProfile source concepts and types</h2>
- </div>
- </div>
- </div>
- <dl>
- <dt>application image</dt>
- <dd>
- <p>
-The primary binary image used by an application. This is derived
-from the kernel and corresponds to the binary started upon running
-an application: for example, <code class="filename">/bin/bash</code>.
-</p>
- </dd>
- <dt>binary image</dt>
- <dd>
- <p>
-An ELF file containing executable code: this includes kernel modules,
-the kernel itself (a.k.a. <code class="filename">vmlinux</code>), shared libraries,
-and application binaries.
-</p>
- </dd>
- <dt>dcookie</dt>
- <dd>
- <p>
-Short for "dentry cookie". A unique ID that can be looked up to provide
-the full path name of a binary image.
-</p>
- </dd>
- <dt>dependent image</dt>
- <dd>
- <p>
-A binary image that is dependent upon an application, used with
-per-application separation. Most commonly, shared libraries. For example,
-if <code class="filename">/bin/bash</code> is running and we take
-some samples inside the C library itself due to <span><strong class="command">bash</strong></span>
-calling library code, then the image <code class="filename">/lib/libc.so</code>
-would be dependent upon <code class="filename">/bin/bash</code>.
-</p>
- </dd>
- <dt>merging</dt>
- <dd>
- <p>
-This refers to the ability to merge several distinct sample files
-into one set of data at runtime, in the post-profiling tools. For example,
-per-thread sample files can be merged into one set of data, because
-they are compatible (i.e. the aggregation of the data is meaningful),
-but it's not possible to merge sample files for two different events,
-because there would be no useful meaning to the results.
-</p>
- </dd>
- <dt>profile class</dt>
- <dd>
- <p>
-A collection of profile data that has been collected under the same
-class template. For example, if we're using <span><strong class="command">opreport</strong></span>
-to show results after profiling with two performance counters enabled
-profiling <code class="constant">DATA_MEM_REFS</code> and <code class="constant">CPU_CLK_UNHALTED</code>,
-there would be two profile classes, one for each event. Or if we're on
-an SMP system and doing per-cpu profiling, and we request
-<span><strong class="command">opreport</strong></span> to show results for each CPU side-by-side,
-there would be a profile class for each CPU.
-</p>
- </dd>
- <dt>profile specification</dt>
- <dd>
- <p>
-The parameters the user passes to the post-profiling tools that limit
-what sample files are used. This specification is matched against
-the available sample files to generate a selection of profile data.
-</p>
- </dd>
- <dt>profile template</dt>
- <dd>
- <p>
-The parameters that define what goes in a particular profile class.
-This includes a symbolic name (e.g. "cpu:1") and the code-usable
-equivalent.
-</p>
- </dd>
- </dl>
- </div>
- </div>
- </body>
-</html>
diff --git a/doc/op-jit-devel.html b/doc/op-jit-devel.html
deleted file mode 100644
index cd61102..0000000
--- a/doc/op-jit-devel.html
+++ /dev/null
@@ -1,455 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
- <title>OProfile JIT agent developer guide</title>
- <meta name="generator" content="DocBook XSL Stylesheets V1.69.1" />
- </head>
- <body>
- <div class="book" lang="en" xml:lang="en">
- <div class="titlepage">
- <div>
- <div>
- <h1 class="title"><a id="oprofile-devel-guide"></a>OProfile JIT agent developer guide</h1>
- </div>
- <div>
- <div class="authorgroup">
- <div class="author">
- <h3 class="author"><span class="firstname">Maynard</span> <span class="surname">Johnson</span></h3>
- <div class="affiliation">
- <div class="address">
- <p>
- <code class="email">&lt;<a href="mailto:maynardj@us.ibm.com">maynardj@us.ibm.com</a>&gt;</code>
- </p>
- </div>
- </div>
- </div>
- </div>
- </div>
- <div>
- <p class="copyright">Copyright © 2007 IBM Corporation</p>
- </div>
- </div>
- <hr />
- </div>
- <div class="toc">
- <p>
- <b>Table of Contents</b>
- </p>
- <dl>
- <dt>
- <span class="chapter">
- <a href="#developing">1. Developing a new JIT agent</a>
- </span>
- </dt>
- <dd>
- <dl>
- <dt>
- <span class="sect1">
- <a href="#jit-devel-overview">1. Overview</a>
- </span>
- </dt>
- <dt>
- <span class="sect1">
- <a href="#jit-interface">2. Implementing JIT support for a new virtual machine</a>
- </span>
- </dt>
- </dl>
- </dd>
- <dt>
- <span class="chapter">
- <a href="#jit-api">2. The JIT support API</a>
- </span>
- </dt>
- <dd>
- <dl>
- <dt>
- <span class="sect1">
- <a href="#op_open_agent">1. op_open_agent</a>
- </span>
- </dt>
- <dt>
- <span class="sect1">
- <a href="#op_close_agent">2. op_close_agent</a>
- </span>
- </dt>
- <dt>
- <span class="sect1">
- <a href="#op_write_native_code">3. op_write_native_code</a>
- </span>
- </dt>
- <dt>
- <span class="sect1">
- <a href="#op_write_debug_line_info">4. op_write_debug_line_info</a>
- </span>
- </dt>
- <dt>
- <span class="sect1">
- <a href="#op_unload_native_code">5. op_unload_native_code</a>
- </span>
- </dt>
- </dl>
- </dd>
- </dl>
- </div>
- <div class="chapter" lang="en" xml:lang="en">
- <div class="titlepage">
- <div>
- <div>
- <h2 class="title"><a id="developing"></a>Chapter 1. Developing a new JIT agent</h2>
- </div>
- </div>
- </div>
- <div class="toc">
- <p>
- <b>Table of Contents</b>
- </p>
- <dl>
- <dt>
- <span class="sect1">
- <a href="#jit-devel-overview">1. Overview</a>
- </span>
- </dt>
- <dt>
- <span class="sect1">
- <a href="#jit-interface">2. Implementing JIT support for a new virtual machine</a>
- </span>
- </dt>
- </dl>
- </div>
- <p>
- OProfile includes a header file and library that are intended to be used by
- developers who wish to extend OProfile's JIT support to other non-supported
- virtual machines. This developer guide describes these development files and how
- to use them.
- </p>
- <div class="sect1" lang="en" xml:lang="en">
- <div class="titlepage">
- <div>
- <div>
- <h2 class="title" style="clear: both"><a id="jit-devel-overview"></a>1. Overview</h2>
- </div>
- </div>
- </div>
- <p>
- OProfile already includes some implementations that use the JIT support,
- e.g., the Java Virtual Machine Toolkit Interface (JVMTI) library,
- libjvmti_oprofile.so. In developing a new implementation, you will
- likely follow a similar (if not identical) procedure as was used in
- developing the JVMTI library. Following are the high level steps to follow:
- </p>
- <div class="orderedlist">
- <ol type="1">
- <li>Ensure your virtual machine provides an API that, at minimum,
- can provide the following information about dynamically compiled code:
- <div class="itemizedlist"><ul type="disc"><li>Notification when compilation occurs</li><li>Name of the symbol (i.e., function or class/method, etc.)</li><li>Address in anonymous memory where the compiled code was loaded</li><li>Length of the compiled code segment</li></ul></div></li>
- <li>Write an agent library that communicates with your VM to obtain
- compiled code notifications. Invoke the required functions from opagent.h
- (<a href="#jit-interface" title="2. Implementing JIT support for a new virtual machine">Section 2, &#8220;Implementing JIT support for a new virtual machine&#8221;</a>) and link your library with libopagent.so
- (installed at <code class="filename">&lt;oprofile_install_dir&gt;/lib/oprofile</code>).
- </li>
- </ol>
- </div>
- <p>
-
- </p>
- </div>
- <div class="sect1" lang="en" xml:lang="en">
- <div class="titlepage">
- <div>
- <div>
- <h2 class="title" style="clear: both"><a id="jit-interface"></a>2. Implementing JIT support for a new virtual machine</h2>
- </div>
- </div>
- </div>
- <p>
- The JIT support API for OProfile is defined
- in <code class="filename">&lt;oprofile-install-dir&gt;/include/opagent.h</code>.
- Some parts of the API are mandatory for an agent library to use; other
- parts are optional. The mandatory functions are shown below.
- </p>
- <table xmlns="" border="0" style="background: #E0E0E0;" width="90%">
- <tr>
- <td>
- <pre class="screen">
-op_agent_t op_open_agent(void);
-
-void op_close_agent(op_agent_t hdl);
-
-int op_write_native_code(op_agent_t hdl, char const * symbol_name,
- uint64_t vma, const void * code,
- const unsigned int code_size);
-</pre>
- </td>
- </tr>
- </table>
- <p>
- To implement this part of your library, you must perform the
- following steps:
- </p>
- <div class="orderedlist">
- <ol type="1">
- <li>Implement a function to set up initial communication with the VM.
- Once communication to the VM is established, your agent library should call
- <code class="function">op_op_agent()</code> and cache the returned <code class="code">op_agent_t</code> handle for use in
- future calls.</li>
- <li>Perform any necessary steps to register with the VM to be notified of
- compiled code load events. Registration must include a callback function you
- will implement in the library to handle the compiled code load events.</li>
- <li>The callback function mentioned above must obtain all required
- information from the VM to pass to libopagent via <code class="function">op_write_native_code()</code>.</li>
- <li>When disconnecting from the VM, your library should call
- <code class="function">op_agent_close()</code>.</li>
- </ol>
- </div>
- <p>
- </p>
- <p>Use of the functions below are optional, depending on the kinds of information your VM
- can provide to your agent library. See the JVMTI agent library for an example of how to use
- these functions.
-</p>
- <table xmlns="" border="0" style="background: #E0E0E0;" width="90%">
- <tr>
- <td>
- <pre class="screen">
-int op_unload_native_code(op_agent_t hdl, uint64_t vma);
-
-int op_write_debug_line_info(op_agent_t hdl, void const * code,
- size_t nr_entry,
- struct debug_line_info const * compile_map);
-</pre>
- </td>
- </tr>
- </table>
- <p>
- </p>
- <div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3>While the libopagent functions are thread-safe, you should not use them in
- signal handlers.
- </div>
- </div>
- </div>
- <div class="chapter" lang="en" xml:lang="en">
- <div class="titlepage">
- <div>
- <div>
- <h2 class="title"><a id="jit-api"></a>Chapter 2. The JIT support API</h2>
- </div>
- </div>
- </div>
- <div class="toc">
- <p>
- <b>Table of Contents</b>
- </p>
- <dl>
- <dt>
- <span class="sect1">
- <a href="#op_open_agent">1. op_open_agent</a>
- </span>
- </dt>
- <dt>
- <span class="sect1">
- <a href="#op_close_agent">2. op_close_agent</a>
- </span>
- </dt>
- <dt>
- <span class="sect1">
- <a href="#op_write_native_code">3. op_write_native_code</a>
- </span>
- </dt>
- <dt>
- <span class="sect1">
- <a href="#op_write_debug_line_info">4. op_write_debug_line_info</a>
- </span>
- </dt>
- <dt>
- <span class="sect1">
- <a href="#op_unload_native_code">5. op_unload_native_code</a>
- </span>
- </dt>
- </dl>
- </div>
- <p>
- This chapter describes the JIT support API. See opagent.h for more details.
- </p>
- <div class="sect1" lang="en" xml:lang="en">
- <div class="titlepage">
- <div>
- <div>
- <h2 class="title" style="clear: both"><a id="op_open_agent"></a>1. op_open_agent</h2>
- </div>
- </div>
- </div>
- <div class="funcsynopsis">Initializes the agent library.
-<pre class="funcsynopsisinfo">#include &lt;opagent.h&gt;</pre><p><code class="funcdef">op_agent_t <b class="fsfunc">op_open_agent</b>(</code><code>)</code>;<br />void;</p></div>
- <div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Description</h3>
-This function must be called by agents before any other function.
-Creates and opens a JIT dump file in <code class="filename">/var/lib/oprofile/jitdump</code>
-using the naming convention <code class="filename">&lt;process_id&gt;.dump</code>.
-</div>
- <div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Parameters</h3>
-None
-</div>
- <div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
- <h3 class="title">Return value</h3>
- <p>Returns a valid <code class="code">op_agent_t</code> handle or NULL.
-If NULL is returned, <code class="code">errno</code> is set to indicate the nature of the error. For a list
-of possible <code class="code">errno</code> values, see the man pages for:</p>
- <code class="code">
-stat, creat, gettimeofday, fdopen, fwrite
-</code>
- </div>
- </div>
- <div class="sect1" lang="en" xml:lang="en">
- <div class="titlepage">
- <div>
- <div>
- <h2 class="title" style="clear: both"><a id="op_close_agent"></a>2. op_close_agent</h2>
- </div>
- </div>
- </div>
- <div class="funcsynopsis">Uninitialize the agent library.
-<pre class="funcsynopsisinfo">#include &lt;opagent.h&gt;</pre><p><code class="funcdef">int <b class="fsfunc">op_close_agent</b>(</code><var class="pdparam">hdl</var><code>)</code>;<br />op_agent_t <var class="pdparam">hdl</var>;</p></div>
- <div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Description</h3>
-Frees all resources and closes open file handles.
-</div>
- <div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Parameters</h3><em class="parameter"><code>hdl : </code></em>Handle returned from an earlier call to
-<code class="function">op_open_agent()</code></div>
- <div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
- <h3 class="title">Return value</h3>
- <p>Returns 0 on success; -1 otherwise. If -1 is returned, <code class="code">errno</code> is set
-to indicate the nature of the error.
-<code class="code">errno</code> is set to EINVAL if an invalid <code class="code">op_agent_t</code>
-handle is passed. For a list of other possible <code class="code">errno</code> values, see the man pages for:</p>
- <code class="code">gettimeofday, fwrite</code>
- </div>
- </div>
- <div class="sect1" lang="en" xml:lang="en">
- <div class="titlepage">
- <div>
- <div>
- <h2 class="title" style="clear: both"><a id="op_write_native_code"></a>3. op_write_native_code</h2>
- </div>
- </div>
- </div>
- <div class="funcsynopsis">Write information about compiled code to a JIT dump file.
-<pre class="funcsynopsisinfo">#include &lt;opagent.h&gt;</pre><table border="0" summary="Function synopsis" cellspacing="0" cellpadding="0" style="padding-bottom: 1em"><tr><td><code class="funcdef">int <b class="fsfunc">op_write_native_code</b>(</code></td><td><var class="pdparam">hdl</var>, </td><td> </td></tr><tr><td> </td><td><var class="pdparam">symbol_name</var>, </td><td> </td></tr><tr><td> </td><td><var class="pdparam">vma</var>, </td><td> </td></tr><tr><td> </td><td><var class="pdparam">code</var>, </td><td> </td></tr><tr><td> </td><td><var class="pdparam">code_size</var><code>)</code>;</td><td> </td></tr></table><table border="0" summary="Function argument synopsis" cellspacing="0" cellpadding="0"><tr><td>op_agent_t </td><td><var class="pdparam">hdl</var>;</td></tr><tr><td>char const * </td><td><var class="pdparam">symbol_name</var>;</td></tr><tr><td>uint64_t </td><td><var class="pdparam">vma</var>;</td></tr><tr><td>void const * </td><td><var class="pdparam">code</var>;</td></tr><tr><td>const unsigned int </td><td><var class="pdparam">code_size</var>;</td></tr></table></div>
- <div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Description</h3>
-Signal the dynamic generation of native code from a virtual machine.
-Writes a JIT dump record to the open JIT dump file using the passed information.
-</div>
- <div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
- <h3 class="title">Parameters</h3>
- <p>
-<em class="parameter"><code>hdl : </code></em>Handle returned from an earlier call to
-<code class="function">op_open_agent()</code>
-</p>
- <p>
-<em class="parameter"><code>symbol_name : </code></em>The name of the symbol being dynamically compiled.
- This name can (and should) contain all necessary information to disambiguate it from
- symbols of the same name; e.g., class, method signature.
-</p>
- <p>
-<em class="parameter"><code>vma : </code></em>Virtual memory address of the executable code
-</p>
- <p>
-<em class="parameter"><code>code : </code></em>Pointer to the location of the compiled code.
- Theoretically, this may be a different location from
- that given by the vma argument. For some JIT compilers,
- obtaining the code may be impractical. For this (or any other)
- reason, the agent can choose to pass NULL for this paraemter.
- If NULL is passed, no code will be copied into the JIT dump
- file.
-</p>
- <p>
-<em class="parameter"><code>code_size : </code></em>Size of the compiled code
-</p>
- </div>
- <div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
- <h3 class="title">Return value</h3>
- <p>Returns 0 on success; -1 otherwise. If -1 is returned, <code class="code">errno</code> is set
-to indicate the nature of the error.
-<code class="code">errno</code> is set to EINVAL if an invalid <code class="code">op_agent_t</code>
-handle is passed. For a list of other possible <code class="code">errno</code> values, see the man pages for:</p>
- <code class="code">gettimeofday, fwrite</code>
- </div>
- </div>
- <div class="sect1" lang="en" xml:lang="en">
- <div class="titlepage">
- <div>
- <div>
- <h2 class="title" style="clear: both"><a id="op_write_debug_line_info"></a>4. op_write_debug_line_info</h2>
- </div>
- </div>
- </div>
- <div class="funcsynopsis">Write debug information about compiled code to a JIT dump file.
-<pre class="funcsynopsisinfo">#include &lt;opagent.h&gt;</pre><table border="0" summary="Function synopsis" cellspacing="0" cellpadding="0" style="padding-bottom: 1em"><tr><td><code class="funcdef">int <b class="fsfunc">op_write_debug_line_info</b>(</code></td><td><var class="pdparam">hdl</var>, </td><td> </td></tr><tr><td> </td><td><var class="pdparam">code</var>, </td><td> </td></tr><tr><td> </td><td><var class="pdparam">nr_entry</var>, </td><td> </td></tr><tr><td> </td><td><var class="pdparam">compile_map</var><code>)</code>;</td><td> </td></tr></table><table border="0" summary="Function argument synopsis" cellspacing="0" cellpadding="0"><tr><td>op_agent_t </td><td><var class="pdparam">hdl</var>;</td></tr><tr><td>void const * </td><td><var class="pdparam">code</var>;</td></tr><tr><td>size_t </td><td><var class="pdparam">nr_entry</var>;</td></tr><tr><td>struct debug_line_info const * </td><td><var class="pdparam">compile_map</var>;</td></tr></table></div>
- <div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Description</h3>
-Add debug line information to a piece of code. An <code class="function">op_write_native_code()</code>
-with the same code pointer should have occurred before this call. It's not
-necessary to provide one lineno information entry per machine instruction;
-the array can contain hole.
-</div>
- <div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
- <h3 class="title">Parameters</h3>
- <p>
-<em class="parameter"><code>hdl : </code></em>Handle returned from an earlier call to
-<code class="function">op_open_agent()</code>
-</p>
- <p>
-<em class="parameter"><code>code : </code></em>Pointer to the location of the code with debug info
-</p>
- <p>
-<em class="parameter"><code>nr_entry : </code></em>Number of entries in compile_map
-</p>
- <p>
-<em class="parameter"><code>compile_map : </code></em>Array of struct debug_line_info. See the JVMTI agent
-library implementation for an example of what information should be retrieved
-from a VM to fill out this data structure.
-</p>
- </div>
- <div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
- <h3 class="title">Return value</h3>
- <p>Returns 0 on success; -1 otherwise. If -1 is returned, <code class="code">errno</code> is set
-to indicate the nature of the error.
-<code class="code">errno</code> is set to EINVAL if an invalid <code class="code">op_agent_t</code>
-handle is passed. For a list of other possible <code class="code">errno</code> values, see the man pages for:</p>
- <code class="code">gettimeofday, ftell, fwrite</code>
- </div>
- </div>
- <div class="sect1" lang="en" xml:lang="en">
- <div class="titlepage">
- <div>
- <div>
- <h2 class="title" style="clear: both"><a id="op_unload_native_code"></a>5. op_unload_native_code</h2>
- </div>
- </div>
- </div>
- <div class="funcsynopsis">Write information to the JIT dump file about invalidated compiled code.
-<pre class="funcsynopsisinfo">#include &lt;opagent.h&gt;</pre><table border="0" summary="Function synopsis" cellspacing="0" cellpadding="0" style="padding-bottom: 1em"><tr><td><code class="funcdef">int <b class="fsfunc">op_unload_native_code</b>(</code></td><td><var class="pdparam">hdl</var>, </td><td> </td></tr><tr><td> </td><td><var class="pdparam">vma</var><code>)</code>;</td><td> </td></tr></table><table border="0" summary="Function argument synopsis" cellspacing="0" cellpadding="0"><tr><td>op_agent_t </td><td><var class="pdparam">hdl</var>;</td></tr><tr><td>uint64_t </td><td><var class="pdparam">vma</var>;</td></tr></table></div>
- <div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Description</h3>
-Signal the invalidation of native code from a virtual machine.</div>
- <div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
- <h3 class="title">Parameters</h3>
- <p>
-<em class="parameter"><code>hdl : </code></em>Handle returned from an earlier call to
-<code class="function">op_open_agent()</code>
-</p>
- <p>
-<em class="parameter"><code>vma : </code></em>Virtual memory address of the compiled code being unloaded.
-An <code class="function">op_write_native_code()</code> with the same vma should have occurred before this call.
-</p>
- </div>
- <div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
- <h3 class="title">Return value</h3>
- <p>Returns 0 on success; -1 otherwise. If -1 is returned, <code class="code">errno</code> is set
-to indicate the nature of the error.
-<code class="code">errno</code> is set to EINVAL if an invalid <code class="code">op_agent_t</code>
-handle is passed. For a list of other possible <code class="code">errno</code> values, see the man pages for:</p>
- <code class="code">gettimeofday, fwrite</code>
- </div>
- </div>
- </div>
- </div>
- </body>
-</html>
diff --git a/doc/opcontrol.1.in b/doc/opcontrol.1.in
index b9cf61e..5a78aa6 100644
--- a/doc/opcontrol.1.in
+++ b/doc/opcontrol.1.in
@@ -80,20 +80,24 @@ Use sample database out of directory dir_path instead of the default location (/
.br
.TP
.BI "--buffer-size="num
-Set kernel buffer to num samples. When using a 2.6 kernel buffer watershed need
+Set kernel buffer to num samples. When using a 2.6 kernel, buffer watershed needs
to be tweaked when changing this value.
+Rules: A non-zero value goes into effect after a '--shutdown/start' sequence.
+A value of zero sets this parameter back to default value, but does not go into
+effect until after '--deinit/init' sequence.
.br
.TP
.BI "--buffer-watershed="num
-Set kernel buffer watershed to num samples (2.6 only). When it'll remain only
-buffer-size - buffer-watershed free entry in the kernel buffer data will be
-flushed to daemon, most usefull value are in the range [0.25 - 0.5] * buffer-size.
+Set kernel buffer watershed to num samples (2.6 only). When
+buffer-size - buffer-watershed free entries remain in the kernel buffer, data will be
+flushed to the daemon. Most useful values are in the range [0.25 - 0.5] * buffer-size.
+Same rules as defined for buffer-size.
.br
.TP
.BI "--cpu-buffer-size="num
Set kernel per cpu buffer to num samples (2.6 only). If you profile at high
rate it can help to increase this if the log file show excessive count of
-sample lost cpu buffer overflow.
+sample lost cpu buffer overflow. Same rules as defined for buffer-size.
.br
.TP
.BI "--event="[event|"default"]
diff --git a/doc/ophelp.xsd b/doc/ophelp.xsd
new file mode 100644
index 0000000..9bd7f82
--- /dev/null
+++ b/doc/ophelp.xsd
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xs:schema
+ xmlns:xs="http://www.w3.org/2001/XMLSchema">
+ <xs:element name="help_events">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="1" maxOccurs="1" ref="header"/>
+ <xs:element minOccurs="1" maxOccurs="unbounded" ref="event"/>
+ </xs:sequence>
+ <!-- integer part of schemaversion should changes for major schema -->
+ <xs:attribute name="schemaversion" use="required">
+ <xs:simpleType>
+ <xs:restriction base = "xs:string">
+ <xs:pattern value = "1\.[0-9]+"/>
+ </xs:restriction>
+ </xs:simpleType> </xs:attribute>
+ </xs:complexType>
+ </xs:element>
+
+ <xs:element name="header">
+ <xs:complexType>
+ <xs:attribute name="title" type="xs:string" use="required"/>
+ <xs:attribute name="doc" type="xs:string" use="optional"/>
+ </xs:complexType>
+ </xs:element>
+
+ <xs:element name="event">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" maxOccurs="1" ref="unit_masks"/>
+ </xs:sequence>
+ <xs:attribute name="event_name" type="xs:string" use="required"/>
+ <xs:attribute name="group" type="xs:nonNegativeInteger" use="optional"/>
+ <xs:attribute name="counter_mask" type="xs:nonNegativeInteger" use="required"/>
+ <xs:attribute name="min_count" type="xs:nonNegativeInteger" use="required"/>
+ <xs:attribute name="desc" type="xs:string" use="required"/>
+ </xs:complexType>
+ </xs:element>
+
+ <xs:element name="unit_masks">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="1" maxOccurs="unbounded" ref="unit_mask"/>
+ </xs:sequence>
+ <xs:attribute name="default" type="xs:nonNegativeInteger" use="required"/>
+ <xs:attribute name="category" type="xs:string" use="required"/>
+ </xs:complexType>
+ </xs:element>
+
+ <xs:element name="unit_mask">
+ <xs:complexType>
+ <xs:attribute name="mask" type="xs:nonNegativeInteger" use="required"/>
+ <xs:attribute name="desc" type="xs:string" use="required"/>
+ </xs:complexType>
+ </xs:element>
+</xs:schema>
+
diff --git a/doc/oprofile.1 b/doc/oprofile.1
deleted file mode 100644
index 9c6cbb1..0000000
--- a/doc/oprofile.1
+++ /dev/null
@@ -1,193 +0,0 @@
-.TH OPROFILE 1 "Tue 24 November 2009" "oprofile 0.9.6"
-.UC 4
-.SH NAME
-oprofile \- a system-wide profiler
-.SH SYNOPSIS
-.br
-.B opcontrol
-[
-.I options
-]
-.br
-.B opreport
-[
-.I options
-]
-[ profile specification ]
-.br
-.B opannotate
-[
-.I options
-]
-[ profile specification ]
-.br
-.B oparchive
-[
-.I options
-]
-[ profile specification ]
-.br
-.B opgprof
-[
-.I options
-]
-[ profile specification ]
-.br
-.SH DESCRIPTION
-OProfile is a profiling system for systems running Linux
-2.2, 2.4, and 2.6. Profiling runs transparently in the background and profile
-data can be collected at any time. OProfile makes use of the hardware
-performance counters provided on Intel, AMD, and other processors,
-and uses a timer-interrupt based mechanism on CPUs without counters.
-OProfile can profile the whole system in high detail.
-.br
-For a gentle guide to using OProfile, please read the HTML documentation
-listed in SEE ALSO.
-.br
-.SH OPCONTROL
-.B opcontrol
-is used for starting and stopping the OProfile daemon, and providing set-up
-parameters.
-.SH OPREPORT
-.B opreport
-gives image and symbol-based profile summaries for the whole system or
-a subset of binary images.
-.SH OPANNOTATE
-.B opannotate
-can produce annotated source or mixed source and assembly output.
-.SH OPARCHIVE
-.B oparchive
-produces oprofile archive for offline analysis
-.SH OPGPROF
-.B opgprof
-can produce a gprof-format profile for a single binary.
-
-.SH PROFILE SPECIFICATIONS
-All of the post-profiling tools can take profile specifications,
-which is some combination of the following parameters. Enclosing
-part of a profile specification in curly braces { } can be used
-for differential profiles with
-.B opreport
-; the braces
-.B must
-be surrounded by whitespace.
-
-.TP
-.BI "archive:"archive
-Path to the archive to inspect, as generated by
-.B oparchive
-.br
-.TP
-.BI "session:"sessionlist
-A comma-separated list of session names to resolve in. Absence of this
-tag, unlike all others, means "the current session", equivalent to
-specifying "session:current".
-.br
-.TP
-.BI "session-exclude:"sessionlist
-A comma-separated list of sessions to exclude.
-.br
-.TP
-.BI "image:"imagelist
-A comma-separated list of image names to resolve. Each entry may be relative
-path, glob-style name, or full path, e.g.
-opreport 'image:/usr/bin/oprofiled,*op*,./oprofpp'
-.br
-.TP
-.BI "image-exclude:"imagelist
-Same as image:, but the matching images are excluded.
-.br
-.TP
-.BI "lib-image:"imagelist
-Same as image:, but only for images that are for
-a particular primary binary image (namely, an application). This only
-makes sense to use if you're using --separate.
-This includes kernel modules and the kernel when using
---separate=kernel.
-.br
-.TP
-.BI "lib-image-exclude:"imagelist
-Same as <option>lib-image:</option>, but the matching images
-are excluded.
-.br
-.TP
-.BI "event:"eventname
-The symbolic event name to match on, e.g. event:DATA_MEM_REFS.
-.br
-.TP
-.BI "count:"eventcount
-The event count to match on, e.g. event:DATA_MEM_REFS count:30000.
-.br
-.TP
-.BI "unit-mask:"maskvalue
-The unit mask value of the event to match on, e.g. unit-mask:1.
-.br
-.TP
-.BI "cpu:"cpulist
-Only consider profiles for the given numbered CPU (starting from zero).
-This is only useful when using CPU profile separation.
-.br
-.TP
-.BI "tgid:"pidlist
-Only consider profiles for the given task groups. Unless some program is
-using threads, the task group ID of a process is the same as its process
-ID. This option corresponds to the POSIX notion of a thread group. This
-is only useful when using per-process profile separation.
-.br
-.TP
-.BI "tid:"tidlist
-Only consider profiles for the given threads. When using recent thread
-libraries, all threads in a process share the same task group ID, but
-have different thread IDs. You can use this option in combination with
-tgid: to restrict the results to particular threads within a process.
-This is only useful when using per-process profile separation.
-
-.SH ENVIRONMENT
-No special environment variables are recognised by oprofile.
-
-.SH FILES
-.TP
-.I $HOME/.oprofile/
-Configuration files
-.TP
-.I /root/.oprofile/daemonrc
-Configuration file for opcontrol
-.TP
-.I /usr/local/share/oprofile/
-Event description files used by OProfile.
-.TP
-.I /var/lib/oprofile/samples/oprofiled.log
-The user-space daemon logfile.
-.TP
-.I /var/lib/oprofile/opdev, /var/lib/oprofile/ophashmapdev, /var/lib/oprofile/opnotedev
-The device files for communication with the Linux 2.4 kernel module.
-.TP
-.I /dev/oprofile
-The device filesystem for communication with the Linux 2.6 kernel module.
-.TP
-.I /var/lib/oprofile/samples/
-The location of the generated sample files.
-
-.SH VERSION
-.TP
-This man page is current for oprofile-0.9.6.
-
-.SH SEE ALSO
-.BR /usr/local/share/doc/oprofile/,
-.BR opcontrol(1),
-.BR opreport(1),
-.BR opannotate(1),
-.BR oparchive(1),
-.BR opgprof(1),
-.BR gprof(1),
-.BR readprofile(1),
-.BR "CPU vendor architecture manuals"
-
-.SH COPYRIGHT
-oprofile is Copyright (C) 1998-2004 University of Manchester, UK, John Levon,
-and others.
-OProfile is released under the GNU General Public License, Version 2,
-or (at your option) any later version.
-.SH AUTHORS
-John Levon <levon@movementarian.org> is the primary author. See the documentation
-for other contributors.
diff --git a/doc/oprofile.html b/doc/oprofile.html
deleted file mode 100644
index 1361383..0000000
--- a/doc/oprofile.html
+++ /dev/null
@@ -1,5373 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
- <title>OProfile manual</title>
- <meta name="generator" content="DocBook XSL Stylesheets V1.69.1" />
- </head>
- <body>
- <div class="book" lang="en" xml:lang="en">
- <div class="titlepage">
- <div>
- <div>
- <h1 class="title"><a id="oprofile-guide"></a>OProfile manual</h1>
- </div>
- <div>
- <div class="authorgroup">
- <div class="author">
- <h3 class="author"><span class="firstname">John</span> <span class="surname">Levon</span></h3>
- <div class="affiliation">
- <div class="address">
- <p>
- <code class="email">&lt;<a href="mailto:levon@movementarian.org">levon@movementarian.org</a>&gt;</code>
- </p>
- </div>
- </div>
- </div>
- </div>
- </div>
- <div>
- <p class="copyright">Copyright © 2000-2004 Victoria University of Manchester, John Levon and others</p>
- </div>
- </div>
- <hr />
- </div>
- <div class="toc">
- <p>
- <b>Table of Contents</b>
- </p>
- <dl>
- <dt>
- <span class="chapter">
- <a href="#introduction">1. Introduction</a>
- </span>
- </dt>
- <dd>
- <dl>
- <dt>
- <span class="sect1">
- <a href="#applications">1. Applications of OProfile</a>
- </span>
- </dt>
- <dd>
- <dl>
- <dt>
- <span class="sect2">
- <a href="#jitsupport">1.1. Support for dynamically compiled (JIT) code</a>
- </span>
- </dt>
- </dl>
- </dd>
- <dt>
- <span class="sect1">
- <a href="#requirements">2. System requirements</a>
- </span>
- </dt>
- <dt>
- <span class="sect1">
- <a href="#resources">3. Internet resources</a>
- </span>
- </dt>
- <dt>
- <span class="sect1">
- <a href="#install">4. Installation</a>
- </span>
- </dt>
- <dt>
- <span class="sect1">
- <a href="#uninstall">5. Uninstalling OProfile</a>
- </span>
- </dt>
- </dl>
- </dd>
- <dt>
- <span class="chapter">
- <a href="#overview">2. Overview</a>
- </span>
- </dt>
- <dd>
- <dl>
- <dt>
- <span class="sect1">
- <a href="#getting-started">1. Getting started</a>
- </span>
- </dt>
- <dt>
- <span class="sect1">
- <a href="#tools-overview">2. Tools summary</a>
- </span>
- </dt>
- </dl>
- </dd>
- <dt>
- <span class="chapter">
- <a href="#controlling">3. Controlling the profiler</a>
- </span>
- </dt>
- <dd>
- <dl>
- <dt>
- <span class="sect1">
- <a href="#controlling-daemon">1. Using <span><strong class="command">opcontrol</strong></span></a>
- </span>
- </dt>
- <dd>
- <dl>
- <dt>
- <span class="sect2">
- <a href="#opcontrolexamples">1.1. Examples</a>
- </span>
- </dt>
- <dt>
- <span class="sect2">
- <a href="#eventspec">1.2. Specifying performance counter events</a>
- </span>
- </dt>
- </dl>
- </dd>
- <dt>
- <span class="sect1">
- <a href="#setup-jit">2. Setting up the JIT profiling feature</a>
- </span>
- </dt>
- <dd>
- <dl>
- <dt>
- <span class="sect2">
- <a href="#setup-jit-jvm">2.1. JVM instrumentation</a>
- </span>
- </dt>
- </dl>
- </dd>
- <dt>
- <span class="sect1">
- <a href="#oprofile-gui">3. Using <span><strong class="command">oprof_start</strong></span></a>
- </span>
- </dt>
- <dt>
- <span class="sect1">
- <a href="#detailed-parameters">4. Configuration details</a>
- </span>
- </dt>
- <dd>
- <dl>
- <dt>
- <span class="sect2">
- <a href="#hardware-counters">4.1. Hardware performance counters</a>
- </span>
- </dt>
- <dt>
- <span class="sect2">
- <a href="#rtc">4.2. OProfile in RTC mode</a>
- </span>
- </dt>
- <dt>
- <span class="sect2">
- <a href="#timer">4.3. OProfile in timer interrupt mode</a>
- </span>
- </dt>
- <dt>
- <span class="sect2">
- <a href="#p4">4.4. Pentium 4 support</a>
- </span>
- </dt>
- <dt>
- <span class="sect2">
- <a href="#ia64">4.5. Intel Itanium 2 support</a>
- </span>
- </dt>
- <dt>
- <span class="sect2">
- <a href="#ppc64">4.6. PowerPC64 support</a>
- </span>
- </dt>
- <dt>
- <span class="sect2">
- <a href="#cell-be">4.7. Cell Broadband Engine support</a>
- </span>
- </dt>
- <dt>
- <span class="sect2">
- <a href="#amd-ibs-support">4.8. AMD64 (x86_64) Instruction-Based Sampling (IBS) support</a>
- </span>
- </dt>
- <dt>
- <span class="sect2">
- <a href="#misuse">4.9. Dangerous counter settings</a>
- </span>
- </dt>
- </dl>
- </dd>
- </dl>
- </dd>
- <dt>
- <span class="chapter">
- <a href="#results">4. Obtaining results</a>
- </span>
- </dt>
- <dd>
- <dl>
- <dt>
- <span class="sect1">
- <a href="#profile-spec">1. Profile specifications</a>
- </span>
- </dt>
- <dd>
- <dl>
- <dt>
- <span class="sect2">
- <a href="#profile-spec-examples">1.1. Examples</a>
- </span>
- </dt>
- <dt>
- <span class="sect2">
- <a href="#profile-spec-details">1.2. Profile specification parameters</a>
- </span>
- </dt>
- <dt>
- <span class="sect2">
- <a href="#locating-and-managing-binary-images">1.3. Locating and managing binary images</a>
- </span>
- </dt>
- <dt>
- <span class="sect2">
- <a href="#no-results">1.4. What to do when you don't get any results</a>
- </span>
- </dt>
- </dl>
- </dd>
- <dt>
- <span class="sect1">
- <a href="#opreport">2. Image summaries and symbol summaries (<span><strong class="command">opreport</strong></span>)</a>
- </span>
- </dt>
- <dd>
- <dl>
- <dt>
- <span class="sect2">
- <a href="#opreport-merging">2.1. Merging separate profiles</a>
- </span>
- </dt>
- <dt>
- <span class="sect2">
- <a href="#opreport-comparison">2.2. Side-by-side multiple results</a>
- </span>
- </dt>
- <dt>
- <span class="sect2">
- <a href="#opreport-callgraph">2.3. Callgraph output</a>
- </span>
- </dt>
- <dt>
- <span class="sect2">
- <a href="#opreport-diff">2.4. Differential profiles with <span><strong class="command">opreport</strong></span></a>
- </span>
- </dt>
- <dt>
- <span class="sect2">
- <a href="#opreport-anon">2.5. Anonymous executable mappings</a>
- </span>
- </dt>
- <dt>
- <span class="sect2">
- <a href="#opreport-xml">2.6. XML formatted output</a>
- </span>
- </dt>
- <dt>
- <span class="sect2">
- <a href="#opreport-options">2.7. Options for <span><strong class="command">opreport</strong></span></a>
- </span>
- </dt>
- </dl>
- </dd>
- <dt>
- <span class="sect1">
- <a href="#opannotate">3. Outputting annotated source (<span><strong class="command">opannotate</strong></span>)</a>
- </span>
- </dt>
- <dd>
- <dl>
- <dt>
- <span class="sect2">
- <a href="#opannotate-finding-source">3.1. Locating source files</a>
- </span>
- </dt>
- <dt>
- <span class="sect2">
- <a href="#opannotate-details">3.2. Usage of <span><strong class="command">opannotate</strong></span></a>
- </span>
- </dt>
- </dl>
- </dd>
- <dt>
- <span class="sect1">
- <a href="#getting-jit-reports">4. OProfile results with JIT samples</a>
- </span>
- </dt>
- <dt>
- <span class="sect1">
- <a href="#opgprof">5. <span><strong class="command">gprof</strong></span>-compatible output (<span><strong class="command">opgprof</strong></span>)</a>
- </span>
- </dt>
- <dd>
- <dl>
- <dt>
- <span class="sect2">
- <a href="#opgprof-details">5.1. Usage of <span><strong class="command">opgprof</strong></span></a>
- </span>
- </dt>
- </dl>
- </dd>
- <dt>
- <span class="sect1">
- <a href="#oparchive">6. Archiving measurements (<span><strong class="command">oparchive</strong></span>)</a>
- </span>
- </dt>
- <dd>
- <dl>
- <dt>
- <span class="sect2">
- <a href="#oparchive-details">6.1. Usage of <span><strong class="command">oparchive</strong></span></a>
- </span>
- </dt>
- </dl>
- </dd>
- <dt>
- <span class="sect1">
- <a href="#opimport">7. Converting sample database files (<span><strong class="command">opimport</strong></span>)</a>
- </span>
- </dt>
- <dd>
- <dl>
- <dt>
- <span class="sect2">
- <a href="#opimport-details">7.1. Usage of <span><strong class="command">opimport</strong></span></a>
- </span>
- </dt>
- </dl>
- </dd>
- </dl>
- </dd>
- <dt>
- <span class="chapter">
- <a href="#interpreting">5. Interpreting profiling results</a>
- </span>
- </dt>
- <dd>
- <dl>
- <dt>
- <span class="sect1">
- <a href="#irq-latency">1. Profiling interrupt latency</a>
- </span>
- </dt>
- <dt>
- <span class="sect1">
- <a href="#kernel-profiling">2. Kernel profiling</a>
- </span>
- </dt>
- <dd>
- <dl>
- <dt>
- <span class="sect2">
- <a href="#irq-masking">2.1. Interrupt masking</a>
- </span>
- </dt>
- <dt>
- <span class="sect2">
- <a href="#idle">2.2. Idle time</a>
- </span>
- </dt>
- <dt>
- <span class="sect2">
- <a href="#kernel-modules">2.3. Profiling kernel modules</a>
- </span>
- </dt>
- </dl>
- </dd>
- <dt>
- <span class="sect1">
- <a href="#interpreting-callgraph">3. Interpreting call-graph profiles</a>
- </span>
- </dt>
- <dt>
- <span class="sect1">
- <a href="#debug-info">4. Inaccuracies in annotated source</a>
- </span>
- </dt>
- <dd>
- <dl>
- <dt>
- <span class="sect2">
- <a href="#effect-of-optimizations">4.1. Side effects of optimizations</a>
- </span>
- </dt>
- <dt>
- <span class="sect2">
- <a href="#prologues">4.2. Prologues and epilogues</a>
- </span>
- </dt>
- <dt>
- <span class="sect2">
- <a href="#inlined-function">4.3. Inlined functions</a>
- </span>
- </dt>
- <dt>
- <span class="sect2">
- <a href="#wrong-linenr-info">4.4. Inaccuracy in line number information</a>
- </span>
- </dt>
- </dl>
- </dd>
- <dt>
- <span class="sect1">
- <a href="#symbol-without-debug-info">5. Assembly functions</a>
- </span>
- </dt>
- <dt>
- <span class="sect1">
- <a href="#overlapping-symbols">6. Overlapping symbols in JITed code</a>
- </span>
- </dt>
- <dt>
- <span class="sect1">
- <a href="#hidden-cost">7. Other discrepancies</a>
- </span>
- </dt>
- </dl>
- </dd>
- <dt>
- <span class="chapter">
- <a href="#ack">6. Acknowledgments</a>
- </span>
- </dt>
- </dl>
- </div>
- <div class="chapter" lang="en" xml:lang="en">
- <div class="titlepage">
- <div>
- <div>
- <h2 class="title"><a id="introduction"></a>Chapter 1. Introduction</h2>
- </div>
- </div>
- </div>
- <div class="toc">
- <p>
- <b>Table of Contents</b>
- </p>
- <dl>
- <dt>
- <span class="sect1">
- <a href="#applications">1. Applications of OProfile</a>
- </span>
- </dt>
- <dd>
- <dl>
- <dt>
- <span class="sect2">
- <a href="#jitsupport">1.1. Support for dynamically compiled (JIT) code</a>
- </span>
- </dt>
- </dl>
- </dd>
- <dt>
- <span class="sect1">
- <a href="#requirements">2. System requirements</a>
- </span>
- </dt>
- <dt>
- <span class="sect1">
- <a href="#resources">3. Internet resources</a>
- </span>
- </dt>
- <dt>
- <span class="sect1">
- <a href="#install">4. Installation</a>
- </span>
- </dt>
- <dt>
- <span class="sect1">
- <a href="#uninstall">5. Uninstalling OProfile</a>
- </span>
- </dt>
- </dl>
- </div>
- <p>
-This manual applies to OProfile version 0.9.6.
-OProfile is a profiling system for Linux 2.2/2.4/2.6 systems on a number of architectures. It is capable of profiling
-all parts of a running system, from the kernel (including modules and interrupt handlers) to shared libraries
-to binaries. It runs transparently in the background collecting information at a low overhead. These
-features make it ideal for profiling entire systems to determine bottle necks in real-world systems.
-</p>
- <p>
-Many CPUs provide "performance counters", hardware registers that can count "events"; for example,
-cache misses, or CPU cycles. OProfile provides profiles of code based on the number of these occurring events:
-repeatedly, every time a certain (configurable) number of events has occurred, the PC value is recorded.
-This information is aggregated into profiles for each binary image.</p>
- <p>
-Some hardware setups do not allow OProfile to use performance counters: in these cases, no
-events are available, and OProfile operates in timer/RTC mode, as described in later chapters.
-</p>
- <div class="sect1" lang="en" xml:lang="en">
- <div class="titlepage">
- <div>
- <div>
- <h2 class="title" style="clear: both"><a id="applications"></a>1. Applications of OProfile</h2>
- </div>
- </div>
- </div>
- <p>
-OProfile is useful in a number of situations. You might want to use OProfile when you :
-</p>
- <div class="itemizedlist">
- <ul type="disc">
- <li>
- <p>need low overhead</p>
- </li>
- <li>
- <p>cannot use highly intrusive profiling methods</p>
- </li>
- <li>
- <p>need to profile interrupt handlers</p>
- </li>
- <li>
- <p>need to profile an application and its shared libraries</p>
- </li>
- <li>
- <p>need to profile dynamically compiled code of supported virtual machines (see <a href="#jitsupport" title="1.1. Support for dynamically compiled (JIT) code">Section 1.1, &#8220;Support for dynamically compiled (JIT) code&#8221;</a>)</p>
- </li>
- <li>
- <p>need to capture the performance behaviour of entire system</p>
- </li>
- <li>
- <p>want to examine hardware effects such as cache misses</p>
- </li>
- <li>
- <p>want detailed source annotation</p>
- </li>
- <li>
- <p>want instruction-level profiles</p>
- </li>
- <li>
- <p>want call-graph profiles</p>
- </li>
- </ul>
- </div>
- <p>
-OProfile is not a panacea. OProfile might not be a complete solution when you :
-</p>
- <div class="itemizedlist">
- <ul type="disc">
- <li>
- <p>require call graph profiles on platforms other than 2.6/x86</p>
- </li>
- <li>
- <p>don't have root permissions</p>
- </li>
- <li>
- <p>require 100% instruction-accurate profiles</p>
- </li>
- <li>
- <p>need function call counts or an interstitial profiling API</p>
- </li>
- <li>
- <p>cannot tolerate any disturbance to the system whatsoever</p>
- </li>
- <li>
- <p>need to profile interpreted or dynamically compiled code of non-supported virtual machines</p>
- </li>
- </ul>
- </div>
- <div class="sect2" lang="en" xml:lang="en">
- <div class="titlepage">
- <div>
- <div>
- <h3 class="title"><a id="jitsupport"></a>1.1. Support for dynamically compiled (JIT) code</h3>
- </div>
- </div>
- </div>
- <p>
-Older versions of OProfile were not capable of attributing samples to symbols from dynamically
-compiled code, i.e. "just-in-time (JIT) code". Typical JIT compilers load the JIT code into
-anonymous memory regions. OProfile reported the samples from such code, but the attribution
-provided was simply:
- </p>
- <table xmlns="" border="0" style="background: #E0E0E0;" width="90%">
- <tr>
- <td>
- <pre class="screen">"anon: &lt;tgid&gt;&lt;address range&gt;" </pre>
- </td>
- </tr>
- </table>
- <p>
-Due to this limitation, it wasn't possible to profile applications executed by virtual machines (VMs)
-like the Java Virtual Machine. OProfile now contains an infrastructure to support JITed code.
-A development library is provided to allow developers
-to add support for any VM that produces dynamically compiled code (see the <span class="emphasis"><em>OProfile JIT agent
-developer guide</em></span>).
-In addition, built-in support is included for the following:</p>
- <div class="itemizedlist">
- <ul type="disc">
- <li>JVMTI agent library for Java (1.5 and higher)</li>
- <li>JVMPI agent library for Java (1.5 and lower)</li>
- </ul>
- </div>
- <p>
-For information on how to use OProfile's JIT support, see <a href="#setup-jit" title="2. Setting up the JIT profiling feature">Section 2, &#8220;Setting up the JIT profiling feature&#8221;</a>.
-</p>
- </div>
- </div>
- <div class="sect1" lang="en" xml:lang="en">
- <div class="titlepage">
- <div>
- <div>
- <h2 class="title" style="clear: both"><a id="requirements"></a>2. System requirements</h2>
- </div>
- </div>
- </div>
- <div class="variablelist">
- <dl>
- <dt>
- <span class="term">Linux kernel 2.2/2.4/2.6</span>
- </dt>
- <dd>
- <p>
- OProfile uses a kernel module that can be compiled for
- 2.2.11 or later and 2.4. 2.4.10 or above is required if you use the
- boot-time kernel option <code class="option">nosmp</code>. 2.6 kernels are supported with the in-kernel
- OProfile driver. Note that only 32-bit x86 and IA64 are supported on 2.2/2.4 kernels.
- </p>
- <p>
- 2.6 kernels are strongly recommended. Under 2.4, OProfile may cause system crashes if power
- management is used, or the BIOS does not correctly deal with local APICs.
- </p>
- <p>
- PPC64 processors (Power4/Power5/PPC970, etc.) require a recent (&gt; 2.6.5) kernel with the line
- <code class="constant">#define PV_970</code> present in <code class="filename">include/asm-ppc64/processor.h</code>.
-
- </p>
- <p>
- Profiling the Cell Broadband Engine PowerPC Processing Element (PPE) requires a kernel version
- of 2.6.18 or more recent.
- Profiling the Cell Broadband Engine Synergistic Processing Element (SPE) requires a kernel version
- of 2.6.22 or more recent. Additionally, full support of SPE profiling requires a BFD library
- from binutils code dated January 2007 or later. To ensure the proper BFD support exists, run
- the <code class="code">configure</code> utility with <code class="code">--with-target=cell-be</code>.
-
- Profiling the Cell Broadband Engine using SPU events requires a kernel version of 2.6.29-rc1
- or more recent.
-
- </p>
- <div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3>Attempting to profile SPEs with kernel versions older than 2.6.22 may cause the
- system to crash.</div>
- <p>
- </p>
- <p>
- Instruction-Based Sampling (IBS) profile on AMD family10h processors requires
- kernel version 2.6.28-rc2 or later.
- </p>
- </dd>
- <dt>
- <span class="term">modutils 2.4.6 or above</span>
- </dt>
- <dd>
- <p>
- You should have installed modutils 2.4.6 or higher (in fact earlier versions work well in almost all
- cases).
- </p>
- </dd>
- <dt>
- <span class="term">Supported architecture</span>
- </dt>
- <dd>
- <p>
- For Intel IA32, a CPU with either a P6 generation or Pentium 4 core is
- required. In marketing terms this translates to anything
- between an Intel Pentium Pro (not Pentium Classics) and
- a Pentium 4 / Xeon, including all Celerons. The AMD
- Athlon, Opteron, Phenom, and Turion CPUs are also supported. Other IA32
- CPU types only support the RTC mode of OProfile; please
- see later in this manual for details. Hyper-threaded Pentium IVs
- are not supported in 2.4. For 2.4 kernels, the Intel
- IA-64 CPUs are also supported. For 2.6 kernels, there is additionally
- support for Alpha processors, MIPS, ARM, x86-64, sparc64, ppc64, AVR32, and,
- in timer mode, PA-RISC and s390.
- </p>
- </dd>
- <dt>
- <span class="term">Uniprocessor or SMP</span>
- </dt>
- <dd>
- <p>
- SMP machines are fully supported.
- </p>
- </dd>
- <dt>
- <span class="term">Required libraries</span>
- </dt>
- <dd>
- <p>
- These libraries are required : <code class="filename">popt</code>, <code class="filename">bfd</code>,
- <code class="filename">liberty</code> (debian users: libiberty is provided in binutils-dev package), <code class="filename">dl</code>,
- plus the standard C++ libraries.
- </p>
- </dd>
- <dt>
- <span class="term">Required user account</span>
- </dt>
- <dd>
- <p>
- For secure processing of sample data from JIT virtual machines (e.g., Java),
- the special user account "oprofile" must exist on the system. The 'configure'
- and 'make install' operations will print warning messages if this
- account is not found. If you intend to profile JITed code, you must create
- a group account named 'oprofile' and then create the 'oprofile' user account,
- setting the default group to 'oprofile'. A runtime error message is printed to
- the oprofile daemon log when processing JIT samples if this special user
- account cannot be found.
- </p>
- </dd>
- <dt>
- <span class="term">OProfile GUI</span>
- </dt>
- <dd>
- <p>
- The use of the GUI to start the profiler requires the <code class="filename">Qt 2</code> library. <code class="filename">Qt 3</code> should
- also work.
- </p>
- </dd>
- <dt>
- <span class="term">
- <span class="acronym">ELF</span>
- </span>
- </dt>
- <dd>
- <p>
- Probably not too strenuous a requirement, but older <span class="acronym">A.OUT</span> binaries/libraries are not supported.
- </p>
- </dd>
- <dt>
- <span class="term">K&amp;R coding style</span>
- </dt>
- <dd>
- <p>
- OK, so it's not really a requirement, but I wish it was...
- </p>
- </dd>
- </dl>
- </div>
- </div>
- <div class="sect1" lang="en" xml:lang="en">
- <div class="titlepage">
- <div>
- <div>
- <h2 class="title" style="clear: both"><a id="resources"></a>3. Internet resources</h2>
- </div>
- </div>
- </div>
- <div class="variablelist">
- <dl>
- <dt>
- <span class="term">Web page</span>
- </dt>
- <dd>
- <p>
- There is a web page (which you may be reading now) at
- <a href="http://oprofile.sf.net/">http://oprofile.sf.net/</a>.
- </p>
- </dd>
- <dt>
- <span class="term">Download</span>
- </dt>
- <dd>
- <p>
- You can download a source tarball or get anonymous CVS at the sourceforge page,
- <a href="http://sf.net/projects/oprofile/">http://sf.net/projects/oprofile/</a>.
- </p>
- </dd>
- <dt>
- <span class="term">Mailing list</span>
- </dt>
- <dd>
- <p>
- There is a low-traffic OProfile-specific mailing list, details at
- <a href="http://sf.net/mail/?group_id=16191">http://sf.net/mail/?group_id=16191</a>.
- </p>
- </dd>
- <dt>
- <span class="term">Bug tracker</span>
- </dt>
- <dd>
- <p>
- There is a bug tracker for OProfile at SourceForge,
- <a href="http://sf.net/tracker/?group_id=16191&amp;atid=116191">http://sf.net/tracker/?group_id=16191&amp;atid=116191</a>.
- </p>
- </dd>
- <dt>
- <span class="term">IRC channel</span>
- </dt>
- <dd>
- <p>
- Several OProfile developers and users sometimes hang out on channel <span><strong class="command">#oprofile</strong></span>
- on the <a href="http://oftc.net">OFTC</a> network.
- </p>
- </dd>
- </dl>
- </div>
- </div>
- <div class="sect1" lang="en" xml:lang="en">
- <div class="titlepage">
- <div>
- <div>
- <h2 class="title" style="clear: both"><a id="install"></a>4. Installation</h2>
- </div>
- </div>
- </div>
- <p>
-First you need to build OProfile and install it. <span><strong class="command">./configure</strong></span>, <span><strong class="command">make</strong></span>, <span><strong class="command">make install</strong></span>
-is often all you need, but note these arguments to <span><strong class="command">./configure</strong></span> :
-</p>
- <div class="variablelist">
- <dl>
- <dt>
- <span class="term">
- <code class="option">--with-linux</code>
- </span>
- </dt>
- <dd>
- <p>
- Use this option to specify the location of the kernel source tree you wish
- to compile against. The kernel module is built against this source and
- will only work with a running kernel built from the same source with
- exact same options, so it is important you specify this option if you need
- to.
- </p>
- </dd>
- <dt>
- <span class="term">
- <code class="option">--with-java</code>
- </span>
- </dt>
- <dd>
- <p>
- Use this option if you need to profile Java applications. Also, see
- <a href="#requirements" title="2. System requirements">Section 2, &#8220;System requirements&#8221;</a>, "Required user account". This option
- is used to specify the location of the Java Development Kit (JDK)
- source tree you wish to use. This is necessary to get the interface description
- of the JVMPI (or JVMTI) interface to compile the JIT support code successfully.
- </p>
- <div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
- <h3 class="title">Note</h3>
- <p>
- The Java Runtime Environment (JRE) does not include the development
- files that are required to compile the JIT support code, so the full
- JDK must be installed in order to use this option.
- </p>
- </div>
- <p>
- By default, the Oprofile JIT support libraries will be installed in
- <code class="filename">&lt;oprof_install_dir&gt;/lib/oprofile</code>. To build
- and install OProfile and the JIT support libraries as 64-bit, you can
- do something like the following:
- </p>
- <table xmlns="" border="0" style="background: #E0E0E0;" width="90%">
- <tr>
- <td>
- <pre class="screen">
- # CFLAGS="-m64" CXXFLAGS="-m64" ./configure \
- --with-kernel-support --with-java={my_jdk_installdir} \
- --libdir=/usr/local/lib64
- </pre>
- </td>
- </tr>
- </table>
- <p>
- </p>
- <div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
- <h3 class="title">Note</h3>
- <p>
- If you encounter errors building 64-bit, you should
- install libtool 1.5.26 or later since that release of
- libtool fixes known problems for certain platforms.
- If you install libtool into a non-standard location,
- you'll need to edit the invocation of 'aclocal' in
- OProfile's autogen.sh as follows (assume an install
- location of /usr/local):
- </p>
- <p>
- <code class="code">aclocal -I m4 -I /usr/local/share/aclocal</code>
- </p>
- </div>
- </dd>
- <dt>
- <span class="term">
- <code class="option">--with-kernel-support</code>
- </span>
- </dt>
- <dd>
- <p>
- Use this option with 2.6 and above kernels to indicate the
- kernel provides the OProfile device driver.
- </p>
- </dd>
- <dt>
- <span class="term">
- <code class="option">--with-qt-dir/includes/libraries</code>
- </span>
- </dt>
- <dd>
- <p>
- Specify the location of Qt headers and libraries. It defaults to searching in
- <code class="constant">$QTDIR</code> if these are not specified.
- </p>
- </dd>
- <dt>
- <a id="disable-werror"></a>
- <span class="term">
- <code class="option">--disable-werror</code>
- </span>
- </dt>
- <dd>
- <p>
- Development versions of OProfile build by
- default with <code class="option">-Werror</code>. This option turns
- <code class="option">-Werror</code> off.
- </p>
- </dd>
- <dt>
- <a id="disable-optimization"></a>
- <span class="term">
- <code class="option">--disable-optimization</code>
- </span>
- </dt>
- <dd>
- <p>
- Disable the <code class="option">-O2</code> compiler flag
- (useful if you discover an OProfile bug and want to give a useful
- back-trace etc.)
- </p>
- </dd>
- </dl>
- </div>
- <p>
-You'll need to have a configured kernel source for the current kernel
-to build the module for 2.4 kernels. Since all distributions provide different kernels it's unlikely the running kernel match the configured source
-you installed. The safest way is to recompile your own kernel, run it and compile oprofile. It is also recommended that if you have a
-uniprocessor machine, you enable the local APIC / IO_APIC support for
-your kernel (this is automatically enabled for SMP kernels). With many BIOS, kernel &gt;= 2.6.9 and UP kernel it's not sufficient to enable the local APIC you must also turn it on explicitly at boot time by providing "lapic" option to the kernel. On
-machines with power management, such as laptops, the power management
-must be turned off when using OProfile with 2.4 kernels. The power management software
-in the BIOS cannot handle the non-maskable interrupts (NMIs) used by
-OProfile for data collection. If you use the NMI watchdog, be aware that
-the watchdog is disabled when profiling starts, and not re-enabled until the
-OProfile module is removed (or, in 2.6, when OProfile is not running). If you compile OProfile for
-a 2.2 kernel you must be root to compile the module. If you are using
-2.6 kernels or higher, you do not need kernel source, as long as the
-OProfile driver is enabled; additionally, you should not need to disable
-power management.
-</p>
- <p>
-Please note that you must save or have available the <code class="filename">vmlinux</code> file
-generated during a kernel compile, as OProfile needs it (you can use
-<code class="option">--no-vmlinux</code>, but this will prevent kernel profiling).
-</p>
- </div>
- <div class="sect1" lang="en" xml:lang="en">
- <div class="titlepage">
- <div>
- <div>
- <h2 class="title" style="clear: both"><a id="uninstall"></a>5. Uninstalling OProfile</h2>
- </div>
- </div>
- </div>
- <p>
-You must have the source tree available to uninstall OProfile; a <span><strong class="command">make uninstall</strong></span> will
-remove all installed files except your configuration file in the directory <code class="filename">~/.oprofile</code>.
-</p>
- </div>
- </div>
- <div class="chapter" lang="en" xml:lang="en">
- <div class="titlepage">
- <div>
- <div>
- <h2 class="title"><a id="overview"></a>Chapter 2. Overview</h2>
- </div>
- </div>
- </div>
- <div class="toc">
- <p>
- <b>Table of Contents</b>
- </p>
- <dl>
- <dt>
- <span class="sect1">
- <a href="#getting-started">1. Getting started</a>
- </span>
- </dt>
- <dt>
- <span class="sect1">
- <a href="#tools-overview">2. Tools summary</a>
- </span>
- </dt>
- </dl>
- </div>
- <div class="sect1" lang="en" xml:lang="en">
- <div class="titlepage">
- <div>
- <div>
- <h2 class="title" style="clear: both"><a id="getting-started"></a>1. Getting started</h2>
- </div>
- </div>
- </div>
- <p>
-Before you can use OProfile, you must set it up. The minimum setup required for this
-is to tell OProfile where the <code class="filename">vmlinux</code> file corresponding to the
-running kernel is, for example :
-</p>
- <table xmlns="" border="0" style="background: #E0E0E0;" width="90%">
- <tr>
- <td>
- <pre class="screen">opcontrol --vmlinux=/boot/vmlinux-`uname -r`</pre>
- </td>
- </tr>
- </table>
- <p>
-If you don't want to profile the kernel itself,
-you can tell OProfile you don't have a <code class="filename">vmlinux</code> file :
-</p>
- <table xmlns="" border="0" style="background: #E0E0E0;" width="90%">
- <tr>
- <td>
- <pre class="screen">opcontrol --no-vmlinux</pre>
- </td>
- </tr>
- </table>
- <p>
-Now we are ready to start the daemon (<span><strong class="command">oprofiled</strong></span>) which collects
-the profile data :
-</p>
- <table xmlns="" border="0" style="background: #E0E0E0;" width="90%">
- <tr>
- <td>
- <pre class="screen">opcontrol --start</pre>
- </td>
- </tr>
- </table>
- <p>
-When I want to stop profiling, I can do so with :
-</p>
- <table xmlns="" border="0" style="background: #E0E0E0;" width="90%">
- <tr>
- <td>
- <pre class="screen">opcontrol --shutdown</pre>
- </td>
- </tr>
- </table>
- <p>
-Note that unlike <span><strong class="command">gprof</strong></span>, no instrumentation (<code class="option">-pg</code>
-and <code class="option">-a</code> options to <span><strong class="command">gcc</strong></span>)
-is necessary.
-</p>
- <p>
-Periodically (or on <span><strong class="command">opcontrol --shutdown</strong></span> or <span><strong class="command">opcontrol --dump</strong></span>)
-the profile data is written out into the $SESSION_DIR/samples directory (by default at <code class="filename">/var/lib/oprofile/samples</code>).
-These profile files cover shared libraries, applications, the kernel (vmlinux), and kernel modules.
-You can clear the profile data (at any time) with <span><strong class="command">opcontrol --reset</strong></span>.
-</p>
- <p>
-To place these sample database files in a specific directory instead of the default location (<code class="filename">/var/lib/oprofile</code>) use the <code class="option">--session-dir=dir</code> option. You must also specify the <code class="option">--session-dir</code> to tell the tools to continue using this directory. (In the future, we should allow this to be specified in an environment variable.) :
-</p>
- <table xmlns="" border="0" style="background: #E0E0E0;" width="90%">
- <tr>
- <td>
- <pre class="screen">opcontrol --no-vmlinux --session-dir=/home/me/tmpsession</pre>
- </td>
- </tr>
- </table>
- <table xmlns="" border="0" style="background: #E0E0E0;" width="90%">
- <tr>
- <td>
- <pre class="screen">opcontrol --start --session-dir=/home/me/tmpsession</pre>
- </td>
- </tr>
- </table>
- <p>
-You can get summaries of this data in a number of ways at any time. To get a summary of
-data across the entire system for all of these profiles, you can do :
-</p>
- <table xmlns="" border="0" style="background: #E0E0E0;" width="90%">
- <tr>
- <td>
- <pre class="screen">opreport [--session-dir=dir]</pre>
- </td>
- </tr>
- </table>
- <p>
-Or to get a more detailed summary, for a particular image, you can do something like :
-</p>
- <table xmlns="" border="0" style="background: #E0E0E0;" width="90%">
- <tr>
- <td>
- <pre class="screen">opreport -l /boot/vmlinux-`uname -r`</pre>
- </td>
- </tr>
- </table>
- <p>
-There are also a number of other ways of presenting the data, as described later in this manual.
-Note that OProfile will choose a default profiling setup for you. However, there are a number
-of options you can pass to <span><strong class="command">opcontrol</strong></span> if you need to change something,
-also detailed later.
-</p>
- </div>
- <div class="sect1" lang="en" xml:lang="en">
- <div class="titlepage">
- <div>
- <div>
- <h2 class="title" style="clear: both"><a id="tools-overview"></a>2. Tools summary</h2>
- </div>
- </div>
- </div>
- <p>
-This section gives a brief description of the available OProfile utilities and their purpose.
-</p>
- <div class="variablelist">
- <dl>
- <dt>
- <span class="term">
- <code class="filename">ophelp</code>
- </span>
- </dt>
- <dd>
- <p>
- This utility lists the available events and short descriptions.
- </p>
- </dd>
- <dt>
- <span class="term">
- <code class="filename">opcontrol</code>
- </span>
- </dt>
- <dd>
- <p>
- Used for controlling the OProfile data collection, discussed in <a href="#controlling" title="Chapter 3. Controlling the profiler">Chapter 3, <i>Controlling the profiler</i></a>.
- </p>
- </dd>
- <dt>
- <span class="term">
- <code class="filename">agent libraries</code>
- </span>
- </dt>
- <dd>
- <p>
- Used by virtual machines (like the Java VM) to record information about JITed code being profiled. See <a href="#setup-jit" title="2. Setting up the JIT profiling feature">Section 2, &#8220;Setting up the JIT profiling feature&#8221;</a>.
- </p>
- </dd>
- <dt>
- <span class="term">
- <code class="filename">opreport</code>
- </span>
- </dt>
- <dd>
- <p>
- This is the main tool for retrieving useful profile data, described in
- <a href="#opreport" title="2. Image summaries and symbol summaries (opreport)">Section 2, &#8220;Image summaries and symbol summaries (<span><strong class="command">opreport</strong></span>)&#8221;</a>.
- </p>
- </dd>
- <dt>
- <span class="term">
- <code class="filename">opannotate</code>
- </span>
- </dt>
- <dd>
- <p>
- This utility can be used to produce annotated source, assembly or mixed source/assembly.
- Source level annotation is available only if the application was compiled with
- debugging symbols. See <a href="#opannotate" title="3. Outputting annotated source (opannotate)">Section 3, &#8220;Outputting annotated source (<span><strong class="command">opannotate</strong></span>)&#8221;</a>.
- </p>
- </dd>
- <dt>
- <span class="term">
- <code class="filename">opgprof</code>
- </span>
- </dt>
- <dd>
- <p>
- This utility can output gprof-style data files for a binary, for use with
- <span><strong class="command">gprof -p</strong></span>. See <a href="#opgprof" title="5. gprof-compatible output (opgprof)">Section 5, &#8220;<span><strong class="command">gprof</strong></span>-compatible output (<span><strong class="command">opgprof</strong></span>)&#8221;</a>.
- </p>
- </dd>
- <dt>
- <span class="term">
- <code class="filename">oparchive</code>
- </span>
- </dt>
- <dd>
- <p>
- This utility can be used to collect executables, debuginfo,
- and sample files and copy the files into an archive.
- The archive is self-contained and can be moved to another
- machine for further analysis.
- See <a href="#oparchive" title="6. Archiving measurements (oparchive)">Section 6, &#8220;Archiving measurements (<span><strong class="command">oparchive</strong></span>)&#8221;</a>.
- </p>
- </dd>
- <dt>
- <span class="term">
- <code class="filename">opimport</code>
- </span>
- </dt>
- <dd>
- <p>
- This utility converts sample database files from a foreign binary format (abi) to
- the native format. This is useful only when moving sample files between hosts,
- for analysis on platforms other than the one used for collection.
- See <a href="#opimport" title="7. Converting sample database files (opimport)">Section 7, &#8220;Converting sample database files (<span><strong class="command">opimport</strong></span>)&#8221;</a>.
- </p>
- </dd>
- </dl>
- </div>
- </div>
- </div>
- <div class="chapter" lang="en" xml:lang="en">
- <div class="titlepage">
- <div>
- <div>
- <h2 class="title"><a id="controlling"></a>Chapter 3. Controlling the profiler</h2>
- </div>
- </div>
- </div>
- <div class="toc">
- <p>
- <b>Table of Contents</b>
- </p>
- <dl>
- <dt>
- <span class="sect1">
- <a href="#controlling-daemon">1. Using <span><strong class="command">opcontrol</strong></span></a>
- </span>
- </dt>
- <dd>
- <dl>
- <dt>
- <span class="sect2">
- <a href="#opcontrolexamples">1.1. Examples</a>
- </span>
- </dt>
- <dt>
- <span class="sect2">
- <a href="#eventspec">1.2. Specifying performance counter events</a>
- </span>
- </dt>
- </dl>
- </dd>
- <dt>
- <span class="sect1">
- <a href="#setup-jit">2. Setting up the JIT profiling feature</a>
- </span>
- </dt>
- <dd>
- <dl>
- <dt>
- <span class="sect2">
- <a href="#setup-jit-jvm">2.1. JVM instrumentation</a>
- </span>
- </dt>
- </dl>
- </dd>
- <dt>
- <span class="sect1">
- <a href="#oprofile-gui">3. Using <span><strong class="command">oprof_start</strong></span></a>
- </span>
- </dt>
- <dt>
- <span class="sect1">
- <a href="#detailed-parameters">4. Configuration details</a>
- </span>
- </dt>
- <dd>
- <dl>
- <dt>
- <span class="sect2">
- <a href="#hardware-counters">4.1. Hardware performance counters</a>
- </span>
- </dt>
- <dt>
- <span class="sect2">
- <a href="#rtc">4.2. OProfile in RTC mode</a>
- </span>
- </dt>
- <dt>
- <span class="sect2">
- <a href="#timer">4.3. OProfile in timer interrupt mode</a>
- </span>
- </dt>
- <dt>
- <span class="sect2">
- <a href="#p4">4.4. Pentium 4 support</a>
- </span>
- </dt>
- <dt>
- <span class="sect2">
- <a href="#ia64">4.5. Intel Itanium 2 support</a>
- </span>
- </dt>
- <dt>
- <span class="sect2">
- <a href="#ppc64">4.6. PowerPC64 support</a>
- </span>
- </dt>
- <dt>
- <span class="sect2">
- <a href="#cell-be">4.7. Cell Broadband Engine support</a>
- </span>
- </dt>
- <dt>
- <span class="sect2">
- <a href="#amd-ibs-support">4.8. AMD64 (x86_64) Instruction-Based Sampling (IBS) support</a>
- </span>
- </dt>
- <dt>
- <span class="sect2">
- <a href="#misuse">4.9. Dangerous counter settings</a>
- </span>
- </dt>
- </dl>
- </dd>
- </dl>
- </div>
- <div class="sect1" lang="en" xml:lang="en">
- <div class="titlepage">
- <div>
- <div>
- <h2 class="title" style="clear: both"><a id="controlling-daemon"></a>1. Using <span><strong class="command">opcontrol</strong></span></h2>
- </div>
- </div>
- </div>
- <p>
-In this section we describe the configuration and control of the profiling system
-with opcontrol in more depth.
-The <span><strong class="command">opcontrol</strong></span> script has a default setup, but you
-can alter this with the options given below. In particular,
-if your hardware supports performance counters, you can configure them.
-There are a number of counters (for example, counter 0 and counter 1
-on the Pentium III). Each of these counters can be programmed with
-an event to count, such as cache misses or MMX operations. The event
-chosen for each counter is reflected in the profile data collected
-by OProfile: functions and binaries at the top of the profiles reflect
-that most of the chosen events happened within that code.
-</p>
- <p>
-Additionally, each counter has a "count" value: this corresponds to how
-detailed the profile is. The lower the value, the more frequently profile
-samples are taken. A counter can choose to sample only kernel code, user-space code,
-or both (both is the default). Finally, some events have a "unit mask"
-- this is a value that further restricts the types of event that are counted.
-The event types and unit masks for your CPU are listed by <span><strong class="command">opcontrol
---list-events</strong></span>.
-</p>
- <p>
-The <span><strong class="command">opcontrol</strong></span> script provides the following actions :
-</p>
- <div class="variablelist">
- <dl>
- <dt>
- <span class="term">
- <code class="option">--init</code>
- </span>
- </dt>
- <dd>
- <p>
- Loads the OProfile module if required and makes the OProfile driver
- interface available.
- </p>
- </dd>
- <dt>
- <span class="term">
- <code class="option">--setup</code>
- </span>
- </dt>
- <dd>
- <p>
- Followed by list arguments for profiling set up. List of arguments
- saved in <code class="filename">/root/.oprofile/daemonrc</code>.
- Giving this option is not necessary; you can just directly pass one
- of the setup options, e.g. <span><strong class="command">opcontrol --no-vmlinux</strong></span>.
- </p>
- </dd>
- <dt>
- <span class="term">
- <code class="option">--status</code>
- </span>
- </dt>
- <dd>
- <p>
- Show configuration information.
- </p>
- </dd>
- <dt>
- <span class="term">
- <code class="option">--start-daemon</code>
- </span>
- </dt>
- <dd>
- <p>
- Start the oprofile daemon without starting actual profiling. The profiling
- can then be started using <code class="option">--start</code>. This is useful for avoiding
- measuring the cost of daemon startup, as <code class="option">--start</code> is a simple
- write to a file in oprofilefs. Not available in 2.2/2.4 kernels.
- </p>
- </dd>
- <dt>
- <span class="term">
- <code class="option">--start</code>
- </span>
- </dt>
- <dd>
- <p>
- Start data collection with either arguments provided by <code class="option">--setup</code>
- or information saved in <code class="filename">/root/.oprofile/daemonrc</code>. Specifying
- the addition <code class="option">--verbose</code> makes the daemon generate lots of debug data
- whilst it is running.
- </p>
- </dd>
- <dt>
- <span class="term">
- <code class="option">--dump</code>
- </span>
- </dt>
- <dd>
- <p>
- Force a flush of the collected profiling data to the daemon.
- </p>
- </dd>
- <dt>
- <span class="term">
- <code class="option">--stop</code>
- </span>
- </dt>
- <dd>
- <p>
- Stop data collection (this separate step is not possible with 2.2 or 2.4 kernels).
- </p>
- </dd>
- <dt>
- <span class="term">
- <code class="option">--shutdown</code>
- </span>
- </dt>
- <dd>
- <p>
- Stop data collection and kill the daemon.
- </p>
- </dd>
- <dt>
- <span class="term">
- <code class="option">--reset</code>
- </span>
- </dt>
- <dd>
- <p>
- Clears out data from current session, but leaves saved sessions.
- </p>
- </dd>
- <dt>
- <span class="term"><code class="option">--save=</code>session_name</span>
- </dt>
- <dd>
- <p>
- Save data from current session to session_name.
- </p>
- </dd>
- <dt>
- <span class="term">
- <code class="option">--deinit</code>
- </span>
- </dt>
- <dd>
- <p>
- Shuts down daemon. Unload the OProfile module and oprofilefs.
- </p>
- </dd>
- <dt>
- <span class="term">
- <code class="option">--list-events</code>
- </span>
- </dt>
- <dd>
- <p>
- List event types and unit masks.
- </p>
- </dd>
- <dt>
- <span class="term">
- <code class="option">--help</code>
- </span>
- </dt>
- <dd>
- <p>
- Generate usage messages.
- </p>
- </dd>
- </dl>
- </div>
- <p>
-There are a number of possible settings, of which, only
-<code class="option">--vmlinux</code> (or <code class="option">--no-vmlinux</code>)
-is required. These settings are stored in <code class="filename">~/.oprofile/daemonrc</code>.
-</p>
- <div class="variablelist">
- <dl>
- <dt>
- <span class="term"><code class="option">--buffer-size=</code>num</span>
- </dt>
- <dd>
- <p>
- Number of samples in kernel buffer. When using a 2.6 kernel
- buffer watershed need to be tweaked when changing this value.
- </p>
- </dd>
- <dt>
- <span class="term"><code class="option">--buffer-watershed=</code>num</span>
- </dt>
- <dd>
- <p>
- Set kernel buffer watershed to num samples (2.6 only). When it'll remain only
- buffer-size - buffer-watershed free entry in the kernel buffer data will be
- flushed to daemon, most usefull value are in the range [0.25 - 0.5] * buffer-size.
- </p>
- </dd>
- <dt>
- <span class="term"><code class="option">--cpu-buffer-size=</code>num</span>
- </dt>
- <dd>
- <p>
- Number of samples in kernel per-cpu buffer (2.6 only). If you
- profile at high rate it can help to increase this if the log
- file show excessive count of sample lost cpu buffer overflow.
- </p>
- </dd>
- <dt>
- <span class="term"><code class="option">--event=</code>[eventspec]</span>
- </dt>
- <dd>
- <p>
- Use the given performance counter event to profile.
- See <a href="#eventspec" title="1.2. Specifying performance counter events">Section 1.2, &#8220;Specifying performance counter events&#8221;</a> below.
- </p>
- </dd>
- <dt>
- <span class="term"><code class="option">--session-dir=</code>dir_path</span>
- </dt>
- <dd>
- <p>
- Create/use sample database out of directory <code class="filename">dir_path</code> instead of
- the default location (/var/lib/oprofile).
- </p>
- </dd>
- <dt>
- <span class="term"><code class="option">--separate=</code>[none,lib,kernel,thread,cpu,all]</span>
- </dt>
- <dd>
- <p>
- By default, every profile is stored in a single file. Thus, for example,
- samples in the C library are all accredited to the <code class="filename">/lib/libc.o</code>
- profile. However, you choose to create separate sample files by specifying
- one of the below options.
- </p>
- <div class="informaltable">
- <table border="1">
- <colgroup>
- <col />
- <col />
- </colgroup>
- <tbody>
- <tr>
- <td>
- <code class="option">none</code>
- </td>
- <td>No profile separation (default)</td>
- </tr>
- <tr>
- <td>
- <code class="option">lib</code>
- </td>
- <td>Create per-application profiles for libraries</td>
- </tr>
- <tr>
- <td>
- <code class="option">kernel</code>
- </td>
- <td>Create per-application profiles for the kernel and kernel modules</td>
- </tr>
- <tr>
- <td>
- <code class="option">thread</code>
- </td>
- <td>Create profiles for each thread and each task</td>
- </tr>
- <tr>
- <td>
- <code class="option">cpu</code>
- </td>
- <td>Create profiles for each CPU</td>
- </tr>
- <tr>
- <td>
- <code class="option">all</code>
- </td>
- <td>All of the above options</td>
- </tr>
- </tbody>
- </table>
- </div>
- <p>
- Note that <code class="option">--separate=kernel</code> also turns on <code class="option">--separate=lib</code>.
-
- When using <code class="option">--separate=kernel</code>, samples in hardware interrupts, soft-irqs, or other
- asynchronous kernel contexts are credited to the task currently running. This means you will see
- seemingly nonsense profiles such as <code class="filename">/bin/bash</code> showing samples for the PPP modules,
- etc.
- </p>
- <p>
- On 2.2/2.4 only kernel threads already started when profiling begins are correctly profiled;
- newly started kernel thread samples are credited to the vmlinux (kernel) profile.
- </p>
- <p>
- Using <code class="option">--separate=thread</code> creates a lot
- of sample files if you leave OProfile running for a while; it's most
- useful when used for short sessions, or when using image filtering.
- </p>
- </dd>
- <dt>
- <span class="term"><code class="option">--callgraph=</code>#depth</span>
- </dt>
- <dd>
- <p>
- Enable call-graph sample collection with a maximum depth. Use 0 to disable
- callgraph profiling. NOTE: Callgraph support is available on a limited
- number of platforms at this time; for example:
- </p>
- <p>
- </p>
- <div class="itemizedlist">
- <ul type="disc">
- <li>
- <p>x86 with recent 2.6 kernel</p>
- </li>
- <li>
- <p>ARM with recent 2.6 kernel</p>
- </li>
- <li>
- <p>PowerPC with 2.6.17 kernel</p>
- </li>
- </ul>
- </div>
- <p>
- </p>
- <p>
- </p>
- </dd>
- <dt>
- <span class="term"><code class="option">--image=</code>image,[images]|"all"</span>
- </dt>
- <dd>
- <p>
- Image filtering. If you specify one or more absolute
- paths to binaries, OProfile will only produce profile results for those
- binary images. This is useful for restricting the sometimes voluminous
- output you may get otherwise, especially with
- <code class="option">--separate=thread</code>. Note that if you are using
- <code class="option">--separate=lib</code> or
- <code class="option">--separate=kernel</code>, then if you specification an
- application binary, the shared libraries and kernel code
- <span class="emphasis"><em>are</em></span> included. Specify the value
- "all" to profile everything (the default).
- </p>
- </dd>
- <dt>
- <span class="term"><code class="option">--vmlinux=</code>file</span>
- </dt>
- <dd>
- <p>
- vmlinux kernel image.
- </p>
- </dd>
- <dt>
- <span class="term">
- <code class="option">--no-vmlinux</code>
- </span>
- </dt>
- <dd>
- <p>
- Use this when you don't have a kernel vmlinux file, and you don't want
- to profile the kernel. This still counts the total number of kernel samples,
- but can't give symbol-based results for the kernel or any modules.
- </p>
- </dd>
- </dl>
- </div>
- <div class="sect2" lang="en" xml:lang="en">
- <div class="titlepage">
- <div>
- <div>
- <h3 class="title"><a id="opcontrolexamples"></a>1.1. Examples</h3>
- </div>
- </div>
- </div>
- <div class="sect3" lang="en" xml:lang="en">
- <div class="titlepage">
- <div>
- <div>
- <h4 class="title"><a id="examplesperfctr"></a>1.1.1. Intel performance counter setup</h4>
- </div>
- </div>
- </div>
- <p>
-Here, we have a Pentium III running at 800MHz, and we want to look at where data memory
-references are happening most, and also get results for CPU time.
-</p>
- <table xmlns="" border="0" style="background: #E0E0E0;" width="90%">
- <tr>
- <td>
- <pre class="screen">
-# opcontrol --event=CPU_CLK_UNHALTED:400000 --event=DATA_MEM_REFS:10000
-# opcontrol --vmlinux=/boot/2.6.0/vmlinux
-# opcontrol --start
-</pre>
- </td>
- </tr>
- </table>
- </div>
- <div class="sect3" lang="en" xml:lang="en">
- <div class="titlepage">
- <div>
- <div>
- <h4 class="title"><a id="examplesrtc"></a>1.1.2. RTC mode</h4>
- </div>
- </div>
- </div>
- <p>
-Here, we have an Intel laptop without support for performance counters, running on 2.4 kernels.
-</p>
- <table xmlns="" border="0" style="background: #E0E0E0;" width="90%">
- <tr>
- <td>
- <pre class="screen">
-# ophelp -r
-CPU with RTC device
-# opcontrol --vmlinux=/boot/2.4.13/vmlinux --event=RTC_INTERRUPTS:1024
-# opcontrol --start
-</pre>
- </td>
- </tr>
- </table>
- </div>
- <div class="sect3" lang="en" xml:lang="en">
- <div class="titlepage">
- <div>
- <div>
- <h4 class="title"><a id="examplesstartdaemon"></a>1.1.3. Starting the daemon separately</h4>
- </div>
- </div>
- </div>
- <p>
-If we're running 2.6 kernels, we can use <code class="option">--start-daemon</code> to avoid
-the profiler startup affecting results.
-</p>
- <table xmlns="" border="0" style="background: #E0E0E0;" width="90%">
- <tr>
- <td>
- <pre class="screen">
-# opcontrol --vmlinux=/boot/2.6.0/vmlinux
-# opcontrol --start-daemon
-# my_favourite_benchmark --init
-# opcontrol --start ; my_favourite_benchmark --run ; opcontrol --stop
-</pre>
- </td>
- </tr>
- </table>
- </div>
- <div class="sect3" lang="en" xml:lang="en">
- <div class="titlepage">
- <div>
- <div>
- <h4 class="title"><a id="exampleseparate"></a>1.1.4. Separate profiles for libraries and the kernel</h4>
- </div>
- </div>
- </div>
- <p>
-Here, we want to see a profile of the OProfile daemon itself, including when
-it was running inside the kernel driver, and its use of shared libraries.
-</p>
- <table xmlns="" border="0" style="background: #E0E0E0;" width="90%">
- <tr>
- <td>
- <pre class="screen">
-# opcontrol --separate=kernel --vmlinux=/boot/2.6.0/vmlinux
-# opcontrol --start
-# my_favourite_stress_test --run
-# opreport -l -p /lib/modules/2.6.0/kernel /usr/local/bin/oprofiled
-</pre>
- </td>
- </tr>
- </table>
- </div>
- <div class="sect3" lang="en" xml:lang="en">
- <div class="titlepage">
- <div>
- <div>
- <h4 class="title"><a id="examplessessions"></a>1.1.5. Profiling sessions</h4>
- </div>
- </div>
- </div>
- <p>
-It can often be useful to split up profiling data into several different
-time periods. For example, you may want to collect data on an application's
-startup separately from the normal runtime data. You can use the simple
-command <span><strong class="command">opcontrol --save</strong></span> to do this. For example :
-</p>
- <table xmlns="" border="0" style="background: #E0E0E0;" width="90%">
- <tr>
- <td>
- <pre class="screen">
-# opcontrol --save=blah
-</pre>
- </td>
- </tr>
- </table>
- <p>
-will create a sub-directory in <code class="filename">$SESSION_DIR/samples</code> containing the samples
-up to that point (the current session's sample files are moved into this
-directory). You can then pass this session name as a parameter to the post-profiling
-analysis tools, to only get data up to the point you named the
-session. If you do not want to save a session, you can do
-<span><strong class="command">rm -rf $SESSION_DIR/samples/sessionname</strong></span> or, for the
-current session, <span><strong class="command">opcontrol --reset</strong></span>.
-</p>
- </div>
- </div>
- <div class="sect2" lang="en" xml:lang="en">
- <div class="titlepage">
- <div>
- <div>
- <h3 class="title"><a id="eventspec"></a>1.2. Specifying performance counter events</h3>
- </div>
- </div>
- </div>
- <p>
-The <code class="option">--event</code> option to <span><strong class="command">opcontrol</strong></span>
-takes a specification that indicates how the details of each
-hardware performance counter should be setup. If you want to
-revert to OProfile's default setting (<code class="option">--event</code>
-is strictly optional), use <code class="option">--event=default</code>. Use of this
-option over-rides all previous event selections.
-</p>
- <p>
-You can pass multiple event specifications. OProfile will allocate
-hardware counters as necessary. Note that some combinations are not
-allowed by the CPU; running <span><strong class="command">opcontrol --list-events</strong></span> gives the details
-of each event. The event specification is a colon-separated string
-of the form <code class="option"><span class="emphasis"><em>name</em></span>:<span class="emphasis"><em>count</em></span>:<span class="emphasis"><em>unitmask</em></span>:<span class="emphasis"><em>kernel</em></span>:<span class="emphasis"><em>user</em></span></code> as described in this table:
-</p>
- <div class="informaltable">
- <table border="1">
- <colgroup>
- <col />
- <col />
- </colgroup>
- <tbody>
- <tr>
- <td>
- <code class="option">name</code>
- </td>
- <td>The symbolic event name, e.g. <code class="constant">CPU_CLK_UNHALTED</code></td>
- </tr>
- <tr>
- <td>
- <code class="option">count</code>
- </td>
- <td>The counter reset value, e.g. 100000</td>
- </tr>
- <tr>
- <td>
- <code class="option">unitmask</code>
- </td>
- <td>The unit mask, as given in the events list, e.g. 0x0f</td>
- </tr>
- <tr>
- <td>
- <code class="option">kernel</code>
- </td>
- <td>Whether to profile kernel code</td>
- </tr>
- <tr>
- <td>
- <code class="option">user</code>
- </td>
- <td>Whether to profile userspace code</td>
- </tr>
- </tbody>
- </table>
- </div>
- <p>
-The last three values are optional, if you omit them (e.g. <code class="option">--event=DATA_MEM_REFS:30000</code>),
-they will be set to the default values (a unit mask of 0, and profiling both kernel and
-userspace code). Note that some events require a unit mask.
-</p>
- <div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
- <h3 class="title">Note</h3>
- <p>
-For the PowerPC platforms, all events specified must be in the same group; i.e., the group number
-appended to the event name (e.g. <code class="constant">&lt;<span class="emphasis"><em>some-event-name</em></span>&gt;_GRP9</code>) must be the same.
-</p>
- </div>
- <p>
-If OProfile is using RTC mode, and you want to alter the default counter value,
-you can use something like <code class="option">--event=RTC_INTERRUPTS:2048</code>. Note the last
-three values here are ignored.
-If OProfile is using timer-interrupt mode, there is no configuration possible.
-</p>
- <p>
-The table below lists the events selected by default
-(<code class="option">--event=default</code>) for the various computer architectures:
-</p>
- <div class="informaltable">
- <table border="1">
- <colgroup>
- <col />
- <col />
- <col />
- </colgroup>
- <tbody>
- <tr>
- <td>Processor</td>
- <td>cpu_type</td>
- <td>Default event</td>
- </tr>
- <tr>
- <td>Alpha EV4</td>
- <td>alpha/ev4</td>
- <td>CYCLES:100000:0:1:1</td>
- </tr>
- <tr>
- <td>Alpha EV5</td>
- <td>alpha/ev5</td>
- <td>CYCLES:100000:0:1:1</td>
- </tr>
- <tr>
- <td>Alpha PCA56</td>
- <td>alpha/pca56</td>
- <td>CYCLES:100000:0:1:1</td>
- </tr>
- <tr>
- <td>Alpha EV6</td>
- <td>alpha/ev6</td>
- <td>CYCLES:100000:0:1:1</td>
- </tr>
- <tr>
- <td>Alpha EV67</td>
- <td>alpha/ev67</td>
- <td>CYCLES:100000:0:1:1</td>
- </tr>
- <tr>
- <td>ARM/XScale PMU1</td>
- <td>arm/xscale1</td>
- <td>CPU_CYCLES:100000:0:1:1</td>
- </tr>
- <tr>
- <td>ARM/XScale PMU2</td>
- <td>arm/xscale2</td>
- <td>CPU_CYCLES:100000:0:1:1</td>
- </tr>
- <tr>
- <td>ARM/MPCore</td>
- <td>arm/mpcore</td>
- <td>CPU_CYCLES:100000:0:1:1</td>
- </tr>
- <tr>
- <td>AVR32</td>
- <td>avr32</td>
- <td>CPU_CYCLES:100000:0:1:1</td>
- </tr>
- <tr>
- <td>Athlon</td>
- <td>i386/athlon</td>
- <td>CPU_CLK_UNHALTED:100000:0:1:1</td>
- </tr>
- <tr>
- <td>Pentium Pro</td>
- <td>i386/ppro</td>
- <td>CPU_CLK_UNHALTED:100000:0:1:1</td>
- </tr>
- <tr>
- <td>Pentium II</td>
- <td>i386/pii</td>
- <td>CPU_CLK_UNHALTED:100000:0:1:1</td>
- </tr>
- <tr>
- <td>Pentium III</td>
- <td>i386/piii</td>
- <td>CPU_CLK_UNHALTED:100000:0:1:1</td>
- </tr>
- <tr>
- <td>Pentium M (P6 core)</td>
- <td>i386/p6_mobile</td>
- <td>CPU_CLK_UNHALTED:100000:0:1:1</td>
- </tr>
- <tr>
- <td>Pentium 4 (non-HT)</td>
- <td>i386/p4</td>
- <td>GLOBAL_POWER_EVENTS:100000:1:1:1</td>
- </tr>
- <tr>
- <td>Pentium 4 (HT)</td>
- <td>i386/p4-ht</td>
- <td>GLOBAL_POWER_EVENTS:100000:1:1:1</td>
- </tr>
- <tr>
- <td>Hammer</td>
- <td>x86-64/hammer</td>
- <td>CPU_CLK_UNHALTED:100000:0:1:1</td>
- </tr>
- <tr>
- <td>Family10h</td>
- <td>x86-64/family10</td>
- <td>CPU_CLK_UNHALTED:100000:0:1:1</td>
- </tr>
- <tr>
- <td>Family11h</td>
- <td>x86-64/family11h</td>
- <td>CPU_CLK_UNHALTED:100000:0:1:1</td>
- </tr>
- <tr>
- <td>Itanium</td>
- <td>ia64/itanium</td>
- <td>CPU_CYCLES:100000:0:1:1</td>
- </tr>
- <tr>
- <td>Itanium 2</td>
- <td>ia64/itanium2</td>
- <td>CPU_CYCLES:100000:0:1:1</td>
- </tr>
- <tr>
- <td>TIMER_INT</td>
- <td>timer</td>
- <td>None selectable</td>
- </tr>
- <tr>
- <td>IBM iseries</td>
- <td>PowerPC 4/5/970</td>
- <td>CYCLES:10000:0:1:1</td>
- </tr>
- <tr>
- <td>IBM pseries</td>
- <td>PowerPC 4/5/970/Cell</td>
- <td>CYCLES:10000:0:1:1</td>
- </tr>
- <tr>
- <td>IBM s390</td>
- <td>timer</td>
- <td>None selectable</td>
- </tr>
- <tr>
- <td>IBM s390x</td>
- <td>timer</td>
- <td>None selectable</td>
- </tr>
- </tbody>
- </table>
- </div>
- </div>
- </div>
- <div class="sect1" lang="en" xml:lang="en">
- <div class="titlepage">
- <div>
- <div>
- <h2 class="title" style="clear: both"><a id="setup-jit"></a>2. Setting up the JIT profiling feature</h2>
- </div>
- </div>
- </div>
- <p>
- To gather information about JITed code from a virtual machine,
- it needs to be instrumented with an agent library. We use the
- agent libraries for Java in the following example. To use the
- Java profiling feature, you must build OProfile with the "--with-java" option
- (<a href="#install" title="4. Installation">Section 4, &#8220;Installation&#8221;</a>).
-
- </p>
- <div class="sect2" lang="en" xml:lang="en">
- <div class="titlepage">
- <div>
- <div>
- <h3 class="title"><a id="setup-jit-jvm"></a>2.1. JVM instrumentation</h3>
- </div>
- </div>
- </div>
- <p>
- Add this to the startup parameters of the JVM (for JVMTI):
-
- </p>
- <table xmlns="" border="0" style="background: #E0E0E0;" width="90%">
- <tr>
- <td>
- <pre class="screen"><code xmlns="http://www.w3.org/1999/xhtml" class="option">-agentpath:&lt;libdir&gt;/libjvmti_oprofile.so[=&lt;options&gt;]</code> </pre>
- </td>
- </tr>
- </table>
- <p>
- or
- </p>
- <table xmlns="" border="0" style="background: #E0E0E0;" width="90%">
- <tr>
- <td>
- <pre class="screen"><code xmlns="http://www.w3.org/1999/xhtml" class="option">-agentlib:jvmti_oprofile[=&lt;options&gt;]</code> </pre>
- </td>
- </tr>
- </table>
- <p>
- </p>
- <p>
- The JVMPI agent implementation is enabled with the command line option
- </p>
- <table xmlns="" border="0" style="background: #E0E0E0;" width="90%">
- <tr>
- <td>
- <pre class="screen"><code xmlns="http://www.w3.org/1999/xhtml" class="option">-Xrunjvmpi_oprofile[:&lt;options&gt;]</code> </pre>
- </td>
- </tr>
- </table>
- <p>
- </p>
- <p>
- Currently, there is just one option available -- <code class="option">debug</code>. For JVMPI,
- the convention for specifying an option is <code class="option">option_name=[yes|no]</code>.
- For JVMTI, the option specification is simply the option name, implying
- "yes"; no option specified implies "no".
- </p>
- <p>
- The agent library (installed in <code class="filename">&lt;oprof_install_dir&gt;/lib/oprofile</code>)
- needs to be in the library search path (e.g. add the library directory
- to <code class="constant">LD_LIBRARY_PATH</code>). If the command line of
- the JVM is not accessible, it may be buried within shell scripts or a
- launcher program. It may also be possible to set an environment variable to add
- the instrumentation.
- For Sun JVMs this is <code class="constant">JAVA_TOOL_OPTIONS</code>. Please check
- your JVM documentation for
- further information on the agent startup options.
- </p>
- </div>
- </div>
- <div class="sect1" lang="en" xml:lang="en">
- <div class="titlepage">
- <div>
- <div>
- <h2 class="title" style="clear: both"><a id="oprofile-gui"></a>3. Using <span><strong class="command">oprof_start</strong></span></h2>
- </div>
- </div>
- </div>
- <p>
-The <span><strong class="command">oprof_start</strong></span> application provides a convenient way to start the profiler.
-Note that <span><strong class="command">oprof_start</strong></span> is just a wrapper around the <span><strong class="command">opcontrol</strong></span> script,
-so it does not provide more services than the script itself.
-</p>
- <p>
-After <span><strong class="command">oprof_start</strong></span> is started you can select the event type for each counter;
-the sampling rate and other related parameters are explained in <a href="#controlling-daemon" title="1. Using opcontrol">Section 1, &#8220;Using <span><strong class="command">opcontrol</strong></span>&#8221;</a>.
-The "Configuration" section allows you to set general parameters such as the buffer size, kernel filename
-etc. The counter setup interface should be self-explanatory; <a href="#hardware-counters" title="4.1. Hardware performance counters">Section 4.1, &#8220;Hardware performance counters&#8221;</a> and related
-links contain information on using unit masks.
-</p>
- <p>
-A status line shows the current status of the profiler: how long it has been running, and the average
-number of interrupts received per second and the total, over all processors.
-Note that quitting <span><strong class="command">oprof_start</strong></span> does not stop the profiler.
-</p>
- <p>
-Your configuration is saved in the same file as <span><strong class="command">opcontrol</strong></span> uses; that is,
-<code class="filename">~/.oprofile/daemonrc</code>.
-</p>
- </div>
- <div class="sect1" lang="en" xml:lang="en">
- <div class="titlepage">
- <div>
- <div>
- <h2 class="title" style="clear: both"><a id="detailed-parameters"></a>4. Configuration details</h2>
- </div>
- </div>
- </div>
- <div class="sect2" lang="en" xml:lang="en">
- <div class="titlepage">
- <div>
- <div>
- <h3 class="title"><a id="hardware-counters"></a>4.1. Hardware performance counters</h3>
- </div>
- </div>
- </div>
- <div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
- <h3 class="title">Note</h3>
- <p>
-Your CPU type may not include the requisite support for hardware performance counters, in which case
-you must use OProfile in RTC mode in 2.4 (see <a href="#rtc" title="4.2. OProfile in RTC mode">Section 4.2, &#8220;OProfile in RTC mode&#8221;</a>), or timer mode in 2.6 (see <a href="#timer" title="4.3. OProfile in timer interrupt mode">Section 4.3, &#8220;OProfile in timer interrupt mode&#8221;</a>).
-You do not really need to read this section unless you are interested in using
-events other than the default event chosen by OProfile.
-</p>
- </div>
- <p>
-The Intel hardware performance counters are detailed in the Intel IA-32 Architecture Manual, Volume 3, available
-from <a href="http://developer.intel.com/">http://developer.intel.com/</a>.
-The AMD Athlon/Opteron/Phenom/Turion implementation is detailed in <a href="http://www.amd.com/us-en/assets/content_type/white_papers_and_tech_docs/22007.pdf">
-http://www.amd.com/us-en/assets/content_type/white_papers_and_tech_docs/22007.pdf</a>.
-For PowerPC64 processors in IBM iSeries, pSeries, and blade server systems, processor documentation
-is available at <a href="http://www-01.ibm.com/chips/techlib/techlib.nsf/productfamilies/PowerPC/">
-http://www-01.ibm.com/chips/techlib/techlib.nsf/productfamilies/PowerPC</a>. (For example, the
-specific publication containing information on the performance monitor unit for the PowerPC970 is
-"IBM PowerPC 970FX RISC Microprocessor User's Manual.")
-These processors are capable of delivering an interrupt when a counter overflows.
-This is the basic mechanism on which OProfile is based. The delivery mode is <span class="acronym">NMI</span>,
-so blocking interrupts in the kernel does not prevent profiling. When the interrupt handler is called,
-the current <span class="acronym">PC</span> value and the current task are recorded into the profiling structure.
-This allows the overflow event to be attached to a specific assembly instruction in a binary image.
-The daemon receives this data from the kernel, and writes it to the sample files.
-</p>
- <p>
-If we use an event such as <code class="constant">CPU_CLK_UNHALTED</code> or <code class="constant">INST_RETIRED</code>
-(<code class="constant">GLOBAL_POWER_EVENTS</code> or <code class="constant">INSTR_RETIRED</code>, respectively, on the Pentium 4), we can
-use the overflow counts as an estimate of actual time spent in each part of code. Alternatively we can profile interesting
-data such as the cache behaviour of routines with the other available counters.
-</p>
- <p>
-However there are several caveats. First, there are those issues listed in the Intel manual. There is a delay
-between the counter overflow and the interrupt delivery that can skew results on a small scale - this means
-you cannot rely on the profiles at the instruction level as being perfectly accurate.
-If you are using an "event-mode" counter such as the cache counters, a count registered against it doesn't mean
-that it is responsible for that event. However, it implies that the counter overflowed in the dynamic
-vicinity of that instruction, to within a few instructions. Further details on this problem can be found in
-<a href="#interpreting" title="Chapter 5. Interpreting profiling results">Chapter 5, <i>Interpreting profiling results</i></a> and also in the Digital paper "ProfileMe: A Hardware Performance Counter".
-</p>
- <p>
-Each counter has several configuration parameters.
-First, there is the unit mask: this simply further specifies what to count.
-Second, there is the counter value, discussed below. Third, there is a parameter whether to increment counts
-whilst in kernel or user space. You can configure these separately for each counter.
-</p>
- <p>
-After each overflow event, the counter will be re-initialized
-such that another overflow will occur after this many events have been counted. Thus, higher
-values mean less-detailed profiling, and lower values mean more detail, but higher overhead.
-Picking a good value for this
-parameter is, unfortunately, somewhat of a black art. It is of course dependent on the event
-you have chosen.
-Specifying too large a value will mean not enough interrupts are generated
-to give a realistic profile (though this problem can be ameliorated by profiling for <span class="emphasis"><em>longer</em></span>).
-Specifying too small a value can lead to higher performance overhead.
-</p>
- </div>
- <div class="sect2" lang="en" xml:lang="en">
- <div class="titlepage">
- <div>
- <div>
- <h3 class="title"><a id="rtc"></a>4.2. OProfile in RTC mode</h3>
- </div>
- </div>
- </div>
- <div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
- <h3 class="title">Note</h3>
- <p>
-This section applies to 2.2/2.4 kernels only.
-</p>
- </div>
- <p>
-Some CPU types do not provide the needed hardware support to use the hardware performance counters. This includes
-some laptops, classic Pentiums, and other CPU types not yet supported by OProfile (such as Cyrix).
-On these machines, OProfile falls
-back to using the real-time clock interrupt to collect samples. This interrupt is also used by the <span><strong class="command">rtc</strong></span>
-module: you cannot have both the OProfile and rtc modules loaded nor the rtc support compiled in the kernel.
-</p>
- <p>
-RTC mode is less capable than the hardware counters mode; in particular, it is unable to profile sections of
-the kernel where interrupts are disabled. There is just one available event, "RTC interrupts", and its value
-corresponds to the number of interrupts generated per second (that is, a higher number means a better profiling
-resolution, and higher overhead). The current implementation of the real-time clock supports only power-of-two
-sampling rates from 2 to 4096 per second. Other values within this range are rounded to the nearest power of
-two.
-</p>
- <p>
-You can force use of the RTC interrupt with the <code class="option">force_rtc=1</code> module parameter.
-</p>
- <p>
-Setting the value from the GUI should be straightforward. On the command line, you need to specify the
-event to <span><strong class="command">opcontrol</strong></span>, e.g. :
-</p>
- <p>
- <span>
- <strong class="command">opcontrol --event=RTC_INTERRUPTS:256</strong>
- </span>
- </p>
- </div>
- <div class="sect2" lang="en" xml:lang="en">
- <div class="titlepage">
- <div>
- <div>
- <h3 class="title"><a id="timer"></a>4.3. OProfile in timer interrupt mode</h3>
- </div>
- </div>
- </div>
- <div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
- <h3 class="title">Note</h3>
- <p>
-This section applies to 2.6 kernels and above only.
-</p>
- </div>
- <p>
-In 2.6 kernels on CPUs without OProfile support for the hardware performance counters, the driver
-falls back to using the timer interrupt for profiling. Like the RTC mode in 2.4 kernels, this is not able to
-profile code that has interrupts disabled. Note that there are no configuration parameters for
-setting this, unlike the RTC and hardware performance counter setup.
-</p>
- <p>
-You can force use of the timer interrupt by using the <code class="option">timer=1</code> module
-parameter (or <code class="option">oprofile.timer=1</code> on the boot command line if OProfile is
-built-in).
-</p>
- </div>
- <div class="sect2" lang="en" xml:lang="en">
- <div class="titlepage">
- <div>
- <div>
- <h3 class="title"><a id="p4"></a>4.4. Pentium 4 support</h3>
- </div>
- </div>
- </div>
- <p>
-The Pentium 4 / Xeon performance counters are organized around 3 types of model specific registers (MSRs): 45 event
-selection control registers (ESCRs), 18 counter configuration control registers (CCCRs) and 18 counters. ESCRs describe a
-particular set of events which are to be recorded, and CCCRs bind ESCRs to counters and configure their
-operation. Unfortunately the relationship between these registers is quite complex; they cannot all be used with one
-another at any time. There is, however, a subset of 8 counters, 8 ESCRs, and 8 CCCRs which can be used independently of
-one another, so OProfile only accesses those registers, treating them as a bank of 8 "normal" counters, similar
-to those in the P6 or Athlon/Opteron/Phenom/Turion families of CPU.
-</p>
- <p>
-There is currently no support for Precision Event-Based Sampling (PEBS), nor any advanced uses of the Debug Store
-(DS). Current support is limited to the conservative extension of OProfile's existing interrupt-based model described
-above. Performance monitoring hardware on Pentium 4 / Xeon processors with Hyperthreading enabled (multiple logical
-processors on a single die) is not supported in 2.4 kernels (you can use OProfile if you disable hyper-threading,
-though).
-</p>
- </div>
- <div class="sect2" lang="en" xml:lang="en">
- <div class="titlepage">
- <div>
- <div>
- <h3 class="title"><a id="ia64"></a>4.5. Intel Itanium 2 support</h3>
- </div>
- </div>
- </div>
- <p>
-The Itanium 2 performance monitoring unit (PMU) organizes the counters as four
-pairs of performance event monitoring registers. Each pair is composed of a
-Performance Monitoring Configuration (PMC) register and Performance Monitoring
-Data (PMD) register. The PMC selects the performance event being monitored and
-the PMD determines the sampling interval. The IA64 Performance Monitoring Unit
-(PMU) triggers sampling with maskable interrupts. Thus, samples will not occur
-in sections of the IA64 kernel where interrupts are disabled.
-</p>
- <p>
-None of the advance features of the Itanium 2 performance monitoring unit
-such as opcode matching, address range matching, or precise event sampling are
-supported by this version of OProfile. The Itanium 2 support only maps OProfile's
-existing interrupt-based model to the PMU hardware.
-</p>
- </div>
- <div class="sect2" lang="en" xml:lang="en">
- <div class="titlepage">
- <div>
- <div>
- <h3 class="title"><a id="ppc64"></a>4.6. PowerPC64 support</h3>
- </div>
- </div>
- </div>
- <p>
-The performance monitoring unit (PMU) for the IBM PowerPC 64-bit processors
-consists of between 4 and 8 counters (depending on the model), plus three
-special purpose registers used for programming the counters -- MMCR0, MMCR1,
-and MMCRA. Advanced features such as instruction matching and thresholding are
-not supported by this version of OProfile.
-</p>
- <div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3>Later versions of the IBM POWER5+ processor (beginning with revision 3.0)
-run the performance monitor unit in POWER6 mode, effectively removing OProfile's
-access to counters 5 and 6. These two counters are dedicated to counting
-instructions completed and cycles, respectively. In POWER6 mode, however, the
-counters do not generate an interrupt on overflow and so are unusable by
-OProfile. Kernel versions 2.6.23 and higher will recognize this mode
-and export "ppc64/power5++" as the cpu_type to the oprofilefs pseudo filesystem.
-OProfile userspace responds to this cpu_type by removing these counters from
-the list of potential events to count. Without this kernel support, attempts
-to profile using an event from one of these counters will yield incorrect
-results -- typically, zero (or near zero) samples in the generated report.
-</div>
- <p>
-</p>
- </div>
- <div class="sect2" lang="en" xml:lang="en">
- <div class="titlepage">
- <div>
- <div>
- <h3 class="title"><a id="cell-be"></a>4.7. Cell Broadband Engine support</h3>
- </div>
- </div>
- </div>
- <p>
-The Cell Broadband Engine (CBE) processor core consists of a PowerPC Processing
-Element (PPE) and 8 Synergistic Processing Elements (SPE). PPEs and SPEs each
-consist of a processing unit (PPU and SPU, respectively) and other hardware
-components, such as memory controllers.
-</p>
- <p>
-A PPU has two hardware threads (aka "virtual CPUs"). The performance monitor
-unit of the CBE collects event information on one hardware thread at a time.
-Therefore, when profiling PPE events,
-OProfile collects the profile based on the selected events by time slicing the
-performance counter hardware between the two threads. The user must ensure the
-collection interval is long enough so that the time spent collecting data for
-each PPU is sufficient to obtain a good profile.
-</p>
- <p>
-To profile an SPU application, the user should specify the SPU_CYCLES event.
-When starting OProfile with SPU_CYCLES, the opcontrol script enforces certain
-separation parameters (separate=cpu,lib) to ensure that sufficient information
-is collected in the sample data in order to generate a complete report. The
---merge=cpu option can be used to obtain a more readable report if analyzing
-the performance of each separate SPU is not necessary.
-</p>
- <p>
-Profiling with an SPU event (events 4100 through 4163) is not compatible with any other
-event. Further more, only one SPU event can be specified at a time. The hardware only
-supports profiling on one SPU per node at a time. The OProfile kernel code time slices
-between the eight SPUs to collect data on all SPUs.
-</p>
- <p>
-SPU profile reports have some unique characteristics compared to reports for
-standard architectures:
-</p>
- <div class="itemizedlist">
- <ul type="disc">
- <li>Typically no "app name" column. This is really standard OProfile behavior
-when the report contains samples for just a single application, which is
-commonly the case when profiling SPUs.</li>
- <li>"CPU" equates to "SPU"</li>
- <li>Specifying '--long-filenames' on the opreport command does not always result
-in long filenames. This happens when the SPU application code is embedded in
-the PPE executable or shared library. The embedded SPU ELF data contains only the
-short filename (i.e., no path information) for the SPU binary file that was used as
-the source for embedding. The reason that just the short filename is used is because
-the original SPU binary file may not exist or be accessible at runtime. The performance
-analyst must have sufficient knowledge of the application to be able to correlate the
-SPU binary image names found in the report to the application's source files.
-<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3>
-Compile the application with -g and generate the OProfile report
-with -g to facilitate finding the right source file(s) on which to focus.
-</div></li>
- </ul>
- </div>
- </div>
- <div class="sect2" lang="en" xml:lang="en">
- <div class="titlepage">
- <div>
- <div>
- <h3 class="title"><a id="amd-ibs-support"></a>4.8. AMD64 (x86_64) Instruction-Based Sampling (IBS) support</h3>
- </div>
- </div>
- </div>
- <p>
-Instruction-Based Sampling (IBS) is a new performance measurement technique
-available on AMD Family 10h processors. Traditional performance counter
-sampling is not precise enough to isolate performance issues to individual
-instructions. IBS, however, precisely identifies instructions which are not
-making the best use of the processor pipeline and memory hierarchy.
-For more information, please refer to the "Instruction-Based Sampling:
-A New Performance Analysis Technique for AMD Family 10h Processors" (
-<a href="http://developer.amd.com/assets/AMD_IBS_paper_EN.pdf">
-http://developer.amd.com/assets/AMD_IBS_paper_EN.pdf</a>).
-There are two types of IBS profile types, described in the following sections.
-</p>
- <div class="sect3" lang="en" xml:lang="en">
- <div class="titlepage">
- <div>
- <div>
- <h4 class="title"><a id="ibs-fetch"></a>4.8.1. IBS Fetch</h4>
- </div>
- </div>
- </div>
- <p>
-IBS fetch sampling is a statistical sampling method which counts completed
-fetch operations. When the number of completed fetch operations reaches the
-maximum fetch count (the sampling period), IBS tags the fetch operation and
-monitors that operation until it either completes or aborts. When a tagged
-fetch completes or aborts, a sampling interrupt is generated and an IBS fetch
-sample is taken. An IBS fetch sample contains a timestamp, the identifier of
-the interrupted process, the virtual fetch address, and several event flags
-and values that describe what happened during the fetch operation.
-</p>
- </div>
- <div class="sect3" lang="en" xml:lang="en">
- <div class="titlepage">
- <div>
- <div>
- <h4 class="title"><a id="ibs-op"></a>4.8.2. IBS Op</h4>
- </div>
- </div>
- </div>
- <p>
-IBS op sampling selects, tags, and monitors macro-ops as issued from AMD64
-instructions. Two options are available for selecting ops for sampling:
-</p>
- <div class="itemizedlist">
- <ul type="disc">
- <li>
-Cycles-based selection counts CPU clock cycles. The op is tagged and monitored
-when the count reaches a threshold (the sampling period) and a valid op is
-available.
-</li>
- <li>
-Dispatched op-based selection counts dispatched macro-ops.
-When the count reaches a threshold, the next valid op is tagged and monitored.
-</li>
- </ul>
- </div>
- <p>
-In both cases, an IBS sample is generated only if the tagged op retires.
-Thus, IBS op event information does not measure speculative execution activity.
-The execution stages of the pipeline monitor the tagged macro-op. When the
-tagged macro-op retires, a sampling interrupt is generated and an IBS op
-sample is taken. An IBS op sample contains a timestamp, the identifier of
-the interrupted process, the virtual address of the AMD64 instruction from
-which the op was issued, and several event flags and values that describe
-what happened when the macro-op executed.
-</p>
- </div>
- <p>
-Enabling IBS profiling is done simply by specifying IBS performance events
-through the "--event=" options. These events are listed in the
-<code class="function">opcontrol --list-events</code>.
-</p>
- <table xmlns="" border="0" style="background: #E0E0E0;" width="90%">
- <tr>
- <td>
- <pre class="screen">
-opcontrol --event=IBS_FETCH_XXX:&lt;count&gt;:&lt;um&gt;:&lt;kernel&gt;:&lt;user&gt;
-opcontrol --event=IBS_OP_XXX:&lt;count&gt;:&lt;um&gt;:&lt;kernel&gt;:&lt;user&gt;
-
-Note: * All IBS fetch event must have the same event count and unitmask,
- as do those for IBS op.
-</pre>
- </td>
- </tr>
- </table>
- </div>
- <div class="sect2" lang="en" xml:lang="en">
- <div class="titlepage">
- <div>
- <div>
- <h3 class="title"><a id="misuse"></a>4.9. Dangerous counter settings</h3>
- </div>
- </div>
- </div>
- <p>
-OProfile is a low-level profiler which allow continuous profiling with a low-overhead cost.
-If too low a count reset value is set for a counter, the system can become overloaded with counter
-interrupts, and seem as if the system has frozen. Whilst some validation is done, it
-is not foolproof.
-</p>
- <div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
- <h3 class="title">Note</h3>
- <p>
-This can happen as follows: When the profiler count
-reaches zero an NMI handler is called which stores the sample values in an internal buffer, then resets the counter
-to its original value. If the count is very low, a pending NMI can be sent before the NMI handler has
-completed. Due to the priority of the NMI, the local APIC delivers the pending interrupt immediately after
-completion of the previous interrupt handler, and control never returns to other parts of the system.
-In this way the system seems to be frozen.
-</p>
- </div>
- <p>If this happens, it will be impossible to bring the system back to a workable state.
-There is no way to provide real security against this happening, other than making sure to use a reasonable value
-for the counter reset. For example, setting <code class="constant">CPU_CLK_UNHALTED</code> event type with a ridiculously low reset count (e.g. 500)
-is likely to freeze the system.
-</p>
- <p>
-In short : <span><strong class="command">Don't try a foolish sample count value</strong></span>. Unfortunately the definition of a foolish value
-is really dependent on the event type - if ever in doubt, e-mail </p>
- <div class="address">
- <p><code class="email">&lt;<a href="mailto:oprofile-list@lists.sf.net">oprofile-list@lists.sf.net</a>&gt;</code>.</p>
- </div>
- </div>
- </div>
- </div>
- <div class="chapter" lang="en" xml:lang="en">
- <div class="titlepage">
- <div>
- <div>
- <h2 class="title"><a id="results"></a>Chapter 4. Obtaining results</h2>
- </div>
- </div>
- </div>
- <div class="toc">
- <p>
- <b>Table of Contents</b>
- </p>
- <dl>
- <dt>
- <span class="sect1">
- <a href="#profile-spec">1. Profile specifications</a>
- </span>
- </dt>
- <dd>
- <dl>
- <dt>
- <span class="sect2">
- <a href="#profile-spec-examples">1.1. Examples</a>
- </span>
- </dt>
- <dt>
- <span class="sect2">
- <a href="#profile-spec-details">1.2. Profile specification parameters</a>
- </span>
- </dt>
- <dt>
- <span class="sect2">
- <a href="#locating-and-managing-binary-images">1.3. Locating and managing binary images</a>
- </span>
- </dt>
- <dt>
- <span class="sect2">
- <a href="#no-results">1.4. What to do when you don't get any results</a>
- </span>
- </dt>
- </dl>
- </dd>
- <dt>
- <span class="sect1">
- <a href="#opreport">2. Image summaries and symbol summaries (<span><strong class="command">opreport</strong></span>)</a>
- </span>
- </dt>
- <dd>
- <dl>
- <dt>
- <span class="sect2">
- <a href="#opreport-merging">2.1. Merging separate profiles</a>
- </span>
- </dt>
- <dt>
- <span class="sect2">
- <a href="#opreport-comparison">2.2. Side-by-side multiple results</a>
- </span>
- </dt>
- <dt>
- <span class="sect2">
- <a href="#opreport-callgraph">2.3. Callgraph output</a>
- </span>
- </dt>
- <dt>
- <span class="sect2">
- <a href="#opreport-diff">2.4. Differential profiles with <span><strong class="command">opreport</strong></span></a>
- </span>
- </dt>
- <dt>
- <span class="sect2">
- <a href="#opreport-anon">2.5. Anonymous executable mappings</a>
- </span>
- </dt>
- <dt>
- <span class="sect2">
- <a href="#opreport-xml">2.6. XML formatted output</a>
- </span>
- </dt>
- <dt>
- <span class="sect2">
- <a href="#opreport-options">2.7. Options for <span><strong class="command">opreport</strong></span></a>
- </span>
- </dt>
- </dl>
- </dd>
- <dt>
- <span class="sect1">
- <a href="#opannotate">3. Outputting annotated source (<span><strong class="command">opannotate</strong></span>)</a>
- </span>
- </dt>
- <dd>
- <dl>
- <dt>
- <span class="sect2">
- <a href="#opannotate-finding-source">3.1. Locating source files</a>
- </span>
- </dt>
- <dt>
- <span class="sect2">
- <a href="#opannotate-details">3.2. Usage of <span><strong class="command">opannotate</strong></span></a>
- </span>
- </dt>
- </dl>
- </dd>
- <dt>
- <span class="sect1">
- <a href="#getting-jit-reports">4. OProfile results with JIT samples</a>
- </span>
- </dt>
- <dt>
- <span class="sect1">
- <a href="#opgprof">5. <span><strong class="command">gprof</strong></span>-compatible output (<span><strong class="command">opgprof</strong></span>)</a>
- </span>
- </dt>
- <dd>
- <dl>
- <dt>
- <span class="sect2">
- <a href="#opgprof-details">5.1. Usage of <span><strong class="command">opgprof</strong></span></a>
- </span>
- </dt>
- </dl>
- </dd>
- <dt>
- <span class="sect1">
- <a href="#oparchive">6. Archiving measurements (<span><strong class="command">oparchive</strong></span>)</a>
- </span>
- </dt>
- <dd>
- <dl>
- <dt>
- <span class="sect2">
- <a href="#oparchive-details">6.1. Usage of <span><strong class="command">oparchive</strong></span></a>
- </span>
- </dt>
- </dl>
- </dd>
- <dt>
- <span class="sect1">
- <a href="#opimport">7. Converting sample database files (<span><strong class="command">opimport</strong></span>)</a>
- </span>
- </dt>
- <dd>
- <dl>
- <dt>
- <span class="sect2">
- <a href="#opimport-details">7.1. Usage of <span><strong class="command">opimport</strong></span></a>
- </span>
- </dt>
- </dl>
- </dd>
- </dl>
- </div>
- <p>
-OK, so the profiler has been running, but it's not much use unless we can get some data out. Fairly often,
-OProfile does a little <span class="emphasis"><em>too</em></span> good a job of keeping overhead low, and no data reaches
-the profiler. This can happen on lightly-loaded machines. Remember you can force a dump at any time with :
-</p>
- <p>
- <span>
- <strong class="command">opcontrol --dump</strong>
- </span>
- </p>
- <p>Remember to do this before complaining there is no profiling data !
-Now that we've got some data, it has to be processed. That's the job of <span><strong class="command">opreport</strong></span>,
-<span><strong class="command">opannotate</strong></span>, or <span><strong class="command">opgprof</strong></span>.
-</p>
- <div class="sect1" lang="en" xml:lang="en">
- <div class="titlepage">
- <div>
- <div>
- <h2 class="title" style="clear: both"><a id="profile-spec"></a>1. Profile specifications</h2>
- </div>
- </div>
- </div>
- <p>
-All of the analysis tools take a <span class="emphasis"><em>profile specification</em></span>.
-This is a set of definitions that describe which actual profiles should be
-examined. The simplest profile specification is empty: this will match all
-the available profile files for the current session (this is what happens
-when you do <span><strong class="command">opreport</strong></span>).
-</p>
- <p>
-Specification parameters are of the form <code class="option">name:value[,value]</code>.
-For example, if I wanted to get a combined symbol summary for
-<code class="filename">/bin/myprog</code> and <code class="filename">/bin/myprog2</code>,
-I could do <span><strong class="command">opreport -l image:/bin/myprog,/bin/myprog2</strong></span>.
-As a special case, you don't actually need to specify the <code class="option">image:</code>
-part here: anything left on the command line is assumed to be an
-<code class="option">image:</code> name. Similarly, if no <code class="option">session:</code>
-is specified, then <code class="option">session:current</code> is assumed ("current"
-is a special name of the current / last profiling session).
-</p>
- <p>
-In addition to the comma-separated list shown above, some of the
-specification parameters can take <span><strong class="command">glob</strong></span>-style
-values. For example, if I want to see image summaries for all
-binaries profiled in <code class="filename">/usr/bin/</code>, I could do
-<span><strong class="command">opreport image:/usr/bin/\*</strong></span>. Note the necessity
-to escape the special character from the shell.
-</p>
- <p>
-For <span><strong class="command">opreport</strong></span>, profile specifications can be used to
-define two profiles, giving differential output. This is done by
-enclosing each of the two specifications within curly braces, as shown
-in the examples below. Any specifications outside of curly braces are
-shared across both.
-</p>
- <div class="sect2" lang="en" xml:lang="en">
- <div class="titlepage">
- <div>
- <div>
- <h3 class="title"><a id="profile-spec-examples"></a>1.1. Examples</h3>
- </div>
- </div>
- </div>
- <p>
-Image summaries for all profiles with <code class="constant">DATA_MEM_REFS</code>
-samples in the saved session called "stresstest" :
-</p>
- <table xmlns="" border="0" style="background: #E0E0E0;" width="90%">
- <tr>
- <td>
- <pre class="screen">
-# opreport session:stresstest event:DATA_MEM_REFS
-</pre>
- </td>
- </tr>
- </table>
- <p>
-Symbol summary for the application called "test_sym53c8xx,9xx". Note the
-escaping is necessary as <code class="option">image:</code> takes a comma-separated list.
-</p>
- <table xmlns="" border="0" style="background: #E0E0E0;" width="90%">
- <tr>
- <td>
- <pre class="screen">
-# opreport -l ./test/test_sym53c8xx\,9xx
-</pre>
- </td>
- </tr>
- </table>
- <p>
-Image summaries for all binaries in the <code class="filename">test</code> directory,
-excepting <code class="filename">boring-test</code> :
-</p>
- <table xmlns="" border="0" style="background: #E0E0E0;" width="90%">
- <tr>
- <td>
- <pre class="screen">
-# opreport image:./test/\* image-exclude:./test/boring-test
-</pre>
- </td>
- </tr>
- </table>
- <p>
-Differential profile of a binary stored in two archives :
-</p>
- <table xmlns="" border="0" style="background: #E0E0E0;" width="90%">
- <tr>
- <td>
- <pre class="screen">
-# opreport -l /bin/bash { archive:./orig } { archive:./new }
-</pre>
- </td>
- </tr>
- </table>
- <p>
-Differential profile of an archived binary with the current session :
-</p>
- <table xmlns="" border="0" style="background: #E0E0E0;" width="90%">
- <tr>
- <td>
- <pre class="screen">
-# opreport -l /bin/bash { archive:./orig } { }
-</pre>
- </td>
- </tr>
- </table>
- </div>
- <div class="sect2" lang="en" xml:lang="en">
- <div class="titlepage">
- <div>
- <div>
- <h3 class="title"><a id="profile-spec-details"></a>1.2. Profile specification parameters</h3>
- </div>
- </div>
- </div>
- <div class="variablelist">
- <dl>
- <dt>
- <span class="term">
- <code class="option">archive:</code>
- <span class="emphasis">
- <em>archivepath</em>
- </span>
- </span>
- </dt>
- <dd>
- <p>
- A path to an archive made with <span><strong class="command">oparchive</strong></span>.
- Absence of this tag, unlike others, means "the current system",
- equivalent to specifying "archive:".
- </p>
- </dd>
- <dt>
- <span class="term">
- <code class="option">session:</code>
- <span class="emphasis">
- <em>sessionlist</em>
- </span>
- </span>
- </dt>
- <dd>
- <p>
- A comma-separated list of session names to resolve in. Absence of this
- tag, unlike others, means "the current session", equivalent to
- specifying "session:current".
- </p>
- </dd>
- <dt>
- <span class="term">
- <code class="option">session-exclude:</code>
- <span class="emphasis">
- <em>sessionlist</em>
- </span>
- </span>
- </dt>
- <dd>
- <p>
- A comma-separated list of sessions to exclude.
- </p>
- </dd>
- <dt>
- <span class="term">
- <code class="option">image:</code>
- <span class="emphasis">
- <em>imagelist</em>
- </span>
- </span>
- </dt>
- <dd>
- <p>
- A comma-separated list of image names to resolve. Each entry may be relative
- path, <span><strong class="command">glob</strong></span>-style name, or full path, e.g.</p>
- <table xmlns="" border="0" style="background: #E0E0E0;" width="90%">
- <tr>
- <td>
- <pre class="screen">opreport 'image:/usr/bin/oprofiled,*op*,./opreport'</pre>
- </td>
- </tr>
- </table>
- </dd>
- <dt>
- <span class="term">
- <code class="option">image-exclude:</code>
- <span class="emphasis">
- <em>imagelist</em>
- </span>
- </span>
- </dt>
- <dd>
- <p>
- Same as <code class="option">image:</code>, but the matching images are excluded.
- </p>
- </dd>
- <dt>
- <span class="term">
- <code class="option">lib-image:</code>
- <span class="emphasis">
- <em>imagelist</em>
- </span>
- </span>
- </dt>
- <dd>
- <p>
- Same as <code class="option">image:</code>, but only for images that are for
- a particular primary binary image (namely, an application). This only
- makes sense to use if you're using <code class="option">--separate</code>.
- This includes kernel modules and the kernel when using
- <code class="option">--separate=kernel</code>.
- </p>
- </dd>
- <dt>
- <span class="term">
- <code class="option">lib-image-exclude:</code>
- <span class="emphasis">
- <em>imagelist</em>
- </span>
- </span>
- </dt>
- <dd>
- <p>
- Same as <code class="option">lib-image:</code>, but the matching images
- are excluded.
- </p>
- </dd>
- <dt>
- <span class="term">
- <code class="option">event:</code>
- <span class="emphasis">
- <em>eventlist</em>
- </span>
- </span>
- </dt>
- <dd>
- <p>
- The symbolic event name to match on, e.g. <code class="option">event:DATA_MEM_REFS</code>.
- You can pass a list of events for side-by-side comparison with <span><strong class="command">opreport</strong></span>.
- When using the timer interrupt, the event is always "TIMER".
- </p>
- </dd>
- <dt>
- <span class="term">
- <code class="option">count:</code>
- <span class="emphasis">
- <em>eventcountlist</em>
- </span>
- </span>
- </dt>
- <dd>
- <p>
- The event count to match on, e.g. <code class="option">event:DATA_MEM_REFS count:30000</code>.
- Note that this value refers to the setting used for <span><strong class="command">opcontrol</strong></span>
- only, and has nothing to do with the sample counts in the profile data
- itself.
- You can pass a list of events for side-by-side comparison with <span><strong class="command">opreport</strong></span>.
- When using the timer interrupt, the count is always 0 (indicating it cannot be set).
- </p>
- </dd>
- <dt>
- <span class="term">
- <code class="option">unit-mask:</code>
- <span class="emphasis">
- <em>masklist</em>
- </span>
- </span>
- </dt>
- <dd>
- <p>
- The unit mask value of the event to match on, e.g. <code class="option">unit-mask:1</code>.
- You can pass a list of events for side-by-side comparison with <span><strong class="command">opreport</strong></span>.
- </p>
- </dd>
- <dt>
- <span class="term">
- <code class="option">cpu:</code>
- <span class="emphasis">
- <em>cpulist</em>
- </span>
- </span>
- </dt>
- <dd>
- <p>
- Only consider profiles for the given numbered CPU (starting from zero).
- This is only useful when using CPU profile separation.
- </p>
- </dd>
- <dt>
- <span class="term">
- <code class="option">tgid:</code>
- <span class="emphasis">
- <em>pidlist</em>
- </span>
- </span>
- </dt>
- <dd>
- <p>
- Only consider profiles for the given task groups. Unless some program
- is using threads, the task group ID of a process is the same
- as its process ID. This option corresponds to the POSIX
- notion of a thread group.
- This is only useful when using per-process profile separation.
- </p>
- </dd>
- <dt>
- <span class="term">
- <code class="option">tid:</code>
- <span class="emphasis">
- <em>tidlist</em>
- </span>
- </span>
- </dt>
- <dd>
- <p>
- Only consider profiles for the given threads. When using
- recent thread libraries, all threads in a process share the
- same task group ID, but have different thread IDs. You can
- use this option in combination with <code class="option">tgid:</code> to
- restrict the results to particular threads within a process.
- This is only useful when using per-process profile separation.
- </p>
- </dd>
- </dl>
- </div>
- </div>
- <div class="sect2" lang="en" xml:lang="en">
- <div class="titlepage">
- <div>
- <div>
- <h3 class="title"><a id="locating-and-managing-binary-images"></a>1.3. Locating and managing binary images</h3>
- </div>
- </div>
- </div>
- <p>
-Each session's sample files can be found in the $SESSION_DIR/samples/ directory (default: <code class="filename">/var/lib/oprofile/samples/</code>).
-These are used, along with the binary image files, to produce human-readable data.
-In some circumstances (kernel modules in an initrd, or modules on 2.6 kernels), OProfile
-will not be able to find the binary images. All the tools have an <code class="option">--image-path</code>
-option to which you can pass a comma-separated list of alternate paths to search. For example,
-I can let OProfile find my 2.6 modules by using <span><strong class="command">--image-path /lib/modules/2.6.0/kernel/</strong></span>.
-It is your responsibility to ensure that the correct images are found when using this
-option.
-</p>
- <p>
-Note that if a binary image changes after the sample file was created, you won't be able to get useful
-symbol-based data out. This situation is detected for you. If you replace a binary, you should
-make sure to save the old binary if you need to do comparative profiles.
-</p>
- </div>
- <div class="sect2" lang="en" xml:lang="en">
- <div class="titlepage">
- <div>
- <div>
- <h3 class="title"><a id="no-results"></a>1.4. What to do when you don't get any results</h3>
- </div>
- </div>
- </div>
- <p>
-When attempting to get output, you may see the error :
-</p>
- <table xmlns="" border="0" style="background: #E0E0E0;" width="90%">
- <tr>
- <td>
- <pre class="screen">
-error: no sample files found: profile specification too strict ?
-</pre>
- </td>
- </tr>
- </table>
- <p>
-What this is saying is that the profile specification you passed in,
-when matched against the available sample files, resulted in no matches.
-There are a number of reasons this might happen:
-</p>
- <div class="variablelist">
- <dl>
- <dt>
- <span class="term">spelling</span>
- </dt>
- <dd>
- <p>
-You specified a binary name, but spelt it wrongly. Check your spelling !
-</p>
- </dd>
- <dt>
- <span class="term">profiler wasn't running</span>
- </dt>
- <dd>
- <p>
-Make very sure that OProfile was actually up and running when you ran
-the binary.
-</p>
- </dd>
- <dt>
- <span class="term">binary didn't run long enough</span>
- </dt>
- <dd>
- <p>
-Remember OProfile is a statistical profiler - you're not guaranteed to
-get samples for short-running programs. You can help this by using a
-lower count for the performance counter, so there are a lot more samples
-taken per second.
-</p>
- </dd>
- <dt>
- <span class="term">binary spent most of its time in libraries</span>
- </dt>
- <dd>
- <p>
-Similarly, if the binary spends little time in the main binary image
-itself, with most of it spent in shared libraries it uses, you might
-not see any samples for the binary image itself. You can check this
-by using <span><strong class="command">opcontrol --separate=lib</strong></span> before the
-profiling session, so <span><strong class="command">opreport</strong></span> and friends show
-the library profiles on a per-application basis.
-</p>
- </dd>
- <dt>
- <span class="term">specification was really too strict</span>
- </dt>
- <dd>
- <p>
-For example, you specified something like <code class="option">tgid:3433</code>,
-but no task with that group ID ever ran the code.
-</p>
- </dd>
- <dt>
- <span class="term">binary didn't generate any events</span>
- </dt>
- <dd>
- <p>
-If you're using a particular event counter, for example counting MMX
-operations, the code might simply have not generated any events in the
-first place. Verify the code you're profiling does what you expect it
-to.
-</p>
- </dd>
- <dt>
- <span class="term">you didn't specify kernel module name correctly</span>
- </dt>
- <dd>
- <p>
-If you're using 2.6 kernels, and trying to get reports for a kernel
-module, make sure to use the <code class="option">-p</code> option, and specify the
-module name <span class="emphasis"><em>with</em></span> the <code class="filename">.ko</code>
-extension. Check if the module is one loaded from initrd.
-</p>
- </dd>
- </dl>
- </div>
- </div>
- </div>
- <div class="sect1" lang="en" xml:lang="en">
- <div class="titlepage">
- <div>
- <div>
- <h2 class="title" style="clear: both"><a id="opreport"></a>2. Image summaries and symbol summaries (<span><strong class="command">opreport</strong></span>)</h2>
- </div>
- </div>
- </div>
- <p>
-The <span><strong class="command">opreport</strong></span> utility is the primary utility you will use for
-getting formatted data out of OProfile. It produces two types of data: image summaries
-and symbol summaries. An image summary lists the number of samples for individual
-binary images such as libraries or applications. Symbol summaries provide per-symbol
-profile data. In the following example, we're getting an image summary for the whole
-system:
-</p>
- <table xmlns="" border="0" style="background: #E0E0E0;" width="90%">
- <tr>
- <td>
- <pre class="screen">
-$ opreport --long-filenames
-CPU: PIII, speed 863.195 MHz (estimated)
-Counted CPU_CLK_UNHALTED events (clocks processor is not halted) with a unit mask of 0x00 (No unit mask) count 23150
- 905898 59.7415 /usr/lib/gcc-lib/i386-redhat-linux/3.2/cc1plus
- 214320 14.1338 /boot/2.6.0/vmlinux
- 103450 6.8222 /lib/i686/libc-2.3.2.so
- 60160 3.9674 /usr/local/bin/madplay
- 31769 2.0951 /usr/local/oprofile-pp/bin/oprofiled
- 26550 1.7509 /usr/lib/libartsflow.so.1.0.0
- 23906 1.5765 /usr/bin/as
- 18770 1.2378 /oprofile
- 15528 1.0240 /usr/lib/qt-3.0.5/lib/libqt-mt.so.3.0.5
- 11979 0.7900 /usr/X11R6/bin/XFree86
- 11328 0.7471 /bin/bash
- ...
-</pre>
- </td>
- </tr>
- </table>
- <p>
-If we had specified <code class="option">--symbols</code> in the previous command, we would have
-gotten a symbol summary of all the images across the entire system. We can restrict this to only
-part of the system profile; for example,
-below is a symbol summary of the OProfile daemon. Note that as we used
-<span><strong class="command">opcontrol --separate=kernel</strong></span>, symbols from images that <span><strong class="command">oprofiled</strong></span>
-has used are also shown.
-</p>
- <table xmlns="" border="0" style="background: #E0E0E0;" width="90%">
- <tr>
- <td>
- <pre class="screen">
-$ opreport -l `which oprofiled` 2&gt;/dev/null | more
-CPU: PIII, speed 863.195 MHz (estimated)
-Counted CPU_CLK_UNHALTED events (clocks processor is not halted) with a unit mask of 0x00 (No unit mask) count 23150
-vma samples % image name symbol name
-0804be10 14971 28.1993 oprofiled odb_insert
-0804afdc 7144 13.4564 oprofiled pop_buffer_value
-c01daea0 6113 11.5144 vmlinux __copy_to_user_ll
-0804b060 2816 5.3042 oprofiled opd_put_sample
-0804b4a0 2147 4.0441 oprofiled opd_process_samples
-0804acf4 1855 3.4941 oprofiled opd_put_image_sample
-0804ad84 1766 3.3264 oprofiled opd_find_image
-0804a5ec 1084 2.0418 oprofiled opd_find_module
-0804ba5c 741 1.3957 oprofiled odb_hash_add_node
-...
-</pre>
- </td>
- </tr>
- </table>
- <p>
-These are the two basic ways you are most likely to use regularly, but <span><strong class="command">opreport</strong></span>
-can do a lot more than that, as described below.
-</p>
- <div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="opreport-merging"></a>2.1. Merging separate profiles</h3></div></div></div>
-
-If you have used one of the <code class="option">--separate=</code> options
-whilst profiling, there can be several separate profiles for
-a single binary image within a session. Normally the output
-will keep these images separated (so, for example, the image summary
-output shows library image summaries on a per-application basis,
-when using <code class="option">--separate=lib</code>).
-Sometimes it can be useful to merge these results back together
-before getting results. The <code class="option">--merge</code> option allows
-you to do that.
-</div>
- <div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="opreport-comparison"></a>2.2. Side-by-side multiple results</h3></div></div></div>
-If you have used multiple events when profiling, by default you get
-side-by-side results of each event's sample values from <span><strong class="command">opreport</strong></span>.
-You can restrict which events to list by appropriate use of the
-<code class="option">event:</code> profile specifications, etc.
-</div>
- <div class="sect2" lang="en" xml:lang="en">
- <div class="titlepage">
- <div>
- <div>
- <h3 class="title"><a id="opreport-callgraph"></a>2.3. Callgraph output</h3>
- </div>
- </div>
- </div>
- <p>
-This section provides details on how to use the OProfile callgraph feature.
-</p>
- <div class="sect3" lang="en" xml:lang="en">
- <div class="titlepage">
- <div>
- <div>
- <h4 class="title"><a id="op-cg1"></a>2.3.1. Callgraph details</h4>
- </div>
- </div>
- </div>
- <p>
-When using the <code class="option">opcontrol --callgraph</code> option, you can see what
-functions are calling other functions in the output. Consider the
-following program:
-</p>
- <table xmlns="" border="0" style="background: #E0E0E0;" width="90%">
- <tr>
- <td>
- <pre class="screen">
-#include &lt;string.h&gt;
-#include &lt;stdlib.h&gt;
-#include &lt;stdio.h&gt;
-
-#define SIZE 500000
-
-static int compare(const void *s1, const void *s2)
-{
- return strcmp(s1, s2);
-}
-
-static void repeat(void)
-{
- int i;
- char *strings[SIZE];
- char str[] = "abcdefghijklmnopqrstuvwxyz";
-
- for (i = 0; i &lt; SIZE; ++i) {
- strings[i] = strdup(str);
- strfry(strings[i]);
- }
-
- qsort(strings, SIZE, sizeof(char *), compare);
-}
-
-int main()
-{
- while (1)
- repeat();
-}
-</pre>
- </td>
- </tr>
- </table>
- <p>
-When running with the call-graph option, OProfile will
-record the function stack every time it takes a sample.
-<span><strong class="command">opreport --callgraph</strong></span> outputs an entry for each
-function, where each entry looks similar to:
-</p>
- <table xmlns="" border="0" style="background: #E0E0E0;" width="90%">
- <tr>
- <td>
- <pre class="screen">
-samples % image name symbol name
- 197 0.1548 cg main
- 127036 99.8452 cg repeat
-84590 42.5084 libc-2.3.2.so strfry
- 84590 66.4838 libc-2.3.2.so strfry [self]
- 39169 30.7850 libc-2.3.2.so random_r
- 3475 2.7312 libc-2.3.2.so __i686.get_pc_thunk.bx
--------------------------------------------------------------------------------
-</pre>
- </td>
- </tr>
- </table>
- <p>
-Here the non-indented line is the function we're focussing upon
-(<code class="function">strfry()</code>). This
-line is the same as you'd get from a normal <span><strong class="command">opreport</strong></span>
-output.
-</p>
- <p>
-Above the non-indented line we find the functions that called this
-function (for example, <code class="function">repeat()</code> calls
-<code class="function">strfry()</code>). The samples and percentage values here
-refer to the number of times we took a sample where this call was found
-in the stack; the percentage is relative to all other callers of the
-function we're focussing on. Note that these values are
-<span class="emphasis"><em>not</em></span> call counts; they only reflect the call stack
-every time a sample is taken; that is, if a call is found in the stack
-at the time of a sample, it is recorded in this count.
-</p>
- <p>
-Below the line are functions that are called by
-<code class="function">strfry()</code> (called <span class="emphasis"><em>callees</em></span>).
-It's clear here that <code class="function">strfry()</code> calls
-<code class="function">random_r()</code>. We also see a special entry with a
-"[self]" marker. This records the normal samples for the function, but
-the percentage becomes relative to all callees. This allows you to
-compare time spent in the function itself compared to functions it
-calls. Note that if a function calls itself, then it will appear in the
-list of callees of itself, but without the "[self]" marker; so recursive
-calls are still clearly separable.
-</p>
- <p>
-You may have noticed that the output lists <code class="function">main()</code>
-as calling <code class="function">strfry()</code>, but it's clear from the source
-that this doesn't actually happen. See <a href="#interpreting-callgraph" title="3. Interpreting call-graph profiles">Section 3, &#8220;Interpreting call-graph profiles&#8221;</a> for an explanation.
-</p>
- </div>
- <div class="sect3" lang="en" xml:lang="en">
- <div class="titlepage">
- <div>
- <div>
- <h4 class="title"><a id="cg-with-jitsupport"></a>2.3.2. Callgraph and JIT support</h4>
- </div>
- </div>
- </div>
- <p>
-Callgraph output where anonymously mapped code is in the callstack can sometimes be misleading.
-For all such code, the samples for the anonymously mapped code are stored in a samples subdirectory
-named <code class="filename">{anon:anon}/&lt;tgid&gt;.&lt;begin_addr&gt;.&lt;end_addr&gt;</code>.
-As stated earlier, if this anonymously mapped code is JITed code from a supported VM like Java,
-OProfile creates an ELF file to provide a (somewhat) permanent backing file for the code.
-However, when viewing callgraph output, any anonymously mapped code in the callstack
-will be attributed to <code class="filename">anon (&lt;tgid&gt;: range:&lt;begin_addr&gt;-&lt;end_addr&gt;</code>,
-even if a <code class="filename">.jo</code> ELF file had been created for it. See the example below.
-</p>
- <table xmlns="" border="0" style="background: #E0E0E0;" width="90%">
- <tr>
- <td>
- <pre class="screen">
--------------------------------------------------------------------------------
- 1 2.2727 libj9ute23.so java.bin traceV
- 2 4.5455 libj9ute23.so java.bin utsTraceV
- 4 9.0909 libj9trc23.so java.bin fillInUTInterfaces
- 37 84.0909 libj9trc23.so java.bin twGetSequenceCounter
-8 0.0154 libj9prt23.so java.bin j9time_hires_clock
- 27 61.3636 anon (tgid:10014 range:0x100000-0x103000) java.bin (no symbols)
- 9 20.4545 libc-2.4.so java.bin gettimeofday
- 8 18.1818 libj9prt23.so java.bin j9time_hires_clock [self]
--------------------------------------------------------------------------------
-</pre>
- </td>
- </tr>
- </table>
- <p>
-The output shows that "anon (tgid:10014 range:0x100000-0x103000)" was a callee of
-<code class="code">j9time_hires_clock</code>, even though the ELF file <code class="filename">10014.jo</code> was
-created for this profile run. Unfortunately, there is currently no way to correlate
-that anonymous callgraph entry with its corresponding <code class="filename">.jo</code> file.
-</p>
- </div>
- </div>
- <div class="sect2" lang="en" xml:lang="en">
- <div class="titlepage">
- <div>
- <div>
- <h3 class="title"><a id="opreport-diff"></a>2.4. Differential profiles with <span><strong class="command">opreport</strong></span></h3>
- </div>
- </div>
- </div>
- <p>
-Often, we'd like to be able to compare two profiles. For example, when
-analysing the performance of an application, we'd like to make code
-changes and examine the effect of the change. This is supported in
-<span><strong class="command">opreport</strong></span> by giving a profile specification that
-identifies two different profiles. The general form is of:
-</p>
- <table xmlns="" border="0" style="background: #E0E0E0;" width="90%">
- <tr>
- <td>
- <pre class="screen">
-$ opreport &lt;shared-spec&gt; { &lt;first-profile&gt; } { &lt;second-profile&gt; }
-</pre>
- </td>
- </tr>
- </table>
- <div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
- <h3 class="title">Note</h3>
- <p>
-We lost our Dragon book down the back of the sofa, so you have to be
-careful to have spaces around those braces, or things will get
-hopelessly confused. We can only apologise.
-</p>
- </div>
- <p>
-For each of the profiles, the shared section is prefixed, and then the
-specification is analysed. The usual parameters work both within the
-shared section, and in the sub-specification within the curly braces.
-</p>
- <p>
-A typical way to use this feature is with archives created with
-<span><strong class="command">oparchive</strong></span>. Let's look at an example:
-</p>
- <table xmlns="" border="0" style="background: #E0E0E0;" width="90%">
- <tr>
- <td>
- <pre class="screen">
-$ ./a
-$ oparchive -o orig ./a
-$ opcontrol --reset
- # edit and recompile a
-$ ./a
- # now compare the current profile of a with the archived profile
-$ opreport -xl ./a { archive:./orig } { }
-CPU: PIII, speed 863.233 MHz (estimated)
-Counted CPU_CLK_UNHALTED events (clocks processor is not halted) with a
-unit mask of 0x00 (No unit mask) count 100000
-samples % diff % symbol name
-92435 48.5366 +0.4999 a
-54226 --- --- c
-49222 25.8459 +++ d
-48787 25.6175 -2.2e-01 b
-</pre>
- </td>
- </tr>
- </table>
- <p>
-Note that we specified an empty second profile in the curly braces, as
-we wanted to use the current session; alternatively, we could
-have specified another archive, or a tgid etc. We specified the binary
-<span><strong class="command">a</strong></span> in the shared section, so we matched that in both
-the profiles we're diffing.
-</p>
- <p>
-As in the normal output, the results are sorted by the number of
-samples, and the percentage field represents the relative percentage of
-the symbol's samples in the second profile.
-</p>
- <p>
-Notice the new column in the output. This value represents the
-percentage change of the relative percent between the first and the
-second profile: roughly, "how much more important this symbol is".
-Looking at the symbol <code class="function">a()</code>, we can see that it took
-roughly the same amount of the total profile in both the first and the
-second profile. The function <code class="function">c()</code> was not in the new
-profile, so has been marked with <code class="function">---</code>. Note that the
-sample value is the number of samples in the first profile; since we're
-displaying results for the second profile, we don't list a percentage
-value for it, as it would be meaningless. <code class="function">d()</code> is
-new in the second profile, and consequently marked with
-<code class="function">+++</code>.
-</p>
- <p>
-When comparing profiles between different binaries, it should be clear
-that functions can change in terms of VMA and size. To avoid this
-problem, <span><strong class="command">opreport</strong></span> considers a symbol to be the same
-if the symbol name, image name, and owning application name all match;
-any other factors are ignored. Note that the check for application name
-means that trying to compare library profiles between two different
-applications will not work as you might expect: each symbol will be
-considered different.
-</p>
- </div>
- <div class="sect2" lang="en" xml:lang="en">
- <div class="titlepage">
- <div>
- <div>
- <h3 class="title"><a id="opreport-anon"></a>2.5. Anonymous executable mappings</h3>
- </div>
- </div>
- </div>
- <p>
-Many applications, typically ones involving dynamic compilation into
-machine code (just-in-time, or "JIT", compilation), have executable mappings that
-are not backed by an ELF file. <span><strong class="command">opreport</strong></span> has basic support for showing the
-samples taken in these regions; for example:
-</p>
- <table xmlns="" border="0" style="background: #E0E0E0;" width="90%">
- <tr>
- <td>
- <pre class="screen">
-$ opreport /usr/bin/mono -l
-CPU: ppc64 POWER5, speed 1654.34 MHz (estimated)
-Counted CYCLES events (Processor Cycles using continuous sampling) with a unit mask of 0x00 (No unit mask) count 100000
-samples % image name symbol name
-47 58.7500 mono (no symbols)
-14 17.5000 anon (tgid:3189 range:0xf72aa000-0xf72fa000) (no symbols)
-9 11.2500 anon (tgid:3189 range:0xf6cca000-0xf6dd9000) (no symbols)
-. . . .
-</pre>
- </td>
- </tr>
- </table>
- <p>
-</p>
- <p>
-Note that, since such mappings are dependent upon individual invocations of
-a binary, these mappings are always listed as a dependent image,
-even when using <code class="option">--separate=none</code>.
-Equally, the results are not affected by the <code class="option">--merge</code>
-option.
-</p>
- <p>
-As shown in the opreport output above, OProfile is unable to attribute the samples to any
-symbol(s) because there is no ELF file for this code.
-Enhanced support for JITed code is now available for some virtual machines;
-e.g., the Java Virtual Machine. For details about OProfile output for
-JITed code, see <a href="#getting-jit-reports" title="4. OProfile results with JIT samples">Section 4, &#8220;OProfile results with JIT samples&#8221;</a>.
-</p>
- <p>For more information about JIT support in OProfile, see <a href="#jitsupport" title="1.1. Support for dynamically compiled (JIT) code">Section 1.1, &#8220;Support for dynamically compiled (JIT) code&#8221;</a>.
-</p>
- </div>
- <div class="sect2" lang="en" xml:lang="en">
- <div class="titlepage">
- <div>
- <div>
- <h3 class="title"><a id="opreport-xml"></a>2.6. XML formatted output</h3>
- </div>
- </div>
- </div>
- <p>
-The -xml option can be used to generate XML instead of the usual
-text format. This allows opreport to eliminate some of the constraints
-dictated by the two dimensional text format. For example, it is possible
-to separate the sample data across multiple events, cpus and threads. The XML
-schema implemented by opreport is found in doc/opreport.xsd. It contains
-more detailed comments about the structure of the XML generated by opreport.
-</p>
- <p>
-Since XML is consumed by a client program rather than a user, its structure
-is fairly static. In particular, the --sort option is incompatible with the
---xml option. Percentages are not dislayed in the XML so the options related
-to percentages will have no effect. Full pathnames are always displayed in
-the XML so --long-filenames is not necessary. The --details option will cause
-all of the individual sample data to be included in the XML as well as the
-instruction byte stream for each symbol (for doing disassembly) and can result
-in very large XML files.
-</p>
- </div>
- <div class="sect2" lang="en" xml:lang="en">
- <div class="titlepage">
- <div>
- <div>
- <h3 class="title"><a id="opreport-options"></a>2.7. Options for <span><strong class="command">opreport</strong></span></h3>
- </div>
- </div>
- </div>
- <div class="variablelist">
- <dl>
- <dt>
- <span class="term">
- <code class="option">--accumulated / -a</code>
- </span>
- </dt>
- <dd>
- <p>
-Accumulate sample and percentage counts in the symbol list.
-</p>
- </dd>
- <dt>
- <span class="term">
- <code class="option">--callgraph / -c</code>
- </span>
- </dt>
- <dd>
- <p>
-Show callgraph information.
-</p>
- </dd>
- <dt>
- <span class="term">
- <code class="option">--debug-info / -g</code>
- </span>
- </dt>
- <dd>
- <p>
-Show source file and line for each symbol.
-</p>
- </dd>
- <dt>
- <span class="term">
- <code class="option">--demangle / -D none|normal|smart</code>
- </span>
- </dt>
- <dd>
- <p>
-none: no demangling. normal: use default demangler (default) smart: use
-pattern-matching to make C++ symbol demangling more readable.
-</p>
- </dd>
- <dt>
- <span class="term">
- <code class="option">--details / -d</code>
- </span>
- </dt>
- <dd>
- <p>
-Show per-instruction details for all selected symbols. Note that, for
-binaries without symbol information, the VMA values shown are raw file
-offsets for the image binary.
-</p>
- </dd>
- <dt>
- <span class="term">
- <code class="option">--exclude-dependent / -x</code>
- </span>
- </dt>
- <dd>
- <p>
-Do not include application-specific images for libraries, kernel modules
-and the kernel. This option only makes sense if the profile session
-used --separate.
-</p>
- </dd>
- <dt>
- <span class="term">
- <code class="option">--exclude-symbols / -e [symbols]</code>
- </span>
- </dt>
- <dd>
- <p>
-Exclude all the symbols in the given comma-separated list.
-</p>
- </dd>
- <dt>
- <span class="term">
- <code class="option">--global-percent / -%</code>
- </span>
- </dt>
- <dd>
- <p>
-Make all percentages relative to the whole profile.
-</p>
- </dd>
- <dt>
- <span class="term">
- <code class="option">--help / -? / --usage</code>
- </span>
- </dt>
- <dd>
- <p>
-Show help message.
-</p>
- </dd>
- <dt>
- <span class="term">
- <code class="option">--image-path / -p [paths]</code>
- </span>
- </dt>
- <dd>
- <p>
-Comma-separated list of additional paths to search for binaries.
-This is needed to find modules in kernels 2.6 and upwards.
-</p>
- </dd>
- <dt>
- <span class="term">
- <code class="option">--root / -R [path]</code>
- </span>
- </dt>
- <dd>
- <p>
-A path to a filesystem to search for additional binaries.
-</p>
- </dd>
- <dt>
- <span class="term">
- <code class="option">--include-symbols / -i [symbols]</code>
- </span>
- </dt>
- <dd>
- <p>
-Only include symbols in the given comma-separated list.
-</p>
- </dd>
- <dt>
- <span class="term">
- <code class="option">--long-filenames / -f</code>
- </span>
- </dt>
- <dd>
- <p>
-Output full paths instead of basenames.
-</p>
- </dd>
- <dt>
- <span class="term">
- <code class="option">--merge / -m [lib,cpu,tid,tgid,unitmask,all]</code>
- </span>
- </dt>
- <dd>
- <p>
-Merge any profiles separated in a --separate session.
-</p>
- </dd>
- <dt>
- <span class="term">
- <code class="option">--no-header</code>
- </span>
- </dt>
- <dd>
- <p>
-Don't output a header detailing profiling parameters.
-</p>
- </dd>
- <dt>
- <span class="term">
- <code class="option">--output-file / -o [file]</code>
- </span>
- </dt>
- <dd>
- <p>
-Output to the given file instead of stdout.
-</p>
- </dd>
- <dt>
- <span class="term">
- <code class="option">--reverse-sort / -r</code>
- </span>
- </dt>
- <dd>
- <p>
-Reverse the sort from the default.
-</p>
- </dd>
- <dt>
- <span class="term"><code class="option">--session-dir=</code>dir_path</span>
- </dt>
- <dd>
- <p>
-Use sample database out of directory <code class="filename">dir_path</code>
-instead of the default location (/var/lib/oprofile).
-</p>
- </dd>
- <dt>
- <span class="term">
- <code class="option">--show-address / -w</code>
- </span>
- </dt>
- <dd>
- <p>
-Show the VMA address of each symbol (off by default).
-</p>
- </dd>
- <dt>
- <span class="term">
- <code class="option">--sort / -s [vma,sample,symbol,debug,image]</code>
- </span>
- </dt>
- <dd>
- <p>
-Sort the list of symbols by, respectively, symbol address,
-number of samples, symbol name, debug filename and line number,
-binary image filename.
-</p>
- </dd>
- <dt>
- <span class="term">
- <code class="option">--symbols / -l</code>
- </span>
- </dt>
- <dd>
- <p>
-List per-symbol information instead of a binary image summary.
-</p>
- </dd>
- <dt>
- <span class="term">
- <code class="option">--threshold / -t [percentage]</code>
- </span>
- </dt>
- <dd>
- <p>
-Only output data for symbols that have more than the given percentage
-of total samples.
-</p>
- </dd>
- <dt>
- <span class="term">
- <code class="option">--verbose / -V [options]</code>
- </span>
- </dt>
- <dd>
- <p>
-Give verbose debugging output.
-</p>
- </dd>
- <dt>
- <span class="term">
- <code class="option">--version / -v</code>
- </span>
- </dt>
- <dd>
- <p>
-Show version.
-</p>
- </dd>
- <dt>
- <span class="term">
- <code class="option">--xml / -X</code>
- </span>
- </dt>
- <dd>
- <p>
-Generate XML output.
-</p>
- </dd>
- </dl>
- </div>
- </div>
- </div>
- <div class="sect1" lang="en" xml:lang="en">
- <div class="titlepage">
- <div>
- <div>
- <h2 class="title" style="clear: both"><a id="opannotate"></a>3. Outputting annotated source (<span><strong class="command">opannotate</strong></span>)</h2>
- </div>
- </div>
- </div>
- <p>
-The <span><strong class="command">opannotate</strong></span> utility generates annotated source files or assembly listings, optionally
-mixed with source.
-If you want to see the source file, the profiled application needs to have debug information, and the source
-must be available through this debug information. For GCC, you must use the <code class="option">-g</code> option
-when you are compiling.
-If the binary doesn't contain sufficient debug information, you can still
-use <span><strong class="command">opannotate <code class="option">--assembly</code></strong></span> to get annotated assembly.
-</p>
- <p>
-Note that for the reason explained in <a href="#hardware-counters" title="4.1. Hardware performance counters">Section 4.1, &#8220;Hardware performance counters&#8221;</a> the results can be
-inaccurate. The debug information itself can add other problems; for example, the line number for a symbol can be
-incorrect. Assembly instructions can be re-ordered and moved by the compiler, and this can lead to
-crediting source lines with samples not really "owned" by this line. Also see
-<a href="#interpreting" title="Chapter 5. Interpreting profiling results">Chapter 5, <i>Interpreting profiling results</i></a>.
-</p>
- <p>
-You can output the annotation to one single file, containing all the source found using the
-<code class="option">--source</code>. You can use this in conjunction with <code class="option">--assembly</code>
-to get combined source/assembly output.
-</p>
- <p>
-You can also output a directory of annotated source files that maintains the structure of
-the original sources. Each line in the annotated source is prepended with the samples
-for that line. Additionally, each symbol is annotated giving details for the symbol
-as a whole. An example:
-</p>
- <table xmlns="" border="0" style="background: #E0E0E0;" width="90%">
- <tr>
- <td>
- <pre class="screen">
-$ opannotate --source --output-dir=annotated /usr/local/oprofile-pp/bin/oprofiled
-$ ls annotated/home/moz/src/oprofile-pp/daemon/
-opd_cookie.h opd_image.c opd_kernel.c opd_sample_files.c oprofiled.c
-</pre>
- </td>
- </tr>
- </table>
- <p>
-Line numbers are maintained in the source files, but each file has
-a footer appended describing the profiling details. The actual annotation
-looks something like this :
-</p>
- <table xmlns="" border="0" style="background: #E0E0E0;" width="90%">
- <tr>
- <td>
- <pre class="screen">
-...
- :static uint64_t pop_buffer_value(struct transient * trans)
- 11510 1.9661 :{ /* pop_buffer_value total: 89901 15.3566 */
- : uint64_t val;
- :
- 10227 1.7469 : if (!trans-&gt;remaining) {
- : fprintf(stderr, "BUG: popping empty buffer !\n");
- : exit(EXIT_FAILURE);
- : }
- :
- : val = get_buffer_value(trans-&gt;buffer, 0);
- 2281 0.3896 : trans-&gt;remaining--;
- 2296 0.3922 : trans-&gt;buffer += kernel_pointer_size;
- : return val;
- 10454 1.7857 :}
-...
-</pre>
- </td>
- </tr>
- </table>
- <p>
-The first number on each line is the number of samples, whilst the second is
-the relative percentage of total samples.
-</p>
- <div class="sect2" lang="en" xml:lang="en">
- <div class="titlepage">
- <div>
- <div>
- <h3 class="title"><a id="opannotate-finding-source"></a>3.1. Locating source files</h3>
- </div>
- </div>
- </div>
- <p>
-Of course, <span><strong class="command">opannotate</strong></span> needs to be able to locate the source files
-for the binary image(s) in order to produce output. Some binary images have debug
-information where the given source file paths are relative, not absolute. You can
-specify search paths to look for these files (similar to <span><strong class="command">gdb</strong></span>'s
-<code class="option">dir</code> command) with the <code class="option">--search-dirs</code> option.
-</p>
- <p>
-Sometimes you may have a binary image which gives absolute paths for the source files,
-but you have the actual sources elsewhere (commonly, you've installed an SRPM for
-a binary on your system and you want annotation from an existing profile). You can
-use the <code class="option">--base-dirs</code> option to redirect OProfile to look somewhere
-else for source files. For example, imagine we have a binary generated from a source
-file that is given in the debug information as <code class="filename">/tmp/build/libfoo/foo.c</code>,
-and you have the source tree matching that binary installed in <code class="filename">/home/user/libfoo/</code>.
-You can redirect OProfile to find <code class="filename">foo.c</code> correctly like this :
-</p>
- <table xmlns="" border="0" style="background: #E0E0E0;" width="90%">
- <tr>
- <td>
- <pre class="screen">
-$ opannotate --source --base-dirs=/tmp/build/libfoo/ --search-dirs=/home/user/libfoo/ --output-dir=annotated/ /lib/libfoo.so
-</pre>
- </td>
- </tr>
- </table>
- <p>
-You can specify multiple (comma-separated) paths to both options.
-</p>
- </div>
- <div class="sect2" lang="en" xml:lang="en">
- <div class="titlepage">
- <div>
- <div>
- <h3 class="title"><a id="opannotate-details"></a>3.2. Usage of <span><strong class="command">opannotate</strong></span></h3>
- </div>
- </div>
- </div>
- <div class="variablelist">
- <dl>
- <dt>
- <span class="term">
- <code class="option">--assembly / -a</code>
- </span>
- </dt>
- <dd>
- <p>
-Output annotated assembly. If this is combined with --source, then mixed
-source / assembly annotations are output.
-</p>
- </dd>
- <dt>
- <span class="term">
- <code class="option">--base-dirs / -b [paths]/</code>
- </span>
- </dt>
- <dd>
- <p>
-Comma-separated list of path prefixes. This can be used to point OProfile to a
-different location for source files when the debug information specifies an
-absolute path on your system for the source that does not exist. The prefix
-is stripped from the debug source file paths, then searched in the search dirs
-specified by <code class="option">--search-dirs</code>.
-</p>
- </dd>
- <dt>
- <span class="term">
- <code class="option">--demangle / -D none|normal|smart</code>
- </span>
- </dt>
- <dd>
- <p>
-none: no demangling. normal: use default demangler (default) smart: use
-pattern-matching to make C++ symbol demangling more readable.
-</p>
- </dd>
- <dt>
- <span class="term">
- <code class="option">--exclude-dependent / -x</code>
- </span>
- </dt>
- <dd>
- <p>
-Do not include application-specific images for libraries, kernel modules
-and the kernel. This option only makes sense if the profile session
-used --separate.
-</p>
- </dd>
- <dt>
- <span class="term">
- <code class="option">--exclude-file [files]</code>
- </span>
- </dt>
- <dd>
- <p>
-Exclude all files in the given comma-separated list of glob patterns.
-</p>
- </dd>
- <dt>
- <span class="term">
- <code class="option">--exclude-symbols / -e [symbols]</code>
- </span>
- </dt>
- <dd>
- <p>
-Exclude all the symbols in the given comma-separated list.
-</p>
- </dd>
- <dt>
- <span class="term">
- <code class="option">--help / -? / --usage</code>
- </span>
- </dt>
- <dd>
- <p>
-Show help message.
-</p>
- </dd>
- <dt>
- <span class="term">
- <code class="option">--image-path / -p [paths]</code>
- </span>
- </dt>
- <dd>
- <p>
-Comma-separated list of additional paths to search for binaries.
-This is needed to find modules in kernels 2.6 and upwards.
-</p>
- </dd>
- <dt>
- <span class="term">
- <code class="option">--root / -R [path]</code>
- </span>
- </dt>
- <dd>
- <p>
-A path to a filesystem to search for additional binaries.
-</p>
- </dd>
- <dt>
- <span class="term">
- <code class="option">--include-file [files]</code>
- </span>
- </dt>
- <dd>
- <p>
-Only include files in the given comma-separated list of glob patterns.
-</p>
- </dd>
- <dt>
- <span class="term">
- <code class="option">--include-symbols / -i [symbols]</code>
- </span>
- </dt>
- <dd>
- <p>
-Only include symbols in the given comma-separated list.
-</p>
- </dd>
- <dt>
- <span class="term">
- <code class="option">--objdump-params [params]</code>
- </span>
- </dt>
- <dd>
- <p>
-Pass the given parameters as extra values when calling objdump.
-</p>
- </dd>
- <dt>
- <span class="term">
- <code class="option">--output-dir / -o [dir]</code>
- </span>
- </dt>
- <dd>
- <p>
-Output directory. This makes opannotate output one annotated file for each
-source file. This option can't be used in conjunction with --assembly.
-</p>
- </dd>
- <dt>
- <span class="term">
- <code class="option">--search-dirs / -d [paths]</code>
- </span>
- </dt>
- <dd>
- <p>
-Comma-separated list of paths to search for source files. This is useful to find
-source files when the debug information only contains relative paths.
-</p>
- </dd>
- <dt>
- <span class="term">
- <code class="option">--source / -s</code>
- </span>
- </dt>
- <dd>
- <p>
-Output annotated source. This requires debugging information to be available
-for the binaries.
-</p>
- </dd>
- <dt>
- <span class="term">
- <code class="option">--threshold / -t [percentage]</code>
- </span>
- </dt>
- <dd>
- <p>
-Only output data for symbols that have more than the given percentage
-of total samples.
-</p>
- </dd>
- <dt>
- <span class="term">
- <code class="option">--verbose / -V [options]</code>
- </span>
- </dt>
- <dd>
- <p>
-Give verbose debugging output.
-</p>
- </dd>
- <dt>
- <span class="term">
- <code class="option">--version / -v</code>
- </span>
- </dt>
- <dd>
- <p>
-Show version.
-</p>
- </dd>
- </dl>
- </div>
- </div>
- </div>
- <div class="sect1" lang="en" xml:lang="en">
- <div class="titlepage">
- <div>
- <div>
- <h2 class="title" style="clear: both"><a id="getting-jit-reports"></a>4. OProfile results with JIT samples</h2>
- </div>
- </div>
- </div>
- <p>
- After profiling a Java (or other supported VM) application, the command
- </p>
- <table xmlns="" border="0" style="background: #E0E0E0;" width="90%">
- <tr>
- <td>
- <pre class="screen"><span xmlns="http://www.w3.org/1999/xhtml"><strong class="command">"opcontrol --dump"</strong></span> </pre>
- </td>
- </tr>
- </table>
- <p>
- flushes the sample buffers and creates ELF binaries from the
- intermediate files that were written by the agent library.
- The ELF binaries are named <code class="filename">&lt;tgid&gt;.jo</code>.
- With the symbol information stored in these ELF files, it is
- possible to map samples to the appropriate symbols.
- </p>
- <p>
- The usual analysis tools (<span><strong class="command">opreport</strong></span> and/or
- <span><strong class="command">opannotate</strong></span>) can now be used
- to get symbols and assembly code for the instrumented VM processes.
- </p>
- <p>
-Below is an example of a profile report of a Java application that has been
-instrumented with the provided agent library.
-</p>
- <table xmlns="" border="0" style="background: #E0E0E0;" width="90%">
- <tr>
- <td>
- <pre class="screen">
-$ opreport -l /usr/lib/jvm/jre-1.5.0-ibm/bin/java
-CPU: Core Solo / Duo, speed 2167 MHz (estimated)
-Counted CPU_CLK_UNHALTED events (Unhalted clock cycles) with a unit mask of 0x00 (Unhalted core cycles) count 100000
-samples % image name symbol name
-186020 50.0523 no-vmlinux no-vmlinux (no symbols)
-34333 9.2380 7635.jo java void test.f1()
-19022 5.1182 libc-2.5.so libc-2.5.so _IO_file_xsputn@@GLIBC_2.1
-18762 5.0483 libc-2.5.so libc-2.5.so vfprintf
-16408 4.4149 7635.jo java void test$HelloThread.run()
-16250 4.3724 7635.jo java void test$test_1.f2(int)
-15303 4.1176 7635.jo java void test.f2(int, int)
-13252 3.5657 7635.jo java void test.f2(int)
-5165 1.3897 7635.jo java void test.f4()
-955 0.2570 7635.jo java void test$HelloThread.run()~
-
-</pre>
- </td>
- </tr>
- </table>
- <p>
-</p>
- <div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
- <h3 class="title">Note</h3>
- <p>
- Depending on the JVM that is used, certain options of opreport and opannotate
- do NOT work since they rely on debug information (e.g. source code line number)
- that is not always available. The Sun JVM does provide the necessary debug
- information via the JVMTI[PI] interface,
- but other JVMs do not.
- </p>
- </div>
- <p>
- As you can see in the opreport output, the JIT support agent for Java
- generates symbols to include the class and method signature.
- A symbol with the suffix &#732;&lt;n&gt; (e.g.
- <code class="code">void test$HelloThread.run()&#732;1</code>) means that this is
- the &lt;n&gt;th occurrence of the identical name. This happens if a method is re-JITed.
- A symbol with the suffix %&lt;n&gt;, means that the address space of this symbol
- was reused during the sample session (see <a href="#overlapping-symbols" title="6. Overlapping symbols in JITed code">Section 6, &#8220;Overlapping symbols in JITed code&#8221;</a>).
- The value &lt;n&gt; is the percentage of time that this symbol/code was present in
- relation to the total lifetime of all overlapping other symbols. A symbol of the form
- <code class="code">&lt;return_val&gt; &lt;class_name&gt;$&lt;method_sig&gt;</code> denotes an
- inner class.
- </p>
- </div>
- <div class="sect1" lang="en" xml:lang="en">
- <div class="titlepage">
- <div>
- <div>
- <h2 class="title" style="clear: both"><a id="opgprof"></a>5. <span><strong class="command">gprof</strong></span>-compatible output (<span><strong class="command">opgprof</strong></span>)</h2>
- </div>
- </div>
- </div>
- <p>
-If you're familiar with the output produced by <span><strong class="command">GNU gprof</strong></span>,
-you may find <span><strong class="command">opgprof</strong></span> useful. It takes a single binary
-as an argument, and produces a <code class="filename">gmon.out</code> file for use
-with <span><strong class="command">gprof -p</strong></span>. If call-graph profiling is enabled,
-then this is also included.
-</p>
- <table xmlns="" border="0" style="background: #E0E0E0;" width="90%">
- <tr>
- <td>
- <pre class="screen">
-$ opgprof `which oprofiled` # generates gmon.out file
-$ gprof -p `which oprofiled` | head
-Flat profile:
-
-Each sample counts as 1 samples.
- % cumulative self self total
- time samples samples calls T1/call T1/call name
- 33.13 206237.00 206237.00 odb_insert
- 22.67 347386.00 141149.00 pop_buffer_value
- 9.56 406881.00 59495.00 opd_put_sample
- 7.34 452599.00 45718.00 opd_find_image
- 7.19 497327.00 44728.00 opd_process_samples
-</pre>
- </td>
- </tr>
- </table>
- <div class="sect2" lang="en" xml:lang="en">
- <div class="titlepage">
- <div>
- <div>
- <h3 class="title"><a id="opgprof-details"></a>5.1. Usage of <span><strong class="command">opgprof</strong></span></h3>
- </div>
- </div>
- </div>
- <div class="variablelist">
- <dl>
- <dt>
- <span class="term">
- <code class="option">--help / -? / --usage</code>
- </span>
- </dt>
- <dd>
- <p>
-Show help message.
-</p>
- </dd>
- <dt>
- <span class="term">
- <code class="option">--image-path / -p [paths]</code>
- </span>
- </dt>
- <dd>
- <p>
-Comma-separated list of additional paths to search for binaries.
-This is needed to find modules in kernels 2.6 and upwards.
-</p>
- </dd>
- <dt>
- <span class="term">
- <code class="option">--root / -R [path]</code>
- </span>
- </dt>
- <dd>
- <p>
-A path to a filesystem to search for additional binaries.
-</p>
- </dd>
- <dt>
- <span class="term">
- <code class="option">--output-filename / -o [file]</code>
- </span>
- </dt>
- <dd>
- <p>
-Output to the given file instead of the default, gmon.out
-</p>
- </dd>
- <dt>
- <span class="term">
- <code class="option">--threshold / -t [percentage]</code>
- </span>
- </dt>
- <dd>
- <p>
-Only output data for symbols that have more than the given percentage
-of total samples.
-</p>
- </dd>
- <dt>
- <span class="term">
- <code class="option">--verbose / -V [options]</code>
- </span>
- </dt>
- <dd>
- <p>
-Give verbose debugging output.
-</p>
- </dd>
- <dt>
- <span class="term">
- <code class="option">--version / -v</code>
- </span>
- </dt>
- <dd>
- <p>
-Show version.
-</p>
- </dd>
- </dl>
- </div>
- </div>
- </div>
- <div class="sect1" lang="en" xml:lang="en">
- <div class="titlepage">
- <div>
- <div>
- <h2 class="title" style="clear: both"><a id="oparchive"></a>6. Archiving measurements (<span><strong class="command">oparchive</strong></span>)</h2>
- </div>
- </div>
- </div>
- <p>
- The <span><strong class="command">oparchive</strong></span> utility generates a directory populated
- with executable, debug, and oprofile sample files. This directory can be
- moved to another machine via <span><strong class="command">tar</strong></span> and analyzed without
- further use of the data collection machine.
-</p>
- <p>
- The following command would collect the sample files, the executables
- associated with the sample files, and the debuginfo files associated
- with the executables and copy them into
- <code class="filename">/tmp/current_data</code>:
-</p>
- <table xmlns="" border="0" style="background: #E0E0E0;" width="90%">
- <tr>
- <td>
- <pre class="screen">
-# oparchive -o /tmp/current_data
-</pre>
- </td>
- </tr>
- </table>
- <div class="sect2" lang="en" xml:lang="en">
- <div class="titlepage">
- <div>
- <div>
- <h3 class="title"><a id="oparchive-details"></a>6.1. Usage of <span><strong class="command">oparchive</strong></span></h3>
- </div>
- </div>
- </div>
- <div class="variablelist">
- <dl>
- <dt>
- <span class="term">
- <code class="option">--help / -? / --usage</code>
- </span>
- </dt>
- <dd>
- <p>
-Show help message.
-</p>
- </dd>
- <dt>
- <span class="term">
- <code class="option">--exclude-dependent / -x</code>
- </span>
- </dt>
- <dd>
- <p>
-Do not include application-specific images for libraries, kernel modules
-and the kernel. This option only makes sense if the profile session
-used --separate.
-</p>
- </dd>
- <dt>
- <span class="term">
- <code class="option">--image-path / -p [paths]</code>
- </span>
- </dt>
- <dd>
- <p>
-Comma-separated list of additional paths to search for binaries.
-This is needed to find modules in kernels 2.6 and upwards.
-</p>
- </dd>
- <dt>
- <span class="term">
- <code class="option">--root / -R [path]</code>
- </span>
- </dt>
- <dd>
- <p>
-A path to a filesystem to search for additional binaries.
-</p>
- </dd>
- <dt>
- <span class="term">
- <code class="option">--output-directory / -o [directory]</code>
- </span>
- </dt>
- <dd>
- <p>
-Output to the given directory. There is no default. This must be specified.
-</p>
- </dd>
- <dt>
- <span class="term">
- <code class="option">--list-files / -l</code>
- </span>
- </dt>
- <dd>
- <p>
-Only list the files that would be archived, don't copy them.
-</p>
- </dd>
- <dt>
- <span class="term">
- <code class="option">--verbose / -V [options]</code>
- </span>
- </dt>
- <dd>
- <p>
-Give verbose debugging output.
-</p>
- </dd>
- <dt>
- <span class="term">
- <code class="option">--version / -v</code>
- </span>
- </dt>
- <dd>
- <p>
-Show version.
-</p>
- </dd>
- </dl>
- </div>
- </div>
- </div>
- <div class="sect1" lang="en" xml:lang="en">
- <div class="titlepage">
- <div>
- <div>
- <h2 class="title" style="clear: both"><a id="opimport"></a>7. Converting sample database files (<span><strong class="command">opimport</strong></span>)</h2>
- </div>
- </div>
- </div>
- <p>
- This utility converts sample database files from a foreign binary format (abi) to
- the native format. This is useful only when moving sample files between hosts,
- for analysis on platforms other than the one used for collection. The abi format
- of the file to be imported is described in a text file located in <code class="filename">$SESSION_DIR/abi</code>.
-</p>
- <p>
- The following command would convert the input samples files to the
- output samples files using the given abi file as a binary description
- of the input file and the curent platform abi as a binary description
- of the output file.
-</p>
- <table xmlns="" border="0" style="background: #E0E0E0;" width="90%">
- <tr>
- <td>
- <pre class="screen">
-# opimport -a /var/lib/oprofile/abi -o /tmp/current/.../GLOBAL_POWER_EVENTS.200000.1.all.all.all /var/lib/.../mprime/GLOBAL_POWER_EVENTS.200000.1.all.all.all
-</pre>
- </td>
- </tr>
- </table>
- <div class="sect2" lang="en" xml:lang="en">
- <div class="titlepage">
- <div>
- <div>
- <h3 class="title"><a id="opimport-details"></a>7.1. Usage of <span><strong class="command">opimport</strong></span></h3>
- </div>
- </div>
- </div>
- <div class="variablelist">
- <dl>
- <dt>
- <span class="term">
- <code class="option">--help / -? / --usage</code>
- </span>
- </dt>
- <dd>
- <p>
-Show help message.
-</p>
- </dd>
- <dt>
- <span class="term">
- <code class="option">--abi / -a [filename]</code>
- </span>
- </dt>
- <dd>
- <p>
-Input abi file description location.
-</p>
- </dd>
- <dt>
- <span class="term">
- <code class="option">--force / -f</code>
- </span>
- </dt>
- <dd>
- <p>
-Force conversion even if the input and output abi are identical.
-</p>
- </dd>
- <dt>
- <span class="term">
- <code class="option">--output / -o [filename]</code>
- </span>
- </dt>
- <dd>
- <p>
-Specify the output filename. If the output file already exists, the file is
-not overwritten but data are accumulated in. Sample filename are informative
-for post profile tools and must be kept identical, in other word the pathname
-from the first path component containing a '{' must be kept as it in the
-output filename.
-</p>
- </dd>
- <dt>
- <span class="term">
- <code class="option">--verbose / -V</code>
- </span>
- </dt>
- <dd>
- <p>
-Give verbose debugging output.
-</p>
- </dd>
- <dt>
- <span class="term">
- <code class="option">--version / -v</code>
- </span>
- </dt>
- <dd>
- <p>
-Show version.
-</p>
- </dd>
- </dl>
- </div>
- </div>
- </div>
- </div>
- <div class="chapter" lang="en" xml:lang="en">
- <div class="titlepage">
- <div>
- <div>
- <h2 class="title"><a id="interpreting"></a>Chapter 5. Interpreting profiling results</h2>
- </div>
- </div>
- </div>
- <div class="toc">
- <p>
- <b>Table of Contents</b>
- </p>
- <dl>
- <dt>
- <span class="sect1">
- <a href="#irq-latency">1. Profiling interrupt latency</a>
- </span>
- </dt>
- <dt>
- <span class="sect1">
- <a href="#kernel-profiling">2. Kernel profiling</a>
- </span>
- </dt>
- <dd>
- <dl>
- <dt>
- <span class="sect2">
- <a href="#irq-masking">2.1. Interrupt masking</a>
- </span>
- </dt>
- <dt>
- <span class="sect2">
- <a href="#idle">2.2. Idle time</a>
- </span>
- </dt>
- <dt>
- <span class="sect2">
- <a href="#kernel-modules">2.3. Profiling kernel modules</a>
- </span>
- </dt>
- </dl>
- </dd>
- <dt>
- <span class="sect1">
- <a href="#interpreting-callgraph">3. Interpreting call-graph profiles</a>
- </span>
- </dt>
- <dt>
- <span class="sect1">
- <a href="#debug-info">4. Inaccuracies in annotated source</a>
- </span>
- </dt>
- <dd>
- <dl>
- <dt>
- <span class="sect2">
- <a href="#effect-of-optimizations">4.1. Side effects of optimizations</a>
- </span>
- </dt>
- <dt>
- <span class="sect2">
- <a href="#prologues">4.2. Prologues and epilogues</a>
- </span>
- </dt>
- <dt>
- <span class="sect2">
- <a href="#inlined-function">4.3. Inlined functions</a>
- </span>
- </dt>
- <dt>
- <span class="sect2">
- <a href="#wrong-linenr-info">4.4. Inaccuracy in line number information</a>
- </span>
- </dt>
- </dl>
- </dd>
- <dt>
- <span class="sect1">
- <a href="#symbol-without-debug-info">5. Assembly functions</a>
- </span>
- </dt>
- <dt>
- <span class="sect1">
- <a href="#overlapping-symbols">6. Overlapping symbols in JITed code</a>
- </span>
- </dt>
- <dt>
- <span class="sect1">
- <a href="#hidden-cost">7. Other discrepancies</a>
- </span>
- </dt>
- </dl>
- </div>
- <p>
-The standard caveats of profiling apply in interpreting the results from OProfile:
-profile realistic situations, profile different scenarios, profile
-for as long as a time as possible, avoid system-specific artifacts, don't trust
-the profile data too much. Also bear in mind the comments on the performance
-counters above - you <span class="emphasis"><em>cannot</em></span> rely on totally accurate
-instruction-level profiling. However, for almost all circumstances the data
-can be useful. Ideally a utility such as Intel's VTUNE would be available to
-allow careful instruction-level analysis; go hassle Intel for this, not me ;)
-</p>
- <div class="sect1" lang="en" xml:lang="en">
- <div class="titlepage">
- <div>
- <div>
- <h2 class="title" style="clear: both"><a id="irq-latency"></a>1. Profiling interrupt latency</h2>
- </div>
- </div>
- </div>
- <p>
-This is an example of how the latency of delivery of profiling interrupts
-can impact the reliability of the profiling data. This is pretty much a
-worst-case-scenario example: these problems are fairly rare.
-</p>
- <table xmlns="" border="0" style="background: #E0E0E0;" width="90%">
- <tr>
- <td>
- <pre class="screen">
-double fun(double a, double b, double c)
-{
- double result = 0;
- for (int i = 0 ; i &lt; 10000; ++i) {
- result += a;
- result *= b;
- result /= c;
- }
- return result;
-}
-</pre>
- </td>
- </tr>
- </table>
- <p>
-Here the last instruction of the loop is very costly, and you would expect the result
-reflecting that - but (cutting the instructions inside the loop):
-</p>
- <table xmlns="" border="0" style="background: #E0E0E0;" width="90%">
- <tr>
- <td>
- <pre class="screen">
-$ opannotate -a -t 10 ./a.out
-
- 88 15.38% : 8048337: fadd %st(3),%st
- 48 8.391% : 8048339: fmul %st(2),%st
- 68 11.88% : 804833b: fdiv %st(1),%st
- 368 64.33% : 804833d: inc %eax
- : 804833e: cmp $0x270f,%eax
- : 8048343: jle 8048337
-</pre>
- </td>
- </tr>
- </table>
- <p>
-The problem comes from the x86 hardware; when the counter overflows the IRQ
-is asserted but the hardware has features that can delay the NMI interrupt:
-x86 hardware is synchronous (i.e. cannot interrupt during an instruction);
-there is also a latency when the IRQ is asserted, and the multiple
-execution units and the out-of-order model of modern x86 CPUs also causes
-problems. This is the same function, with annotation :
-</p>
- <table xmlns="" border="0" style="background: #E0E0E0;" width="90%">
- <tr>
- <td>
- <pre class="screen">
-$ opannotate -s -t 10 ./a.out
-
- :double fun(double a, double b, double c)
- :{ /* _Z3funddd total: 572 100.0% */
- : double result = 0;
- 368 64.33% : for (int i = 0 ; i &lt; 10000; ++i) {
- 88 15.38% : result += a;
- 48 8.391% : result *= b;
- 68 11.88% : result /= c;
- : }
- : return result;
- :}
-</pre>
- </td>
- </tr>
- </table>
- <p>
-The conclusion: don't trust samples coming at the end of a loop,
-particularly if the last instruction generated by the compiler is costly. This
-case can also occur for branches. Always bear in mind that samples
-can be delayed by a few cycles from its real position. That's a hardware
-problem and OProfile can do nothing about it.
-</p>
- </div>
- <div class="sect1" lang="en" xml:lang="en">
- <div class="titlepage">
- <div>
- <div>
- <h2 class="title" style="clear: both"><a id="kernel-profiling"></a>2. Kernel profiling</h2>
- </div>
- </div>
- </div>
- <div class="sect2" lang="en" xml:lang="en">
- <div class="titlepage">
- <div>
- <div>
- <h3 class="title"><a id="irq-masking"></a>2.1. Interrupt masking</h3>
- </div>
- </div>
- </div>
- <p>
-OProfile uses non-maskable interrupts (NMI) on the P6 generation, Pentium 4,
-Athlon, Opteron, Phenom, and Turion processors. These interrupts can occur even in section of the
-Linux where interrupts are disabled, allowing collection of samples in virtually
-all executable code. The RTC, timer interrupt mode, and Itanium 2 collection mechanisms
-use maskable interrupts. Thus, the RTC and Itanium 2 data collection mechanism have "sample
-shadows", or blind spots: regions where no samples will be collected. Typically, the samples
-will be attributed to the code immediately after the interrupts are re-enabled.
-</p>
- </div>
- <div class="sect2" lang="en" xml:lang="en">
- <div class="titlepage">
- <div>
- <div>
- <h3 class="title"><a id="idle"></a>2.2. Idle time</h3>
- </div>
- </div>
- </div>
- <p>
-Your kernel is likely to support halting the processor when a CPU is idle. As
-the typical hardware events like <code class="constant">CPU_CLK_UNHALTED</code> do not
-count when the CPU is halted, the kernel profile will not reflect the actual
-amount of time spent idle. You can change this behaviour by booting with
-the <code class="option">idle=poll</code> option, which uses a different idle routine. This
-will appear as <code class="function">poll_idle()</code> in your kernel profile.
-</p>
- </div>
- <div class="sect2" lang="en" xml:lang="en">
- <div class="titlepage">
- <div>
- <div>
- <h3 class="title"><a id="kernel-modules"></a>2.3. Profiling kernel modules</h3>
- </div>
- </div>
- </div>
- <p>
-OProfile profiles kernel modules by default. However, there are a couple of problems
-you may have when trying to get results. First, you may have booted via an initrd;
-this means that the actual path for the module binaries cannot be determined automatically.
-To get around this, you can use the <code class="option">-p</code> option to the profiling tools
-to specify where to look for the kernel modules.
-</p>
- <p>
-In 2.6, the information on where kernel module binaries are located has been removed.
-This means OProfile needs guiding with the <code class="option">-p</code> option to find your
-modules. Normally, you can just use your standard module top-level directory for this.
-Note that due to this problem, OProfile cannot check that the modification times match;
-it is your responsibility to make sure you do not modify a binary after a profile
-has been created.
-</p>
- <p>
-If you have run <span><strong class="command">insmod</strong></span> or <span><strong class="command">modprobe</strong></span> to insert a module
-in a particular directory, it is important that you specify this directory with the
-<code class="option">-p</code> option first, so that it over-rides an older module binary that might
-exist in other directories you've specified with <code class="option">-p</code>. It is up to you
-to make sure that these values are correct: 2.6 kernels simply do not provide enough
-information for OProfile to get this information.
-</p>
- </div>
- </div>
- <div class="sect1" lang="en" xml:lang="en">
- <div class="titlepage">
- <div>
- <div>
- <h2 class="title" style="clear: both"><a id="interpreting-callgraph"></a>3. Interpreting call-graph profiles</h2>
- </div>
- </div>
- </div>
- <p>
-Sometimes the results from call-graph profiles may be different to what
-you expect to see. The first thing to check is whether the target
-binaries where compiled with frame pointers enabled (if the binary was
-compiled using <span><strong class="command">gcc</strong></span>'s
-<code class="option">-fomit-frame-pointer</code> option, you will not get
-meaningful results). Note that as of this writing, the GCC developers
-plan to disable frame pointers by default. The Linux kernel is built
-without frame pointers by default; there is a configuration option you
-can use to turn it on under the "Kernel Hacking" menu.
-</p>
- <p>
-Often you may see a caller of a function that does not actually directly
-call the function you're looking at (e.g. if <code class="function">a()</code>
-calls <code class="function">b()</code>, which in turn calls
-<code class="function">c()</code>, you may see an entry for
-<code class="function">a()-&gt;c()</code>). What's actually occurring is that we
-are taking samples at the very start (or the very end) of
-<code class="function">c()</code>; at these few instructions, we haven't yet
-created the new function's frame, so it appears as if
-<code class="function">a()</code> is calling directly into
-<code class="function">c()</code>. Be careful not to be misled by these
-entries.
-</p>
- <p>
-Like the rest of OProfile, call-graph profiling uses a statistical
-approach; this means that sometimes a backtrace sample is truncated, or
-even partially wrong. Bear this in mind when examining results.
-</p>
- </div>
- <div class="sect1" lang="en" xml:lang="en">
- <div class="titlepage">
- <div>
- <div>
- <h2 class="title" style="clear: both"><a id="debug-info"></a>4. Inaccuracies in annotated source</h2>
- </div>
- </div>
- </div>
- <div class="sect2" lang="en" xml:lang="en">
- <div class="titlepage">
- <div>
- <div>
- <h3 class="title"><a id="effect-of-optimizations"></a>4.1. Side effects of optimizations</h3>
- </div>
- </div>
- </div>
- <p>
-The compiler can introduce some pitfalls in the annotated source output.
-The optimizer can move pieces of code in such manner that two line of codes
-are interlaced (instruction scheduling). Also debug info generated by the compiler
-can show strange behavior. This is especially true for complex expressions e.g. inside
-an if statement:
-</p>
- <table xmlns="" border="0" style="background: #E0E0E0;" width="90%">
- <tr>
- <td>
- <pre class="screen">
- if (a &amp;&amp; ..
- b &amp;&amp; ..
- c &amp;&amp;)
-</pre>
- </td>
- </tr>
- </table>
- <p>
-here the problem come from the position of line number. The available debug
-info does not give enough details for the if condition, so all samples are
-accumulated at the position of the right brace of the expression. Using
-<span><strong class="command">opannotate <code class="option">-a</code></strong></span> can help to show the real
-samples at an assembly level.
-</p>
- </div>
- <div class="sect2" lang="en" xml:lang="en">
- <div class="titlepage">
- <div>
- <div>
- <h3 class="title"><a id="prologues"></a>4.2. Prologues and epilogues</h3>
- </div>
- </div>
- </div>
- <p>
-The compiler generally needs to generate "glue" code across function calls, dependent
-on the particular function call conventions used. Additionally other things
-need to happen, like stack pointer adjustment for the local variables; this
-code is known as the function prologue. Similar code is needed at function return,
-and is known as the function epilogue. This will show up in annotations as
-samples at the very start and end of a function, where there is no apparent
-executable code in the source.
-</p>
- </div>
- <div class="sect2" lang="en" xml:lang="en">
- <div class="titlepage">
- <div>
- <div>
- <h3 class="title"><a id="inlined-function"></a>4.3. Inlined functions</h3>
- </div>
- </div>
- </div>
- <p>
-You may see that a function is credited with a certain number of samples, but
-the listing does not add up to the correct total. To pick a real example :
-</p>
- <table xmlns="" border="0" style="background: #E0E0E0;" width="90%">
- <tr>
- <td>
- <pre class="screen">
- :internal_sk_buff_alloc_security(struct sk_buff *skb)
- 353 2.342% :{ /* internal_sk_buff_alloc_security total: 1882 12.48% */
- :
- : sk_buff_security_t *sksec;
- 15 0.0995% : int rc = 0;
- :
- 10 0.06633% : sksec = skb-&gt;lsm_security;
- 468 3.104% : if (sksec &amp;&amp; sksec-&gt;magic == DSI_MAGIC) {
- : goto out;
- : }
- :
- : sksec = (sk_buff_security_t *) get_sk_buff_memory(skb);
- 3 0.0199% : if (!sksec) {
- 38 0.2521% : rc = -ENOMEM;
- : goto out;
- 10 0.06633% : }
- : memset(sksec, 0, sizeof (sk_buff_security_t));
- 44 0.2919% : sksec-&gt;magic = DSI_MAGIC;
- 32 0.2123% : sksec-&gt;skb = skb;
- 45 0.2985% : sksec-&gt;sid = DSI_SID_NORMAL;
- 31 0.2056% : skb-&gt;lsm_security = sksec;
- :
- : out:
- :
- 146 0.9685% : return rc;
- :
- 98 0.6501% :}
-</pre>
- </td>
- </tr>
- </table>
- <p>
-Here, the function is credited with 1,882 samples, but the annotations
-below do not account for this. This is usually because of inline functions -
-the compiler marks such code with debug entries for the inline function
-definition, and this is where <span><strong class="command">opannotate</strong></span> annotates
-such samples. In the case above, <code class="function">memset</code> is the most
-likely candidate for this problem. Examining the mixed source/assembly
-output can help identify such results.
-</p>
- <p>
-This problem is more visible when there is no source file available, in the
-following example it's trivially visible the sums of symbols samples is less
-than the number of the samples for this file. The difference must be accounted
-to inline functions.
-</p>
- <table xmlns="" border="0" style="background: #E0E0E0;" width="90%">
- <tr>
- <td>
- <pre class="screen">
-/*
- * Total samples for file : "arch/i386/kernel/process.c"
- *
- * 109 2.4616
- */
-
- /* default_idle total: 84 1.8970 */
- /* cpu_idle total: 21 0.4743 */
- /* flush_thread total: 1 0.0226 */
- /* prepare_to_copy total: 1 0.0226 */
- /* __switch_to total: 18 0.4065 */
-</pre>
- </td>
- </tr>
- </table>
- <p>
-The missing samples are not lost, they will be credited to another source
-location where the inlined function is defined. The inlined function will be
-credited from multiple call site and merged in one place in the annotated
-source file so there is no way to see from what call site are coming the
-samples for an inlined function.
-</p>
- <p>
-When running <span><strong class="command">opannotate</strong></span>, you may get a warning
-"some functions compiled without debug information may have incorrect source line attributions".
-In some rare cases, OProfile is not able to verify that the derived source line
-is correct (when some parts of the binary image are compiled without debugging
-information). Be wary of results if this warning appears.
-</p>
- <p>
-Furthermore, for some languages the compiler can implicitly generate functions,
-such as default copy constructors. Such functions are labelled by the compiler
-as having a line number of 0, which means the source annotation can be confusing.
-</p>
- </div>
- <div class="sect2" lang="en" xml:lang="en">
- <div class="titlepage">
- <div>
- <div>
- <h3 class="title"><a id="wrong-linenr-info"></a>4.4. Inaccuracy in line number information</h3>
- </div>
- </div>
- </div>
- <p>
-Depending on your compiler you can fall into the following problem:
-</p>
- <table xmlns="" border="0" style="background: #E0E0E0;" width="90%">
- <tr>
- <td>
- <pre class="screen">
-struct big_object { int a[500]; };
-
-int main()
-{
- big_object a, b;
- for (int i = 0 ; i != 1000 * 1000; ++i)
- b = a;
- return 0;
-}
-
-</pre>
- </td>
- </tr>
- </table>
- <p>
-Compiled with <span><strong class="command">gcc</strong></span> 3.0.4 the annotated source is clearly inaccurate:
-</p>
- <table xmlns="" border="0" style="background: #E0E0E0;" width="90%">
- <tr>
- <td>
- <pre class="screen">
- :int main()
- :{ /* main total: 7871 100% */
- : big_object a, b;
- : for (int i = 0 ; i != 1000 * 1000; ++i)
- : b = a;
- 7871 100% : return 0;
- :}
-</pre>
- </td>
- </tr>
- </table>
- <p>
-The problem here is distinct from the IRQ latency problem; the debug line number
-information is not precise enough; again, looking at output of <span><strong class="command">opannoatate -as</strong></span> can help.
-</p>
- <table xmlns="" border="0" style="background: #E0E0E0;" width="90%">
- <tr>
- <td>
- <pre class="screen">
- :int main()
- :{
- : big_object a, b;
- : for (int i = 0 ; i != 1000 * 1000; ++i)
- : 80484c0: push %ebp
- : 80484c1: mov %esp,%ebp
- : 80484c3: sub $0xfac,%esp
- : 80484c9: push %edi
- : 80484ca: push %esi
- : 80484cb: push %ebx
- : b = a;
- : 80484cc: lea 0xfffff060(%ebp),%edx
- : 80484d2: lea 0xfffff830(%ebp),%eax
- : 80484d8: mov $0xf423f,%ebx
- : 80484dd: lea 0x0(%esi),%esi
- : return 0;
- 3 0.03811% : 80484e0: mov %edx,%edi
- : 80484e2: mov %eax,%esi
- 1 0.0127% : 80484e4: cld
- 8 0.1016% : 80484e5: mov $0x1f4,%ecx
- 7850 99.73% : 80484ea: repz movsl %ds:(%esi),%es:(%edi)
- 9 0.1143% : 80484ec: dec %ebx
- : 80484ed: jns 80484e0
- : 80484ef: xor %eax,%eax
- : 80484f1: pop %ebx
- : 80484f2: pop %esi
- : 80484f3: pop %edi
- : 80484f4: leave
- : 80484f5: ret
-</pre>
- </td>
- </tr>
- </table>
- <p>
-So here it's clear that copying is correctly credited with of all the samples, but the
-line number information is misplaced. <span><strong class="command">objdump -dS</strong></span> exposes the
-same problem. Note that maintaining accurate debug information for compilers when optimizing is difficult, so this problem is not suprising.
-The problem of debug information
-accuracy is also dependent on the binutils version used; some BFD library versions
-contain a work-around for known problems of <span><strong class="command">gcc</strong></span>, some others do not. This is unfortunate but we must live with that,
-since profiling is pointless when you disable optimisation (which would give better debugging entries).
-</p>
- </div>
- </div>
- <div class="sect1" lang="en" xml:lang="en">
- <div class="titlepage">
- <div>
- <div>
- <h2 class="title" style="clear: both"><a id="symbol-without-debug-info"></a>5. Assembly functions</h2>
- </div>
- </div>
- </div>
- <p>
-Often the assembler cannot generate debug information automatically.
-This means that you cannot get a source report unless
-you manually define the neccessary debug information; read your assembler documentation for how you might
-do that. The only
-debugging info needed currently by OProfile is the line-number/filename-VMA association. When profiling assembly
-without debugging info you can always get report for symbols, and optionally for VMA, through <span><strong class="command">opreport -l</strong></span>
-or <span><strong class="command">opreport -d</strong></span>, but this works only for symbols with the right attributes.
-For <span><strong class="command">gas</strong></span> you can get this by
-</p>
- <table xmlns="" border="0" style="background: #E0E0E0;" width="90%">
- <tr>
- <td>
- <pre class="screen">
-.globl foo
- .type foo,@function
-</pre>
- </td>
- </tr>
- </table>
- <p>
-whilst for <span><strong class="command">nasm</strong></span> you must use
-</p>
- <table xmlns="" border="0" style="background: #E0E0E0;" width="90%">
- <tr>
- <td>
- <pre class="screen">
- GLOBAL foo:function ; [1]
-</pre>
- </td>
- </tr>
- </table>
- <p>
-Note that OProfile does not need the global attribute, only the function attribute.
-</p>
- </div>
- <div class="sect1" lang="en" xml:lang="en">
- <div class="titlepage">
- <div>
- <div>
- <h2 class="title" style="clear: both"><a id="overlapping-symbols"></a>6. Overlapping symbols in JITed code</h2>
- </div>
- </div>
- </div>
- <p>
- Some virtual machines (e.g., Java) may re-JIT a method, resulting in previously
- allocated space for a piece of compiled code to be reused. This means that, at one distinct
- code address, multiple symbols/methods may be present during the run time of the application.
- </p>
- <p>
- Since OProfile samples are buffered and don&#8242;t have timing information, there is no way
- to correlate samples with the (possibly) varying address ranges in which the code for a symbol
- may reside.
- An alternative would be flushing the OProfile sampling buffer when we get an unload event,
- but this could result in high overhead.
- </p>
- <p>
- To moderate the problem of overlapping symbols, OProfile tries to select the symbol that was
- present at this address range most of the time. Additionally, other overlapping symbols
- are truncated in the overlapping area.
- This gives reasonable results, because in reality, address reuse typically takes place
- during phase changes of the application -- in particular, during application startup.
- Thus, for optimum profiling results, start the sampling session after application startup
- and burn in.
- </p>
- </div>
- <div class="sect1" lang="en" xml:lang="en">
- <div class="titlepage">
- <div>
- <div>
- <h2 class="title" style="clear: both"><a id="hidden-cost"></a>7. Other discrepancies</h2>
- </div>
- </div>
- </div>
- <p>
-Another cause of apparent problems is the hidden cost of instructions. A very
-common example is two memory reads: one from L1 cache and the other from memory:
-the second memory read is likely to have more samples.
-There are many other causes of hidden cost of instructions. A non-exhaustive
-list: mis-predicted branch, TLB cache miss, partial register stall,
-partial register dependencies, memory mismatch stall, re-executed µops. If you want to write
-programs at the assembly level, be sure to take a look at the Intel and
-AMD documentation at <a href="http://developer.intel.com/">http://developer.intel.com/</a>
-and <a href="http://developer.amd.com/devguides.jsp/">http://developer.amd.com/devguides.jsp</a>.
-</p>
- </div>
- </div>
- <div class="chapter" lang="en" xml:lang="en">
- <div class="titlepage">
- <div>
- <div>
- <h2 class="title"><a id="ack"></a>Chapter 6. Acknowledgments</h2>
- </div>
- </div>
- </div>
- <p>
-Thanks to (in no particular order) : Arjan van de Ven, Rik van Riel, Juan Quintela, Philippe Elie,
-Phillipp Rumpf, Tigran Aivazian, Alex Brown, Alisdair Rawsthorne, Bob Montgomery, Ray Bryant, H.J. Lu,
-Jeff Esper, Will Cohen, Graydon Hoare, Cliff Woolley, Alex Tsariounov, Al Stone, Jason Yeh,
-Randolph Chung, Anton Blanchard, Richard Henderson, Andries Brouwer, Bryan Rittmeyer,
-Maynard P. Johnson,
-Richard Reich (rreich@rdrtech.com), Zwane Mwaikambo, Dave Jones, Charles Filtness; and finally Pulp, for "Intro".
-</p>
- </div>
- </div>
- </body>
-</html>
diff --git a/doc/oprofile.xml b/doc/oprofile.xml
index 35ba48a..1432cc5 100644
--- a/doc/oprofile.xml
+++ b/doc/oprofile.xml
@@ -112,6 +112,12 @@ For information on how to use OProfile's JIT support, see <xref linkend="setup-j
</para>
<para>
+ To use OProfile's JIT support, a kernel version 2.6.13 or later is required.
+ In earlier kernel versions, the anonymous memory regions are not reported to OProfile and results
+ in profiling reports without any samples in these regions.
+ </para>
+
+ <para>
PPC64 processors (Power4/Power5/PPC970, etc.) require a recent (&gt; 2.6.5) kernel with the line
<constant>#define PV_970</constant> present in <filename>include/asm-ppc64/processor.h</filename>.
<!-- FIXME: do we require always gte 2.4.10 for nosmp ? -->
diff --git a/events/Makefile.am b/events/Makefile.am
index aaaacb7..475c4d3 100644
--- a/events/Makefile.am
+++ b/events/Makefile.am
@@ -17,6 +17,7 @@ event_files = \
i386/atom/events i386/atom/unit_masks \
i386/core_i7/events i386/core_i7/unit_masks \
i386/nehalem/events i386/nehalem/unit_masks \
+ i386/westmere/events i386/westmere/unit_masks \
ia64/ia64/events ia64/ia64/unit_masks \
ia64/itanium2/events ia64/itanium2/unit_masks \
ia64/itanium/events ia64/itanium/unit_masks \
@@ -35,10 +36,15 @@ event_files = \
x86-64/hammer/events x86-64/hammer/unit_masks \
x86-64/family10/events x86-64/family10/unit_masks \
x86-64/family11h/events x86-64/family11h/unit_masks \
+ x86-64/family12h/events x86-64/family12h/unit_masks \
+ x86-64/family14h/events x86-64/family14h/unit_masks \
+ x86-64/family15h/events x86-64/family15h/unit_masks \
arm/xscale1/events arm/xscale1/unit_masks \
arm/xscale2/events arm/xscale2/unit_masks \
arm/armv6/events arm/armv6/unit_masks \
+ arm/armv7-common/events arm/armv7-common/unit_masks \
arm/armv7/events arm/armv7/unit_masks \
+ arm/armv7-ca9/events arm/armv7-ca9/unit_masks \
arm/mpcore/events arm/mpcore/unit_masks \
avr32/events avr32/unit_masks \
mips/20K/events mips/20K/unit_masks \
@@ -53,6 +59,9 @@ event_files = \
mips/r12000/events mips/r12000/unit_masks \
mips/vr5432/events mips/vr5432/unit_masks \
mips/vr5500/events mips/vr5500/unit_masks \
+ mips/loongson2/events mips/loongson2/unit_masks \
+ mips/1004K/events mips/1004K/unit_masks \
+ mips/74K/events mips/74K/unit_masks \
ppc/7450/events ppc/7450/unit_masks \
ppc/e500/events ppc/e500/unit_masks \
ppc/e500v2/events ppc/e500v2/unit_masks \
diff --git a/events/Makefile.in b/events/Makefile.in
deleted file mode 100644
index ce7c3b3..0000000
--- a/events/Makefile.in
+++ /dev/null
@@ -1,450 +0,0 @@
-# Makefile.in generated by automake 1.9.6 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005 Free Software Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ..
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-subdir = events
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/binutils.m4 \
- $(top_srcdir)/m4/builtinexpect.m4 \
- $(top_srcdir)/m4/cellspubfdsupport.m4 \
- $(top_srcdir)/m4/compileroption.m4 \
- $(top_srcdir)/m4/configmodule.m4 \
- $(top_srcdir)/m4/copyifchange.m4 $(top_srcdir)/m4/docbook.m4 \
- $(top_srcdir)/m4/extradirs.m4 $(top_srcdir)/m4/findkernel.m4 \
- $(top_srcdir)/m4/kerneloption.m4 \
- $(top_srcdir)/m4/kernelversion.m4 \
- $(top_srcdir)/m4/mallocattribute.m4 \
- $(top_srcdir)/m4/poptconst.m4 \
- $(top_srcdir)/m4/precompiledheader.m4 $(top_srcdir)/m4/qt.m4 \
- $(top_srcdir)/m4/resultyn.m4 $(top_srcdir)/m4/sstream.m4 \
- $(top_srcdir)/m4/typedef.m4 $(top_srcdir)/configure.in
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-SOURCES =
-DIST_SOURCES =
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
-AMTAR = @AMTAR@
-AR = @AR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-BFD_LIBS = @BFD_LIBS@
-BUILD_JVMPI_AGENT_FALSE = @BUILD_JVMPI_AGENT_FALSE@
-BUILD_JVMPI_AGENT_TRUE = @BUILD_JVMPI_AGENT_TRUE@
-BUILD_JVMTI_AGENT_FALSE = @BUILD_JVMTI_AGENT_FALSE@
-BUILD_JVMTI_AGENT_TRUE = @BUILD_JVMTI_AGENT_TRUE@
-CAT_ENTRY_END = @CAT_ENTRY_END@
-CAT_ENTRY_START = @CAT_ENTRY_START@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DATE = @DATE@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DOCBOOK_ROOT = @DOCBOOK_ROOT@
-ECHO = @ECHO@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-EXTRA_CFLAGS_MODULE = @EXTRA_CFLAGS_MODULE@
-F77 = @F77@
-FFLAGS = @FFLAGS@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-JAVA_HOMEDIR = @JAVA_HOMEDIR@
-KINC = @KINC@
-KSRC = @KSRC@
-KVERS = @KVERS@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LIBERTY_LIBS = @LIBERTY_LIBS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-MAKEINFO = @MAKEINFO@
-MOC = @MOC@
-MODINSTALLDIR = @MODINSTALLDIR@
-OBJEXT = @OBJEXT@
-OPROFILE_DIR = @OPROFILE_DIR@
-OPROFILE_MODULE_ARCH = @OPROFILE_MODULE_ARCH@
-OP_CFLAGS = @OP_CFLAGS@
-OP_CXXFLAGS = @OP_CXXFLAGS@
-OP_DOCDIR = @OP_DOCDIR@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-POPT_LIBS = @POPT_LIBS@
-PTRDIFF_T_TYPE = @PTRDIFF_T_TYPE@
-QT_INCLUDES = @QT_INCLUDES@
-QT_LDFLAGS = @QT_LDFLAGS@
-QT_LIB = @QT_LIB@
-QT_VERSION = @QT_VERSION@
-RANLIB = @RANLIB@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-SIZE_T_TYPE = @SIZE_T_TYPE@
-STRIP = @STRIP@
-UIC = @UIC@
-VERSION = @VERSION@
-XML_CATALOG = @XML_CATALOG@
-XSLTPROC = @XSLTPROC@
-XSLTPROC_FLAGS = @XSLTPROC_FLAGS@
-X_CFLAGS = @X_CFLAGS@
-X_EXTRA_LIBS = @X_EXTRA_LIBS@
-X_LIBS = @X_LIBS@
-X_PRE_LIBS = @X_PRE_LIBS@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
-am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-datadir = @datadir@
-exec_prefix = @exec_prefix@
-have_qt_FALSE = @have_qt_FALSE@
-have_qt_TRUE = @have_qt_TRUE@
-have_xsltproc_FALSE = @have_xsltproc_FALSE@
-have_xsltproc_TRUE = @have_xsltproc_TRUE@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-kernel_support_FALSE = @kernel_support_FALSE@
-kernel_support_TRUE = @kernel_support_TRUE@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-topdir = @topdir@
-event_files = \
- alpha/ev4/events alpha/ev4/unit_masks \
- alpha/ev5/events alpha/ev5/unit_masks \
- alpha/ev67/events alpha/ev67/unit_masks \
- alpha/ev6/events alpha/ev6/unit_masks \
- alpha/pca56/events alpha/pca56/unit_masks \
- i386/athlon/events i386/athlon/unit_masks \
- i386/core_2/events i386/core_2/unit_masks \
- i386/p4/events i386/p4-ht/events \
- i386/p4-ht/unit_masks i386/p4/unit_masks \
- i386/pii/events i386/pii/unit_masks \
- i386/piii/events i386/piii/unit_masks \
- i386/ppro/events i386/ppro/unit_masks \
- i386/p6_mobile/events i386/p6_mobile/unit_masks \
- i386/core/events i386/core/unit_masks \
- i386/arch_perfmon/events i386/arch_perfmon/unit_masks \
- i386/atom/events i386/atom/unit_masks \
- i386/core_i7/events i386/core_i7/unit_masks \
- i386/nehalem/events i386/nehalem/unit_masks \
- ia64/ia64/events ia64/ia64/unit_masks \
- ia64/itanium2/events ia64/itanium2/unit_masks \
- ia64/itanium/events ia64/itanium/unit_masks \
- ppc64/power4/events ppc64/power4/event_mappings ppc64/power4/unit_masks \
- ppc64/power5/events ppc64/power5/event_mappings ppc64/power5/unit_masks \
- ppc64/power5+/events ppc64/power5+/event_mappings ppc64/power5+/unit_masks \
- ppc64/power5++/events ppc64/power5++/event_mappings ppc64/power5++/unit_masks \
- ppc64/power6/events ppc64/power6/event_mappings ppc64/power6/unit_masks \
- ppc64/power7/events ppc64/power7/event_mappings ppc64/power7/unit_masks \
- ppc64/970/events ppc64/970/event_mappings ppc64/970/unit_masks \
- ppc64/970MP/events ppc64/970MP/event_mappings ppc64/970MP/unit_masks \
- ppc64/ibm-compat-v1/events ppc64/ibm-compat-v1/event_mappings ppc64/ibm-compat-v1/unit_masks \
- ppc64/pa6t/events ppc64/pa6t/event_mappings ppc64/pa6t/unit_masks \
- ppc64/cell-be/events ppc64/cell-be/unit_masks \
- rtc/events rtc/unit_masks \
- x86-64/hammer/events x86-64/hammer/unit_masks \
- x86-64/family10/events x86-64/family10/unit_masks \
- x86-64/family11h/events x86-64/family11h/unit_masks \
- arm/xscale1/events arm/xscale1/unit_masks \
- arm/xscale2/events arm/xscale2/unit_masks \
- arm/armv6/events arm/armv6/unit_masks \
- arm/armv7/events arm/armv7/unit_masks \
- arm/mpcore/events arm/mpcore/unit_masks \
- avr32/events avr32/unit_masks \
- mips/20K/events mips/20K/unit_masks \
- mips/24K/events mips/24K/unit_masks \
- mips/25K/events mips/25K/unit_masks \
- mips/34K/events mips/34K/unit_masks \
- mips/5K/events mips/5K/unit_masks \
- mips/rm7000/events mips/rm7000/unit_masks \
- mips/rm9000/events mips/rm9000/unit_masks \
- mips/sb1/events mips/sb1/unit_masks \
- mips/r10000/events mips/r10000/unit_masks \
- mips/r12000/events mips/r12000/unit_masks \
- mips/vr5432/events mips/vr5432/unit_masks \
- mips/vr5500/events mips/vr5500/unit_masks \
- ppc/7450/events ppc/7450/unit_masks \
- ppc/e500/events ppc/e500/unit_masks \
- ppc/e500v2/events ppc/e500v2/unit_masks \
- ppc/e300/events ppc/e300/unit_masks
-
-EXTRA_DIST = $(event_files)
-all: all-am
-
-.SUFFIXES:
-$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign events/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --foreign events/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- @case '$?' in \
- *config.status*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
- *) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-tags: TAGS
-TAGS:
-
-ctags: CTAGS
-CTAGS:
-
-
-distdir: $(DISTFILES)
- $(mkdir_p) $(distdir)/alpha/ev4 $(distdir)/alpha/ev5 $(distdir)/alpha/ev6 $(distdir)/alpha/ev67 $(distdir)/alpha/pca56 $(distdir)/arm/armv6 $(distdir)/arm/armv7 $(distdir)/arm/mpcore $(distdir)/arm/xscale1 $(distdir)/arm/xscale2 $(distdir)/avr32 $(distdir)/i386/arch_perfmon $(distdir)/i386/athlon $(distdir)/i386/atom $(distdir)/i386/core $(distdir)/i386/core_2 $(distdir)/i386/core_i7 $(distdir)/i386/nehalem $(distdir)/i386/p4 $(distdir)/i386/p4-ht $(distdir)/i386/p6_mobile $(distdir)/i386/pii $(distdir)/i386/piii $(distdir)/i386/ppro $(distdir)/ia64/ia64 $(distdir)/ia64/itanium $(distdir)/ia64/itanium2 $(distdir)/mips/20K $(distdir)/mips/24K $(distdir)/mips/25K $(distdir)/mips/34K $(distdir)/mips/5K $(distdir)/mips/r10000 $(distdir)/mips/r12000 $(distdir)/mips/rm7000 $(distdir)/mips/rm9000 $(distdir)/mips/sb1 $(distdir)/mips/vr5432 $(distdir)/mips/vr5500 $(distdir)/ppc/7450 $(distdir)/ppc/e300 $(distdir)/ppc/e500 $(distdir)/ppc/e500v2 $(distdir)/ppc64/970 $(distdir)/ppc64/970MP $(distdir)/ppc64/cell-be $(distdir)/ppc64/ibm-compat-v1 $(distdir)/ppc64/pa6t $(distdir)/ppc64/power4 $(distdir)/ppc64/power5 $(distdir)/ppc64/power5+ $(distdir)/ppc64/power5++ $(distdir)/ppc64/power6 $(distdir)/ppc64/power7 $(distdir)/rtc $(distdir)/x86-64/family10 $(distdir)/x86-64/family11h $(distdir)/x86-64/hammer
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkdir_p) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
- if test -d $$d/$$file; then \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
- fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
- else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: check-am
-all-am: Makefile
-installdirs:
-install: install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-am
-
-clean-am: clean-generic clean-libtool mostlyclean-am
-
-distclean: distclean-am
- -rm -f Makefile
-distclean-am: clean-am distclean-generic distclean-libtool
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-info: info-am
-
-info-am:
-
-install-data-am: install-data-local
-
-install-exec-am:
-
-install-info: install-info-am
-
-install-man:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-generic mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am: uninstall-info-am uninstall-local
-
-.PHONY: all all-am check check-am clean clean-generic clean-libtool \
- distclean distclean-generic distclean-libtool distdir dvi \
- dvi-am html html-am info info-am install install-am \
- install-data install-data-am install-data-local install-exec \
- install-exec-am install-info install-info-am install-man \
- install-strip installcheck installcheck-am installdirs \
- maintainer-clean maintainer-clean-generic mostlyclean \
- mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
- uninstall uninstall-am uninstall-info-am uninstall-local
-
-
-install-data-local:
- for i in ${event_files} ; do \
- dir=`dirname $$i` ; \
- mkdir -p $(DESTDIR)$(pkgdatadir)/$$dir ; \
- $(INSTALL_DATA) $(top_srcdir)/events/$$i $(DESTDIR)$(pkgdatadir)/$$i ; \
- done
-
-uninstall-local:
- for i in ${event_files} ; do \
- dir=`dirname $$i` ; \
- archdir=`dirname $$dir` ; \
- if test -f $(DESTDIR)$(pkgdatadir)/$$i ; then \
- rm $(DESTDIR)$(pkgdatadir)/$$i ; \
- fi; \
- if test -d $(DESTDIR)$(pkgdatadir)/$$dir ; then \
- rmdir --ignore-fail-on-non-empty $(DESTDIR)$(pkgdatadir)/$$dir ; \
- fi; \
- if test $$archdir != "." -a -d $(DESTDIR)$(pkgdatadir)/$$archdir ; then \
- rmdir --ignore-fail-on-non-empty $(DESTDIR)$(pkgdatadir)/$$archdir ; \
- fi; \
- done
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/events/alpha/ev4/events b/events/alpha/ev4/events
new file mode 100644
index 0000000..8b193d1
--- /dev/null
+++ b/events/alpha/ev4/events
@@ -0,0 +1,18 @@
+# Alpha EV4 events.
+#
+event:0x00 counters:0 um:zero minimum:4096 name:ISSUES : Total issues divided by 2
+event:0x02 counters:0 um:zero minimum:4096 name:PIPELINE_DRY : Nothing issued, no valid I-stream data
+event:0x04 counters:0 um:zero minimum:4096 name:LOAD_INSNS : All load instructions
+event:0x06 counters:0 um:zero minimum:4096 name:PIPELINE_FROZEN : Nothing issued, resource conflict
+event:0x08 counters:0 um:zero minimum:4096 name:BRANCH_INSNS : All branches (conditional, unconditional, jsr, hw_rei)
+event:0x0a counters:0 um:zero minimum:4096 name:CYCLES : Total cycles
+event:0x0b counters:0 um:zero minimum:4096 name:PAL_MODE : Cycles while in PALcode environment
+event:0x0c counters:0 um:zero minimum:4096 name:NON_ISSUES : Total nonissues divided by 2
+event:0x10 counters:0 um:zero minimum:256 name:DCACHE_MISSES : Total D-cache misses
+event:0x11 counters:0 um:zero minimum:256 name:ICACHE_MISSES : Total I-cache misses
+event:0x12 counters:0 um:zero minimum:256 name:DUAL_ISSUE_CYCLES : Cycles of dual issue
+event:0x13 counters:0 um:zero minimum:256 name:BRANCH_MISPREDICTS : Branch mispredicts (conditional, jsr, hw_rei)
+event:0x14 counters:0 um:zero minimum:256 name:FP_INSNS : FP operate instructions (not br, load, store)
+event:0x15 counters:0 um:zero minimum:256 name:INTEGER_OPERATE : Integer operate instructions
+event:0x16 counters:0 um:zero minimum:256 name:STORE_INSNS : Store instructions
+# There's also EXTERNAL, by which we could monitor the 21066/21068 bus controller.
diff --git a/events/alpha/ev4/unit_masks b/events/alpha/ev4/unit_masks
new file mode 100644
index 0000000..bc77cc8
--- /dev/null
+++ b/events/alpha/ev4/unit_masks
@@ -0,0 +1,4 @@
+# Alpha EV4 possible unit masks
+#
+name:zero type:mandatory default:0x0
+ 0x0 No unit mask
diff --git a/events/alpha/ev5/events b/events/alpha/ev5/events
new file mode 100644
index 0000000..709e06a
--- /dev/null
+++ b/events/alpha/ev5/events
@@ -0,0 +1,49 @@
+# Alpha EV5 events
+#
+event:0x00 counters:0,2 um:zero minimum:256 name:CYCLES : Total cycles
+event:0x01 counters:0 um:zero minimum:256 name:ISSUES : Total issues
+event:0x02 counters:1 um:zero minimum:256 name:NON_ISSUE_CYCLES : Nothing issued, pipeline frozen
+event:0x03 counters:1 um:zero minimum:256 name:SPLIT_ISSUE_CYCLES : Some but not all issuable instructions issued
+event:0x04 counters:1 um:zero minimum:256 name:PIPELINE_DRY : Nothing issued, pipeline dry
+event:0x05 counters:1 um:zero minimum:256 name:REPLAY_TRAP : Replay traps (ldu, wb/maf, litmus test)
+event:0x06 counters:1 um:zero minimum:256 name:SINGLE_ISSUE_CYCLES : Single issue cycles
+event:0x07 counters:1 um:zero minimum:256 name:DUAL_ISSUE_CYCLES : Dual issue cycles
+event:0x08 counters:1 um:zero minimum:256 name:TRIPLE_ISSUE_CYCLES : Triple issue cycles
+event:0x09 counters:1 um:zero minimum:256 name:QUAD_ISSUE_CYCLES : Quad issue cycles
+event:0x0a counters:1 um:zero minimum:256 name:FLOW_CHANGE : Flow change (meaning depends on counter 2)
+# ??? This one's dependent on the value in PCSEL2: If measuring PC_MISPR,
+# this is jsr-ret instructions, if measuring BRANCH_MISPREDICTS, this is
+# conditional branches, otherwise this is all branch insns, including hw_rei.
+event:0x0b counters:1 um:zero minimum:256 name:INTEGER_OPERATE : Integer operate instructions
+event:0x0c counters:1 um:zero minimum:256 name:FP_INSNS : FP operate instructions (not br, load, store)
+# FIXME: Bug carried over
+event:0x0c counters:1 um:zero minimum:256 name:LOAD_INSNS : Load instructions
+event:0x0d counters:1 um:zero minimum:256 name:STORE_INSNS : Store instructions
+event:0x0e counters:1 um:zero minimum:256 name:ICACHE_ACCESS : Instruction cache access
+event:0x0f um:zero minimum:256 name:DCACHE_ACCESS : Data cache access
+event:0x10 counters:2 um:zero minimum:256 name:LONG_STALLS : Stalls longer than 15 cycles
+event:0x11 counters:2 um:zero minimum:256 name:PC_MISPR : PC mispredicts
+event:0x12 counters:2 um:zero minimum:256 name:BRANCH_MISPREDICTS : Branch mispredicts
+event:0x13 counters:2 um:zero minimum:256 name:ICACHE_MISSES : Instruction cache misses
+event:0x14 counters:2 um:zero minimum:256 name:ITB_MISS : Instruction TLB miss
+event:0x15 counters:2 um:zero minimum:256 name:DCACHE_MISSES : Data cache misses
+event:0x16 counters:2 um:zero minimum:256 name:DTB_MISS : Data TLB miss
+event:0x17 counters:2 um:zero minimum:256 name:LOADS_MERGED : Loads merged in MAF
+event:0x18 counters:2 um:zero minimum:256 name:LDU_REPLAYS : LDU replay traps
+event:0x19 counters:2 um:zero minimum:256 name:WB_MAF_FULL_REPLAYS : WB/MAF full replay traps
+event:0x1a counters:2 um:zero minimum:256 name:MEM_BARRIER : Memory barrier instructions
+event:0x1b counters:2 um:zero minimum:256 name:LOAD_LOCKED : LDx/L instructions
+event:0x1c counters:1 um:zero minimum:256 name:SCACHE_ACCESS : S-cache access
+event:0x1d counters:1 um:zero minimum:256 name:SCACHE_READ : S-cache read
+event:0x1e counters:1,2 um:zero minimum:256 name:SCACHE_WRITE : S-cache write
+event:0x1f counters:1 um:zero minimum:256 name:SCACHE_VICTIM : S-cache victim
+event:0x20 counters:2 um:zero minimum:256 name:SCACHE_MISS : S-cache miss
+event:0x21 counters:2 um:zero minimum:256 name:SCACHE_READ_MISS : S-cache read miss
+event:0x22 counters:2 um:zero minimum:256 name:SCACHE_WRITE_MISS : S-cache write miss
+event:0x23 counters:2 um:zero minimum:256 name:SCACHE_SH_WRITE : S-cache shared writes
+event:0x24 counters:1 um:zero minimum:256 name:BCACHE_HIT : B-cache hit
+event:0x25 counters:1 um:zero minimum:256 name:BCACHE_VICTIM : B-cache victim
+event:0x26 counters:2 um:zero minimum:256 name:BCACHE_MISS : B-cache miss
+event:0x27 counters:1 um:zero minimum:256 name:SYS_REQ : System requests
+event:0x28 counters:2 um:zero minimum:256 name:SYS_INV : System invalidates
+event:0x29 counters:2 um:zero minimum:256 name:SYS_READ_REQ : System read requests
diff --git a/events/alpha/ev5/unit_masks b/events/alpha/ev5/unit_masks
new file mode 100644
index 0000000..4f24fa9
--- /dev/null
+++ b/events/alpha/ev5/unit_masks
@@ -0,0 +1,4 @@
+# Alpha EV-5 possible unit masks
+#
+name:zero type:mandatory default:0x0
+ 0x0 No unit mask
diff --git a/events/alpha/ev6/events b/events/alpha/ev6/events
new file mode 100644
index 0000000..2039cef
--- /dev/null
+++ b/events/alpha/ev6/events
@@ -0,0 +1,11 @@
+# Alpha EV6 events
+#
+event:0x00 counters:0,1 um:zero minimum:500 name:CYCLES : Total cycles
+event:0x01 counters:1 um:zero minimum:500 name:RETIRED : Retired instructions
+event:0x02 counters:1 um:zero minimum:500 name:COND_BRANCHES : Retired conditional branches
+event:0x03 counters:1 um:zero minimum:500 name:BRANCH_MISPREDICTS : Retired branch mispredicts
+event:0x04 counters:1 um:zero minimum:500 name:DTB_MISS : Retired DTB single misses * 2
+event:0x05 counters:1 um:zero minimum:500 name:DTB_DD_MISS : Retired DTB double double misses
+event:0x06 counters:1 um:zero minimum:500 name:ITB_MISS : Retired ITB misses
+event:0x07 counters:1 um:zero minimum:500 name:UNALIGNED_TRAP : Retired unaligned traps
+event:0x08 counters:1 um:zero minimum:500 name:REPLAY_TRAP : Replay traps
diff --git a/events/alpha/ev6/unit_masks b/events/alpha/ev6/unit_masks
new file mode 100644
index 0000000..bbe38c6
--- /dev/null
+++ b/events/alpha/ev6/unit_masks
@@ -0,0 +1,4 @@
+# Alpha EV-6 possible unit masks
+#
+name:zero type:mandatory default:0x0
+ 0x0 No unit mask
diff --git a/events/alpha/ev67/events b/events/alpha/ev67/events
new file mode 100644
index 0000000..b603871
--- /dev/null
+++ b/events/alpha/ev67/events
@@ -0,0 +1,27 @@
+# Alpha EV-67 Events
+#
+event:0x00 counters:0 um:zero minimum:500 name:CYCLES : Total cycles
+event:0x01 counters:1 um:zero minimum:500 name:DELAYED_CYCLES : Cycles of delayed retire pointer advance
+# FIXME: bug carried over
+event:0x00 counters:0,1 um:zero minimum:500 name:RETIRED : Retired instructions
+event:0x02 counters:1 um:zero minimum:500 name:BCACHE_MISS : Bcache misses/long probe latency
+event:0x03 counters:1 um:zero minimum:500 name:MBOX_REPLAY : Mbox replay traps
+# FIXME: all the below used PM_CTR
+event:0x04 counters:0 um:zero minimum:500 name:STALLED_0 : PCTR0 triggered; stalled between fetch and map stages
+event:0x05 counters:0 um:zero minimum:500 name:TAKEN_0 : PCTR0 triggered; branch was not mispredicted and taken
+event:0x06 counters:0 um:zero minimum:500 name:MISPREDICT_0 : PCTR0 triggered; branch was mispredicted
+event:0x07 counters:0 um:zero minimum:500 name:ITB_MISS_0 : PCTR0 triggered; ITB miss
+event:0x08 counters:0 um:zero minimum:500 name:DTB_MISS_0 : PCTR0 triggered; DTB miss
+event:0x09 counters:0 um:zero minimum:500 name:REPLAY_0 : PCTR0 triggered; replay trap
+event:0x0a counters:0 um:zero minimum:500 name:LOAD_STORE_0 : PCTR0 triggered; load-store order replay trap
+event:0x0b counters:0 um:zero minimum:500 name:ICACHE_MISS_0 : PCTR0 triggered; Icache miss
+event:0x0c counters:0 um:zero minimum:500 name:UNALIGNED_0 : PCTR0 triggered; unaligned load/store trap
+event:0x0d counters:0 um:zero minimum:500 name:STALLED_1 : PCTR1 triggered; stalled between fetch and map stages
+event:0x0e counters:0 um:zero minimum:500 name:TAKEN_1 : PCTR1 triggered; branch was not mispredicted and taken
+event:0x0f counters:0 um:zero minimum:500 name:MISPREDICT_1 : PCTR1 triggered; branch was mispredicted
+event:0x10 counters:0 um:zero minimum:500 name:ITB_MISS_1 : PCTR1 triggered; ITB miss
+event:0x11 counters:0 um:zero minimum:500 name:DTB_MISS_1 : PCTR1 triggered; DTB miss
+event:0x12 counters:0 um:zero minimum:500 name:REPLAY_1 : PCTR1 triggered; replay trap
+event:0x13 counters:0 um:zero minimum:500 name:LOAD_STORE_1 : PCTR1 triggered; load-store order replay trap
+event:0x14 counters:0 um:zero minimum:500 name:ICACHE_MISS_1 : PCTR1 triggered; Icache miss
+event:0x15 counters:0 um:zero minimum:500 name:UNALIGNED_1 : PCTR1 triggered; unaligned load/store trap
diff --git a/events/alpha/ev67/unit_masks b/events/alpha/ev67/unit_masks
new file mode 100644
index 0000000..3461e49
--- /dev/null
+++ b/events/alpha/ev67/unit_masks
@@ -0,0 +1,4 @@
+# Alpha EV-67 possible unit masks
+#
+name:zero type:mandatory default:0x0
+ 0x0 No unit mask
diff --git a/events/alpha/pca56/events b/events/alpha/pca56/events
new file mode 100644
index 0000000..334babe
--- /dev/null
+++ b/events/alpha/pca56/events
@@ -0,0 +1,2 @@
+# PCA-56
+# FIXME: no events ? What's going on here Falk ?
diff --git a/events/alpha/pca56/unit_masks b/events/alpha/pca56/unit_masks
new file mode 100644
index 0000000..2b807b7
--- /dev/null
+++ b/events/alpha/pca56/unit_masks
@@ -0,0 +1,3 @@
+# Alpha PCA-56 possible unit masks
+#
+# FIXME: any events ...?
diff --git a/events/arm/armv7-ca9/events b/events/arm/armv7-ca9/events
new file mode 100644
index 0000000..c1e4084
--- /dev/null
+++ b/events/arm/armv7-ca9/events
@@ -0,0 +1,50 @@
+# ARM Cortex A9 events
+# From Cortex A9 TRM
+#
+include:arm/armv7-common
+event:0x40 counters:1,2,3,4,5,6 um:zero minimum:500 name:JAVA_BC_EXEC : Number of Java bytecodes decoded, including speculative ones
+event:0x41 counters:1,2,3,4,5,6 um:zero minimum:500 name:JAVA_SFTBC_EXEC : Number of software Java bytecodes decoded, including speculative ones
+event:0x42 counters:1,2,3,4,5,6 um:zero minimum:500 name:JAVA_BB_EXEC : Number of Jazelle taken branches executed, including those flushed due to a previous load/store which aborts late
+
+event:0x50 counters:1,2,3,4,5,6 um:zero minimum:500 name:CO_LF_MISS : Number of coherent linefill requests which miss in all other CPUs, meaning that the request is sent to external memory
+event:0x51 counters:1,2,3,4,5,6 um:zero minimum:500 name:CO_LF_HIT : Number of coherent linefill requests which hit in another CPU, meaning that the linefill data is fetched directly from the relevant cache
+
+event:0x60 counters:1,2,3,4,5,6 um:zero minimum:500 name:IC_DEP_STALL : Number of cycles where CPU is ready to accept new instructions but does not receive any because of the instruction side not being able to provide any and the instruction cache is currently performing at least one linefill
+event:0x61 counters:1,2,3,4,5,6 um:zero minimum:500 name:DC_DEP_STALL : Number of cycles where CPU has some instructions that it cannot issue to any pipeline and the LSU has at least one pending linefill request but no pending TLB requests
+event:0x63 counters:1,2,3,4,5,6 um:zero minimum:500 name:STREX_PASS : Number of STREX instructions architecturally executed and passed
+event:0x64 counters:1,2,3,4,5,6 um:zero minimum:500 name:STREX_FAILS : Number of STREX instructions architecturally executed and failed
+event:0x65 counters:1,2,3,4,5,6 um:zero minimum:500 name:DATA_EVICT : Number of eviction requests due to a linefill in the data cache
+event:0x66 counters:1,2,3,4,5,6 um:zero minimum:500 name:ISS_NO_DISP : Number of cycles where the issue stage does not dispatch any instruction
+event:0x67 counters:1,2,3,4,5,6 um:zero minimum:500 name:ISS_EMPTY : Number of cycles where the issue stage is empty
+event:0x68 counters:1,2,3,4,5,6 um:zero minimum:500 name:INS_RENAME : Number of instructions going through the Register Renaming stage
+
+event:0x6E counters:1,2,3,4,5,6 um:zero minimum:500 name:PRD_FN_RET : Number of procedure returns whose condition codes do not fail, excluding all exception returns
+
+event:0x70 counters:1,2,3,4,5,6 um:zero minimum:500 name:INS_MAIN_EXEC : Number of instructions being executed in main execution pipeline of the CPU, the multiply pipeline and the ALU pipeline
+event:0x71 counters:1,2,3,4,5,6 um:zero minimum:500 name:INS_SND_EXEC : Number of instructions being executed in the second execution pipeline (ALU) of the CPU
+event:0x72 counters:1,2,3,4,5,6 um:zero minimum:500 name:INS_LSU : Number of instructions being executed in the Load/Store unit
+event:0x73 counters:1,2,3,4,5,6 um:zero minimum:500 name:INS_FP_RR : Number of floating-point instructions going through the Register Rename stage
+event:0x74 counters:1,2,3,4,5,6 um:zero minimum:500 name:INS_NEON_RR : Number of NEON instructions going through the Register Rename stage
+
+event:0x80 counters:1,2,3,4,5,6 um:zero minimum:500 name:STALL_PLD : Number of cycles where CPU is stalled because PLD slots are all full
+event:0x81 counters:1,2,3,4,5,6 um:zero minimum:500 name:STALL_WRITE : Number of cycles where CPU is stalled because data side is full and executing writes to external memory
+event:0x82 counters:1,2,3,4,5,6 um:zero minimum:500 name:STALL_INS_TLB : Number of cycles where CPU is stalled because of main TLB misses on requests issued by the instruction side
+event:0x83 counters:1,2,3,4,5,6 um:zero minimum:500 name:STALL_DATA_TLB : Number of cycles where CPU is stalled because of main TLB misses on requests issued by the data side
+event:0x84 counters:1,2,3,4,5,6 um:zero minimum:500 name:STALL_INS_UTLB : Number of cycles where CPU is stalled because of micro TLB misses on the instruction side
+event:0x85 counters:1,2,3,4,5,6 um:zero minimum:500 name:STALL_DATA_ULTB : Number of cycles where CPU is stalled because of micro TLB misses on the data side
+event:0x86 counters:1,2,3,4,5,6 um:zero minimum:500 name:STALL_DMB : Number of cycles where CPU is stalled due to executed of a DMB memory barrier
+
+event:0x8A counters:1,2,3,4,5,6 um:zero minimum:500 name:CLK_INT_EN : Number of cycles during which the integer core clock is enabled
+event:0x8B counters:1,2,3,4,5,6 um:zero minimum:500 name:CLK_DE_EN : Number of cycles during which the Data Engine clock is enabled
+
+event:0x90 counters:1,2,3,4,5,6 um:zero minimum:500 name:INS_ISB : Number of ISB instructions architecturally executed
+event:0x91 counters:1,2,3,4,5,6 um:zero minimum:500 name:INS_DSB : Number of DSB instructions architecturally executed
+event:0x92 counters:1,2,3,4,5,6 um:zero minimum:500 name:INS_DMB : Number of DMB instructions speculatively executed
+event:0x93 counters:1,2,3,4,5,6 um:zero minimum:500 name:EXT_IRQ : Number of external interrupts executed by the processor
+
+event:0xA0 counters:1,2,3,4,5,6 um:zero minimum:500 name:PLE_CL_REQ_CMP : PLE cache line request completed
+event:0xA1 counters:1,2,3,4,5,6 um:zero minimum:500 name:PLE_CL_REQ_SKP : PLE cache line request skipped
+event:0xA2 counters:1,2,3,4,5,6 um:zero minimum:500 name:PLE_FIFO_FLSH : PLE FIFO flush
+event:0xA3 counters:1,2,3,4,5,6 um:zero minimum:500 name:PLE_REQ_COMP : PLE request completed
+event:0xA4 counters:1,2,3,4,5,6 um:zero minimum:500 name:PLE_FIFO_OF : PLE FIFO overflow
+event:0xA5 counters:1,2,3,4,5,6 um:zero minimum:500 name:PLE_REQ_PRG : PLE request programmed
diff --git a/events/arm/armv7-ca9/unit_masks b/events/arm/armv7-ca9/unit_masks
new file mode 100644
index 0000000..4027469
--- /dev/null
+++ b/events/arm/armv7-ca9/unit_masks
@@ -0,0 +1,4 @@
+# ARM V7 PMNC possible unit masks
+#
+name:zero type:mandatory default:0x00
+ 0x00 No unit mask
diff --git a/events/arm/armv7-common/events b/events/arm/armv7-common/events
new file mode 100644
index 0000000..c4fe8c7
--- /dev/null
+++ b/events/arm/armv7-common/events
@@ -0,0 +1,22 @@
+# ARM V7 events
+# From ARM ARM
+#
+event:0x00 counters:1,2,3,4,5,6 um:zero minimum:500 name:PMNC_SW_INCR : Software increment of PMNC registers
+event:0x01 counters:1,2,3,4,5,6 um:zero minimum:500 name:IFETCH_MISS : Instruction fetch misses from cache or normal cacheable memory
+event:0x02 counters:1,2,3,4,5,6 um:zero minimum:500 name:ITLB_MISS : Instruction fetch misses from TLB
+event:0x03 counters:1,2,3,4,5,6 um:zero minimum:500 name:DCACHE_REFILL : Data R/W operation that causes a refill from cache or normal cacheable memory
+event:0x04 counters:1,2,3,4,5,6 um:zero minimum:500 name:DCACHE_ACCESS : Data R/W from cache
+event:0x05 counters:1,2,3,4,5,6 um:zero minimum:500 name:DTLB_REFILL : Data R/W that causes a TLB refill
+event:0x06 counters:1,2,3,4,5,6 um:zero minimum:500 name:DREAD : Data read architecturally executed (note: architecturally executed = for instructions that are unconditional or that pass the condition code)
+event:0x07 counters:1,2,3,4,5,6 um:zero minimum:500 name:DWRITE : Data write architecturally executed
+event:0x08 counters:1,2,3,4,5,6 um:zero minimum:500 name:INSTR_EXECUTED : All executed instructions
+event:0x09 counters:1,2,3,4,5,6 um:zero minimum:500 name:EXC_TAKEN : Exception taken
+event:0x0A counters:1,2,3,4,5,6 um:zero minimum:500 name:EXC_EXECUTED : Exception return architecturally executed
+event:0x0B counters:1,2,3,4,5,6 um:zero minimum:500 name:CID_WRITE : Instruction that writes to the Context ID Register architecturally executed
+event:0x0C counters:1,2,3,4,5,6 um:zero minimum:500 name:PC_WRITE : SW change of PC, architecturally executed (not by exceptions)
+event:0x0D counters:1,2,3,4,5,6 um:zero minimum:500 name:PC_IMM_BRANCH : Immediate branch instruction executed (taken or not)
+event:0x0E counters:1,2,3,4,5,6 um:zero minimum:500 name:PC_PROC_RETURN : Procedure return architecturally executed (not by exceptions)
+event:0x0F counters:1,2,3,4,5,6 um:zero minimum:500 name:UNALIGNED_ACCESS : Unaligned access architecturally executed
+event:0x10 counters:1,2,3,4,5,6 um:zero minimum:500 name:PC_BRANCH_MIS_PRED : Branch mispredicted or not predicted. Counts pipeline flushes because of misprediction
+event:0x12 counters:1,2,3,4,5,6 um:zero minimum:500 name:PC_BRANCH_MIS_USED : Branch or change in program flow that could have been predicted
+event:0xFF counters:0 um:zero minimum:500 name:CPU_CYCLES : Number of CPU cycles
diff --git a/events/arm/armv7-common/unit_masks b/events/arm/armv7-common/unit_masks
new file mode 100644
index 0000000..4027469
--- /dev/null
+++ b/events/arm/armv7-common/unit_masks
@@ -0,0 +1,4 @@
+# ARM V7 PMNC possible unit masks
+#
+name:zero type:mandatory default:0x00
+ 0x00 No unit mask
diff --git a/events/arm/armv7/events b/events/arm/armv7/events
index ffecf2b..d6d9227 100644
--- a/events/arm/armv7/events
+++ b/events/arm/armv7/events
@@ -1,24 +1,7 @@
# ARM V7 events
# From Cortex A8 DDI (ARM DDI 0344B, revision r1p1)
#
-event:0x00 counters:1,2,3,4 um:zero minimum:500 name:PMNC_SW_INCR : Software increment of PMNC registers
-event:0x01 counters:1,2,3,4 um:zero minimum:500 name:IFETCH_MISS : Instruction fetch misses from cache or normal cacheable memory
-event:0x02 counters:1,2,3,4 um:zero minimum:500 name:ITLB_MISS : Instruction fetch misses from TLB
-event:0x03 counters:1,2,3,4 um:zero minimum:500 name:DCACHE_REFILL : Data R/W operation that causes a refill from cache or normal cacheable memory
-event:0x04 counters:1,2,3,4 um:zero minimum:500 name:DCACHE_ACCESS : Data R/W from cache
-event:0x05 counters:1,2,3,4 um:zero minimum:500 name:DTLB_REFILL : Data R/W that causes a TLB refill
-event:0x06 counters:1,2,3,4 um:zero minimum:500 name:DREAD : Data read architecturally executed (note: architecturally executed = for instructions that are unconditional or that pass the condition code)
-event:0x07 counters:1,2,3,4 um:zero minimum:500 name:DWRITE : Data write architecturally executed
-event:0x08 counters:1,2,3,4 um:zero minimum:500 name:INSTR_EXECUTED : All executed instructions
-event:0x09 counters:1,2,3,4 um:zero minimum:500 name:EXC_TAKEN : Exception taken
-event:0x0A counters:1,2,3,4 um:zero minimum:500 name:EXC_EXECUTED : Exception return architecturally executed
-event:0x0B counters:1,2,3,4 um:zero minimum:500 name:CID_WRITE : Instruction that writes to the Context ID Register architecturally executed
-event:0x0C counters:1,2,3,4 um:zero minimum:500 name:PC_WRITE : SW change of PC, architecturally executed (not by exceptions)
-event:0x0D counters:1,2,3,4 um:zero minimum:500 name:PC_IMM_BRANCH : Immediate branch instruction executed (taken or not)
-event:0x0E counters:1,2,3,4 um:zero minimum:500 name:PC_PROC_RETURN : Procedure return architecturally executed (not by exceptions)
-event:0x0F counters:1,2,3,4 um:zero minimum:500 name:UNALIGNED_ACCESS : Unaligned access architecturally executed
-event:0x10 counters:1,2,3,4 um:zero minimum:500 name:PC_BRANCH_MIS_PRED : Branch mispredicted or not predicted. Counts pipeline flushes because of misprediction
-event:0x12 counters:1,2,3,4 um:zero minimum:500 name:PC_BRANCH_MIS_USED : Branch or change in program flow that could have been predicted
+include:arm/armv7-common
event:0x40 counters:1,2,3,4 um:zero minimum:500 name:WRITE_BUFFER_FULL : Any write buffer full cycle
event:0x41 counters:1,2,3,4 um:zero minimum:500 name:L2_STORE_MERGED : Any store that is merged in L2 cache
event:0x42 counters:1,2,3,4 um:zero minimum:500 name:L2_STORE_BUFF : Any bufferable store from load/store to L2 cache
@@ -49,5 +32,3 @@ event:0x5A counters:1,2,3,4 um:zero minimum:500 name:NEON_CYCLES : Number of cyc
event:0x70 counters:1,2,3,4 um:zero minimum:500 name:PMU0_EVENTS : Number of events from external input source PMUEXTIN[0]
event:0x71 counters:1,2,3,4 um:zero minimum:500 name:PMU1_EVENTS : Number of events from external input source PMUEXTIN[1]
event:0x72 counters:1,2,3,4 um:zero minimum:500 name:PMU_EVENTS : Number of events from both external input sources PMUEXTIN[0] and PMUEXTIN[1]
-event:0xFF counters:0 um:zero minimum:500 name:CPU_CYCLES : Number of CPU cycles
-
diff --git a/events/avr32/events b/events/avr32/events
new file mode 100644
index 0000000..489d914
--- /dev/null
+++ b/events/avr32/events
@@ -0,0 +1,27 @@
+# AVR32 events
+#
+event:0x00 counters:1,2 um:zero minimum:500 name:IFU_IFETCH_MISS : number of instruction fetch misses
+event:0x01 counters:1,2 um:zero minimum:500 name:CYCLES_IFU_MEM_STALL : cycles instruction fetch pipe is stalled
+event:0x02 counters:1,2 um:zero minimum:500 name:CYCLES_DATA_STALL : cycles stall due to data dependency
+event:0x03 counters:1,2 um:zero minimum:500 name:ITLB_MISS : number of Instruction TLB misses
+event:0x04 counters:1,2 um:zero minimum:500 name:DTLB_MISS : number of Data TLB misses
+event:0x05 counters:1,2 um:zero minimum:500 name:BR_INST_EXECUTED : branch instruction executed w/ or w/o program flow change
+event:0x06 counters:1,2 um:zero minimum:500 name:BR_INST_MISS_PRED : branch mispredicted
+event:0x07 counters:1,2 um:zero minimum:500 name:INSN_EXECUTED : instructions executed
+event:0x08 counters:1,2 um:zero minimum:500 name:DCACHE_WBUF_FULL : data cache write buffers full
+event:0x09 counters:1,2 um:zero minimum:500 name:CYCLES_DCACHE_WBUF_FULL : cycles stalled due to data cache write buffers full
+event:0x0a counters:1,2 um:zero minimum:500 name:DCACHE_READ_MISS : data cache read miss
+event:0x0b counters:1,2 um:zero minimum:500 name:CYCLES_DCACHE_READ_MISS : cycles stalled due to data cache read miss
+event:0x0c counters:1,2 um:zero minimum:500 name:WRITE_ACCESS : write access
+event:0x0d counters:1,2 um:zero minimum:500 name:CYCLES_WRITE_ACCESS : cycles when write access is ongoing
+event:0x0e counters:1,2 um:zero minimum:500 name:READ_ACCESS : read access
+event:0x0f counters:1,2 um:zero minimum:500 name:CYCLES_READ_ACCESS : cycles when read access is ongoing
+event:0x10 counters:1,2 um:zero minimum:500 name:CACHE_STALL : read or write access that stalled
+event:0x11 counters:1,2 um:zero minimum:500 name:CYCLES_CACHE_STALL : cycles stalled doing read or write access
+event:0x12 counters:1,2 um:zero minimum:500 name:DCACHE_ACCESS : data cache access
+event:0x13 counters:1,2 um:zero minimum:500 name:CYCLES_DCACHE_ACCESS : cycles when data cache access is ongoing
+event:0x14 counters:1,2 um:zero minimum:500 name:DCACHE_WB : data cache line writeback
+event:0x15 counters:1,2 um:zero minimum:500 name:ACCUMULATOR_HIT : accumulator cache hit
+event:0x16 counters:1,2 um:zero minimum:500 name:ACCUMULATOR_MISS : accumulator cache miss
+event:0x17 counters:1,2 um:zero minimum:500 name:BTB_HIT : branch target buffer hit
+event:0xff counters:0 um:zero minimum:500 name:CPU_CYCLES : clock cycles counter
diff --git a/events/avr32/unit_masks b/events/avr32/unit_masks
new file mode 100644
index 0000000..37d9839
--- /dev/null
+++ b/events/avr32/unit_masks
@@ -0,0 +1,4 @@
+# AVR32 performance counters possible unit masks
+#
+name:zero type:mandatory default:0x00
+ 0x00 No unit mask
diff --git a/events/i386/arch_perfmon/events b/events/i386/arch_perfmon/events
new file mode 100644
index 0000000..960e3bb
--- /dev/null
+++ b/events/i386/arch_perfmon/events
@@ -0,0 +1,10 @@
+#
+# Intel Architectural events as of arch perfmon v2
+#
+event:0x3c counters:cpuid um:zero minimum:6000 filter:0 name:CPU_CLK_UNHALTED : Clock cycles when not halted
+event:0x3c counters:cpuid um:one minimum:6000 filter:2 name:UNHALTED_REFERENCE_CYCLES : Unhalted reference cycles
+event:0xc0 counters:cpuid um:zero minimum:6000 filter:1 name:INST_RETIRED : number of instructions retired
+event:0x2e counters:cpuid um:x41 minimum:6000 filter:4 name:LLC_MISSES : Last level cache demand requests from this core that missed the LLC
+event:0x2e counters:cpuid um:x4f minimum:6000 filter:3 name:LLC_REFS : Last level cache demand requests from this core
+event:0xc4 counters:cpuid um:zero minimum:500 filter:5 name:BR_INST_RETIRED : number of branch instructions retired
+event:0xc5 counters:cpuid um:zero minimum:500 filter:6 name:BR_MISS_PRED_RETIRED : number of mispredicted branches retired (precise)
diff --git a/events/i386/arch_perfmon/unit_masks b/events/i386/arch_perfmon/unit_masks
new file mode 100644
index 0000000..ab123ad
--- /dev/null
+++ b/events/i386/arch_perfmon/unit_masks
@@ -0,0 +1,11 @@
+# Intel architectural perfmon unit masks
+#
+name:zero type:mandatory default:0x0
+ 0x0 No unit mask
+name:one type:mandatory default:0x1
+ 0x1 No unit mask
+name:x41 type:mandatory default:0x41
+ 0x41 No unit mask
+name:x4f type:mandatory default:0x4f
+ 0x4f No unit mask
+# \ No newline at end of file
diff --git a/events/i386/athlon/events b/events/i386/athlon/events
new file mode 100644
index 0000000..830f4f7
--- /dev/null
+++ b/events/i386/athlon/events
@@ -0,0 +1,27 @@
+# Athlon Events
+#
+event:0x76 counters:0,1,2,3 um:zero minimum:3000 name:CPU_CLK_UNHALTED : Cycles outside of halt state
+event:0xc0 counters:0,1,2,3 um:zero minimum:3000 name:RETIRED_INSNS : Retired instructions (includes exceptions, interrupts, resyncs)
+event:0xc1 counters:0,1,2,3 um:zero minimum:500 name:RETIRED_OPS : Retired Ops
+event:0x80 counters:0,1,2,3 um:zero minimum:500 name:ICACHE_FETCHES : Instruction cache fetches
+event:0x81 counters:0,1,2,3 um:zero minimum:500 name:ICACHE_MISSES : Instruction cache misses
+event:0x40 counters:0,1,2,3 um:zero minimum:500 name:DATA_CACHE_ACCESSES : Data cache accesses
+event:0x41 counters:0,1,2,3 um:zero minimum:500 name:DATA_CACHE_MISSES : Data cache misses
+event:0x42 counters:0,1,2,3 um:moesi minimum:500 name:DATA_CACHE_REFILLS_FROM_L2 : Data cache refills from L2
+event:0x43 counters:0,1,2,3 um:moesi minimum:500 name:DATA_CACHE_REFILLS_FROM_SYSTEM : Data cache refills from system
+event:0x44 counters:0,1,2,3 um:moesi minimum:500 name:DATA_CACHE_WRITEBACKS : Data cache write backs
+event:0xc2 counters:0,1,2,3 um:zero minimum:500 name:RETIRED_BRANCHES : Retired branches (conditional, unconditional, exceptions, interrupts)
+event:0xc3 counters:0,1,2,3 um:zero minimum:500 name:RETIRED_BRANCHES_MISPREDICTED : Retired branches mispredicted
+event:0xc4 counters:0,1,2,3 um:zero minimum:500 name:RETIRED_TAKEN_BRANCHES : Retired taken branches
+event:0xc5 counters:0,1,2,3 um:zero minimum:500 name:RETIRED_TAKEN_BRANCHES_MISPREDICTED : Retired taken branches mispredicted
+event:0x45 counters:0,1,2,3 um:zero minimum:500 name:L1_DTLB_MISSES_L2_DTLD_HITS : L1 DTLB misses and L2 DTLB hits
+event:0x46 counters:0,1,2,3 um:zero minimum:500 name:L1_AND_L2_DTLB_MISSES : L1 and L2 DTLB misses
+event:0x47 counters:0,1,2,3 um:zero minimum:500 name:MISALIGNED_DATA_REFS : Misaligned data references
+event:0x84 counters:0,1,2,3 um:zero minimum:500 name:L1_ITLB_MISSES_L2_ITLB_HITS : L1 ITLB misses (and L2 ITLB hits)
+event:0x85 counters:0,1,2,3 um:zero minimum:500 name:L1_AND_L2_ITLB_MISSES : L1 and L2 ITLB misses
+event:0xc6 counters:0,1,2,3 um:zero minimum:500 name:RETIRED_FAR_CONTROL_TRANSFERS : Retired far control transfers
+event:0xc7 counters:0,1,2,3 um:zero minimum:500 name:RETIRED_RESYNC_BRANCHES : Retired resync branches (only non-control transfer branches counted)
+event:0xcd counters:0,1,2,3 um:zero minimum:500 name:INTERRUPTS_MASKED : Interrupts masked cycles (IF=0)
+event:0xce counters:0,1,2,3 um:zero minimum:500 name:INTERRUPTS_MASKED_PENDING : Interrupts masked while pending cycles (INTR while IF=0)
+event:0xcf counters:0,1,2,3 um:zero minimum:10 name:HARDWARE_INTERRUPTS : Number of taken hardware interrupts
+# There are other events, but they were removed from the architecture manuals
diff --git a/events/i386/athlon/unit_masks b/events/i386/athlon/unit_masks
new file mode 100644
index 0000000..b5b0da8
--- /dev/null
+++ b/events/i386/athlon/unit_masks
@@ -0,0 +1,11 @@
+# Athlon possible unit masks
+#
+name:zero type:mandatory default:0x0
+ 0x0 No unit mask
+name:moesi type:bitmask default:0x1f
+ 0x10 (M)odified cache state
+ 0x08 (O)wner cache state
+ 0x04 (E)xclusive cache state
+ 0x02 (S)hared cache state
+ 0x01 (I)nvalid cache state
+ 0x1f All cache states
diff --git a/events/i386/atom/events b/events/i386/atom/events
new file mode 100644
index 0000000..ed93445
--- /dev/null
+++ b/events/i386/atom/events
@@ -0,0 +1,80 @@
+#
+# Intel Atom (Silverthorne) events
+#
+# architectural perfmon events
+event:0x3c counters:0,1 um:cpu_clk_unhalted minimum:6000 name:CPU_CLK_UNHALTED : Clock cycles when not halted
+event:0x3c counters:0,1 um:one minimum:6000 name:UNHALTED_REFERENCE_CYCLES : Unhalted reference cycles
+event:0xc0 counters:0,1 um:one minimum:6000 name:INST_RETIRED : number of instructions retired
+event:0x2e counters:0,1 um:x41 minimum:6000 name:LLC_MISSES : Last level cache demand requests from this core that missed the LLC
+event:0x2e counters:0,1 um:x4f minimum:6000 name:LLC_REFS : Last level cache demand requests from this core
+event:0xc4 counters:0,1 um:br_inst_retired minimum:500 name:BR_INST_RETIRED : number of branch instructions retired
+event:0xc5 counters:0,1 um:zero minimum:500 name:BR_MISS_PRED_RETIRED : number of mispredicted branches retired (precise)
+#
+event:0x02 counters:0,1 um:store_forwards minimum:6000 name:STORE_FORWARDS : Good store forwards
+event:0x06 counters:0,1 um:segment_reg_loads minimum:6000 name:SEGMENT_REG_LOADS : Number of segment register loads
+event:0x07 counters:0,1 um:simd_prefetch minimum:6000 name:PREFETCH : Streaming SIMD Extensions (SSE) Prefetch instructions executed
+event:0x08 counters:0,1 um:data_tlb_misses minimum:6000 name:DATA_TLB_MISSES : Memory accesses that missed the DTLB
+event:0x0C counters:0,1 um:page_walks minimum:6000 name:PAGE_WALKS : Page walks
+event:0x10 counters:0,1 um:x87_comp_ops_exe minimum:6000 name:X87_COMP_OPS_EXE : Floating point computational micro-ops
+event:0x11 counters:0,1 um:fp_assist minimum:6000 name:FP_ASSIST : Floating point assists
+event:0x12 counters:0,1 um:mul minimum:6000 name:MUL : Multiply operations
+event:0x13 counters:0,1 um:div minimum:6000 name:DIV : Divide operations
+event:0x14 counters:0,1 um:one minimum:6000 name:CYCLES_DIV_BUSY : Cycles the driver is busy
+event:0x21 counters:0,1 um:core minimum:6000 name:CORE : Cycles L2 address bus is in use
+event:0x22 counters:0,1 um:core minimum:6000 name:L2_DBUS_BUSY : Cycles the L2 cache data bus is busy
+event:0x24 counters:0,1 um:core,prefetch minimum:500 name:L2_LINES_IN : L2 cache misses
+event:0x25 counters:0,1 um:core minimum:500 name:L2_M_LINES_IN : L2 cache line modifications
+event:0x26 counters:0,1 um:core,prefetch minimum:500 name:L2_LINES_OUT : L2 cache lines evicted
+event:0x27 counters:0,1 um:core,prefetch minimum:500 name:L2_M_LINES_OUT : Modified lines evicted from the L2 cache
+event:0x28 counters:0,1 um:core,mesi minimum:6000 name:L2_IFETCH : L2 cacheable instruction fetch requests
+event:0x29 counters:0,1 um:core,prefetch,mesi minimum:6000 name:L2_LD : L2 cache reads
+event:0x2A counters:0,1 um:core,mesi minimum:6000 name:L2_ST : L2 store requests
+event:0x2B counters:0,1 um:core,mesi minimum:6000 name:L2_LOCK : L2 locked accesses
+event:0x2E counters:0,1 um:l2_rqsts,core,prefetch,mesi minimum:6000 name:L2_RQSTS : L2 cache requests
+event:0x30 counters:0,1 um:core,prefetch,mesi minimum:500 name:L2_REJECT_BUSQ : Rejected L2 cache requests
+event:0x32 counters:0,1 um:core minimum:6000 name:L2_NO_REQ : Cycles no L2 cache requests are pending
+event:0x3A counters:0,1 um:zero minimum:6000 name:EIST_TRANS : Number of Enhanced Intel SpeedStep(R) Technology (EIST) transitions
+event:0x3B counters:0,1 um:thermal_trip minimum:6000 name:THERMAL_TRIP : Number of thermal trips
+event:0x40 counters:0,1 um:l1d_cache minimum:6000 name:L1D_CACHE : L1d Cache accesses
+event:0x60 counters:0,1 um:core,agent minimum:6000 name:BUS_REQUEST_OUTSTANDING : Outstanding cacheable data read bus requests duration
+event:0x61 counters:0,1 um:agent minimum:6000 name:BUS_BNR_DRV : Number of Bus Not Ready signals asserted
+event:0x62 counters:0,1 um:agent minimum:6000 name:BUS_DRDY_CLOCKS : Bus cycles when data is sent on the bus
+event:0x63 counters:0,1 um:core,agent minimum:6000 name:BUS_LOCK_CLOCKS : Bus cycles when a LOCK signal is asserted.
+event:0x64 counters:0,1 um:core minimum:6000 name:BUS_DATA_RCV : Bus cycles while processor receives data
+event:0x65 counters:0,1 um:core,agent minimum:500 name:BUS_TRANS_BRD : Burst read bus transactions
+event:0x66 counters:0,1 um:core,agent minimum:500 name:BUS_TRANS_RFO : RFO bus transactions
+event:0x67 counters:0,1 um:core,agent minimum:500 name:BUS_TRANS_WB : Explicit writeback bus transactions
+event:0x68 counters:0,1 um:core,agent minimum:500 name:BUS_TRANS_IFETCH : Instruction-fetch bus transactions.
+event:0x69 counters:0,1 um:core,agent minimum:500 name:BUS_TRANS_INVAL : Invalidate bus transactions
+event:0x6A counters:0,1 um:core,agent minimum:500 name:BUS_TRANS_PWR : Partial write bus transaction.
+event:0x6B counters:0,1 um:core,agent minimum:500 name:BUS_TRANS_P : Partial bus transactions
+event:0x6C counters:0,1 um:core,agent minimum:500 name:BUS_TRANS_IO : IO bus transactions
+event:0x6D counters:0,1 um:core,agent minimum:500 name:BUS_TRANS_DEF : Deferred bus transactions
+event:0x6E counters:0,1 um:core,agent minimum:500 name:BUS_TRANS_BURST : Burst (full cache-line) bus transactions.
+event:0x6F counters:0,1 um:core,agent minimum:500 name:BUS_TRANS_MEM : Memory bus transactions
+event:0x70 counters:0,1 um:core,agent minimum:500 name:BUS_TRANS_ANY : All bus transactions
+event:0x77 counters:0,1 um:core,mesi minimum:500 name:EXT_SNOOP : External snoops
+event:0x7A counters:0,1 um:agent minimum:500 name:BUS_HIT_DRV : HIT signal asserted
+event:0x7B counters:0,1 um:agent minimum:500 name:BUS_HITM_DRV : HITM signal asserted
+event:0x7D counters:0,1 um:core minimum:500 name:BUSQ_EMPTY : Bus queue is empty
+event:0x7E counters:0,1 um:core,agent minimum:6000 name:SNOOP_STALL_DRV : Bus stalled for snoops
+event:0x7F counters:0,1 um:core minimum:6000 name:BUS_IO_WAIT : IO requests waiting in the bus queue
+event:0x80 counters:0,1 um:icache minimum:6000 name:ICACHE : Instruction cache accesses
+event:0x82 counters:0,1 um:itlb minimum:6000 name:ITLB : ITLB events
+event:0xAA counters:0,1 um:macro_insts minimum:6000 name:MACRO_INSTS : instructions decoded
+event:0xB0 counters:0,1 um:simd_uops_exec minimum:6000 name:SIMD_UOPS_EXEC : SIMD micro-ops executed
+event:0xB1 counters:0,1 um:simd_sat_uop_exec minimum:6000 name:SIMD_SAT_UOP_EXEC : SIMD saturated arithmetic micro-ops executed
+event:0xB3 counters:0,1 um:simd_uop_type_exec minimum:6000 name:SIMD_UOP_TYPE_EXEC : SIMD packed microops executed
+event:0xC2 counters:0,1 um:uops_retired minimum:6000 name:UOPS_RETIRED : Micro-ops retired
+event:0xC3 counters:0,1 um:one minimum:6000 name:MACHINE_CLEARS : Self-Modifying Code detected
+event:0xC6 counters:0,1 um:cycles_int_masked minimum:6000 name:CYCLES_INT_MASKED : Cycles during which interrupts are disabled
+event:0xC7 counters:0,1 um:simd_inst_retired minimum:6000 name:SIMD_INST_RETIRED : Retired Streaming SIMD Extensions (SSE) instructions
+event:0xC8 counters:0,1 um:zero minimum:6000 name:HW_INT_RCV : Hardware interrupts received
+event:0xCA counters:0,1 um:simd_comp_inst_retired minimum:6000 name:SIMD_COMP_INST_RETIRED : Retired computational Streaming SIMD Extensions (SSE) instructions.
+event:0xCB counters:0,1 um:mem_load_retired minimum:6000 name:MEM_LOAD_RETIRED : Retired loads
+event:0xCD counters:0,1 um:zero minimum:6000 name:SIMD_ASSIST : SIMD assists invoked
+event:0xCE counters:0,1 um:zero minimum:6000 name:SIMD_INSTR_RETIRED : SIMD Instructions retired
+event:0xCF counters:0,1 um:zero minimum:6000 name:SIMD_SAT_INSTR_RETIRED : Saturated arithmetic instructions retired
+event:0xE0 counters:0,1 um:zero minimum:6000 name:BR_INST_DECODED : Branch instructions decoded
+event:0xE4 counters:0,1 um:zero minimum:6000 name:BOGUS_BR : Bogus branches
+event:0xE6 counters:0,1 um:one minimum:6000 name:BACLEARS : BACLEARS asserted
diff --git a/events/i386/atom/unit_masks b/events/i386/atom/unit_masks
new file mode 100644
index 0000000..acaec23
--- /dev/null
+++ b/events/i386/atom/unit_masks
@@ -0,0 +1,120 @@
+#
+# Intel Atom (Silverthorne) unit masks
+#
+include:i386/arch_perfmon
+name:store_forwards type:mandatory default:0x81
+ 0x81 good Good store forwards
+name:segment_reg_loads type:mandatory default:0x00
+ 0x00 any Number of segment register loads
+name:simd_prefetch type:bitmask default:0x01
+ 0x01 prefetcht0 Streaming SIMD Extensions (SSE) PrefetchT0 instructions executed
+ 0x06 sw_l2 Streaming SIMD Extensions (SSE) PrefetchT1 and PrefetchT2 instructions executed
+ 0x08 prefetchnta Streaming SIMD Extensions (SSE) Prefetch NTA instructions executed
+name:data_tlb_misses type:bitmask default:0x07
+ 0x07 dtlb_miss Memory accesses that missed the DTLB
+ 0x05 dtlb_miss_ld DTLB misses due to load operations
+ 0x09 l0_dtlb_miss_ld L0_DTLB misses due to load operations
+ 0x06 dtlb_miss_st DTLB misses due to store operations
+name:page_walks type:bitmask default:0x03
+ 0x03 walks Number of page-walks executed
+ 0x03 cycles Duration of page-walks in core cycles
+name:x87_comp_ops_exe type:bitmask default:0x81
+ 0x01 s Floating point computational micro-ops executed
+ 0x81 ar Floating point computational micro-ops retired
+name:fp_assist type:mandatory default:0x81
+ 0x81 ar Floating point assists
+name:mul type:bitmask default:0x01
+ 0x01 s Multiply operations executed
+ 0x81 ar Multiply operations retired
+name:div type:bitmask default:0x01
+ 0x01 s Divide operations executed
+ 0x81 ar Divide operations retired
+name:l2_rqsts type:bitmask default:0x41
+ 0x41 i_state L2 cache demand requests from this core that missed the L2
+ 0x4F mesi L2 cache demand requests from this core
+name:cpu_clk_unhalted type:bitmask default:0x00
+ 0x00 core_p Core cycles when core is not halted
+ 0x01 bus Bus cycles when core is not halted
+ 0x02 no_other Bus cycles when core is active and the other is halted
+name:l1d_cache type:bitmask default:0x21
+ 0x21 ld L1 Cacheable Data Reads
+ 0x22 st L1 Cacheable Data Writes
+name:icache type:bitmask default:0x03
+ 0x03 accesses Instruction fetches
+ 0x02 misses Icache miss
+name:itlb type:bitmask default:0x04
+ 0x04 flush ITLB flushes
+ 0x02 misses ITLB misses
+name:macro_insts type:exclusive default:0x03
+ 0x02 cisc_decoded CISC macro instructions decoded
+ 0x03 all_decoded All Instructions decoded
+name:simd_uops_exec type:exclusive default:0x80
+ 0x00 s SIMD micro-ops executed (excluding stores)
+ 0x80 ar SIMD micro-ops retired (excluding stores)
+name:simd_sat_uop_exec type:bitmask default:0x00
+ 0x00 s SIMD saturated arithmetic micro-ops executed
+ 0x80 ar SIMD saturated arithmetic micro-ops retired
+name:simd_uop_type_exec type:bitmask default:0x01
+ 0x01 s SIMD packed multiply microops executed
+ 0x81 ar SIMD packed multiply microops retired
+ 0x02 s SIMD packed shift micro-ops executed
+ 0x82 ar SIMD packed shift micro-ops retired
+ 0x04 s SIMD pack micro-ops executed
+ 0x84 ar SIMD pack micro-ops retired
+ 0x08 s SIMD unpack micro-ops executed
+ 0x88 ar SIMD unpack micro-ops retired
+ 0x10 s SIMD packed logical microops executed
+ 0x90 ar SIMD packed logical microops retired
+ 0x20 s SIMD packed arithmetic micro-ops executed
+ 0xA0 ar SIMD packed arithmetic micro-ops retired
+name:uops_retired type:mandatory default:0x10
+ 0x10 any Micro-ops retired
+name:br_inst_retired type:bitmask default:0x00
+ 0x00 any Retired branch instructions
+ 0x01 pred_not_taken Retired branch instructions that were predicted not-taken
+ 0x02 mispred_not_taken Retired branch instructions that were mispredicted not-taken
+ 0x04 pred_taken Retired branch instructions that were predicted taken
+ 0x08 mispred_taken Retired branch instructions that were mispredicted taken
+ 0x0A mispred Retired mispredicted branch instructions (precise event)
+ 0x0C taken Retired taken branch instructions
+ 0x0F any1 Retired branch instructions
+name:cycles_int_masked type:bitmask default:0x01
+ 0x01 cycles_int_masked Cycles during which interrupts are disabled
+ 0x02 cycles_int_pending_and_masked Cycles during which interrupts are pending and disabled
+name:simd_inst_retired type:bitmask default:0x01
+ 0x01 packed_single Retired Streaming SIMD Extensions (SSE) packed-single instructions
+ 0x02 scalar_single Retired Streaming SIMD Extensions (SSE) scalar-single instructions
+ 0x04 packed_double Retired Streaming SIMD Extensions 2 (SSE2) packed-double instructions
+ 0x08 scalar_double Retired Streaming SIMD Extensions 2 (SSE2) scalar-double instructions
+ 0x10 vector Retired Streaming SIMD Extensions 2 (SSE2) vector instructions
+ 0x1F any Retired Streaming SIMD instructions
+name:simd_comp_inst_retired type:bitmask default:0x01
+ 0x01 packed_single Retired computational Streaming SIMD Extensions (SSE) packed-single instructions
+ 0x02 scalar_single Retired computational Streaming SIMD Extensions (SSE) scalar-single instructions
+ 0x04 packed_double Retired computational Streaming SIMD Extensions 2 (SSE2) packed-double instructions
+ 0x08 scalar_double Retired computational Streaming SIMD Extensions 2 (SSE2) scalar-double instructions
+name:mem_load_retired type:bitmask default:0x01
+ 0x01 l2_hit Retired loads that hit the L2 cache (precise event)
+ 0x02 l2_miss Retired loads that miss the L2 cache (precise event)
+ 0x04 dtlb_miss Retired loads that miss the DTLB (precise event)
+name:thermal_trip type:mandatory default:0xc0
+ 0xc0 thermal_trip Number of thermal trips.
+# 18-11
+name:core type:bitmask default:0x180
+ 0x180 all All cores.
+ 0x080 this This Core.
+# 18-12
+name:agent type:bitmask default:0x00
+ 0x00 this This agent
+ 0x40 any Include any agents
+# 18-13
+name:prefetch type:bitmask default:0x60
+ 0x60 all All inclusive
+ 0x20 hw Hardware prefetch only
+ 0x00 exclude_hw Exclude hardware prefetch
+# 18-14
+name:mesi type:bitmask default:0x0f
+ 0x08 modified Counts modified state
+ 0x04 exclusive Counts exclusive state
+ 0x02 shared Counts shared state
+ 0x01 invalid Counts invalid state
diff --git a/events/i386/core/events b/events/i386/core/events
new file mode 100644
index 0000000..4f2fe80
--- /dev/null
+++ b/events/i386/core/events
@@ -0,0 +1,115 @@
+# Core Solo / Duo events
+#
+# Architectural events
+#
+event:0x3c counters:0,1 um:nonhlt minimum:6000 name:CPU_CLK_UNHALTED : Unhalted clock cycles
+event:0xc0 counters:0,1 um:zero minimum:6000 name:INST_RETIRED : number of instructions retired
+event:0x2e counters:0,1 um:mesi minimum:6000 name:L2_RQSTS : number of L2 requests
+#
+# Model specific events
+#
+event:0x03 counters:0,1 um:zero minimum:500 name:LD_BLOCKS : number of store buffer blocks
+event:0x04 counters:0,1 um:zero minimum:500 name:SB_DRAINS : number of store buffer drain cycles
+event:0x05 counters:0,1 um:zero minimum:500 name:MISALIGN_MEM_REF : number of misaligned data memory references
+event:0x06 counters:0,1 um:zero minimum:500 name:SEGMENT_REG_LOADS : number of segment register loads
+event:0x07 counters:0,1 um:kni_prefetch minimum:500 name:EMON_KNI_PREF_DISPATCHED : number of SSE pre-fetch/weakly ordered insns retired
+event:0x10 counters:0 um:zero minimum:3000 name:FLOPS : number of computational FP operations executed
+event:0x11 counters:1 um:zero minimum:500 name:FP_ASSIST : number of FP exceptions handled by microcode
+event:0x12 counters:1 um:zero minimum:1000 name:MUL : number of multiplies
+event:0x13 counters:1 um:zero minimum:500 name:DIV : number of divides
+event:0x14 counters:0 um:zero minimum:1000 name:CYCLES_DIV_BUSY : cycles divider is busy
+event:0x21 counters:0,1 um:zero minimum:500 name:L2_ADS : number of L2 address strobes
+event:0x22 counters:0,1 um:zero minimum:500 name:L2_DBUS_BUSY : number of cycles data bus was busy
+event:0x23 counters:0,1 um:zero minimum:500 name:L2_DBUS_BUSY_RD : cycles data bus was busy in xfer from L2 to CPU
+event:0x24 counters:0,1 um:zero minimum:500 name:L2_LINES_IN : number of allocated lines in L2
+event:0x25 counters:0,1 um:zero minimum:500 name:L2_M_LINES_INM : number of modified lines allocated in L2
+event:0x26 counters:0,1 um:zero minimum:500 name:L2_LINES_OUT : number of recovered lines from L2
+event:0x27 counters:0,1 um:zero minimum:500 name:L2_M_LINES_OUTM : number of modified lines removed from L2
+event:0x28 counters:0,1 um:mesi minimum:500 name:L2_IFETCH : number of L2 instruction fetches
+event:0x29 counters:0,1 um:mesi minimum:500 name:L2_LD : number of L2 data loads
+event:0x2a counters:0,1 um:mesi minimum:500 name:L2_ST : number of L2 data stores
+event:0x30 counters:0,1 um:mesi minimum:500 name:L2_REJECT_CYCLES : Cycles L2 is busy and rejecting new requests
+event:0x32 counters:0,1 um:mesi minimum:500 name:L2_NO_REQUEST_CYCLES : Cycles there is no request to access L2
+event:0x3a counters:0,1 um:est_trans minimum:500 name:EST_TRANS_ALL : Intel(tm) Enhanced SpeedStep(r) Technology transitions
+event:0x3b counters:0,1 um:xc0 minimum:500 name:THERMAL_TRIP : Duration in a thremal trip based on the current core clock
+event:0x40 counters:0,1 um:mesi minimum:500 name:DCACHE_CACHE_LD : L1 cacheable data read operations
+event:0x41 counters:0,1 um:mesi minimum:500 name:DCACHE_CACHE_ST : L1 cacheable data write operations
+event:0x42 counters:0,1 um:mesi minimum:500 name:DCACHE_CACHE_LOCK : L1 cacheable lock read operations to invalid state
+event:0x43 counters:0,1 um:one minimum:500 name:DATA_MEM_REFS : all L1 memory references, cachable and non
+event:0x44 counters:0,1 um:two minimum:500 name:DATA_MEM_CACHE_REFS : L1 data cacheable read and write operations
+event:0x45 counters:0,1 um:x0f minimum:500 name:DCACHE_REPL : L1 data cache line replacements
+event:0x46 counters:0,1 um:zero minimum:500 name:DCACHE_M_REPL : L1 data M-state cache line allocated
+event:0x47 counters:0,1 um:zero minimum:500 name:DCACHE_M_EVICT : L1 data M-state cache line evicted
+event:0x48 counters:0,1 um:dc_pend_miss minimum:500 name:DCACHE_PEND_MISS : Weighted cycles of L1 miss outstanding
+event:0x49 counters:0,1 um:zero minimum:500 name:DTLB_MISS : Data references that missed TLB
+event:0x4b counters:0,1 um:sse_miss minimum:500 name:SSE_PREF_MISS : SSE instructions that missed all caches
+event:0x4f counters:0,1 um:zero minimum:500 name:L1_PREF_REQ : L1 prefetch requests due to DCU cache misses
+#
+event:0x60 counters:0,1 um:zero minimum:500 name:BUS_REQ_OUTSTANDING : weighted number of outstanding bus requests
+event:0x61 counters:0,1 um:zero minimum:500 name:BUS_BNR_DRV : External bus cycles this processor is driving BNR pin
+event:0x62 counters:0,1 um:zero minimum:500 name:BUS_DRDY_CLOCKS : External bus cycles DRDY is asserted
+event:0x63 counters:0,1 um:zero minimum:500 name:BUS_LOCK_CLOCKS : External bus cycles LOCK is asserted
+event:0x64 counters:0,1 um:x40 minimum:500 name:BUS_DATA_RCV : External bus cycles this processor is receiving data
+event:0x65 counters:0,1 um:zero minimum:500 name:BUS_TRAN_BRD : number of burst read transactions
+event:0x66 counters:0,1 um:zero minimum:500 name:BUS_TRAN_RFO : number of completed read for ownership transactions
+event:0x67 counters:0,1 um:xc0 minimum:500 name:BUS_TRAN_WB : number of completed writeback transactions
+event:0x68 counters:0,1 um:zero minimum:500 name:BUS_TRAN_IFETCH : number of completed instruction fetch transactions
+event:0x69 counters:0,1 um:zero minimum:500 name:BUS_TRAN_INVAL : number of completed invalidate transactions
+event:0x6a counters:0,1 um:zero minimum:500 name:BUS_TRAN_PWR : number of completed partial write transactions
+event:0x6b counters:0,1 um:zero minimum:500 name:BUS_TRANS_P : number of completed partial transactions
+event:0x6c counters:0,1 um:zero minimum:500 name:BUS_TRANS_IO : number of completed I/O transactions
+event:0x6d counters:0,1 um:x20 minimum:500 name:BUS_TRANS_DEF : number of completed defer transactions
+event:0x6e counters:0,1 um:xc0 minimum:500 name:BUS_TRAN_BURST : number of completed burst transactions
+event:0x6f counters:0,1 um:xc0 minimum:500 name:BUS_TRAN_MEM : number of completed memory transactions
+event:0x70 counters:0,1 um:xc0 minimum:500 name:BUS_TRAN_ANY : number of any completed bus transactions
+event:0x77 counters:0,1 um:zero minimum:500 name:BUS_SNOOPS : External bus cycles
+event:0x78 counters:0,1 um:one minimum:500 name:DCU_SNOOP_TO_SHARE : DCU snoops to share-state L1 cache line due to L1 misses
+event:0x7d counters:0,1 um:zero minimum:500 name:BUS_NOT_IN_USE : Number of cycles there is no transaction from the core
+event:0x7e counters:0,1 um:zero minimum:500 name:BUS_SNOOP_STALL : Number of bus cycles during bus snoop stall
+event:0x80 counters:0,1 um:zero minimum:500 name:ICACHE_READS : number of instruction fetches
+event:0x81 counters:0,1 um:zero minimum:500 name:ICACHE_MISSES : number of instruction fetch misses
+event:0x85 counters:0,1 um:zero minimum:500 name:ITLB_MISS : number of ITLB misses
+event:0x86 counters:0,1 um:zero minimum:500 name:IFU_MEM_STALL : cycles instruction fetch pipe is stalled
+event:0x87 counters:0,1 um:zero minimum:500 name:ILD_STALL : cycles instruction length decoder is stalled
+event:0x88 counters:0,1 um:zero minimum:3000 name:BR_INST_EXEC : Branch instructions executed (not necessarily retired)
+event:0x89 counters:0,1 um:zero minimum:3000 name:BR_MISSP_EXEC : Branch instructions executed that were mispredicted at execution
+event:0x8a counters:0,1 um:zero minimum:3000 name:BR_BAC_MISSP_EXEC : Branch instructions executed that were mispredicted at Front End (BAC)
+event:0x8b counters:0,1 um:zero minimum:3000 name:BR_CND_EXEC : Conditional Branch instructions executed
+event:0x8c counters:0,1 um:zero minimum:3000 name:BR_CND_MISSP_EXEC : Conditional Branch instructions executed that were mispredicted
+event:0x8d counters:0,1 um:zero minimum:3000 name:BR_IND_EXEC : Indirect Branch instructions executed
+event:0x8e counters:0,1 um:zero minimum:3000 name:BR_IND_MISSP_EXEC : Indirect Branch instructions executed that were mispredicted
+event:0x8f counters:0,1 um:zero minimum:3000 name:BR_RET_EXEC : Return Branch instructions executed
+event:0x90 counters:0,1 um:zero minimum:3000 name:BR_RET_MISSP_EXEC : Return Branch instructions executed that were mispredicted at Execution
+event:0x91 counters:0,1 um:zero minimum:3000 name:BR_RET_BAC_MISSP_EXEC :Return Branch instructions executed that were mispredicted at Front End (BAC)
+event:0x92 counters:0,1 um:zero minimum:3000 name:BR_CALL_EXEC : CALL instruction executed
+event:0x93 counters:0,1 um:zero minimum:3000 name:BR_CALL_MISSP_EXEC : CALL instruction executed and miss predicted
+event:0x94 counters:0,1 um:zero minimum:3000 name:BR_IND_CALL_EXEC : Indirect CALL instruction executed
+event:0xa2 counters:0,1 um:zero minimum:500 name:RESOURCE_STALLS : cycles during resource related stalls
+event:0xb0 counters:0,1 um:zero minimum:500 name:MMX_INSTR_EXEC : number of MMX instructions executed (not MOVQ and MOVD)
+event:0xb1 counters:0,1 um:zero minimum:3000 name:SIMD_SAT_INSTR_EXEC : number of SIMD saturating instructions executed
+event:0xb3 counters:0,1 um:mmx_instr_type_exec minimum:3000 name:MMX_INSTR_TYPE_EXEC : number of MMX packing instructions
+event:0xc1 counters:0 um:zero minimum:3000 name:COMP_FLOP_RET : number of computational FP operations retired
+event:0xc2 counters:0,1 um:zero minimum:6000 name:UOPS_RETIRED : number of UOPs retired
+event:0xc3 counters:0,1 um:zero minimum:500 name:SMC_DETECTED : number of times self-modifying code condition is detected
+event:0xc4 counters:0,1 um:zero minimum:500 name:BR_INST_RETIRED : number of branch instructions retired
+event:0xc5 counters:0,1 um:zero minimum:500 name:BR_MISS_PRED_RETIRED : number of mispredicted branches retired
+event:0xc6 counters:0,1 um:zero minimum:500 name:CYCLES_INT_MASKED : cycles interrupts are disabled
+event:0xc7 counters:0,1 um:zero minimum:500 name:CYCLES_INT_PENDING_AND_MASKED : cycles interrupts are disabled with pending interrupts
+event:0xc8 counters:0,1 um:zero minimum:500 name:HW_INT_RX : number of hardware interrupts received
+event:0xc9 counters:0,1 um:zero minimum:500 name:BR_TAKEN_RETIRED : number of taken branches retired
+event:0xca counters:0,1 um:zero minimum:500 name:BR_MISS_PRED_TAKEN_RET : number of taken mispredictions branches retired
+event:0xcc counters:0,1 um:mmx_trans minimum:3000 name:FP_MMX_TRANS : MMX-floating point transitions
+event:0xcd counters:0,1 um:zero minimum:500 name:MMX_ASSIST : number of EMMS instructions executed
+event:0xce counters:0,1 um:zero minimum:3000 name:MMX_INSTR_RET : number of MMX instructions retired
+event:0xd0 counters:0,1 um:zero minimum:6000 name:INST_DECODED : number of instructions decoded
+event:0xd7 counters:0,1 um:zero minimum:3000 name:ESP_UOPS : Number of ESP folding instructions decoded
+event:0xd8 counters:0,1 um:sse_sse2_inst_retired minimum:3000 name:EMON_SSE_SSE2_INST_RETIRED : Streaming SIMD Extensions Instructions Retired
+event:0xd9 counters:0,1 um:sse_sse2_inst_retired minimum:3000 name:EMON_SSE_SSE2_COMP_INST_RETIRED : Computational SSE Instructions Retired
+event:0xda counters:0,1 um:fused minimum:3000 name:EMON_FUSED_UOPS_RET : Number of retired fused micro-ops
+event:0xdb counters:0,1 um:zero minimum:3000 name:EMON_UNFUSION : Number of unfusion events in the ROB, happened on a FP exception to a fused uOp
+event:0xe0 counters:0,1 um:zero minimum:500 name:BR_INST_DECODED : number of branch instructions decoded
+event:0xe2 counters:0,1 um:zero minimum:500 name:BTB_MISSES : number of branches that miss the BTB
+event:0xe4 counters:0,1 um:zero minimum:500 name:BR_BOGUS : number of bogus branches
+event:0xe6 counters:0,1 um:zero minimum:500 name:BACLEARS : number of times BACLEAR is asserted
+event:0xf0 counters:0,1 um:zero minimum:3000 name:EMON_PREF_RQSTS_UP : Number of upward prefetches issued
+event:0xf8 counters:0,1 um:zero minimum:3000 name:EMON_PREF_RQSTS_DN : Number of downward prefetches issued
diff --git a/events/i386/core/unit_masks b/events/i386/core/unit_masks
new file mode 100644
index 0000000..28da01e
--- /dev/null
+++ b/events/i386/core/unit_masks
@@ -0,0 +1,67 @@
+# Core Solo / Core Duo possible unit masks
+#
+name:zero type:mandatory default:0x0
+ 0x0 No unit mask
+name:one type:mandatory default:0x1
+ 0x1 No unit mask
+name:two type:mandatory default:0x2
+ 0x2 No unit mask
+name:x0f type:mandatory default:0xf
+ 0xf No unit mask
+name:x20 type:mandatory default:0x20
+ 0x20 No unit mask
+name:x40 type:mandatory default:0x40
+ 0x40 No unit mask
+name:xc0 type:mandatory default:0xc0
+ 0xc0 No unit mask
+name:nonhlt type:exclusive default:0x0
+ 0x0 Unhalted core cycles
+ 0x1 Unhalted bus cycles
+ 0x2 Unhalted bus cycles of this core while the other core is halted
+name:mesi type:bitmask default:0x0f
+ 0x08 (M)odified cache state
+ 0x04 (E)xclusive cache state
+ 0x02 (S)hared cache state
+ 0x01 (I)nvalid cache state
+ 0x0f All cache states
+ 0x10 HW prefetched line only
+ 0x20 all prefetched line w/o regarding mask 0x10.
+name:est_trans type:exclusive default:0x00
+ 0x00 any transitions
+ 0x10 Intel(tm) Enhanced SpeedStep(r) Technology frequency transitions
+ 0x20 any transactions
+name:kni_prefetch type:exclusive default:0x0
+ 0x00 prefetch NTA
+ 0x01 prefetch T1
+ 0x02 prefetch T2
+ 0x03 weakly-ordered stores
+# this bitmask can seems weirds but is correct, note there is no way to only
+# count scalar SIMD instructions
+name:sse_sse2_inst_retired type:exclusive default:0x0
+ 0x00 SSE Packed Single
+ 0x01 SSE Scalar-Single
+ 0x02 SSE2 Packed-Double
+ 0x03 SSE2 Scalar-Double
+name:mmx_instr_type_exec type:bitmask default:0x3f
+ 0x01 MMX packed multiplies
+ 0x02 MMX packed shifts
+ 0x04 MMX pack operations
+ 0x08 MMX unpack operations
+ 0x10 MMX packed logical
+ 0x20 MMX packed arithmetic
+ 0x3f all of the above
+name:mmx_trans type:exclusive default:0x0
+ 0x00 MMX->float operations
+ 0x01 float->MMX operations
+name:fused type:exclusive default:0x0
+ 0x00 All fused micro-ops
+ 0x01 Only load+Op micro-ops
+ 0x02 Only std+sta micro-ops
+name:dc_pend_miss type:exclusive default:0x0
+ 0x00 Weighted cycles
+ 0x01 Duration of cycles
+name:sse_miss type:exclusive default:0x0
+ 0x00 PREFETCHNTA
+ 0x01 PREFETCHT1
+ 0x02 PREFETCHT2
+ 0x03 SSE streaming store instructions
diff --git a/events/i386/core_2/events b/events/i386/core_2/events
new file mode 100644
index 0000000..d7c2ffd
--- /dev/null
+++ b/events/i386/core_2/events
@@ -0,0 +1,137 @@
+# Core 2 events
+#
+# Architectural events
+#
+event:0x3c counters:0,1 um:nonhlt minimum:6000 name:CPU_CLK_UNHALTED : Clock cycles when not halted
+event:0xc0 counters:0,1 um:zero minimum:6000 name:INST_RETIRED_ANY_P : number of instructions retired
+event:0x2e counters:0,1 um:core_prefetch_mesi minimum:500 name:L2_RQSTS : number of L2 cache requests
+event:0x2e counters:0,1 um:x41 minimum:6000 name:LLC_MISSES : L2 cache demand requests from this core that missed the L2
+event:0x2e counters:0,1 um:x4f minimum:6000 name:LLC_REFS : L2 cache demand requests from this core
+#
+# Model specific events
+#
+event:0x03 counters:0,1 um:load_block minimum:500 name:LOAD_BLOCK : events pertaining to loads
+event:0x04 counters:0,1 um:store_block minimum:500 name:STORE_BLOCK : events pertaining to stores
+event:0x05 counters:0,1 um:zero minimum:500 name:MISALIGN_MEM_REF : number of misaligned data memory references
+event:0x06 counters:0,1 um:zero minimum:500 name:SEGMENT_REG_LOADS : number of segment register loads
+event:0x07 counters:0,1 um:sse_prefetch minimum:500 name:SSE_PRE_EXEC : number of SSE pre-fetch/weakly ordered insns retired
+event:0x08 counters:0,1 um:dtlb_miss minimum:500 name:DTLB_MISSES : DTLB miss events
+event:0x09 counters:0,1 um:memory_dis minimum:1000 name:MEMORY_DISAMBIGUATION : Memory disambiguation reset cycles.
+event:0x0c counters:0,1 um:page_walks minimum:500 name:PAGE_WALKS : Page table walk events
+event:0x10 counters:0,1 um:zero minimum:3000 name:FLOPS : number of FP computational micro-ops executed
+event:0x11 counters:0,1 um:zero minimum:500 name:FP_ASSIST : number of FP assists
+event:0x12 counters:0,1 um:zero minimum:1000 name:MUL : number of multiplies
+event:0x13 counters:0,1 um:zero minimum:500 name:DIV : number of divides
+event:0x14 counters:0,1 um:zero minimum:1000 name:CYCLES_DIV_BUSY : cycles divider is busy
+event:0x18 counters:0,1 um:zero minimum:1000 name:IDLE_DURING_DIV : cycles divider is busy and all other execution units are idle.
+event:0x19 counters:0,1 um:delayed_bypass minimum:1000 name:DELAYED_BYPASS : Delayed bypass events
+event:0x21 counters:0,1 um:core minimum:500 name:L2_ADS : Cycles the L2 address bus is in use.
+event:0x23 counters:0,1 um:core minimum:500 name:L2_DBUS_BUSY_RD : Cycles the L2 transfers data to the core.
+event:0x24 counters:0,1 um:core_prefetch minimum:500 name:L2_LINES_IN : number of allocated lines in L2
+event:0x25 counters:0,1 um:core minimum:500 name:L2_M_LINES_IN : number of modified lines allocated in L2
+event:0x26 counters:0,1 um:core_prefetch minimum:500 name:L2_LINES_OUT : number of recovered lines from L2
+event:0x27 counters:0,1 um:core_prefetch minimum:500 name:L2_M_LINES_OUT : number of modified lines removed from L2
+event:0x28 counters:0,1 um:core_mesi minimum:500 name:L2_IFETCH : number of L2 cacheable instruction fetches
+event:0x29 counters:0,1 um:core_prefetch_mesi minimum:500 name:L2_LD : number of L2 data loads
+event:0x2a counters:0,1 um:core_mesi minimum:500 name:L2_ST : number of L2 data stores
+event:0x2b counters:0,1 um:core_mesi minimum:500 name:L2_LOCK : number of locked L2 data accesses
+event:0x30 counters:0,1 um:core_prefetch_mesi minimum:500 name:L2_REJECT_BUSQ : Rejected L2 cache requests
+event:0x32 counters:0,1 um:core minimum:500 name:L2_NO_REQ : Cycles no L2 cache requests are pending
+event:0x3a counters:0,1 um:zero minimum:500 name:EIST_TRANS_ALL : Intel(tm) Enhanced SpeedStep(r) Technology transitions
+event:0x3b counters:0,1 um:xc0 minimum:500 name:THERMAL_TRIP : Number of thermal trips
+event:0x40 counters:0,1 um:mesi minimum:500 name:L1D_CACHE_LD : L1 cacheable data read operations
+event:0x41 counters:0,1 um:mesi minimum:500 name:L1D_CACHE_ST : L1 cacheable data write operations
+event:0x42 counters:0,1 um:mesi minimum:500 name:L1D_CACHE_LOCK : L1 cacheable lock read operations
+event:0x42 counters:0,1 um:x10 minimum:500 name:L1D_CACHE_LOCK_DURATION : Duration of L1 data cacheable locked operations
+event:0x43 counters:0,1 um:x10 minimum:500 name:L1D_ALL_REF : All references to the L1 data cache
+event:0x43 counters:0,1 um:two minimum:500 name:L1D_ALL_CACHE_REF : L1 data cacheable reads and writes
+event:0x45 counters:0,1 um:x0f minimum:500 name:L1D_REPL : Cache lines allocated in the L1 data cache
+event:0x46 counters:0,1 um:zero minimum:500 name:L1D_M_REPL : Modified cache lines allocated in the L1 data cache
+event:0x47 counters:0,1 um:zero minimum:500 name:L1D_M_EVICT : Modified cache lines evicted from the L1 data cache
+event:0x48 counters:0,1 um:zero minimum:500 name:L1D_PEND_MISS : Total number of outstanding L1 data cache misses at any cycle
+event:0x49 counters:0,1 um:l1d_split minimum:500 name:L1D_SPLIT : Cache line split load/stores
+event:0x4b counters:0,1 um:sse_miss minimum:500 name:SSE_PREF_MISS : SSE instructions that missed all caches
+event:0x4c counters:0,1 um:zero minimum:500 name:LOAD_HIT_PRE : Load operations conflicting with a software prefetch to the same address
+event:0x4e counters:0,1 um:x10 minimum:500 name:L1D_PREFETCH : L1 data cache prefetch requests
+#
+event:0x60 counters:0,1 um:core_and_bus_agents minimum:500 name:BUS_REQ_OUTSTANDING : Outstanding cacheable data read bus requests duration
+event:0x61 counters:0,1 um:bus_agents minimum:500 name:BUS_BNR_DRV : Number of Bus Not Ready signals asserted
+event:0x62 counters:0,1 um:bus_agents minimum:500 name:BUS_DRDY_CLOCKS : Bus cycles when data is sent on the bus
+event:0x63 counters:0,1 um:core_and_bus_agents minimum:500 name:BUS_LOCK_CLOCKS : Bus cycles when a LOCK signal is asserted
+event:0x64 counters:0,1 um:core_and_bus_agents minimum:500 name:BUS_DATA_RCV : Bus cycles while processor receives data
+event:0x65 counters:0,1 um:core_and_bus_agents minimum:500 name:BUS_TRAN_BRD : Burst read bus transactions
+event:0x66 counters:0,1 um:core_and_bus_agents minimum:500 name:BUS_TRAN_RFO : number of completed read for ownership transactions
+event:0x67 counters:0,1 um:core_and_bus_agents minimum:500 name:BUS_TRAN_WB : number of explicit writeback bus transactions
+event:0x68 counters:0,1 um:core_and_bus_agents minimum:500 name:BUS_TRAN_IFETCH : number of instruction fetch transactions
+event:0x69 counters:0,1 um:core_and_bus_agents minimum:500 name:BUS_TRAN_INVAL : number of invalidate transactions
+event:0x6a counters:0,1 um:core_and_bus_agents minimum:500 name:BUS_TRAN_PWR : number of partial write bus transactions
+event:0x6b counters:0,1 um:core_and_bus_agents minimum:500 name:BUS_TRANS_P : number of partial bus transactions
+event:0x6c counters:0,1 um:core_and_bus_agents minimum:500 name:BUS_TRANS_IO : number of I/O bus transactions
+event:0x6d counters:0,1 um:core_and_bus_agents minimum:500 name:BUS_TRANS_DEF : number of completed defer transactions
+event:0x6e counters:0,1 um:core_and_bus_agents minimum:500 name:BUS_TRAN_BURST : number of completed burst transactions
+event:0x6f counters:0,1 um:core_and_bus_agents minimum:500 name:BUS_TRAN_MEM : number of completed memory transactions
+event:0x70 counters:0,1 um:core_and_bus_agents minimum:500 name:BUS_TRAN_ANY : number of any completed bus transactions
+event:0x77 counters:0,1 um:bus_agents_and_snoop minimum:500 name:EXT_SNOOP : External snoops
+event:0x78 counters:0,1 um:core_and_snoop minimum:500 name:CMP_SNOOP : L1 data cache is snooped by other core
+event:0x7a counters:0,1 um:bus_agents minimum:500 name:BUS_HIT_DRV : HIT signal asserted
+event:0x7b counters:0,1 um:bus_agents minimum:500 name:BUS_HITM_DRV : HITM signal asserted
+event:0x7d counters:0,1 um:core minimum:500 name:BUSQ_EMPTY : Bus queue is empty
+event:0x7e counters:0,1 um:core_and_bus_agents minimum:500 name:SNOOP_STALL_DRV : Bus stalled for snoops
+event:0x7f counters:0,1 um:core minimum:500 name:BUS_IO_WAIT : IO requests waiting in the bus queue
+event:0x80 counters:0,1 um:zero minimum:500 name:L1I_READS : number of instruction fetches
+event:0x81 counters:0,1 um:zero minimum:500 name:L1I_MISSES : number of instruction fetch misses
+event:0x82 counters:0,1 um:itlb_miss minimum:500 name:ITLB : number of ITLB misses
+event:0x83 counters:0,1 um:two minimum:500 name:INST_QUEUE_FULL : cycles during which the instruction queue is full
+event:0x86 counters:0,1 um:zero minimum:500 name:IFU_MEM_STALL : cycles instruction fetch pipe is stalled
+event:0x87 counters:0,1 um:zero minimum:500 name:ILD_STALL : cycles instruction length decoder is stalled
+event:0x88 counters:0,1 um:zero minimum:3000 name:BR_INST_EXEC : Branch instructions executed (not necessarily retired)
+event:0x89 counters:0,1 um:zero minimum:3000 name:BR_MISSP_EXEC : Branch instructions executed that were mispredicted at execution
+event:0x8a counters:0,1 um:zero minimum:3000 name:BR_BAC_MISSP_EXEC : Branch instructions executed that were mispredicted at Front End (BAC)
+event:0x8b counters:0,1 um:zero minimum:3000 name:BR_CND_EXEC : Conditional Branch instructions executed
+event:0x8c counters:0,1 um:zero minimum:3000 name:BR_CND_MISSP_EXEC : Conditional Branch instructions executed that were mispredicted
+event:0x8d counters:0,1 um:zero minimum:3000 name:BR_IND_EXEC : Indirect Branch instructions executed
+event:0x8e counters:0,1 um:zero minimum:3000 name:BR_IND_MISSP_EXEC : Indirect Branch instructions executed that were mispredicted
+event:0x8f counters:0,1 um:zero minimum:3000 name:BR_RET_EXEC : Return Branch instructions executed
+event:0x90 counters:0,1 um:zero minimum:3000 name:BR_RET_MISSP_EXEC : Return Branch instructions executed that were mispredicted at Execution
+event:0x91 counters:0,1 um:zero minimum:3000 name:BR_RET_BAC_MISSP_EXEC :Return Branch instructions executed that were mispredicted at Front End (BAC)
+event:0x92 counters:0,1 um:zero minimum:3000 name:BR_CALL_EXEC : CALL instruction executed
+event:0x93 counters:0,1 um:zero minimum:3000 name:BR_CALL_MISSP_EXEC : CALL instruction executed and miss predicted
+event:0x94 counters:0,1 um:zero minimum:3000 name:BR_IND_CALL_EXEC : Indirect CALL instruction executed
+event:0x97 counters:0,1 um:zero minimum:3000 name:BR_TKN_BUBBLE_1 : Branch predicted taken with bubble 1
+event:0x98 counters:0,1 um:zero minimum:3000 name:BR_TKN_BUBBLE_2 : Branch predicted taken with bubble 2
+event:0xa0 counters:0,1 um:zero minimum:1000 name:RS_UOPS_DISPATCHED : Micro-ops dispatched for execution
+# Set both the CMASK and INV fields to 1 -- which causes the counter to
+# increment on cycles in which fewer than 1 uop dispatches. i.e. stall cycles.
+# It's a bit of a hack, but passes through the oprofile infrastructure just
+# fine.
+event:0x18000a0 counters:0,1 um:zero minimum:1000 name:RS_UOPS_DISPATCHED_NONE : No Micro-ops dispatched for execution
+event:0xaa counters:0,1 um:macro_insts minimum:500 name:MACRO_INSTS : instructions decoded
+event:0xab counters:0,1 um:esp minimum:500 name:ESP : ESP register events
+event:0xb0 counters:0,1 um:zero minimum:500 name:SIMD_UOPS_EXEC : SIMD micro-ops executed (excluding stores)
+event:0xb1 counters:0,1 um:zero minimum:3000 name:SIMD_SAT_UOP_EXEC : number of SIMD saturating instructions executed
+event:0xb3 counters:0,1 um:simd_instr_type_exec minimum:3000 name:SIMD_UOP_TYPE_EXEC : number of SIMD packing instructions
+event:0xc0 counters:0,1 um:inst_retired minimum:6000 name:INST_RETIRED : number of instructions retired
+event:0xc1 counters:0,1 um:x87_ops_retired minimum:500 name:X87_OPS_RETIRED : number of computational FP operations retired
+event:0xc2 counters:0,1 um:uops_retired minimum:6000 name:UOPS_RETIRED : number of UOPs retired
+event:0xc3 counters:0,1 um:machine_nukes minimum:500 name:MACHINE_NUKES_SMC : number of pipeline flushing events
+event:0xc4 counters:0,1 um:br_inst_retired minimum:500 name:BR_INST_RETIRED : number of branch instructions retired
+event:0xc5 counters:0,1 um:zero minimum:500 name:BR_MISS_PRED_RETIRED : number of mispredicted branches retired (precise)
+event:0xc6 counters:0,1 um:cycles_int_masked minimum:500 name:CYCLES_INT_MASKED : cycles interrupts are disabled
+event:0xc7 counters:0,1 um:simd_inst_retired minimum:500 name:SIMD_INST_RETIRED : SSE/SSE2 instructions retired
+event:0xc8 counters:0,1 um:zero minimum:500 name:HW_INT_RCV : number of hardware interrupts received
+event:0xc9 counters:0 um:zero minimum:500 name:ITLB_MISS_RETIRED : Retired instructions that missed the ITLB
+event:0xca counters:0,1 um:simd_comp_inst_retired minimum:500 name:SIMD_COMP_INST_RETIRED : Retired computational SSE/SSE2 instructions
+event:0xcb counters:0 um:mem_load_retired minimum:500 name:MEM_LOAD_RETIRED : Retired loads
+event:0xcc counters:0,1 um:mmx_trans minimum:3000 name:FP_MMX_TRANS : MMX-floating point transitions
+event:0xcd counters:0,1 um:zero minimum:500 name:MMX_ASSIST : number of EMMS instructions executed
+event:0xce counters:0,1 um:zero minimum:500 name:SIMD_INSTR_RET : number of SIMD instructions retired
+event:0xcf counters:0,1 um:zero minimum:500 name:SIMD_SAT_INSTR_RET : number of saturated arithmetic instructions retired
+event:0xd2 counters:0,1 um:rat_stalls minimum:6000 name:RAT_STALLS : Partial register stall cycles
+event:0xd4 counters:0,1 um:seg_regs minimum:500 name:SEG_RENAME_STALLS : Segment rename stalls
+event:0xd5 counters:0,1 um:seg_regs minimum:500 name:SEG_RENAMES : Segment renames
+event:0xdc counters:0,1 um:resource_stalls minimum:3000 name:RESOURCE_STALLS : Cycles during which resource stalls occur
+event:0xe0 counters:0,1 um:zero minimum:500 name:BR_INST_DECODED : number of branch instructions decoded
+event:0xe4 counters:0,1 um:zero minimum:500 name:BR_BOGUS : number of bogus branches
+event:0xe6 counters:0,1 um:zero minimum:500 name:BACLEARS : number of times BACLEAR is asserted
+event:0xf0 counters:0,1 um:zero minimum:3000 name:PREF_RQSTS_UP : Number of upward prefetches issued
+event:0xf8 counters:0,1 um:zero minimum:3000 name:PREF_RQSTS_DN : Number of downward prefetches issued
diff --git a/events/i386/core_2/unit_masks b/events/i386/core_2/unit_masks
new file mode 100644
index 0000000..d528f17
--- /dev/null
+++ b/events/i386/core_2/unit_masks
@@ -0,0 +1,195 @@
+# Core 2 possible unit masks
+#
+name:zero type:mandatory default:0x0
+ 0x0 No unit mask
+#name:one type:mandatory default:0x1
+# 0x1 No unit mask
+name:two type:mandatory default:0x2
+ 0x2 No unit mask
+name:x0f type:mandatory default:0xf
+ 0xf No unit mask
+name:x10 type:mandatory default:0x10
+ 0x10 No unit mask
+#name:x20 type:mandatory default:0x20
+# 0x20 No unit mask
+#name:x40 type:mandatory default:0x40
+# 0x40 No unit mask
+name:x41 type:mandatory default:0x41
+ 0x41 No unit mask
+name:x4f type:mandatory default:0x4f
+ 0x4f No unit mask
+name:xc0 type:mandatory default:0xc0
+ 0xc0 No unit mask
+name:nonhlt type:exclusive default:0x0
+ 0x0 Unhalted core cycles
+ 0x1 Unhalted bus cycles
+ 0x2 Unhalted bus cycles of this core while the other core is halted
+name:mesi type:bitmask default:0x0f
+ 0x08 (M)ESI: Modified
+ 0x04 M(E)SI: Exclusive
+ 0x02 ME(S)I: Shared
+ 0x01 MES(I): Invalid
+name:sse_prefetch type:exclusive default:0x0
+ 0x00 prefetch NTA instructions executed.
+ 0x01 prefetch T1 instructions executed.
+ 0x02 prefetch T1 and T2 instructions executed.
+ 0x03 SSE weakly-ordered stores
+name:simd_instr_type_exec type:bitmask default:0x3f
+ 0x01 SIMD packed multiplies
+ 0x02 SIMD packed shifts
+ 0x04 SIMD pack operations
+ 0x08 SIMD unpack operations
+ 0x10 SIMD packed logical
+ 0x20 SIMD packed arithmetic
+ 0x3f all of the above
+name:mmx_trans type:bitmask default:0x3
+ 0x01 float->MMX transitions
+ 0x02 MMX->float transitions
+name:sse_miss type:exclusive default:0x0
+ 0x00 PREFETCHNTA
+ 0x01 PREFETCHT0
+ 0x02 PREFETCHT1/PREFETCHT2
+name:load_block type:bitmask default:0x3e
+ 0x02 STA Loads blocked by a preceding store with unknown address.
+ 0x04 STD Loads blocked by a preceding store with unknown data.
+ 0x08 OVERLAP_STORE Loads that partially overlap an earlier store, or 4K aliased with a previous store.
+ 0x10 UNTIL_RETIRE Loads blocked until retirement.
+ 0x20 L1D Loads blocked by the L1 data cache.
+name:store_block type:bitmask default:0x0b
+ 0x01 SB_DRAIN_CYCLES Cycles while stores are blocked due to store buffer drain.
+ 0x02 ORDER Cycles while store is waiting for a preceding store to be globally observed.
+ 0x08 NOOP A store is blocked due to a conflict with an external or internal snoop.
+name:dtlb_miss type:bitmask default:0x0f
+ 0x01 ANY Memory accesses that missed the DTLB.
+ 0x02 MISS_LD DTLB misses due to load operations.
+ 0x04 L0_MISS_LD L0 DTLB misses due to load operations.
+ 0x08 MISS_ST TLB misses due to store operations.
+name:memory_dis type:exclusive default:0x01
+ 0x01 RESET Memory disambiguation reset cycles.
+ 0x02 SUCCESS Number of loads that were successfully disambiguated.
+name:page_walks type:exclusive default:0x02
+ 0x01 COUNT Number of page-walks executed.
+ 0x02 CYCLES Duration of page-walks in core cycles.
+name:delayed_bypass type:exclusive default:0x00
+ 0x00 FP Delayed bypass to FP operation.
+ 0x01 SIMD Delayed bypass to SIMD operation.
+ 0x02 LOAD Delayed bypass to load operation.
+name:core type:exclusive default:0x40
+ 0xc0 All cores
+ 0x40 This core
+name:core_prefetch type:bitmask default:0x70
+ 0xc0 core: all cores
+ 0x40 core: this core
+ 0x30 prefetch: all inclusive
+ 0x10 prefetch: Hardware prefetch only
+ 0x00 prefetch: exclude hardware prefetch
+name:core_mesi type:bitmask default:0x4f
+ 0xc0 core: all cores
+ 0x40 core: this core
+ 0x08 (M)ESI: Modified
+ 0x04 M(E)SI: Exclusive
+ 0x02 ME(S)I: Shared
+ 0x01 MES(I): Invalid
+name:core_prefetch_mesi type:bitmask default:0x7f
+ 0xc0 core: all cores
+ 0x40 core: this core
+ 0x30 prefetch: all inclusive
+ 0x10 prefetch: Hardware prefetch only
+ 0x00 prefetch: exclude hardware prefetch
+ 0x08 (M)ESI: Modified
+ 0x04 M(E)SI: Exclusive
+ 0x02 ME(S)I: Shared
+ 0x01 MES(I): Invalid
+name:l1d_split type:exclusive default:0x1
+ 0x1 split loads
+ 0x2 split stores
+name:bus_agents type:exclusive default:0x00
+ 0x00 this agent
+ 0x20 include all agents
+name:core_and_bus_agents type:bitmask default:0x40
+ 0xc0 core: all cores
+ 0x40 core: this core
+ 0x00 bus: this agent
+ 0x20 bus: include all agents
+name:bus_agents_and_snoop type:bitmask default:0x0b
+ 0x00 bus: this agent
+ 0x20 bus: include all agents
+ 0x08 snoop: HITM snoops
+ 0x02 snoop: HIT snoops
+ 0x01 snoop: CLEAN snoops
+name:core_and_snoop type:bitmask default:0x40
+ 0xc0 core: all cores
+ 0x40 core: this core
+ 0x01 snoop: CMP2I snoops
+ 0x02 snoop: CMP2S snoops
+name:itlb_miss type:bitmask default:0x12
+ 0x02 ITLB small page misses
+ 0x10 ITLB large page misses
+ 0x40 ITLB flushes
+name:macro_insts type:bitmask default:0x09
+ 0x01 Instructions decoded
+ 0x08 CISC Instructions decoded
+name:esp type:bitmask default:0x01
+ 0x01 ESP register content synchronizations
+ 0x02 ESP register automatic additions
+name:inst_retired type:bitmask default:0x00
+ 0x00 Any
+ 0x01 Loads
+ 0x02 Stores
+ 0x04 Other
+name:x87_ops_retired type:exclusive default:0xfe
+ 0x01 FXCH instructions retired
+ 0xfe Retired floating-point computational operations (precise)
+name:uops_retired type:bitmask default:0x0f
+ 0x01 Fused load+op or load+indirect branch retired
+ 0x02 Fused store address + data retired
+ 0x04 Retired instruction pairs fused into one micro-op
+ 0x07 Fused micro-ops retired
+ 0x08 Non-fused micro-ops retired
+ 0x0f Micro-ops retired
+name:machine_nukes type:bitmask default:0x05
+ 0x01 Self-Modifying Code detected
+ 0x04 Execution pipeline restart due to memory ordering conflict or memory disambiguation misprediction
+name:br_inst_retired type:bitmask default:0xa
+ 0x01 predicted not-taken
+ 0x02 mispredicted not-taken
+ 0x04 predicted taken
+ 0x08 mispredicted taken
+name:cycles_int_masked type:exclusive default:0x02
+ 0x01 Interrupts disabled
+ 0x02 Interrupts pending and disabled
+name:simd_inst_retired type:bitmask default:0x1f
+ 0x01 Retired SSE packed-single instructions
+ 0x02 Retired SSE scalar-single instructions
+ 0x04 Retired SSE2 packed-double instructions
+ 0x08 Retired SSE2 scalar-double instructions
+ 0x10 Retired SSE2 vector integer instructions
+ 0x1f Retired Streaming SIMD instructions (precise event)
+name:simd_comp_inst_retired type:bitmask default:0xf
+ 0x01 Retired computational SSE packed-single instructions
+ 0x02 Retired computational SSE scalar-single instructions
+ 0x04 Retired computational SSE2 packed-double instructions
+ 0x08 Retired computational SSE2 scalar-double instructions
+name:mem_load_retired type:exclusive default:0x01
+ 0x01 Retired loads that miss the L1 data cache (precise event)
+ 0x02 L1 data cache line missed by retired loads (precise event)
+ 0x04 Retired loads that miss the L2 cache (precise event)
+ 0x08 L2 cache line missed by retired loads (precise event)
+ 0x10 Retired loads that miss the DTLB (precise event)
+name:rat_stalls type:bitmask default:0xf
+ 0x01 ROB read port
+ 0x02 Partial register
+ 0x04 Flag
+ 0x08 FPU status word
+ 0x0f All RAT
+name:seg_regs type:bitmask default:0x0f
+ 0x01 ES
+ 0x02 DS
+ 0x04 FS
+ 0x08 GS
+name:resource_stalls type:bitmask default:0x0f
+ 0x01 when the ROB is full
+ 0x02 during which the RS is full
+ 0x04 during which the pipeline has exceeded the load or store limit or is waiting to commit all stores
+ 0x08 due to FPU control word write
+ 0x10 due to branch misprediction
diff --git a/events/i386/core_i7/events b/events/i386/core_i7/events
new file mode 100644
index 0000000..ab53422
--- /dev/null
+++ b/events/i386/core_i7/events
@@ -0,0 +1,6 @@
+#
+# Intel Core i7 "Bloomfield" / Xeon EP 75xx events
+# right now this is only the shared events included for the Nehalem core,
+# but later we'll add here the uncore events specific to this chip
+#
+include:i386/nehalem
diff --git a/events/i386/core_i7/unit_masks b/events/i386/core_i7/unit_masks
new file mode 100644
index 0000000..ffc35d3
--- /dev/null
+++ b/events/i386/core_i7/unit_masks
@@ -0,0 +1 @@
+include:i386/nehalem
diff --git a/events/i386/nehalem/events b/events/i386/nehalem/events
new file mode 100644
index 0000000..f3471f6
--- /dev/null
+++ b/events/i386/nehalem/events
@@ -0,0 +1,107 @@
+#
+# Intel "Nehalem" microarchitecture (Core i7; Xeon 75xx etc.) core events
+# the uncore (memory controller/QPI) events are in separate files because
+# they vary between implementations (right now they are not implemented
+# in oprofile)
+#
+# Note the minimum counts are not discovered experimentally and could be likely
+# lowered in many cases without ill effect.
+#
+event:0x3c counters:0,1,2,3 um:zero minimum:6000 name:CPU_CLK_UNHALTED : Clock cycles when not halted
+event:0x3c counters:0,1,2,2 um:one minimum:6000 name:UNHALTED_REFERENCE_CYCLES : Unhalted reference cycles
+event:0x2e counters:0,1,2,3 um:x41 minimum:6000 name:LLC_MISSES : Last level cache demand requests from this core that missed the LLC
+event:0x2e counters:0,1,2,3 um:x4f minimum:6000 name:LLC_REFS : Last level cache demand requests from this core
+event:0xc0 counters:0,1,2,3 um:inst_retired minimum:6000 name:INST_RETIRED : number of instructions retired
+event:0xc4 counters:0,1,2,3 um:br_inst_retired minimum:500 name:BR_INST_RETIRED : number of branch instructions retired
+event:0xc5 counters:0,1,2,3 um:br_misp_retired minimum:500 name:BR_MISS_PRED_RETIRED : number of mispredicted branches retired (precise)
+#
+event:0x02 counters:0,1,2,3 um:sb_forward minimum:6000 name:SB_FORWARD : Counts the number of store forwards.
+event:0x03 counters:0,1,2,3 um:load_block minimum:6000 name:LOAD_BLOCK : Counts the number of loads blocked
+event:0x04 counters:0,1,2,3 um:sb_drain minimum:6000 name:SB_DRAIN : Counts the cycles of store buffer drains.
+event:0x05 counters:0,1,2,3 um:misalign_mem_ref minimum:6000 name:MISALIGN_MEM_REF : Counts the number of misaligned load references
+event:0x06 counters:0,1,2,3 um:store_blocks minimum:6000 name:STORE_BLOCKS : This event counts the number of load operations delayed caused by preceding stores.
+event:0x07 counters:0,1,2,3 um:one minimum:6000 name:PARTIAL_ADDRESS_ALIAS : Counts false dependency due to partial address aliasing
+event:0x08 counters:0,1,2,3 um:dtlb_load_misses minimum:6000 name:DTLB_LOAD_MISSES : Counts dtlb page walks
+event:0x09 counters:0,1,2,3 um:memory_disambiguration minimum:6000 name:MEMORY_DISAMBIGURATION : Counts memory disambiguration events
+event:0x0B counters:0,1,2,3 um:mem_inst_retired minimum:6000 name:MEM_INST_RETIRED : Counts the number of instructions with an architecturally-visible load/store retired on the architected path.
+event:0x0C counters:0,1,2,3 um:mem_store_retired minimum:6000 name:MEM_STORE_RETIRED : The event counts the number of retired stores that missed the DTLB. The DTLB miss is not counted if the store operation causes a fault. Does not count prefetches. Counts both primary and secondary misses to the TLB
+event:0x0E counters:0,1,2,3 um:uops_issued minimum:6000 name:UOPS_ISSUED : Counts the number of Uops issued by the Register Allocation Table to the Reservation Station, i.e. the UOPs issued from the front end to the back end.
+event:0x0F counters:0,1,2,3 um:mem_uncore_retired minimum:6000 name:MEM_UNCORE_RETIRED : Counts number of memory load instructions retired where the memory reference hit modified data in another core
+event:0x10 counters:0,1,2,3 um:fp_comp_ops_exe minimum:6000 name:FP_COMP_OPS_EXE : Counts the number of FP Computational Uops Executed.
+event:0x12 counters:0,1,2,3 um:simd_int_128 minimum:6000 name:SIMD_INT_128 : Counts number of 128 bit SIMD integer operations.
+event:0x13 counters:0,1,2,3 um:load_dispatch minimum:6000 name:LOAD_DISPATCH : Counts number of loads dispatched from the Reservation Station that bypass.
+event:0x14 counters:0,1,2,3 um:arith minimum:6000 name:ARITH : Counts division cycles and number of multiplies. Includes integer and FP, but excludes DPPS/MPSAD.
+event:0x17 counters:0,1,2,3 um:one minimum:6000 name:INST_QUEUE_WRITES : Counts the number of instructions written into the instruction queue every cycle.
+event:0x18 counters:0,1,2,3 um:inst_decoded minimum:6000 name:INST_DECODED : Counts number of instructions that require decoder 0 to be decoded. Usually, this means that the instruction maps to more than 1 uop
+event:0x19 counters:0,1,2,3 um:one minimum:6000 name:TWO_UOP_INSTS_DECODED : An instruction that generates two uops was decoded
+event:0x1D counters:0,1,2,3 um:hw_int minimum:100 name:HW_INT : Counts hardware interrupt events.
+event:0x1E counters:0,1,2,3 um:one minimum:6000 name:INST_QUEUE_WRITE_CYCLES : This event counts the number of cycles during which instructions are written to the instruction queue. Dividing this counter by the number of instructions written to the instruction queue (INST_QUEUE_WRITES) yields the average number of instructions decoded each cycle. If this number is less than four and the pipe stalls, this indicates that the decoder is failing to decode enough instructions per cycle to sustain the 4-wide pipeline.
+event:0x24 counters:0,1,2,3 um:l2_rqsts minimum:500 name:L2_RQSTS : Counts number of L2 data loads
+event:0x26 counters:0,1,2,3 um:l2_data_rqsts minimum:500 name:L2_DATA_RQSTS : More L2 data loads.
+event:0x27 counters:0,1,2,3 um:l2_write minimum:500 name:L2_WRITE : Counts number of L2 writes
+event:0x28 counters:0,1,2,3 um:l1d_wb_l2 minimum:500 name:L1D_WB_L2 : Counts number of L1 writebacks to the L2.
+event:0x2E counters:0,1,2,3 um:longest_lat_cache minimum:6000 name:LONGEST_LAT_CACHE : Count LLC cache reference latencies.
+event:0x3C counters:0,1,2,3 um:cpu_clk_unhalted minimum:6000 name:CPU_CLK_UNHALTED : Counts the number of thread cycles while the thread is not in a halt state.
+event:0x3D counters:0,1,2,3 um:one minimum:6000 name:UOPS_DECODED_DEC0 : Counts micro-ops decoded by decoder 0.
+event:0x40 counters:0,1 um:l1d_cache_ld minimum:6000 name:L1D_CACHE_LD : Counts L1 data cache read requests.
+event:0x41 counters:0,1 um:l1d_cache_st minimum:6000 name:L1D_CACHE_ST : Counts L1 data cache stores.
+event:0x42 counters:0,1 um:l1d_cache_lock minimum:6000 name:L1D_CACHE_LOCK : Counts retired load locks in the L1D cache.
+event:0x43 counters:0,1 um:l1d_all_ref minimum:6000 name:L1D_ALL_REF : Counts all references to the L1 data cache,
+event:0x49 counters:0,1,2,3 um:dtlb_misses minimum:6000 name:DTLB_MISSES : Counts the number of misses in the STLB
+event:0x4B counters:0,1,2,3 um:sse_mem_exec minimum:6000 name:SSE_MEM_EXEC : Counts number of SSE instructions which missed the L1 data cache.
+event:0x4C counters:0,1,2,3 um:one minimum:6000 name:LOAD_HIT_PRE : Counts load operations sent to the L1 data cache while a previous SSE prefetch instruction to the same cache line has started prefetching but has not yet finished.
+event:0x4D counters:0,1,2,3 um:one minimum:6000 name:SFENCE_CYCLES : Counts store fence cycles
+event:0x4E counters:0,1,2,3 um:l1d_prefetch minimum:6000 name:L1D_PREFETCH : Counts number of hardware prefetch requests.
+event:0x4F counters:0,1,2,3 um:ept minimum:6000 name:EPT : Counts Extended Page Directory Entry accesses. The Extended Page Directory cache is used by Virtual Machine operating systems while the guest operating systems use the standard TLB caches.
+event:0x51 counters:0,1 um:l1d minimum:6000 name:L1D : Counts the number of lines brought from/to the L1 data cache.
+event:0x52 counters:0,1,2,3 um:one minimum:6000 name:L1D_CACHE_PREFETCH_LOCK_FB_HIT : Counts the number of cacheable load lock speculated instructions accepted into the fill buffer.
+event:0x53 counters:0,1,2,3 um:one minimum:6000 name:L1D_CACHE_LOCK_FB_HIT : Counts the number of cacheable load lock speculated or retired instructions accepted into the fill buffer.
+event:0x60 counters:0,1,2,3 um:offcore_requests_outstanding minimum:6000 name:OFFCORE_REQUESTS_OUTSTANDING : Counts weighted cycles of offcore requests.
+event:0x63 counters:0,1 um:cache_lock_cycles minimum:6000 name:CACHE_LOCK_CYCLES : Cycle count during which the L1/L2 caches are locked. A lock is asserted when there is a locked memory access, due to uncacheable memory, a locked operation that spans two cache lines, or a page walk from an uncacheable page table.
+event:0x6C counters:0,1,2,3 um:one minimum:6000 name:IO_TRANSACTIONS : Counts the number of completed I/O transactions.
+event:0x80 counters:0,1,2,3 um:l1i minimum:6000 name:L1I : Counts L1i instruction cache accesses.
+event:0x81 counters:0,1,2,3 um:ifu_ivc minimum:6000 name:IFU_IVC : Instruction Fetch unit events
+event:0x82 counters:0,1,2,3 um:large_itlb minimum:6000 name:LARGE_ITLB : Counts number of large ITLB accesses
+event:0x83 counters:0,1,2,3 um:one minimum:6000 name:L1I_OPPORTUNISTIC_HITS : Opportunistic hits in streaming.
+event:0x85 counters:0,1,2,3 um:itlb_misses minimum:6000 name:ITLB_MISSES : Counts the number of ITLB misses in various variants
+event:0x87 counters:0,1,2,3 um:ild_stall minimum:6000 name:ILD_STALL : Cycles Instruction Length Decoder stalls
+event:0x88 counters:0,1,2,3 um:br_inst_exec minimum:6000 name:BR_INST_EXEC : Counts the number of near branch instructions executed, but not necessarily retired.
+event:0x89 counters:0,1,2,3 um:br_misp_exec minimum:6000 name:BR_MISP_EXEC : Counts the number of mispredicted conditional near branch instructions executed, but not necessarily retired.
+event:0xA2 counters:0,1,2,3 um:resource_stalls minimum:6000 name:RESOURCE_STALLS : Counts the number of Allocator resource related stalls. Includes register renaming buffer entries, memory buffer entries. In addition to resource related stalls, this event counts some other events. Includes stalls arising during branch misprediction recovery, such as if retirement of the mispredicted branch is delayed and stalls arising while store buffer is draining from synchronizing operations.
+event:0xA6 counters:0,1,2,3 um:one minimum:6000 name:MACRO_INSTS : Counts the number of instructions decoded that are macro-fused but not necessarily executed or retired.
+event:0xA7 counters:0,1,2,3 um:one minimum:6000 name:BACLEAR_FORCE_IQ : Counts number of times a BACLEAR was forced by the Instruction Queue. The IQ is also responsible for providing conditional branch prediciton direction based on a static scheme and dynamic data provided by the L2 Branch Prediction Unit. If the conditional branch target is not found in the Target Array and the IQ predicts that the branch is taken, then the IQ will force the Branch Address Calculator to issue a BACLEAR. Each BACLEAR asserted by the BAC generates approximately an 8 cycle bubble in the instruction fetch pipeline.
+event:0xA8 counters:0,1,2,3 um:one minimum:6000 name:LSD : Counts the number of micro-ops delivered by loop stream detector
+event:0xAE counters:0,1,2,3 um:one minimum:6000 name:ITLB_FLUSH : Counts the number of ITLB flushes
+event:0xB0 counters:0,1,2,3 um:offcore_requests minimum:6000 name:OFFCORE_REQUESTS : Counts number of offcore data requests.
+event:0xB1 counters:0,1,2,3 um:uops_executed minimum:6000 name:UOPS_EXECUTED : Counts number of Uops executed that were issued on various ports
+event:0xB2 counters:0,1,2,3 um:one minimum:6000 name:OFFCORE_REQUESTS_SQ_FULL : Counts number of cycles the SQ is full to handle off-core requests.
+event:0xB3 counters:0,1,2,3 um:snoopq_requests_outstanding minimum:6000 name:SNOOPQ_REQUESTS_OUTSTANDING : Counts weighted cycles of snoopq requests.
+event:0xB7 counters:0,1,2,3 um:one minimum:6000 name:OOF_CORE_RESPONSE_0 : Off-core Response Performance Monitoring in the Processor Core. Requires special setup.
+event:0xB8 counters:0,1,2,3 um:snoop_response minimum:6000 name:SNOOP_RESPONSE : Counts HIT snoop response sent by this thread in response to a snoop request.
+event:0xBA counters:0,1,2,3 um:pic_accesses minimum:6000 name:PIC_ACCESSES : Counts number of TPR accesses
+event:0xC2 counters:0,1,2,3 um:uops_retired minimum:6000 name:UOPS_RETIRED : Counts the number of micro-ops retired, (macro-fused=1, micro-fused=2, others=1; maximum count of 8 per cycle). Most instructions are composed of one or two microops. Some instructions are decoded into longer sequences such as repeat instructions, floating point transcendental instructions, and assists
+event:0xC3 counters:0,1,2,3 um:machine_clears minimum:6000 name:MACHINE_CLEARS : Counts the cycles machine clear is asserted.
+event:0xC7 counters:0,1,2,3 um:ssex_uops_retired minimum:6000 name:SSEX_UOPS_RETIRED : Counts SIMD packed single-precision floating point Uops retired.
+event:0xC8 counters:0,1,2,3 um:x20 minimum:6000 name:ITLB_MISS_RETIRED : Counts the number of retired instructions that missed the ITLB when the instruction was fetched.
+event:0xCB counters:0,1,2,3 um:mem_load_retired minimum:6000 name:MEM_LOAD_RETIRED : Counts number of retired loads.
+event:0xCC counters:0,1,2,3 um:fp_mmx_trans minimum:6000 name:FP_MMX_TRANS : Counts transitions between MMX and x87 state.
+event:0xD0 counters:0,1,2,3 um:macro_insts minimum:6000 name:MACRO_INSTS : Counts the number of instructions decoded, (but not necessarily executed or retired).
+event:0xD1 counters:0,1,2,3 um:uops_decoded minimum:6000 name:UOPS_DECODED : Counts the number of Uops decoded by various subsystems.
+event:0xD2 counters:0,1,2,3 um:rat_stalls minimum:6000 name:RAT_STALLS : Counts the number of cycles during which execution stalled due to several reason
+event:0xD4 counters:0,1,2,3 um:one minimum:6000 name:SEG_RENAME_STALLS : Counts the number of stall cycles due to the lack of renaming resources for the ES, DS, FS, and GS segment registers. If a segment is renamed but not retired and a second update to the same segment occurs, a stall occurs in the front-end of the pipeline until the renamed segment retires.
+event:0xD5 counters:0,1,2,3 um:one minimum:6000 name:ES_REG_RENAMES : Counts the number of times the ES segment register is renamed.
+event:0xDB counters:0,1,2,3 um:one minimum:6000 name:UOP_UNFUSION : Counts unfusion events due to floating point exception to a fused uop.
+event:0xE0 counters:0,1,2,3 um:one minimum:6000 name:BR_INST_DECODED : Counts the number of branch instructions decoded.
+event:0xE4 counters:0,1,2,3 um:one minimum:6000 name:BOGUS_BR : Counts the number of bogus branches.
+event:0xE5 counters:0,1,2,3 um:one minimum:6000 name:BPU_MISSED_CALL_RET : Counts number of times the Branch Prediciton Unit missed predicting a call or return branch.
+event:0xE6 counters:0,1,2,3 um:baclear minimum:6000 name:BACLEAR : Counts the number of times the front end is resteered,
+event:0xE8 counters:0,1,2,3 um:bpu_clears minimum:6000 name:BPU_CLEARS : Counts Branch Prediction Unit clears.
+event:0xF0 counters:0,1,2,3 um:l2_transactions minimum:6000 name:L2_TRANSACTIONS : Counts L2 transactions
+event:0xF1 counters:0,1,2,3 um:l2_lines_in minimum:6000 name:L2_LINES_IN : Counts the number of cache lines allocated in the L2 cache in various states.
+event:0xF2 counters:0,1,2,3 um:l2_lines_out minimum:6000 name:L2_LINES_OUT : Counts L2 cache lines evicted.
+event:0xF3 counters:0,1,2,3 um:l2_hw_prefetch minimum:6000 name:L2_HW_PREFETCH : Count L2 HW prefetcher events
+event:0xF4 counters:0,1,2,3 um:sq_misc minimum:6000 name:SQ_MISC : Counts events in the Super Queue below the L2.
+event:0xF6 counters:0,1,2,3 um:one minimum:6000 name:SQ_FULL_STALL_CYCLES : Counts cycles the Super Queue is full. Neither of the threads on this core will be able to access the uncore.
+event:0xF7 counters:0,1,2,3 um:fp_assist minimum:6000 name:FP_ASSIST : Counts the number of floating point operations executed that required micro-code assist intervention.
+event:0xF8 counters:0,1,2,3 um:one minimum:6000 name:SEGMENT_REG_LOADS : Counts number of segment register loads
+event:0xFD counters:0,1,2,3 um:simd_int_64 minimum:6000 name:SIMD_INT_64 : Counts number of SID integer 64 bit packed multiply operations.
diff --git a/events/i386/nehalem/unit_masks b/events/i386/nehalem/unit_masks
new file mode 100644
index 0000000..d800e5d
--- /dev/null
+++ b/events/i386/nehalem/unit_masks
@@ -0,0 +1,372 @@
+#
+# Unit masks for the Intel "Nehalem" micro architecture
+# (Intel Core i7 "Bloomfield"; Xeon 75xx)
+#
+include:i386/arch_perfmon
+name:sb_forward type:mandatory default:0x01
+ 0x01 any Counts the number of store forwards
+name:load_block type:bitmask default:0x01
+ 0x01 std Counts the number of loads blocked by a preceding store with unknown data
+ 0x04 address_offset Counts the number of loads blocked by a preceding store address
+name:sb_drain type:mandatory default:0x01
+ 0x01 cycles Counts the cycles of store buffer drains
+name:misalign_mem_ref type:bitmask default:0x03
+ 0x01 load Counts the number of misaligned load references
+ 0x02 store Counts the number of misaligned store references
+ 0x03 any Counts the number of misaligned memory references
+name:store_blocks type:bitmask default:0x0f
+ 0x01 not_sta This event counts the number of load operations delayed caused by preceding stores whose addresses are known but whose data is unknown, and preceding stores that conflict with the load but which incompletely overlap the load
+ 0x02 sta This event counts load operations delayed caused by preceding stores whose addresses are unknown (STA block)
+ 0x04 at_ret Counts number of loads delayed with at-Retirement block code
+ 0x08 l1d_block Cacheable loads delayed with L1D block code
+ 0x0F any All loads delayed due to store blocks
+name:dtlb_load_misses type:bitmask default:0x01
+ 0x01 any Counts all load misses that cause a page walk
+ 0x02 walk_completed Counts number of completed page walks due to load miss in the STLB
+ 0x10 stlb_hit Number of cache load STLB hits
+ 0x20 pde_miss Number of DTLB cache load misses where the low part of the linear to physical address translation was missed
+ 0x40 pdp_miss Number of DTLB cache load misses where the high part of the linear to physical address translation was missed
+ 0x80 large_walk_completed Counts number of completed large page walks due to load miss in the STLB
+name:memory_disambiguration type:bitmask default:0x01
+ 0x01 reset Counts memory disambiguration reset cycles
+ 0x02 success Counts the number of loads that memory disambiguration succeeded
+ 0x04 watchdog Counts the number of times the memory disambiguration watchdog kicked in
+ 0x08 watch_cycles Counts the cycles that the memory disambiguration watchdog is active
+name:mem_inst_retired type:bitmask default:0x01
+ 0x01 loads Counts the number of instructions with an architecturally-visible store retired on the architected path
+ 0x02 stores Counts the number of instructions with an architecturally-visible store retired on the architected path
+name:mem_store_retired type:mandatory default:0x01
+ 0x01 dtlb_miss The event counts the number of retired stores that missed the DTLB
+name:uops_issued type:bitmask default:0x01
+ 0x01 any Counts the number of Uops issued by the Register Allocation Table to the Reservation Station, i
+ 0x01 stalled_cycles Counts the number of cycles no Uops issued by the Register Allocation Table to the Reservation Station, i
+ 0x02 fused Counts the number of fused Uops that were issued from the Register Allocation Table to the Reservation Station
+name:mem_uncore_retired type:bitmask default:0x02
+ 0x02 other_core_l2_hitm Counts number of memory load instructions retired where the memory reference hit modified data in a sibling core residing on the same socket
+ 0x08 remote_cache_local_home_hit Counts number of memory load instructions retired where the memory reference missed the L1, L2 and LLC caches and HIT in a remote socket's cache
+ 0x10 remote_dram Counts number of memory load instructions retired where the memory reference missed the L1, L2 and LLC caches and was remotely homed
+ 0x20 local_dram Counts number of memory load instructions retired where the memory reference missed the L1, L2 and LLC caches and required a local socket memory reference
+name:fp_comp_ops_exe type:bitmask default:0x01
+ 0x01 x87 Counts the number of FP Computational Uops Executed
+ 0x02 mmx Counts number of MMX Uops executed
+ 0x04 sse_fp Counts number of SSE and SSE2 FP uops executed
+ 0x08 sse2_integer Counts number of SSE2 integer uops executed
+ 0x10 sse_fp_packed Counts number of SSE FP packed uops executed
+ 0x20 sse_fp_scalar Counts number of SSE FP scalar uops executed
+ 0x40 sse_single_precision Counts number of SSE* FP single precision uops executed
+ 0x80 sse_double_precision Counts number of SSE* FP double precision uops executed
+name:simd_int_128 type:bitmask default:0x01
+ 0x01 packed_mpy Counts number of 128 bit SIMD integer multiply operations
+ 0x02 packed_shift Counts number of 128 bit SIMD integer shift operations
+ 0x04 pack Counts number of 128 bit SIMD integer pack operations
+ 0x08 unpack Counts number of 128 bit SIMD integer unpack operations
+ 0x10 packed_logical Counts number of 128 bit SIMD integer logical operations
+ 0x20 packed_arith Counts number of 128 bit SIMD integer arithmetic operations
+ 0x40 shuffle_move Counts number of 128 bit SIMD integer shuffle and move operations
+name:load_dispatch type:bitmask default:0x07
+ 0x01 rs Counts number of loads dispatched from the Reservation Station that bypass the Memory Order Buffer
+ 0x02 rs_delayed Counts the number of delayed RS dispatches at the stage latch
+ 0x04 mob Counts the number of loads dispatched from the Reservation Station to the Memory Order Buffer
+ 0x07 any Counts all loads dispatched from the Reservation Station
+name:arith type:bitmask default:0x01
+ 0x01 cycles_div_busy Counts the number of cycles the divider is busy executing divide or square root operations
+ 0x02 mul Counts the number of multiply operations executed
+name:inst_decoded type:mandatory default:0x01
+ 0x01 dec0 Counts number of instructions that require decoder 0 to be decoded
+name:hw_int type:bitmask default:0x01
+ 0x01 rcv Number of interrupt received
+ 0x02 cycles_masked Number of cycles interrupt are masked
+ 0x04 cycles_pending_and_masked Number of cycles interrupts are pending and masked
+name:l2_rqsts type:bitmask default:0x01
+ 0x01 ld_hit Counts number of loads that hit the L2 cache
+ 0x02 ld_miss Counts the number of loads that miss the L2 cache
+ 0x03 loads Counts all L2 load requests
+ 0x04 rfo_hit Counts the number of store RFO requests that hit the L2 cache
+ 0x08 rfo_miss Counts the number of store RFO requests that miss the L2 cache
+ 0x0C rfos Counts all L2 store RFO requests
+ 0x10 ifetch_hit Counts number of instruction fetches that hit the L2 cache
+ 0x20 ifetch_miss Counts number of instruction fetches that miss the L2 cache
+ 0x30 ifetches Counts all instruction fetches
+ 0x40 prefetch_hit Counts L2 prefetch hits for both code and data
+ 0x80 prefetch_miss Counts L2 prefetch misses for both code and data
+ 0xC0 prefetches Counts all L2 prefetches for both code and data
+ 0xAA miss Counts all L2 misses for both code and data
+ 0xFF references Counts all L2 requests for both code and data
+name:l2_data_rqsts type:bitmask default:0xff
+ 0x01 i_state Counts number of L2 data demand loads where the cache line to be loaded is in the I (invalid) state, i
+ 0x02 s_state Counts number of L2 data demand loads where the cache line to be loaded is in the S (shared) state
+ 0x04 e_state Counts number of L2 data demand loads where the cache line to be loaded is in the E (exclusive) state
+ 0x08 m_state Counts number of L2 data demand loads where the cache line to be loaded is in the M (modified) state
+ 0x0F mesi Counts all L2 data demand requests
+ 0x10 i_state Counts number of L2 prefetch data loads where the cache line to be loaded is in the I (invalid) state, i
+ 0x20 s_state Counts number of L2 prefetch data loads where the cache line to be loaded is in the S (shared) state
+ 0x40 e_state Counts number of L2 prefetch data loads where the cache line to be loaded is in the E (exclusive) state
+ 0x80 m_state Counts number of L2 prefetch data loads where the cache line to be loaded is in the M (modified) state
+ 0xF0 mesi Counts all L2 prefetch requests
+ 0xFF any Counts all L2 data requests
+name:l2_write type:bitmask default:0x01
+ 0x01 i_state Counts number of L2 demand store RFO requests where the cache line to be loaded is in the I (invalid) state, i
+ 0x02 s_state Counts number of L2 store RFO requests where the cache line to be loaded is in the S (shared) state
+ 0x04 e_state Counts number of L2 store RFO requests where the cache line to be loaded is in the E (exclusive) state
+ 0x08 m_state Counts number of L2 store RFO requests where the cache line to be loaded is in the M (modified) state
+ 0x0E hit Counts number of L2 store RFO requests where the cache line to be loaded is in either the S, E or M states
+ 0x0F mesi Counts all L2 store RFO requests
+ 0x10 i_state Counts number of L2 demand lock RFO requests where the cache line to be loaded is in the I (invalid) state, i
+ 0x20 s_state Counts number of L2 lock RFO requests where the cache line to be loaded is in the S (shared) state
+ 0x40 e_state Counts number of L2 demand lock RFO requests where the cache line to be loaded is in the E (exclusive) state
+ 0x80 m_state Counts number of L2 demand lock RFO requests where the cache line to be loaded is in the M (modified) state
+ 0xE0 hit Counts number of L2 demand lock RFO requests where the cache line to be loaded is in either the S, E, or M state
+ 0xF0 mesi Counts all L2 demand lock RFO requests
+name:l1d_wb_l2 type:bitmask default:0x01
+ 0x01 i_state Counts number of L1 writebacks to the L2 where the cache line to be written is in the I (invalid) state, i
+ 0x02 s_state Counts number of L1 writebacks to the L2 where the cache line to be written is in the S state
+ 0x04 e_state Counts number of L1 writebacks to the L2 where the cache line to be written is in the E (exclusive) state
+ 0x08 m_state Counts number of L1 writebacks to the L2 where the cache line to be written is in the M (modified) state
+ 0x0F mesi Counts all L1 writebacks to the L2
+name:longest_lat_cache type:bitmask default:0x4F
+ 0x4F reference This event counts requests originating from the core that reference a cache line in the last level cache
+ 0x41 miss This event counts each cache miss condition for references to the last level cache
+name:cpu_clk_unhalted type:bitmask default:0x00
+ 0x00 thread_p Counts the number of thread cycles while the thread is not in a halt state
+ 0x01 ref_p Increments at the frequency of a slower reference clock when not halted
+name:l1d_cache_ld type:bitmask default:0x01
+ 0x01 i_state Counts L1 data cache read requests where the cache line to be loaded is in the I (invalid) state, i
+ 0x02 s_state Counts L1 data cache read requests where the cache line to be loaded is in the S (shared) state
+ 0x04 e_state Counts L1 data cache read requests where the cache line to be loaded is in the E (exclusive) state
+ 0x08 m_state Counts L1 data cache read requests where the cache line to be loaded is in the M (modified) state
+ 0x0F mesi Counts L1 data cache read requests
+name:l1d_cache_st type:bitmask default:0x01
+ 0x01 i_state Counts L1 data cache store RFO requests where the cache line to be loaded is in the I state
+ 0x02 s_state Counts L1 data cache store RFO requests where the cache line to be loaded is in the S (shared) state
+ 0x04 e_state Counts L1 data cache store RFO requests where the cache line to be loaded is in the E (exclusive) state
+ 0x08 m_state Counts L1 data cache store RFO requests where cache line to be loaded is in the M (modified) state
+ 0x0F mesi Counts L1 data cache store RFO requests
+name:l1d_cache_lock type:bitmask default:0x01
+ 0x01 hit Counts retired load locks that hit in the L1 data cache or hit in an already allocated fill buffer
+ 0x02 s_state Counts L1 data cache retired load locks that hit the target cache line in the shared state
+ 0x04 e_state Counts L1 data cache retired load locks that hit the target cache line in the exclusive state
+ 0x08 m_state Counts L1 data cache retired load locks that hit the target cache line in the modified state
+name:l1d_all_ref type:bitmask default:0x01
+ 0x01 any Counts all references (uncached, speculated and retired) to the L1 data cache, including all loads and stores with any memory types
+ 0x02 cacheable Counts all data reads and writes (speculated and retired) from cacheable memory, including locked operations
+#name:l1d_pend_miss type:mandatory default:0x02
+# 0x02 load_buffers_full Counts cycles of L1 data cache load fill buffers full
+name:dtlb_misses type:bitmask default:0x01
+ 0x01 any Counts the number of misses in the STLB which causes a page walk
+ 0x02 walk_completed Counts number of misses in the STLB which resulted in a completed page walk
+ 0x10 stlb_hit Counts the number of DTLB first level misses that hit in the second level TLB
+ 0x20 pde_miss Number of DTLB cache misses where the low part of the linear to physical address translation was missed
+ 0x40 pdp_miss Number of DTLB misses where the high part of the linear to physical address translation was missed
+ 0x80 large_walk_completed Counts number of completed large page walks due to misses in the STLB
+name:sse_mem_exec type:bitmask default:0x01
+ 0x01 nta Counts number of SSE NTA prefetch/weakly-ordered instructions which missed the L1 data cache
+ 0x08 streaming_stores Counts number of SSE nontemporal stores
+name:l1d_prefetch type:bitmask default:0x01
+ 0x01 requests Counts number of hardware prefetch requests dispatched out of the prefetch FIFO
+ 0x02 miss Counts number of hardware prefetch requests that miss the L1D
+ 0x04 triggers Counts number of prefetch requests triggered by the Finite State Machine and pushed into the prefetch FIFO
+name:ept type:bitmask default:0x02
+ 0x02 epde_miss Counts Extended Page Directory Entry misses
+ 0x04 epdpe_hit Counts Extended Page Directory Pointer Entry hits
+ 0x08 epdpe_miss Counts Extended Page Directory Pointer Entry misses
+name:l1d type:bitmask default:0x01
+ 0x01 repl Counts the number of lines brought into the L1 data cache
+ 0x02 m_repl Counts the number of modified lines brought into the L1 data cache
+ 0x04 m_evict Counts the number of modified lines evicted from the L1 data cache due to replacement
+ 0x08 m_snoop_evict Counts the number of modified lines evicted from the L1 data cache due to snoop HITM intervention
+name:offcore_requests_outstanding type:bitmask default:0x01
+ 0x01 read_data Counts weighted cycles of offcore demand data read requests
+ 0x02 read_code Counts weighted cycles of offcore demand code read requests
+ 0x04 rfo Counts weighted cycles of offcore demand RFO requests
+ 0x08 read Counts weighted cycles of offcore read requests of any kind
+name:cache_lock_cycles type:bitmask default:0x01
+ 0x01 l1d_l2 Cycle count during which the L1D and L2 are locked
+ 0x02 l1d Counts the number of cycles that cacheline in the L1 data cache unit is locked
+name:l1i type:bitmask default:0x01
+ 0x01 hits Counts all instruction fetches that hit the L1 instruction cache
+ 0x02 misses Counts all instruction fetches that miss the L1I cache
+ 0x03 reads Counts all instruction fetches, including uncacheable fetches that bypass the L1I
+ 0x04 cycles_stalled Cycle counts for which an instruction fetch stalls due to a L1I cache miss, ITLB miss or ITLB fault
+name:ifu_ivc type:bitmask default:0x01
+ 0x01 full Instruction Fetche unit victim cache full
+ 0x02 l1i_eviction L1 Instruction cache evictions
+name:large_itlb type:mandatory default:0x01
+ 0x01 hit Counts number of large ITLB hits
+name:itlb_misses type:bitmask default:0x01
+ 0x01 any Counts the number of misses in all levels of the ITLB which causes a page walk
+ 0x02 walk_completed Counts number of misses in all levels of the ITLB which resulted in a completed page walk
+ 0x04 walk_cycles Counts ITLB miss page walk cycles
+ 0x04 pmh_busy_cycles Counts PMH busy cycles
+ 0x10 stlb_hit Counts the number of ITLB misses that hit in the second level TLB
+ 0x20 pde_miss Number of ITLB misses where the low part of the linear to physical address translation was missed
+ 0x40 pdp_miss Number of ITLB misses where the high part of the linear to physical address translation was missed
+ 0x80 large_walk_completed Counts number of completed large page walks due to misses in the STLB
+name:ild_stall type:bitmask default:0x0f
+ 0x01 lcp Cycles Instruction Length Decoder stalls due to length changing prefixes: 66, 67 or REX
+ 0x02 mru Instruction Length Decoder stall cycles due to Brand Prediction Unit (PBU) Most Recently Used (MRU) bypass
+ 0x04 iq_full Stall cycles due to a full instruction queue
+ 0x08 regen Counts the number of regen stalls
+ 0x0F any Counts any cycles the Instruction Length Decoder is stalled
+name:br_inst_exec type:bitmask default:0x7f
+ 0x01 cond Counts the number of conditional near branch instructions executed, but not necessarily retired
+ 0x02 direct Counts all unconditional near branch instructions excluding calls and indirect branches
+ 0x04 indirect_non_call Counts the number of executed indirect near branch instructions that are not calls
+ 0x07 non_calls Counts all non call near branch instructions executed, but not necessarily retired
+ 0x08 return_near Counts indirect near branches that have a return mnemonic
+ 0x10 direct_near_call Counts unconditional near call branch instructions, excluding non call branch, executed
+ 0x20 indirect_near_call Counts indirect near calls, including both register and memory indirect, executed
+ 0x30 near_calls Counts all near call branches executed, but not necessarily retired
+ 0x40 taken Counts taken near branches executed, but not necessarily retired
+ 0x7F any Counts all near executed branches (not necessarily retired)
+name:br_misp_exec type:bitmask default:0x7f
+ 0x01 cond Counts the number of mispredicted conditional near branch instructions executed, but not necessarily retired
+ 0x02 direct Counts mispredicted macro unconditional near branch instructions, excluding calls and indirect branches (should always be 0)
+ 0x04 indirect_non_call Counts the number of executed mispredicted indirect near branch instructions that are not calls
+ 0x07 non_calls Counts mispredicted non call near branches executed, but not necessarily retired
+ 0x08 return_near Counts mispredicted indirect branches that have a rear return mnemonic
+ 0x10 direct_near_call Counts mispredicted non-indirect near calls executed, (should always be 0)
+ 0x20 indirect_near_call Counts mispredicted indirect near calls exeucted, including both register and memory indirect
+ 0x30 near_calls Counts all mispredicted near call branches executed, but not necessarily retired
+ 0x40 taken Counts executed mispredicted near branches that are taken, but not necessarily retired
+ 0x7F any Counts the number of mispredicted near branch instructions that were executed, but not necessarily retired
+name:resource_stalls type:bitmask default:0x01
+ 0x01 any Counts the number of Allocator resource related stalls
+ 0x02 load Counts the cycles of stall due to lack of load buffer for load operation
+ 0x04 rs_full This event counts the number of cycles when the number of instructions in the pipeline waiting for execution reaches the limit the processor can handle
+ 0x08 store This event counts the number of cycles that a resource related stall will occur due to the number of store instructions reaching the limit of the pipeline, (i
+ 0x10 rob_full Counts the cycles of stall due to reorder buffer full
+ 0x20 fpcw Counts the number of cycles while execution was stalled due to writing the floating-point unit (FPU) control word
+ 0x40 mxcsr Stalls due to the MXCSR register rename occurring to close to a previous MXCSR rename
+ 0x80 other Counts the number of cycles while execution was stalled due to other resource issues
+name:offcore_requests type:bitmask default:0x80
+ 0x01 demand_read_data Counts number of offcore demand data read requests
+ 0x02 demand_read_code Counts number of offcore demand code read requests
+ 0x04 demand_rfo Counts number of offcore demand RFO requests
+ 0x08 any_read Counts number of offcore read requests
+ 0x10 any_rfo Counts number of offcore RFO requests
+ 0x20 uncached_mem Counts number of offcore uncached memory requests
+ 0x40 l1d_writeback Counts number of L1D writebacks to the uncore
+ 0x80 any Counts all offcore requests
+name:uops_executed type:bitmask default:0x3f
+ 0x01 port0 Counts number of Uops executed that were issued on port 0
+ 0x02 port1 Counts number of Uops executed that were issued on port 1
+ 0x04 port2_core Counts number of Uops executed that were issued on port 2
+ 0x08 port3_core Counts number of Uops executed that were issued on port 3
+ 0x10 port4_core Counts number of Uops executed that where issued on port 4
+ 0x20 port5 Counts number of Uops executed that where issued on port 5
+ 0x40 port015 Counts number of Uops executed that where issued on port 0, 1, or 5
+ 0x80 port234 Counts number of Uops executed that where issued on port 2, 3, or 4
+name:snoopq_requests_outstanding type:bitmask default:0x01
+ 0x01 data Counts weighted cycles of snoopq requests for data
+ 0x02 invalidate Counts weighted cycles of snoopq invalidate requests
+ 0x04 code Counts weighted cycles of snoopq requests for code
+name:snoop_response type:bitmask default:0x01
+ 0x01 hit Counts HIT snoop response sent by this thread in response to a snoop request
+ 0x02 hite Counts HIT E snoop response sent by this thread in response to a snoop request
+ 0x04 hitm Counts HIT M snoop response sent by this thread in response to a snoop request
+name:pic_accesses type:bitmask default:0x01
+ 0x01 tpr_reads Counts number of TPR reads
+ 0x02 tpr_writes Counts number of TPR writes
+name:inst_retired type:bitmask default:0x01
+ 0x01 any_p instructions retired
+ 0x02 x87 Counts the number of floating point computational operations retired: floating point computational operations executed by the assist handler and sub-operations of complex floating point instructions like transcendental instructions
+name:uops_retired type:bitmask default:0x01
+ 0x01 any Counts the number of micro-ops retired, (macro-fused=1, micro-fused=2, others=1; maximum count of 8 per cycle)
+ 0x02 retire_slots Counts the number of retirement slots used each cycle
+ 0x04 macro_fused Counts number of macro-fused uops retired
+name:machine_clears type:bitmask default:0x01
+ 0x01 cycles Counts the cycles machine clear is asserted
+ 0x02 mem_order Counts the number of machine clears due to memory order conflicts
+ 0x04 smc Counts the number of times that a program writes to a code section
+ 0x10 fusion_assist Counts the number of macro-fusion assists
+name:br_inst_retired type:bitmask default:0x00
+ 0x00 all_branches See Table A-1
+ 0x01 conditional Counts the number of conditional branch instructions retired
+ 0x02 near_call Counts the number of direct & indirect near unconditional calls retired
+ 0x04 all_branches Counts the number of branch instructions retired
+name:br_misp_retired type:bitmask default:0x00
+ 0x00 all_branches See Table A-1
+ 0x02 near_call Counts mispredicted direct & indirect near unconditional retired calls
+name:ssex_uops_retired type:bitmask default:0x01
+ 0x01 packed_single Counts SIMD packed single-precision floating point Uops retired
+ 0x02 scalar_single Counts SIMD calar single-precision floating point Uops retired
+ 0x04 packed_double Counts SIMD packed double-precision floating point Uops retired
+ 0x08 scalar_double Counts SIMD scalar double-precision floating point Uops retired
+ 0x10 vector_integer Counts 128-bit SIMD vector integer Uops retired
+name:mem_load_retired type:bitmask default:0x01
+ 0x01 l1d_hit Counts number of retired loads that hit the L1 data cache
+ 0x02 l2_hit Counts number of retired loads that hit the L2 data cache
+ 0x04 llc_unshared_hit Counts number of retired loads that hit their own, unshared lines in the LLC cache
+ 0x08 other_core_l2_hit_hitm Counts number of retired loads that hit in a sibling core's L2 (on die core)
+ 0x10 llc_miss Counts number of retired loads that miss the LLC cache
+ 0x40 hit_lfb Counts number of retired loads that miss the L1D and the address is located in an allocated line fill buffer and will soon be committed to cache
+ 0x80 dtlb_miss Counts the number of retired loads that missed the DTLB
+name:fp_mmx_trans type:bitmask default:0x03
+ 0x01 to_fp Counts the first floating-point instruction following any MMX instruction
+ 0x02 to_mmx Counts the first MMX instruction following a floating-point instruction
+ 0x03 any Counts all transitions from floating point to MMX instructions and from MMX instructions to floating point instructions
+name:macro_insts type:mandatory default:0x01
+ 0x01 decoded Counts the number of instructions decoded, (but not necessarily executed or retired)
+name:uops_decoded type:bitmask default:0x0e
+ 0x02 ms Counts the number of Uops decoded by the Microcode Sequencer, MS
+ 0x04 esp_folding Counts number of stack pointer (ESP) instructions decoded: push , pop , call , ret, etc
+ 0x08 esp_sync Counts number of stack pointer (ESP) sync operations where an ESP instruction is corrected by adding the ESP offset register to the current value of the ESP register
+name:rat_stalls type:bitmask default:0x0f
+ 0x01 flags Counts the number of cycles during which execution stalled due to several reasons, one of which is a partial flag register stall
+ 0x02 registers This event counts the number of cycles instruction execution latency became longer than the defined latency because the instruction used a register that was partially written by previous instruction
+ 0x04 rob_read_port Counts the number of cycles when ROB read port stalls occurred, which did not allow new micro-ops to enter the out-of-order pipeline
+ 0x08 scoreboard Counts the cycles where we stall due to microarchitecturally required serialization
+ 0x0F any Counts all Register Allocation Table stall cycles due to: Cycles when ROB read port stalls occurred, which did not allow new micro-ops to enter the execution pipe
+name:baclear type:bitmask default:0x01
+ 0x01 clear Counts the number of times the front end is resteered, mainly when the Branch Prediction Unit cannot provide a correct prediction and this is corrected by the Branch Address Calculator at the front end
+ 0x02 bad_target Counts number of Branch Address Calculator clears (BACLEAR) asserted due to conditional branch instructions in which there was a target hit but the direction was wrong
+name:bpu_clears type:bitmask default:0x03
+ 0x01 early Counts early (normal) Branch Prediction Unit clears: BPU predicted a taken branch after incorrectly assuming that it was not taken
+ 0x02 late Counts late Branch Prediction Unit clears due to Most Recently Used conflicts
+ 0x03 any Counts all BPU clears
+name:l2_transactions type:bitmask default:0x80
+ 0x01 load Counts L2 load operations due to HW prefetch or demand loads
+ 0x02 rfo Counts L2 RFO operations due to HW prefetch or demand RFOs
+ 0x04 ifetch Counts L2 instruction fetch operations due to HW prefetch or demand ifetch
+ 0x08 prefetch Counts L2 prefetch operations
+ 0x10 l1d_wb Counts L1D writeback operations to the L2
+ 0x20 fill Counts L2 cache line fill operations due to load, RFO, L1D writeback or prefetch
+ 0x40 wb Counts L2 writeback operations to the LLC
+ 0x80 any Counts all L2 cache operations
+name:l2_lines_in type:bitmask default:0x07
+ 0x02 s_state Counts the number of cache lines allocated in the L2 cache in the S (shared) state
+ 0x04 e_state Counts the number of cache lines allocated in the L2 cache in the E (exclusive) state
+ 0x07 any Counts the number of cache lines allocated in the L2 cache
+name:l2_lines_out type:bitmask default:0x0f
+ 0x01 demand_clean Counts L2 clean cache lines evicted by a demand request
+ 0x02 demand_dirty Counts L2 dirty (modified) cache lines evicted by a demand request
+ 0x04 prefetch_clean Counts L2 clean cache line evicted by a prefetch request
+ 0x08 prefetch_dirty Counts L2 modified cache line evicted by a prefetch request
+ 0x0F any Counts all L2 cache lines evicted for any reason
+name:l2_hw_prefetch type:bitmask default:0x01
+ 0x01 hit Count L2 HW prefetcher detector hits
+ 0x02 alloc Count L2 HW prefetcher allocations
+ 0x04 data_trigger Count L2 HW data prefetcher triggered
+ 0x08 code_trigger Count L2 HW code prefetcher triggered
+ 0x10 dca_trigger Count L2 HW DCA prefetcher triggered
+ 0x20 kick_start Count L2 HW prefetcher kick started
+name:sq_misc type:bitmask default:0x01
+ 0x01 promotion Counts the number of L2 secondary misses that hit the Super Queue
+ 0x02 promotion_post_go Counts the number of L2 secondary misses during the Super Queue filling L2
+ 0x04 lru_hints Counts number of Super Queue LRU hints sent to L3
+ 0x08 fill_dropped Counts the number of SQ L2 fills dropped due to L2 busy
+ 0x10 split_lock Counts the number of SQ lock splits across a cache line
+name:fp_assist type:bitmask default:0x01
+ 0x01 all Counts the number of floating point operations executed that required micro-code assist intervention
+ 0x02 output Counts number of floating point micro-code assist when the output value (destination register) is invalid
+ 0x04 input Counts number of floating point micro-code assist when the input value (one of the source operands to an FP instruction) is invalid
+name:simd_int_64 type:bitmask default:0x01
+ 0x01 packed_mpy Counts number of SID integer 64 bit packed multiply operations
+ 0x02 packed_shift Counts number of SID integer 64 bit packed shift operations
+ 0x04 pack Counts number of SID integer 64 bit pack operations
+ 0x08 unpack Counts number of SID integer 64 bit unpack operations
+ 0x10 packed_logical Counts number of SID integer 64 bit logical operations
+ 0x20 packed_arith Counts number of SID integer 64 bit arithmetic operations
+ 0x40 shuffle_move Counts number of SID integer 64 bit shift or move operations
+name:x20 type:mandatory default:0x20
+ 0x20 No unit mask
diff --git a/events/i386/p4-ht/events b/events/i386/p4-ht/events
new file mode 100644
index 0000000..00c6bc9
--- /dev/null
+++ b/events/i386/p4-ht/events
@@ -0,0 +1,25 @@
+# Pentium IV HyperThreading events
+#
+# NOTE: events cannot currently be 0x00 due to event binding checks in
+# driver
+#
+event:0x1d counters:0 um:global_power_events minimum:6000 name:GLOBAL_POWER_EVENTS : time during which processor is not stopped
+event:0x01 counters:3 um:branch_retired minimum:6000 name:BRANCH_RETIRED : retired branches
+event:0x02 counters:3 um:mispred_branch_retired minimum:6000 name:MISPRED_BRANCH_RETIRED : retired mispredicted branches
+event:0x04 counters:0 um:bpu_fetch_request minimum:6000 name:BPU_FETCH_REQUEST : instruction fetch requests from the branch predict unit
+event:0x05 counters:0 um:itlb_reference minimum:6000 name:ITLB_REFERENCE : translations using the instruction translation lookaside buffer
+event:0x06 counters:2 um:memory_cancel minimum:6000 name:MEMORY_CANCEL : cancelled requesets in data cache address control unit
+event:0x07 counters:2 um:memory_complete minimum:6000 name:MEMORY_COMPLETE : completed split
+event:0x08 counters:2 um:load_port_replay minimum:6000 name:LOAD_PORT_REPLAY : replayed events at the load port
+event:0x09 counters:2 um:store_port_replay minimum:6000 name:STORE_PORT_REPLAY : replayed events at the store port
+event:0x0a counters:0 um:mob_load_replay minimum:6000 name:MOB_LOAD_REPLAY : replayed loads from the memory order buffer
+event:0x0c counters:0 um:bsq_cache_reference minimum:6000 name:BSQ_CACHE_REFERENCE : cache references seen by the bus unit
+event:0x12 counters:3 um:x87_assist minimum:6000 name:X87_ASSIST : retired x87 instructions which required special handling
+event:0x1c counters:3 um:machine_clear minimum:6000 name:MACHINE_CLEAR : cycles with entire machine pipeline cleared
+event:0x1e counters:1 um:tc_ms_xfer minimum:6000 name:TC_MS_XFER : number of times uops deliver changed from TC to MS ROM
+event:0x1f counters:1 um:uop_queue_writes minimum:6000 name:UOP_QUEUE_WRITES : number of valid uops written to the uop queue
+event:0x23 counters:3 um:instr_retired minimum:6000 name:INSTR_RETIRED : retired instructions
+event:0x24 counters:3 um:uops_retired minimum:6000 name:UOPS_RETIRED : retired uops
+event:0x25 counters:3 um:uop_type minimum:6000 name:UOP_TYPE : type of uop tagged by front-end tagging
+event:0x26 counters:1 um:branch_type minimum:6000 name:RETIRED_MISPRED_BRANCH_TYPE : retired mispredicted branched, selected by type
+event:0x27 counters:1 um:branch_type minimum:6000 name:RETIRED_BRANCH_TYPE : retired branches, selected by type
diff --git a/events/i386/p4-ht/unit_masks b/events/i386/p4-ht/unit_masks
new file mode 100644
index 0000000..8bfc6fa
--- /dev/null
+++ b/events/i386/p4-ht/unit_masks
@@ -0,0 +1,79 @@
+# Pentium IV HyperThreading possible unit masks
+#
+name:branch_retired type:bitmask default:0x0c
+ 0x01 branch not-taken predicted
+ 0x02 branch not-taken mispredicted
+ 0x04 branch taken predicted
+ 0x08 branch taken mispredicted
+name:mispred_branch_retired type:bitmask default:0x01
+ 0x01 retired instruction is non-bogus
+# FIXME: 0 count nothing, 0xff count more than 0x01, docs says it's a bitmask:
+# something wrong in documentation ?
+name:bpu_fetch_request type:bitmask default:0x01
+ 0x01 trace cache lookup miss
+name:itlb_reference type:bitmask default:0x07
+ 0x01 ITLB hit
+ 0x02 ITLB miss
+ 0x04 uncacheable ITLB hit
+name:memory_cancel type:bitmask default:0x08
+ 0x04 replayed because no store request buffer available
+ 0x08 conflicts due to 64k aliasing
+name:memory_complete type:bitmask default:0x03
+ 0x01 load split completed, excluding UC/WC loads
+ 0x02 any split stores completed
+ 0x04 uncacheable load split completed
+ 0x08 uncacheable store split complete
+name:load_port_replay type:mandatory default:0x02
+ 0x02 split load
+name:store_port_replay type:mandatory default:0x02
+ 0x02 split store
+name:mob_load_replay type:bitmask default:0x3a
+ 0x02 replay cause: unknown store address
+ 0x08 replay cause: unknown store data
+ 0x10 replay cause: partial overlap between load and store
+ 0x20 replay cause: mismatched low 4 bits between load and store addr
+name:bsq_cache_reference type:bitmask default:0x073f
+ 0x01 read 2nd level cache hit shared
+ 0x02 read 2nd level cache hit exclusive
+ 0x04 read 2nd level cache hit modified
+ 0x08 read 3rd level cache hit shared
+ 0x10 read 3rd level cache hit exclusive
+ 0x20 read 3rd level cache hit modified
+ 0x100 read 2nd level cache miss
+ 0x200 read 3rd level cache miss
+ 0x400 writeback lookup from DAC misses 2nd level cache
+name:x87_assist type:bitmask default:0x1f
+ 0x01 handle FP stack underflow
+ 0x02 handle FP stack overflow
+ 0x04 handle x87 output overflow
+ 0x08 handle x87 output underflow
+ 0x10 handle x87 input assist
+name:machine_clear type:bitmask default:0x01
+ 0x01 count a portion of cycles the machine is cleared for any cause
+ 0x04 count each time the machine is cleared due to memory ordering issues
+ 0x40 count each time the machine is cleared due to self modifying code
+name:global_power_events type:mandatory default:0x01
+ 0x01 mandatory
+name:tc_ms_xfer type:mandatory default:0x01
+ 0x01 count TC to MS transfers
+name:uop_queue_writes type:bitmask default:0x07
+ 0x01 count uops written to queue from TC build mode
+ 0x02 count uops written to queue from TC deliver mode
+ 0x04 count uops written to queue from microcode ROM
+name:instr_retired type:bitmask default:0x01
+ 0x01 count non-bogus instructions which are not tagged
+ 0x02 count non-bogus instructions which are tagged
+ 0x04 count bogus instructions which are not tagged
+ 0x08 count bogus instructions which are tagged
+name:uops_retired type:bitmask default:0x01
+ 0x01 count marked uops which are non-bogus
+ 0x02 count marked uops which are bogus
+name:uop_type type:bitmask default:0x02
+ 0x02 count uops which are load operations
+ 0x04 count uops which are store operations
+name:branch_type type:bitmask default:0x1f
+ 0x01 count unconditional jumps
+ 0x02 count conditional jumps
+ 0x04 count call branches
+ 0x08 count return branches
+ 0x10 count indirect jumps
diff --git a/events/i386/p4/events b/events/i386/p4/events
new file mode 100644
index 0000000..2978fd5
--- /dev/null
+++ b/events/i386/p4/events
@@ -0,0 +1,44 @@
+# Pentium IV events
+#
+# NOTE: events cannot currently be 0x00 due to event binding checks in
+# driver
+#
+event:0x1d counters:0,4 um:global_power_events minimum:3000 name:GLOBAL_POWER_EVENTS : time during which processor is not stopped
+event:0x01 counters:3,7 um:branch_retired minimum:3000 name:BRANCH_RETIRED : retired branches
+event:0x02 counters:3,7 um:mispred_branch_retired minimum:3000 name:MISPRED_BRANCH_RETIRED : retired mispredicted branches
+event:0x04 counters:0,4 um:bpu_fetch_request minimum:3000 name:BPU_FETCH_REQUEST : instruction fetch requests from the branch predict unit
+event:0x05 counters:0,4 um:itlb_reference minimum:3000 name:ITLB_REFERENCE : translations using the instruction translation lookaside buffer
+event:0x06 counters:2,6 um:memory_cancel minimum:3000 name:MEMORY_CANCEL : cancelled requesets in data cache address control unit
+event:0x07 counters:2,6 um:memory_complete minimum:3000 name:MEMORY_COMPLETE : completed split
+event:0x08 counters:2,6 um:load_port_replay minimum:3000 name:LOAD_PORT_REPLAY : replayed events at the load port
+event:0x09 counters:2,6 um:store_port_replay minimum:3000 name:STORE_PORT_REPLAY : replayed events at the store port
+event:0x0a counters:0,4 um:mob_load_replay minimum:3000 name:MOB_LOAD_REPLAY : replayed loads from the memory order buffer
+event:0x0c counters:0,4 um:bsq_cache_reference minimum:3000 name:BSQ_CACHE_REFERENCE : cache references seen by the bus unit
+# intel doc vol 3 table A-1 P4 and xeon with cpuid signature < 0xf27 doen't allow MSR_FSB_ESCR1 so on only counter 0 is available
+event:0x0d counters:0 um:ioq minimum:3000 name:IOQ_ALLOCATION : bus transactions
+# FIXME the unit mask associated is known to get different behavior between cpu
+# step id, it need to be documented in P4 events doc
+event:0x0e counters:4 um:ioq minimum:3000 name:IOQ_ACTIVE_ENTRIES : number of entries in the IOQ which are active
+event:0x10 counters:0 um:bsq minimum:3000 name:BSQ_ALLOCATION : allocations in the bus sequence unit
+event:0x12 counters:3,7 um:x87_assist minimum:3000 name:X87_ASSIST : retired x87 instructions which required special handling
+event:0x1c counters:3,7 um:machine_clear minimum:3000 name:MACHINE_CLEAR : cycles with entire machine pipeline cleared
+event:0x1e counters:1,5 um:tc_ms_xfer minimum:3000 name:TC_MS_XFER : number of times uops deliver changed from TC to MS ROM
+event:0x1f counters:1,5 um:uop_queue_writes minimum:3000 name:UOP_QUEUE_WRITES : number of valid uops written to the uop queue
+event:0x23 counters:3,7 um:instr_retired minimum:3000 name:INSTR_RETIRED : retired instructions
+event:0x24 counters:3,7 um:uops_retired minimum:3000 name:UOPS_RETIRED : retired uops
+event:0x25 counters:3,7 um:uop_type minimum:3000 name:UOP_TYPE : type of uop tagged by front-end tagging
+event:0x26 counters:1,5 um:branch_type minimum:3000 name:RETIRED_MISPRED_BRANCH_TYPE : retired mispredicted branched, selected by type
+event:0x27 counters:1,5 um:branch_type minimum:3000 name:RETIRED_BRANCH_TYPE : retired branches, selected by type
+event:0x03 counters:1,5 um:tc_deliver_mode minimum:3000 name:TC_DELIVER_MODE : duration (in clock cycles) in the trace cache and decode engine
+event:0x0b counters:0,4 um:page_walk_type minimum:3000 name:PAGE_WALK_TYPE : page walks by the page miss handler
+event:0x0f counters:0,4 um:fsb_data_activity minimum:3000 name:FSB_DATA_ACTIVITY : DRDY or DBSY events on the front side bus
+event:0x11 counters:4 um:bsq minimum:3000 name:BSQ_ACTIVE_ENTRIES : number of entries in the bus sequence unit which are active
+event:0x13 counters:2,6 um:flame_uop minimum:3000 name:SSE_INPUT_ASSIST : input assists requested for SSE or SSE2 operands
+event:0x14 counters:2,6 um:flame_uop minimum:3000 name:PACKED_SP_UOP : packed single precision uops
+event:0x15 counters:2,6 um:flame_uop minimum:3000 name:PACKED_DP_UOP : packed double precision uops
+event:0x16 counters:2,6 um:flame_uop minimum:3000 name:SCALAR_SP_UOP : scalar single precision uops
+event:0x17 counters:2,6 um:flame_uop minimum:3000 name:SCALAR_DP_UOP : scalar double presision uops
+event:0x18 counters:2,6 um:flame_uop minimum:3000 name:64BIT_MMX_UOP : 64 bit integer SIMD MMX uops
+event:0x19 counters:2,6 um:flame_uop minimum:3000 name:128BIT_MMX_UOP : 128 bit integer SIMD SSE2 uops
+event:0x1a counters:2,6 um:flame_uop minimum:3000 name:X87_FP_UOP : x87 floating point uops
+event:0x1b counters:2,6 um:x87_simd_moves_uop minimum:3000 name:X87_SIMD_MOVES_UOP : x87 FPU, MMX, SSE, or SSE2 loads, stores and reg-to-reg moves
diff --git a/events/i386/p4/unit_masks b/events/i386/p4/unit_masks
new file mode 100644
index 0000000..7946fdd
--- /dev/null
+++ b/events/i386/p4/unit_masks
@@ -0,0 +1,127 @@
+# Pentium IV possible unit masks
+#
+name:branch_retired type:bitmask default:0x0c
+ 0x01 branch not-taken predicted
+ 0x02 branch not-taken mispredicted
+ 0x04 branch taken predicted
+ 0x08 branch taken mispredicted
+name:mispred_branch_retired type:bitmask default:0x01
+ 0x01 retired instruction is non-bogus
+# FIXME: 0 count nothing, 0xff count more than 0x01, docs says it's a bitmask:
+# something wrong in documentation ?
+name:bpu_fetch_request type:bitmask default:0x01
+ 0x01 trace cache lookup miss
+name:itlb_reference type:bitmask default:0x07
+ 0x01 ITLB hit
+ 0x02 ITLB miss
+ 0x04 uncacheable ITLB hit
+name:memory_cancel type:bitmask default:0x08
+ 0x04 replayed because no store request buffer available
+ 0x08 conflicts due to 64k aliasing
+name:memory_complete type:bitmask default:0x03
+ 0x01 load split completed, excluding UC/WC loads
+ 0x02 any split stores completed
+ 0x04 uncacheable load split completed
+ 0x08 uncacheable store split complete
+name:load_port_replay type:mandatory default:0x02
+ 0x02 split load
+name:store_port_replay type:mandatory default:0x02
+ 0x02 split store
+name:mob_load_replay type:bitmask default:0x3a
+ 0x02 replay cause: unknown store address
+ 0x08 replay cause: unknown store data
+ 0x10 replay cause: partial overlap between load and store
+ 0x20 replay cause: mismatched low 4 bits between load and store addr
+name:bsq_cache_reference type:bitmask default:0x073f
+ 0x01 read 2nd level cache hit shared
+ 0x02 read 2nd level cache hit exclusive
+ 0x04 read 2nd level cache hit modified
+ 0x08 read 3rd level cache hit shared
+ 0x10 read 3rd level cache hit exclusive
+ 0x20 read 3rd level cache hit modified
+ 0x100 read 2nd level cache miss
+ 0x200 read 3rd level cache miss
+ 0x400 writeback lookup from DAC misses 2nd level cache
+name:ioq type:bitmask default:0xefe1
+ 0x01 bus request type bit 0
+ 0x02 bus request type bit 1
+ 0x04 bus request type bit 2
+ 0x08 bus request type bit 3
+ 0x10 bus request type bit 4
+ 0x20 count read entries
+ 0x40 count write entries
+ 0x80 count UC memory access entries
+ 0x100 count WC memory access entries
+ 0x200 count write-through memory access entries
+ 0x400 count write-protected memory access entries
+ 0x800 count WB memory access entries
+ 0x2000 count own store requests
+ 0x4000 count other / DMA store requests
+ 0x8000 count HW/SW prefetch requests
+name:bsq type:bitmask default:0x21
+ 0x01 (r)eq (t)ype (e)ncoding, bit 0: see next bit
+ 0x02 rte bit 1: 00=read, 01=read invalidate, 10=write, 11=writeback
+ 0x04 req len bit 0
+ 0x08 req len bit 1
+ 0x20 request type is input (0=output)
+ 0x40 request type is bus lock
+ 0x80 request type is cacheable
+ 0x100 request type is 8-byte chunk split across 8-byte boundary
+ 0x200 request type is demand (0=prefetch)
+ 0x400 request type is ordered
+ 0x800 (m)emory (t)ype (e)ncoding, bit 0: see next bits
+ 0x1000 mte bit 1: see next bits
+ 0x2000 mte bit 2: 000=UC, 001=USWC, 100=WT, 101=WP, 110=WB
+name:x87_assist type:bitmask default:0x1f
+ 0x01 handle FP stack underflow
+ 0x02 handle FP stack overflow
+ 0x04 handle x87 output overflow
+ 0x08 handle x87 output underflow
+ 0x10 handle x87 input assist
+name:machine_clear type:bitmask default:0x01
+ 0x01 count a portion of cycles the machine is cleared for any cause
+ 0x04 count each time the machine is cleared due to memory ordering issues
+ 0x40 count each time the machine is cleared due to self modifying code
+name:global_power_events type:mandatory default:0x01
+ 0x01 mandatory
+name:tc_ms_xfer type:mandatory default:0x01
+ 0x01 count TC to MS transfers
+name:uop_queue_writes type:bitmask default:0x07
+ 0x01 count uops written to queue from TC build mode
+ 0x02 count uops written to queue from TC deliver mode
+ 0x04 count uops written to queue from microcode ROM
+name:instr_retired type:bitmask default:0x01
+ 0x01 count non-bogus instructions which are not tagged
+ 0x02 count non-bogus instructions which are tagged
+ 0x04 count bogus instructions which are not tagged
+ 0x08 count bogus instructions which are tagged
+name:uops_retired type:bitmask default:0x01
+ 0x01 count marked uops which are non-bogus
+ 0x02 count marked uops which are bogus
+name:uop_type type:bitmask default:0x02
+ 0x02 count uops which are load operations
+ 0x04 count uops which are store operations
+name:branch_type type:bitmask default:0x1f
+ 0x01 count unconditional jumps
+ 0x02 count conditional jumps
+ 0x04 count call branches
+ 0x08 count return branches
+ 0x10 count indirect jumps
+name:tc_deliver_mode type:bitmask default:0x04
+ 0x04 processor is in deliver mode
+ 0x20 processor is in build mode
+name:page_walk_type type:bitmask default:0x01
+ 0x01 page walk for data TLB miss
+ 0x02 page walk for instruction TLB miss
+name:fsb_data_activity type:bitmask default:0x3f
+ 0x01 count when this processor drives data onto bus
+ 0x02 count when this processor reads data from bus
+ 0x04 count when data is on bus but not sampled by this processor
+ 0x08 count when this processor reserves bus for driving
+ 0x10 count when other reserves bus and this processor will sample
+ 0x20 count when other reserves bus and this processor will not sample
+name:flame_uop type:mandatory default:0x8000
+ 0x8000 count all uops of this type
+name:x87_simd_moves_uop type:bitmask default:0x18
+ 0x08 count all x87 SIMD store/move uops
+ 0x10 count all x87 SIMD load uops
diff --git a/events/i386/p6_mobile/events b/events/i386/p6_mobile/events
new file mode 100644
index 0000000..86de7bb
--- /dev/null
+++ b/events/i386/p6_mobile/events
@@ -0,0 +1,115 @@
+# Pentium M events
+#
+event:0x79 counters:0,1 um:zero minimum:6000 name:CPU_CLK_UNHALTED : clocks processor is not halted, and not in a thermal trip
+event:0x43 counters:0,1 um:zero minimum:500 name:DATA_MEM_REFS : all memory references, cachable and non
+event:0x45 counters:0,1 um:zero minimum:500 name:DCU_LINES_IN : total lines allocated in the DCU
+event:0x46 counters:0,1 um:zero minimum:500 name:DCU_M_LINES_IN : number of M state lines allocated in DCU
+event:0x47 counters:0,1 um:zero minimum:500 name:DCU_M_LINES_OUT : number of M lines evicted from the DCU
+event:0x48 counters:0,1 um:zero minimum:500 name:DCU_MISS_OUTSTANDING : number of cycles while DCU miss outstanding
+event:0x80 counters:0,1 um:zero minimum:500 name:IFU_IFETCH : number of non/cachable instruction fetches
+event:0x81 counters:0,1 um:zero minimum:500 name:IFU_IFETCH_MISS : number of instruction fetch misses
+event:0x85 counters:0,1 um:zero minimum:500 name:ITLB_MISS : number of ITLB misses
+event:0x86 counters:0,1 um:zero minimum:500 name:IFU_MEM_STALL : cycles instruction fetch pipe is stalled
+event:0x87 counters:0,1 um:zero minimum:500 name:ILD_STALL : cycles instruction length decoder is stalled
+event:0x28 counters:0,1 um:mesi minimum:500 name:L2_IFETCH : number of L2 instruction fetches
+event:0x29 counters:0,1 um:mesi minimum:500 name:L2_LD : number of L2 data loads
+event:0x2a counters:0,1 um:mesi minimum:500 name:L2_ST : number of L2 data stores
+event:0x24 counters:0,1 um:zero minimum:500 name:L2_LINES_IN : number of allocated lines in L2
+event:0x26 counters:0,1 um:zero minimum:500 name:L2_LINES_OUT : number of recovered lines from L2
+event:0x25 counters:0,1 um:zero minimum:500 name:L2_M_LINES_INM : number of modified lines allocated in L2
+event:0x27 counters:0,1 um:zero minimum:500 name:L2_M_LINES_OUTM : number of modified lines removed from L2
+event:0x2e counters:0,1 um:mesi minimum:500 name:L2_RQSTS : number of L2 requests
+event:0x21 counters:0,1 um:zero minimum:500 name:L2_ADS : number of L2 address strobes
+event:0x22 counters:0,1 um:zero minimum:500 name:L2_DBUS_BUSY : number of cycles data bus was busy
+event:0x23 counters:0,1 um:zero minimum:500 name:L2_DBUS_BUSY_RD : cycles data bus was busy in xfer from L2 to CPU
+event:0x62 counters:0,1 um:ebl minimum:500 name:BUS_DRDY_CLOCKS : number of clocks DRDY is asserted
+event:0x63 counters:0,1 um:ebl minimum:500 name:BUS_LOCK_CLOCKS : number of clocks LOCK is asserted
+event:0x60 counters:0,1 um:zero minimum:500 name:BUS_REQ_OUTSTANDING : number of outstanding bus requests
+event:0x65 counters:0,1 um:ebl minimum:500 name:BUS_TRAN_BRD : number of burst read transactions
+event:0x66 counters:0,1 um:ebl minimum:500 name:BUS_TRAN_RFO : number of read for ownership transactions
+event:0x67 counters:0,1 um:ebl minimum:500 name:BUS_TRANS_WB : number of write back transactions
+event:0x68 counters:0,1 um:ebl minimum:500 name:BUS_TRAN_IFETCH : number of instruction fetch transactions
+event:0x69 counters:0,1 um:ebl minimum:500 name:BUS_TRAN_INVAL : number of invalidate transactions
+event:0x6a counters:0,1 um:ebl minimum:500 name:BUS_TRAN_PWR : number of partial write transactions
+event:0x6b counters:0,1 um:ebl minimum:500 name:BUS_TRANS_P : number of partial transactions
+event:0x6c counters:0,1 um:ebl minimum:500 name:BUS_TRANS_IO : number of I/O transactions
+event:0x6d counters:0,1 um:ebl minimum:500 name:BUS_TRANS_DEF : number of deferred transactions
+event:0x6e counters:0,1 um:ebl minimum:500 name:BUS_TRAN_BURST : number of burst transactions
+event:0x70 counters:0,1 um:ebl minimum:500 name:BUS_TRAN_ANY : number of all transactions
+event:0x6f counters:0,1 um:ebl minimum:500 name:BUS_TRAN_MEM : number of memory transactions
+event:0x64 counters:0,1 um:zero minimum:500 name:BUS_DATA_RCV : bus cycles this processor is receiving data
+event:0x61 counters:0,1 um:zero minimum:500 name:BUS_BNR_DRV : bus cycles this processor is driving BNR pin
+event:0x7a counters:0,1 um:zero minimum:500 name:BUS_HIT_DRV : bus cycles this processor is driving HIT pin
+event:0x7b counters:0,1 um:zero minimum:500 name:BUS_HITM_DRV : bus cycles this processor is driving HITM pin
+event:0x7e counters:0,1 um:zero minimum:500 name:BUS_SNOOP_STALL : cycles during bus snoop stall
+event:0xc1 counters:0 um:zero minimum:3000 name:COMP_FLOP_RET : number of computational FP operations retired
+event:0x10 counters:0 um:zero minimum:3000 name:FLOPS : number of computational FP operations executed
+event:0x11 counters:1 um:zero minimum:500 name:FP_ASSIST : number of FP exceptions handled by microcode
+event:0x12 counters:1 um:zero minimum:1000 name:MUL : number of multiplies
+event:0x13 counters:1 um:zero minimum:500 name:DIV : number of divides
+event:0x14 counters:0 um:zero minimum:1000 name:CYCLES_DIV_BUSY : cycles divider is busy
+event:0x03 counters:0,1 um:zero minimum:500 name:LD_BLOCKS : number of store buffer blocks
+event:0x04 counters:0,1 um:zero minimum:500 name:SB_DRAINS : number of store buffer drain cycles
+event:0x05 counters:0,1 um:zero minimum:500 name:MISALIGN_MEM_REF : number of misaligned data memory references
+event:0x07 counters:0,1 um:kni_prefetch minimum:500 name:EMON_KNI_PREF_DISPATCHED : number of KNI pre-fetch/weakly ordered insns dispatched
+event:0x4b counters:0,1 um:kni_prefetch minimum:500 name:EMON_KNI_PREF_MISS : number of KNI pre-fetch/weakly ordered insns that miss all caches
+event:0xc0 counters:0,1 um:zero minimum:6000 name:INST_RETIRED : number of instructions retired
+event:0xc2 counters:0,1 um:zero minimum:6000 name:UOPS_RETIRED : number of UOPs retired
+# Errata lists INST_DECODE as not accurate. See 25266507.pdf.
+event:0xd0 counters:0,1 um:zero minimum:6000 name:INST_DECODED : number of instructions decoded
+event:0xd8 counters:0,1 um:sse_sse2_inst_retired minimum:3000 name:EMON_SSE_SSE2_INST_RETIRED : Streaming SIMD Extensions Instructions Retired
+event:0xd9 counters:0,1 um:sse_sse2_inst_retired minimum:3000 name:EMON_SSE_SSE2_COMP_INST_RETIRED : Computational SSE Instructions Retired
+event:0xc8 counters:0,1 um:zero minimum:500 name:HW_INT_RX : number of hardware interrupts received
+event:0xc6 counters:0,1 um:zero minimum:500 name:CYCLES_INT_MASKED : cycles interrupts are disabled
+event:0xc7 counters:0,1 um:zero minimum:500 name:CYCLES_INT_PENDING_AND_MASKED : cycles interrupts are disabled with pending interrupts
+event:0xc4 counters:0,1 um:zero minimum:500 name:BR_INST_RETIRED : number of branch instructions retired
+event:0xc5 counters:0,1 um:zero minimum:500 name:BR_MISS_PRED_RETIRED : number of mispredicted branches retired
+event:0xc9 counters:0,1 um:zero minimum:500 name:BR_TAKEN_RETIRED : number of taken branches retired
+event:0xca counters:0,1 um:zero minimum:500 name:BR_MISS_PRED_TAKEN_RET : number of taken mispredictions branches retired
+event:0xe0 counters:0,1 um:zero minimum:500 name:BR_INST_DECODED : number of branch instructions decoded
+event:0xe2 counters:0,1 um:zero minimum:500 name:BTB_MISSES : number of branches that miss the BTB
+event:0xe4 counters:0,1 um:zero minimum:500 name:BR_BOGUS : number of bogus branches
+event:0xe6 counters:0,1 um:zero minimum:500 name:BACLEARS : number of times BACLEAR is asserted
+event:0xa2 counters:0,1 um:zero minimum:500 name:RESOURCE_STALLS : cycles during resource related stalls
+event:0xd2 counters:0,1 um:zero minimum:500 name:PARTIAL_RAT_STALLS : cycles or events for partial stalls
+event:0x06 counters:0,1 um:zero minimum:500 name:SEGMENT_REG_LOADS : number of segment register loads
+event:0xb1 counters:0,1 um:zero minimum:3000 name:MMX_SAT_INSTR_EXEC : number of MMX saturating instructions executed
+event:0xb2 counters:0,1 um:mmx_uops minimum:3000 name:MMX_UOPS_EXEC : number of MMX UOPS executed
+event:0xb3 counters:0,1 um:mmx_instr_type_exec minimum:3000 name:MMX_INSTR_TYPE_EXEC : number of MMX packing instructions
+event:0xcc counters:0,1 um:mmx_trans minimum:3000 name:FP_MMX_TRANS : MMX-floating point transitions
+event:0xcd counters:0,1 um:zero minimum:500 name:MMX_ASSIST : number of EMMS instructions executed
+event:0xce counters:0,1 um:zero minimum:3000 name:MMX_INSTR_RET : number of MMX instructions retired
+#
+# Pentium M Specific events from A-7
+#
+#
+# Power Management
+event:0x58 counters:0,1 um:freq minimum:3000 name:EMON_EST_TRANS : Number of Enhanced Intel SpeedStep
+# Errata lists EMON_THERMAL_TRIP as not accurate. See 25266507.pdf.
+event:0x59 counters:0,1 um:zero minimum:3000 name:EMON_THERMAL_TRIP : Duration/Occurrences in thermal trip
+#
+# BPU
+event:0x88 counters:0,1 um:zero minimum:3000 name:BR_INST_EXEC : Branch instructions executed (not necessarily retired)
+event:0x89 counters:0,1 um:zero minimum:3000 name:BR_MISSP_EXEC : Branch instructions executed that were mispredicted at execution
+event:0x8a counters:0,1 um:zero minimum:3000 name:BR_BAC_MISSP_EXEC : Branch instructions executed that were mispredicted at Front End (BAC)
+event:0x8b counters:0,1 um:zero minimum:3000 name:BR_CND_EXEC : Conditional Branch instructions executed
+event:0x8c counters:0,1 um:zero minimum:3000 name:BR_CND_MISSP_EXEC : Conditional Branch instructions executed that were mispredicted
+event:0x8d counters:0,1 um:zero minimum:3000 name:BR_IND_EXEC : Indirect Branch instructions executed
+event:0x8e counters:0,1 um:zero minimum:3000 name:BR_IND_MISSP_EXEC : Indirect Branch instructions executed that were mispredicted
+event:0x8f counters:0,1 um:zero minimum:3000 name:BR_RET_EXEC : Return Branch instructions executed
+event:0x90 counters:0,1 um:zero minimum:3000 name:BR_RET_MISSP_EXEC : Return Branch instructions executed that were mispredicted at Execution
+event:0x91 counters:0,1 um:zero minimum:3000 name:BR_RET_BAC_MISSP_EXEC :Return Branch instructions executed that were mispredicted at Front End (BAC)
+event:0x92 counters:0,1 um:zero minimum:3000 name:BR_CALL_EXEC : CALL instruction executed
+event:0x93 counters:0,1 um:zero minimum:3000 name:BR_CALL_MISSP_EXEC : CALL instruction executed and miss predicted
+event:0x94 counters:0,1 um:zero minimum:3000 name:BR_IND_CALL_EXEC : Indirect CALL instruction executed
+#
+# Decoder
+event:0xce counters:0,1 um:zero minimum:3000 name:EMON_SIMD_INSTR_RETIRED : Number of retired MMX instructions
+event:0xd3 counters:0,1 um:zero minimum:3000 name:EMON_SYNCH_UOPS : Sync micro-ops
+event:0xd7 counters:0,1 um:zero minimum:3000 name:EMON_SYNCH_UOPS : Total number of micro-ops
+event:0xda counters:0,1 um:fused minimum:3000 name:EMON_FUSED_UOPS_RET : Number of retired fused micro-ops
+event:0xdb counters:0,1 um:zero minimum:3000 name:EMON_UNFUSION : Number of unfusion events in the ROB, happened on a FP exception to a fused uOp
+#
+# Prefetcher
+event:0xf0 counters:0,1 um:zero minimum:3000 name:EMON_PREF_RQSTS_UP : Number of upward prefetches issued
+event:0xf8 counters:0,1 um:zero minimum:3000 name:EMON_PREF_RQSTS_DN : Number of downward prefetches issued
diff --git a/events/i386/p6_mobile/unit_masks b/events/i386/p6_mobile/unit_masks
new file mode 100644
index 0000000..2905a2b
--- /dev/null
+++ b/events/i386/p6_mobile/unit_masks
@@ -0,0 +1,47 @@
+# Pentium M possible unit masks
+#
+name:zero type:mandatory default:0x0
+ 0x0 No unit mask
+name:mesi type:bitmask default:0x0f
+ 0x08 (M)odified cache state
+ 0x04 (E)xclusive cache state
+ 0x02 (S)hared cache state
+ 0x01 (I)nvalid cache state
+ 0x0f All cache states
+ 0x10 HW prefetched line only
+ 0x20 all prefetched line w/o regarding mask 0x10.
+name:ebl type:exclusive default:0x20
+ 0x00 self-generated transactions
+ 0x20 any transactions
+name:kni_prefetch type:exclusive default:0x0
+ 0x00 prefetch NTA
+ 0x01 prefetch T1
+ 0x02 prefetch T2
+ 0x03 weakly-ordered stores
+# this bitmask can seems weirds but is correct, note there is no way to only
+# count scalar SIMD instructions
+name:sse_sse2_inst_retired type:exclusive default:0x0
+ 0x00 SSE Packed Single
+ 0x01 SSE Scalar-Single
+ 0x02 SSE2 Packed-Double
+ 0x03 SSE2 Scalar-Double
+name:mmx_uops type:mandatory default:0xf
+ 0x0f mandatory
+name:mmx_instr_type_exec type:bitmask default:0x3f
+ 0x01 MMX packed multiplies
+ 0x02 MMX packed shifts
+ 0x04 MMX pack operations
+ 0x08 MMX unpack operations
+ 0x10 MMX packed logical
+ 0x20 MMX packed arithmetic
+ 0x3f all of the above
+name:mmx_trans type:exclusive default:0x0
+ 0x00 MMX->float operations
+ 0x01 float->MMX operations
+name:freq type:exclusive default:0x0
+ 0x00 All transitions
+ 0x02 Only Frequency transitions
+name:fused type:exclusive default:0x0
+ 0x00 All fused micro-ops
+ 0x01 Only load+Op micro-ops
+ 0x02 Only std+sta micro-ops
diff --git a/events/i386/pii/events b/events/i386/pii/events
new file mode 100644
index 0000000..c5b3beb
--- /dev/null
+++ b/events/i386/pii/events
@@ -0,0 +1,80 @@
+# Pentium II events
+#
+event:0x79 counters:0,1 um:zero minimum:6000 name:CPU_CLK_UNHALTED : clocks processor is not halted
+event:0x43 counters:0,1 um:zero minimum:500 name:DATA_MEM_REFS : all memory references, cachable and non
+event:0x45 counters:0,1 um:zero minimum:500 name:DCU_LINES_IN : total lines allocated in the DCU
+event:0x46 counters:0,1 um:zero minimum:500 name:DCU_M_LINES_IN : number of M state lines allocated in DCU
+event:0x47 counters:0,1 um:zero minimum:500 name:DCU_M_LINES_OUT : number of M lines evicted from the DCU
+event:0x48 counters:0,1 um:zero minimum:500 name:DCU_MISS_OUTSTANDING : number of cycles while DCU miss outstanding
+event:0x80 counters:0,1 um:zero minimum:500 name:IFU_IFETCH : number of non/cachable instruction fetches
+event:0x81 counters:0,1 um:zero minimum:500 name:IFU_IFETCH_MISS : number of instruction fetch misses
+event:0x85 counters:0,1 um:zero minimum:500 name:ITLB_MISS : number of ITLB misses
+event:0x86 counters:0,1 um:zero minimum:500 name:IFU_MEM_STALL : cycles instruction fetch pipe is stalled
+event:0x87 counters:0,1 um:zero minimum:500 name:ILD_STALL : cycles instruction length decoder is stalled
+event:0x28 counters:0,1 um:mesi minimum:500 name:L2_IFETCH : number of L2 instruction fetches
+event:0x29 counters:0,1 um:mesi minimum:500 name:L2_LD : number of L2 data loads
+event:0x2a counters:0,1 um:mesi minimum:500 name:L2_ST : number of L2 data stores
+event:0x24 counters:0,1 um:zero minimum:500 name:L2_LINES_IN : number of allocated lines in L2
+event:0x26 counters:0,1 um:zero minimum:500 name:L2_LINES_OUT : number of recovered lines from L2
+event:0x25 counters:0,1 um:zero minimum:500 name:L2_M_LINES_INM : number of modified lines allocated in L2
+event:0x27 counters:0,1 um:zero minimum:500 name:L2_M_LINES_OUTM : number of modified lines removed from L2
+event:0x2e counters:0,1 um:mesi minimum:500 name:L2_RQSTS : number of L2 requests
+event:0x21 counters:0,1 um:zero minimum:500 name:L2_ADS : number of L2 address strobes
+event:0x22 counters:0,1 um:zero minimum:500 name:L2_DBUS_BUSY : number of cycles data bus was busy
+event:0x23 counters:0,1 um:zero minimum:500 name:L2_DBUS_BUSY_RD : cycles data bus was busy in xfer from L2 to CPU
+event:0x62 counters:0,1 um:ebl minimum:500 name:BUS_DRDY_CLOCKS : number of clocks DRDY is asserted
+event:0x63 counters:0,1 um:ebl minimum:500 name:BUS_LOCK_CLOCKS : number of clocks LOCK is asserted
+event:0x60 counters:0,1 um:zero minimum:500 name:BUS_REQ_OUTSTANDING : number of outstanding bus requests
+event:0x65 counters:0,1 um:ebl minimum:500 name:BUS_TRAN_BRD : number of burst read transactions
+event:0x66 counters:0,1 um:ebl minimum:500 name:BUS_TRAN_RFO : number of read for ownership transactions
+event:0x67 counters:0,1 um:ebl minimum:500 name:BUS_TRANS_WB : number of write back transactions
+event:0x68 counters:0,1 um:ebl minimum:500 name:BUS_TRAN_IFETCH : number of instruction fetch transactions
+event:0x69 counters:0,1 um:ebl minimum:500 name:BUS_TRAN_INVAL : number of invalidate transactions
+event:0x6a counters:0,1 um:ebl minimum:500 name:BUS_TRAN_PWR : number of partial write transactions
+event:0x6b counters:0,1 um:ebl minimum:500 name:BUS_TRANS_P : number of partial transactions
+event:0x6c counters:0,1 um:ebl minimum:500 name:BUS_TRANS_IO : number of I/O transactions
+event:0x6d counters:0,1 um:ebl minimum:500 name:BUS_TRANS_DEF : number of deferred transactions
+event:0x6e counters:0,1 um:ebl minimum:500 name:BUS_TRAN_BURST : number of burst transactions
+event:0x70 counters:0,1 um:ebl minimum:500 name:BUS_TRAN_ANY : number of all transactions
+event:0x6f counters:0,1 um:ebl minimum:500 name:BUS_TRAN_MEM : number of memory transactions
+event:0x64 counters:0,1 um:zero minimum:500 name:BUS_DATA_RCV : bus cycles this processor is receiving data
+event:0x61 counters:0,1 um:zero minimum:500 name:BUS_BNR_DRV : bus cycles this processor is driving BNR pin
+event:0x7a counters:0,1 um:zero minimum:500 name:BUS_HIT_DRV : bus cycles this processor is driving HIT pin
+event:0x7b counters:0,1 um:zero minimum:500 name:BUS_HITM_DRV : bus cycles this processor is driving HITM pin
+event:0x7e counters:0,1 um:zero minimum:500 name:BUS_SNOOP_STALL : cycles during bus snoop stall
+event:0xc1 counters:0 um:zero minimum:3000 name:COMP_FLOP_RET : number of computational FP operations retired
+event:0x10 counters:0 um:zero minimum:3000 name:FLOPS : number of computational FP operations executed
+event:0x11 counters:1 um:zero minimum:500 name:FP_ASSIST : number of FP exceptions handled by microcode
+event:0x12 counters:1 um:zero minimum:1000 name:MUL : number of multiplies
+event:0x13 counters:1 um:zero minimum:500 name:DIV : number of divides
+event:0x14 counters:0 um:zero minimum:1000 name:CYCLES_DIV_BUSY : cycles divider is busy
+event:0x03 counters:0,1 um:zero minimum:500 name:LD_BLOCKS : number of store buffer blocks
+event:0x04 counters:0,1 um:zero minimum:500 name:SB_DRAINS : number of store buffer drain cycles
+event:0x05 counters:0,1 um:zero minimum:500 name:MISALIGN_MEM_REF : number of misaligned data memory references
+event:0xc0 counters:0,1 um:zero minimum:6000 name:INST_RETIRED : number of instructions retired
+event:0xc2 counters:0,1 um:zero minimum:6000 name:UOPS_RETIRED : number of UOPs retired
+event:0xd0 counters:0,1 um:zero minimum:6000 name:INST_DECODED : number of instructions decoded
+event:0xc8 counters:0,1 um:zero minimum:500 name:HW_INT_RX : number of hardware interrupts received
+event:0xc6 counters:0,1 um:zero minimum:500 name:CYCLES_INT_MASKED : cycles interrupts are disabled
+event:0xc7 counters:0,1 um:zero minimum:500 name:CYCLES_INT_PENDING_AND_MASKED : cycles interrupts are disabled with pending interrupts
+event:0xc4 counters:0,1 um:zero minimum:500 name:BR_INST_RETIRED : number of branch instructions retired
+event:0xc5 counters:0,1 um:zero minimum:500 name:BR_MISS_PRED_RETIRED : number of mispredicted branches retired
+event:0xc9 counters:0,1 um:zero minimum:500 name:BR_TAKEN_RETIRED : number of taken branches retired
+event:0xca counters:0,1 um:zero minimum:500 name:BR_MISS_PRED_TAKEN_RET : number of taken mispredictions branches retired
+event:0xe0 counters:0,1 um:zero minimum:500 name:BR_INST_DECODED : number of branch instructions decoded
+event:0xe2 counters:0,1 um:zero minimum:500 name:BTB_MISSES : number of branches that miss the BTB
+event:0xe4 counters:0,1 um:zero minimum:500 name:BR_BOGUS : number of bogus branches
+event:0xe6 counters:0,1 um:zero minimum:500 name:BACLEARS : number of times BACLEAR is asserted
+event:0xa2 counters:0,1 um:zero minimum:500 name:RESOURCE_STALLS : cycles during resource related stalls
+event:0xd2 counters:0,1 um:zero minimum:500 name:PARTIAL_RAT_STALLS : cycles or events for partial stalls
+event:0x06 counters:0,1 um:zero minimum:500 name:SEGMENT_REG_LOADS : number of segment register loads
+event:0xb0 counters:0,1 um:zero minimum:3000 name:MMX_INSTR_EXEC : number of MMX instructions executed
+event:0xb1 counters:0,1 um:zero minimum:3000 name:MMX_SAT_INSTR_EXEC : number of MMX saturating instructions executed
+event:0xb2 counters:0,1 um:mmx_uops minimum:3000 name:MMX_UOPS_EXEC : number of MMX UOPS executed
+event:0xb3 counters:0,1 um:mmx_instr_type_exec minimum:3000 name:MMX_INSTR_TYPE_EXEC : number of MMX packing instructions
+event:0xcc counters:0,1 um:mmx_trans minimum:3000 name:FP_MMX_TRANS : MMX-floating point transitions
+event:0xcd counters:0,1 um:zero minimum:500 name:MMX_ASSIST : number of EMMS instructions executed
+event:0xce counters:0,1 um:zero minimum:3000 name:MMX_INSTR_RET : number of MMX instructions retired
+event:0xd4 counters:0,1 um:seg_rename minimum:500 name:SEG_RENAME_STALLS : number of segment register renaming stalls
+event:0xd5 counters:0,1 um:seg_rename minimum:500 name:SEG_REG_RENAMES : number of segment register renames
+event:0xd6 counters:0,1 um:zero minimum:500 name:RET_SEG_RENAMES : number of segment register rename events retired
diff --git a/events/i386/pii/unit_masks b/events/i386/pii/unit_masks
new file mode 100644
index 0000000..cd55867
--- /dev/null
+++ b/events/i386/pii/unit_masks
@@ -0,0 +1,34 @@
+# Pentium II possible unit masks
+#
+name:zero type:mandatory default:0x0
+ 0x0 No unit mask
+name:mesi type:bitmask default:0x0f
+ 0x08 (M)odified cache state
+ 0x04 (E)xclusive cache state
+ 0x02 (S)hared cache state
+ 0x01 (I)nvalid cache state
+ 0x0f All cache states
+name:ebl type:exclusive default:0x20
+ 0x00 self-generated transactions
+ 0x20 any transactions
+name:mmx_uops type:mandatory default:0xf
+ 0x0f mandatory
+name:mmx_instr_type_exec type:bitmask default:0x3f
+ 0x01 MMX packed multiplies
+ 0x02 MMX packed shifts
+ 0x04 MMX pack operations
+ 0x08 MMX unpack operations
+ 0x10 MMX packed logical
+ 0x20 MMX packed arithmetic
+ 0x3f all of the above
+name:mmx_trans type:exclusive default:0x0
+ 0x00 MMX->float operations
+ 0x01 float->MMX operations
+name:seg_rename type:bitmask default:0xf
+ 0x1 ES register
+ 0x2 DS register
+ 0x4 FS register
+# IA manual says this is actually FS again - no mention in errata
+# but test show that is really a typo error from IA manual
+ 0x8 GS register
+ 0xf ES, DS, FS, GS registers
diff --git a/events/i386/piii/events b/events/i386/piii/events
new file mode 100644
index 0000000..e5bb41f
--- /dev/null
+++ b/events/i386/piii/events
@@ -0,0 +1,80 @@
+# Pentium III events
+#
+event:0x79 counters:0,1 um:zero minimum:6000 name:CPU_CLK_UNHALTED : clocks processor is not halted
+event:0x43 counters:0,1 um:zero minimum:500 name:DATA_MEM_REFS : all memory references, cachable and non
+event:0x45 counters:0,1 um:zero minimum:500 name:DCU_LINES_IN : total lines allocated in the DCU
+event:0x46 counters:0,1 um:zero minimum:500 name:DCU_M_LINES_IN : number of M state lines allocated in DCU
+event:0x47 counters:0,1 um:zero minimum:500 name:DCU_M_LINES_OUT : number of M lines evicted from the DCU
+event:0x48 counters:0,1 um:zero minimum:500 name:DCU_MISS_OUTSTANDING : number of cycles while DCU miss outstanding
+event:0x80 counters:0,1 um:zero minimum:500 name:IFU_IFETCH : number of non/cachable instruction fetches
+event:0x81 counters:0,1 um:zero minimum:500 name:IFU_IFETCH_MISS : number of instruction fetch misses
+event:0x85 counters:0,1 um:zero minimum:500 name:ITLB_MISS : number of ITLB misses
+event:0x86 counters:0,1 um:zero minimum:500 name:IFU_MEM_STALL : cycles instruction fetch pipe is stalled
+event:0x87 counters:0,1 um:zero minimum:500 name:ILD_STALL : cycles instruction length decoder is stalled
+event:0x28 counters:0,1 um:mesi minimum:500 name:L2_IFETCH : number of L2 instruction fetches
+event:0x29 counters:0,1 um:mesi minimum:500 name:L2_LD : number of L2 data loads
+event:0x2a counters:0,1 um:mesi minimum:500 name:L2_ST : number of L2 data stores
+event:0x24 counters:0,1 um:zero minimum:500 name:L2_LINES_IN : number of allocated lines in L2
+event:0x26 counters:0,1 um:zero minimum:500 name:L2_LINES_OUT : number of recovered lines from L2
+event:0x25 counters:0,1 um:zero minimum:500 name:L2_M_LINES_INM : number of modified lines allocated in L2
+event:0x27 counters:0,1 um:zero minimum:500 name:L2_M_LINES_OUTM : number of modified lines removed from L2
+event:0x2e counters:0,1 um:mesi minimum:500 name:L2_RQSTS : number of L2 requests
+event:0x21 counters:0,1 um:zero minimum:500 name:L2_ADS : number of L2 address strobes
+event:0x22 counters:0,1 um:zero minimum:500 name:L2_DBUS_BUSY : number of cycles data bus was busy
+event:0x23 counters:0,1 um:zero minimum:500 name:L2_DBUS_BUSY_RD : cycles data bus was busy in xfer from L2 to CPU
+event:0x62 counters:0,1 um:ebl minimum:500 name:BUS_DRDY_CLOCKS : number of clocks DRDY is asserted
+event:0x63 counters:0,1 um:ebl minimum:500 name:BUS_LOCK_CLOCKS : number of clocks LOCK is asserted
+event:0x60 counters:0,1 um:zero minimum:500 name:BUS_REQ_OUTSTANDING : number of outstanding bus requests
+event:0x65 counters:0,1 um:ebl minimum:500 name:BUS_TRAN_BRD : number of burst read transactions
+event:0x66 counters:0,1 um:ebl minimum:500 name:BUS_TRAN_RFO : number of read for ownership transactions
+event:0x67 counters:0,1 um:ebl minimum:500 name:BUS_TRANS_WB : number of write back transactions
+event:0x68 counters:0,1 um:ebl minimum:500 name:BUS_TRAN_IFETCH : number of instruction fetch transactions
+event:0x69 counters:0,1 um:ebl minimum:500 name:BUS_TRAN_INVAL : number of invalidate transactions
+event:0x6a counters:0,1 um:ebl minimum:500 name:BUS_TRAN_PWR : number of partial write transactions
+event:0x6b counters:0,1 um:ebl minimum:500 name:BUS_TRANS_P : number of partial transactions
+event:0x6c counters:0,1 um:ebl minimum:500 name:BUS_TRANS_IO : number of I/O transactions
+event:0x6d counters:0,1 um:ebl minimum:500 name:BUS_TRANS_DEF : number of deferred transactions
+event:0x6e counters:0,1 um:ebl minimum:500 name:BUS_TRAN_BURST : number of burst transactions
+event:0x70 counters:0,1 um:ebl minimum:500 name:BUS_TRAN_ANY : number of all transactions
+event:0x6f counters:0,1 um:ebl minimum:500 name:BUS_TRAN_MEM : number of memory transactions
+event:0x64 counters:0,1 um:zero minimum:500 name:BUS_DATA_RCV : bus cycles this processor is receiving data
+event:0x61 counters:0,1 um:zero minimum:500 name:BUS_BNR_DRV : bus cycles this processor is driving BNR pin
+event:0x7a counters:0,1 um:zero minimum:500 name:BUS_HIT_DRV : bus cycles this processor is driving HIT pin
+event:0x7b counters:0,1 um:zero minimum:500 name:BUS_HITM_DRV : bus cycles this processor is driving HITM pin
+event:0x7e counters:0,1 um:zero minimum:500 name:BUS_SNOOP_STALL : cycles during bus snoop stall
+event:0xc1 counters:0 um:zero minimum:3000 name:COMP_FLOP_RET : number of computational FP operations retired
+event:0x10 counters:0 um:zero minimum:3000 name:FLOPS : number of computational FP operations executed
+event:0x11 counters:1 um:zero minimum:500 name:FP_ASSIST : number of FP exceptions handled by microcode
+event:0x12 counters:1 um:zero minimum:1000 name:MUL : number of multiplies
+event:0x13 counters:1 um:zero minimum:500 name:DIV : number of divides
+event:0x14 counters:0 um:zero minimum:1000 name:CYCLES_DIV_BUSY : cycles divider is busy
+event:0x03 counters:0,1 um:zero minimum:500 name:LD_BLOCKS : number of store buffer blocks
+event:0x04 counters:0,1 um:zero minimum:500 name:SB_DRAINS : number of store buffer drain cycles
+event:0x05 counters:0,1 um:zero minimum:500 name:MISALIGN_MEM_REF : number of misaligned data memory references
+event:0x07 counters:0,1 um:kni_prefetch minimum:500 name:EMON_KNI_PREF_DISPATCHED : number of KNI pre-fetch/weakly ordered insns dispatched
+event:0x4b counters:0,1 um:kni_prefetch minimum:500 name:EMON_KNI_PREF_MISS : number of KNI pre-fetch/weakly ordered insns that miss all caches
+event:0xc0 counters:0,1 um:zero minimum:6000 name:INST_RETIRED : number of instructions retired
+event:0xc2 counters:0,1 um:zero minimum:6000 name:UOPS_RETIRED : number of UOPs retired
+event:0xd0 counters:0,1 um:zero minimum:6000 name:INST_DECODED : number of instructions decoded
+event:0xd8 counters:0,1 um:kni_inst_retired minimum:3000 name:EMON_KNI_INST_RETIRED : number of KNI instructions retired
+event:0xd9 counters:0,1 um:kni_inst_retired minimum:3000 name:EMON_KNI_COMP_INST_RET : number of KNI computation instructions retired
+event:0xc8 counters:0,1 um:zero minimum:500 name:HW_INT_RX : number of hardware interrupts received
+event:0xc6 counters:0,1 um:zero minimum:500 name:CYCLES_INT_MASKED : cycles interrupts are disabled
+event:0xc7 counters:0,1 um:zero minimum:500 name:CYCLES_INT_PENDING_AND_MASKED : cycles interrupts are disabled with pending interrupts
+event:0xc4 counters:0,1 um:zero minimum:500 name:BR_INST_RETIRED : number of branch instructions retired
+event:0xc5 counters:0,1 um:zero minimum:500 name:BR_MISS_PRED_RETIRED : number of mispredicted branches retired
+event:0xc9 counters:0,1 um:zero minimum:500 name:BR_TAKEN_RETIRED : number of taken branches retired
+event:0xca counters:0,1 um:zero minimum:500 name:BR_MISS_PRED_TAKEN_RET : number of taken mispredictions branches retired
+event:0xe0 counters:0,1 um:zero minimum:500 name:BR_INST_DECODED : number of branch instructions decoded
+event:0xe2 counters:0,1 um:zero minimum:500 name:BTB_MISSES : number of branches that miss the BTB
+event:0xe4 counters:0,1 um:zero minimum:500 name:BR_BOGUS : number of bogus branches
+event:0xe6 counters:0,1 um:zero minimum:500 name:BACLEARS : number of times BACLEAR is asserted
+event:0xa2 counters:0,1 um:zero minimum:500 name:RESOURCE_STALLS : cycles during resource related stalls
+event:0xd2 counters:0,1 um:zero minimum:500 name:PARTIAL_RAT_STALLS : cycles or events for partial stalls
+event:0x06 counters:0,1 um:zero minimum:500 name:SEGMENT_REG_LOADS : number of segment register loads
+event:0xb1 counters:0,1 um:zero minimum:3000 name:MMX_SAT_INSTR_EXEC : number of MMX saturating instructions executed
+event:0xb2 counters:0,1 um:mmx_uops minimum:3000 name:MMX_UOPS_EXEC : number of MMX UOPS executed
+event:0xb3 counters:0,1 um:mmx_instr_type_exec minimum:3000 name:MMX_INSTR_TYPE_EXEC : number of MMX packing instructions
+event:0xcc counters:0,1 um:mmx_trans minimum:3000 name:FP_MMX_TRANS : MMX-floating point transitions
+event:0xcd counters:0,1 um:zero minimum:500 name:MMX_ASSIST : number of EMMS instructions executed
+event:0xce counters:0,1 um:zero minimum:3000 name:MMX_INSTR_RET : number of MMX instructions retired
diff --git a/events/i386/piii/unit_masks b/events/i386/piii/unit_masks
new file mode 100644
index 0000000..6fea980
--- /dev/null
+++ b/events/i386/piii/unit_masks
@@ -0,0 +1,36 @@
+# Pentium III possible unit masks
+#
+name:zero type:mandatory default:0x0
+ 0x0 No unit mask
+name:mesi type:bitmask default:0x0f
+ 0x08 (M)odified cache state
+ 0x04 (E)xclusive cache state
+ 0x02 (S)hared cache state
+ 0x01 (I)nvalid cache state
+ 0x0f All cache states
+name:ebl type:exclusive default:0x20
+ 0x00 self-generated transactions
+ 0x20 any transactions
+name:kni_prefetch type:exclusive default:0x0
+ 0x00 prefetch NTA
+ 0x01 prefetch T1
+ 0x02 prefetch T2
+ 0x03 weakly-ordered stores
+# this bitmask can seems weirds but is correct, note there is no way to only
+# count scalar SIMD instructions
+name:kni_inst_retired type:exclusive default:0x0
+ 0x00 packed and scalar
+ 0x01 packed
+name:mmx_uops type:mandatory default:0xf
+ 0x0f mandatory
+name:mmx_instr_type_exec type:bitmask default:0x3f
+ 0x01 MMX packed multiplies
+ 0x02 MMX packed shifts
+ 0x04 MMX pack operations
+ 0x08 MMX unpack operations
+ 0x10 MMX packed logical
+ 0x20 MMX packed arithmetic
+ 0x3f all of the above
+name:mmx_trans type:exclusive default:0x0
+ 0x00 MMX->float operations
+ 0x01 float->MMX operations
diff --git a/events/i386/ppro/events b/events/i386/ppro/events
new file mode 100644
index 0000000..8182bc3
--- /dev/null
+++ b/events/i386/ppro/events
@@ -0,0 +1,70 @@
+# Pentium Pro events
+#
+event:0x79 counters:0,1 um:zero minimum:6000 name:CPU_CLK_UNHALTED : clocks processor is not halted
+event:0x43 counters:0,1 um:zero minimum:500 name:DATA_MEM_REFS : all memory references, cachable and non
+event:0x45 counters:0,1 um:zero minimum:500 name:DCU_LINES_IN : total lines allocated in the DCU
+event:0x46 counters:0,1 um:zero minimum:500 name:DCU_M_LINES_IN : number of M state lines allocated in DCU
+event:0x47 counters:0,1 um:zero minimum:500 name:DCU_M_LINES_OUT : number of M lines evicted from the DCU
+event:0x48 counters:0,1 um:zero minimum:500 name:DCU_MISS_OUTSTANDING : number of cycles while DCU miss outstanding
+event:0x80 counters:0,1 um:zero minimum:500 name:IFU_IFETCH : number of non/cachable instruction fetches
+event:0x81 counters:0,1 um:zero minimum:500 name:IFU_IFETCH_MISS : number of instruction fetch misses
+event:0x85 counters:0,1 um:zero minimum:500 name:ITLB_MISS : number of ITLB misses
+event:0x86 counters:0,1 um:zero minimum:500 name:IFU_MEM_STALL : cycles instruction fetch pipe is stalled
+event:0x87 counters:0,1 um:zero minimum:500 name:ILD_STALL : cycles instruction length decoder is stalled
+event:0x28 counters:0,1 um:mesi minimum:500 name:L2_IFETCH : number of L2 instruction fetches
+event:0x29 counters:0,1 um:mesi minimum:500 name:L2_LD : number of L2 data loads
+event:0x2a counters:0,1 um:mesi minimum:500 name:L2_ST : number of L2 data stores
+event:0x24 counters:0,1 um:zero minimum:500 name:L2_LINES_IN : number of allocated lines in L2
+event:0x26 counters:0,1 um:zero minimum:500 name:L2_LINES_OUT : number of recovered lines from L2
+event:0x25 counters:0,1 um:zero minimum:500 name:L2_M_LINES_INM : number of modified lines allocated in L2
+event:0x27 counters:0,1 um:zero minimum:500 name:L2_M_LINES_OUTM : number of modified lines removed from L2
+event:0x2e counters:0,1 um:mesi minimum:500 name:L2_RQSTS : number of L2 requests
+event:0x21 counters:0,1 um:zero minimum:500 name:L2_ADS : number of L2 address strobes
+event:0x22 counters:0,1 um:zero minimum:500 name:L2_DBUS_BUSY : number of cycles data bus was busy
+event:0x23 counters:0,1 um:zero minimum:500 name:L2_DBUS_BUSY_RD : cycles data bus was busy in xfer from L2 to CPU
+event:0x62 counters:0,1 um:ebl minimum:500 name:BUS_DRDY_CLOCKS : number of clocks DRDY is asserted
+event:0x63 counters:0,1 um:ebl minimum:500 name:BUS_LOCK_CLOCKS : number of clocks LOCK is asserted
+event:0x60 counters:0,1 um:zero minimum:500 name:BUS_REQ_OUTSTANDING : number of outstanding bus requests
+event:0x65 counters:0,1 um:ebl minimum:500 name:BUS_TRAN_BRD : number of burst read transactions
+event:0x66 counters:0,1 um:ebl minimum:500 name:BUS_TRAN_RFO : number of read for ownership transactions
+event:0x67 counters:0,1 um:ebl minimum:500 name:BUS_TRANS_WB : number of write back transactions
+event:0x68 counters:0,1 um:ebl minimum:500 name:BUS_TRAN_IFETCH : number of instruction fetch transactions
+event:0x69 counters:0,1 um:ebl minimum:500 name:BUS_TRAN_INVAL : number of invalidate transactions
+event:0x6a counters:0,1 um:ebl minimum:500 name:BUS_TRAN_PWR : number of partial write transactions
+event:0x6b counters:0,1 um:ebl minimum:500 name:BUS_TRANS_P : number of partial transactions
+event:0x6c counters:0,1 um:ebl minimum:500 name:BUS_TRANS_IO : number of I/O transactions
+event:0x6d counters:0,1 um:ebl minimum:500 name:BUS_TRANS_DEF : number of deferred transactions
+event:0x6e counters:0,1 um:ebl minimum:500 name:BUS_TRAN_BURST : number of burst transactions
+event:0x70 counters:0,1 um:ebl minimum:500 name:BUS_TRAN_ANY : number of all transactions
+event:0x6f counters:0,1 um:ebl minimum:500 name:BUS_TRAN_MEM : number of memory transactions
+event:0x64 counters:0,1 um:zero minimum:500 name:BUS_DATA_RCV : bus cycles this processor is receiving data
+event:0x61 counters:0,1 um:zero minimum:500 name:BUS_BNR_DRV : bus cycles this processor is driving BNR pin
+event:0x7a counters:0,1 um:zero minimum:500 name:BUS_HIT_DRV : bus cycles this processor is driving HIT pin
+event:0x7b counters:0,1 um:zero minimum:500 name:BUS_HITM_DRV : bus cycles this processor is driving HITM pin
+event:0x7e counters:0,1 um:zero minimum:500 name:BUS_SNOOP_STALL : cycles during bus snoop stall
+event:0xc1 counters:0 um:zero minimum:3000 name:COMP_FLOP_RET : number of computational FP operations retired
+event:0x10 counters:0 um:zero minimum:3000 name:FLOPS : number of computational FP operations executed
+event:0x11 counters:1 um:zero minimum:500 name:FP_ASSIST : number of FP exceptions handled by microcode
+event:0x12 counters:1 um:zero minimum:1000 name:MUL : number of multiplies
+event:0x13 counters:1 um:zero minimum:500 name:DIV : number of divides
+event:0x14 counters:0 um:zero minimum:1000 name:CYCLES_DIV_BUSY : cycles divider is busy
+event:0x03 counters:0,1 um:zero minimum:500 name:LD_BLOCKS : number of store buffer blocks
+event:0x04 counters:0,1 um:zero minimum:500 name:SB_DRAINS : number of store buffer drain cycles
+event:0x05 counters:0,1 um:zero minimum:500 name:MISALIGN_MEM_REF : number of misaligned data memory references
+event:0xc0 counters:0,1 um:zero minimum:6000 name:INST_RETIRED : number of instructions retired
+event:0xc2 counters:0,1 um:zero minimum:6000 name:UOPS_RETIRED : number of UOPs retired
+event:0xd0 counters:0,1 um:zero minimum:6000 name:INST_DECODED : number of instructions decoded
+event:0xc8 counters:0,1 um:zero minimum:500 name:HW_INT_RX : number of hardware interrupts received
+event:0xc6 counters:0,1 um:zero minimum:500 name:CYCLES_INT_MASKED : cycles interrupts are disabled
+event:0xc7 counters:0,1 um:zero minimum:500 name:CYCLES_INT_PENDING_AND_MASKED : cycles interrupts are disabled with pending interrupts
+event:0xc4 counters:0,1 um:zero minimum:500 name:BR_INST_RETIRED : number of branch instructions retired
+event:0xc5 counters:0,1 um:zero minimum:500 name:BR_MISS_PRED_RETIRED : number of mispredicted branches retired
+event:0xc9 counters:0,1 um:zero minimum:500 name:BR_TAKEN_RETIRED : number of taken branches retired
+event:0xca counters:0,1 um:zero minimum:500 name:BR_MISS_PRED_TAKEN_RET : number of taken mispredictions branches retired
+event:0xe0 counters:0,1 um:zero minimum:500 name:BR_INST_DECODED : number of branch instructions decoded
+event:0xe2 counters:0,1 um:zero minimum:500 name:BTB_MISSES : number of branches that miss the BTB
+event:0xe4 counters:0,1 um:zero minimum:500 name:BR_BOGUS : number of bogus branches
+event:0xe6 counters:0,1 um:zero minimum:500 name:BACLEARS : number of times BACLEAR is asserted
+event:0xa2 counters:0,1 um:zero minimum:500 name:RESOURCE_STALLS : cycles during resource related stalls
+event:0xd2 counters:0,1 um:zero minimum:500 name:PARTIAL_RAT_STALLS : cycles or events for partial stalls
+event:0x06 counters:0,1 um:zero minimum:500 name:SEGMENT_REG_LOADS : number of segment register loads
diff --git a/events/i386/ppro/unit_masks b/events/i386/ppro/unit_masks
new file mode 100644
index 0000000..959b8b5
--- /dev/null
+++ b/events/i386/ppro/unit_masks
@@ -0,0 +1,13 @@
+# Pentium Pro possible unit masks
+#
+name:zero type:mandatory default:0x0
+ 0x0 No unit mask
+name:mesi type:bitmask default:0x0f
+ 0x08 (M)odified cache state
+ 0x04 (E)xclusive cache state
+ 0x02 (S)hared cache state
+ 0x01 (I)nvalid cache state
+ 0x0f All cache states
+name:ebl type:exclusive default:0x20
+ 0x00 self-generated transactions
+ 0x20 any transactions
diff --git a/events/i386/westmere/events b/events/i386/westmere/events
new file mode 100644
index 0000000..d919867
--- /dev/null
+++ b/events/i386/westmere/events
@@ -0,0 +1,88 @@
+#
+# Intel "Westmere" microarchitecture core events.
+#
+# See http://ark.intel.com/ for help in identifying Westmere based CPUs
+#
+# Note the minimum counts are not discovered experimentally and could be likely
+# lowered in many cases without ill effect.
+#
+include:i386/arch_perfmon
+event:0x03 counters:0,1,2,3 um:x02 minimum:200000 name:LOAD_BLOCK : Loads that partially overlap an earlier store
+event:0x04 counters:0,1,2,3 um:x07 minimum:200000 name:SB_DRAIN : All Store buffer stall cycles
+event:0x05 counters:0,1,2,3 um:x02 minimum:200000 name:MISALIGN_MEM_REF : Misaligned store references
+event:0x06 counters:0,1,2,3 um:store_blocks minimum:200000 name:STORE_BLOCKS : Loads delayed with at-Retirement block code
+event:0x07 counters:0,1,2,3 um:x01 minimum:200000 name:PARTIAL_ADDRESS_ALIAS : False dependencies due to partial address aliasing
+event:0x08 counters:0,1,2,3 um:dtlb_load_misses minimum:200000 name:DTLB_LOAD_MISSES : DTLB load misses
+event:0x0b counters:0,1,2,3 um:mem_inst_retired minimum:2000000 name:MEM_INST_RETIRED : Memory instructions retired above 0 clocks (Precise Event)
+event:0x0c counters:0,1,2,3 um:x01 minimum:200000 name:MEM_STORE_RETIRED : Retired stores that miss the DTLB (Precise Event)
+event:0x0e counters:0,1,2,3 um:uops_issued minimum:2000000 name:UOPS_ISSUED : Uops issued
+event:0x0f counters:0,1,2,3 um:mem_uncore_retired minimum:40000 name:MEM_UNCORE_RETIRED : Load instructions retired that HIT modified data in sibling core (Precise Event)
+event:0x10 counters:0,1,2,3 um:fp_comp_ops_exe minimum:2000000 name:FP_COMP_OPS_EXE : MMX Uops
+event:0x12 counters:0,1,2,3 um:simd_int_128 minimum:200000 name:SIMD_INT_128 : 128 bit SIMD integer pack operations
+event:0x13 counters:0,1,2,3 um:load_dispatch minimum:2000000 name:LOAD_DISPATCH : All loads dispatched
+event:0x14 counters:0,1,2,3 um:arith minimum:2000000 name:ARITH : Cycles the divider is busy
+event:0x17 counters:0,1,2,3 um:x01 minimum:2000000 name:INST_QUEUE_WRITES : Instructions written to instruction queue.
+event:0x18 counters:0,1,2,3 um:x01 minimum:2000000 name:INST_DECODED : Instructions that must be decoded by decoder 0
+event:0x19 counters:0,1,2,3 um:x01 minimum:2000000 name:TWO_UOP_INSTS_DECODED : Two Uop instructions decoded
+event:0x1e counters:0,1,2,3 um:x01 minimum:2000000 name:INST_QUEUE_WRITE_CYCLES : Cycles instructions are written to the instruction queue
+event:0x20 counters:0,1,2,3 um:x01 minimum:2000000 name:LSD_OVERFLOW : Loops that can't stream from the instruction queue
+event:0x24 counters:0,1,2,3 um:l2_rqsts minimum:200000 name:L2_RQSTS : L2 instruction fetch hits
+event:0x26 counters:0,1,2,3 um:l2_data_rqsts minimum:200000 name:L2_DATA_RQSTS : All L2 data requests
+event:0x27 counters:0,1,2,3 um:l2_write minimum:100000 name:L2_WRITE : L2 demand lock RFOs in E state
+event:0x28 counters:0,1,2,3 um:l1d_wb_l2 minimum:100000 name:L1D_WB_L2 : L1 writebacks to L2 in E state
+event:0x2e counters:0,1,2,3 um:longest_lat_cache minimum:100000 name:LONGEST_LAT_CACHE : Longest latency cache miss
+event:0x3c counters:0,1,2,3 um:cpu_clk_unhalted minimum:100000 name:CPU_CLK_UNHALTED : Reference base clock (133 Mhz) cycles when thread is not halted (programmable counter)
+event:0x49 counters:0,1,2,3 um:dtlb_misses minimum:200000 name:DTLB_MISSES : DTLB misses
+event:0x4c counters:0,1 um:x01 minimum:200000 name:LOAD_HIT_PRE : Load operations conflicting with software prefetches
+event:0x4e counters:0,1 um:l1d_prefetch minimum:200000 name:L1D_PREFETCH : L1D hardware prefetch misses
+event:0x4f counters:0,1,2,3 um:x10 minimum:2000000 name:EPT : Extended Page Table walk cycles
+event:0x51 counters:0,1 um:l1d minimum:2000000 name:L1D : L1D cache lines replaced in M state
+event:0x52 counters:0,1 um:x01 minimum:2000000 name:L1D_CACHE_PREFETCH_LOCK_FB_HIT : L1D prefetch load lock accepted in fill buffer
+event:0x60 counters:0 um:offcore_requests_outstanding minimum:2000000 name:OFFCORE_REQUESTS_OUTSTANDING : Outstanding offcore reads
+event:0x63 counters:0,1 um:cache_lock_cycles minimum:2000000 name:CACHE_LOCK_CYCLES : Cycles L1D locked
+event:0x6c counters:0,1,2,3 um:x01 minimum:2000000 name:IO_TRANSACTIONS : I/O transactions
+event:0x80 counters:0,1,2,3 um:l1i minimum:2000000 name:L1I : L1I instruction fetch stall cycles
+event:0x82 counters:0,1,2,3 um:x01 minimum:200000 name:LARGE_ITLB : Large ITLB hit
+event:0x85 counters:0,1,2,3 um:itlb_misses minimum:200000 name:ITLB_MISSES : ITLB miss
+event:0x87 counters:0,1,2,3 um:ild_stall minimum:2000000 name:ILD_STALL : Any Instruction Length Decoder stall cycles
+event:0x88 counters:0,1,2,3 um:br_inst_exec minimum:200000 name:BR_INST_EXEC : Branch instructions executed
+event:0x89 counters:0,1,2,3 um:br_misp_exec minimum:20000 name:BR_MISP_EXEC : Mispredicted branches executed
+event:0xa2 counters:0,1,2,3 um:resource_stalls minimum:2000000 name:RESOURCE_STALLS : Resource related stall cycles
+event:0xa6 counters:0,1,2,3 um:x01 minimum:2000000 name:MACRO_INSTS : Macro-fused instructions decoded
+event:0xa7 counters:0,1,2,3 um:x01 minimum:2000000 name:BACLEAR_FORCE_IQ : Instruction queue forced BACLEAR
+event:0xa8 counters:0,1,2,3 um:x01 minimum:2000000 name:LSD : Cycles when uops were delivered by the LSD
+event:0xae counters:0,1,2,3 um:x01 minimum:2000000 name:ITLB_FLUSH : ITLB flushes
+event:0xb0 counters:0,1,2,3 um:offcore_requests minimum:100000 name:OFFCORE_REQUESTS : All offcore requests
+event:0xb1 counters:0,1,2,3 um:uops_executed minimum:2000000 name:UOPS_EXECUTED : Cycles Uops executed on any port (core count)
+event:0xb2 counters:0,1,2,3 um:x01 minimum:100000 name:OFFCORE_REQUESTS_SQ_FULL : Offcore requests blocked due to Super Queue full
+event:0xb3 counters:0 um:snoopq_requests_outstanding minimum:2000000 name:SNOOPQ_REQUESTS_OUTSTANDING : Outstanding snoop code requests
+event:0xb4 counters:0,1,2,3 um:snoopq_requests minimum:100000 name:SNOOPQ_REQUESTS : Snoop code requests
+event:0xb7 counters:2 um:x01 minimum:100000 name:OFFCORE_RESPONSE_ANY_DATA : REQUEST = ANY_DATA read and RESPONSE = ANY_CACHE_DRAM
+event:0xb8 counters:0,1,2,3 um:snoop_response minimum:100000 name:SNOOP_RESPONSE : Thread responded HIT to snoop
+event:0xbb counters:1 um:x01 minimum:100000 name:OFFCORE_RESPONSE_ANY_DATA : REQUEST = ANY_DATA read and RESPONSE = ANY_CACHE_DRAM
+event:0xc0 counters:0,1,2,3 um:inst_retired minimum:2000000 name:INST_RETIRED : Instructions retired (Programmable counter and Precise Event)
+event:0xc2 counters:0,1,2,3 um:uops_retired minimum:2000000 name:UOPS_RETIRED : Cycles Uops are being retired
+event:0xc3 counters:0,1,2,3 um:machine_clears minimum:20000 name:MACHINE_CLEARS : Cycles machine clear asserted
+event:0xc4 counters:0,1,2,3 um:br_inst_retired minimum:200000 name:BR_INST_RETIRED : Retired branch instructions (Precise Event)
+event:0xc5 counters:0,1,2,3 um:br_misp_retired minimum:20000 name:BR_MISP_RETIRED : Mispredicted retired branch instructions (Precise Event)
+event:0xc7 counters:0,1,2,3 um:ssex_uops_retired minimum:200000 name:SSEX_UOPS_RETIRED : SIMD Packed-Double Uops retired (Precise Event)
+event:0xc8 counters:0,1,2,3 um:x20 minimum:200000 name:ITLB_MISS_RETIRED : Retired instructions that missed the ITLB (Precise Event)
+event:0xcb counters:0,1,2,3 um:mem_load_retired minimum:200000 name:MEM_LOAD_RETIRED : Retired loads that miss the DTLB (Precise Event)
+event:0xcc counters:0,1,2,3 um:fp_mmx_trans minimum:2000000 name:FP_MMX_TRANS : All Floating Point to and from MMX transitions
+event:0xd0 counters:0,1,2,3 um:x01 minimum:2000000 name:MACRO_INSTS : Instructions decoded
+event:0xd1 counters:0,1,2,3 um:uops_decoded minimum:2000000 name:UOPS_DECODED : Stack pointer instructions decoded
+event:0xd2 counters:0,1,2,3 um:rat_stalls minimum:2000000 name:RAT_STALLS : All RAT stall cycles
+event:0xd4 counters:0,1,2,3 um:x01 minimum:2000000 name:SEG_RENAME_STALLS : Segment rename stall cycles
+event:0xd5 counters:0,1,2,3 um:x01 minimum:2000000 name:ES_REG_RENAMES : ES segment renames
+event:0xdb counters:0,1,2,3 um:x01 minimum:2000000 name:UOP_UNFUSION : Uop unfusions due to FP exceptions
+event:0xe0 counters:0,1,2,3 um:x01 minimum:2000000 name:BR_INST_DECODED : Branch instructions decoded
+event:0xe5 counters:0,1,2,3 um:x01 minimum:2000000 name:BPU_MISSED_CALL_RET : Branch prediction unit missed call or return
+event:0xe6 counters:0,1,2,3 um:baclear minimum:2000000 name:BACLEAR : BACLEAR asserted with bad target address
+event:0xe8 counters:0,1,2,3 um:bpu_clears minimum:2000000 name:BPU_CLEARS : Early Branch Prediction Unit clears
+event:0xf0 counters:0,1,2,3 um:l2_transactions minimum:200000 name:L2_TRANSACTIONS : All L2 transactions
+event:0xf1 counters:0,1,2,3 um:l2_lines_in minimum:100000 name:L2_LINES_IN : L2 lines alloacated
+event:0xf2 counters:0,1,2,3 um:l2_lines_out minimum:100000 name:L2_LINES_OUT : L2 lines evicted
+event:0xf4 counters:0,1,2,3 um:sq_misc minimum:2000000 name:SQ_MISC : Super Queue LRU hints sent to LLC
+event:0xf6 counters:0,1,2,3 um:x01 minimum:2000000 name:SQ_FULL_STALL_CYCLES : Super Queue full stall cycles
+event:0xf7 counters:0,1,2,3 um:fp_assist minimum:20000 name:FP_ASSIST : X87 Floating point assists (Precise Event)
+event:0xfd counters:0,1,2,3 um:simd_int_64 minimum:200000 name:SIMD_INT_64 : SIMD integer 64 bit pack operations
diff --git a/events/i386/westmere/unit_masks b/events/i386/westmere/unit_masks
new file mode 100644
index 0000000..66665da
--- /dev/null
+++ b/events/i386/westmere/unit_masks
@@ -0,0 +1,307 @@
+#
+# Unit masks for the Intel "Westmere" micro architecture
+#
+# See http://ark.intel.com/ for help in identifying Westmere based CPUs
+#
+include:i386/arch_perfmon
+
+name:x01 type:mandatory default:0x01
+ 0x01 No unit mask
+name:x02 type:mandatory default:0x02
+ 0x02 No unit mask
+name:x07 type:mandatory default:0x07
+ 0x07 No unit mask
+name:x10 type:mandatory default:0x10
+ 0x10 No unit mask
+name:x20 type:mandatory default:0x20
+ 0x20 No unit mask
+name:arith type:bitmask default:0x01
+ 0x01 cycles_div_busy Cycles the divider is busy
+ 0x02 mul Multiply operations executed
+name:baclear type:bitmask default:0x01
+ 0x01 clear BACLEAR asserted, regardless of cause
+ 0x02 bad_target BACLEAR asserted with bad target address
+name:bpu_clears type:bitmask default:0x01
+ 0x01 early Early Branch Prediction Unit clears
+ 0x02 late Late Branch Prediction Unit clears
+name:br_inst_exec type:bitmask default:0x7f
+ 0x01 cond Conditional branch instructions executed
+ 0x02 direct Unconditional branches executed
+ 0x04 indirect_non_call Indirect non call branches executed
+ 0x07 non_calls All non call branches executed
+ 0x08 return_near Indirect return branches executed
+ 0x10 direct_near_call Unconditional call branches executed
+ 0x20 indirect_near_call Indirect call branches executed
+ 0x30 near_calls Call branches executed
+ 0x40 taken Taken branches executed
+ 0x7f any Branch instructions executed
+name:br_inst_retired type:bitmask default:0x04
+ 0x01 conditional Retired conditional branch instructions (Precise Event)
+ 0x02 near_call Retired near call instructions (Precise Event)
+ 0x04 all_branches Retired branch instructions (Precise Event)
+name:br_misp_exec type:bitmask default:0x7f
+ 0x01 cond Mispredicted conditional branches executed
+ 0x02 direct Mispredicted unconditional branches executed
+ 0x04 indirect_non_call Mispredicted indirect non call branches executed
+ 0x07 non_calls Mispredicted non call branches executed
+ 0x08 return_near Mispredicted return branches executed
+ 0x10 direct_near_call Mispredicted non call branches executed
+ 0x20 indirect_near_call Mispredicted indirect call branches executed
+ 0x30 near_calls Mispredicted call branches executed
+ 0x40 taken Mispredicted taken branches executed
+ 0x7f any Mispredicted branches executed
+name:br_misp_retired type:bitmask default:0x04
+ 0x01 conditional Mispredicted conditional retired branches (Precise Event)
+ 0x02 near_call Mispredicted near retired calls (Precise Event)
+ 0x04 all_branches Mispredicted retired branch instructions (Precise Event)
+name:cache_lock_cycles type:bitmask default:0x01
+ 0x01 l1d_l2 Cycles L1D and L2 locked
+ 0x02 l1d Cycles L1D locked
+name:cpu_clk_unhalted type:bitmask default:0x00
+ 0x00 thread_p Cycles when thread is not halted (programmable counter)
+ 0x01 ref_p Reference base clock (133 Mhz) cycles when thread is not halted (programmable counter)
+name:dtlb_load_misses type:bitmask default:0x01
+ 0x01 any DTLB load misses
+ 0x02 walk_completed DTLB load miss page walks complete
+ 0x04 walk_cycles DTLB load miss page walk cycles
+ 0x10 stlb_hit DTLB second level hit
+ 0x20 pde_miss DTLB load miss caused by low part of address
+ 0x80 large_walk_completed DTLB load miss large page walks
+name:dtlb_misses type:bitmask default:0x01
+ 0x01 any DTLB misses
+ 0x02 walk_completed DTLB miss page walks
+ 0x04 walk_cycles DTLB miss page walk cycles
+ 0x10 stlb_hit DTLB first level misses but second level hit
+ 0x20 pde_miss DTLB misses casued by low part of address
+ 0x80 large_walk_completed DTLB miss large page walks
+name:fp_assist type:bitmask default:0x01
+ 0x01 all X87 Floating point assists (Precise Event)
+ 0x02 output X87 Floating point assists for invalid output value (Precise Event)
+ 0x04 input X87 Floating poiint assists for invalid input value (Precise Event)
+name:fp_comp_ops_exe type:bitmask default:0x01
+ 0x01 x87 Computational floating-point operations executed
+ 0x02 mmx MMX Uops
+ 0x04 sse_fp SSE and SSE2 FP Uops
+ 0x08 sse2_integer SSE2 integer Uops
+ 0x10 sse_fp_packed SSE FP packed Uops
+ 0x20 sse_fp_scalar SSE FP scalar Uops
+ 0x40 sse_single_precision SSE* FP single precision Uops
+ 0x80 sse_double_precision SSE* FP double precision Uops
+name:fp_mmx_trans type:bitmask default:0x03
+ 0x01 to_fp Transitions from MMX to Floating Point instructions
+ 0x02 to_mmx Transitions from Floating Point to MMX instructions
+ 0x03 any All Floating Point to and from MMX transitions
+name:ild_stall type:bitmask default:0x0f
+ 0x01 lcp Length Change Prefix stall cycles
+ 0x02 mru Stall cycles due to BPU MRU bypass
+ 0x04 iq_full Instruction Queue full stall cycles
+ 0x08 regen Regen stall cycles
+ 0x0f any Any Instruction Length Decoder stall cycles
+name:inst_retired type:bitmask default:0x01
+ 0x01 any_p Instructions retired (Programmable counter and Precise Event)
+ 0x02 x87 Retired floating-point operations (Precise Event)
+ 0x04 mmx Retired MMX instructions (Precise Event)
+name:itlb_misses type:bitmask default:0x01
+ 0x01 any ITLB miss
+ 0x02 walk_completed ITLB miss page walks
+ 0x04 walk_cycles ITLB miss page walk cycles
+ 0x80 large_walk_completed ITLB miss large page walks
+name:l1d type:bitmask default:0x01
+ 0x01 repl L1 data cache lines allocated
+ 0x02 m_repl L1D cache lines allocated in the M state
+ 0x04 m_evict L1D cache lines replaced in M state
+ 0x08 m_snoop_evict L1D snoop eviction of cache lines in M state
+name:l1d_prefetch type:bitmask default:0x01
+ 0x01 requests L1D hardware prefetch requests
+ 0x02 miss L1D hardware prefetch misses
+ 0x04 triggers L1D hardware prefetch requests triggered
+name:l1d_wb_l2 type:bitmask default:0x0f
+ 0x01 i_state L1 writebacks to L2 in I state (misses)
+ 0x02 s_state L1 writebacks to L2 in S state
+ 0x04 e_state L1 writebacks to L2 in E state
+ 0x08 m_state L1 writebacks to L2 in M state
+ 0x0f mesi All L1 writebacks to L2
+name:l1i type:bitmask default:0x01
+ 0x01 hits L1I instruction fetch hits
+ 0x02 misses L1I instruction fetch misses
+ 0x03 reads L1I Instruction fetches
+ 0x04 cycles_stalled L1I instruction fetch stall cycles
+name:l2_data_rqsts type:bitmask default:0xff
+ 0x01 demand_i_state L2 data demand loads in I state (misses)
+ 0x02 demand_s_state L2 data demand loads in S state
+ 0x04 demand_e_state L2 data demand loads in E state
+ 0x08 demand_m_state L2 data demand loads in M state
+ 0x0f demand_mesi L2 data demand requests
+ 0x10 prefetch_i_state L2 data prefetches in the I state (misses)
+ 0x20 prefetch_s_state L2 data prefetches in the S state
+ 0x40 prefetch_e_state L2 data prefetches in E state
+ 0x80 prefetch_m_state L2 data prefetches in M state
+ 0xf0 prefetch_mesi All L2 data prefetches
+ 0xff any All L2 data requests
+name:l2_lines_in type:bitmask default:0x07
+ 0x02 s_state L2 lines allocated in the S state
+ 0x04 e_state L2 lines allocated in the E state
+ 0x07 any L2 lines alloacated
+name:l2_lines_out type:bitmask default:0x0f
+ 0x01 demand_clean L2 lines evicted by a demand request
+ 0x02 demand_dirty L2 modified lines evicted by a demand request
+ 0x04 prefetch_clean L2 lines evicted by a prefetch request
+ 0x08 prefetch_dirty L2 modified lines evicted by a prefetch request
+ 0x0f any L2 lines evicted
+name:l2_rqsts type:bitmask default:0x01
+ 0x01 ld_hit L2 load hits
+ 0x02 ld_miss L2 load misses
+ 0x03 loads L2 requests
+ 0x04 rfo_hit L2 RFO hits
+ 0x08 rfo_miss L2 RFO misses
+ 0x0c rfos L2 RFO requests
+ 0x10 ifetch_hit L2 instruction fetch hits
+ 0x20 ifetch_miss L2 instruction fetch misses
+ 0x30 ifetches L2 instruction fetches
+ 0x40 prefetch_hit L2 prefetch hits
+ 0x80 prefetch_miss L2 prefetch misses
+ 0xaa miss All L2 misses
+ 0xc0 prefetches All L2 prefetches
+ 0xff references All L2 requests
+name:l2_transactions type:bitmask default:0x80
+ 0x01 load L2 Load transactions
+ 0x02 rfo L2 RFO transactions
+ 0x04 ifetch L2 instruction fetch transactions
+ 0x08 prefetch L2 prefetch transactions
+ 0x10 l1d_wb L1D writeback to L2 transactions
+ 0x20 fill L2 fill transactions
+ 0x40 wb L2 writeback to LLC transactions
+ 0x80 any All L2 transactions
+name:l2_write type:bitmask default:0x01
+ 0x01 rfo_i_state L2 demand store RFOs in I state (misses)
+ 0x02 rfo_s_state L2 demand store RFOs in S state
+ 0x08 rfo_m_state L2 demand store RFOs in M state
+ 0x0e rfo_hit All L2 demand store RFOs that hit the cache
+ 0x0f rfo_mesi All L2 demand store RFOs
+ 0x10 lock_i_state L2 demand lock RFOs in I state (misses)
+ 0x20 lock_s_state L2 demand lock RFOs in S state
+ 0x40 lock_e_state L2 demand lock RFOs in E state
+ 0x80 lock_m_state L2 demand lock RFOs in M state
+ 0xe0 lock_hit All demand L2 lock RFOs that hit the cache
+ 0xf0 lock_mesi All demand L2 lock RFOs
+name:load_dispatch type:bitmask default:0x07
+ 0x01 rs Loads dispatched that bypass the MOB
+ 0x02 rs_delayed Loads dispatched from stage 305
+ 0x04 mob Loads dispatched from the MOB
+ 0x07 any All loads dispatched
+name:longest_lat_cache type:bitmask default:0x01
+ 0x01 miss Longest latency cache miss
+ 0x02 reference Longest latency cache reference
+name:machine_clears type:bitmask default:0x01
+ 0x01 cycles Cycles machine clear asserted
+ 0x02 mem_order Execution pipeline restart due to Memory ordering conflicts
+ 0x04 smc Self-Modifying Code detected
+name:mem_inst_retired type:bitmask default:0x01
+ 0x01 loads Instructions retired which contains a load (Precise Event)
+ 0x02 stores Instructions retired which contains a store (Precise Event)
+ 0x10 latency_above_threshold_0 Memory instructions retired above 0 clocks (Precise Event) (MSR_INDEX: 0x03F6 MSR_VALUE: 0x0000)
+name:mem_load_retired type:bitmask default:0x01
+ 0x01 l1d_hit Retired loads that hit the L1 data cache (Precise Event)
+ 0x02 l2_hit Retired loads that hit the L2 cache (Precise Event)
+ 0x04 llc_unshared_hit Retired loads that hit valid versions in the LLC cache (Precise Event)
+ 0x08 other_core_l2_hit_hitm Retired loads that hit sibling core's L2 in modified or unmodified states (Precise Event)
+ 0x10 llc_miss Retired loads that miss the LLC cache (Precise Event)
+ 0x40 hit_lfb Retired loads that miss L1D and hit an previously allocated LFB (Precise Event)
+ 0x80 dtlb_miss Retired loads that miss the DTLB (Precise Event)
+name:mem_uncore_retired type:bitmask default:0x02
+ 0x02 local_hitm Load instructions retired that HIT modified data in sibling core (Precise Event)
+ 0x04 remote_hitm Retired loads that hit remote socket in modified state (Precise Event)
+ 0x08 local_dram_and_remote_cache_hit Load instructions retired local dram and remote cache HIT data sources (Precise Event)
+ 0x10 remote_dram Load instructions retired remote DRAM and remote home-remote cache HITM (Precise Event)
+ 0x80 uncacheable Load instructions retired IO (Precise Event)
+name:offcore_requests type:bitmask default:0x80
+ 0x01 demand_read_data Offcore demand data read requests
+ 0x02 demand_read_code Offcore demand code read requests
+ 0x04 demand_rfo Offcore demand RFO requests
+ 0x08 any_read Offcore read requests
+ 0x10 any_rfo Offcore RFO requests
+ 0x40 l1d_writeback Offcore L1 data cache writebacks
+ 0x80 any All offcore requests
+name:offcore_requests_outstanding type:bitmask default:0x08
+ 0x01 demand_read_data Outstanding offcore demand data reads
+ 0x02 demand_read_code Outstanding offcore demand code reads
+ 0x04 demand_rfo Outstanding offcore demand RFOs
+ 0x08 any_read Outstanding offcore reads
+name:rat_stalls type:bitmask default:0x0f
+ 0x01 flags Flag stall cycles
+ 0x02 registers Partial register stall cycles
+ 0x04 rob_read_port ROB read port stalls cycles
+ 0x08 scoreboard Scoreboard stall cycles
+ 0x0f any All RAT stall cycles
+name:resource_stalls type:bitmask default:0x01
+ 0x01 any Resource related stall cycles
+ 0x02 load Load buffer stall cycles
+ 0x04 rs_full Reservation Station full stall cycles
+ 0x08 store Store buffer stall cycles
+ 0x10 rob_full ROB full stall cycles
+ 0x20 fpcw FPU control word write stall cycles
+ 0x40 mxcsr MXCSR rename stall cycles
+ 0x80 other Other Resource related stall cycles
+name:simd_int_128 type:bitmask default:0x01
+ 0x01 packed_mpy 128 bit SIMD integer multiply operations
+ 0x02 packed_shift 128 bit SIMD integer shift operations
+ 0x04 pack 128 bit SIMD integer pack operations
+ 0x08 unpack 128 bit SIMD integer unpack operations
+ 0x10 packed_logical 128 bit SIMD integer logical operations
+ 0x20 packed_arith 128 bit SIMD integer arithmetic operations
+ 0x40 shuffle_move 128 bit SIMD integer shuffle/move operations
+name:simd_int_64 type:bitmask default:0x01
+ 0x01 packed_mpy SIMD integer 64 bit packed multiply operations
+ 0x02 packed_shift SIMD integer 64 bit shift operations
+ 0x04 pack SIMD integer 64 bit pack operations
+ 0x08 unpack SIMD integer 64 bit unpack operations
+ 0x10 packed_logical SIMD integer 64 bit logical operations
+ 0x20 packed_arith SIMD integer 64 bit arithmetic operations
+ 0x40 shuffle_move SIMD integer 64 bit shuffle/move operations
+name:snoopq_requests type:bitmask default:0x01
+ 0x01 data Snoop data requests
+ 0x02 invalidate Snoop invalidate requests
+ 0x04 code Snoop code requests
+name:snoopq_requests_outstanding type:bitmask default:0x01
+ 0x01 data Outstanding snoop data requests
+ 0x02 invalidate Outstanding snoop invalidate requests
+ 0x04 code Outstanding snoop code requests
+name:snoop_response type:bitmask default:0x01
+ 0x01 hit Thread responded HIT to snoop
+ 0x02 hite Thread responded HITE to snoop
+ 0x04 hitm Thread responded HITM to snoop
+name:sq_misc type:bitmask default:0x04
+ 0x04 lru_hints Super Queue LRU hints sent to LLC
+ 0x10 split_lock Super Queue lock splits across a cache line
+name:ssex_uops_retired type:bitmask default:0x01
+ 0x01 packed_single SIMD Packed-Single Uops retired (Precise Event)
+ 0x02 scalar_single SIMD Scalar-Single Uops retired (Precise Event)
+ 0x04 packed_double SIMD Packed-Double Uops retired (Precise Event)
+ 0x08 scalar_double SIMD Scalar-Double Uops retired (Precise Event)
+ 0x10 vector_integer SIMD Vector Integer Uops retired (Precise Event)
+name:store_blocks type:bitmask default:0x04
+ 0x04 at_ret Loads delayed with at-Retirement block code
+ 0x08 l1d_block Cacheable loads delayed with L1D block code
+name:uops_decoded type:bitmask default:0x01
+ 0x01 stall_cycles Cycles no Uops are decoded
+ 0x02 ms_cycles_active Uops decoded by Microcode Sequencer
+ 0x04 esp_folding Stack pointer instructions decoded
+ 0x08 esp_sync Stack pointer sync operations
+name:uops_executed type:bitmask default:0x3f
+ 0x01 port0 Uops executed on port 0
+ 0x02 port1 Uops executed on port 1
+ 0x04 port2_core Uops executed on port 2 (core count)
+ 0x08 port3_core Uops executed on port 3 (core count)
+ 0x10 port4_core Uops executed on port 4 (core count)
+ 0x1f core_active_cycles_no_port5 Cycles Uops executed on ports 0-4 (core count)
+ 0x20 port5 Uops executed on port 5
+ 0x3f core_active_cycles Cycles Uops executed on any port (core count)
+ 0x40 port015 Uops issued on ports 0, 1 or 5
+ 0x80 port234_core Uops issued on ports 2, 3 or 4
+name:uops_issued type:bitmask default:0x01
+ 0x01 any Uops issued
+ 0x02 fused Fused Uops issued
+name:uops_retired type:bitmask default:0x01
+ 0x01 active_cycles Cycles Uops are being retired
+ 0x02 retire_slots Retirement slots used (Precise Event)
+ 0x04 macro_fused Macro-fused Uops retired (Precise Event)
diff --git a/events/ia64/ia64/events b/events/ia64/ia64/events
new file mode 100644
index 0000000..8ae41dd
--- /dev/null
+++ b/events/ia64/ia64/events
@@ -0,0 +1,3 @@
+# IA-64 events
+event:0x12 counters:0,1,2,3 um:zero minimum:500 name:CPU_CYCLES : CPU Cycles
+event:0x08 counters:0,1,2,3 um:zero minimum:500 name:IA64_INST_RETIRED : IA-64 Instructions Retired
diff --git a/events/ia64/ia64/unit_masks b/events/ia64/ia64/unit_masks
new file mode 100644
index 0000000..7dd854a
--- /dev/null
+++ b/events/ia64/ia64/unit_masks
@@ -0,0 +1,4 @@
+# IA-64 possible unit masks
+#
+name:zero type:mandatory default:0x0
+ 0x0 No unit mask
diff --git a/events/ia64/itanium/events b/events/ia64/itanium/events
new file mode 100644
index 0000000..b0ce10f
--- /dev/null
+++ b/events/ia64/itanium/events
@@ -0,0 +1,5 @@
+# IA-64 Itanium 1 events
+event:0x12 counters:0,1,2,3 um:zero minimum:500 name:CPU_CYCLES : CPU Cycles
+event:0x08 counters:0,1 um:zero minimum:500 name:IA64_INST_RETIRED : IA-64 Instructions Retired
+event:0x15 counters:0,1,2,3 um:zero minimum:500 name:IA32_INST_RETIRED : IA-32 Instructions Retired
+# FIXME: itanium doc describe a lot of other events, should we add them w/o any testing ?
diff --git a/events/ia64/itanium/unit_masks b/events/ia64/itanium/unit_masks
new file mode 100644
index 0000000..6a9f77b
--- /dev/null
+++ b/events/ia64/itanium/unit_masks
@@ -0,0 +1,4 @@
+# IA-64 Itanium 1 possible unit masks
+#
+name:zero type:mandatory default:0x0
+ 0x0 No unit mask
diff --git a/events/ia64/itanium2/events b/events/ia64/itanium2/events
new file mode 100644
index 0000000..c979022
--- /dev/null
+++ b/events/ia64/itanium2/events
@@ -0,0 +1,267 @@
+# IA-64 Itanium 2 events
+
+# IA64_2 Basic Events, Table 11-1
+event:0x12 counters:0,1,2,3 um:zero minimum:500 name:CPU_CYCLES : CPU Cycles
+event:0x08 counters:0,1,2,3 um:zero minimum:500 name:IA64_INST_RETIRED : IA-64 Instructions Retired
+event:0x59 counters:0,1,2,3 um:zero minimum:5000 name:IA32_INST_RETIRED : IA-32 Instructions Retired
+event:0x07 counters:0,1,2,3 um:zero minimum:500 name:IA32_ISA_TRANSITIONS : Itanium to/from IA-32 ISA Transitions
+
+# IA64_2 Instruction Disperal Events, Table 11-3
+event:0x49 counters:0,1,2,3 um:zero minimum:5000 name:DISP_STALLED : Number of cycles dispersal stalled
+event:0x4d counters:0,1,2,3 um:zero minimum:5000 name:INST_DISPERSED : Syllables Dispersed from REN to REG stage
+event:0x4e counters:0,1,2,3 um:syll_not_dispersed minimum:5000 name:SYLL_NOT_DISPERSED : Syllables not dispersed
+event:0x4f counters:0,1,2,3 um:syll_overcount minimum:5000 name:SYLL_OVERCOUNT : Syllables overcounted
+
+# IA64_2 Instruction Execution Events, Table 11-4
+event:0x58 counters:0,1,2,3 um:alat_capacity_miss minimum:5000 name:ALAT_CAPACITY_MISS : ALAT Entry Replaced
+event:0x06 counters:0,1,2,3 um:zero minimum:5000 name:FP_FAILED_FCHKF : Failed fchkf
+event:0x05 counters:0,1,2,3 um:zero minimum:5000 name:FP_FALSE_SIRSTALL : SIR stall without a trap
+event:0x0b counters:0,1,2,3 um:zero minimum:5000 name:FP_FLUSH_TO_ZERO : Result Flushed to Zero
+event:0x09 counters:0,1,2,3 um:zero minimum:5000 name:FP_OPS_RETIRED : Retired FP operations
+event:0x03 counters:0,1,2,3 um:zero minimum:5000 name:FP_TRUE_SIRSTALL : SIR stall asserted and leads to a trap
+event:0x08 counters:0,1,2,3 um:tagged_inst_retired minimum:5000 name:IA64_TAGGED_INST_RETIRED : Retired Tagged Instructions
+event:0x56 counters:0,1,2,3 um:alat_capacity_miss minimum:5000 name:INST_CHKA_LDC_ALAT : Advanced Check Loads
+event:0x57 counters:0,1,2,3 um:alat_capacity_miss minimum:5000 name:INST_FAILED_CHKA_LDC_ALAT : Failed Advanced Check Loads
+event:0x55 counters:0,1,2,3 um:alat_capacity_miss minimum:5000 name:INST_FAILED_CHKS_RETIRED : Failed Speculative Check Loads
+# To avoid duplication from other tables the following events commented out
+#event:0xcd counters:0,1,2,3 um:zero minimum:5000 name:LOADS_RETIRED : Retired Loads
+#event:0xce counters:0,1,2,3 um:zero minimum:5000 name:MISALIGNED_LOADS_RETIRED : Retired Misaligned Load Instructions
+#event:0xcf counters:0,1,2,3 um:zero minimum:5000 name:UC_LOADS_RETIRED : Retired Uncacheable Loads
+#event:0xd1 counters:0,1,2,3 um:zero minimum:5000 name:STORES_RETIRED : Retired Stores
+#event:0xd2 counters:0,1,2,3 um:zero minimum:5000 name:MISALIGNED_STORES_RETIRED : Retired Misaligned Store Instructions
+#event:0xd0 counters:0,1,2,3 um:zero minimum:5000 name:UC_STORES_RETIRED : Retired Uncacheable Stores
+event:0x50 counters:0,1,2,3 um:zero minimum:5000 name:NOPS_RETIRED : Retired NOP Instructions
+event:0x51 counters:0,1,2,3 um:zero minimum:5000 name:PREDICATE_SQUASHED_RETIRED : Instructions Squashed Due to Predicate Off`
+
+# IA64_2 Stall Events, Table 11-6
+event:0x00 counters:0,1,2,3 um:back_end_bubble minimum:5000 name:BACK_END_BUBBLE : Full pipe bubbles in main pipe
+event:0x02 counters:0,1,2,3 um:be_exe_bubble minimum:5000 name:BE_EXE_BUBBLE : Full pipe bubbles in main pipe due to Execution unit stalls
+event:0x04 counters:0,1,2,3 um:be_flush_bubble minimum:5000 name:BE_FLUSH_BUBBLE : Full pipe bubbles in main pipe due to flushes
+event:0xca counters:0,1,2,3 um:be_l1d_fpu_bubble minimum:5000 name:BE_L1D_FPU_BUBBLE : Full pipe bubbles in main pipe due to FP or L1 dcache
+# To avoid duplication from other tables the following events commented out
+#event:0x72 counters:0,1,2,3 um:be_lost_bw_due_to_fe minimum:5000 name:BE_LOST_BW_DUE_TO_FE : Invalid bundles if BE not stalled for other reasons
+event:0x01 counters:0,1,2,3 um:be_rse_bubble minimum:5000 name:BE_RSE_BUBBLE : Full pipe bubbles in main pipe due to RSE stalls
+event:0x71 counters:0,1,2,3 um:fe_bubble minimum:5000 name:FE_BUBBLE : Bubbles seen by FE
+event:0x70 counters:0,1,2,3 um:fe_lost minimum:5000 name:FE_LOST_BW : Invalid bundles at the entrance to IB
+event:0x73 counters:0,1,2,3 um:fe_lost minimum:5000 name:IDEAL_BE_LOST_BW_DUE_TO_FE : Invalid bundles at the exit from IB
+
+# IA64_2 Branch Events, Table 11-7
+event:0x61 counters:0,1,2,3 um:be_br_mispredict_detail minimum:5000 name:BE_BR_MISPRED_DETAIL : BE branch misprediction detail
+event:0x11 counters:0,1,2,3 um:zero minimum:5000 name:BRANCH_EVENT : Branch Event Captured
+event:0x5b counters:0,1,2,3 um:br_mispred_detail minimum:5000 name:BR_MISPRED_DETAIL : Branch Mispredict Detail
+event:0x68 counters:0,1,2,3 um:br_mispredict_detail2 minimum:5000 name:BR_MISPRED_DETAIL2 : FE Branch Mispredict Detail (Unknown path component)
+event:0x54 counters:0,1,2,3 um:br_path_pred minimum:5000 name:BR_PATH_PRED : FE Branch Path Prediction Detail
+event:0x6a counters:0,1,2,3 um:br_path_pred2 minimum:5000 name:BR_PATH_PRED2 : FE Branch Path Prediction Detail (Unknown prediction component)
+event:0x63 counters:0,1,2,3 um:encbr_mispred_detail minimum:5000 name:ENCBR_MISPRED_DETAIL : Number of encoded branches retired
+
+# IA64_2 L1 Instruction Cache and Prefetch Events, Table 11-8
+event:0x46 counters:0,1,2,3 um:zero minimum:5000 name:ISB_BUNPAIRS_IN : Bundle pairs written from L2 into FE
+event:0x43 counters:0,1,2,3 um:zero minimum:5000 name:L1I_EAR_EVENTS : Instruction EAR Events
+event:0x66 counters:0,1,2,3 um:zero minimum:5000 name:L1I_FETCH_ISB_HIT : "\"Just-in-time\" instruction fetch hitting in and being bypassed from ISB
+event:0x65 counters:0,1,2,3 um:zero minimum:5000 name:L1I_FETCH_RAB_HIT : Instruction fetch hitting in RAB
+event:0x41 counters:0,1,2,3 um:zero minimum:5000 name:L1I_FILLS : L1 Instruction Cache Fills
+event:0x44 counters:0,1,2,3 um:zero minimum:5000 name:L1I_PREFETCHES : Instruction Prefetch Requests
+event:0x42 counters:0,1,2,3 um:zero minimum:5000 name:L2_INST_DEMAND_READS : L1 Instruction Cache and ISB Misses
+event:0x67 counters:0,1,2,3 um:l1i_prefetch_stall minimum:5000 name:L1I_PREFETCH_STALL : Why prefetch pipeline is stalled?
+event:0x4b counters:0,1,2,3 um:zero minimum:5000 name:L1I_PURGE : L1ITLB purges handled by L1I
+event:0x69 counters:0,1,2,3 um:zero minimum:5000 name:L1I_PVAB_OVERFLOW : PVAB overflow
+event:0x64 counters:0,1,2,3 um:zero minimum:5000 name:L1I_RAB_ALMOST_FULL : Is RAB almost full?
+event:0x60 counters:0,1,2,3 um:zero minimum:500 name:L1I_RAB_FULL : Is RAB full?
+event:0x40 counters:0,1,2,3 um:zero minimum:5000 name:L1I_READS : L1 Instruction Cache Read
+event:0x4a counters:0,1,2,3 um:zero minimum:5000 name:L1I_SNOOP : Snoop requests handled by L1I
+event:0x5f counters:0,1,2,3 um:zero minimum:5000 name:L1I_STRM_PREFETCHES : L1 Instruction Cache line prefetch requests
+event:0x45 counters:0,1,2,3 um:zero minimum:5000 name:L2_INST_PREFETCHES : Instruction Prefetch Requests
+
+# IA64_2 L1 Data Cache Events, Table 11-10
+event:0xc8 counters:0,1,2,3 um:zero minimum:5000 name:DATA_EAR_EVENTS : Data Cache EAR Events
+# To avoid duplication from other tables the following events commented out
+#event:0xc2 counters:0,1,2,3 um:zero minimum:5000 name:L1D_READS_SET0 : L1 Data Cache Reads
+#event:0xc3 counters:0,1,2,3 um:zero minimum:5000 name:DATA_REFERENCES_SET0 : Data memory references issued to memory pipeline
+#event:0xc4 counters:0,1,2,3 um:zero minimum:5000 name:L1D_READS_SET1 : L1 Data Cache Reads
+#event:0xc5 counters:0,1,2,3 um:zero minimum:5000 name:DATA_REFERENCES_SET1 : Data memory references issued to memory pipeline
+#event:0xc7 counters:0,1,2,3 um:l1d_read_misses minimum:5000 name:L1D_READ_MISSES : L1 Data Cache Read Misses
+
+# IA64_2 L1 Data Cache Set 0 Events, Table 11-11
+event:0xc0 counters:1 um:zero minimum:5000 name:L1DTLB_TRANSFER : L1DTLB misses that hit in the L2DTLB for accesses counted in L1D_READS
+event:0xc1 counters:1 um:zero minimum:5000 name:L2DTLB_MISSES : L2DTLB Misses
+event:0xc2 counters:1 um:zero minimum:5000 name:L1D_READS_SET0 : L1 Data Cache Reads
+event:0xc3 counters:1 um:zero minimum:5000 name:DATA_REFERENCES_SET0 : Data memory references issued to memory pipeline
+
+# IA64_2 L1 Data Cache Set 1 Events, Table 11-12
+event:0xc4 counters:1 um:zero minimum:5000 name:L1D_READS_SET1 : L1 Data Cache Reads
+event:0xc5 counters:1 um:zero minimum:5000 name:DATA_REFERENCES_SET1 : Data memory references issued to memory pipeline
+event:0xc7 counters:1 um:l1d_read_misses minimum:5000 name:L1D_READ_MISSES : L1 Data Cache Read Misses
+
+# IA64_2 L1 Data Cache Set 2 Events, Table 11-13
+event:0xca counters:1 um:be_l1d_fpu_bubble minimum:5000 name:BE_L1D_FPU_BUBBLE : Full pipe bubbles in main pipe due to FP or L1 dcache
+
+# IA64_2 L1 Data Cache Set 3 Events, Table 11-14
+event:0xcd counters:1 um:zero minimum:5000 name:LOADS_RETIRED : Retired Loads
+event:0xce counters:1 um:zero minimum:5000 name:MISALIGNED_LOADS_RETIRED : Retired Misaligned Load Instructions
+event:0xcf counters:1 um:zero minimum:5000 name:UC_LOADS_RETIRED : Retired Uncacheable Loads
+
+# IA64_2 L1 Data Cache Set 4 Events, Table 11-15
+event:0xd1 counters:1 um:zero minimum:5000 name:STORES_RETIRED : Retired Stores
+event:0xd2 counters:1 um:zero minimum:5000 name:MISALIGNED_STORES_RETIRED : Retired Misaligned Store Instructions
+event:0xd0 counters:1 um:zero minimum:5000 name:UC_STORES_RETIRED : Retired Uncacheable Stores
+
+# IA64_2 L2 Unified Cache Events, Table 11-16
+# To avoid duplication from other tables the following events commented out
+#event:0xb9 counters:0,1,2,3 um:zero minimum:5000 name:L2_BAD_LINES_SELECTED : Valid line replaced when invalid line is available
+#event:0xb8 counters:0,1,2,3 um:l2_bypass minimum:5000 name:L2_BYPASS : Count bypass
+#event:0xb2 counters:0,1,2,3 um:l2_data_references minimum:5000 name:L2_DATA_REFERENCES : Data read/write access to L2
+event:0xbf counters:0,1,2,3 um:zero minimum:5000 name:L2_FILLB_FULL : L2D Fill buffer is full
+#event:0xb4 counters:0,1,2,3 um:l2_force_recirc minimum:5000 name:L2_FORCE_RECIRC : Forced recirculates
+event:0xba counters:0,1,2,3 um:recirc_ifetch minimum:5000 name:L2_GOT_RECIRC_IFETCH : Instruction fetch recirculates received by L2D
+#event:0xb6 counters:0,1,2,3 um:zero minimum:5000 name:L2_GOT_RECIRC_OZQ_ACC : Counts number of OZQ accesses recirculated back to L1D
+#event:0xa1 counters:0,1,2,3 um:l2_ifet_cancels minimum:5000 name:L2_IFET_CANCELS : Instruction fetch cancels by the L2.
+#event:0xa5 counters:0,1,2,3 um:l2_ifet_cancels minimum:5000 name:L2_IFET_CANCELS : Instruction fetch cancels by the L2.
+#event:0xa9 counters:0,1,2,3 um:l2_ifet_cancels minimum:5000 name:L2_IFET_CANCELS : Instruction fetch cancels by the L2.
+#event:0xad counters:0,1,2,3 um:l2_ifet_cancels minimum:5000 name:L2_IFET_CANCELS : Instruction fetch cancels by the L2.
+event:0xb9 counters:0,1,2,3 um:recirc_ifetch minimum:5000 name:L2_ISSUED_RECIRC_IFETCH : Instruction fetch recirculates issued by L2D
+#event:0xb5 counters:0,1,2,3 um:zero minimum:5000 name:L2_ISSUED_RECIRC_OZQ_ACC : Count number of times a recirculate issue was attempted and not preempted
+#event:0xb0 counters:0,1,2,3 um:l2_l3_access_cancel minimum:5000 name:L2_L3ACCESS_CANCEL : Canceled L3 accesses
+event:0xcb counters:0,1,2,3 um:zero minimum:5000 name:L2_MISSES : L2 Misses
+event:0xb8 counters:0,1,2,3 um:l2_ops_issued minimum:5000 name:L2_OPS_ISSUED : Different operations issued by L2D
+#event:0xbd counters:0,1,2,3 um:zero minimum:5000 name:L2_OZDB_FULL : L2D OZQ is full
+#event:0xa2 counters:0,1,2,3 um:zero minimum:5000 name:L2_OZQ_ACQUIRE : Clocks with acquire ordering attribute existed in L2 OZQ
+#event:0xa6 counters:0,1,2,3 um:zero minimum:5000 name:L2_OZQ_ACQUIRE : Clocks with acquire ordering attribute existed in L2 OZQ
+#event:0xaa counters:0,1,2,3 um:zero minimum:5000 name:L2_OZQ_ACQUIRE : Clocks with acquire ordering attribute existed in L2 OZQ
+#event:0xae counters:0,1,2,3 um:zero minimum:5000 name:L2_OZQ_ACQUIRE : Clocks with acquire ordering attribute existed in L2 OZQ
+#event:0xa0 counters:0,1,2,3 um:l2_ozq_cancels0 minimum:5000 name:L2_OZQ_CANCELS0 : L2 OZQ cancels
+#event:0xac counters:0,1,2,3 um:l2_ozq_cancels1 minimum:5000 name:L2_OZQ_CANCELS1 : L2 OZQ cancels
+#event:0xa8 counters:0,1,2,3 um:l2_ozq_cancels2 minimum:5000 name:L2_OZQ_CANCELS2 : L2 OZQ cancels
+#event:0xbc counters:0,1,2,3 um:zero minimum:5000 name:L2_OZQ_FULL : L2D OZQ is full
+#event:0xa3 counters:0,1,2,3 um:zero minimum:5000 name:L2_OZQ_RELEASE : Clocks with release ordering attribute existed in L2 OZQ
+#event:0xa7 counters:0,1,2,3 um:zero minimum:5000 name:L2_OZQ_RELEASE : Clocks with release ordering attribute existed in L2 OZQ
+#event:0xab counters:0,1,2,3 um:zero minimum:5000 name:L2_OZQ_RELEASE : Clocks with release ordering attribute existed in L2 OZQ
+#event:0xaf counters:0,1,2,3 um:zero minimum:5000 name:L2_OZQ_RELEASE : Clocks with release ordering attribute existed in L2 OZQ
+#event:0xb1 counters:0,1,2,3 um:zero minimum:5000 name:L2_REFERENCES : Requests made from L2
+#event:0xba counters:0,1,2,3 um:zero minimum:5000 name:L2_STORE_HIT_SHARED : Store hit a shared line
+#event:0xb7 counters:0,1,2,3 um:zero minimum:5000 name:L2_SYNTH_PROBE : Synthesized Probe
+#event:0xbe counters:0,1,2,3 um:zero minimum:5000 name:L2_VICTIMB_FULL : L2D victim buffer is full
+
+# IA64_2 L2 Cache Events Set 0, Table 11-18
+# FIXME all sorts of restrictions on how these can be combined
+event:0xa1 counters:0 um:l2_ifet_cancels minimum:5000 name:L2_IFET_CANCELS : Instruction fetch cancels by the L2.
+event:0xa5 counters:0 um:l2_ifet_cancels minimum:5000 name:L2_IFET_CANCELS : Instruction fetch cancels by the L2.
+event:0xa9 counters:0 um:l2_ifet_cancels minimum:5000 name:L2_IFET_CANCELS : Instruction fetch cancels by the L2.
+event:0xad counters:0 um:l2_ifet_cancels minimum:5000 name:L2_IFET_CANCELS : Instruction fetch cancels by the L2.
+event:0xa2 counters:0 um:zero minimum:5000 name:L2_OZQ_ACQUIRE : Clocks with acquire ordering attribute existed in L2 OZQ
+event:0xa6 counters:0 um:zero minimum:5000 name:L2_OZQ_ACQUIRE : Clocks with acquire ordering attribute existed in L2 OZQ
+event:0xaa counters:0 um:zero minimum:5000 name:L2_OZQ_ACQUIRE : Clocks with acquire ordering attribute existed in L2 OZQ
+event:0xae counters:0 um:zero minimum:5000 name:L2_OZQ_ACQUIRE : Clocks with acquire ordering attribute existed in L2 OZQ
+event:0xa0 counters:0 um:l2_ozq_cancels0 minimum:5000 name:L2_OZQ_CANCELS0 : L2 OZQ cancels
+event:0xac counters:0 um:l2_ozq_cancels1 minimum:5000 name:L2_OZQ_CANCELS1 : L2 OZQ cancels
+event:0xa8 counters:0 um:l2_ozq_cancels2 minimum:5000 name:L2_OZQ_CANCELS2 : L2 OZQ cancels
+event:0xa3 counters:0 um:zero minimum:5000 name:L2_OZQ_RELEASE : Clocks with release ordering attribute existed in L2 OZQ
+event:0xa7 counters:0 um:zero minimum:5000 name:L2_OZQ_RELEASE : Clocks with release ordering attribute existed in L2 OZQ
+event:0xab counters:0 um:zero minimum:5000 name:L2_OZQ_RELEASE : Clocks with release ordering attribute existed in L2 OZQ
+event:0xaf counters:0 um:zero minimum:5000 name:L2_OZQ_RELEASE : Clocks with release ordering attribute existed in L2 OZQ
+
+# IA64_2 L2 Cache Events Set 1, Table 11-19
+# manual states that L2_L3ACCESS_CANCEL must be measured in PMD4.
+# FIXME Don't have any way of enforcing the constraints
+# so only l2_l3_access_cancel allowed.
+event:0xb0 counters:0 um:l2_l3_access_cancel minimum:5000 name:L2_L3ACCESS_CANCEL : Canceled L3 accesses
+#event:0xb2 counters:0,1,2,3 um:l2_data_references minimum:5000 name:L2_DATA_REFERENCES : Data read/write access to L2
+#event:0xb1 counters:0,1,2,3 um:zero minimum:5000 name:L2_REFERENCES : Requests made from L2
+
+# IA64_2 L2 Cache Events Set 2, Table 11-20
+# manual states that L2_FORCE_RECIRC must be measured in PMD4.
+# FIXME Don't have anyway of enforcing thes constraint
+# so only L2_FORCE_RECIRC allowed.
+event:0xb4 counters:0 um:l2_force_recirc minimum:5000 name:L2_FORCE_RECIRC : Forced recirculates
+#event:0xb5 counters:0,1,2,3 um:zero minimum:5000 name:L2_ISSUED_RECIRC_OZQ_ACC : Count number of times a recirculate issue was attempted and not preempted
+#event:0xb6 counters:0,1,2,3 um:zero minimum:5000 name:L2_GOT_RECIRC_OZQ_ACC : Counts number of OZQ accesses recirculated back to L1D
+#event:0xb7 counters:0,1,2,3 um:zero minimum:5000 name:L2_SYNTH_PROBE : Synthesized Probe
+
+# IA64_2 L2 Cache Events Set 3, Table 11-21
+# The manual states that all events in this set share the same umask.
+event:0xb9 counters:0 um:zero minimum:5000 name:L2_BAD_LINES_SELECTED : Valid line replaced when invalid line is available
+event:0xb8 counters:0 um:l2_bypass minimum:5000 name:L2_BYPASS : Count bypass
+event:0xba counters:0 um:zero minimum:5000 name:L2_STORE_HIT_SHARED : Store hit a shared line
+
+# IA64_2 L2 Cache Events Set 4, Table 11-22
+# The manual states one of the following needs to be in pmd4 and these events
+# share the same umask.
+event:0xba counters:0 um:recirc_ifetch minimum:5000 name:L2_GOT_RECIRC_IFETCH : Instruction fetch recirculates received by L2D
+event:0xb9 counters:0 um:recirc_ifetch minimum:5000 name:L2_ISSUED_RECIRC_IFETCH : Instruction fetch recirculates issued by L2D
+event:0xb8 counters:0 um:l2_ops_issued minimum:5000 name:L2_OPS_ISSUED : Different operations issued by L2D
+
+# IA64_2 L2 Cache Events Set 5, Table 11-23
+# manual states one of the following needs to be in pmd4 and
+# these events share the same umask
+event:0xbc counters:0 um:zero minimum:5000 name:L2_OZQ_FULL : L2D OZQ is full
+event:0xbd counters:0 um:zero minimum:5000 name:L2_OZDB_FULL : L2D OZQ is full
+event:0xbe counters:0 um:zero minimum:5000 name:L2_VICTIMB_FULL : L2D victim buffer is full
+event:0xbf counters:0 um:zero minimum:5000 name:L2_FILLB_FULL : L2D Fill buffer is full
+
+# IA64_2 L3 Cache Events, Table 11-24
+event:0xdf counters:0,1,2,3 um:zero minimum:5000 name:L3_LINES_REPLACED : Cache Lines Replaced
+event:0xdc counters:0,1,2,3 um:zero minimum:5000 name:L3_MISSES : L3 Misses
+event:0xdb counters:0,1,2,3 um:zero minimum:5000 name:L3_REFERENCES : L3 References
+event:0xdd counters:0,1,2,3 um:l3_reads minimum:5000 name:L3_READS : L3 Reads
+event:0xde counters:0,1,2,3 um:l3_writes minimum:5000 name:L3_WRITES : L3 Writes
+
+# IA64_2 System Events, Table 11-26
+event:0x13 counters:0,1,2,3 um:zero minimum:5000 name:CPU_CPL_CHANGES : Privilege Level Changes
+event:0x52 counters:0,1,2,3 um:zero minimum:5000 name:DATA_DEBUG_REGISTER_FAULT : Fault due to data debug reg. Match to load/store instruction
+event:0xc6 counters:0,1,2,3 um:zero minimum:5000 name:DATA_DEBUG_REGISTER_MATCHES : Data debug register matches data address of memory reference
+event:0x9e counters:0,1,2,3 um:extern_dp_pins_0_to_3 minimum:5000 name:EXTERN_DP_PINS_0_TO_3 : DP pins 0-3 asserted
+event:0x9f counters:0,1,2,3 um:extern_dp_pins_4_to_5 minimum:5000 name:EXTERN_DP_PINS_4_TO_5 : DP pins 4-5 asserted
+event:0x53 counters:0,1,2,3 um:zero minimum:5000 name:SERIALIZATION_EVENTS : Number of srlz.I instructions
+
+# IA64_2 TLB Events, Table 11-28
+event:0xc9 counters:0,1,2,3 um:zero minimum:5000 name:DTLB_INSERTS_HPW : Hardware Page Walker Installs to DTLB"
+event:0x2c counters:0,1,2,3 um:zero minimum:500 name:DTLB_INSERTS_HPW_RETIRED : VHPT entries inserted into DTLB by HW PW
+event:0x2d counters:0,1,2,3 um:zero minimum:500 name:HPW_DATA_REFERENCES : Data memory references to VHPT
+#event:0xc1 counters:1 um:zero minimum:5000 name:L2DTLB_MISSES : L2DTLB Misses
+event:0x48 counters:0,1,2,3 um:zero minimum:5000 name:L1ITLB_INSERTS_HPW : L1ITLB Hardware Page Walker Inserts
+event:0x47 counters:0,1,2,3 um:itlb_misses_fetch minimum:5000 name:ITLB_MISSES_FETCH : ITLB Misses Demand Fetch
+#event:0xc0 counters:1 um:zero minimum:5000 name:L1DTLB_TRANSFER : L1DTLB misses that hit in the L2DTLB for accesses counted in L1D_READS
+
+# IA64_2 System Bus Events, Table 11-30
+event:0x87 counters:0,1,2,3 um:bus minimum:5000 name:BUS_ALL : Bus Transactions
+event:0x9c counters:0,1,2,3 um:zero minimum:5000 name:BUS_BRQ_LIVE_REQ_HI : BRQ Live Requests (two most-significant-bit of the 5-bit outstanding BRQ request count)
+event:0x9b counters:0,1,2,3 um:zero minimum:5000 name:BUS_BRQ_LIVE_REQ_LO : BRQ Live Requests (three least-significant-bit of the 5-bit outstanding BRQ request count
+event:0x9d counters:0,1,2,3 um:zero minimum:5000 name:BUS_BRQ_REQ_INSERTED : BRQ Requests Inserted
+event:0x88 counters:0,1,2,3 um:zero minimum:5000 name:BUS_DATA_CYCLE : Valid data cycle on the Bus
+event:0x84 counters:0,1,2,3 um:zero minimum:5000 name:BUS_HITM : Bus Hit Modified Line Transactions
+event:0x90 counters:0,1,2,3 um:bus minimum:5000 name:BUS_IO : IA-32 Compatible IO Bus Transactions
+event:0x98 counters:0,1,2,3 um:zero minimum:5000 name:BUS_IOQ_LIVE_REQ_HI : Inorder Bus Queue Requests (two most-significant-bit of the 4-bit outstanding IOQ request count)
+event:0x97 counters:0,1,2,3 um:zero minimum:5000 name:BUS_IOQ_LIVE_REQ_LO : Inorder Bus Queue Requests (two least-significant-bit of the 4-bit outstanding IOQ request count)
+event:0x93 counters:0,1,2,3 um:bus_lock minimum:5000 name:BUS_LOCK : IA-32 Compatible Bus Lock Transactions
+event:0x8e counters:0,1,2,3 um:bus_backsnp_req minimum:5000 name:BUS_BACKSNP_REQ : Bus Back Snoop Requests
+event:0x8a counters:0,1,2,3 um:bus_memory minimum:5000 name:BUS_MEMORY : Bus Memory Transactions
+event:0x8b counters:0,1,2,3 um:bus_mem_read minimum:5000 name:BUS_MEM_READ : Full Cache line D/I memory RD, RD invalidate, and BRIL
+event:0x94 counters:0,1,2,3 um:zero minimum:5000 name:BUS_MEM_READ_OUT_HI : Outstanding memory RD transactions
+event:0x95 counters:0,1,2,3 um:zero minimum:5000 name:BUS_MEM_READ_OUT_LO : Outstanding memory RD transactions
+event:0x9a counters:0,1,2,3 um:zero minimum:5000 name:BUS_OOQ_LIVE_REQ_HI : Out-of-order Bus Queue Requests (two most-significant-bit of the 4-bit outstanding OOQ request count)
+event:0x99 counters:0,1,2,3 um:zero minimum:5000 name:BUS_OOQ_LIVE_REQ_LO : Out-of-order Bus Queue Requests (three least-significant-bit of the 4-bit outstanding OOQ request count)
+event:0x8c counters:0,1,2,3 um:bus minimum:5000 name:BUS_RD_DATA : Bus Read Data Transactions
+event:0x80 counters:0,1,2,3 um:zero minimum:5000 name:BUS_RD_HIT : Bus Read Hit Clean Non-local Cache Transactions
+event:0x81 counters:0,1,2,3 um:zero minimum:5000 name:BUS_RD_HITM : Bus Read Hit Modified Non-local Cache Transactions
+event:0x83 counters:0,1,2,3 um:zero minimum:5000 name:BUS_RD_INVAL_ALL_HITM : Bus BIL or BRIL Transaction Results in HITM
+event:0x82 counters:0,1,2,3 um:zero minimum:5000 name:BUS_RD_INVAL_HITM : Bus BIL Transaction Results in HITM
+event:0x91 counters:0,1,2,3 um:bus minimum:5000 name:BUS_RD_IO : IA-32 Compatible IO Read Transactions
+event:0x8d counters:0,1,2,3 um:bus minimum:5000 name:BUS_RD_PRTL : Bus Read Partial Transactions
+event:0x96 counters:0,1,2,3 um:zero minimum:5000 name:BUS_SNOOPQ_REQ : Bus Snoop Queue Requests
+event:0x86 counters:0,1,2,3 um:bus minimum:5000 name:BUS_SNOOPS : Bus Snoops Total
+event:0x85 counters:0,1,2,3 um:bus_snoop minimum:5000 name:BUS_SNOOPS_HITM : Bus Snoops HIT Modified Cache Line
+event:0x8f counters:0,1,2,3 um:bus_snoop minimum:5000 name:BUS_SNOOP_STALL_CYCLES : Bus Snoop Stall Cycles (from any agent)
+event:0x92 counters:0,1,2,3 um:bus_wr_wb minimum:5000 name:BUS_WR_WB : Bus Write Back Transactions
+event:0x89 counters:0,1,2,3 um:mem_read_current minimum:5000 name:MEM_READ_CURRENT : Current Mem Read Transactions On Bus
+
+# RSE Events, Table 11-34
+event:0x2b counters:0,1,2,3 um:zero minimum:500 name:RSE_CURRENT_REGS_2_TO_0 : Current RSE registers
+event:0x2a counters:0,1,2,3 um:zero minimum:500 name:RSE_CURRENT_REGS_5_TO_3 : Current RSE registers
+event:0x26 counters:0,1,2,3 um:zero minimum:500 name:RSE_CURRENT_REGS_6 : Current RSE registers
+event:0x29 counters:0,1,2,3 um:zero minimum:500 name:RSE_DIRTY_REGS_2_TO_0 : Dirty RSE registers
+event:0x28 counters:0,1,2,3 um:zero minimum:500 name:RSE_DIRTY_REGS_5_TO_3 : Dirty RSE registers
+event:0x24 counters:0,1,2,3 um:zero minimum:500 name:RSE_DIRTY_REGS_6 : Dirty RSE registers
+event:0x32 counters:0,1,2,3 um:zero minimum:500 name:RSE_EVENT_RETIRED : Retired RSE operations
+event:0x20 counters:0,1,2,3 um:rse_references_retired minimum:500 name:RSE_REFERENCES_RETIRED : RSE Accesses
+
+# IA64 Performance Monitors Ordered by Code, Table 11-36
+event:0xbb counters:0,1,2,3 um:zero minimum:5000 name:TAGGED_L2_DATA_RETURN_POR : Tagged L2 Data Return Ports 0/1
diff --git a/events/ia64/itanium2/unit_masks b/events/ia64/itanium2/unit_masks
new file mode 100644
index 0000000..bc74f5d
--- /dev/null
+++ b/events/ia64/itanium2/unit_masks
@@ -0,0 +1,465 @@
+# IA-64 Itanium 2 possible unit masks
+#
+# The information for the following entries for the Itanium 2
+# came from Intel Itanium 2 Processor Reference Manual For
+# Software Development and Optimization, June 2002, Document
+# number 251110-001.
+
+name:zero type:mandatory default:0x0
+ 0x0 No unit mask
+
+# CPU_IA64_2 Table 11-37, 11-72
+name:alat_capacity_miss type:bitmask default:0x03
+ 0x1 INT
+ 0x2 FP
+ 0x3 ALL
+
+# CPU_IA64_2 Table 11-38
+name:back_end_bubble type:exclusive default:0x00
+ 0x0 ALL
+ 0x1 FE
+ 0x2 L1D_FPU_RSE
+
+# CPU_IA64_2 Table 11-39
+name:be_br_mispredict_detail type:exclusive default:0x00
+ 0x0 ANY
+ 0x1 STG
+ 0x2 ROT
+ 0x3 PFS
+
+# CPU_IA64_2 Table 11-40
+name:be_exe_bubble type:exclusive default:0x00
+ 0x0 ALL
+ 0x1 GRALL
+ 0x2 FRALL
+ 0x3 PR
+ 0x4 ARCR
+ 0x5 GRCR
+ 0x6 CANCEL
+ 0x7 BANK_SWITCH
+ 0x8 ARCR_PR_CANCEL_BANK
+
+# CPU_IA64_2 Table 11-41
+name:be_flush_bubble type:exclusive default:0x00
+ 0x0 ALL
+ 0x1 BRU
+ 0x2 XPN
+
+# CPU_IA64_2 Table 11-42
+name:be_l1d_fpu_bubble type:exclusive default:0x00
+ 0x0 ALL
+ 0x1 FPU
+ 0x2 L1D
+ 0x3 L1D_FULLSTBUF
+ 0x4 L1D_DCURECIR
+ 0x5 L1D_HPW
+ 0x7 L1D_FILLCONF
+ 0x8 L1D_DCS
+ 0x9 L1D_L2BPRESS
+ 0xa L1D_TLB
+ 0xb L1D_LDCONF
+ 0xc L1D_LDCHK
+ 0xd L1D_NAT
+ 0xe L1D_STBUFRECIR
+ 0xf L1D_NATCONF
+
+# CPU_IA64_2 Table 11-43
+# FIXME: events using this is commented out in events
+#name:be_lost_bw_due_to_fe type:exclusive default:0x00
+# 0x0 ALL
+# 0x1 FEFLUSH
+# 0x4 UNREACHED
+# 0x5 IBFULL
+# 0x6 IMISS
+# 0x7 TLBMISS
+# 0x8 FILL_RECIRC
+# 0x9 BI
+# 0xa BRQ
+# 0xb PLP
+# 0xc BR_ILOCK
+# 0xd BUBBLE
+
+# CPU_IA64_2 Table 11-44
+name:be_rse_bubble type:exclusive default:0x00
+ 0x0 ALL
+ 0x1 BANK_SWITCH
+ 0x2 AR_DEP
+ 0x3 OVERFLOW
+ 0x4 UNDERFLOW
+ 0x5 LOADRS
+
+# CPU_IA64_2 Table 11-45
+name:br_mispred_detail type:exclusive default:0x00
+ 0x0 ALL.ALL_PRED
+ 0x1 ALL.CORRECT_PRED
+ 0x2 ALL.WRONG_PATH
+ 0x3 ALL.WRONG_TARGET
+ 0x4 IPREL.ALL_PRED
+ 0x5 IPREL.CORRECT_PRED
+ 0x6 IPREL.WRONG_PATH
+ 0x7 IPREL.WRONG_TARGET
+ 0x8 RETURN.ALL_PRED
+ 0x9 RETURN.CORRECT_PRED
+ 0xa RETURN.WRONG_PATH
+ 0xb RETURN.WRONG_TARGET
+ 0xc NRETIND.ALL_PRED
+ 0xd NRETIND.CORRECT_PRED
+ 0xe NRETIND.WRONG_PATH
+ 0xf NRETIND.WRONG_TARGET
+
+# CPU_IA64_2 Table 11-46
+name:br_mispredict_detail2 type:exclusive default:0x00
+ 0x0 ALL.ALL_UNKNOWN_PRED
+ 0x1 ALL.UKNOWN_PATH_CORRECT_PRED
+ 0x2 ALL.UKNOWN_PATH_WRONG_PATH
+ 0x4 IPREL.ALL_UNKNOWN_PRED
+ 0x5 IPREL.UNKNOWN_PATH_CORRECT_PRED
+ 0x6 IPREL.UNKNOWN_PATH_WRONG_PATH
+ 0x8 RETURN.ALL_UNKNOWN_PRED
+ 0x9 RETURN.UNKNOWN_PATH_CORRECT_PRED
+ 0xa RETURN.UNKNOWN_PATH_WRONG_PATH
+ 0xc NRETIND.ALL_UNKNOWN_PRED
+ 0xd NRETIND.UNKNOWN_PATH_CORRECT_PRED
+ 0xe NRETIND.UNKNOWN_PATH_WRONG_PATH
+
+# CPU_IA64_2 Table 11-47
+name:br_path_pred type:exclusive default:0x00
+ 0x0 ALL.MISPRED_NOTTAKEN
+ 0x1 ALL.MISPRED_TAKEN
+ 0x2 ALL.OKPRED_NOTTAKEN
+ 0x3 ALL.OKPRED_TAKEN
+ 0x4 IPREL.MISPRED_NOTTAKEN
+ 0x5 IPREL.MISPRED_TAKEN
+ 0x6 IPREL.OKPRED_NOTTAKEN
+ 0x7 IPREL.OKPRED_TAKEN
+ 0x8 RETURN.MISPRED_NOTTAKEN
+ 0x9 RETURN.MISPRED_TAKEN
+ 0xa RETURN.OKPRED_NOTTAKEN
+ 0xb RETURN.OKPRED_TAKEN
+ 0xc NRETIND.MISPRED_NOTTAKEN
+ 0xd NRETIND.MISPRED_TAKEN
+ 0xe NRETIND.OKPRED_NOTTAKEN
+ 0xf NRETIND.OKPRED_TAKEN
+
+# CPU_IA64_2 Table 11-48
+name:br_path_pred2 type:exclusive default:0x00
+ 0x0 ALL.UNKNOWNPRED_NOTTAKEN
+ 0x1 ALL.UNKNOWNPRED_TAKEN
+ 0x4 IPREL.UNKNOWNPRED_NOTTAKEN
+ 0x5 IPREL.UNKNOWNPRED__TAKEN
+ 0x8 RETURN.UNKNOWNPRED_NOTTAKEN
+ 0x9 RETURN.UNKNOWNPRED_TAKEN
+ 0xc NRETIND.UNKNOWNPRED_NOTTAKEN
+ 0xd NRETIND.UNKNOWNPRED_TAKEN
+
+# CPU_IA64_2 Table 11-49, 11-51, 11-55, 11-56, 11-57, 11-58
+name:bus type:exclusive default:0x03
+ 0x1 IO
+ 0x2 SELF
+ 0x3 ANY
+
+# CPU_IA64_2 Table 11-50 b0001
+name:bus_backsnp_req type:mandatory default:0x01
+ 0x1 0x0
+
+# CPU_IA64_2 Table 11-52
+name:bus_lock type:exclusive default:0x03
+ 0x2 SELF
+ 0x3 ANY
+
+# CPU_IA64_2 Table 11-53
+name:bus_memory type:exclusive default:0x0f
+ 0x5 EQ_128BYTEIO
+ 0x6 EQ_128BYTE_SELF
+ 0x7 EQ_128BYTE_ANY
+ 0x9 LT_128BYTEIO
+ 0xa LT_128BYTE_SELF
+ 0xb LT_128BYTE_ANY
+ 0xd ALL IO
+ 0xe ALL SELF
+ 0xf ALL ANY
+
+# CPU_IA64_2 Table 11-54
+name:bus_mem_read type:exclusive default:0x0f
+ 0x1 BIL IO
+ 0x2 BIL SELF
+ 0x3 BIL ANY
+ 0x5 BRL IO
+ 0x6 BRL SELF
+ 0x7 BRL_ANY
+ 0x9 BRIL IO
+ 0xa BRIL SELF
+ 0xb BRIL ANY
+ 0xd ALL IO
+ 0xe ALL SELF
+ 0xf ALL ANY
+
+# CPU_IA64_2 Table 11-59, 11-60
+name:bus_snoop type:exclusive default:0x03
+ 0x2 SELF
+ 0x3 ANY
+
+# CPU_IA64_2 Table 11-61
+name:bus_wr_wb type:exclusive default:0x0f
+ 0x5 EQ_128BYTE IO
+ 0x6 EQ_128BYTE SELF
+ 0x7 EQ_128BYTE ANY
+ 0xa CCASTOUT SELF
+ 0xb CCASTOUT ANY
+ 0xd ALL IO
+ 0xe ALL SELF
+ 0xf ALL ANY
+
+# CPU_IA64_2 Table 11-62
+name:encbr_mispred_detail type:exclusive default:0x0
+ 0x0 ALL.ALL_PRED
+ 0x1 ALL.CORRECT_PRED
+ 0x2 ALL.WRONG_PATH
+ 0x3 ALL.WRONG_TARGET
+ 0x8 OVERSUB.ALL_PRED
+ 0x9 OVERSUB.CORRECT_PRED
+ 0xa OVERSUB.CORRECT_PRED
+ 0xb OVERSUB.WRONGPATH
+ 0xc ALL2.ALL_PRED
+ 0xd ALL2.CORRECT_PRED
+ 0xe ALL2.WRONG_PATH
+ 0xf ALL2.WRONG_TARGET
+
+# CPU_IA64_2 Table 11-63
+name:extern_dp_pins_0_to_3 type:bitmask default:0xf
+ 0x1 PIN0
+ 0x2 PIN1
+ 0x4 PIN2
+ 0x8 PIN3
+ 0xf ALL
+
+# CPU_IA64_2 Table 11-64
+name:extern_dp_pins_4_to_5 type:bitmask default:0x03
+ 0x1 PIN4
+ 0x2 PIN5
+ 0xf ALL
+
+# CPU_IA64_2 Table 11-65
+name:fe_bubble type:exclusive default:0x0
+ 0x0 ALL
+ 0x1 FEFLUSH
+ 0x3 GROUP1
+ 0x4 GROUP2
+ 0x5 IBFULL
+ 0x6 IMISS
+ 0x7 TLBMISS
+ 0x8 FILL_RECIRC
+ 0x9 BRANCH
+ 0xa GROUP3
+ 0xb ALLBUT_FEFLUSH_BUBBLE
+ 0xc ALLBUT_IBFULL
+ 0xd BUBBLE
+
+# CPU_IA64_2 Table 11-66, 11-69*/
+name:fe_lost type:exclusive default:0x0
+ 0x0 ALL
+ 0x1 FEFLUSH
+ 0x4 UNREACHED
+ 0x5 IBFULL
+ 0x6 IMISS
+ 0x7 TLBMISS
+ 0x8 FILL_RECIRC
+ 0x9 BI
+ 0xa BRQ
+ 0xb PLP
+ 0xc BR_ILOCK
+ 0xd BUBBLE
+
+# CPU_IA64_2 Table 11-67, 11-79, 11-86, 11-90, 11-92 b0000
+# FIXME: events using this is commented out in events
+#name:this type:exclusive default:0x0
+# 0x0 THIS
+
+# CPU_IA64_2 Table 11-68
+name:tagged_inst_retired type:exclusive default:0x0
+ 0x0 IBRP0_PMB8
+ 0x1 IBRP1_PMB9
+ 0x2 IBRP2_PMC8
+ 0x3 IBRP3_PMC9
+
+# CPU_IA64_2 Table 11-73
+name:itlb_misses_fetch type:exclusive default:0x3
+ 0x1 L1ITLB
+ 0x2 L2ITLB
+ 0x3 ALL
+
+# CPU_IA64_2 Table 11-74
+name:l1d_read_misses type:exclusive default:0x0
+ 0x0 ALL
+ 0x1 RSE_FILL
+
+# CPU_IA64_2 Table 11-75
+name:l1i_prefetch_stall type:exclusive default:0x3
+ 0x2 FLOW
+ 0x3 ALL
+
+# CPU_IA64_2 Table 11-76, 11-91 b0000
+# FIXME: events using this is commented out in events
+#name:l2_lines type:exclusive default:0x0
+# 0x0 ANY
+
+# CPU_IA64_2 Table 11-77
+name:l2_bypass type:exclusive default:0x0
+ 0x0 L2_DATA1
+ 0x1 L2_DATA2
+ 0x2 L3_DATA1
+ 0x4 L2_INST1
+ 0x5 L2_INST2
+ 0x6 L3_INST1
+
+# CPU_IA64_2 Table 11-78
+# FIXME: events using this is commented out in events
+#name:l2_data_references type:bitmask default:0x3
+# 0x1 L2_DATA_READS
+# 0x2 L2_DATA_WRITES
+# 0x3 L2_ALL
+
+# CPU_IA64_2 Table 11-80
+name:l2_force_recirc type:exclusive default:0x0
+ 0x0 ANY
+ 0x1 SMC_HIT
+ 0x2 L1W
+ 0x4 TAG_NOTOK
+ 0x5 TRAN_PREF
+ 0x6 SNP_OR_L3
+ 0x8 VIC_PEND
+ 0x9 FILL_HIT
+ 0xa IPF_MISS
+ 0xb VIC_BUF_FULL
+ 0xc OZQ_MISS
+ 0xd SAME_INDEX
+ 0xe FRC_RECIRC
+
+# CPU_IA64_2 Table 11-81, 11-83 b1000
+name:recirc_ifetch type:mandatory default:0x8
+ 0x8 default:0x0} } };
+
+# CPU_IA64_2 Table 11-82
+name:l2_ifet_cancels type:exclusive default:0x0
+ 0x0 ANY
+ 0x2 BYPASS
+ 0x4 DIDNT_RECIR
+ 0x5 RECIRC_OVER_SUB
+ 0x6 ST_FILL_WB
+ 0x7 DATA_RD
+ 0x8 PREEMPT
+ 0xc CHG_PRIO
+ 0xd IFETCH_BYP
+
+# CPU_IA64_2 Table 11-84
+name:l2_l3_access_cancel type:exclusive default:0x9
+ 0x1 SPEC_L3_BYP
+ 0x2 FILLD_FULL
+ 0x5 UC_BLOCKED
+ 0x6 INV_L3_BYP
+ 0x8 EBL_REJECT
+ 0x9 ANY
+ 0xa DFETCH
+ 0xb IFETCH
+
+# CPU_IA64_2 Table 11-85
+name:l2_ops_issued type:exclusive default:0x8
+ 0x8 INT_LOAD
+ 0x9 FP_LOAD
+ 0xa RMW
+ 0xb STORE
+ 0xc NST_NLD
+
+# CPU_IA64_2 Table 11-87
+name:l2_ozq_cancels0 type:exclusive default:0x0
+ 0x0 ANY
+ 0x1 LATE_SPEC_BYP
+ 0x2 LATE_RELEASE
+ 0x3 LATE_ACQUIRE
+ 0x4 LATE_BYP_EFFRELEASE
+
+# CPU_IA64_2 Table 11-88
+name:l2_ozq_cancels1 type:exclusive default:0x1
+ 0x0 REL
+ 0x1 BANK_CONF
+ 0x2 L2D_ST_MAT
+ 0x4 SYNC
+ 0x5 HPW_IFETCH_CONF
+ 0x6 CANC_L2M_ST
+ 0x7 L1_FILL_CONF
+ 0x8 ST_FILL_CONF
+ 0x9 CCV
+ 0xa SEM
+ 0xb L2M_ST_MAT
+ 0xc MFA
+ 0xd L2A_ST_MAT
+ 0xe L1DF_L2M
+ 0xf ECC
+
+# CPU_IA64_2 Table 11-89
+name:l2_ozq_cancels2 type:exclusive default:0x0
+ 0x0 RECIRC_OVER_SUB
+ 0x1 CANC_L2C_ST
+ 0x2 L2C_ST_MAT
+ 0x3 SCRUB
+ 0x4 ACQ
+ 0x5 READ_WB_CONF
+ 0x6 OZ_DATA_CONF
+ 0x8 L2FILL_ST_CONF
+ 0x9 DIDNT_RECIRC
+ 0xa WEIRD
+ 0xc OVER_SUB
+ 0xd CANC_L2D_ST
+ 0xf D_IFET
+
+# CPU_IA64_2 Table 11-93
+name:l3_reads type:exclusive default:0x3
+ 0x1 DINST_FETCH.HIT
+ 0x2 DINST_FETCH.MISS
+ 0x3 DINST_FETCH.ALL
+ 0x5 INST_FETCH.HIT
+ 0x6 INST_FETCH.MISS
+ 0x7 INST_FETCH.ALL
+ 0x9 DATA_READ.HIT
+ 0xa DATA_READ.MISS
+ 0xb DATA_READ.ALL
+ 0xd ALL.HIT
+ 0xe ALL.MISS
+ 0xf ALL.ALL
+
+# CPU_IA64_2 Table 11-94
+name:l3_writes type:exclusive default:0x7
+ 0x5 DATA_WRITE.HIT
+ 0x6 DATA_WRITE.MISS
+ 0x7 DATA_WRITE.ALL
+ 0x9 L2_WB.HIT
+ 0xa L2_WB.MISS
+ 0xb L2_WB.ALL
+ 0xd ALL.HIT
+ 0xe ALL.MISS
+ 0xf ALL.ALL
+
+# CPU_IA64_2 Table 11-95
+name:mem_read_current type:exclusive default:0x3
+ 0x1 IO
+ 0x3 ANY
+
+# CPU_IA64_2 Table 11-96
+name:rse_references_retired type:bitmask default:0x3
+ 0x1 LOAD
+ 0x2 STORE
+ 0x3 ALL
+
+# CPU_IA64_2 Table 11-97 bitmask
+name:syll_not_dispersed type:bitmask default:0xf
+ 0x1 EXPL
+ 0x2 IMPL
+ 0x4 FE
+ 0x8 MLI
+ 0xf ALL
+
+# CPU_IA64_2 Table 11-98
+name:syll_overcount type:exclusive default:0x3
+ 0x1 EXPL
+ 0x2 IMPL
+ 0x3 ALL
diff --git a/events/mips/1004K/events b/events/mips/1004K/events
new file mode 100644
index 0000000..698ca89
--- /dev/null
+++ b/events/mips/1004K/events
@@ -0,0 +1,173 @@
+#
+# MIPS 1004K
+#
+
+# The 1004K CPUs have two performance counters.
+#
+# Even/odd counters are distinguished by setting bit 10 in the event
+# mask. The kernel masks this bit out before writing the control
+# register.
+
+#
+# Events specific to both counters
+#
+event:0x0 counters:0,1 um:zero minimum:500 name:CYCLES : 0-0 Cycles
+event:0x1 counters:0,1 um:zero minimum:500 name:INSTRUCTIONS : 1-0 Instructions completed
+event:0xb counters:0,1 um:zero minimum:500 name:DCACHE_MISSES : 11-0 Data cache misses
+
+#
+# Events specific to counter 0
+#
+event:0x2 counters:0 um:zero minimum:500 name:BRANCH_INSNS : 2-0 Branch instructions (whether completed or mispredicted)
+event:0x3 counters:0 um:zero minimum:500 name:JR_31_INSNS : 3-0 JR $31 (return) instructions executed
+event:0x4 counters:0 um:zero minimum:500 name:JR_NON_31_INSNS : 4-0 JR $xx (not $31) instructions executed (at same cost as a mispredict)
+event:0x5 counters:0 um:zero minimum:500 name:ITLB_ACCESSES : 5-0 Instruction micro-TLB accesses
+event:0x6 counters:0 um:zero minimum:500 name:DTLB_ACCESSES : 6-0 Data micro-TLB accesses
+event:0x7 counters:0 um:zero minimum:500 name:JTLB_INSN_ACCESSES : 7-0 Joint TLB instruction accesses
+event:0x8 counters:0 um:zero minimum:500 name:JTLB_DATA_ACCESSES : 8-0 Joint TLB data (non-instruction) accesses
+event:0x9 counters:0 um:zero minimum:500 name:ICACHE_ACCESSES : 9-0 Instruction cache accesses
+event:0xa counters:0 um:zero minimum:500 name:DCACHE_ACCESSES : 10-0 Data cache accesses
+
+event:0xd counters:0 um:zero minimum:500 name:STORE_MISS_INSNS : 13-0 Cacheable stores that miss in the cache
+event:0xe counters:0 um:zero minimum:500 name:INTEGER_INSNS : 14-0 Integer instructions completed
+event:0xf counters:0 um:zero minimum:500 name:LOAD_INSNS : 15-0 Load instructions completed (including FP)
+event:0x10 counters:0 um:zero minimum:500 name:J_JAL_INSNS : 16-0 J/JAL instructions completed
+event:0x11 counters:0 um:zero minimum:500 name:NO_OPS_INSNS : 17-0 no-ops completed, ie instructions writing $0
+event:0x12 counters:0 um:zero minimum:500 name:ALL_STALLS : 18-0 Stall cycles, including ALU and IFU
+event:0x13 counters:0 um:zero minimum:500 name:SC_INSNS : 19-0 SC instructions completed
+event:0x14 counters:0 um:zero minimum:500 name:PREFETCH_INSNS : 20-0 PREFETCH instructions completed
+event:0x15 counters:0 um:zero minimum:500 name:L2_CACHE_WRITEBACKS : 21-0 L2 cache lines written back to memory
+event:0x16 counters:0 um:zero minimum:500 name:L2_CACHE_MISSES : 22-0 L2 cache accesses that missed in the cache
+event:0x17 counters:0 um:zero minimum:500 name:EXCEPTIONS_TAKEN : 23-0 Exceptions taken
+event:0x18 counters:0 um:zero minimum:500 name:CACHE_FIXUP_CYCLES : 24-0 Cache fixup cycles (specific to the 34K family microarchitecture)
+event:0x19 counters:0 um:zero minimum:500 name:IFU_STALLS : 25-0 IFU stall cycles
+event:0x1a counters:0 um:zero minimum:500 name:DSP_INSNS : 26-0 DSP instructions completed
+
+event:0x1c counters:0 um:zero minimum:500 name:POLICY_EVENTS : 28-0 Implementation specific policy manager events
+event:0x1d counters:0 um:zero minimum:500 name:ISPRAM_EVENTS : 29-0 Implementation specific ISPRAM events
+event:0x1e counters:0 um:zero minimum:500 name:COREEXTEND_EVENTS : 30-0 Implementation specific CorExtend events
+event:0x1f counters:0 um:zero minimum:500 name:YIELD_EVENTS : 31-0 Implementation specific yield events
+
+event:0x20 counters:0 um:zero minimum:500 name:ITC_LOADS : 32-0 ITC Loads
+event:0x21 counters:0 um:zero minimum:500 name:UNCACHED_LOAD_INSNS : 33-0 Uncached load instructions
+event:0x22 counters:0 um:zero minimum:500 name:FORK_INSNS : 34-0 Fork instructions completed
+event:0x23 counters:0 um:zero minimum:500 name:CP2_ARITH_INSNS : 35-0 CP2 arithmetic instructions completed
+event:0x24 counters:0 um:zero minimum:500 name:INTERVENTION_STALLS : 36-0 Cache coherence intervention processing stall cycles
+
+#
+# Count number of cycles (most often ``stall cycles'', ie time lost), not just number of events.
+#
+event:0x25 counters:0 um:zero minimum:500 name:ICACHE_MISS_STALLS : 37-0 Stall cycles due to an instruction cache miss
+
+event:0x27 counters:0 um:zero minimum:500 name:DCACHE_MISS_CYCLES : 39-0 Cycles a data cache miss is outstanding, but not necessarily stalling the pipeline
+event:0x28 counters:0 um:zero minimum:500 name:UNCACHED_STALLS : 40-0 Uncached stall cycles
+event:0x29 counters:0 um:zero minimum:500 name:MDU_STALLS : 41-0 MDU stall cycles
+event:0x2a counters:0 um:zero minimum:500 name:CP2_STALLS : 42-0 CP2 stall cycles
+event:0x2b counters:0 um:zero minimum:500 name:ISPRAM_STALLS : 43-0 ISPRAM stall cycles
+event:0x2c counters:0 um:zero minimum:500 name:CACHE_INSN_STALLS : 44-0 Stall cycless due to CACHE instructions
+event:0x2d counters:0 um:zero minimum:500 name:LOAD_USE_STALLS : 45-0 Load to use stall cycles
+event:0x2e counters:0 um:zero minimum:500 name:INTERLOCK_STALLS : 46-0 Stall cycles due to return data from MFC0, RDHWR, and MFTR instructions
+event:0x2f counters:0 um:zero minimum:500 name:RELAX_STALLS : 47-0 Low power stall cycles (operations) as requested by the policy manager
+
+event:0x30 counters:0 um:zero minimum:500 name:IFU_FB_FULL_REFETCHES : 48-0 Refetches due to cache misses while both fill buffers already allocated
+event:0x31 counters:0 um:zero minimum:500 name:EJTAG_INSN_TRIGGERS : 49-0 EJTAG instruction triggerpoints
+
+#
+#
+# Monitor the state of various FIFO queues in the load/store unit:
+# FSB (``fill/store buffer'')
+# LDQ (``load queue'')
+# WBB (``write-back buffer'')
+# Some count events, others count stall cycles.
+#
+event:0x32 counters:0 um:zero minimum:500 name:FSB_LESS_25_FULL : 50-0 FSB < 25% full
+event:0x33 counters:0 um:zero minimum:500 name:FSB_OVER_50_FULL : 51-0 FSB > 50% full
+event:0x34 counters:0 um:zero minimum:500 name:LDQ_LESS_25_FULL : 52-0 LDQ < 25% full
+event:0x35 counters:0 um:zero minimum:500 name:LDQ_OVER_50_FULL : 53-0 LDQ > 50% full
+event:0x36 counters:0 um:zero minimum:500 name:WBB_LESS_25_FULL : 54-0 WBB < 25% full
+event:0x37 counters:0 um:zero minimum:500 name:WBB_OVER_50_FULL : 55-0 WBB > 50% full
+
+event:0x38 counters:0 um:zero minimum:500 name:INTERVENTION_HIT_COUNT : 56-0 External interventions that hit in the cache
+event:0x39 counters:0 um:zero minimum:500 name:INVALIDATE_INTERVENTION_COUNT : 57-0 External invalidate (i.e. leaving a cache line in the invalid state) interventions
+event:0x3a counters:0 um:zero minimum:500 name:EVICTION_COUNT : 58-0 Cache lines written back due to cache replacement or non-coherent cache operation
+event:0x3b counters:0 um:zero minimum:500 name:MESI_INVAL_COUNT : 59-0 MESI protocol transitions into invalid state
+event:0x3c counters:0 um:zero minimum:500 name:MESI_MODIFIED_COUNT : 60-0 MESI protocol transitions into modified state
+event:0x3d counters:0 um:zero minimum:500 name:SELF_INTERVENTION_LATENCY : 61-0 Latency from miss detection to self intervention
+event:0x3e counters:0 um:zero minimum:500 name:READ_RESPONSE_LATENCY : 62-0 Read latency from miss detection until critical dword of response is returned
+
+#
+# Events specific to counter 1
+#
+event:0x402 counters:1 um:zero minimum:500 name:MISPREDICTED_BRANCH_INSNS : 2-1 Branch mispredictions
+event:0x403 counters:1 um:zero minimum:500 name:JR_31_MISPREDICTIONS : 3-1 JR $31 mispredictions
+event:0x404 counters:1 um:zero minimum:500 name:JR_31_NO_PREDICTIONS : 4-1 JR $31 not predicted (stack mismatch).
+event:0x405 counters:1 um:zero minimum:500 name:ITLB_MISSES : 5-1 Instruction micro-TLB misses
+event:0x406 counters:1 um:zero minimum:500 name:DTLB_MISSES : 6-1 Data micro-TLB misses
+event:0x407 counters:1 um:zero minimum:500 name:JTLB_INSN_MISSES : 7-1 Joint TLB instruction misses
+event:0x408 counters:1 um:zero minimum:500 name:JTLB_DATA_MISSES : 8-1 Joint TLB data (non-instruction) misses
+event:0x409 counters:1 um:zero minimum:500 name:ICACHE_MISSES : 9-1 Instruction cache misses
+event:0x40a counters:1 um:zero minimum:500 name:DCACHE_WRITEBACKS : 10-1 Data cache lines written back to memory
+
+event:0x40d counters:1 um:zero minimum:500 name:LOAD_MISS_INSNS : 13-1 Cacheable load instructions that miss in the cache
+event:0x40e counters:1 um:zero minimum:500 name:FPU_INSNS : 14-1 FPU instructions completed (not including loads/stores)
+event:0x40f counters:1 um:zero minimum:500 name:STORE_INSNS : 15-1 Stores completed (including FP)
+event:0x410 counters:1 um:zero minimum:500 name:MIPS16_INSNS : 16-1 MIPS16 instructions completed
+event:0x411 counters:1 um:zero minimum:500 name:INT_MUL_DIV_INSNS : 17-1 Integer multiply/divide instructions completed
+event:0x412 counters:1 um:zero minimum:500 name:REPLAYED_INSNS : 18-1 Replayed instructions
+event:0x413 counters:1 um:zero minimum:500 name:SC_INSNS_FAILED : 19-1 SC instructions completed, but store failed (because the link bit had been cleared)
+event:0x414 counters:1 um:zero minimum:500 name:CACHE_HIT_PREFETCH_INSNS : 20-1 PREFETCH instructions completed with cache hit
+event:0x415 counters:1 um:zero minimum:500 name:L2_CACHE_ACCESSES : 21-1 Accesses to the L2 cache
+event:0x416 counters:1 um:zero minimum:500 name:L2_CACHE_SINGLE_BIT_ERRORS : 22-1 Single bit errors corrected in L2
+event:0x417 counters:1 um:zero minimum:500 name:SINGLE_THREADED_CYCLES : 23-1 Cycles while one and only one TC is eligible for scheduling
+event:0x418 counters:1 um:zero minimum:500 name:REFETCHED_INSNS : 24-1 Replayed instructions sent back to IFU to be refetched
+event:0x419 counters:1 um:zero minimum:500 name:ALU_STALLS : 25-1 ALU stall cycles
+event:0x41a counters:1 um:zero minimum:500 name:ALU_DSP_SATURATION_INSNS : 26-1 ALU-DSP saturation instructions
+event:0x41b counters:1 um:zero minimum:500 name:MDU_DSP_SATURATION_INSNS : 27-1 MDU-DSP saturation instructions
+
+event:0x41c counters:1 um:zero minimum:500 name:CP2_EVENTS : 28-1 Implementation specific CP2 events
+event:0x41d counters:1 um:zero minimum:500 name:DSPRAM_EVENTS : 29-1 Implementation specific DSPRAM events
+
+event:0x41f counters:1 um:zero minimum:500 name:ITC_EVENT : 31-1 Implementation specific yield event
+
+event:0x421 counters:1 um:zero minimum:500 name:UNCACHED_STORE_INSNS : 33-1 Uncached store instructions
+event:0x423 counters:1 um:zero minimum:500 name:CP2_TO_FROM_INSNS : 35-1 CP2 to/from instructions (moves, control, loads, stores)
+event:0x424 counters:1 um:zero minimum:500 name:INTERVENTION_MISS_STALLS : 36-1 Cache coherence intervention processing stall cycles due to an earlier miss
+
+#
+# Count number of cycles (most often ``stall cycles'', ie time lost), not just number of events.
+#
+event:0x425 counters:1 um:zero minimum:500 name:DCACHE_MISS_STALLS : 37-1 Stall cycles due to a data cache miss
+event:0x426 counters:1 um:zero minimum:500 name:FSB_INDEX_CONFLICT_STALLS : 38-1 FSB (fill/store buffer) index conflict stall cycles
+event:0x427 counters:1 um:zero minimum:500 name:L2_CACHE_MISS_CYCLES : 39-1 Cycles a L2 miss is outstanding, but not necessarily stalling the pipeline
+event:0x428 counters:1 um:zero minimum:500 name:ITC_STALLS : 40-1 ITC stall cycles
+event:0x429 counters:1 um:zero minimum:500 name:FPU_STALLS : 41-1 FPU stall cycles
+event:0x42a counters:1 um:zero minimum:500 name:COREEXTEND_STALLS : 42-1 CorExtend stall cycles
+event:0x42b counters:1 um:zero minimum:500 name:DSPRAM_STALLS : 43-1 DSPRAM stall cycles
+
+event:0x42d counters:1 um:zero minimum:500 name:ALU_TO_AGEN_STALLS : 45-1 ALU to AGEN stall cycles
+event:0x42e counters:1 um:zero minimum:500 name:MISPREDICTION_STALLS : 46-1 Branch mispredict stall cycles
+
+event:0x430 counters:1 um:zero minimum:500 name:FB_ENTRY_ALLOCATED_CYCLES : 48-1 Cycles while at least one IFU fill buffer is allocated
+event:0x431 counters:1 um:zero minimum:500 name:EJTAG_DATA_TRIGGERS : 49-1 EJTAG Data triggerpoints
+
+#
+# Monitor the state of various FIFO queues in the load/store unit:
+# FSB (``fill/store buffer'')
+# LDQ (``load queue'')
+# WBB (``write-back buffer'')
+# Some count events, others count stall cycles.
+#
+event:0x432 counters:1 um:zero minimum:500 name:FSB_25_50_FULL : 50-1 FSB 25-50% full
+event:0x433 counters:1 um:zero minimum:500 name:FSB_FULL_STALLS : 51-1 FSB full pipeline stall cycles
+event:0x434 counters:1 um:zero minimum:500 name:LDQ_25_50_FULL : 52-1 LDQ 25-50% full
+event:0x435 counters:1 um:zero minimum:500 name:LDQ_FULL_STALLS : 53-1 LDQ full pipeline stall cycles
+event:0x436 counters:1 um:zero minimum:500 name:WBB_25_50_FULL : 54-1 WBB 25-50% full
+event:0x437 counters:1 um:zero minimum:500 name:WBB_FULL_STALLS : 55-1 WBB full pipeline stall cycles
+
+event:0x438 counters:1 um:zero minimum:500 name:INTERVENTION_COUNT : 56-1 External interventions
+event:0x439 counters:1 um:zero minimum:500 name:INVALIDATE_INTERVENTION_HIT_COUNT : 57-1 External invalidate interventions that hit in the cache
+event:0x43a counters:1 um:zero minimum:500 name:WRITEBACK_COUNT : 58-1 Cache lines written back due to cache replacement or any cache operation (non-coherent, self, or external coherent)
+event:0x43b counters:1 um:zero minimum:500 name:MESI_EXCLUSIVE_COUNT : 59-1 MESI protocol transitions into exclusive state
+event:0x43c counters:1 um:zero minimum:500 name:MESI_SHARED_COUNT : 60-1 MESI protocol transitions into shared state
+event:0x43d counters:1 um:zero minimum:500 name:SELF_INTERVENTION_COUNT : 61-1 Self intervention requests on miss detection
+event:0x43e counters:1 um:zero minimum:500 name:READ_RESPONSE_COUNT : 62-1 Read requests on miss detection
diff --git a/events/mips/1004K/unit_masks b/events/mips/1004K/unit_masks
new file mode 100644
index 0000000..cbba0f9
--- /dev/null
+++ b/events/mips/1004K/unit_masks
@@ -0,0 +1,5 @@
+#
+# MIPS 1004K possible unit masks
+#
+name:zero type:mandatory default:0x0
+ 0x0 No unit mask
diff --git a/events/mips/20K/events b/events/mips/20K/events
new file mode 100644
index 0000000..25428e9
--- /dev/null
+++ b/events/mips/20K/events
@@ -0,0 +1,21 @@
+#
+# MIPS 20K
+#
+# The 20K supports only one performance counter.
+#
+event:0x0 counters:0 um:zero minimum:500 name:CYCLES : CPU cycles
+event:0x1 counters:0 um:zero minimum:500 name:INSN_ISSUED : Dispatched/issued instructions
+event:0x2 counters:0 um:zero minimum:500 name:FETCH_GROUPS : Fetch groups entering CPU execution pipes
+event:0x3 counters:0 um:zero minimum:500 name:FP_INSNS_COMPLETED : Instructions completed in FPU datapath (computational event:instructions only)
+event:0x4 counters:0 um:zero minimum:500 name:TLB_REFILLS_TAKEN : Taken TLB refill exceptions
+event:0x5 counters:0 um:zero minimum:500 name:BRANCHES_MISSPREDICTED : Branches that mispredicted before completing execution
+event:0x6 counters:0 um:zero minimum:500 name:BRANCHES_COMPLETED : Branches that completed execution
+event:0x7 counters:0 um:zero minimum:500 name:JTLB_EXCEPTIONS : Taken Joint-TLB exceptions
+event:0x8 counters:0 um:zero minimum:500 name:REPLAY_DUE_TO_LOAD_DEPENDENT_SPEC_DISPATCH : Replays due to load-dependent speculative dispatch
+event:0x9 counters:0 um:zero minimum:500 name:INSN_REQ_FROM_IFU_TO_BIU : Instruction requests from the IFU to the BIU
+event:0xa counters:0 um:zero minimum:500 name:FPU_EXCEPTIONS_TAKEN : Taken FPU exceptions
+event:0xb counters:0 um:zero minimum:500 name:REPLAYS : Total number of LSU requested replays, Load-dependent speculative dispatch or FPU exception prediction replays.
+event:0xc counters:0 um:zero minimum:500 name:RPS_MISSPREDICTS : JR instructions that mispredicted using the Return Prediction Stack (RPS)
+event:0xd counters:0 um:zero minimum:500 name:JR_INSNS_COMPLETED : JR instruction that completed execution
+event:0xe counters:0 um:zero minimum:500 name:LSU_REPLAYS : LSU requested replays
+event:0xf counters:0 um:zero minimum:500 name:INSNS_COMPLETED : Instruction that completed execution (with or without exception)
diff --git a/events/mips/20K/unit_masks b/events/mips/20K/unit_masks
new file mode 100644
index 0000000..7571a6b
--- /dev/null
+++ b/events/mips/20K/unit_masks
@@ -0,0 +1,5 @@
+#
+# MIPS 20Kc possible unit masks
+#
+name:zero type:mandatory default:0x0
+ 0x0 No unit mask
diff --git a/events/mips/24K/events b/events/mips/24K/events
new file mode 100644
index 0000000..58b0e17
--- /dev/null
+++ b/events/mips/24K/events
@@ -0,0 +1,144 @@
+#
+# MIPS 24K
+#
+
+# The 24K CPUs have two performance counters.
+#
+# Even/odd counters are distinguished by setting bit 10 in the event
+# mask. The kernel masks this bit out before writing the control
+# register.
+
+#
+# Events specific to both counters
+#
+event:0x0 counters:0,1 um:zero minimum:500 name:CYCLES : 0-0 Cycles
+event:0x1 counters:0,1 um:zero minimum:500 name:INSTRUCTIONS : 1-0 Instructions completed
+event:0xb counters:0,1 um:zero minimum:500 name:DCACHE_MISSES : 11-0 Data cache misses
+
+#
+# Events specific to counter 0
+#
+event:0x2 counters:0 um:zero minimum:500 name:BRANCH_INSNS : 2-0 Branch instructions (whether completed or mispredicted)
+event:0x3 counters:0 um:zero minimum:500 name:JR_31_INSNS : 3-0 JR $31 (return) instructions executed
+event:0x4 counters:0 um:zero minimum:500 name:JR_NON_31_INSNS : 4-0 JR $xx (not $31) instructions executed (at same cost as a mispredict)
+event:0x5 counters:0 um:zero minimum:500 name:ITLB_ACCESSES : 5-0 Instruction micro-TLB accesses
+event:0x6 counters:0 um:zero minimum:500 name:DTLB_ACCESSES : 6-0 Data micro-TLB accesses
+event:0x7 counters:0 um:zero minimum:500 name:JTLB_INSN_ACCESSES : 7-0 Joint TLB instruction accesses
+event:0x8 counters:0 um:zero minimum:500 name:JTLB_DATA_ACCESSES : 8-0 Joint TLB data (non-instruction) accesses
+event:0x9 counters:0 um:zero minimum:500 name:ICACHE_ACCESSES : 9-0 Instruction cache accesses
+event:0xa counters:0 um:zero minimum:500 name:DCACHE_ACCESSES : 10-0 Data cache accesses
+
+event:0xd counters:0 um:zero minimum:500 name:STORE_MISS_INSNS : 13-0 Cacheable stores that miss in the cache
+event:0xe counters:0 um:zero minimum:500 name:INTEGER_INSNS : 14-0 Integer instructions completed
+event:0xf counters:0 um:zero minimum:500 name:LOAD_INSNS : 15-0 Load instructions completed (including FP)
+event:0x10 counters:0 um:zero minimum:500 name:J_JAL_INSNS : 16-0 J/JAL instructions completed
+event:0x11 counters:0 um:zero minimum:500 name:NO_OPS_INSNS : 17-0 no-ops completed, ie instructions writing $0
+event:0x12 counters:0 um:zero minimum:500 name:ALL_STALLS : 18-0 Stall cycles, including ALU and IFU
+event:0x13 counters:0 um:zero minimum:500 name:SC_INSNS : 19-0 SC instructions completed
+event:0x14 counters:0 um:zero minimum:500 name:PREFETCH_INSNS : 20-0 PREFETCH instructions completed
+event:0x15 counters:0 um:zero minimum:500 name:L2_CACHE_WRITEBACKS : 21-0 L2 cache lines written back to memory
+event:0x16 counters:0 um:zero minimum:500 name:L2_CACHE_MISSES : 22-0 L2 cache accesses that missed in the cache
+event:0x17 counters:0 um:zero minimum:500 name:EXCEPTIONS_TAKEN : 23-0 Exceptions taken
+event:0x18 counters:0 um:zero minimum:500 name:CACHE_FIXUP_CYCLES : 24-0 Cache fixup cycles (specific to the 24K family microarchitecture)
+event:0x19 counters:0 um:zero minimum:500 name:IFU_STALLS : 25-0 IFU stall cycles
+event:0x1a counters:0 um:zero minimum:500 name:DSP_INSNS : 26-0 DSP instructions completed
+
+event:0x1d counters:0 um:zero minimum:500 name:ISPRAM_EVENTS : 29-0 Implementation specific ISPRAM events
+event:0x1e counters:0 um:zero minimum:500 name:COREEXTEND_EVENTS : 30-0 Implementation specific CorExtend events
+
+event:0x21 counters:0 um:zero minimum:500 name:UNCACHED_LOAD_INSNS : 33-0 Uncached load instructions
+event:0x23 counters:0 um:zero minimum:500 name:CP2_ARITH_INSNS : 35-0 CP2 arithmetic instructions completed
+
+#
+# Count number of cycles (most often ``stall cycles'', ie time lost), not just number of events.
+#
+event:0x25 counters:0 um:zero minimum:500 name:ICACHE_MISS_STALLS : 37-0 Stall cycles due to an instruction cache miss
+event:0x26 counters:0 um:zero minimum:500 name:SYNC_STALLS : 38-0 SYNC stall cycles
+event:0x27 counters:0 um:zero minimum:500 name:DCACHE_MISS_CYCLES : 39-0 Cycles a data cache miss is outstanding, but not necessarily stalling the pipeline
+event:0x28 counters:0 um:zero minimum:500 name:UNCACHED_STALLS : 40-0 Uncached stall cycles
+event:0x29 counters:0 um:zero minimum:500 name:MDU_STALLS : 41-0 MDU stall cycles
+event:0x2a counters:0 um:zero minimum:500 name:CP2_STALLS : 42-0 CP2 stall cycles
+event:0x2b counters:0 um:zero minimum:500 name:ISPRAM_STALLS : 43-0 ISPRAM stall cycles
+event:0x2c counters:0 um:zero minimum:500 name:CACHE_INSN_STALLS : 44-0 Stall cycless due to CACHE instructions
+event:0x2d counters:0 um:zero minimum:500 name:LOAD_USE_STALLS : 45-0 Load to use stall cycles
+event:0x2e counters:0 um:zero minimum:500 name:INTERLOCK_STALLS : 46-0 Stall cycles due to return data from MFC0 and RDHWR instructions
+
+event:0x30 counters:0 um:zero minimum:500 name:IFU_FB_FULL_REFETCHES : 48-0 Refetches due to cache misses while both fill buffers already allocated
+event:0x31 counters:0 um:zero minimum:500 name:EJTAG_INSN_TRIGGERS : 49-0 EJTAG instruction triggerpoints
+
+#
+#
+# Monitor the state of various FIFO queues in the load/store unit:
+# FSB (``fill/store buffer'')
+# LDQ (``load queue'')
+# WBB (``write-back buffer'')
+#
+event:0x32 counters:0 um:zero minimum:500 name:FSB_LESS_25_FULL : 50-0 FSB < 25% full
+event:0x33 counters:0 um:zero minimum:500 name:FSB_OVER_50_FULL : 51-0 FSB > 50% full
+event:0x34 counters:0 um:zero minimum:500 name:LDQ_LESS_25_FULL : 52-0 LDQ < 25% full
+event:0x35 counters:0 um:zero minimum:500 name:LDQ_OVER_50_FULL : 53-0 LDQ > 50% full
+event:0x36 counters:0 um:zero minimum:500 name:WBB_LESS_25_FULL : 54-0 WBB < 25% full
+event:0x37 counters:0 um:zero minimum:500 name:WBB_OVER_50_FULL : 55-0 WBB > 50% full
+
+#
+# Events specific to counter 1
+#
+event:0x402 counters:1 um:zero minimum:500 name:MISPREDICTED_BRANCH_INSNS : 2-1 Branch mispredictions
+event:0x403 counters:1 um:zero minimum:500 name:JR_31_MISPREDICTIONS : 3-1 JR $31 mispredictions
+event:0x404 counters:1 um:zero minimum:500 name:JR_31_NO_PREDICTIONS : 4-1 JR $31 not predicted (stack mismatch).
+event:0x405 counters:1 um:zero minimum:500 name:ITLB_MISSES : 5-1 Instruction micro-TLB misses
+event:0x406 counters:1 um:zero minimum:500 name:DTLB_MISSES : 6-1 Data micro-TLB misses
+event:0x407 counters:1 um:zero minimum:500 name:JTLB_INSN_MISSES : 7-1 Joint TLB instruction misses
+event:0x408 counters:1 um:zero minimum:500 name:JTLB_DATA_MISSES : 8-1 Joint TLB data (non-instruction) misses
+event:0x409 counters:1 um:zero minimum:500 name:ICACHE_MISSES : 9-1 Instruction cache misses
+event:0x40a counters:1 um:zero minimum:500 name:DCACHE_WRITEBACKS : 10-1 Data cache lines written back to memory
+event:0x40d counters:1 um:zero minimum:500 name:LOAD_MISS_INSNS : 13-1 Cacheable load instructions that miss in the cache
+event:0x40e counters:1 um:zero minimum:500 name:FPU_INSNS : 14-1 FPU instructions completed (not including loads/stores)
+event:0x40f counters:1 um:zero minimum:500 name:STORE_INSNS : 15-1 Stores completed (including FP)
+event:0x410 counters:1 um:zero minimum:500 name:MIPS16_INSNS : 16-1 MIPS16 instructions completed
+event:0x411 counters:1 um:zero minimum:500 name:INT_MUL_DIV_INSNS : 17-1 Integer multiply/divide instructions completed
+event:0x412 counters:1 um:zero minimum:500 name:REPLAYED_INSNS : 18-1 Replayed instructions
+event:0x413 counters:1 um:zero minimum:500 name:SC_INSNS_FAILED : 19-1 SC instructions completed, but store failed (because the link bit had been cleared)
+event:0x414 counters:1 um:zero minimum:500 name:CACHE_HIT_PREFETCH_INSNS : 20-1 PREFETCH instructions completed with cache hit
+event:0x415 counters:1 um:zero minimum:500 name:L2_CACHE_ACCESSES : 21-1 Accesses to the L2 cache
+event:0x416 counters:1 um:zero minimum:500 name:L2_CACHE_SINGLE_BIT_ERRORS : 22-1 Single bit errors corrected in L2
+
+event:0x419 counters:1 um:zero minimum:500 name:ALU_STALLS : 25-1 ALU stall cycles
+event:0x41a counters:1 um:zero minimum:500 name:ALU_DSP_SATURATION_INSNS : 26-1 ALU-DSP saturation instructions
+event:0x41b counters:1 um:zero minimum:500 name:MDU_DSP_SATURATION_INSNS : 27-1 MDU-DSP saturation instructions
+
+event:0x41c counters:1 um:zero minimum:500 name:CP2_EVENTS : 28-1 Implementation specific CP2 events
+event:0x41d counters:1 um:zero minimum:500 name:DSPRAM_EVENTS : 29-1 Implementation specific DSPRAM events
+
+event:0x421 counters:1 um:zero minimum:500 name:UNCACHED_STORE_INSNS : 33-1 Uncached store instructions
+event:0x423 counters:1 um:zero minimum:500 name:CP2_TO_FROM_INSNS : 35-1 CP2 to/from instructions (moves, control, loads, stores)
+
+#
+# Count number of cycles (most often ``stall cycles'', ie time lost), not just number of events.
+#
+event:0x425 counters:1 um:zero minimum:500 name:DCACHE_MISS_STALLS : 37-1 Stall cycles due to a data cache miss
+event:0x426 counters:1 um:zero minimum:500 name:FSB_INDEX_CONFLICT_STALLS : 38-1 FSB (fill/store buffer) index conflict stall cycles
+event:0x427 counters:1 um:zero minimum:500 name:L2_CACHE_MISS_CYCLES : 39-1 Cycles a L2 miss is outstanding, but not necessarily stalling the pipeline
+event:0x429 counters:1 um:zero minimum:500 name:FPU_STALLS : 41-1 FPU stall cycles
+event:0x42a counters:1 um:zero minimum:500 name:COREEXTEND_STALLS : 42-1 CorExtend stall cycles
+event:0x42b counters:1 um:zero minimum:500 name:DSPRAM_STALLS : 43-1 DSPRAM stall cycles
+
+event:0x42d counters:1 um:zero minimum:500 name:ALU_TO_AGEN_STALLS : 45-1 ALU to AGEN stall cycles
+event:0x42e counters:1 um:zero minimum:500 name:MISPREDICTION_STALLS : 46-1 Branch mispredict stall cycles
+
+event:0x430 counters:1 um:zero minimum:500 name:FB_ENTRY_ALLOCATED_CYCLES : 48-1 Cycles while at least one IFU fill buffer is allocated
+event:0x431 counters:1 um:zero minimum:500 name:EJTAG_DATA_TRIGGERS : 49-1 EJTAG Data triggerpoints
+
+#
+# Monitor the state of various FIFO queues in the load/store unit:
+# FSB (``fill/store buffer'')
+# LDQ (``load queue'')
+# WBB (``write-back buffer'')
+# Some count events, others count stall cycles.
+#
+event:0x432 counters:1 um:zero minimum:500 name:FSB_25_50_FULL : 50-1 FSB 25-50% full
+event:0x433 counters:1 um:zero minimum:500 name:FSB_FULL_STALLS : 51-1 FSB full pipeline stall cycles
+event:0x434 counters:1 um:zero minimum:500 name:LDQ_25_50_FULL : 52-1 LDQ 25-50% full
+event:0x435 counters:1 um:zero minimum:500 name:LDQ_FULL_STALLS : 53-1 LDQ full pipeline stall cycles
+event:0x436 counters:1 um:zero minimum:500 name:WBB_25_50_FULL : 54-1 WBB 25-50% full
+event:0x437 counters:1 um:zero minimum:500 name:WBB_FULL_STALLS : 55-1 WBB full pipeline stall cycles
diff --git a/events/mips/24K/unit_masks b/events/mips/24K/unit_masks
new file mode 100644
index 0000000..70d028a
--- /dev/null
+++ b/events/mips/24K/unit_masks
@@ -0,0 +1,5 @@
+#
+# MIPS 24K possible unit masks
+#
+name:zero type:mandatory default:0x0
+ 0x0 No unit mask
diff --git a/events/mips/25K/events b/events/mips/25K/events
new file mode 100644
index 0000000..4000678
--- /dev/null
+++ b/events/mips/25K/events
@@ -0,0 +1,81 @@
+#
+# MIPS 25Kf
+#
+# The 25Kf has two performance counters
+#
+event:0x0 counters:0,1 um:zero minimum:500 name:CYCLES : CPU cycles
+event:0x1 counters:0,1 um:zero minimum:500 name:INSN_ISSUED : Dispatched/issued instructions
+event:0x2 counters:0,1 um:zero minimum:500 name:FP_INSNS_ISSUED : FPU instructions issued
+event:0x3 counters:0,1 um:zero minimum:500 name:INT_INSNS_ISSUED : Integer instructions issued
+event:0x4 counters:0,1 um:zero minimum:500 name:LOAD_INSNS_ISSUED : Load instructions issued
+event:0x5 counters:0,1 um:zero minimum:500 name:STORE_INSNS_ISSUED : Store instructions issued
+event:0x6 counters:0,1 um:zero minimum:500 name:BRANCHES_JUMPS_ISSUED : Branch/Jump instructions issued
+event:0x7 counters:0,1 um:zero minimum:500 name:DUAL_ISSUED_PAIRS : Dual-issued pairs
+event:0x8 counters:0,1 um:zero minimum:500 name:INSNS_COMPLETE : Instruction that completed execution (with or without exception)
+event:0x9 counters:0,1 um:zero minimum:500 name:FETCH_GROUPS_IN_PIPE : Fetch groups entering CPU execution pipes
+
+#
+# FPU:
+#
+event:0xa counters:0,1 um:zero minimum:500 name:INSN_FP_DATAPATH_COMPLETED : Instructions completed in FPU datapath (computational instructions only)
+event:0xb counters:0,1 um:zero minimum:500 name:FP_EXCEPTIONS_TAKEN : Taken FPU exceptions
+event:0xc counters:0,1 um:zero minimum:500 name:FP_EXCEPTION_PREDICTED : Predicted FPU exceptions
+
+#
+# Branch/Jump Prediction:
+#
+event:0xd counters:0,1 um:zero minimum:500 name:BRANCHES_MISSPREDICTED : Branches that mispredicted before completing execution
+event:0xe counters:0,1 um:zero minimum:500 name:BRANCHES_COMPLETED : Branches that completed execution
+event:0xf counters:0,1 um:zero minimum:500 name:JR_RPD_MISSPREDICTED : JR instructions that mispredicted using the Return Prediction Stack
+event:0x10 counters:0,1 um:zero minimum:500 name:JR_COMPLETED : JR instruction that completed execution
+
+#
+# Memory Management:
+#
+event:0x11 counters:0,1 um:zero minimum:500 name:UTLB_MISSES : U-TLB misses
+event:0x12 counters:0,1 um:zero minimum:500 name:JTLB_MISSES_IFETCH : Raw count of Joint-TLB misses for instruction fetch
+event:0x13 counters:0,1 um:zero minimum:500 name:JTLB_MISSES_LOADS_STORES : Raw count of Joint-TLB misses for loads/stores
+event:0x14 counters:0,1 um:zero minimum:500 name:JTLB_EXCEPTIONS : Refill, Invalid and Modified TLB exceptions
+
+#
+# Machine Check
+#
+event:0x15 counters:0,1 um:zero minimum:500 name:JTLB_IFETCH_REFILL_EXCEPTIONS : Joint-TLB refill exceptions due to instruction fetch
+event:0x16 counters:0,1 um:zero minimum:500 name:JTLB_DATA_ACCESS_REFILL_EXCEPTIONS : Joint-TLB refill exceptions due to data access
+event:0x17 counters:0,1 um:zero minimum:500 name:JTLB_REFILL_EXCEPTIONS : total Joint-TLB Instruction exceptions (refill)
+
+#
+# I-Cache Efficiency:
+#
+event:0x18 counters:0,1 um:zero minimum:500 name:INSNS_FETCHED_FROM_ICACHE : Total number of instructions fetched from the I-Cache
+event:0x19 counters:0,1 um:zero minimum:500 name:INSN_REQ_FROM_IFU_BIU : instruction requests from the IFU to the BIU
+event:0x1a counters:0,1 um:zero minimum:500 name:ICACHE_MISSES : I-Cache miss
+
+#
+# D-Cache Efficiency:
+#
+event:0x1b counters:0,1 um:zero minimum:500 name:DCACHE_MISSES : D-Cache miss
+event:0x1c counters:0,1 um:zero minimum:500 name:DCACHE_WRITEBACKS : D-Cache number of write-backs
+event:0x1d counters:0,1 um:zero minimum:500 name:CACHEABLE_DCACHE_REQUEST : number of cacheable requests to D-Cache
+
+#
+# Level 2 Cache Efficiency:
+#
+event:0x1e counters:0,1 um:zero minimum:500 name:L2_MISSES : L2 Cache miss
+event:0x1f counters:0,1 um:zero minimum:500 name:L2_WBACKS : L2 Cache number of write-backs
+event:0x20 counters:0,1 um:zero minimum:500 name:CACHEABLE_L2_REQS : Number of cacheable requests to L2
+
+#
+# Replays:
+#
+event:0x21 counters:0,1 um:zero minimum:500 name:REPLAYS_LSU_LOAD_DEP_FPU : LSU requested replays, load-dependent speculative dispatch, FPU exception prediction
+event:0x22 counters:0,1 um:zero minimum:500 name:LSU_REQ_REPLAYS : LSU requested replays
+event:0x23 counters:0,1 um:zero minimum:500 name:REPLAYS_LOAD_DEP_DISPATCH : replays due to load-dependent speculative dispatch
+event:0x24 counters:0,1 um:zero minimum:500 name:REPLAYS_WBB_FULL : replays due to WBB full
+event:0x25 counters:0,1 um:zero minimum:500 name:FSB_FULL_REPLAYS : replays due to FSB full
+
+#
+# Misc:
+#
+event:0x26 counters:0,1 um:zero minimum:500 name:ICACHE_PSEUDO_HITS : I-Cache pseudo-hits
+event:0x27 counters:0,1 um:zero minimum:500 name:LOAD_STORE_ISSUED : Load/store instructions issued
diff --git a/events/mips/25K/unit_masks b/events/mips/25K/unit_masks
new file mode 100644
index 0000000..0854781
--- /dev/null
+++ b/events/mips/25K/unit_masks
@@ -0,0 +1,5 @@
+#
+# MIPS 25Kf possible unit masks
+#
+name:zero type:mandatory default:0x0
+ 0x0 No unit mask
diff --git a/events/mips/34K/events b/events/mips/34K/events
new file mode 100644
index 0000000..d161556
--- /dev/null
+++ b/events/mips/34K/events
@@ -0,0 +1,158 @@
+#
+# MIPS 34K
+#
+
+# The 34K CPUs have two performance counters.
+#
+# Even/odd counters are distinguished by setting bit 10 in the event
+# mask. The kernel masks this bit out before writing the control
+# register.
+
+#
+# Events specific to both counters
+#
+event:0x0 counters:0,1 um:zero minimum:500 name:CYCLES : 0-0 Cycles
+event:0x1 counters:0,1 um:zero minimum:500 name:INSTRUCTIONS : 1-0 Instructions completed
+event:0xb counters:0,1 um:zero minimum:500 name:DCACHE_MISSES : 11-0 Data cache misses
+
+#
+# Events specific to counter 0
+#
+event:0x2 counters:0 um:zero minimum:500 name:BRANCH_INSNS : 2-0 Branch instructions (whether completed or mispredicted)
+event:0x3 counters:0 um:zero minimum:500 name:JR_31_INSNS : 3-0 JR $31 (return) instructions executed
+event:0x4 counters:0 um:zero minimum:500 name:JR_NON_31_INSNS : 4-0 JR $xx (not $31) instructions executed (at same cost as a mispredict)
+event:0x5 counters:0 um:zero minimum:500 name:ITLB_ACCESSES : 5-0 Instruction micro-TLB accesses
+event:0x6 counters:0 um:zero minimum:500 name:DTLB_ACCESSES : 6-0 Data micro-TLB accesses
+event:0x7 counters:0 um:zero minimum:500 name:JTLB_INSN_ACCESSES : 7-0 Joint TLB instruction accesses
+event:0x8 counters:0 um:zero minimum:500 name:JTLB_DATA_ACCESSES : 8-0 Joint TLB data (non-instruction) accesses
+event:0x9 counters:0 um:zero minimum:500 name:ICACHE_ACCESSES : 9-0 Instruction cache accesses
+event:0xa counters:0 um:zero minimum:500 name:DCACHE_ACCESSES : 10-0 Data cache accesses
+
+event:0xd counters:0 um:zero minimum:500 name:STORE_MISS_INSNS : 13-0 Cacheable stores that miss in the cache
+event:0xe counters:0 um:zero minimum:500 name:INTEGER_INSNS : 14-0 Integer instructions completed
+event:0xf counters:0 um:zero minimum:500 name:LOAD_INSNS : 15-0 Load instructions completed (including FP)
+event:0x10 counters:0 um:zero minimum:500 name:J_JAL_INSNS : 16-0 J/JAL instructions completed
+event:0x11 counters:0 um:zero minimum:500 name:NO_OPS_INSNS : 17-0 no-ops completed, ie instructions writing $0
+event:0x12 counters:0 um:zero minimum:500 name:ALL_STALLS : 18-0 Stall cycles, including ALU and IFU
+event:0x13 counters:0 um:zero minimum:500 name:SC_INSNS : 19-0 SC instructions completed
+event:0x14 counters:0 um:zero minimum:500 name:PREFETCH_INSNS : 20-0 PREFETCH instructions completed
+event:0x15 counters:0 um:zero minimum:500 name:L2_CACHE_WRITEBACKS : 21-0 L2 cache lines written back to memory
+event:0x16 counters:0 um:zero minimum:500 name:L2_CACHE_MISSES : 22-0 L2 cache accesses that missed in the cache
+event:0x17 counters:0 um:zero minimum:500 name:EXCEPTIONS_TAKEN : 23-0 Exceptions taken
+event:0x18 counters:0 um:zero minimum:500 name:CACHE_FIXUP_CYCLES : 24-0 Cache fixup cycles (specific to the 34K family microarchitecture)
+event:0x19 counters:0 um:zero minimum:500 name:IFU_STALLS : 25-0 IFU stall cycles
+event:0x1a counters:0 um:zero minimum:500 name:DSP_INSNS : 26-0 DSP instructions completed
+
+event:0x1c counters:0 um:zero minimum:500 name:POLICY_EVENTS : 28-0 Implementation specific policy manager events
+event:0x1d counters:0 um:zero minimum:500 name:ISPRAM_EVENTS : 29-0 Implementation specific ISPRAM events
+event:0x1e counters:0 um:zero minimum:500 name:COREEXTEND_EVENTS : 30-0 Implementation specific CorExtend events
+event:0x1f counters:0 um:zero minimum:500 name:YIELD_EVENTS : 31-0 Implementation specific yield events
+
+event:0x20 counters:0 um:zero minimum:500 name:ITC_LOADS : 32-0 ITC Loads
+event:0x21 counters:0 um:zero minimum:500 name:UNCACHED_LOAD_INSNS : 33-0 Uncached load instructions
+event:0x22 counters:0 um:zero minimum:500 name:FORK_INSNS : 34-0 Fork instructions completed
+event:0x23 counters:0 um:zero minimum:500 name:CP2_ARITH_INSNS : 35-0 CP2 arithmetic instructions completed
+
+#
+# Count number of cycles (most often ``stall cycles'', ie time lost), not just number of events.
+#
+event:0x25 counters:0 um:zero minimum:500 name:ICACHE_MISS_STALLS : 37-0 Stall cycles due to an instruction cache miss
+
+event:0x27 counters:0 um:zero minimum:500 name:DCACHE_MISS_CYCLES : 39-0 Cycles a data cache miss is outstanding, but not necessarily stalling the pipeline
+event:0x28 counters:0 um:zero minimum:500 name:UNCACHED_STALLS : 40-0 Uncached stall cycles
+event:0x29 counters:0 um:zero minimum:500 name:MDU_STALLS : 41-0 MDU stall cycles
+event:0x2a counters:0 um:zero minimum:500 name:CP2_STALLS : 42-0 CP2 stall cycles
+event:0x2b counters:0 um:zero minimum:500 name:ISPRAM_STALLS : 43-0 ISPRAM stall cycles
+event:0x2c counters:0 um:zero minimum:500 name:CACHE_INSN_STALLS : 44-0 Stall cycless due to CACHE instructions
+event:0x2d counters:0 um:zero minimum:500 name:LOAD_USE_STALLS : 45-0 Load to use stall cycles
+event:0x2e counters:0 um:zero minimum:500 name:INTERLOCK_STALLS : 46-0 Stall cycles due to return data from MFC0, RDHWR, and MFTR instructions
+event:0x2f counters:0 um:zero minimum:500 name:RELAX_STALLS : 47-0 Low power stall cycles (operations) as requested by the policy manager
+
+event:0x30 counters:0 um:zero minimum:500 name:IFU_FB_FULL_REFETCHES : 48-0 Refetches due to cache misses while both fill buffers already allocated
+event:0x31 counters:0 um:zero minimum:500 name:EJTAG_INSN_TRIGGERS : 49-0 EJTAG instruction triggerpoints
+
+#
+#
+# Monitor the state of various FIFO queues in the load/store unit:
+# FSB (``fill/store buffer'')
+# LDQ (``load queue'')
+# WBB (``write-back buffer'')
+#
+event:0x32 counters:0 um:zero minimum:500 name:FSB_LESS_25_FULL : 50-0 FSB < 25% full
+event:0x33 counters:0 um:zero minimum:500 name:FSB_OVER_50_FULL : 51-0 FSB > 50% full
+event:0x34 counters:0 um:zero minimum:500 name:LDQ_LESS_25_FULL : 52-0 LDQ < 25% full
+event:0x35 counters:0 um:zero minimum:500 name:LDQ_OVER_50_FULL : 53-0 LDQ > 50% full
+event:0x36 counters:0 um:zero minimum:500 name:WBB_LESS_25_FULL : 54-0 WBB < 25% full
+event:0x37 counters:0 um:zero minimum:500 name:WBB_OVER_50_FULL : 55-0 WBB > 50% full
+
+event:0x3e counters:0 um:zero minimum:500 name:READ_RESPONSE_LATENCY : 62-0 Read latency from miss detection until critical dword of response is returned
+
+#
+# Events specific to counter 1
+#
+event:0x402 counters:1 um:zero minimum:500 name:MISPREDICTED_BRANCH_INSNS : 2-1 Branch mispredictions
+event:0x403 counters:1 um:zero minimum:500 name:JR_31_MISPREDICTIONS : 3-1 JR $31 mispredictions
+event:0x404 counters:1 um:zero minimum:500 name:JR_31_NO_PREDICTIONS : 4-1 JR $31 not predicted (stack mismatch).
+event:0x405 counters:1 um:zero minimum:500 name:ITLB_MISSES : 5-1 Instruction micro-TLB misses
+event:0x406 counters:1 um:zero minimum:500 name:DTLB_MISSES : 6-1 Data micro-TLB misses
+event:0x407 counters:1 um:zero minimum:500 name:JTLB_INSN_MISSES : 7-1 Joint TLB instruction misses
+event:0x408 counters:1 um:zero minimum:500 name:JTLB_DATA_MISSES : 8-1 Joint TLB data (non-instruction) misses
+event:0x409 counters:1 um:zero minimum:500 name:ICACHE_MISSES : 9-1 Instruction cache misses
+event:0x40a counters:1 um:zero minimum:500 name:DCACHE_WRITEBACKS : 10-1 Data cache lines written back to memory
+
+event:0x40d counters:1 um:zero minimum:500 name:LOAD_MISS_INSNS : 13-1 Cacheable load instructions that miss in the cache
+event:0x40e counters:1 um:zero minimum:500 name:FPU_INSNS : 14-1 FPU instructions completed (not including loads/stores)
+event:0x40f counters:1 um:zero minimum:500 name:STORE_INSNS : 15-1 Stores completed (including FP)
+event:0x410 counters:1 um:zero minimum:500 name:MIPS16_INSNS : 16-1 MIPS16 instructions completed
+event:0x411 counters:1 um:zero minimum:500 name:INT_MUL_DIV_INSNS : 17-1 Integer multiply/divide instructions completed
+event:0x412 counters:1 um:zero minimum:500 name:REPLAYED_INSNS : 18-1 Replayed instructions
+event:0x413 counters:1 um:zero minimum:500 name:SC_INSNS_FAILED : 19-1 SC instructions completed, but store failed (because the link bit had been cleared)
+event:0x414 counters:1 um:zero minimum:500 name:CACHE_HIT_PREFETCH_INSNS : 20-1 PREFETCH instructions completed with cache hit
+event:0x415 counters:1 um:zero minimum:500 name:L2_CACHE_ACCESSES : 21-1 Accesses to the L2 cache
+event:0x416 counters:1 um:zero minimum:500 name:L2_CACHE_SINGLE_BIT_ERRORS : 22-1 Single bit errors corrected in L2
+event:0x417 counters:1 um:zero minimum:500 name:SINGLE_THREADED_CYCLES : 23-1 Cycles while one and only one TC is eligible for scheduling
+event:0x418 counters:1 um:zero minimum:500 name:REFETCHED_INSNS : 24-1 Replayed instructions sent back to IFU to be refetched
+event:0x419 counters:1 um:zero minimum:500 name:ALU_STALLS : 25-1 ALU stall cycles
+event:0x41a counters:1 um:zero minimum:500 name:ALU_DSP_SATURATION_INSNS : 26-1 ALU-DSP saturation instructions
+event:0x41b counters:1 um:zero minimum:500 name:MDU_DSP_SATURATION_INSNS : 27-1 MDU-DSP saturation instructions
+
+event:0x41c counters:1 um:zero minimum:500 name:CP2_EVENTS : 28-1 Implementation specific CP2 events
+event:0x41d counters:1 um:zero minimum:500 name:DSPRAM_EVENTS : 29-1 Implementation specific DSPRAM events
+
+event:0x41f counters:1 um:zero minimum:500 name:ITC_EVENT : 31-1 Implementation specific yield event
+
+event:0x421 counters:1 um:zero minimum:500 name:UNCACHED_STORE_INSNS : 33-1 Uncached store instructions
+event:0x423 counters:1 um:zero minimum:500 name:CP2_TO_FROM_INSNS : 35-1 CP2 to/from instructions (moves, control, loads, stores)
+
+#
+# Count number of cycles (most often ``stall cycles'', ie time lost), not just number of events.
+#
+event:0x425 counters:1 um:zero minimum:500 name:DCACHE_MISS_STALLS : 37-1 Stall cycles due to a data cache miss
+
+event:0x427 counters:1 um:zero minimum:500 name:L2_CACHE_MISS_CYCLES : 39-1 Cycles a L2 miss is outstanding, but not necessarily stalling the pipeline
+event:0x428 counters:1 um:zero minimum:500 name:ITC_STALLS : 40-1 ITC stall cycles
+event:0x429 counters:1 um:zero minimum:500 name:FPU_STALLS : 41-1 FPU stall cycles
+event:0x42a counters:1 um:zero minimum:500 name:COREEXTEND_STALLS : 42-1 CorExtend stall cycles
+event:0x42b counters:1 um:zero minimum:500 name:DSPRAM_STALLS : 43-1 DSPRAM stall cycles
+
+event:0x42d counters:1 um:zero minimum:500 name:ALU_TO_AGEN_STALLS : 45-1 ALU to AGEN stall cycles
+event:0x42e counters:1 um:zero minimum:500 name:MISPREDICTION_STALLS : 46-1 Branch mispredict stall cycles
+
+event:0x430 counters:1 um:zero minimum:500 name:FB_ENTRY_ALLOCATED_CYCLES : 48-1 Cycles while at least one IFU fill buffer is allocated
+event:0x431 counters:1 um:zero minimum:500 name:EJTAG_DATA_TRIGGERS : 49-1 EJTAG Data triggerpoints
+
+#
+# Monitor the state of various FIFO queues in the load/store unit:
+# FSB (``fill/store buffer'')
+# LDQ (``load queue'')
+# WBB (``write-back buffer'')
+# Some count events, others count stall cycles.
+#
+event:0x432 counters:1 um:zero minimum:500 name:FSB_25_50_FULL : 50-1 FSB 25-50% full
+event:0x433 counters:1 um:zero minimum:500 name:FSB_FULL_STALLS : 51-1 FSB full pipeline stall cycles
+event:0x434 counters:1 um:zero minimum:500 name:LDQ_25_50_FULL : 52-1 LDQ 25-50% full
+event:0x435 counters:1 um:zero minimum:500 name:LDQ_FULL_STALLS : 53-1 LDQ full pipeline stall cycles
+event:0x436 counters:1 um:zero minimum:500 name:WBB_25_50_FULL : 54-1 WBB 25-50% full
+event:0x437 counters:1 um:zero minimum:500 name:WBB_FULL_STALLS : 55-1 WBB full pipeline stall cycles
+
+event:0x43e counters:1 um:zero minimum:500 name:READ_RESPONSE_COUNT : 62-1 Read requests on miss detection
diff --git a/events/mips/34K/unit_masks b/events/mips/34K/unit_masks
new file mode 100644
index 0000000..6431af8
--- /dev/null
+++ b/events/mips/34K/unit_masks
@@ -0,0 +1,5 @@
+#
+# MIPS 34K possible unit masks
+#
+name:zero type:mandatory default:0x0
+ 0x0 No unit mask
diff --git a/events/mips/5K/events b/events/mips/5K/events
new file mode 100644
index 0000000..05874fd
--- /dev/null
+++ b/events/mips/5K/events
@@ -0,0 +1,36 @@
+#
+# MIPS 5K
+#
+# As standard the CPU supports 2 performance counters. Event 0, 2, 3 and 4
+# are available on both counters; the INSNS_EXECED is available on counter 0
+# as event 0 and on counter 1 as event 1; the remaining are counter-specific.
+#
+event:0x0 counters:0,1 um:zero minimum:500 name:CYCLES : Cycles
+event:0x2 counters:0,1 um:zero minimum:500 name:LOADS_EXECED : Load/pref(x)/sync/cache-ops executed
+event:0x3 counters:0,1 um:zero minimum:500 name:STORES_EXECED : Stores (including conditional stores) executed
+event:0x4 counters:0,1 um:zero minimum:500 name:COND_STORES_EXECED : Conditional stores executed
+
+#
+# Events specific to counter 0
+#
+event:0x1 counters:0 um:zero minimum:500 name:INSN_FETCHED : Instructions fetched
+event:0x5 counters:0 um:zero minimum:500 name:FAILED_COND_STORES : Failed conditional stores
+event:0x6 counters:0 um:zero minimum:500 name:BRANCHES_EXECED : Branches executed
+event:0x7 counters:0 um:zero minimum:500 name:ITLB_MISSES : ITLB miss
+event:0x8 counters:0 um:zero minimum:500 name:DTLB_MISSES : DTLB miss
+event:0x9 counters:0 um:zero minimum:500 name:ICACHE_MISS : Instruction cache miss
+event:0xa counters:0 um:zero minimum:500 name:INSN_SCHEDULED : Instruction scheduled
+event:0xe counters:0 um:zero minimum:500 name:DUAL_ISSUED_INSNS : Dual issued instructions executed
+event:0xf counters:0 um:zero minimum:500 name:INSNS_EXECED : Instructions executed
+
+#
+# Events specific to counter 1
+#
+event:0x1 counters:1 um:zero minimum:500 name:INSNS_EXECED : Instructions executed
+event:0x5 counters:1 um:zero minimum:500 name:FP_INSNS_EXECED : Floating-point instructions executed
+event:0x6 counters:1 um:zero minimum:500 name:DCACHE_LINE_EVICTED : Data cache line evicted
+event:0x7 counters:1 um:zero minimum:500 name:TLB_MISS_EXCEPTIONS : TLB miss exceptions
+event:0x8 counters:1 um:zero minimum:500 name:BRANCHES_MISSPREDICTED : Branch mispredicted
+event:0x9 counters:1 um:zero minimum:500 name:DCACHE_MISS : Data cache miss
+event:0xa counters:1 um:zero minimum:500 name:CONFLICT_STALL_M_STAGE : Instruction stall in M stage due to scheduling conflicts
+event:0xf counters:1 um:zero minimum:500 name:COP2_INSNS_EXECED : COP2 instructions executed
diff --git a/events/mips/5K/unit_masks b/events/mips/5K/unit_masks
new file mode 100644
index 0000000..a3f26e4
--- /dev/null
+++ b/events/mips/5K/unit_masks
@@ -0,0 +1,5 @@
+#
+# MIPS 5K possible unit masks
+#
+name:zero type:mandatory default:0x0
+ 0x0 No unit mask
diff --git a/events/mips/74K/events b/events/mips/74K/events
new file mode 100644
index 0000000..81700f8
--- /dev/null
+++ b/events/mips/74K/events
@@ -0,0 +1,159 @@
+#
+# MIPS 74K
+#
+
+# The 74K CPUs have four performance counters.
+#
+# Even/odd counters are distinguished by setting bit 10 in the event
+# mask. The kernel masks this bit out before writing the control
+# register.
+
+#
+# Events specific to all counters
+#
+event:0x0 counters:0,1,2,3 um:zero minimum:500 name:CYCLES : 0-0 Cycles
+event:0x1 counters:0,1,2,3 um:zero minimum:500 name:INSTRUCTIONS : 1-0 Instructions graduated
+
+#
+# Events specific to counters 0 and 2
+#
+event:0x2 counters:0,2 um:zero minimum:500 name:PREDICTED_JR_31 : 2-0 JR $31 (return) instructions predicted including speculative instructions
+event:0x3 counters:0,2 um:zero minimum:500 name:REDIRECT_STALLS : 3-0 Stall cycles due to register indirect jumps (including non-predicted JR $31), ERET/WAIT instructions, and IFU determined exception
+event:0x4 counters:0,2 um:zero minimum:500 name:ITLB_ACCESSES : 4-0 Instruction micro-TLB accesses
+
+event:0x6 counters:0,2 um:zero minimum:500 name:ICACHE_ACCESSES : 6-0 Instruction cache accesses including speculative instructions
+event:0x7 counters:0,2 um:zero minimum:500 name:ICACHE_MISS_STALLS : 7-0 Instruction cache miss stall cycles
+event:0x8 counters:0,2 um:zero minimum:500 name:UNCACHED_IFETCH_STALLS : 8-0 Uncached instruction fetch stall cycles
+event:0x9 counters:0,2 um:zero minimum:500 name:IFU_REPLAYS : 9-0 Replays within the IFU due to full Instruction Buffer
+
+event:0xb counters:0,2 um:zero minimum:500 name:IFU_IDU_MISS_PRED_UPSTREAM_CYCLES : 11-0 Cycles IFU-IDU gate is closed (to prevent upstream from getting ahead) due to mispredicted branch
+event:0xc counters:0,2 um:zero minimum:500 name:IFU_IDU_CLOGED_DOWNSTREAM_CYCLES : 12-0 Cycles IFU-IDU gate is closed (waiting for downstream to unclog) due to MTC0/MFC0 sequence in pipe, EHB, or blocked DD, DR, or DS
+event:0xd counters:0,2 um:zero minimum:500 name:DDQ0_FULL_DR_STALLS : 13-0 DR stage stall cycles due to DDQ0 (ALU out-of-order dispatch queue) full
+event:0xe counters:0,2 um:zero minimum:500 name:ALCB_FULL_DR_STALLS : 14-0 DR stage stall cycles due to ALCB (ALU completion buffers) full
+event:0xf counters:0,2 um:zero minimum:500 name:CLDQ_FULL_DR_STALLS : 15-0 DR stage stall cycles due to CLDQ (data comming back from FPU) full
+event:0x10 counters:0,2 um:zero minimum:500 name:ALU_EMPTY_CYCLES : 16-0 DDQ0 (ALU out-of-order dispatch queue) empty cycles
+event:0x11 counters:0,2 um:zero minimum:500 name:ALU_OPERANDS_NOT_READY_CYCLES : 17-0 DDQ0 (ALU out-of-order dispatch queue) no issue cycles with valid instructions but operands not ready
+event:0x12 counters:0,2 um:zero minimum:500 name:ALU_NO_ISSUES_CYCLES : 18-0 DDQ0 (ALU out-of-order dispatch queue) no issue cycles with valid instructions due to operand(s) not available, MDU busy, or CorExt resource busy
+event:0x13 counters:0,2 um:zero minimum:500 name:ALU_BUBBLE_CYCLES : 19-0 DDQ0 (ALU out-of-order dispatch queue) bubbles due to MFC1 data write
+event:0x14 counters:0,2 um:zero minimum:500 name:SINGLE_ISSUE_CYCLES : 20-0 Either DDQ0 (ALU out-of-order dispatch queue) or DDQ1 (AGEN out-of-order dispatch queue) valid instruction issue cycles
+event:0x15 counters:0,2 um:zero minimum:500 name:OOO_ALU_ISSUE_CYCLES : 21-0 Out-of-order ALU issue cycles (issued instruction is not the oldest in the pool)
+event:0x16 counters:0,2 um:zero minimum:500 name:JALR_JALR_HB_INSNS : 22-0 Graduated JALR/JALR.HB instructions
+event:0x17 counters:0,2 um:zero minimum:500 name:DCACHE_LOAD_ACCESSES : 23-0 Counts all accesses to the data cache caused by load instructions
+event:0x18 counters:0,2 um:zero minimum:500 name:DCACHE_WRITEBACKS : 24-0 Data cache writebacks
+event:0x19 counters:0,2 um:zero minimum:500 name:JTLB_DATA_ACCESSES : 25-0 Joint TLB data (non-instruction) accesses
+event:0x1a counters:0,2 um:zero minimum:500 name:LOAD_STORE_REPLAYS : 26-0 Load/store generated replays - load/store follows too closely a matching CACHEOP
+event:0x1b counters:0,2 um:zero minimum:500 name:LOAD_STORE_BLOCKED_CYCLES : 27-0 Load/store graduation blocked cycles due to CP1/2 store data not ready, SYNC/SYNCI/SC/CACHEOP at the head, or FSB/LDQ/WBB/ITU FIFO full
+event:0x1c counters:0,2 um:zero minimum:500 name:L2_CACHE_WRITEBACKS : 28-0 L2 Cache Writebacks
+event:0x1d counters:0,2 um:zero minimum:500 name:L2_CACHE_MISSES : 29-0 L2 Cache Misses
+event:0x1e counters:0,2 um:zero minimum:500 name:FSB_FULL_STALLS : 30-0 Pipe stall cycles due to FSB full
+event:0x1f counters:0,2 um:zero minimum:500 name:LDQ_FULL_STALLS : 31-0 Pipe stall cycles due to LDQ full
+event:0x20 counters:0,2 um:zero minimum:500 name:WBB_FULL_STALLS : 32-0 Pipe stall cycles due to WBB full
+
+event:0x23 counters:0,2 um:zero minimum:500 name:LOAD_MISS_CONSUMER_REPLAYS : 35-0 Replays following optimistic issue of instruction dependent on load which missed, counted only when the dependent instruction graduates
+event:0x24 counters:0,2 um:zero minimum:500 name:JR_NON_31_INSNS : 36-0 jr $xx (not $31) instructions graduated (at same cost as a mispredict)
+event:0x25 counters:0,2 um:zero minimum:500 name:BRANCH_INSNS : 37-0 Branch instructions graduated, excluding CP1/CP2 conditional branches
+event:0x26 counters:0,2 um:zero minimum:500 name:BRANCH_LIKELY_INSNS : 38-0 Branch likely instructions graduated including CP1 and CP2 branch likely instructions
+event:0x27 counters:0,2 um:zero minimum:500 name:COND_BRANCH_INSNS : 39-0 Conditional branches graduated
+event:0x28 counters:0,2 um:zero minimum:500 name:INTEGER_INSNS : 40-0 Integer instructions graduated including NOP, SSNOP, MOVCI, and EHB
+event:0x29 counters:0,2 um:zero minimum:500 name:LOAD_INSNS : 41-0 Loads graduated including CP1 ans CP2 loads
+event:0x2a counters:0,2 um:zero minimum:500 name:J_JAL_INSNS : 42-0 J/JAL graduated
+event:0x2b counters:0,2 um:zero minimum:500 name:NOP_INSNS : 43-0 NOP instructions graduated - SLL 0, NOP, SSNOP, and EHB
+event:0x2c counters:0,2 um:zero minimum:500 name:DSP_INSNS : 44-0 DSP instructions graduated
+event:0x2d counters:0,2 um:zero minimum:500 name:DSP_BRANCH_INSNS : 45-0 DSP branch instructions graduated
+event:0x2e counters:0,2 um:zero minimum:500 name:UNCACHED_LOAD_INSNS : 46-0 Uncached loads graduated
+
+event:0x31 counters:0,2 um:zero minimum:500 name:EJTAG_INSN_TRIGGERS : 49-0 EJTAG instruction triggerpoints
+event:0x32 counters:0,2 um:zero minimum:500 name:CP1_BRANCH_MISPREDICTIONS : 50-0 CP1 branches mispredicted
+event:0x33 counters:0,2 um:zero minimum:500 name:SC_INSNS : 51-0 SC instructions graduated
+event:0x34 counters:0,2 um:zero minimum:500 name:PREFETCH_INSNS : 52-0 Prefetch instructions graduated
+event:0x35 counters:0,2 um:zero minimum:500 name:NO_INSN_CYCLES : 53-0 No instructions graduated cycles
+event:0x36 counters:0,2 um:zero minimum:500 name:ONE_INSN_CYCLES : 54-0 One instruction graduated cycles
+event:0x37 counters:0,2 um:zero minimum:500 name:GFIFO_BLOCKED_CYCLES : 55-0 GFIFO blocked cycles
+event:0x38 counters:0,2 um:zero minimum:500 name:MISPREDICTION_STALLS : 56-0 Cycles from the time of a pipe kill due to mispredict until the first new instruction graduates
+event:0x39 counters:0,2 um:zero minimum:500 name:MISPREDICTED_BRANCH_INSNS_CYCLES : 57-0 Mispredicted branch instruction graduation cycles without the delay slot
+event:0x3a counters:0,2 um:zero minimum:500 name:EXCEPTIONS_TAKEN : 58-0 Exceptions taken
+event:0x3b counters:0,2 um:zero minimum:500 name:COREEXTEND_EVENTS : 59-0 Implementation specific CorExtend events
+
+event:0x3e counters:0,2 um:zero minimum:500 name:ISPRAM_EVENTS : 62-0 Implementation specific ISPRAM events
+event:0x3f counters:0,2 um:zero minimum:500 name:L2_CACHE_SINGLE_BIT_ERRORS : 63-0 Single bit errors corrected in L2
+event:0x40 counters:0,2 um:zero minimum:500 name:SYSTEM_EVENT_0 : 64-0 Implementation specific system event 0
+event:0x41 counters:0,2 um:zero minimum:500 name:SYSTEM_EVENT_2 : 65-0 Implementation specific system event 2
+event:0x42 counters:0,2 um:zero minimum:500 name:SYSTEM_EVENT_4 : 66-0 Implementation specific system event 4
+event:0x43 counters:0,2 um:zero minimum:500 name:SYSTEM_EVENT_6 : 67-0 Implementation specific system event 6
+event:0x44 counters:0,2 um:zero minimum:500 name:OCP_ALL_REQUESTS : 68-0 All OCP requests accepted
+event:0x45 counters:0,2 um:zero minimum:500 name:OCP_READ_REQUESTS : 69-0 OCP read requests accepted
+event:0x46 counters:0,2 um:zero minimum:500 name:OCP_WRITE_REQUESTS : 70-0 OCP write requests accepted
+
+event:0x4a counters:0,2 um:zero minimum:500 name:FSB_LESS_25_FULL : 74-0 FSB < 25% full
+event:0x4b counters:0,2 um:zero minimum:500 name:LDQ_LESS_25_FULL : 75-0 LDQ < 25% full
+event:0x4c counters:0,2 um:zero minimum:500 name:WBB_LESS_25_FULL : 76-0 WBB < 25% full
+
+
+#
+# Events specific to counters 1 and 3
+#
+
+event:0x402 counters:1,3 um:zero minimum:500 name:JR_31_MISPREDICTIONS : 2-1 JR $31 (return) instructions mispredicted
+event:0x403 counters:1,3 um:zero minimum:500 name:JR_31_NO_PREDICTIONS : 3-1 JR $31 (return) instructions not predicted
+event:0x404 counters:1,3 um:zero minimum:500 name:ITLB_MISSES : 4-1 Instruction micro-TLB misses
+event:0x405 counters:1,3 um:zero minimum:500 name:JTLB_INSN_MISSES : 5-1 Joint TLB instruction misses
+event:0x406 counters:1,3 um:zero minimum:500 name:ICACHE_MISSES : 6-1 Instruction cache misses, includes misses from fetch-ahead and speculation
+
+event:0x408 counters:1,3 um:zero minimum:500 name:PDTRACE_BACK_STALLS : 8-1 PDtrace back stalls
+event:0x409 counters:1,3 um:zero minimum:500 name:KILLED_FETCH_SLOTS : 9-1 Valid fetch slots killed due to taken branches/jumps or stalling instructions
+
+event:0x40b counters:1,3 um:zero minimum:500 name:IFU_IDU_NO_FETCH_CYCLES : 11-1 Cycles IFU-IDU gate open but no instructions fetched by IFU
+
+event:0x40d counters:1,3 um:zero minimum:500 name:DDQ1_FULL_DR_STALLS : 13-1 DR stage stall cycles due to DDQ1 (AGEN out-of-order dispatch queue) full
+event:0x40e counters:1,3 um:zero minimum:500 name:AGCB_FULL_DR_STALLS : 14-1 DR stage stall cycles due to AGCB (AGEN completion buffers) full
+event:0x40f counters:1,3 um:zero minimum:500 name:IODQ_FULL_DR_STALLS : 15-1 DR stage stall cycles due to IODQ (data comming back from IO) full
+event:0x410 counters:1,3 um:zero minimum:500 name:AGEN_EMPTY_CYCLES : 16-1 DDQ1 (AGEN out-of-order dispatch queue) empty cycles
+event:0x411 counters:1,3 um:zero minimum:500 name:AGEN_OPERANDS_NOT_READY_CYCLES : 17-1 DDQ1 (AGEN out-of-order dispatch queue) no issue cycles with valid instructions but operands not ready
+event:0x412 counters:1,3 um:zero minimum:500 name:AGEN_NO_ISSUES_CYCLES : 18-1 DDQ1 (AGEN out-of-order dispatch queue) no issue cycles with valid instructions due to operand(s) not available, non-issued stores blocking ready to issue loads, or non-issued CACHEOPs blocking ready to issue loads
+event:0x413 counters:1,3 um:zero minimum:500 name:AGEN_BUBBLE_CYCLES : 19-1 DDQ1 (AGEN out-of-order dispatch queue) bubbles due to MFC2 data write or cache access from FSB
+event:0x414 counters:1,3 um:zero minimum:500 name:DUAL_ISSUE_CYCLES : 20-1 Both DDQ0 (ALU out-of-order dispatch queue) and DDQ1 (AGEN out-of-order dispatch queue) valid instruction issue cycles
+event:0x415 counters:1,3 um:zero minimum:500 name:OOO_AGEN_ISSUE_CYCLES : 21-1 Out-of-order AGEN issue cycles (issued instruction is not the oldest in the pool)
+event:0x416 counters:1,3 um:zero minimum:500 name:DCACHE_LINE_REFILL_REQUESTS : 22-1 Data cache line loads (line refill requests)
+event:0x417 counters:1,3 um:zero minimum:500 name:DCACHE_ACCESSES : 23-1 Data cache accesses
+event:0x418 counters:1,3 um:zero minimum:500 name:DCACHE_MISSES : 24-1 Data cache misses
+event:0x419 counters:1,3 um:zero minimum:500 name:JTLB_DATA_MISSES : 25-1 Joint TLB data (non-instruction) misses
+event:0x41a counters:1,3 um:zero minimum:500 name:VA_TRANSALTION_CORNER_CASES : 26-1 Virtual memory address translation synonyms, homonyms, and aliases (loads/stores treated as miss in the cache)
+event:0x41b counters:1,3 um:zero minimum:500 name:LOAD_STORE_NO_FILL_REQUESTS : 27-1 Load/store graduations not resulting in a bus request because misses at integer pipe graduation turn into hit or merge with outstanding fill request
+event:0x41c counters:1,3 um:zero minimum:500 name:L2_CACHE_ACCESSES : 28-1 Accesses to the L2 cache
+event:0x41d counters:1,3 um:zero minimum:500 name:L2_CACHE_MISS_CYCLES : 29-1 Cycles a L2 miss is outstanding, but not necessarily stalling the pipeline
+event:0x41e counters:1,3 um:zero minimum:500 name:FSB_OVER_50_FULL : 30-1 FSB > 50% full
+event:0x41f counters:1,3 um:zero minimum:500 name:LDQ_OVER_50_FULL : 31-1 LDQ > 50% full
+event:0x420 counters:1,3 um:zero minimum:500 name:WBB_OVER_50_FULL : 32-1 WBB > 50% full
+
+event:0x423 counters:1,3 um:zero minimum:500 name:CP1_CP2_LOAD_INSNS : 35-1 CP1/CP2 load instructions graduated
+event:0x424 counters:1,3 um:zero minimum:500 name:MISPREDICTED_JR_31_INSNS : 36-1 jr $31 instructions graduated after mispredict
+event:0x425 counters:1,3 um:zero minimum:500 name:CP1_CP2_COND_BRANCH_INSNS : 37-1 CP1/CP2 conditional branch instructions graduated
+event:0x426 counters:1,3 um:zero minimum:500 name:MISPREDICTED_BRANCH_LIKELY_INSNS : 38-1 Mispredicted branch likely instructions graduated
+event:0x427 counters:1,3 um:zero minimum:500 name:MISPREDICTED_BRANCH_INSNS : 39-1 Mispredicted branches graduated
+event:0x428 counters:1,3 um:zero minimum:500 name:FPU_INSNS : 40-1 FPU instructions graduated
+event:0x429 counters:1,3 um:zero minimum:500 name:STORE_INSNS : 41-1 Store instructions graduated including CP1 ans CP2 stores
+event:0x42a counters:1,3 um:zero minimum:500 name:MIPS16_INSNS : 42-1 MIPS16 instructions graduated
+event:0x42b counters:1,3 um:zero minimum:500 name:NT_MUL_DIV_INSNS : 43-1 Integer multiply/divide instructions graduated
+event:0x42c counters:1,3 um:zero minimum:500 name:ALU_DSP_SATURATION_INSNS : 44-1 ALU-DSP graduated, result was saturated
+event:0x42d counters:1,3 um:zero minimum:500 name:MDU_DSP_SATURATION_INSNS : 45-1 MDU-DSP graduated, result was saturated
+event:0x42e counters:1,3 um:zero minimum:500 name:UNCACHED_STORE_INSNS : 46-1 Uncached stores graduated
+
+event:0x433 counters:1,3 um:zero minimum:500 name:FAILED_SC_INSNS : 51-1 SC instructions failed
+event:0x434 counters:1,3 um:zero minimum:500 name:CACHE_HIT_PREFETCH_INSNS : 52-1 PREFETCH instructions which did nothing, because they hit in the cache
+event:0x435 counters:1,3 um:zero minimum:500 name:LOAD_MISS_INSNS : 53-1 Cacheable load instructions that miss in the cache graduated
+event:0x436 counters:1,3 um:zero minimum:500 name:TWO_INSNS_CYCLES : 54-1 Two instructions graduated cycles
+event:0x437 counters:1,3 um:zero minimum:500 name:CP1_CP2_STORE_INSNS : 55-1 CP1/CP2 Store graduated
+event:0x43a counters:1,3 um:zero minimum:500 name:GRADUATION_REPLAYS : 58-1 Replays initiated from graduation
+event:0x43e counters:1,3 um:zero minimum:500 name:DSPRAM_EVENTS : 62-1 Implementation specific events from the DSPRAM block
+
+event:0x440 counters:0,2 um:zero minimum:500 name:SYSTEM_EVENT_1 : 64-1 Implementation specific system event 1
+event:0x441 counters:0,2 um:zero minimum:500 name:SYSTEM_EVENT_3 : 65-1 Implementation specific system event 3
+event:0x442 counters:0,2 um:zero minimum:500 name:SYSTEM_EVENT_5 : 66-1 Implementation specific system event 5
+event:0x443 counters:0,2 um:zero minimum:500 name:SYSTEM_EVENT_7 : 67-1 Implementation specific system event 7
+event:0x444 counters:0,2 um:zero minimum:500 name:OCP_ALL_CACHEABLE_REQUESTS : 68-1 All OCP cacheable requests accepted
+event:0x445 counters:0,2 um:zero minimum:500 name:OCP_READ_CACHEABLE_REQUESTS : 69-1 OCP cacheable read request accepted
+event:0x446 counters:0,2 um:zero minimum:500 name:OCP_WRITE_CACHEABLE_REQUESTS : 70-1 OCP cacheable write request accepted
+
+event:0x44a counters:0,2 um:zero minimum:500 name:FSB_25_50_FULL : 74-1 FSB 25-50% full
+event:0x44b counters:0,2 um:zero minimum:500 name:LDQ_25_50_FULL : 75-1 LDQ 25-50% full
+event:0x44c counters:0,2 um:zero minimum:500 name:WBB_25_50_FULL : 76-1 WBB 25-50% full
diff --git a/events/mips/74K/unit_masks b/events/mips/74K/unit_masks
new file mode 100644
index 0000000..d379dcf
--- /dev/null
+++ b/events/mips/74K/unit_masks
@@ -0,0 +1,5 @@
+#
+# MIPS 74K possible unit masks
+#
+name:zero type:mandatory default:0x0
+ 0x0 No unit mask
diff --git a/events/mips/loongson2/events b/events/mips/loongson2/events
new file mode 100644
index 0000000..68a472b
--- /dev/null
+++ b/events/mips/loongson2/events
@@ -0,0 +1,34 @@
+# loongson2 Events
+#
+event:0x00 counters:0 um:zero minimum:10000 name:CPU_CLK_UNHALTED : Cycles outside of haltstate
+event:0x01 counters:0 um:zero minimum:5000 name:BRANCH_INSTRUCTIONS : Branch instructions
+event:0x02 counters:0 um:zero minimum:400 name:JUMP_INSTRUCTIONS : JR instructions
+event:0x03 counters:0 um:zero minimum:500 name:JR31_INSTRUCTIONS : JR(rs=31) instructions
+event:0x04 counters:0 um:zero minimum:500 name:ICACHE_MISSES : Instruction cache misses
+event:0x05 counters:0 um:zero minimum:500 name:ALU1_ISSUED : ALU1 operation issued
+event:0x06 counters:0 um:zero minimum:8000 name:MEM_ISSUED : Memory read/write issued
+event:0x07 counters:0 um:zero minimum:300 name:FALU1_ISSUED : Float ALU1 operation issued
+event:0x08 counters:0 um:zero minimum:200 name:BHT_BRANCH_INSTRUCTIONS : BHT prediction instructions
+event:0x09 counters:0 um:zero minimum:200 name:MEM_READ : Read from primary memory
+event:0x0a counters:0 um:zero minimum:300 name:FQUEUE_FULL : Fix queue full
+event:0x0b counters:0 um:zero minimum:300 name:ROQ_FULL : Reorder queue full
+event:0x0c counters:0 um:zero minimum:300 name:CP0_QUEUE_FULL : CP0 queue full
+event:0x0d counters:0 um:zero minimum:300 name:TLB_REFILL : TLB refill exception
+event:0x0e counters:0 um:zero minimum:5 name:EXCEPTION : Exceptions
+event:0x0f counters:0 um:zero minimum:300 name:INTERNAL_EXCEPTION : Internal exceptions
+event:0x10 counters:1 um:zero minimum:5000 name:INSTRUCTION_COMMITTED : Instruction committed
+event:0x11 counters:1 um:zero minimum:500 name:BRANCHES_MISPREDICTED : Branch mispredicted
+event:0x12 counters:1 um:zero minimum:200 name:JR_MISPREDICTED : JR mispredicted
+event:0x13 counters:1 um:zero minimum:200 name:JR31_MISPREDICTED : JR31 mispredicted
+event:0x14 counters:1 um:zero minimum:500 name:DCACHE_MISSES : Data cache misses
+event:0x15 counters:1 um:zero minimum:500 name:ALU2_ISSUED : ALU2 operation issued
+event:0x16 counters:1 um:zero minimum:500 name:FALU2_ISSUED : FALU2 operation issued
+event:0x17 counters:1 um:zero minimum:500 name:UNCACHED_ACCESS : Uncached accesses
+event:0x18 counters:1 um:zero minimum:500 name:BHT_MISPREDICTED : Branch history table mispredicted
+event:0x19 counters:1 um:zero minimum:5000 name:MEM_WRITE : Write to memory
+event:0x1a counters:1 um:zero minimum:500 name:FTQ_FULL : Float queue full
+event:0x1b counters:1 um:zero minimum:500 name:BRANCH_QUEUE_FULL : Branch queue full
+event:0x1c counters:1 um:zero minimum:500 name:ITLB_MISSES : Instruction TLB misses
+event:0x1d counters:1 um:zero minimum:500 name:TOTAL_EXCEPTIONS : Total exceptions
+event:0x1e counters:1 um:zero minimum:500 name:LOAD_SPECULATION_MISSES : Load speculation misses
+event:0x1f counters:1 um:zero minimum:500 name:CP0Q_FORWARD_VALID : CP0 queue forward valid
diff --git a/events/mips/loongson2/unit_masks b/events/mips/loongson2/unit_masks
new file mode 100644
index 0000000..0d4ce5b
--- /dev/null
+++ b/events/mips/loongson2/unit_masks
@@ -0,0 +1,4 @@
+# loongson2 possible unit masks
+#
+name:zero type:mandatory default:0x0
+ 0x0 No unit mask
diff --git a/events/mips/r10000/events b/events/mips/r10000/events
new file mode 100644
index 0000000..237cc06
--- /dev/null
+++ b/events/mips/r10000/events
@@ -0,0 +1,36 @@
+#
+# R10000 events
+#
+# The same event numbers mean different things on the two counters
+#
+event:0x00 counters:0,1 um:zero minimum:500 name:CYCLES : Cycles
+event:0x01 counters:0 um:zero minimum:500 name:INSTRUCTIONS_ISSUED : Instructions issued
+event:0x01 counters:1 um:zero minimum:500 name:INSTRUCTIONS_GRADUATED : Instructions graduated
+event:0x02 counters:0 um:zero minimum:500 name:LOAD_PREFETC_SYNC_CACHEOP_ISSUED : Load / prefetch / sync / CacheOp issued
+event:0x02 counters:1 um:zero minimum:500 name:LOAD_PREFETC_SYNC_CACHEOP_GRADUATED : Load / prefetch / sync / CacheOp graduated
+event:0x03 counters:0 um:zero minimum:500 name:STORES_ISSUED : Stores issued
+event:0x03 counters:1 um:zero minimum:500 name:STORES_GRADUATED : Stores graduated
+event:0x04 counters:0 um:zero minimum:500 name:STORE_COND_ISSUED : Store conditional issued
+event:0x04 counters:1 um:zero minimum:500 name:STORE_COND_GRADUATED : Store conditional graduated
+event:0x05 counters:0 um:zero minimum:500 name:FAILED_STORE_CONDITIONAL : Failed store conditional
+event:0x05 counters:1 um:zero minimum:500 name:FP_INSTRUCTON_GRADUATED : Floating-point instructions graduated
+event:0x06 counters:0 um:zero minimum:500 name:BRANCHES_RESOLVED : Branches resolved
+event:0x06 counters:1 um:zero minimum:500 name:QUADWORDS_WB_FROM_PRIMARY_DCACHE : Quadwords written back from primary data cache
+event:0x07 counters:0 um:zero minimum:500 name:QUADWORDS_WB_FROM_SCACHE : Quadwords written back from secondary cache
+event:0x07 counters:1 um:zero minimum:500 name:TLB_REFILL_EXCEPTIONS : TLB refill exceptions
+event:0x08 counters:0 um:zero minimum:500 name:CORRECTABLE_ECC_ERRORS_SCACHE : Correctable ECC errors on secondary cache data
+event:0x08 counters:1 um:zero minimum:500 name:BRANCHES_MISPREDICTED : Branches mispredicted
+event:0x09 counters:0 um:zero minimum:500 name:INSTRUCTION_CACHE_MISSES : Instruction cache misses
+event:0x09 counters:1 um:zero minimum:500 name:SCACHE_LOAD_STORE_CACHEOP_OPERATIONS : Secondary cache load / store and cache-ops operations
+event:0x0a counters:0 um:zero minimum:500 name:SCACHE_MISSES_INSTRUCTION : Secondary cache misses (instruction)
+event:0x0a counters:1 um:zero minimum:500 name:SCACHE_MISSES_DATA : Secondary cache misses (data)
+event:0x0b counters:0 um:zero minimum:500 name:SCACHE_WAY_MISPREDICTED_INSN : Secondary cache way mispredicted (instruction)
+event:0x0b counters:1 um:zero minimum:500 name:SCACHE_WAY_MISPREDICTED_DATA : Secondary cache way mispredicted (data)
+event:0x0c counters:0 um:zero minimum:500 name:EXTERNAL_INTERVENTION_RQ : External intervention requests
+event:0x0c counters:1 um:zero minimum:500 name:EXTERNAL_INTERVENTION_RQ_HITS_SCACHE : External intervention request is determined to have hit in secondary cache
+event:0x0d counters:0 um:zero minimum:500 name:EXTERNAL_INVALIDATE_RQ : External invalidate requests
+event:0x0d counters:1 um:zero minimum:500 name:EXTERNAL_INVALIDATE_RQ_HITS_SCACHE : External invalidate request is determined to have hit in secondary cache
+event:0x0e counters:0 um:zero minimum:500 name:FUNCTIONAL_UNIT_COMPLETION_CYCLES : Functional unit completion cycles
+event:0x0e counters:1 um:zero minimum:500 name:STORES_OR_STORE_PREF_TO_CLEANEXCLUSIVE_SCACHE_BLOCKS : Stores or prefetches with store hint to CleanExclusive secondary cache blocks
+event:0x0f counters:0 um:zero minimum:500 name:INSTRUCTION_GRADUATED : Instructions graduated
+event:0x0f counters:1 um:zero minimum:500 name:STORES_OR_STORE_PREF_TO_SHD_SCACHE_BLOCKS : Stores or prefetches with store hint to Shared secondary cache blocks
diff --git a/events/mips/r10000/unit_masks b/events/mips/r10000/unit_masks
new file mode 100644
index 0000000..fab7d83
--- /dev/null
+++ b/events/mips/r10000/unit_masks
@@ -0,0 +1,5 @@
+#
+# MIPS R10000 possible unit masks
+#
+name:zero type:mandatory default:0x0
+ 0x0 No unit mask
diff --git a/events/mips/r12000/events b/events/mips/r12000/events
new file mode 100644
index 0000000..1fa6779
--- /dev/null
+++ b/events/mips/r12000/events
@@ -0,0 +1,35 @@
+#
+# R12000 events
+#
+event:0x0 counters:0,1,2,3 um:zero minimum:500 name:CYCLES : Cycles
+event:0x1 counters:0,1,2,3 um:zero minimum:500 name:DECODED_INSTRUCTIONS : Decoded instructions
+event:0x2 counters:0,1,2,3 um:zero minimum:500 name:DECODED_LOADS : Decoded loads
+event:0x3 counters:0,1,2,3 um:zero minimum:500 name:DECODED_STORES : Decoded stores
+event:0x4 counters:0,1,2,3 um:zero minimum:500 name:MISS_TABLE_OCCUPANCY : Miss Handling Table Occupancy
+event:0x5 counters:0,1,2,3 um:zero minimum:500 name:FAILED_STORE_CONDITIONAL : Failed store conditional
+event:0x6 counters:0,1,2,3 um:zero minimum:500 name:RESOLVED_BRANCH_CONDITIONAL : Resolved conditional branches
+event:0x7 counters:0,1,2,3 um:zero minimum:500 name:QUADWORRDS_WRITEBACK_FROM_SC : Quadwords written back from secondary cache
+event:0x8 counters:0,1,2,3 um:zero minimum:500 name:CORRECTABLE_ECC_ERRORS : Correctable ECC errors on secondary cache data
+event:0x9 counters:0,1,2,3 um:zero minimum:500 name:ICACHE_MISSES : Instruction cache misses
+event:0xa counters:0,1,2,3 um:zero minimum:500 name:INSTRUCTION_SECONDARY_CACHE_MISSES : Secondary cache misses (instruction)
+event:0xb counters:0,1,2,3 um:zero minimum:500 name:SECONDARY_CACHE_WAY_MISSPREDICTED : Secondary cache way mispredicted (instruction)
+event:0xc counters:0,1,2,3 um:zero minimum:500 name:INTERVENTION_REQUESTS : External intervention requests
+event:0xd counters:0,1,2,3 um:zero minimum:500 name:EXTERNAL_REQUESTS : External invalidate requests
+
+event:0xf counters:0,1,2,3 um:zero minimum:500 name:INSTRUCTIONS_GRADUATED : Instructions graduated
+event:0x10 counters:0,1,2,3 um:zero minimum:500 name:PREFETCH_INSTRUCTIONS_EXECUTED : Executed prefetch instructions
+event:0x11 counters:0,1,2,3 um:zero minimum:500 name:PREFETCH_MISSES_IN_DCACHE : Primary data cache misses by prefetch instructions
+event:0x12 counters:0,1,2,3 um:zero minimum:500 name:GRADUATED_LOADS : Graduated loads
+event:0x13 counters:0,1,2,3 um:zero minimum:500 name:GRADUATED_STORES : Graduated stores
+event:0x14 counters:0,1,2,3 um:zero minimum:500 name:GRADUATED_STORE_CONDITIONALS : Graduated store conditionals
+event:0x15 counters:0,1,2,3 um:zero minimum:500 name:GRADUATED_FP_INSTRUCTIONS : Graduated floating point instructions
+event:0x16 counters:0,1,2,3 um:zero minimum:500 name:QUADWORDS : Quadwords written back from primary data cache
+event:0x17 counters:0,1,2,3 um:zero minimum:500 name:TLB_MISSES : TLB misses
+event:0x18 counters:0,1,2,3 um:zero minimum:500 name:MISPREDICTED_BRANCHES : Mispredicted branches
+event:0x19 counters:0,1,2,3 um:zero minimum:500 name:DCACHE_MISSES : Primary data cache misses
+event:0x1a counters:0,1,2,3 um:zero minimum:500 name:SCACHE_MISSES : Secondary cache misses (data)
+event:0x1b counters:0,1,2,3 um:zero minimum:500 name:SCACHE_WAY_MISPREDICTION : Misprediction from scache way prediction table (data)
+event:0x1c counters:0,1,2,3 um:zero minimum:500 name:STATE_OF_SCACHE_INTERVENTION_HIT : State of external intervention hit in secondary cache
+event:0x1d counters:0,1,2,3 um:zero minimum:500 name:STATE_OF_EXTERNAL_INVALIDATION_HIT : State of external invalidation hits in secondary cache
+event:0x1e counters:0,1,2,3 um:zero minimum:500 name:STORE_PREFETCH_EXCLUSIVE_TO_CLEAN_SC_BLOCK : Store/prefetch exclusive to clean block in secondary cache
+event:0x1f counters:0,1,2,3 um:zero minimum:500 name:STORE_PREFETCH_EXCLUSIVE_SHARED_SC_BLOCK : Store/prefetch exclusive to shared block in secondary
diff --git a/events/mips/r12000/unit_masks b/events/mips/r12000/unit_masks
new file mode 100644
index 0000000..20c8250
--- /dev/null
+++ b/events/mips/r12000/unit_masks
@@ -0,0 +1,7 @@
+#
+# MIPS R12000 possible unit masks
+#
+# We don't support the R12000 conditional count feature yet.
+#
+name:zero type:mandatory default:0x0
+ 0x0 No unit mask
diff --git a/events/mips/rm7000/events b/events/mips/rm7000/events
new file mode 100644
index 0000000..bfcde7a
--- /dev/null
+++ b/events/mips/rm7000/events
@@ -0,0 +1,34 @@
+#
+# RM7000 events
+#
+event:0x00 counters:0,1 um:zero minimum:500 name:CYCLES : Clock cycles
+event:0x01 counters:0,1 um:zero minimum:500 name:INSTRUCTIONS_ISSUED : Total instructions issued
+event:0x02 counters:0,1 um:zero minimum:500 name:FP_INSTRUCTIONS_ISSUED : Floating-point instructions issued
+event:0x03 counters:0,1 um:zero minimum:500 name:INTEGER_INSTRUCTIONS_ISSUED : Integer instructions issued
+event:0x04 counters:0,1 um:zero minimum:500 name:LOAD_INSTRUCTIONS_ISSUED : Load instructions issued
+event:0x05 counters:0,1 um:zero minimum:500 name:STORE_INSTRUCTIONS_ISSUED : Store instructions issued
+event:0x06 counters:0,1 um:zero minimum:500 name:DUAL_ISSUED_PAIRS : Dual issued pairs
+event:0x07 counters:0,1 um:zero minimum:500 name:BRANCH_PREFETCHES : Branch prefetches
+event:0x08 counters:0,1 um:zero minimum:500 name:EXTERNAL_CACHE_MISSES : External Cache Misses
+event:0x09 counters:0,1 um:zero minimum:500 name:STALL_CYCLES : Stall cycles
+event:0x0a counters:0,1 um:zero minimum:500 name:SCACHE_MISSES : Secondary cache misses
+event:0x0b counters:0,1 um:zero minimum:500 name:ICACHE_MISSES : Instruction cache misses
+event:0x0c counters:0,1 um:zero minimum:500 name:DCACHE_MISSES : Data cache misses
+event:0x0d counters:0,1 um:zero minimum:500 name:DTLB_MISSES : Data TLB misses
+event:0x0e counters:0,1 um:zero minimum:500 name:ITLB_MISSES : Instruction TLB misses
+event:0x0f counters:0,1 um:zero minimum:500 name:JTLB_INSTRUCTION_MISSES : Joint TLB instruction misses
+event:0x10 counters:0,1 um:zero minimum:500 name:JTLB_DATA_MISSES : Joint TLB data misses
+event:0x11 counters:0,1 um:zero minimum:500 name:BRANCHES_TAKEN : Branches taken
+event:0x12 counters:0,1 um:zero minimum:500 name:BRANCHES_ISSUED : Branches issued
+event:0x13 counters:0,1 um:zero minimum:500 name:SCACHE_WRITEBACKS : Secondary cache writebacks
+event:0x14 counters:0,1 um:zero minimum:500 name:PCACHE_WRITEBACKS : Primary cache writebacks
+event:0x15 counters:0,1 um:zero minimum:500 name:DCACHE_MISS_STALL_CYCLES : Dcache miss stall cycles (cycles where both cache miss tokens taken and a third try is requested)
+event:0x16 counters:0,1 um:zero minimum:500 name:CACHE_MISSES : Cache misses
+event:0x17 counters:0,1 um:zero minimum:500 name:FP_EXCEPTION_STALL_CYCLES : FP possible exception cycles
+event:0x18 counters:0,1 um:zero minimum:500 name:SLIP_CYCLES_DUE_MULTIPLIER_BUSY : Slip Cycles due to multiplier busy
+event:0x19 counters:0,1 um:zero minimum:500 name:COP0_SLIP_CYCLES : Coprocessor 0 slip cycles
+event:0x1a counters:0,1 um:zero minimum:500 name:SLIP_CYCLES_PENDING_NON_BLKING_LOAD : Slip cycles due to pending non-blocking loads
+event:0x1c counters:0,1 um:zero minimum:500 name:WRITE_BUFFER_FULL_STALL_CYCLES : Write buffer full stall cycles
+event:0x1d counters:0,1 um:zero minimum:500 name:CACHE_INSTRUCTION_STALL_CYCLES : Cache instruction stall cycles
+event:0x1e counters:0,1 um:zero minimum:500 name:MULTIPLIER_STALL_CYCLES : Multiplier stall cycles
+event:0x1f counters:0,1 um:zero minimum:500 name:STALL_CYCLES_PENDING_NON_BLKING_LOAD : Stall cycles due to pending non-blocking loads - stall start of exception
diff --git a/events/mips/rm7000/unit_masks b/events/mips/rm7000/unit_masks
new file mode 100644
index 0000000..cb11b7c
--- /dev/null
+++ b/events/mips/rm7000/unit_masks
@@ -0,0 +1,5 @@
+#
+# MIPS RM7000 possible unit masks
+#
+name:zero type:mandatory default:0x0
+ 0x0 No unit mask
diff --git a/events/mips/rm9000/events b/events/mips/rm9000/events
new file mode 100644
index 0000000..71d8491
--- /dev/null
+++ b/events/mips/rm9000/events
@@ -0,0 +1,32 @@
+#
+# RM9000 events
+#
+event:0x00 counters:0,1 um:zero minimum:500 name:CYCLES : Processor clock cycles
+event:0x01 counters:0,1 um:zero minimum:500 name:INSTRUCTIONS_ISSUED : Instructions issued
+event:0x02 counters:0,1 um:zero minimum:500 name:FP_INSTRUCTIONS_ISSUED : Floating-point instructions issued
+event:0x03 counters:0,1 um:zero minimum:500 name:INT_INSTRUCTIONS_ISSUED : Integer instructions issued
+event:0x04 counters:0,1 um:zero minimum:500 name:LOAD_INSTRUCTIONS_ISSUED : Load instructions issued
+event:0x05 counters:0,1 um:zero minimum:500 name:STORE_INSTRUCTIONS_ISSUED : Store instructions issued
+event:0x06 counters:0,1 um:zero minimum:500 name:INSTRUCTIONS_DUAL_ISSUED : Dual-issued instruction pairs
+event:0x07 counters:0,1 um:zero minimum:500 name:BRANCH_MISSPREDICTS : Branch mispredictions
+event:0x09 counters:0,1 um:zero minimum:500 name:STALL_CYCLES : Stall cycles
+event:0x0a counters:0,1 um:zero minimum:500 name:L2_CACHE_MISSES : L2 cache misses
+event:0x0b counters:0,1 um:zero minimum:500 name:ICACHE_MISSES : Icache misses
+event:0x0c counters:0,1 um:zero minimum:500 name:DCACHE_MISSES : Dcache misses
+event:0x0d counters:0,1 um:zero minimum:500 name:DTLB_MISSES : Data TLB misses
+event:0x0e counters:0,1 um:zero minimum:500 name:ITLB_MISSES : Instruction TLB misses
+event:0x0f counters:0,1 um:zero minimum:500 name:JTLB_INSTRUCTION_MISSES : Joint TLB instruction misses
+event:0x10 counters:0,1 um:zero minimum:500 name:JTLB_DATA_MISSES : Joint TLB data misses
+event:0x11 counters:0,1 um:zero minimum:500 name:BRANCHES_TAKEN : Branches taken
+event:0x12 counters:0,1 um:zero minimum:500 name:BRANCHES_ISSUED : Branch instructions issued
+event:0x13 counters:0,1 um:zero minimum:500 name:L2_WRITEBACKS : L2 cache writebacks
+event:0x14 counters:0,1 um:zero minimum:500 name:DCACHE_WRITEBACKS : Dcache writebacks
+event:0x15 counters:0,1 um:zero minimum:500 name:DCACHE_MISS_STALL_CYCLES : Dcache-miss stall cycles
+event:0x16 counters:0,1 um:zero minimum:500 name:CACHE_REMISSES : Cache remisses
+event:0x17 counters:0,1 um:zero minimum:500 name:FP_POSSIBLE_EXCEPTION_CYCLES : Floating-point possible exception cycles
+event:0x18 counters:0,1 um:zero minimum:500 name:MULTIPLIER_BUSY_SLIP_CYCLES : Slip cycles due to busy multiplier
+event:0x19 counters:0,1 um:zero minimum:500 name:COP0_SLIP_CYCLES : Co-processor 0 slip cycles
+event:0x1a counters:0,1 um:zero minimum:500 name:NONBLOCKING_LOAD_SLIP_CYCLES : Slip cycles due to pending non-blocking loads
+event:0x1b counters:0,1 um:zero minimum:500 name:WRITE_BUFFER_FULL_STALL_CYCLES : Stall cycles due to a full write buffer
+event:0x1c counters:0,1 um:zero minimum:500 name:CACHE_INSN_STALL_CYCLES : Stall cycles due to cache instructions
+event:0x1e counters:0,1 um:zero minimum:500 name:NONBLOCKING_LOAD_PENDING_EXCEPTION_STALL_CYCLES : Stall cycles due to pending non-blocking loads - stall start of exception
diff --git a/events/mips/rm9000/unit_masks b/events/mips/rm9000/unit_masks
new file mode 100644
index 0000000..63ba9da
--- /dev/null
+++ b/events/mips/rm9000/unit_masks
@@ -0,0 +1,5 @@
+#
+# MIPS RM9000 possible unit masks
+#
+name:zero type:mandatory default:0x0
+ 0x0 No unit mask
diff --git a/events/mips/sb1/events b/events/mips/sb1/events
new file mode 100644
index 0000000..efc28ce
--- /dev/null
+++ b/events/mips/sb1/events
@@ -0,0 +1,73 @@
+#
+# Sibyte SB1 events
+#
+
+event:0x10 counters:0,1,2,3 um:zero minimum:500 name:CYCLES :Elapsed cycles
+
+# Execution Counts and Instruction Slotting
+event:0x28 counters:1,2,3 um:zero minimum:500 name:ISSUE_L0 :Issue to L0
+event:0x29 counters:1,2,3 um:zero minimum:500 name:ISSUE_L1 :Issue to L0
+event:0x2a counters:1,2,3 um:zero minimum:500 name:ISSUE_E0 :Issue to E0
+event:0x2b counters:1,2,3 um:zero minimum:500 name:ISSUE_E1 :Issue to E1
+
+# Explaining Sub-Peak Performance: Pipeline Traps
+event:0x2f counters:1,2,3 um:zero minimum:500 name:BRANCH_MISSPREDICTS :Branch mispredicts
+event:0x1d counters:1,2,3 um:zero minimum:500 name:MBOX_REPLAY :MBOX replay
+event:0x1c counters:1,2,3 um:zero minimum:500 name:DCFIFO :DCFIFO
+event:0x1e counters:1,2,3 um:zero minimum:500 name:DATA_DEPENDENCY_REPLAY :Data dependency replay
+event:0x1b counters:1,2,3 um:zero minimum:500 name:DCACHE_FILL_REPLAY :Dcache fill replay
+event:0x1f counters:1,2,3 um:zero minimum:500 name:ANY_REPLAY :Any replay except mispredict
+
+
+# Explaining Sub-Peak Performance: static and dynamic stalls
+event:0x20 counters:1,2,3 um:zero minimum:500 name:MAX_ISSUE :Max issue
+event:0x21 counters:1,2,3 um:zero minimum:500 name:NO_VALID_INSN :No valid instr to issue
+event:0x22 counters:1,2,3 um:zero minimum:500 name:CONSUMER_WAITING_FOR_LOAD :load consumer waiting for dfill
+event:0x23 counters:1,2,3 um:zero minimum:500 name:NOT_DATA_READY :Not data ready
+event:0x24 counters:1,2,3 um:zero minimum:500 name:RESOURCE_CONSTRAINT :Resource (L0/1 E0/1) constraint
+event:0x25 counters:1,2,3 um:zero minimum:500 name:ISSUE_CONFLICT_DUE_IMISS :issue conflict due to imiss using LS0
+event:0x26 counters:1,2,3 um:zero minimum:500 name:ISSUE_CONFLICT_DUE_DFILL :issue conflict due to dfill using LS0/1
+
+# Grouping Co-issued Instructions
+event:0x27 counters:1,2,3 um:zero minimum:500 name:INSN_STAGE4 :One or more instructions survives stage 4
+
+# Branch information
+event:0x2c counters:1,2,3 um:zero minimum:500 name:BRANCH_STAGE4 :Branch survived stage 4
+event:0x2d counters:1,2,3 um:zero minimum:500 name:BRANCH_REALLY_TAKEN :Conditional branch was really taken
+event:0x2e counters:1,2,3 um:zero minimum:500 name:BRANCH_PREDICTED_TAKEN :Predicted taken conditional branch
+
+# Cache access
+event:0x1 counters:1,2,3 um:zero minimum:500 name:RQ_LENGTH :Read queue length
+event:0x2 counters:1,2,3 um:zero minimum:500 name:UNCACHED_RQ_LENGTH :Number of valid uncached entries in read queue
+event:0x3 counters:1,2,3 um:zero minimum:500 name:DCACHE_READ_MISS :Dcache read results in a miss
+
+event:0xa counters:1,2,3 um:zero minimum:500 name:DCACHE_FILLED_SHD_NONC_EXC :Dcache is filled (shared, nonc, exclusive)
+event:0xb counters:1,2,3 um:zero minimum:500 name:DCACHE_FILL_SHARED_LINE :Dcache is filled with shared line
+event:0xc counters:1,2,3 um:zero minimum:500 name:DCACHE_READ_MISS :Dcache read results in a miss
+event:0xf counters:1,2,3 um:zero minimum:500 name:WRITEBACK_RETURNS :Number of instruction returns
+event:0xd counters:1,2,3 um:zero minimum:500 name:VICTIM_WRITEBACK :A writeback occurs due to replacement
+event:0x7 counters:1,2,3 um:zero minimum:500 name:UPGRADE_SHARED_TO_EXCLUSIVE :A line is upgraded from shared to exclusive
+event:0x6 counters:1,2,3 um:zero minimum:500 name:LD_ST_HITS_PREFETCH_IN_QUEUE :Load/store hits prefetch in read queue
+event:0x5 counters:1,2,3 um:zero minimum:500 name:PREFETCH_HITS_CACHE_OR_READ_Q :Prefetch hits in cache or read queue
+event:0x4 counters:1,2,3 um:zero minimum:500 name:READ_HITS_READ_Q :Read hits in read queue
+
+# BIU
+
+event:0x11 counters:1,2,3 um:zero minimum:500 name:BIU_STALLS_ON_ZB_ADDR_BUS :BIU stalls on ZB addr bus
+event:0x12 counters:1,2,3 um:zero minimum:500 name:BIU_STALLS_ON_ZB_DATA_BUS :BIU stalls on ZB data bus
+event:0x13 counters:1,2,3 um:zero minimum:500 name:READ_RQ_SENT_TO_ABUS :Requests sent to ZB Abus
+event:0x14 counters:1,2,3 um:zero minimum:500 name:READ_RQ_NOPS_SENT_TO_ABUS :Read requests and NOPs sent to ZB Abus
+event:0x15 counters:1,2,3 um:zero minimum:500 name:READ_RQ_SENT_TO_ABUS :Read requests sent to ZB Abus
+event:0x16 counters:1,2,3 um:zero minimum:500 name:MBOX_RQ_WHEN_BIU_BUSY :MBOX requests to BIU when BIU busy
+
+# Multiprocessor
+event:0x1a counters:1,2,3 um:zero minimum:500 name:STORE_COND_FAILED :Failed store conditional
+event:0x16 counters:1,2,3 um:zero minimum:500 name:SNOOP_RQ_HITS :Snoop request hits anywhere
+event:0x17 counters:1,2,3 um:zero minimum:500 name:SNOOP_ADDR_Q_FULL :Snoop address queue is full
+event:0x18 counters:1,2,3 um:zero minimum:500 name:R_RESP_OTHER_CORE :Read response comes from the other core
+event:0x19 counters:1,2,3 um:zero minimum:500 name:R_RESP_OTHER_CORE_D_MOD :Read response comes from the other core with D_MOD set
+
+# Instruction Counts
+event:0x8 counters:1,2,3 um:zero minimum:500 name:LOAD_SURVIVED_STAGE4 :Load survived stage 4
+event:0x9 counters:1,2,3 um:zero minimum:500 name:STORE_SURVIVED_STAGE4 :Store survived stage 4
+event:0x0 counters:1,2,3 um:zero minimum:500 name:INSN_SURVIVED_STAGE7 :Instruction survived stage 7
diff --git a/events/mips/sb1/unit_masks b/events/mips/sb1/unit_masks
new file mode 100644
index 0000000..7fd41fb
--- /dev/null
+++ b/events/mips/sb1/unit_masks
@@ -0,0 +1,5 @@
+#
+# Sibyte SB1 possible unit masks
+#
+name:zero type:mandatory default:0x0
+ 0x0 No unit mask
diff --git a/events/mips/vr5432/events b/events/mips/vr5432/events
new file mode 100644
index 0000000..31bd827
--- /dev/null
+++ b/events/mips/vr5432/events
@@ -0,0 +1,14 @@
+#
+# VR5432 events
+#
+event:0x0 counters:0,1 um:zero minimum:500 name:CYCLES : Processor cycles (PClock)
+event:0x1 counters:0,1 um:zero minimum:500 name:INSTRUCTIONS_EXECUTED : (Instructions executed)/2 and truncated
+event:0x2 counters:0,1 um:zero minimum:500 name:LOAD_PREF_CACHE_INSTRUCTIONS : Load, prefetch/CacheOps execution (no sync)
+event:0x3 counters:0,1 um:zero minimum:500 name:STORES : Store execution
+event:0x4 counters:0,1 um:zero minimum:500 name:BRANCHES : Branch execution (no jumps or jump registers)
+event:0x5 counters:0,1 um:zero minimum:500 name:FP_INSTRUCTIONS : (FP instruction execution) / 2 and truncated excluding cp1 loads and stores
+event:0x6 counters:0,1 um:zero minimum:500 name:DOUBLEWORDS_FLUSHED : Doublewords flushed to main memory (no uncached stores)
+event:0x7 counters:0,1 um:zero minimum:500 name:JTLB_REFILLS : JTLB refills
+event:0x8 counters:0,1 um:zero minimum:500 name:DCACHE_MISSES : Data cache misses (no I-cache misses)
+event:0x9 counters:0,1 um:zero minimum:500 name:ICACHE_MISSES : Instruction cache misses (no D-cache misses)
+event:0xa counters:0,1 um:zero minimum:500 name:BRANCHES_MISPREDICTED : Branches mispredicted
diff --git a/events/mips/vr5432/unit_masks b/events/mips/vr5432/unit_masks
new file mode 100644
index 0000000..2239d12
--- /dev/null
+++ b/events/mips/vr5432/unit_masks
@@ -0,0 +1,5 @@
+#
+# MIPS VR5432 possible unit masks
+#
+name:zero type:mandatory default:0x0
+ 0x0 No unit mask
diff --git a/events/mips/vr5500/events b/events/mips/vr5500/events
new file mode 100644
index 0000000..c540176
--- /dev/null
+++ b/events/mips/vr5500/events
@@ -0,0 +1,16 @@
+#
+# VR5500, VR5532 and VR7701 events
+#
+# Very similar to what the VR5432 provides.
+#
+event:0x0 counters:0,1 um:zero minimum:500 name:CYCLES : Processor clock cycles
+event:0x1 counters:0,1 um:zero minimum:500 name:INSTRUCTIONS_EXECUTED : Instructions executed
+event:0x2 counters:0,1 um:zero minimum:500 name:LOAD_PREF_CACHE_INSTRUCTIONS : Execution of load/prefetch/cache instruction
+event:0x3 counters:0,1 um:zero minimum:500 name:STORES : Execution of store instruction
+event:0x4 counters:0,1 um:zero minimum:500 name:BRANCHES : Execution of branch instruction
+event:0x5 counters:0,1 um:zero minimum:500 name:FP_INSTRUCTIONS : Execution of floating-point instruction
+event:0x6 counters:0,1 um:zero minimum:500 name:DOUBLEWORDS_FLUSHED : Doubleword flush to main memory
+event:0x7 counters:0,1 um:zero minimum:500 name:JTLB_REFILLS : TLB refill
+event:0x8 counters:0,1 um:zero minimum:500 name:DCACHE_MISSES : Data cache miss
+event:0x9 counters:0,1 um:zero minimum:500 name:ICACHE_MISSES : Instruction cache miss
+event:0xa counters:0,1 um:zero minimum:500 name:BRANCHES_MISPREDICTED : Branch prediction miss
diff --git a/events/mips/vr5500/unit_masks b/events/mips/vr5500/unit_masks
new file mode 100644
index 0000000..ef69a7a
--- /dev/null
+++ b/events/mips/vr5500/unit_masks
@@ -0,0 +1,5 @@
+#
+# MIPS VR5500 possible unit masks
+#
+name:zero type:mandatory default:0x0
+ 0x0 No unit mask
diff --git a/events/ppc/7450/events b/events/ppc/7450/events
new file mode 100644
index 0000000..d27046f
--- /dev/null
+++ b/events/ppc/7450/events
@@ -0,0 +1,39 @@
+# 745x Events
+#
+event:0x1 counters:0,1,2,3 um:zero minimum:3000 name:CYCLES : Processor cycles
+event:0x2 counters:0,1,2,3 um:zero minimum:3000 name:COMPLETED_INSNS : Completed Instructions
+event:0x3 counters:0,1,2,3 um:zero minimum:3000 name:TBL_BIT_TRANSTNS : TBL Bit Transitions
+event:0x4 counters:0,1,2,3 um:zero minimum:3000 name:DISPATCHED_INSNS : Dispatched Instructions
+event:0x5 counters:0,1,2,3 um:zero minimum:3000 name:PROC_PERFMON_EXC : Process Performance Monitor Exception
+event:0x8 counters:0,1,3 um:zero minimum:3000 name:VPU_INSNS : VPU Instructions Completed
+event:0x9 counters:0,1,3 um:zero minimum:3000 name:VFPU_INSNS : VFPU Instructions Completed
+event:0xa counters:0,1,3 um:zero minimum:3000 name:VIU1_INSNS : VIU1 Instructions Completed
+event:0xb counters:0,1,3 um:zero minimum:3000 name:VIU2_INSNS : VIU2 Instructions Completed
+event:0xe counters:0,1 um:zero minimum:3000 name:VPU_CYCLES : Cycles a VPU Instruction
+event:0xf counters:0,1 um:zero minimum:3000 name:VFPU_CYCLES : Cycles a VFPU Instruction
+event:0x10 counters:0,1 um:zero minimum:3000 name:VIU1_CYCLES : Cycles a VIU1 Instruction
+event:0x11 counters:0,1 um:zero minimum:3000 name:VIU2_CYCLES : Cycles a VIU2 Instruction
+event:0x12 counters:2 um:zero minimum:3000 name:DTLB_MISSES : DTLB misses
+event:0x14 counters:0,1 um:zero minimum:3000 name:STORE_INSNS : Store Instructions
+event:0x15 counters:0,1 um:zero minimum:3000 name:L1_ICACHE_MISSES : L1 Instruction Cache Misses
+event:0x16 counters:0,1 um:zero minimum:3000 name:L1_DATA_SNOOPS : L1 Data Snoops
+event:0x17 counters:0,1 um:zero minimum:3000 name:UNRESOLVED_BRANCHES : Unresolved Branches
+event:0x1c counters:3 um:zero minimum:3000 name:MISPREDICTED_BRANCHES : Mispredicted branches
+event:0x1d counters:3 um:zero minimum:3000 name:FOLDED_BRANCHES : Folded branches
+event:0x1f counters:2 um:zero minimum:3000 name:BR_LN_STACK_MIS : Branch Link Stack Mispredicted
+event:0x27 counters:0 um:zero minimum:3000 name:ITLB_TABLE_CYCLES : ITLM Hardware Table Search Cycles
+event:0x29 counters:0 um:zero minimum:3000 name:L1_ICACHE_ACCESSES : L1 Instruction Cache Accesses
+event:0x2a counters:0 um:zero minimum:3000 name:INSN_BP_MATCHES : Instruction Breakpoint Matches
+event:0x32 counters:0 um:zero minimum:3000 name:L1_DSNOOP_HITS : L1 data snoop hits
+event:0x33 counters:0 um:zero minimum:3000 name:WRITETHRU_STORES : Write-through stores
+event:0x34 counters:0 um:zero minimum:3000 name:CACHEINH_STORES : Cache-inhibited stores
+event:0x35 counters:0 um:zero minimum:3000 name:L1_DLOAD_HIT : L1 data load hit
+event:0x36 counters:0 um:zero minimum:3000 name:L1_DTOUCH_HIT : L1 data touch hit
+event:0x37 counters:0 um:zero minimum:3000 name:L1_DSTORE_HIT : L1 data store hit
+event:0x38 counters:0 um:zero minimum:3000 name:L1_DATA_HITS : L1 data total hits
+event:0x40 counters:0 um:zero minimum:3000 name:ALTIVEC_LD_INSNS_COMPLETED : Altivec load instructions completed
+event:0x41 counters:0 um:zero minimum:3000 name:FP_STORE_INSNS_COMPLETED_LSU : Floating point store instructions completed in LSU
+event:0x4f counters:0 um:zero minimum:3000 name:FP_LOAD_INSNS_COMPLETED_LSU : Floating point load instructions completed in LSU
+event:0x50 counters:0 um:zero minimum:3000 name:FP_LDSINGLE_INSNS_COMPLETED_LSU : Floating point load single instructions completed in LSU
+event:0x5e counters:0 um:zero minimum:3000 name:FP_DENORMALIZED_RESULT : Floating point denormalized result
+
diff --git a/events/ppc/7450/unit_masks b/events/ppc/7450/unit_masks
new file mode 100644
index 0000000..33c15c2
--- /dev/null
+++ b/events/ppc/7450/unit_masks
@@ -0,0 +1,4 @@
+# 745x possible unit masks
+#
+name:zero type:mandatory default:0x0
+ 0x0 No unit mask
diff --git a/events/ppc/e300/events b/events/ppc/e300/events
new file mode 100644
index 0000000..c76923c
--- /dev/null
+++ b/events/ppc/e300/events
@@ -0,0 +1,40 @@
+# e300 Events
+#
+event:0x1 counters:0,1,2,3 um:zero minimum:3000 name:CPU_CLK : Cycles
+event:0x2 counters:0,1,2,3 um:zero minimum:3000 name:COMPLETED_INSNS : Completed Instructions (0, 1, or 2 per cycle)
+event:0x4 counters:0,1,2,3 um:zero minimum:500 name:INSTRUCTION_FETCHES : Instruction fetches
+event:0x6 counters:0,1,2,3 um:zero minimum:500 name:PM_EVENT_TRANS : 0 to 1 translations on the pm_event input
+event:0x7 counters:0,1,2,3 um:zero minimum:500 name:PM_EVENT_CYCLES : processor bus cycle
+event:0x8 counters:0,1,2,3 um:zero minimum:500 name:COMPLETED_BRANCHES : Branch Instructions completed
+event:0x9 counters:0,1,2,3 um:zero minimum:500 name:COMPLETED_LOAD_OPS : Load micro-ops completed
+event:0xa counters:0,1,2,3 um:zero minimum:500 name:COMPLETED_STORE_OPS : Store micro-ops completed
+event:0xc counters:0,1,2,3 um:zero minimum:500 name:BRANCHES_FINISHED : Branches finished
+event:0xd counters:0,1,2,3 um:zero minimum:500 name:TAKEN_BRANCHES_FINISHED : Taken branches finished
+event:0xf counters:0,1,2,3 um:zero minimum:500 name:BRANCHES_MISPREDICTED : Branch instructions mispredicted due to direction, target, or IAB prediction
+event:0x12 counters:0,1,2,3 um:zero minimum:500 name:DECODE_STALLED : Cycles the instruction buffer was not empty, but 0 instructions decoded
+event:0x13 counters:0,1,2,3 um:zero minimum:500 name:ISSUE_STALLED : Cycles the issue buffer is not empty but 0 instructions issued
+event:0x1f counters:0,1,2,3 um:zero minimum:500 name:CACHEINHIBITED_ACCESSES_TRANSLATED : Number of cache inhibited accesses translated
+event:0x3d counters:0,1,2,3 um:zero minimum:500 name:FETCHES : Counts the number of fetches that write at least one instruction to the instruction buffer. (With instruction fetched, can used to compute instructions-per-fetch)
+event:0x3e counters:0,1,2,3 um:zero minimum:500 name:MMU_MISSES : Counts instruction TLB miss exceptions
+event:0x43 counters:0,1,2,3 um:zero minimum:500 name:BIU_MASTER_REQUESTS : Number of master transactions. (Number of master TSs.)
+event:0x44 counters:0,1,2,3 um:zero minimum:500 name:BIU_MASTER_I_REQUESTS : Number of master I-Side transactions. (Number of master I-Side TSs.)
+event:0x45 counters:0,1,2,3 um:zero minimum:500 name:BIU_MASTER_D_REQUESTS : Number of master D-Side transactions. (Number of master D-Side TSs.)
+event:0x47 counters:0,1,2,3 um:zero minimum:500 name:BIU_MASTER_RETRIES : Number of transactions which were initiated by this processor which were retried on the BIU interface. (Number of master ARTRYs.)
+event:0x4a counters:0,1,2,3 um:zero minimum:500 name:SNOOP_PUSHES : Number of snoop pushes from all D-side resources. (Counts snoop ARTRY/WOPs.)
+event:0x52 counters:0,1,2,3 um:zero minimum:500 name:PMC0_OVERFLOW : Counts the number of times PMC0[32] transitioned from 1 to 0.
+event:0x53 counters:0,1,2,3 um:zero minimum:500 name:PMC1_OVERFLOW : Counts the number of times PMC1[32] transitioned from 1 to 0.
+event:0x54 counters:0,1,2,3 um:zero minimum:500 name:PMC2_OVERFLOW : Counts the number of times PMC2[32] transitioned from 1 to 0.
+event:0x55 counters:0,1,2,3 um:zero minimum:500 name:PMC3_OVERFLOW : Counts the number of times PMC3[32] transitioned from 1 to 0.
+event:0x56 counters:0,1,2,3 um:zero minimum:500 name:INTERRUPTS : Number of interrupts taken
+event:0x57 counters:0,1,2,3 um:zero minimum:500 name:EXTERNAL_INTERRUPTS : Number of external input interrupts taken
+event:0x58 counters:0,1,2,3 um:zero minimum:500 name:CRITICAL_INTERRUPTS : Number of critical input interrupts taken
+event:0x59 counters:0,1,2,3 um:zero minimum:500 name:SC_TRAP_INTERRUPTS : Number of system call and trap interrupts
+event:0x5a counters:0,1,2,3 um:zero minimum:500 name:TRANS_TBL : Counts transitions of the TBL bit selected by PMGC0[TBSEL]
+event:0x60 counters:0,1,2,3 um:zero minimum:500 name:I_CACHE_HIT : Number if fetches that hit in i-cache
+event:0x61 counters:0,1,2,3 um:zero minimum:500 name:INSTRUCTIONS_FOLDED : Number of instructions folded
+event:0x64 counters:0,1,2,3 um:zero minimum:500 name:STALLS_COM_BUFFER : Cycles issue stalled due to full completion buffer
+event:0x68 counters:0,1,2,3 um:zero minimum:500 name:STALLED_COMPLETION : Cycles that completion is stalled
+event:0x69 counters:0,1,2,3 um:zero minimum:500 name:STALLED_LOAD : Cycles that completion is stalled due to load
+event:0x6a counters:0,1,2,3 um:zero minimum:500 name:STALLED_FLOAT : Cycles that completion is stalled due to fp instruction
+event:0x6c counters:0,1,2,3 um:zero minimum:500 name:L_S_SPACE : Number of loads and stores to cacheable space in D cache
+event:0x6d counters:0,1,2,3 um:zero minimum:500 name:L_S_HIT : Number of loads and stores that hit in the D cache
diff --git a/events/ppc/e300/unit_masks b/events/ppc/e300/unit_masks
new file mode 100644
index 0000000..5e6a866
--- /dev/null
+++ b/events/ppc/e300/unit_masks
@@ -0,0 +1,4 @@
+# e300 possible unit masks
+#
+name:zero type:mandatory default:0x0
+ 0x0 No unit mask
diff --git a/events/ppc/e500/events b/events/ppc/e500/events
new file mode 100644
index 0000000..e81f8b5
--- /dev/null
+++ b/events/ppc/e500/events
@@ -0,0 +1,83 @@
+# e500 Events
+#
+event:0x1 counters:0,1,2,3 um:zero minimum:3000 name:CPU_CLK : Cycles
+event:0x2 counters:0,1,2,3 um:zero minimum:3000 name:COMPLETED_INSNS : Completed Instructions (0, 1, or 2 per cycle)
+event:0x3 counters:0,1,2,3 um:zero minimum:500 name:COMPLETED_OPS : Completed Micro-ops (counts 2 for load/store w/update)
+event:0x4 counters:0,1,2,3 um:zero minimum:500 name:INSTRUCTION_FETCHES : Instruction fetches
+event:0x5 counters:0,1,2,3 um:zero minimum:500 name:DECODED_OPS : Micro-ops decoded
+event:0x8 counters:0,1,2,3 um:zero minimum:500 name:COMPLETED_BRANCHES : Branch Instructions completed
+event:0x9 counters:0,1,2,3 um:zero minimum:500 name:COMPLETED_LOAD_OPS : Load micro-ops completed
+event:0xa counters:0,1,2,3 um:zero minimum:500 name:COMPLETED_STORE_OPS : Store micro-ops completed
+event:0xb counters:0,1,2,3 um:zero minimum:500 name:COMPLETION_REDIRECTS : Number of completion buffer redirects
+event:0xc counters:0,1,2,3 um:zero minimum:500 name:BRANCHES_FINISHED : Branches finished
+event:0xd counters:0,1,2,3 um:zero minimum:500 name:TAKEN_BRANCHES_FINISHED : Taken branches finished
+event:0xe counters:0,1,2,3 um:zero minimum:500 name:BIFFED_BRANCHES_FINISHED : Biffed branches finished
+event:0xf counters:0,1,2,3 um:zero minimum:500 name:BRANCHES_MISPREDICTED : Branch instructions mispredicted due to direction, target, or IAB prediction
+event:0x10 counters:0,1,2,3 um:zero minimum:500 name:BRANCHES_MISPREDICTED_DIRECTION : Branches mispredicted due to direction prediction
+event:0x11 counters:0,1,2,3 um:zero minimum:500 name:BTB_HITS : Branches that hit in the BTB, or missed but are not taken
+event:0x12 counters:0,1,2,3 um:zero minimum:500 name:DECODE_STALLED : Cycles the instruction buffer was not empty, but 0 instructions decoded
+event:0x13 counters:0,1,2,3 um:zero minimum:500 name:ISSUE_STALLED : Cycles the issue buffer is not empty but 0 instructions issued
+event:0x14 counters:0,1,2,3 um:zero minimum:500 name:BRANCH_ISSUE_STALLED : Cycles the branch buffer is not empty but 0 instructions issued
+event:0x15 counters:0,1,2,3 um:zero minimum:500 name:SRS0_SCHEDULE_STALLED : Cycles SRS0 is not empty but 0 instructions scheduled
+event:0x16 counters:0,1,2,3 um:zero minimum:500 name:SRS1_SCHEDULE_STALLED : Cycles SRS1 is not empty but 0 instructions scheduled
+event:0x17 counters:0,1,2,3 um:zero minimum:500 name:VRS_SCHEDULE_STALLED : Cycles VRS is not empty but 0 instructions scheduled
+event:0x18 counters:0,1,2,3 um:zero minimum:500 name:LRS_SCHEDULE_STALLED : Cycles LRS is not empty but 0 instructions scheduled
+event:0x19 counters:0,1,2,3 um:zero minimum:500 name:BRS_SCHEDULE_STALLED : Cycles BRS is not empty but 0 instructions scheduled Load/Store, Data Cache, and dLFB Events
+event:0x1a counters:0,1,2,3 um:zero minimum:500 name:TOTAL_TRANSLATED : Total Ldst microops translated.
+event:0x1b counters:0,1,2,3 um:zero minimum:500 name:LOADS_TRANSLATED : Number of cacheable L* or EVL* microops translated. (This includes microops from load-multiple, load-update, and load-context instructions.)
+event:0x1c counters:0,1,2,3 um:zero minimum:500 name:STORES_TRANSLATED : Number of cacheable ST* or EVST* microops translated. (This includes microops from store-multiple, store-update, and save-context instructions.)
+event:0x1d counters:0,1,2,3 um:zero minimum:500 name:TOUCHES_TRANSLATED : Number of cacheable DCBT and DCBTST instructions translated (L1 only) (Does not count touches that are converted to nops i.e. exceptions, noncacheable, hid0[nopti] bit is set.)
+event:0x1e counters:0,1,2,3 um:zero minimum:500 name:CACHEOPS_TRANSLATED : Number of dcba, dcbf, dcbst, and dcbz instructions translated (e500 traps on dcbi)
+event:0x1f counters:0,1,2,3 um:zero minimum:500 name:CACHEINHIBITED_ACCESSES_TRANSLATED : Number of cache inhibited accesses translated
+event:0x20 counters:0,1,2,3 um:zero minimum:500 name:GUARDED_LOADS_TRANSLATED : Number of guarded loads translated
+event:0x21 counters:0,1,2,3 um:zero minimum:500 name:WRITETHROUGH_STORES_TRANSLATED : Number of write-through stores translated
+event:0x22 counters:0,1,2,3 um:zero minimum:500 name:MISALIGNED_ACCESSES_TRANSLATED : Number of misaligned load or store accesses translated.
+event:0x23 counters:0,1,2,3 um:zero minimum:500 name:TOTAL_ALLOCATED_DLFB : Total allocated to dLFB
+event:0x24 counters:0,1,2,3 um:zero minimum:500 name:LOADS_TRANSLATED_ALLOCATED_DLFB : Loads translated and allocated to dLFB (Applies to same class of instructions as loads translated.)
+event:0x25 counters:0,1,2,3 um:zero minimum:500 name:STORES_COMPLETED_ALLOCATED_DLFB : Stores completed and allocated to dLFB (Applies to same class of instructions as stores translated.)
+event:0x26 counters:0,1,2,3 um:zero minimum:500 name:TOUCHES_TRANSLATED_ALLOCATED_DLFB : Touches translated and allocated to dLFB (Applies to same class of instructions as touches translated.)
+event:0x27 counters:0,1,2,3 um:zero minimum:500 name:STORES_COMPLETED : Number of cacheable ST* or EVST* microops completed. (Applies to the same class of instructions as stores translated.)
+event:0x28 counters:0,1,2,3 um:zero minimum:500 name:DL1_LOCKS : Number of cache lines locked in the dL1. (Counts a lock even if an overlock condition is encountered.)
+event:0x29 counters:0,1,2,3 um:zero minimum:500 name:DL1_RELOADS : This is historically used to determine dcache miss rate (along with loads/stores completed). This counts dL1 reloads for any reason.
+event:0x2a counters:0,1,2,3 um:zero minimum:500 name:DL1_CASTOUTS : dL1 castouts. Does not count castouts due to DCBF.
+event:0x2b counters:0,1,2,3 um:zero minimum:500 name:DETECTED_REPLAYS : Times detected replay condition - Load miss with dLFB full.
+event:0x2c counters:0,1,2,3 um:zero minimum:500 name:LOAD_MISS_QUEUE_FULL_REPLAYS : Load miss with load queue full.
+event:0x2d counters:0,1,2,3 um:zero minimum:500 name:LOAD_GUARDED_MISS_NOT_LAST_REPLAYS : Load guarded miss when the load is not yet at the bottom of the completion buffer.
+event:0x2e counters:0,1,2,3 um:zero minimum:500 name:STORE_TRANSLATED_QUEUE_FULL_REPLAYS : Translate a store when the StQ is full.
+event:0x2f counters:0,1,2,3 um:zero minimum:500 name:ADDRESS_COLLISION_REPLAYS : Address collision.
+event:0x30 counters:0,1,2,3 um:zero minimum:500 name:DMMU_MISS_REPLAYS : DMMU_MISS_REPLAYS : DMMU miss.
+event:0x31 counters:0,1,2,3 um:zero minimum:500 name:DMMU_BUSY_REPLAYS : DMMU_BUSY_REPLAYS : DMMU busy.
+event:0x32 counters:0,1,2,3 um:zero minimum:500 name:SECOND_PART_MISALIGNED_AFTER_MISS_REPLAYS : Second part of misaligned access when first part missed in cache.
+event:0x33 counters:0,1,2,3 um:zero minimum:500 name:LOAD_MISS_DLFB_FULL_CYCLES : Cycles stalled on replay condition - Load miss with dLFB full.
+event:0x34 counters:0,1,2,3 um:zero minimum:500 name:LOAD_MISS_QUEUE_FULL_CYCLES : Cycles stalled on replay condition - Load miss with load queue full.
+event:0x35 counters:0,1,2,3 um:zero minimum:500 name:LOAD_GUARDED_MISS_NOT_LAST_CYCLES : Cycles stalled on replay condition - Load guarded miss when the load is not yet at the bottom of the completion buffer.
+event:0x36 counters:0,1,2,3 um:zero minimum:500 name:STORE_TRANSLATED_QUEUE_FULL_CYCLES : Cycles stalled on replay condition - Translate a store when the StQ is full.
+event:0x37 counters:0,1,2,3 um:zero minimum:500 name:ADDRESS_COLLISION_CYCLES : Cycles stalled on replay condition - Address collision.
+event:0x38 counters:0,1,2,3 um:zero minimum:500 name:DMMU_MISS_CYCLES : Cycles stalled on replay condition - DMMU miss.
+event:0x39 counters:0,1,2,3 um:zero minimum:500 name:DMMU_BUSY_CYCLES : Cycles stalled on replay condition - DMMU busy.
+event:0x3a counters:0,1,2,3 um:zero minimum:500 name:SECOND_PART_MISALIGNED_AFTER_MISS_CYCLES : Cycles stalled on replay condition - Second part of misaligned access when first part missed in cache.
+event:0x3b counters:0,1,2,3 um:zero minimum:500 name:IL1_LOCKS : Number of cache lines locked in the iL1. (Counts a lock even if an overlock condition is encountered.)
+event:0x3c counters:0,1,2,3 um:zero minimum:500 name:IL1_FETCH_RELOADS : This is historically used to determine icache miss rate (along with instructions completed) Reloads due to demand fetch.
+event:0x3d counters:0,1,2,3 um:zero minimum:500 name:FETCHES : Counts the number of fetches that write at least one instruction to the instruction buffer. (With instruction fetched, can used to compute instructions-per-fetch)
+event:0x3e counters:0,1,2,3 um:zero minimum:500 name:IMMU_TLB4K_RELOADS : iMMU TLB4K reloads
+event:0x3f counters:0,1,2,3 um:zero minimum:500 name:IMMU_VSP_RELOADS : iMMU VSP reloads
+event:0x40 counters:0,1,2,3 um:zero minimum:500 name:DMMU_TLB4K_RELOADS : dMMU TLB4K reloads
+event:0x41 counters:0,1,2,3 um:zero minimum:500 name:DMMU_VSP_RELOADS : dMMU VSP reloads
+event:0x42 counters:0,1,2,3 um:zero minimum:500 name:L2MMU_MISSES : Counts iTLB/dTLB error interrupt
+event:0x43 counters:0,1,2,3 um:zero minimum:500 name:BIU_MASTER_REQUESTS : Number of master transactions. (Number of master TSs.)
+event:0x44 counters:0,1,2,3 um:zero minimum:500 name:BIU_MASTER_I_REQUESTS : Number of master I-Side transactions. (Number of master I-Side TSs.)
+event:0x45 counters:0,1,2,3 um:zero minimum:500 name:BIU_MASTER_D_REQUESTS : Number of master D-Side transactions. (Number of master D-Side TSs.)
+event:0x46 counters:0,1,2,3 um:zero minimum:500 name:BIU_MASTER_D_CASTOUT_REQUESTS : Number of master D-Side non-program-demand castout transactions. This counts replacement pushes and snoop pushes. This does not count DCBF castouts. (Number of master D-side non-program-demand castout TSs.)
+event:0x47 counters:0,1,2,3 um:zero minimum:500 name:BIU_MASTER_RETRIES : Number of transactions which were initiated by this processor which were retried on the BIU interface. (Number of master ARTRYs.)
+event:0x48 counters:0,1,2,3 um:zero minimum:500 name:SNOOP_REQUESTS : Number of externally generated snoop requests. (Counts snoop TSs.)
+event:0x49 counters:0,1,2,3 um:zero minimum:500 name:SNOOP_HITS : Number of snoop hits on all D-side resources regardless of the cache state (modified, exclusive, or shared)
+event:0x4a counters:0,1,2,3 um:zero minimum:500 name:SNOOP_PUSHES : Number of snoop pushes from all D-side resources. (Counts snoop ARTRY/WOPs.)
+event:0x4b counters:0,1,2,3 um:zero minimum:500 name:SNOOP_RETRIES : Number of snoop requests retried. (Counts snoop ARTRYs.)
+event:0x52 counters:0,1,2,3 um:zero minimum:500 name:PMC0_OVERFLOW : Counts the number of times PMC0[32] transitioned from 1 to 0.
+event:0x53 counters:0,1,2,3 um:zero minimum:500 name:PMC1_OVERFLOW : Counts the number of times PMC1[32] transitioned from 1 to 0.
+event:0x54 counters:0,1,2,3 um:zero minimum:500 name:PMC2_OVERFLOW : Counts the number of times PMC2[32] transitioned from 1 to 0.
+event:0x55 counters:0,1,2,3 um:zero minimum:500 name:PMC3_OVERFLOW : Counts the number of times PMC3[32] transitioned from 1 to 0.
+event:0x56 counters:0,1,2,3 um:zero minimum:500 name:INTERRUPTS : Number of interrupts taken
+event:0x57 counters:0,1,2,3 um:zero minimum:500 name:EXTERNAL_INTERRUPTS : Number of external input interrupts taken
+event:0x58 counters:0,1,2,3 um:zero minimum:500 name:CRITICAL_INTERRUPTS : Number of critical input interrupts taken
+event:0x59 counters:0,1,2,3 um:zero minimum:500 name:SC_TRAP_INTERRUPTS : Number of system call and trap interrupts
diff --git a/events/ppc/e500/unit_masks b/events/ppc/e500/unit_masks
new file mode 100644
index 0000000..395c653
--- /dev/null
+++ b/events/ppc/e500/unit_masks
@@ -0,0 +1,4 @@
+# e500 possible unit masks
+#
+name:zero type:mandatory default:0x0
+ 0x0 No unit mask
diff --git a/events/ppc/e500v2/events b/events/ppc/e500v2/events
new file mode 100644
index 0000000..851fd6a
--- /dev/null
+++ b/events/ppc/e500v2/events
@@ -0,0 +1,83 @@
+# e500 Events
+#
+event:0x1 counters:0,1,2,3 um:zero minimum:100 name:CPU_CLK : Cycles
+event:0x2 counters:0,1,2,3 um:zero minimum:500 name:COMPLETED_INSNS : Completed Instructions (0, 1, or 2 per cycle)
+event:0x3 counters:0,1,2,3 um:zero minimum:500 name:COMPLETED_OPS : Completed Micro-ops (counts 2 for load/store w/update)
+event:0x4 counters:0,1,2,3 um:zero minimum:500 name:INSTRUCTION_FETCHES : Instruction fetches
+event:0x5 counters:0,1,2,3 um:zero minimum:500 name:DECODED_OPS : Micro-ops decoded
+event:0x8 counters:0,1,2,3 um:zero minimum:500 name:COMPLETED_BRANCHES : Branch Instructions completed
+event:0x9 counters:0,1,2,3 um:zero minimum:500 name:COMPLETED_LOAD_OPS : Load micro-ops completed
+event:0xa counters:0,1,2,3 um:zero minimum:500 name:COMPLETED_STORE_OPS : Store micro-ops completed
+event:0xb counters:0,1,2,3 um:zero minimum:500 name:COMPLETION_REDIRECTS : Number of completion buffer redirects
+event:0xc counters:0,1,2,3 um:zero minimum:500 name:BRANCHES_FINISHED : Branches finished
+event:0xd counters:0,1,2,3 um:zero minimum:500 name:TAKEN_BRANCHES_FINISHED : Taken branches finished
+event:0xe counters:0,1,2,3 um:zero minimum:500 name:BIFFED_BRANCHES_FINISHED : Biffed branches finished
+event:0xf counters:0,1,2,3 um:zero minimum:500 name:BRANCHES_MISPREDICTED : Branch instructions mispredicted due to direction, target, or IAB prediction
+event:0x10 counters:0,1,2,3 um:zero minimum:500 name:BRANCHES_MISPREDICTED_DIRECTION : Branches mispredicted due to direction prediction
+event:0x11 counters:0,1,2,3 um:zero minimum:500 name:BTB_HITS : Branches that hit in the BTB, or missed but are not taken
+event:0x12 counters:0,1,2,3 um:zero minimum:500 name:DECODE_STALLED : Cycles the instruction buffer was not empty, but 0 instructions decoded
+event:0x13 counters:0,1,2,3 um:zero minimum:500 name:ISSUE_STALLED : Cycles the issue buffer is not empty but 0 instructions issued
+event:0x14 counters:0,1,2,3 um:zero minimum:500 name:BRANCH_ISSUE_STALLED : Cycles the branch buffer is not empty but 0 instructions issued
+event:0x15 counters:0,1,2,3 um:zero minimum:500 name:SRS0_SCHEDULE_STALLED : Cycles SRS0 is not empty but 0 instructions scheduled
+event:0x16 counters:0,1,2,3 um:zero minimum:500 name:SRS1_SCHEDULE_STALLED : Cycles SRS1 is not empty but 0 instructions scheduled
+event:0x17 counters:0,1,2,3 um:zero minimum:500 name:VRS_SCHEDULE_STALLED : Cycles VRS is not empty but 0 instructions scheduled
+event:0x18 counters:0,1,2,3 um:zero minimum:500 name:LRS_SCHEDULE_STALLED : Cycles LRS is not empty but 0 instructions scheduled
+event:0x19 counters:0,1,2,3 um:zero minimum:500 name:BRS_SCHEDULE_STALLED : Cycles BRS is not empty but 0 instructions scheduled Load/Store, Data Cache, and dLFB Events
+event:0x1a counters:0,1,2,3 um:zero minimum:500 name:TOTAL_TRANSLATED : Total Ldst microops translated.
+event:0x1b counters:0,1,2,3 um:zero minimum:500 name:LOADS_TRANSLATED : Number of cacheable L* or EVL* microops translated. (This includes microops from load-multiple, load-update, and load-context instructions.)
+event:0x1c counters:0,1,2,3 um:zero minimum:500 name:STORES_TRANSLATED : Number of cacheable ST* or EVST* microops translated. (This includes microops from store-multiple, store-update, and save-context instructions.)
+event:0x1d counters:0,1,2,3 um:zero minimum:500 name:TOUCHES_TRANSLATED : Number of cacheable DCBT and DCBTST instructions translated (L1 only) (Does not count touches that are converted to nops i.e. exceptions, noncacheable, hid0[nopti] bit is set.)
+event:0x1e counters:0,1,2,3 um:zero minimum:500 name:CACHEOPS_TRANSLATED : Number of dcba, dcbf, dcbst, and dcbz instructions translated (e500 traps on dcbi)
+event:0x1f counters:0,1,2,3 um:zero minimum:500 name:CACHEINHIBITED_ACCESSES_TRANSLATED : Number of cache inhibited accesses translated
+event:0x20 counters:0,1,2,3 um:zero minimum:500 name:GUARDED_LOADS_TRANSLATED : Number of guarded loads translated
+event:0x21 counters:0,1,2,3 um:zero minimum:500 name:WRITETHROUGH_STORES_TRANSLATED : Number of write-through stores translated
+event:0x22 counters:0,1,2,3 um:zero minimum:500 name:MISALIGNED_ACCESSES_TRANSLATED : Number of misaligned load or store accesses translated.
+event:0x23 counters:0,1,2,3 um:zero minimum:500 name:TOTAL_ALLOCATED_DLFB : Total allocated to dLFB
+event:0x24 counters:0,1,2,3 um:zero minimum:500 name:LOADS_TRANSLATED_ALLOCATED_DLFB : Loads translated and allocated to dLFB (Applies to same class of instructions as loads translated.)
+event:0x25 counters:0,1,2,3 um:zero minimum:500 name:STORES_COMPLETED_ALLOCATED_DLFB : Stores completed and allocated to dLFB (Applies to same class of instructions as stores translated.)
+event:0x26 counters:0,1,2,3 um:zero minimum:500 name:TOUCHES_TRANSLATED_ALLOCATED_DLFB : Touches translated and allocated to dLFB (Applies to same class of instructions as touches translated.)
+event:0x27 counters:0,1,2,3 um:zero minimum:500 name:STORES_COMPLETED : Number of cacheable ST* or EVST* microops completed. (Applies to the same class of instructions as stores translated.)
+event:0x28 counters:0,1,2,3 um:zero minimum:500 name:DL1_LOCKS : Number of cache lines locked in the dL1. (Counts a lock even if an overlock condition is encountered.)
+event:0x29 counters:0,1,2,3 um:zero minimum:500 name:DL1_RELOADS : This is historically used to determine dcache miss rate (along with loads/stores completed). This counts dL1 reloads for any reason.
+event:0x2a counters:0,1,2,3 um:zero minimum:500 name:DL1_CASTOUTS : dL1 castouts. Does not count castouts due to DCBF.
+event:0x2b counters:0,1,2,3 um:zero minimum:500 name:DETECTED_REPLAYS : Times detected replay condition - Load miss with dLFB full.
+event:0x2c counters:0,1,2,3 um:zero minimum:500 name:LOAD_MISS_QUEUE_FULL_REPLAYS : Load miss with load queue full.
+event:0x2d counters:0,1,2,3 um:zero minimum:500 name:LOAD_GUARDED_MISS_NOT_LAST_REPLAYS : Load guarded miss when the load is not yet at the bottom of the completion buffer.
+event:0x2e counters:0,1,2,3 um:zero minimum:500 name:STORE_TRANSLATED_QUEUE_FULL_REPLAYS : Translate a store when the StQ is full.
+event:0x2f counters:0,1,2,3 um:zero minimum:500 name:ADDRESS_COLLISION_REPLAYS : Address collision.
+event:0x30 counters:0,1,2,3 um:zero minimum:500 name:DMMU_MISS_REPLAYS : DMMU_MISS_REPLAYS : DMMU miss.
+event:0x31 counters:0,1,2,3 um:zero minimum:500 name:DMMU_BUSY_REPLAYS : DMMU_BUSY_REPLAYS : DMMU busy.
+event:0x32 counters:0,1,2,3 um:zero minimum:500 name:SECOND_PART_MISALIGNED_AFTER_MISS_REPLAYS : Second part of misaligned access when first part missed in cache.
+event:0x33 counters:0,1,2,3 um:zero minimum:500 name:LOAD_MISS_DLFB_FULL_CYCLES : Cycles stalled on replay condition - Load miss with dLFB full.
+event:0x34 counters:0,1,2,3 um:zero minimum:500 name:LOAD_MISS_QUEUE_FULL_CYCLES : Cycles stalled on replay condition - Load miss with load queue full.
+event:0x35 counters:0,1,2,3 um:zero minimum:500 name:LOAD_GUARDED_MISS_NOT_LAST_CYCLES : Cycles stalled on replay condition - Load guarded miss when the load is not yet at the bottom of the completion buffer.
+event:0x36 counters:0,1,2,3 um:zero minimum:500 name:STORE_TRANSLATED_QUEUE_FULL_CYCLES : Cycles stalled on replay condition - Translate a store when the StQ is full.
+event:0x37 counters:0,1,2,3 um:zero minimum:500 name:ADDRESS_COLLISION_CYCLES : Cycles stalled on replay condition - Address collision.
+event:0x38 counters:0,1,2,3 um:zero minimum:500 name:DMMU_MISS_CYCLES : Cycles stalled on replay condition - DMMU miss.
+event:0x39 counters:0,1,2,3 um:zero minimum:500 name:DMMU_BUSY_CYCLES : Cycles stalled on replay condition - DMMU busy.
+event:0x3a counters:0,1,2,3 um:zero minimum:500 name:SECOND_PART_MISALIGNED_AFTER_MISS_CYCLES : Cycles stalled on replay condition - Second part of misaligned access when first part missed in cache.
+event:0x3b counters:0,1,2,3 um:zero minimum:500 name:IL1_LOCKS : Number of cache lines locked in the iL1. (Counts a lock even if an overlock condition is encountered.)
+event:0x3c counters:0,1,2,3 um:zero minimum:500 name:IL1_FETCH_RELOADS : This is historically used to determine icache miss rate (along with instructions completed) Reloads due to demand fetch.
+event:0x3d counters:0,1,2,3 um:zero minimum:500 name:FETCHES : Counts the number of fetches that write at least one instruction to the instruction buffer. (With instruction fetched, can used to compute instructions-per-fetch)
+event:0x3e counters:0,1,2,3 um:zero minimum:500 name:IMMU_TLB4K_RELOADS : iMMU TLB4K reloads
+event:0x3f counters:0,1,2,3 um:zero minimum:500 name:IMMU_VSP_RELOADS : iMMU VSP reloads
+event:0x40 counters:0,1,2,3 um:zero minimum:500 name:DMMU_TLB4K_RELOADS : dMMU TLB4K reloads
+event:0x41 counters:0,1,2,3 um:zero minimum:500 name:DMMU_VSP_RELOADS : dMMU VSP reloads
+event:0x42 counters:0,1,2,3 um:zero minimum:500 name:L2MMU_MISSES : Counts iTLB/dTLB error interrupt
+event:0x43 counters:0,1,2,3 um:zero minimum:500 name:BIU_MASTER_REQUESTS : Number of master transactions. (Number of master TSs.)
+event:0x44 counters:0,1,2,3 um:zero minimum:500 name:BIU_MASTER_I_REQUESTS : Number of master I-Side transactions. (Number of master I-Side TSs.)
+event:0x45 counters:0,1,2,3 um:zero minimum:500 name:BIU_MASTER_D_REQUESTS : Number of master D-Side transactions. (Number of master D-Side TSs.)
+event:0x46 counters:0,1,2,3 um:zero minimum:500 name:BIU_MASTER_D_CASTOUT_REQUESTS : Number of master D-Side non-program-demand castout transactions. This counts replacement pushes and snoop pushes. This does not count DCBF castouts. (Number of master D-side non-program-demand castout TSs.)
+event:0x47 counters:0,1,2,3 um:zero minimum:500 name:BIU_MASTER_RETRIES : Number of transactions which were initiated by this processor which were retried on the BIU interface. (Number of master ARTRYs.)
+event:0x48 counters:0,1,2,3 um:zero minimum:500 name:SNOOP_REQUESTS : Number of externally generated snoop requests. (Counts snoop TSs.)
+event:0x49 counters:0,1,2,3 um:zero minimum:500 name:SNOOP_HITS : Number of snoop hits on all D-side resources regardless of the cache state (modified, exclusive, or shared)
+event:0x4a counters:0,1,2,3 um:zero minimum:500 name:SNOOP_PUSHES : Number of snoop pushes from all D-side resources. (Counts snoop ARTRY/WOPs.)
+event:0x4b counters:0,1,2,3 um:zero minimum:500 name:SNOOP_RETRIES : Number of snoop requests retried. (Counts snoop ARTRYs.)
+event:0x52 counters:0,1,2,3 um:zero minimum:500 name:PMC0_OVERFLOW : Counts the number of times PMC0[32] transitioned from 1 to 0.
+event:0x53 counters:0,1,2,3 um:zero minimum:500 name:PMC1_OVERFLOW : Counts the number of times PMC1[32] transitioned from 1 to 0.
+event:0x54 counters:0,1,2,3 um:zero minimum:500 name:PMC2_OVERFLOW : Counts the number of times PMC2[32] transitioned from 1 to 0.
+event:0x55 counters:0,1,2,3 um:zero minimum:500 name:PMC3_OVERFLOW : Counts the number of times PMC3[32] transitioned from 1 to 0.
+event:0x56 counters:0,1,2,3 um:zero minimum:500 name:INTERRUPTS : Number of interrupts taken
+event:0x57 counters:0,1,2,3 um:zero minimum:500 name:EXTERNAL_INTERRUPTS : Number of external input interrupts taken
+event:0x58 counters:0,1,2,3 um:zero minimum:500 name:CRITICAL_INTERRUPTS : Number of critical input interrupts taken
+event:0x59 counters:0,1,2,3 um:zero minimum:500 name:SC_TRAP_INTERRUPTS : Number of system call and trap interrupts
diff --git a/events/ppc/e500v2/unit_masks b/events/ppc/e500v2/unit_masks
new file mode 100644
index 0000000..395c653
--- /dev/null
+++ b/events/ppc/e500v2/unit_masks
@@ -0,0 +1,4 @@
+# e500 possible unit masks
+#
+name:zero type:mandatory default:0x0
+ 0x0 No unit mask
diff --git a/events/ppc64/970/event_mappings b/events/ppc64/970/event_mappings
new file mode 100644
index 0000000..73ce9d5
--- /dev/null
+++ b/events/ppc64/970/event_mappings
@@ -0,0 +1,494 @@
+#Mapping of event groups to MMCR values
+
+#Group Default
+event:0X001 mmcr0:0X0400C51E mmcr1:0X000000000A46F18C mmcra:0X00002001
+
+#Group 1 pm_slice0, Time Slice 0
+event:0X010 mmcr0:0X0000051E mmcr1:0X000000000A46F18C mmcra:0X00002001
+event:0X011 mmcr0:0X0000051E mmcr1:0X000000000A46F18C mmcra:0X00002001
+event:0X012 mmcr0:0X0000051E mmcr1:0X000000000A46F18C mmcra:0X00002001
+event:0X013 mmcr0:0X0000051E mmcr1:0X000000000A46F18C mmcra:0X00002001
+event:0X014 mmcr0:0X0000051E mmcr1:0X000000000A46F18C mmcra:0X00002001
+event:0X015 mmcr0:0X0000051E mmcr1:0X000000000A46F18C mmcra:0X00002001
+event:0X016 mmcr0:0X0000051E mmcr1:0X000000000A46F18C mmcra:0X00002001
+event:0X017 mmcr0:0X0000051E mmcr1:0X000000000A46F18C mmcra:0X00002001
+
+#Group 2 pm_eprof, Group for use with eprof
+event:0X020 mmcr0:0X00000F1E mmcr1:0X4003001005F09000 mmcra:0X00002001
+event:0X021 mmcr0:0X00000F1E mmcr1:0X4003001005F09000 mmcra:0X00002001
+event:0X022 mmcr0:0X00000F1E mmcr1:0X4003001005F09000 mmcra:0X00002001
+event:0X023 mmcr0:0X00000F1E mmcr1:0X4003001005F09000 mmcra:0X00002001
+event:0X024 mmcr0:0X00000F1E mmcr1:0X4003001005F09000 mmcra:0X00002001
+event:0X025 mmcr0:0X00000F1E mmcr1:0X4003001005F09000 mmcra:0X00002001
+event:0X026 mmcr0:0X00000F1E mmcr1:0X4003001005F09000 mmcra:0X00002001
+event:0X027 mmcr0:0X00000F1E mmcr1:0X4003001005F09000 mmcra:0X00002001
+
+#Group 3 pm_basic, Basic performance indicators
+event:0X030 mmcr0:0X0000091E mmcr1:0X4003001005F09000 mmcra:0X00002001
+event:0X031 mmcr0:0X0000091E mmcr1:0X4003001005F09000 mmcra:0X00002001
+event:0X032 mmcr0:0X0000091E mmcr1:0X4003001005F09000 mmcra:0X00002001
+event:0X033 mmcr0:0X0000091E mmcr1:0X4003001005F09000 mmcra:0X00002001
+event:0X034 mmcr0:0X0000091E mmcr1:0X4003001005F09000 mmcra:0X00002001
+event:0X035 mmcr0:0X0000091E mmcr1:0X4003001005F09000 mmcra:0X00002001
+event:0X036 mmcr0:0X0000091E mmcr1:0X4003001005F09000 mmcra:0X00002001
+event:0X037 mmcr0:0X0000091E mmcr1:0X4003001005F09000 mmcra:0X00002001
+
+#Group 4 pm_lsu, Information on the Load Store Unit
+event:0X040 mmcr0:0X00000000 mmcr1:0X000F00007A400000 mmcra:0X00002001
+event:0X041 mmcr0:0X00000000 mmcr1:0X000F00007A400000 mmcra:0X00002001
+event:0X042 mmcr0:0X00000000 mmcr1:0X000F00007A400000 mmcra:0X00002001
+event:0X043 mmcr0:0X00000000 mmcr1:0X000F00007A400000 mmcra:0X00002001
+event:0X044 mmcr0:0X00000000 mmcr1:0X000F00007A400000 mmcra:0X00002001
+event:0X045 mmcr0:0X00000000 mmcr1:0X000F00007A400000 mmcra:0X00002001
+event:0X046 mmcr0:0X00000000 mmcr1:0X000F00007A400000 mmcra:0X00002001
+event:0X047 mmcr0:0X00000000 mmcr1:0X000F00007A400000 mmcra:0X00002001
+
+#Group 5 pm_fpu1, Floating Point events
+event:0X050 mmcr0:0X00000000 mmcr1:0X00000000001E0480 mmcra:0X00002001
+event:0X051 mmcr0:0X00000000 mmcr1:0X00000000001E0480 mmcra:0X00002001
+event:0X052 mmcr0:0X00000000 mmcr1:0X00000000001E0480 mmcra:0X00002001
+event:0X053 mmcr0:0X00000000 mmcr1:0X00000000001E0480 mmcra:0X00002001
+event:0X054 mmcr0:0X00000000 mmcr1:0X00000000001E0480 mmcra:0X00002001
+event:0X055 mmcr0:0X00000000 mmcr1:0X00000000001E0480 mmcra:0X00002001
+event:0X056 mmcr0:0X00000000 mmcr1:0X00000000001E0480 mmcra:0X00002001
+event:0X057 mmcr0:0X00000000 mmcr1:0X00000000001E0480 mmcra:0X00002001
+
+#Group 6 pm_fpu2, Floating Point events
+event:0X060 mmcr0:0X00000000 mmcr1:0X000020E87A400000 mmcra:0X00002001
+event:0X061 mmcr0:0X00000000 mmcr1:0X000020E87A400000 mmcra:0X00002001
+event:0X062 mmcr0:0X00000000 mmcr1:0X000020E87A400000 mmcra:0X00002001
+event:0X063 mmcr0:0X00000000 mmcr1:0X000020E87A400000 mmcra:0X00002001
+event:0X064 mmcr0:0X00000000 mmcr1:0X000020E87A400000 mmcra:0X00002001
+event:0X065 mmcr0:0X00000000 mmcr1:0X000020E87A400000 mmcra:0X00002001
+event:0X066 mmcr0:0X00000000 mmcr1:0X000020E87A400000 mmcra:0X00002001
+event:0X067 mmcr0:0X00000000 mmcr1:0X000020E87A400000 mmcra:0X00002001
+
+#Group 7 pm_isu_rename, ISU Rename Pool Events
+event:0X070 mmcr0:0X00001228 mmcr1:0X400000218E6D84BC mmcra:0X00002001
+event:0X071 mmcr0:0X00001228 mmcr1:0X400000218E6D84BC mmcra:0X00002001
+event:0X072 mmcr0:0X00001228 mmcr1:0X400000218E6D84BC mmcra:0X00002001
+event:0X073 mmcr0:0X00001228 mmcr1:0X400000218E6D84BC mmcra:0X00002001
+event:0X074 mmcr0:0X00001228 mmcr1:0X400000218E6D84BC mmcra:0X00002001
+event:0X075 mmcr0:0X00001228 mmcr1:0X400000218E6D84BC mmcra:0X00002001
+event:0X076 mmcr0:0X00001228 mmcr1:0X400000218E6D84BC mmcra:0X00002001
+event:0X077 mmcr0:0X00001228 mmcr1:0X400000218E6D84BC mmcra:0X00002001
+
+#Group 8 pm_isu_queues1, ISU Rename Pool Events
+event:0X080 mmcr0:0X0000132E mmcr1:0X40000000851E994C mmcra:0X00002001
+event:0X081 mmcr0:0X0000132E mmcr1:0X40000000851E994C mmcra:0X00002001
+event:0X082 mmcr0:0X0000132E mmcr1:0X40000000851E994C mmcra:0X00002001
+event:0X083 mmcr0:0X0000132E mmcr1:0X40000000851E994C mmcra:0X00002001
+event:0X084 mmcr0:0X0000132E mmcr1:0X40000000851E994C mmcra:0X00002001
+event:0X085 mmcr0:0X0000132E mmcr1:0X40000000851E994C mmcra:0X00002001
+event:0X086 mmcr0:0X0000132E mmcr1:0X40000000851E994C mmcra:0X00002001
+event:0X087 mmcr0:0X0000132E mmcr1:0X40000000851E994C mmcra:0X00002001
+
+#Group 9 pm_isu_flow, ISU Instruction Flow Events
+event:0X090 mmcr0:0X0000181E mmcr1:0X400000B3D7B7C4BC mmcra:0X00002001
+event:0X091 mmcr0:0X0000181E mmcr1:0X400000B3D7B7C4BC mmcra:0X00002001
+event:0X092 mmcr0:0X0000181E mmcr1:0X400000B3D7B7C4BC mmcra:0X00002001
+event:0X093 mmcr0:0X0000181E mmcr1:0X400000B3D7B7C4BC mmcra:0X00002001
+event:0X094 mmcr0:0X0000181E mmcr1:0X400000B3D7B7C4BC mmcra:0X00002001
+event:0X095 mmcr0:0X0000181E mmcr1:0X400000B3D7B7C4BC mmcra:0X00002001
+event:0X096 mmcr0:0X0000181E mmcr1:0X400000B3D7B7C4BC mmcra:0X00002001
+event:0X097 mmcr0:0X0000181E mmcr1:0X400000B3D7B7C4BC mmcra:0X00002001
+
+#Group 10 pm_isu_work, ISU Indicators of Work Blockage
+event:0X0A0 mmcr0:0X00000402 mmcr1:0X400000050FDE9D88 mmcra:0X00002001
+event:0X0A1 mmcr0:0X00000402 mmcr1:0X400000050FDE9D88 mmcra:0X00002001
+event:0X0A2 mmcr0:0X00000402 mmcr1:0X400000050FDE9D88 mmcra:0X00002001
+event:0X0A3 mmcr0:0X00000402 mmcr1:0X400000050FDE9D88 mmcra:0X00002001
+event:0X0A4 mmcr0:0X00000402 mmcr1:0X400000050FDE9D88 mmcra:0X00002001
+event:0X0A5 mmcr0:0X00000402 mmcr1:0X400000050FDE9D88 mmcra:0X00002001
+event:0X0A6 mmcr0:0X00000402 mmcr1:0X400000050FDE9D88 mmcra:0X00002001
+event:0X0A7 mmcr0:0X00000402 mmcr1:0X400000050FDE9D88 mmcra:0X00002001
+
+#Group 11 pm_fpu3, Floating Point events by unit
+event:0X0B0 mmcr0:0X00001028 mmcr1:0X000000008D6354BC mmcra:0X00002001
+event:0X0B1 mmcr0:0X00001028 mmcr1:0X000000008D6354BC mmcra:0X00002001
+event:0X0B2 mmcr0:0X00001028 mmcr1:0X000000008D6354BC mmcra:0X00002001
+event:0X0B3 mmcr0:0X00001028 mmcr1:0X000000008D6354BC mmcra:0X00002001
+event:0X0B4 mmcr0:0X00001028 mmcr1:0X000000008D6354BC mmcra:0X00002001
+event:0X0B5 mmcr0:0X00001028 mmcr1:0X000000008D6354BC mmcra:0X00002001
+event:0X0B6 mmcr0:0X00001028 mmcr1:0X000000008D6354BC mmcra:0X00002001
+event:0X0B7 mmcr0:0X00001028 mmcr1:0X000000008D6354BC mmcra:0X00002001
+
+#Group 12 pm_fpu4, Floating Point events by unit
+event:0X0C0 mmcr0:0X0000122C mmcr1:0X000000009DE774BC mmcra:0X00002001
+event:0X0C1 mmcr0:0X0000122C mmcr1:0X000000009DE774BC mmcra:0X00002001
+event:0X0C2 mmcr0:0X0000122C mmcr1:0X000000009DE774BC mmcra:0X00002001
+event:0X0C3 mmcr0:0X0000122C mmcr1:0X000000009DE774BC mmcra:0X00002001
+event:0X0C4 mmcr0:0X0000122C mmcr1:0X000000009DE774BC mmcra:0X00002001
+event:0X0C5 mmcr0:0X0000122C mmcr1:0X000000009DE774BC mmcra:0X00002001
+event:0X0C6 mmcr0:0X0000122C mmcr1:0X000000009DE774BC mmcra:0X00002001
+event:0X0C7 mmcr0:0X0000122C mmcr1:0X000000009DE774BC mmcra:0X00002001
+
+#Group 13 pm_fpu5, Floating Point events by unit
+event:0X0D0 mmcr0:0X00001838 mmcr1:0X000000C0851E9958 mmcra:0X00002001
+event:0X0D1 mmcr0:0X00001838 mmcr1:0X000000C0851E9958 mmcra:0X00002001
+event:0X0D2 mmcr0:0X00001838 mmcr1:0X000000C0851E9958 mmcra:0X00002001
+event:0X0D3 mmcr0:0X00001838 mmcr1:0X000000C0851E9958 mmcra:0X00002001
+event:0X0D4 mmcr0:0X00001838 mmcr1:0X000000C0851E9958 mmcra:0X00002001
+event:0X0D5 mmcr0:0X00001838 mmcr1:0X000000C0851E9958 mmcra:0X00002001
+event:0X0D6 mmcr0:0X00001838 mmcr1:0X000000C0851E9958 mmcra:0X00002001
+event:0X0D7 mmcr0:0X00001838 mmcr1:0X000000C0851E9958 mmcra:0X00002001
+
+#Group 14 pm_fpu7, Floating Point events by unit
+event:0X0E0 mmcr0:0X0000193A mmcr1:0X000000C89DDE97E0 mmcra:0X00002001
+event:0X0E1 mmcr0:0X0000193A mmcr1:0X000000C89DDE97E0 mmcra:0X00002001
+event:0X0E2 mmcr0:0X0000193A mmcr1:0X000000C89DDE97E0 mmcra:0X00002001
+event:0X0E3 mmcr0:0X0000193A mmcr1:0X000000C89DDE97E0 mmcra:0X00002001
+event:0X0E4 mmcr0:0X0000193A mmcr1:0X000000C89DDE97E0 mmcra:0X00002001
+event:0X0E5 mmcr0:0X0000193A mmcr1:0X000000C89DDE97E0 mmcra:0X00002001
+event:0X0E6 mmcr0:0X0000193A mmcr1:0X000000C89DDE97E0 mmcra:0X00002001
+event:0X0E7 mmcr0:0X0000193A mmcr1:0X000000C89DDE97E0 mmcra:0X00002001
+
+#Group 15 pm_lsu_flush, LSU Flush Events
+event:0X0F0 mmcr0:0X0000122C mmcr1:0X000C00007BE774BC mmcra:0X00002001
+event:0X0F1 mmcr0:0X0000122C mmcr1:0X000C00007BE774BC mmcra:0X00002001
+event:0X0F2 mmcr0:0X0000122C mmcr1:0X000C00007BE774BC mmcra:0X00002001
+event:0X0F3 mmcr0:0X0000122C mmcr1:0X000C00007BE774BC mmcra:0X00002001
+event:0X0F4 mmcr0:0X0000122C mmcr1:0X000C00007BE774BC mmcra:0X00002001
+event:0X0F5 mmcr0:0X0000122C mmcr1:0X000C00007BE774BC mmcra:0X00002001
+event:0X0F6 mmcr0:0X0000122C mmcr1:0X000C00007BE774BC mmcra:0X00002001
+event:0X0F7 mmcr0:0X0000122C mmcr1:0X000C00007BE774BC mmcra:0X00002001
+
+#Group 16 pm_lsu_load1, LSU Load Events
+event:0X100 mmcr0:0X00001028 mmcr1:0X000F0000851E9958 mmcra:0X00002001
+event:0X101 mmcr0:0X00001028 mmcr1:0X000F0000851E9958 mmcra:0X00002001
+event:0X102 mmcr0:0X00001028 mmcr1:0X000F0000851E9958 mmcra:0X00002001
+event:0X103 mmcr0:0X00001028 mmcr1:0X000F0000851E9958 mmcra:0X00002001
+event:0X104 mmcr0:0X00001028 mmcr1:0X000F0000851E9958 mmcra:0X00002001
+event:0X105 mmcr0:0X00001028 mmcr1:0X000F0000851E9958 mmcra:0X00002001
+event:0X106 mmcr0:0X00001028 mmcr1:0X000F0000851E9958 mmcra:0X00002001
+event:0X107 mmcr0:0X00001028 mmcr1:0X000F0000851E9958 mmcra:0X00002001
+
+#Group 17 pm_lsu_store1, LSU Store Events
+event:0X110 mmcr0:0X0000112A mmcr1:0X000F00008D5E99DC mmcra:0X00002001
+event:0X111 mmcr0:0X0000112A mmcr1:0X000F00008D5E99DC mmcra:0X00002001
+event:0X112 mmcr0:0X0000112A mmcr1:0X000F00008D5E99DC mmcra:0X00002001
+event:0X113 mmcr0:0X0000112A mmcr1:0X000F00008D5E99DC mmcra:0X00002001
+event:0X114 mmcr0:0X0000112A mmcr1:0X000F00008D5E99DC mmcra:0X00002001
+event:0X115 mmcr0:0X0000112A mmcr1:0X000F00008D5E99DC mmcra:0X00002001
+event:0X116 mmcr0:0X0000112A mmcr1:0X000F00008D5E99DC mmcra:0X00002001
+event:0X117 mmcr0:0X0000112A mmcr1:0X000F00008D5E99DC mmcra:0X00002001
+
+#Group 18 pm_lsu_store2, LSU Store Events
+event:0X120 mmcr0:0X00001838 mmcr1:0X0003C0D08D76F4BC mmcra:0X00002001
+event:0X121 mmcr0:0X00001838 mmcr1:0X0003C0D08D76F4BC mmcra:0X00002001
+event:0X122 mmcr0:0X00001838 mmcr1:0X0003C0D08D76F4BC mmcra:0X00002001
+event:0X123 mmcr0:0X00001838 mmcr1:0X0003C0D08D76F4BC mmcra:0X00002001
+event:0X124 mmcr0:0X00001838 mmcr1:0X0003C0D08D76F4BC mmcra:0X00002001
+event:0X125 mmcr0:0X00001838 mmcr1:0X0003C0D08D76F4BC mmcra:0X00002001
+event:0X126 mmcr0:0X00001838 mmcr1:0X0003C0D08D76F4BC mmcra:0X00002001
+event:0X127 mmcr0:0X00001838 mmcr1:0X0003C0D08D76F4BC mmcra:0X00002001
+
+#Group 19 pm_lsu7, Information on the Load Store Unit
+event:0X130 mmcr0:0X0000122C mmcr1:0X000830047BD2FE3C mmcra:0X00002001
+event:0X131 mmcr0:0X0000122C mmcr1:0X000830047BD2FE3C mmcra:0X00002001
+event:0X132 mmcr0:0X0000122C mmcr1:0X000830047BD2FE3C mmcra:0X00002001
+event:0X133 mmcr0:0X0000122C mmcr1:0X000830047BD2FE3C mmcra:0X00002001
+event:0X134 mmcr0:0X0000122C mmcr1:0X000830047BD2FE3C mmcra:0X00002001
+event:0X135 mmcr0:0X0000122C mmcr1:0X000830047BD2FE3C mmcra:0X00002001
+event:0X136 mmcr0:0X0000122C mmcr1:0X000830047BD2FE3C mmcra:0X00002001
+event:0X137 mmcr0:0X0000122C mmcr1:0X000830047BD2FE3C mmcra:0X00002001
+
+#Group 20 pm_misc, Misc Events for testing
+event:0X140 mmcr0:0X00000404 mmcr1:0X0000000023C69194 mmcra:0X00002001
+event:0X141 mmcr0:0X00000404 mmcr1:0X0000000023C69194 mmcra:0X00002001
+event:0X142 mmcr0:0X00000404 mmcr1:0X0000000023C69194 mmcra:0X00002001
+event:0X143 mmcr0:0X00000404 mmcr1:0X0000000023C69194 mmcra:0X00002001
+event:0X144 mmcr0:0X00000404 mmcr1:0X0000000023C69194 mmcra:0X00002001
+event:0X145 mmcr0:0X00000404 mmcr1:0X0000000023C69194 mmcra:0X00002001
+event:0X146 mmcr0:0X00000404 mmcr1:0X0000000023C69194 mmcra:0X00002001
+event:0X147 mmcr0:0X00000404 mmcr1:0X0000000023C69194 mmcra:0X00002001
+
+#Group 21 pm_pe_bench1, PE Benchmarker group for FP analysis
+event:0X150 mmcr0:0X00000000 mmcr1:0X10001002001E0480 mmcra:0X00002001
+event:0X151 mmcr0:0X00000000 mmcr1:0X10001002001E0480 mmcra:0X00002001
+event:0X152 mmcr0:0X00000000 mmcr1:0X10001002001E0480 mmcra:0X00002001
+event:0X153 mmcr0:0X00000000 mmcr1:0X10001002001E0480 mmcra:0X00002001
+event:0X154 mmcr0:0X00000000 mmcr1:0X10001002001E0480 mmcra:0X00002001
+event:0X155 mmcr0:0X00000000 mmcr1:0X10001002001E0480 mmcra:0X00002001
+event:0X156 mmcr0:0X00000000 mmcr1:0X10001002001E0480 mmcra:0X00002001
+event:0X157 mmcr0:0X00000000 mmcr1:0X10001002001E0480 mmcra:0X00002001
+
+#Group 22 pm_pe_bench4, PE Benchmarker group for L1 and TLB
+event:0X160 mmcr0:0X00001420 mmcr1:0X000B000004DE9000 mmcra:0X00002001
+event:0X161 mmcr0:0X00001420 mmcr1:0X000B000004DE9000 mmcra:0X00002001
+event:0X162 mmcr0:0X00001420 mmcr1:0X000B000004DE9000 mmcra:0X00002001
+event:0X163 mmcr0:0X00001420 mmcr1:0X000B000004DE9000 mmcra:0X00002001
+event:0X164 mmcr0:0X00001420 mmcr1:0X000B000004DE9000 mmcra:0X00002001
+event:0X165 mmcr0:0X00001420 mmcr1:0X000B000004DE9000 mmcra:0X00002001
+event:0X166 mmcr0:0X00001420 mmcr1:0X000B000004DE9000 mmcra:0X00002001
+event:0X167 mmcr0:0X00001420 mmcr1:0X000B000004DE9000 mmcra:0X00002001
+
+#Group 23 pm_hpmcount1, Hpmcount group for L1 and TLB behavior
+event:0X170 mmcr0:0X00001404 mmcr1:0X000B000004DE9000 mmcra:0X00002001
+event:0X171 mmcr0:0X00001404 mmcr1:0X000B000004DE9000 mmcra:0X00002001
+event:0X172 mmcr0:0X00001404 mmcr1:0X000B000004DE9000 mmcra:0X00002001
+event:0X173 mmcr0:0X00001404 mmcr1:0X000B000004DE9000 mmcra:0X00002001
+event:0X174 mmcr0:0X00001404 mmcr1:0X000B000004DE9000 mmcra:0X00002001
+event:0X175 mmcr0:0X00001404 mmcr1:0X000B000004DE9000 mmcra:0X00002001
+event:0X176 mmcr0:0X00001404 mmcr1:0X000B000004DE9000 mmcra:0X00002001
+event:0X177 mmcr0:0X00001404 mmcr1:0X000B000004DE9000 mmcra:0X00002001
+
+#Group 24 pm_hpmcount2, Hpmcount group for computation
+event:0X180 mmcr0:0X00000000 mmcr1:0X000020289DDE0480 mmcra:0X00002001
+event:0X181 mmcr0:0X00000000 mmcr1:0X000020289DDE0480 mmcra:0X00002001
+event:0X182 mmcr0:0X00000000 mmcr1:0X000020289DDE0480 mmcra:0X00002001
+event:0X183 mmcr0:0X00000000 mmcr1:0X000020289DDE0480 mmcra:0X00002001
+event:0X184 mmcr0:0X00000000 mmcr1:0X000020289DDE0480 mmcra:0X00002001
+event:0X185 mmcr0:0X00000000 mmcr1:0X000020289DDE0480 mmcra:0X00002001
+event:0X186 mmcr0:0X00000000 mmcr1:0X000020289DDE0480 mmcra:0X00002001
+event:0X187 mmcr0:0X00000000 mmcr1:0X000020289DDE0480 mmcra:0X00002001
+
+#Group 25 pm_l1andbr, L1 misses and branch misspredict analysis
+event:0X190 mmcr0:0X0000091E mmcr1:0X8003C01D0676FD6C mmcra:0X00002001
+event:0X191 mmcr0:0X0000091E mmcr1:0X8003C01D0676FD6C mmcra:0X00002001
+event:0X192 mmcr0:0X0000091E mmcr1:0X8003C01D0676FD6C mmcra:0X00002001
+event:0X193 mmcr0:0X0000091E mmcr1:0X8003C01D0676FD6C mmcra:0X00002001
+event:0X194 mmcr0:0X0000091E mmcr1:0X8003C01D0676FD6C mmcra:0X00002001
+event:0X195 mmcr0:0X0000091E mmcr1:0X8003C01D0676FD6C mmcra:0X00002001
+event:0X196 mmcr0:0X0000091E mmcr1:0X8003C01D0676FD6C mmcra:0X00002001
+event:0X197 mmcr0:0X0000091E mmcr1:0X8003C01D0676FD6C mmcra:0X00002001
+
+#Group 26 pm_imix, Instruction mix: loads, stores and branches
+event:0X1A0 mmcr0:0X0000091E mmcr1:0X8003C021065FB000 mmcra:0X00002001
+event:0X1A1 mmcr0:0X0000091E mmcr1:0X8003C021065FB000 mmcra:0X00002001
+event:0X1A2 mmcr0:0X0000091E mmcr1:0X8003C021065FB000 mmcra:0X00002001
+event:0X1A3 mmcr0:0X0000091E mmcr1:0X8003C021065FB000 mmcra:0X00002001
+event:0X1A4 mmcr0:0X0000091E mmcr1:0X8003C021065FB000 mmcra:0X00002001
+event:0X1A5 mmcr0:0X0000091E mmcr1:0X8003C021065FB000 mmcra:0X00002001
+event:0X1A6 mmcr0:0X0000091E mmcr1:0X8003C021065FB000 mmcra:0X00002001
+event:0X1A7 mmcr0:0X0000091E mmcr1:0X8003C021065FB000 mmcra:0X00002001
+
+#Group 27 pm_branch, SLB and branch misspredict analysis
+event:0X1B0 mmcr0:0X0000052A mmcr1:0X8008000BCEA2F4EC mmcra:0X00002001
+event:0X1B1 mmcr0:0X0000052A mmcr1:0X8008000BCEA2F4EC mmcra:0X00002001
+event:0X1B2 mmcr0:0X0000052A mmcr1:0X8008000BCEA2F4EC mmcra:0X00002001
+event:0X1B3 mmcr0:0X0000052A mmcr1:0X8008000BCEA2F4EC mmcra:0X00002001
+event:0X1B4 mmcr0:0X0000052A mmcr1:0X8008000BCEA2F4EC mmcra:0X00002001
+event:0X1B5 mmcr0:0X0000052A mmcr1:0X8008000BCEA2F4EC mmcra:0X00002001
+event:0X1B6 mmcr0:0X0000052A mmcr1:0X8008000BCEA2F4EC mmcra:0X00002001
+event:0X1B7 mmcr0:0X0000052A mmcr1:0X8008000BCEA2F4EC mmcra:0X00002001
+
+#Group 28 pm_data, data source and LMQ
+event:0X1C0 mmcr0:0X00000712 mmcr1:0X0000300E3BD2FF74 mmcra:0X00002001
+event:0X1C1 mmcr0:0X00000712 mmcr1:0X0000300E3BD2FF74 mmcra:0X00002001
+event:0X1C2 mmcr0:0X00000712 mmcr1:0X0000300E3BD2FF74 mmcra:0X00002001
+event:0X1C3 mmcr0:0X00000712 mmcr1:0X0000300E3BD2FF74 mmcra:0X00002001
+event:0X1C4 mmcr0:0X00000712 mmcr1:0X0000300E3BD2FF74 mmcra:0X00002001
+event:0X1C5 mmcr0:0X00000712 mmcr1:0X0000300E3BD2FF74 mmcra:0X00002001
+event:0X1C6 mmcr0:0X00000712 mmcr1:0X0000300E3BD2FF74 mmcra:0X00002001
+event:0X1C7 mmcr0:0X00000712 mmcr1:0X0000300E3BD2FF74 mmcra:0X00002001
+
+#Group 29 pm_tlb, TLB and LRQ plus data prefetch
+event:0X1D0 mmcr0:0X00001420 mmcr1:0X0008E03C4BFDACEC mmcra:0X00002001
+event:0X1D1 mmcr0:0X00001420 mmcr1:0X0008E03C4BFDACEC mmcra:0X00002001
+event:0X1D2 mmcr0:0X00001420 mmcr1:0X0008E03C4BFDACEC mmcra:0X00002001
+event:0X1D3 mmcr0:0X00001420 mmcr1:0X0008E03C4BFDACEC mmcra:0X00002001
+event:0X1D4 mmcr0:0X00001420 mmcr1:0X0008E03C4BFDACEC mmcra:0X00002001
+event:0X1D5 mmcr0:0X00001420 mmcr1:0X0008E03C4BFDACEC mmcra:0X00002001
+event:0X1D6 mmcr0:0X00001420 mmcr1:0X0008E03C4BFDACEC mmcra:0X00002001
+event:0X1D7 mmcr0:0X00001420 mmcr1:0X0008E03C4BFDACEC mmcra:0X00002001
+
+#Group 30 pm_isource, inst source and tablewalk
+event:0X1E0 mmcr0:0X0000060C mmcr1:0X800B00C0226EF1DC mmcra:0X00002001
+event:0X1E1 mmcr0:0X0000060C mmcr1:0X800B00C0226EF1DC mmcra:0X00002001
+event:0X1E2 mmcr0:0X0000060C mmcr1:0X800B00C0226EF1DC mmcra:0X00002001
+event:0X1E3 mmcr0:0X0000060C mmcr1:0X800B00C0226EF1DC mmcra:0X00002001
+event:0X1E4 mmcr0:0X0000060C mmcr1:0X800B00C0226EF1DC mmcra:0X00002001
+event:0X1E5 mmcr0:0X0000060C mmcr1:0X800B00C0226EF1DC mmcra:0X00002001
+event:0X1E6 mmcr0:0X0000060C mmcr1:0X800B00C0226EF1DC mmcra:0X00002001
+event:0X1E7 mmcr0:0X0000060C mmcr1:0X800B00C0226EF1DC mmcra:0X00002001
+
+#Group 31 pm_sync, Sync and SRQ
+event:0X1F0 mmcr0:0X00001D32 mmcr1:0X0003E0C107529780 mmcra:0X00002001
+event:0X1F1 mmcr0:0X00001D32 mmcr1:0X0003E0C107529780 mmcra:0X00002001
+event:0X1F2 mmcr0:0X00001D32 mmcr1:0X0003E0C107529780 mmcra:0X00002001
+event:0X1F3 mmcr0:0X00001D32 mmcr1:0X0003E0C107529780 mmcra:0X00002001
+event:0X1F4 mmcr0:0X00001D32 mmcr1:0X0003E0C107529780 mmcra:0X00002001
+event:0X1F5 mmcr0:0X00001D32 mmcr1:0X0003E0C107529780 mmcra:0X00002001
+event:0X1F6 mmcr0:0X00001D32 mmcr1:0X0003E0C107529780 mmcra:0X00002001
+event:0X1F7 mmcr0:0X00001D32 mmcr1:0X0003E0C107529780 mmcra:0X00002001
+
+#Group 32 pm_ierat, IERAT
+event:0X200 mmcr0:0X00000D12 mmcr1:0X80000082C3D2F4BC mmcra:0X00002001
+event:0X201 mmcr0:0X00000D12 mmcr1:0X80000082C3D2F4BC mmcra:0X00002001
+event:0X202 mmcr0:0X00000D12 mmcr1:0X80000082C3D2F4BC mmcra:0X00002001
+event:0X203 mmcr0:0X00000D12 mmcr1:0X80000082C3D2F4BC mmcra:0X00002001
+event:0X204 mmcr0:0X00000D12 mmcr1:0X80000082C3D2F4BC mmcra:0X00002001
+event:0X205 mmcr0:0X00000D12 mmcr1:0X80000082C3D2F4BC mmcra:0X00002001
+event:0X206 mmcr0:0X00000D12 mmcr1:0X80000082C3D2F4BC mmcra:0X00002001
+event:0X207 mmcr0:0X00000D12 mmcr1:0X80000082C3D2F4BC mmcra:0X00002001
+
+#Group 33 pm_derat, DERAT
+event:0X210 mmcr0:0X00000436 mmcr1:0X100B7052E274003C mmcra:0X00002001
+event:0X211 mmcr0:0X00000436 mmcr1:0X100B7052E274003C mmcra:0X00002001
+event:0X212 mmcr0:0X00000436 mmcr1:0X100B7052E274003C mmcra:0X00002001
+event:0X213 mmcr0:0X00000436 mmcr1:0X100B7052E274003C mmcra:0X00002001
+event:0X214 mmcr0:0X00000436 mmcr1:0X100B7052E274003C mmcra:0X00002001
+event:0X215 mmcr0:0X00000436 mmcr1:0X100B7052E274003C mmcra:0X00002001
+event:0X216 mmcr0:0X00000436 mmcr1:0X100B7052E274003C mmcra:0X00002001
+event:0X217 mmcr0:0X00000436 mmcr1:0X100B7052E274003C mmcra:0X00002001
+
+#Group 34 pm_mark1, Information on marked instructions
+event:0X220 mmcr0:0X00000006 mmcr1:0X00008080790852A4 mmcra:0X00002001
+event:0X221 mmcr0:0X00000006 mmcr1:0X00008080790852A4 mmcra:0X00002001
+event:0X222 mmcr0:0X00000006 mmcr1:0X00008080790852A4 mmcra:0X00002001
+event:0X223 mmcr0:0X00000006 mmcr1:0X00008080790852A4 mmcra:0X00002001
+event:0X224 mmcr0:0X00000006 mmcr1:0X00008080790852A4 mmcra:0X00002001
+event:0X225 mmcr0:0X00000006 mmcr1:0X00008080790852A4 mmcra:0X00002001
+event:0X226 mmcr0:0X00000006 mmcr1:0X00008080790852A4 mmcra:0X00002001
+event:0X227 mmcr0:0X00000006 mmcr1:0X00008080790852A4 mmcra:0X00002001
+
+#Group 35 pm_mark2, Marked Instructions Processing Flow
+event:0X230 mmcr0:0X0000020A mmcr1:0X0000000079484210 mmcra:0X00002001
+event:0X231 mmcr0:0X0000020A mmcr1:0X0000000079484210 mmcra:0X00002001
+event:0X232 mmcr0:0X0000020A mmcr1:0X0000000079484210 mmcra:0X00002001
+event:0X233 mmcr0:0X0000020A mmcr1:0X0000000079484210 mmcra:0X00002001
+event:0X234 mmcr0:0X0000020A mmcr1:0X0000000079484210 mmcra:0X00002001
+event:0X235 mmcr0:0X0000020A mmcr1:0X0000000079484210 mmcra:0X00002001
+event:0X236 mmcr0:0X0000020A mmcr1:0X0000000079484210 mmcra:0X00002001
+event:0X237 mmcr0:0X0000020A mmcr1:0X0000000079484210 mmcra:0X00002001
+
+#Group 36 pm_mark3, Marked Stores Processing Flow
+event:0X240 mmcr0:0X0000031E mmcr1:0X00203004190A3F24 mmcra:0X00002001
+event:0X241 mmcr0:0X0000031E mmcr1:0X00203004190A3F24 mmcra:0X00002001
+event:0X242 mmcr0:0X0000031E mmcr1:0X00203004190A3F24 mmcra:0X00002001
+event:0X243 mmcr0:0X0000031E mmcr1:0X00203004190A3F24 mmcra:0X00002001
+event:0X244 mmcr0:0X0000031E mmcr1:0X00203004190A3F24 mmcra:0X00002001
+event:0X245 mmcr0:0X0000031E mmcr1:0X00203004190A3F24 mmcra:0X00002001
+event:0X246 mmcr0:0X0000031E mmcr1:0X00203004190A3F24 mmcra:0X00002001
+event:0X247 mmcr0:0X0000031E mmcr1:0X00203004190A3F24 mmcra:0X00002001
+
+#Group 37 pm_lsu_mark1, Load Store Unit Marked Events
+event:0X250 mmcr0:0X00001B34 mmcr1:0X000280C08D5E9850 mmcra:0X00002001
+event:0X251 mmcr0:0X00001B34 mmcr1:0X000280C08D5E9850 mmcra:0X00002001
+event:0X252 mmcr0:0X00001B34 mmcr1:0X000280C08D5E9850 mmcra:0X00002001
+event:0X253 mmcr0:0X00001B34 mmcr1:0X000280C08D5E9850 mmcra:0X00002001
+event:0X254 mmcr0:0X00001B34 mmcr1:0X000280C08D5E9850 mmcra:0X00002001
+event:0X255 mmcr0:0X00001B34 mmcr1:0X000280C08D5E9850 mmcra:0X00002001
+event:0X256 mmcr0:0X00001B34 mmcr1:0X000280C08D5E9850 mmcra:0X00002001
+event:0X257 mmcr0:0X00001B34 mmcr1:0X000280C08D5E9850 mmcra:0X00002001
+
+#Group 38 pm_lsu_mark2, Load Store Unit Marked Events
+event:0X260 mmcr0:0X00001838 mmcr1:0X000280C0959E99DC mmcra:0X00002001
+event:0X261 mmcr0:0X00001838 mmcr1:0X000280C0959E99DC mmcra:0X00002001
+event:0X262 mmcr0:0X00001838 mmcr1:0X000280C0959E99DC mmcra:0X00002001
+event:0X263 mmcr0:0X00001838 mmcr1:0X000280C0959E99DC mmcra:0X00002001
+event:0X264 mmcr0:0X00001838 mmcr1:0X000280C0959E99DC mmcra:0X00002001
+event:0X265 mmcr0:0X00001838 mmcr1:0X000280C0959E99DC mmcra:0X00002001
+event:0X266 mmcr0:0X00001838 mmcr1:0X000280C0959E99DC mmcra:0X00002001
+event:0X267 mmcr0:0X00001838 mmcr1:0X000280C0959E99DC mmcra:0X00002001
+
+#Group 39 pm_fxu1, Fixed Point events by unit
+event:0X270 mmcr0:0X00000912 mmcr1:0X100010020084213C mmcra:0X00002001
+event:0X271 mmcr0:0X00000912 mmcr1:0X100010020084213C mmcra:0X00002001
+event:0X272 mmcr0:0X00000912 mmcr1:0X100010020084213C mmcra:0X00002001
+event:0X273 mmcr0:0X00000912 mmcr1:0X100010020084213C mmcra:0X00002001
+event:0X274 mmcr0:0X00000912 mmcr1:0X100010020084213C mmcra:0X00002001
+event:0X275 mmcr0:0X00000912 mmcr1:0X100010020084213C mmcra:0X00002001
+event:0X276 mmcr0:0X00000912 mmcr1:0X100010020084213C mmcra:0X00002001
+event:0X277 mmcr0:0X00000912 mmcr1:0X100010020084213C mmcra:0X00002001
+
+#Group 40 pm_fxu2, Fixed Point events by unit
+event:0X280 mmcr0:0X0000091E mmcr1:0X4000000CA4042D78 mmcra:0X00002001
+event:0X281 mmcr0:0X0000091E mmcr1:0X4000000CA4042D78 mmcra:0X00002001
+event:0X282 mmcr0:0X0000091E mmcr1:0X4000000CA4042D78 mmcra:0X00002001
+event:0X283 mmcr0:0X0000091E mmcr1:0X4000000CA4042D78 mmcra:0X00002001
+event:0X284 mmcr0:0X0000091E mmcr1:0X4000000CA4042D78 mmcra:0X00002001
+event:0X285 mmcr0:0X0000091E mmcr1:0X4000000CA4042D78 mmcra:0X00002001
+event:0X286 mmcr0:0X0000091E mmcr1:0X4000000CA4042D78 mmcra:0X00002001
+event:0X287 mmcr0:0X0000091E mmcr1:0X4000000CA4042D78 mmcra:0X00002001
+
+#Group 41 pm_ifu, pm_ifu
+event:0X290 mmcr0:0X00000D0C mmcr1:0X800000F06B7867A4 mmcra:0X00002001
+event:0X291 mmcr0:0X00000D0C mmcr1:0X800000F06B7867A4 mmcra:0X00002001
+event:0X292 mmcr0:0X00000D0C mmcr1:0X800000F06B7867A4 mmcra:0X00002001
+event:0X293 mmcr0:0X00000D0C mmcr1:0X800000F06B7867A4 mmcra:0X00002001
+event:0X294 mmcr0:0X00000D0C mmcr1:0X800000F06B7867A4 mmcra:0X00002001
+event:0X295 mmcr0:0X00000D0C mmcr1:0X800000F06B7867A4 mmcra:0X00002001
+event:0X296 mmcr0:0X00000D0C mmcr1:0X800000F06B7867A4 mmcra:0X00002001
+event:0X297 mmcr0:0X00000D0C mmcr1:0X800000F06B7867A4 mmcra:0X00002001
+
+#Group 42 pm_cpi_stack1, CPI stack analysis
+event:0X2A0 mmcr0:0X00001B3E mmcr1:0X4000C0C0ADD6963D mmcra:0X00002001
+event:0X2A1 mmcr0:0X00001B3E mmcr1:0X4000C0C0ADD6963D mmcra:0X00002001
+event:0X2A2 mmcr0:0X00001B3E mmcr1:0X4000C0C0ADD6963D mmcra:0X00002001
+event:0X2A3 mmcr0:0X00001B3E mmcr1:0X4000C0C0ADD6963D mmcra:0X00002001
+event:0X2A4 mmcr0:0X00001B3E mmcr1:0X4000C0C0ADD6963D mmcra:0X00002001
+event:0X2A5 mmcr0:0X00001B3E mmcr1:0X4000C0C0ADD6963D mmcra:0X00002001
+event:0X2A6 mmcr0:0X00001B3E mmcr1:0X4000C0C0ADD6963D mmcra:0X00002001
+event:0X2A7 mmcr0:0X00001B3E mmcr1:0X4000C0C0ADD6963D mmcra:0X00002001
+
+#Group 43 pm_cpi_stack2, CPI stack analysis
+event:0X2B0 mmcr0:0X00000B12 mmcr1:0X000B000003D60583 mmcra:0X00002001
+event:0X2B1 mmcr0:0X00000B12 mmcr1:0X000B000003D60583 mmcra:0X00002001
+event:0X2B2 mmcr0:0X00000B12 mmcr1:0X000B000003D60583 mmcra:0X00002001
+event:0X2B3 mmcr0:0X00000B12 mmcr1:0X000B000003D60583 mmcra:0X00002001
+event:0X2B4 mmcr0:0X00000B12 mmcr1:0X000B000003D60583 mmcra:0X00002001
+event:0X2B5 mmcr0:0X00000B12 mmcr1:0X000B000003D60583 mmcra:0X00002001
+event:0X2B6 mmcr0:0X00000B12 mmcr1:0X000B000003D60583 mmcra:0X00002001
+event:0X2B7 mmcr0:0X00000B12 mmcr1:0X000B000003D60583 mmcra:0X00002001
+
+#Group 44 pm_cpi_stack3, CPI stack analysis
+event:0X2C0 mmcr0:0X00000916 mmcr1:0X10001002001625BE mmcra:0X00002001
+event:0X2C1 mmcr0:0X00000916 mmcr1:0X10001002001625BE mmcra:0X00002001
+event:0X2C2 mmcr0:0X00000916 mmcr1:0X10001002001625BE mmcra:0X00002001
+event:0X2C3 mmcr0:0X00000916 mmcr1:0X10001002001625BE mmcra:0X00002001
+event:0X2C4 mmcr0:0X00000916 mmcr1:0X10001002001625BE mmcra:0X00002001
+event:0X2C5 mmcr0:0X00000916 mmcr1:0X10001002001625BE mmcra:0X00002001
+event:0X2C6 mmcr0:0X00000916 mmcr1:0X10001002001625BE mmcra:0X00002001
+event:0X2C7 mmcr0:0X00000916 mmcr1:0X10001002001625BE mmcra:0X00002001
+
+#Group 45 pm_cpi_stack4, CPI stack analysis
+event:0X2D0 mmcr0:0X00000000 mmcr1:0X00000000485805BD mmcra:0X00002001
+event:0X2D1 mmcr0:0X00000000 mmcr1:0X00000000485805BD mmcra:0X00002001
+event:0X2D2 mmcr0:0X00000000 mmcr1:0X00000000485805BD mmcra:0X00002001
+event:0X2D3 mmcr0:0X00000000 mmcr1:0X00000000485805BD mmcra:0X00002001
+event:0X2D4 mmcr0:0X00000000 mmcr1:0X00000000485805BD mmcra:0X00002001
+event:0X2D5 mmcr0:0X00000000 mmcr1:0X00000000485805BD mmcra:0X00002001
+event:0X2D6 mmcr0:0X00000000 mmcr1:0X00000000485805BD mmcra:0X00002001
+event:0X2D7 mmcr0:0X00000000 mmcr1:0X00000000485805BD mmcra:0X00002001
+
+#Group 46 pm_cpi_stack5, CPI stack analysis
+event:0X2E0 mmcr0:0X00000412 mmcr1:0X90010009B6D8F672 mmcra:0X00002001
+event:0X2E1 mmcr0:0X00000412 mmcr1:0X90010009B6D8F672 mmcra:0X00002001
+event:0X2E2 mmcr0:0X00000412 mmcr1:0X90010009B6D8F672 mmcra:0X00002001
+event:0X2E3 mmcr0:0X00000412 mmcr1:0X90010009B6D8F672 mmcra:0X00002001
+event:0X2E4 mmcr0:0X00000412 mmcr1:0X90010009B6D8F672 mmcra:0X00002001
+event:0X2E5 mmcr0:0X00000412 mmcr1:0X90010009B6D8F672 mmcra:0X00002001
+event:0X2E6 mmcr0:0X00000412 mmcr1:0X90010009B6D8F672 mmcra:0X00002001
+event:0X2E7 mmcr0:0X00000412 mmcr1:0X90010009B6D8F672 mmcra:0X00002001
+
+#Group 47 pm_data2, data source and LMQ
+event:0X2F0 mmcr0:0X00000D12 mmcr1:0X0000300E6BD2FF74 mmcra:0X00002001
+event:0X2F1 mmcr0:0X00000D12 mmcr1:0X0000300E6BD2FF74 mmcra:0X00002001
+event:0X2F2 mmcr0:0X00000D12 mmcr1:0X0000300E6BD2FF74 mmcra:0X00002001
+event:0X2F3 mmcr0:0X00000D12 mmcr1:0X0000300E6BD2FF74 mmcra:0X00002001
+event:0X2F4 mmcr0:0X00000D12 mmcr1:0X0000300E6BD2FF74 mmcra:0X00002001
+event:0X2F5 mmcr0:0X00000D12 mmcr1:0X0000300E6BD2FF74 mmcra:0X00002001
+event:0X2F6 mmcr0:0X00000D12 mmcr1:0X0000300E6BD2FF74 mmcra:0X00002001
+event:0X2F7 mmcr0:0X00000D12 mmcr1:0X0000300E6BD2FF74 mmcra:0X00002001
+
+#Group 48 pm_fetch_branch, Instruction fetch and branch events
+event:0X300 mmcr0:0X0000060C mmcr1:0X800000CD6E5E9D6C mmcra:0X00002001
+event:0X301 mmcr0:0X0000060C mmcr1:0X800000CD6E5E9D6C mmcra:0X00002001
+event:0X302 mmcr0:0X0000060C mmcr1:0X800000CD6E5E9D6C mmcra:0X00002001
+event:0X303 mmcr0:0X0000060C mmcr1:0X800000CD6E5E9D6C mmcra:0X00002001
+event:0X304 mmcr0:0X0000060C mmcr1:0X800000CD6E5E9D6C mmcra:0X00002001
+event:0X305 mmcr0:0X0000060C mmcr1:0X800000CD6E5E9D6C mmcra:0X00002001
+event:0X306 mmcr0:0X0000060C mmcr1:0X800000CD6E5E9D6C mmcra:0X00002001
+event:0X307 mmcr0:0X0000060C mmcr1:0X800000CD6E5E9D6C mmcra:0X00002001
+
+#Group 49 pm_l1l2_miss, L1 and L2 miss events
+event:0X310 mmcr0:0X00000712 mmcr1:0X000330023C86FB00 mmcra:0X00002001
+event:0X311 mmcr0:0X00000712 mmcr1:0X000330023C86FB00 mmcra:0X00002001
+event:0X312 mmcr0:0X00000712 mmcr1:0X000330023C86FB00 mmcra:0X00002001
+event:0X313 mmcr0:0X00000712 mmcr1:0X000330023C86FB00 mmcra:0X00002001
+event:0X314 mmcr0:0X00000712 mmcr1:0X000330023C86FB00 mmcra:0X00002001
+event:0X315 mmcr0:0X00000712 mmcr1:0X000330023C86FB00 mmcra:0X00002001
+event:0X316 mmcr0:0X00000712 mmcr1:0X000330023C86FB00 mmcra:0X00002001
+event:0X317 mmcr0:0X00000712 mmcr1:0X000330023C86FB00 mmcra:0X00002001
diff --git a/events/ppc64/970/events b/events/ppc64/970/events
new file mode 100644
index 0000000..e1c6057
--- /dev/null
+++ b/events/ppc64/970/events
@@ -0,0 +1,505 @@
+#PPC64 PowerPC970 events
+#
+# Within each group the event names must be unique. Each event in a group is
+# assigned to a unique counter. The groups are from the groups defined in the
+# Performance Monitor Unit user guide for this processor.
+#
+# Only events within the same group can be selected simultaneously.
+# Each event is given a unique event number. The event number is used by the
+# OProfile code to resolve event names for the post-processing. This is done
+# to preserve compatibility with the rest of the OProfile code. The event
+# numbers are formatted as follows: <group_num>concat(<counter for the event>).
+
+#Group Default
+event:0X001 counters:1 um:zero minimum:10000 name:CYCLES : Processor Cycles
+
+
+#Group 1 pm_slice0, Time Slice 0
+event:0X010 counters:0 um:zero minimum:10000 name:PM_RUN_CYC_GRP1 : (Group 1 pm_slice0) Run cycles
+event:0X011 counters:1 um:zero minimum:10000 name:PM_CYC_GRP1 : (Group 1 pm_slice0) Processor cycles
+event:0X012 counters:2 um:zero minimum:1000 name:PM_STOP_COMPLETION_GRP1 : (Group 1 pm_slice0) Completion stopped
+event:0X013 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP1 : (Group 1 pm_slice0) Instructions completed
+event:0X014 counters:4 um:zero minimum:1000 name:PM_1PLUS_PPC_CMPL_GRP1 : (Group 1 pm_slice0) One or more PPC instruction completed
+event:0X015 counters:5 um:zero minimum:10000 name:PM_CYC_GRP1 : (Group 1 pm_slice0) Processor cycles
+event:0X016 counters:6 um:zero minimum:1000 name:PM_GRP_CMPL_GRP1 : (Group 1 pm_slice0) Group completed
+event:0X017 counters:7 um:zero minimum:1000 name:PM_GRP_DISP_REJECT_GRP1 : (Group 1 pm_slice0) Group dispatch rejected
+
+#Group 2 pm_eprof, Group for use with eprof
+event:0X020 counters:0 um:zero minimum:10000 name:PM_CYC_GRP2 : (Group 2 pm_eprof) Processor cycles
+event:0X021 counters:1 um:zero minimum:10000 name:PM_CYC_GRP2 : (Group 2 pm_eprof) Processor cycles
+event:0X022 counters:2 um:zero minimum:1000 name:PM_LD_MISS_L1_GRP2 : (Group 2 pm_eprof) L1 D cache load misses
+event:0X023 counters:3 um:zero minimum:1000 name:PM_DC_INV_L2_GRP2 : (Group 2 pm_eprof) L1 D cache entries invalidated from L2
+event:0X024 counters:4 um:zero minimum:1000 name:PM_INST_DISP_GRP2 : (Group 2 pm_eprof) Instructions dispatched
+event:0X025 counters:5 um:zero minimum:10000 name:PM_INST_CMPL_GRP2 : (Group 2 pm_eprof) Instructions completed
+event:0X026 counters:6 um:zero minimum:1000 name:PM_ST_REF_L1_GRP2 : (Group 2 pm_eprof) L1 D cache store references
+event:0X027 counters:7 um:zero minimum:1000 name:PM_LD_REF_L1_GRP2 : (Group 2 pm_eprof) L1 D cache load references
+
+#Group 3 pm_basic, Basic performance indicators
+event:0X030 counters:0 um:zero minimum:10000 name:PM_INST_CMPL_GRP3 : (Group 3 pm_basic) Instructions completed
+event:0X031 counters:1 um:zero minimum:10000 name:PM_CYC_GRP3 : (Group 3 pm_basic) Processor cycles
+event:0X032 counters:2 um:zero minimum:1000 name:PM_LD_MISS_L1_GRP3 : (Group 3 pm_basic) L1 D cache load misses
+event:0X033 counters:3 um:zero minimum:1000 name:PM_DC_INV_L2_GRP3 : (Group 3 pm_basic) L1 D cache entries invalidated from L2
+event:0X034 counters:4 um:zero minimum:1000 name:PM_INST_DISP_GRP3 : (Group 3 pm_basic) Instructions dispatched
+event:0X035 counters:5 um:zero minimum:10000 name:PM_INST_CMPL_GRP3 : (Group 3 pm_basic) Instructions completed
+event:0X036 counters:6 um:zero minimum:1000 name:PM_ST_REF_L1_GRP3 : (Group 3 pm_basic) L1 D cache store references
+event:0X037 counters:7 um:zero minimum:1000 name:PM_LD_REF_L1_GRP3 : (Group 3 pm_basic) L1 D cache load references
+
+#Group 4 pm_lsu, Information on the Load Store Unit
+event:0X040 counters:0 um:zero minimum:1000 name:PM_LSU_FLUSH_ULD_GRP4 : (Group 4 pm_lsu) LRQ unaligned load flushes
+event:0X041 counters:1 um:zero minimum:1000 name:PM_LSU_FLUSH_UST_GRP4 : (Group 4 pm_lsu) SRQ unaligned store flushes
+event:0X042 counters:2 um:zero minimum:10000 name:PM_CYC_GRP4 : (Group 4 pm_lsu) Processor cycles
+event:0X043 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP4 : (Group 4 pm_lsu) Instructions completed
+event:0X044 counters:4 um:zero minimum:1000 name:PM_LSU_FLUSH_SRQ_GRP4 : (Group 4 pm_lsu) SRQ flushes
+event:0X045 counters:5 um:zero minimum:1000 name:PM_LSU_FLUSH_LRQ_GRP4 : (Group 4 pm_lsu) LRQ flushes
+event:0X046 counters:6 um:zero minimum:1000 name:PM_ST_REF_L1_GRP4 : (Group 4 pm_lsu) L1 D cache store references
+event:0X047 counters:7 um:zero minimum:1000 name:PM_LD_REF_L1_GRP4 : (Group 4 pm_lsu) L1 D cache load references
+
+#Group 5 pm_fpu1, Floating Point events
+event:0X050 counters:0 um:zero minimum:1000 name:PM_FPU_FDIV_GRP5 : (Group 5 pm_fpu1) FPU executed FDIV instruction
+event:0X051 counters:1 um:zero minimum:1000 name:PM_FPU_FMA_GRP5 : (Group 5 pm_fpu1) FPU executed multiply-add instruction
+event:0X052 counters:2 um:zero minimum:1000 name:PM_FPU_FEST_GRP5 : (Group 5 pm_fpu1) FPU executed FEST instruction
+event:0X053 counters:3 um:zero minimum:1000 name:PM_FPU_FIN_GRP5 : (Group 5 pm_fpu1) FPU produced a result
+event:0X054 counters:4 um:zero minimum:10000 name:PM_CYC_GRP5 : (Group 5 pm_fpu1) Processor cycles
+event:0X055 counters:5 um:zero minimum:1000 name:PM_FPU_FSQRT_GRP5 : (Group 5 pm_fpu1) FPU executed FSQRT instruction
+event:0X056 counters:6 um:zero minimum:10000 name:PM_INST_CMPL_GRP5 : (Group 5 pm_fpu1) Instructions completed
+event:0X057 counters:7 um:zero minimum:1000 name:PM_FPU_FMOV_FEST_GRP5 : (Group 5 pm_fpu1) FPU executing FMOV or FEST instructions
+
+#Group 6 pm_fpu2, Floating Point events
+event:0X060 counters:0 um:zero minimum:1000 name:PM_FPU_DENORM_GRP6 : (Group 6 pm_fpu2) FPU received denormalized data
+event:0X061 counters:1 um:zero minimum:1000 name:PM_FPU_STALL3_GRP6 : (Group 6 pm_fpu2) FPU stalled in pipe3
+event:0X062 counters:2 um:zero minimum:10000 name:PM_CYC_GRP6 : (Group 6 pm_fpu2) Processor cycles
+event:0X063 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP6 : (Group 6 pm_fpu2) Instructions completed
+event:0X064 counters:4 um:zero minimum:1000 name:PM_FPU_ALL_GRP6 : (Group 6 pm_fpu2) FPU executed add, mult, sub, cmp or sel instruction
+event:0X065 counters:5 um:zero minimum:1000 name:PM_FPU_STF_GRP6 : (Group 6 pm_fpu2) FPU executed store instruction
+event:0X066 counters:6 um:zero minimum:1000 name:PM_FPU_FRSP_FCONV_GRP6 : (Group 6 pm_fpu2) FPU executed FRSP or FCONV instructions
+event:0X067 counters:7 um:zero minimum:1000 name:PM_LSU_LDF_GRP6 : (Group 6 pm_fpu2) LSU executed Floating Point load instruction
+
+#Group 7 pm_isu_rename, ISU Rename Pool Events
+event:0X070 counters:0 um:zero minimum:1000 name:PM_XER_MAP_FULL_CYC_GRP7 : (Group 7 pm_isu_rename) Cycles XER mapper full
+event:0X071 counters:1 um:zero minimum:1000 name:PM_CR_MAP_FULL_CYC_GRP7 : (Group 7 pm_isu_rename) Cycles CR logical operation mapper full
+event:0X072 counters:2 um:zero minimum:1000 name:PM_CRQ_FULL_CYC_GRP7 : (Group 7 pm_isu_rename) Cycles CR issue queue full
+event:0X073 counters:3 um:zero minimum:1000 name:PM_GRP_DISP_BLK_SB_CYC_GRP7 : (Group 7 pm_isu_rename) Cycles group dispatch blocked by scoreboard
+event:0X074 counters:4 um:zero minimum:1000 name:PM_LR_CTR_MAP_FULL_CYC_GRP7 : (Group 7 pm_isu_rename) Cycles LR/CTR mapper full
+event:0X075 counters:5 um:zero minimum:1000 name:PM_INST_DISP_GRP7 : (Group 7 pm_isu_rename) Instructions dispatched
+event:0X076 counters:6 um:zero minimum:10000 name:PM_INST_CMPL_GRP7 : (Group 7 pm_isu_rename) Instructions completed
+event:0X077 counters:7 um:zero minimum:10000 name:PM_CYC_GRP7 : (Group 7 pm_isu_rename) Processor cycles
+
+#Group 8 pm_isu_queues1, ISU Rename Pool Events
+event:0X080 counters:0 um:zero minimum:1000 name:PM_FPU0_FULL_CYC_GRP8 : (Group 8 pm_isu_queues1) Cycles FPU0 issue queue full
+event:0X081 counters:1 um:zero minimum:1000 name:PM_FPU1_FULL_CYC_GRP8 : (Group 8 pm_isu_queues1) Cycles FPU1 issue queue full
+event:0X082 counters:2 um:zero minimum:1000 name:PM_FXLS0_FULL_CYC_GRP8 : (Group 8 pm_isu_queues1) Cycles FXU0/LS0 queue full
+event:0X083 counters:3 um:zero minimum:1000 name:PM_FXLS1_FULL_CYC_GRP8 : (Group 8 pm_isu_queues1) Cycles FXU1/LS1 queue full
+event:0X084 counters:4 um:zero minimum:10000 name:PM_CYC_GRP8 : (Group 8 pm_isu_queues1) Processor cycles
+event:0X085 counters:5 um:zero minimum:10000 name:PM_INST_CMPL_GRP8 : (Group 8 pm_isu_queues1) Instructions completed
+event:0X086 counters:6 um:zero minimum:1000 name:PM_LSU_LRQ_FULL_CYC_GRP8 : (Group 8 pm_isu_queues1) Cycles LRQ full
+event:0X087 counters:7 um:zero minimum:1000 name:PM_LSU_SRQ_FULL_CYC_GRP8 : (Group 8 pm_isu_queues1) Cycles SRQ full
+
+#Group 9 pm_isu_flow, ISU Instruction Flow Events
+event:0X090 counters:0 um:zero minimum:1000 name:PM_INST_DISP_GRP9 : (Group 9 pm_isu_flow) Instructions dispatched
+event:0X091 counters:1 um:zero minimum:10000 name:PM_CYC_GRP9 : (Group 9 pm_isu_flow) Processor cycles
+event:0X092 counters:2 um:zero minimum:1000 name:PM_FXU0_FIN_GRP9 : (Group 9 pm_isu_flow) FXU0 produced a result
+event:0X093 counters:3 um:zero minimum:1000 name:PM_FXU1_FIN_GRP9 : (Group 9 pm_isu_flow) FXU1 produced a result
+event:0X094 counters:4 um:zero minimum:1000 name:PM_GRP_DISP_VALID_GRP9 : (Group 9 pm_isu_flow) Group dispatch valid
+event:0X095 counters:5 um:zero minimum:1000 name:PM_GRP_DISP_REJECT_GRP9 : (Group 9 pm_isu_flow) Group dispatch rejected
+event:0X096 counters:6 um:zero minimum:10000 name:PM_INST_CMPL_GRP9 : (Group 9 pm_isu_flow) Instructions completed
+event:0X097 counters:7 um:zero minimum:10000 name:PM_CYC_GRP9 : (Group 9 pm_isu_flow) Processor cycles
+
+#Group 10 pm_isu_work, ISU Indicators of Work Blockage
+event:0X0A0 counters:0 um:zero minimum:1000 name:PM_GCT_EMPTY_CYC_GRP10 : (Group 10 pm_isu_work) Cycles GCT empty
+event:0X0A1 counters:1 um:zero minimum:1000 name:PM_WORK_HELD_GRP10 : (Group 10 pm_isu_work) Work held
+event:0X0A2 counters:2 um:zero minimum:1000 name:PM_STOP_COMPLETION_GRP10 : (Group 10 pm_isu_work) Completion stopped
+event:0X0A3 counters:3 um:zero minimum:1000 name:PM_EE_OFF_EXT_INT_GRP10 : (Group 10 pm_isu_work) Cycles MSR(EE) bit off and external interrupt pending
+event:0X0A4 counters:4 um:zero minimum:10000 name:PM_CYC_GRP10 : (Group 10 pm_isu_work) Processor cycles
+event:0X0A5 counters:5 um:zero minimum:10000 name:PM_INST_CMPL_GRP10 : (Group 10 pm_isu_work) Instructions completed
+event:0X0A6 counters:6 um:zero minimum:1000 name:PM_EE_OFF_GRP10 : (Group 10 pm_isu_work) Cycles MSR(EE) bit off
+event:0X0A7 counters:7 um:zero minimum:1000 name:PM_EXT_INT_GRP10 : (Group 10 pm_isu_work) External interrupts
+
+#Group 11 pm_fpu3, Floating Point events by unit
+event:0X0B0 counters:0 um:zero minimum:1000 name:PM_FPU0_FDIV_GRP11 : (Group 11 pm_fpu3) FPU0 executed FDIV instruction
+event:0X0B1 counters:1 um:zero minimum:1000 name:PM_FPU1_FDIV_GRP11 : (Group 11 pm_fpu3) FPU1 executed FDIV instruction
+event:0X0B2 counters:2 um:zero minimum:1000 name:PM_FPU0_FRSP_FCONV_GRP11 : (Group 11 pm_fpu3) FPU0 executed FRSP or FCONV instructions
+event:0X0B3 counters:3 um:zero minimum:1000 name:PM_FPU1_FRSP_FCONV_GRP11 : (Group 11 pm_fpu3) FPU1 executed FRSP or FCONV instructions
+event:0X0B4 counters:4 um:zero minimum:1000 name:PM_FPU0_FMA_GRP11 : (Group 11 pm_fpu3) FPU0 executed multiply-add instruction
+event:0X0B5 counters:5 um:zero minimum:1000 name:PM_FPU1_FMA_GRP11 : (Group 11 pm_fpu3) FPU1 executed multiply-add instruction
+event:0X0B6 counters:6 um:zero minimum:10000 name:PM_INST_CMPL_GRP11 : (Group 11 pm_fpu3) Instructions completed
+event:0X0B7 counters:7 um:zero minimum:10000 name:PM_CYC_GRP11 : (Group 11 pm_fpu3) Processor cycles
+
+#Group 12 pm_fpu4, Floating Point events by unit
+event:0X0C0 counters:0 um:zero minimum:1000 name:PM_FPU0_FSQRT_GRP12 : (Group 12 pm_fpu4) FPU0 executed FSQRT instruction
+event:0X0C1 counters:1 um:zero minimum:1000 name:PM_FPU1_FSQRT_GRP12 : (Group 12 pm_fpu4) FPU1 executed FSQRT instruction
+event:0X0C2 counters:2 um:zero minimum:1000 name:PM_FPU0_FIN_GRP12 : (Group 12 pm_fpu4) FPU0 produced a result
+event:0X0C3 counters:3 um:zero minimum:1000 name:PM_FPU1_FIN_GRP12 : (Group 12 pm_fpu4) FPU1 produced a result
+event:0X0C4 counters:4 um:zero minimum:1000 name:PM_FPU0_ALL_GRP12 : (Group 12 pm_fpu4) FPU0 executed add, mult, sub, cmp or sel instruction
+event:0X0C5 counters:5 um:zero minimum:1000 name:PM_FPU1_ALL_GRP12 : (Group 12 pm_fpu4) FPU1 executed add, mult, sub, cmp or sel instruction
+event:0X0C6 counters:6 um:zero minimum:10000 name:PM_INST_CMPL_GRP12 : (Group 12 pm_fpu4) Instructions completed
+event:0X0C7 counters:7 um:zero minimum:10000 name:PM_CYC_GRP12 : (Group 12 pm_fpu4) Processor cycles
+
+#Group 13 pm_fpu5, Floating Point events by unit
+event:0X0D0 counters:0 um:zero minimum:1000 name:PM_FPU0_DENORM_GRP13 : (Group 13 pm_fpu5) FPU0 received denormalized data
+event:0X0D1 counters:1 um:zero minimum:1000 name:PM_FPU1_DENORM_GRP13 : (Group 13 pm_fpu5) FPU1 received denormalized data
+event:0X0D2 counters:2 um:zero minimum:1000 name:PM_FPU0_FMOV_FEST_GRP13 : (Group 13 pm_fpu5) FPU0 executed FMOV or FEST instructions
+event:0X0D3 counters:3 um:zero minimum:1000 name:PM_FPU1_FMOV_FEST_GRP13 : (Group 13 pm_fpu5) FPU1 executing FMOV or FEST instructions
+event:0X0D4 counters:4 um:zero minimum:10000 name:PM_CYC_GRP13 : (Group 13 pm_fpu5) Processor cycles
+event:0X0D5 counters:5 um:zero minimum:10000 name:PM_INST_CMPL_GRP13 : (Group 13 pm_fpu5) Instructions completed
+event:0X0D6 counters:6 um:zero minimum:1000 name:PM_FPU0_FEST_GRP13 : (Group 13 pm_fpu5) FPU0 executed FEST instruction
+event:0X0D7 counters:7 um:zero minimum:1000 name:PM_FPU1_FEST_GRP13 : (Group 13 pm_fpu5) FPU1 executed FEST instruction
+
+#Group 14 pm_fpu7, Floating Point events by unit
+event:0X0E0 counters:0 um:zero minimum:1000 name:PM_FPU0_STALL3_GRP14 : (Group 14 pm_fpu7) FPU0 stalled in pipe3
+event:0X0E1 counters:1 um:zero minimum:1000 name:PM_FPU1_STALL3_GRP14 : (Group 14 pm_fpu7) FPU1 stalled in pipe3
+event:0X0E2 counters:2 um:zero minimum:1000 name:PM_FPU0_FIN_GRP14 : (Group 14 pm_fpu7) FPU0 produced a result
+event:0X0E3 counters:3 um:zero minimum:1000 name:PM_FPU1_FIN_GRP14 : (Group 14 pm_fpu7) FPU1 produced a result
+event:0X0E4 counters:4 um:zero minimum:10000 name:PM_CYC_GRP14 : (Group 14 pm_fpu7) Processor cycles
+event:0X0E5 counters:5 um:zero minimum:10000 name:PM_INST_CMPL_GRP14 : (Group 14 pm_fpu7) Instructions completed
+event:0X0E6 counters:6 um:zero minimum:10000 name:PM_CYC_GRP14 : (Group 14 pm_fpu7) Processor cycles
+event:0X0E7 counters:7 um:zero minimum:1000 name:PM_FPU0_FPSCR_GRP14 : (Group 14 pm_fpu7) FPU0 executed FPSCR instruction
+
+#Group 15 pm_lsu_flush, LSU Flush Events
+event:0X0F0 counters:0 um:zero minimum:1000 name:PM_LSU0_FLUSH_LRQ_GRP15 : (Group 15 pm_lsu_flush) LSU0 LRQ flushes
+event:0X0F1 counters:1 um:zero minimum:1000 name:PM_LSU1_FLUSH_LRQ_GRP15 : (Group 15 pm_lsu_flush) LSU1 LRQ flushes
+event:0X0F2 counters:2 um:zero minimum:10000 name:PM_CYC_GRP15 : (Group 15 pm_lsu_flush) Processor cycles
+event:0X0F3 counters:3 um:zero minimum:10000 name:PM_CYC_GRP15 : (Group 15 pm_lsu_flush) Processor cycles
+event:0X0F4 counters:4 um:zero minimum:1000 name:PM_LSU0_FLUSH_SRQ_GRP15 : (Group 15 pm_lsu_flush) LSU0 SRQ flushes
+event:0X0F5 counters:5 um:zero minimum:1000 name:PM_LSU1_FLUSH_SRQ_GRP15 : (Group 15 pm_lsu_flush) LSU1 SRQ flushes
+event:0X0F6 counters:6 um:zero minimum:10000 name:PM_INST_CMPL_GRP15 : (Group 15 pm_lsu_flush) Instructions completed
+event:0X0F7 counters:7 um:zero minimum:10000 name:PM_CYC_GRP15 : (Group 15 pm_lsu_flush) Processor cycles
+
+#Group 16 pm_lsu_load1, LSU Load Events
+event:0X100 counters:0 um:zero minimum:1000 name:PM_LSU0_FLUSH_ULD_GRP16 : (Group 16 pm_lsu_load1) LSU0 unaligned load flushes
+event:0X101 counters:1 um:zero minimum:1000 name:PM_LSU1_FLUSH_ULD_GRP16 : (Group 16 pm_lsu_load1) LSU1 unaligned load flushes
+event:0X102 counters:2 um:zero minimum:1000 name:PM_LD_REF_L1_LSU0_GRP16 : (Group 16 pm_lsu_load1) LSU0 L1 D cache load references
+event:0X103 counters:3 um:zero minimum:1000 name:PM_LD_REF_L1_LSU1_GRP16 : (Group 16 pm_lsu_load1) LSU1 L1 D cache load references
+event:0X104 counters:4 um:zero minimum:10000 name:PM_CYC_GRP16 : (Group 16 pm_lsu_load1) Processor cycles
+event:0X105 counters:5 um:zero minimum:10000 name:PM_INST_CMPL_GRP16 : (Group 16 pm_lsu_load1) Instructions completed
+event:0X106 counters:6 um:zero minimum:1000 name:PM_LD_MISS_L1_LSU0_GRP16 : (Group 16 pm_lsu_load1) LSU0 L1 D cache load misses
+event:0X107 counters:7 um:zero minimum:1000 name:PM_LD_MISS_L1_LSU1_GRP16 : (Group 16 pm_lsu_load1) LSU1 L1 D cache load misses
+
+#Group 17 pm_lsu_store1, LSU Store Events
+event:0X110 counters:0 um:zero minimum:1000 name:PM_LSU0_FLUSH_UST_GRP17 : (Group 17 pm_lsu_store1) LSU0 unaligned store flushes
+event:0X111 counters:1 um:zero minimum:1000 name:PM_LSU1_FLUSH_UST_GRP17 : (Group 17 pm_lsu_store1) LSU1 unaligned store flushes
+event:0X112 counters:2 um:zero minimum:1000 name:PM_ST_REF_L1_LSU0_GRP17 : (Group 17 pm_lsu_store1) LSU0 L1 D cache store references
+event:0X113 counters:3 um:zero minimum:1000 name:PM_ST_REF_L1_LSU1_GRP17 : (Group 17 pm_lsu_store1) LSU1 L1 D cache store references
+event:0X114 counters:4 um:zero minimum:10000 name:PM_CYC_GRP17 : (Group 17 pm_lsu_store1) Processor cycles
+event:0X115 counters:5 um:zero minimum:10000 name:PM_INST_CMPL_GRP17 : (Group 17 pm_lsu_store1) Instructions completed
+event:0X116 counters:6 um:zero minimum:1000 name:PM_ST_MISS_L1_GRP17 : (Group 17 pm_lsu_store1) L1 D cache store misses
+event:0X117 counters:7 um:zero minimum:1000 name:PM_DC_INV_L2_GRP17 : (Group 17 pm_lsu_store1) L1 D cache entries invalidated from L2
+
+#Group 18 pm_lsu_store2, LSU Store Events
+event:0X120 counters:0 um:zero minimum:1000 name:PM_LSU0_SRQ_STFWD_GRP18 : (Group 18 pm_lsu_store2) LSU0 SRQ store forwarded
+event:0X121 counters:1 um:zero minimum:1000 name:PM_LSU1_SRQ_STFWD_GRP18 : (Group 18 pm_lsu_store2) LSU1 SRQ store forwarded
+event:0X122 counters:2 um:zero minimum:1000 name:PM_ST_REF_L1_LSU0_GRP18 : (Group 18 pm_lsu_store2) LSU0 L1 D cache store references
+event:0X123 counters:3 um:zero minimum:1000 name:PM_ST_REF_L1_LSU1_GRP18 : (Group 18 pm_lsu_store2) LSU1 L1 D cache store references
+event:0X124 counters:4 um:zero minimum:1000 name:PM_LSU0_BUSY_GRP18 : (Group 18 pm_lsu_store2) LSU0 busy
+event:0X125 counters:5 um:zero minimum:10000 name:PM_CYC_GRP18 : (Group 18 pm_lsu_store2) Processor cycles
+event:0X126 counters:6 um:zero minimum:10000 name:PM_INST_CMPL_GRP18 : (Group 18 pm_lsu_store2) Instructions completed
+event:0X127 counters:7 um:zero minimum:10000 name:PM_CYC_GRP18 : (Group 18 pm_lsu_store2) Processor cycles
+
+#Group 19 pm_lsu7, Information on the Load Store Unit
+event:0X130 counters:0 um:zero minimum:1000 name:PM_LSU0_DERAT_MISS_GRP19 : (Group 19 pm_lsu7) LSU0 DERAT misses
+event:0X131 counters:1 um:zero minimum:1000 name:PM_LSU1_DERAT_MISS_GRP19 : (Group 19 pm_lsu7) LSU1 DERAT misses
+event:0X132 counters:2 um:zero minimum:10000 name:PM_CYC_GRP19 : (Group 19 pm_lsu7) Processor cycles
+event:0X133 counters:3 um:zero minimum:10000 name:PM_CYC_GRP19 : (Group 19 pm_lsu7) Processor cycles
+event:0X134 counters:4 um:zero minimum:10000 name:PM_INST_CMPL_GRP19 : (Group 19 pm_lsu7) Instructions completed
+event:0X135 counters:5 um:zero minimum:10000 name:PM_CYC_GRP19 : (Group 19 pm_lsu7) Processor cycles
+event:0X136 counters:6 um:zero minimum:1000 name:PM_L1_DCACHE_RELOAD_VALID_GRP19 : (Group 19 pm_lsu7) L1 reload data source valid
+event:0X137 counters:7 um:zero minimum:10000 name:PM_CYC_GRP19 : (Group 19 pm_lsu7) Processor cycles
+
+#Group 20 pm_misc, Misc Events for testing
+event:0X140 counters:0 um:zero minimum:1000 name:PM_GCT_EMPTY_CYC_GRP20 : (Group 20 pm_misc) Cycles GCT empty
+event:0X141 counters:1 um:zero minimum:1000 name:PM_LSU_LMQ_SRQ_EMPTY_CYC_GRP20 : (Group 20 pm_misc) Cycles LMQ and SRQ empty
+event:0X142 counters:2 um:zero minimum:1000 name:PM_HV_CYC_GRP20 : (Group 20 pm_misc) Hypervisor Cycles
+event:0X143 counters:3 um:zero minimum:10000 name:PM_CYC_GRP20 : (Group 20 pm_misc) Processor cycles
+event:0X144 counters:4 um:zero minimum:1000 name:PM_1PLUS_PPC_CMPL_GRP20 : (Group 20 pm_misc) One or more PPC instruction completed
+event:0X145 counters:5 um:zero minimum:10000 name:PM_INST_CMPL_GRP20 : (Group 20 pm_misc) Instructions completed
+event:0X146 counters:6 um:zero minimum:1000 name:PM_GRP_CMPL_GRP20 : (Group 20 pm_misc) Group completed
+event:0X147 counters:7 um:zero minimum:1000 name:PM_TB_BIT_TRANS_GRP20 : (Group 20 pm_misc) Time Base bit transition
+
+#Group 21 pm_pe_bench1, PE Benchmarker group for FP analysis
+event:0X150 counters:0 um:zero minimum:1000 name:PM_FPU_FDIV_GRP21 : (Group 21 pm_pe_bench1) FPU executed FDIV instruction
+event:0X151 counters:1 um:zero minimum:1000 name:PM_FPU_FMA_GRP21 : (Group 21 pm_pe_bench1) FPU executed multiply-add instruction
+event:0X152 counters:2 um:zero minimum:1000 name:PM_FXU_FIN_GRP21 : (Group 21 pm_pe_bench1) FXU produced a result
+event:0X153 counters:3 um:zero minimum:1000 name:PM_FPU_FIN_GRP21 : (Group 21 pm_pe_bench1) FPU produced a result
+event:0X154 counters:4 um:zero minimum:10000 name:PM_CYC_GRP21 : (Group 21 pm_pe_bench1) Processor cycles
+event:0X155 counters:5 um:zero minimum:1000 name:PM_FPU_FSQRT_GRP21 : (Group 21 pm_pe_bench1) FPU executed FSQRT instruction
+event:0X156 counters:6 um:zero minimum:10000 name:PM_INST_CMPL_GRP21 : (Group 21 pm_pe_bench1) Instructions completed
+event:0X157 counters:7 um:zero minimum:1000 name:PM_FPU_FMOV_FEST_GRP21 : (Group 21 pm_pe_bench1) FPU executing FMOV or FEST instructions
+
+#Group 22 pm_pe_bench4, PE Benchmarker group for L1 and TLB
+event:0X160 counters:0 um:zero minimum:1000 name:PM_DTLB_MISS_GRP22 : (Group 22 pm_pe_bench4) Data TLB misses
+event:0X161 counters:1 um:zero minimum:1000 name:PM_ITLB_MISS_GRP22 : (Group 22 pm_pe_bench4) Instruction TLB misses
+event:0X162 counters:2 um:zero minimum:1000 name:PM_LD_MISS_L1_GRP22 : (Group 22 pm_pe_bench4) L1 D cache load misses
+event:0X163 counters:3 um:zero minimum:1000 name:PM_ST_MISS_L1_GRP22 : (Group 22 pm_pe_bench4) L1 D cache store misses
+event:0X164 counters:4 um:zero minimum:10000 name:PM_CYC_GRP22 : (Group 22 pm_pe_bench4) Processor cycles
+event:0X165 counters:5 um:zero minimum:10000 name:PM_INST_CMPL_GRP22 : (Group 22 pm_pe_bench4) Instructions completed
+event:0X166 counters:6 um:zero minimum:1000 name:PM_ST_REF_L1_GRP22 : (Group 22 pm_pe_bench4) L1 D cache store references
+event:0X167 counters:7 um:zero minimum:1000 name:PM_LD_REF_L1_GRP22 : (Group 22 pm_pe_bench4) L1 D cache load references
+
+#Group 23 pm_hpmcount1, Hpmcount group for L1 and TLB behavior
+event:0X170 counters:0 um:zero minimum:1000 name:PM_DTLB_MISS_GRP23 : (Group 23 pm_hpmcount1) Data TLB misses
+event:0X171 counters:1 um:zero minimum:1000 name:PM_LSU_LMQ_SRQ_EMPTY_CYC_GRP23 : (Group 23 pm_hpmcount1) Cycles LMQ and SRQ empty
+event:0X172 counters:2 um:zero minimum:1000 name:PM_LD_MISS_L1_GRP23 : (Group 23 pm_hpmcount1) L1 D cache load misses
+event:0X173 counters:3 um:zero minimum:1000 name:PM_ST_MISS_L1_GRP23 : (Group 23 pm_hpmcount1) L1 D cache store misses
+event:0X174 counters:4 um:zero minimum:10000 name:PM_CYC_GRP23 : (Group 23 pm_hpmcount1) Processor cycles
+event:0X175 counters:5 um:zero minimum:10000 name:PM_INST_CMPL_GRP23 : (Group 23 pm_hpmcount1) Instructions completed
+event:0X176 counters:6 um:zero minimum:1000 name:PM_ST_REF_L1_GRP23 : (Group 23 pm_hpmcount1) L1 D cache store references
+event:0X177 counters:7 um:zero minimum:1000 name:PM_LD_REF_L1_GRP23 : (Group 23 pm_hpmcount1) L1 D cache load references
+
+#Group 24 pm_hpmcount2, Hpmcount group for computation
+event:0X180 counters:0 um:zero minimum:1000 name:PM_FPU_FDIV_GRP24 : (Group 24 pm_hpmcount2) FPU executed FDIV instruction
+event:0X181 counters:1 um:zero minimum:1000 name:PM_FPU_FMA_GRP24 : (Group 24 pm_hpmcount2) FPU executed multiply-add instruction
+event:0X182 counters:2 um:zero minimum:1000 name:PM_FPU0_FIN_GRP24 : (Group 24 pm_hpmcount2) FPU0 produced a result
+event:0X183 counters:3 um:zero minimum:1000 name:PM_FPU1_FIN_GRP24 : (Group 24 pm_hpmcount2) FPU1 produced a result
+event:0X184 counters:4 um:zero minimum:10000 name:PM_CYC_GRP24 : (Group 24 pm_hpmcount2) Processor cycles
+event:0X185 counters:5 um:zero minimum:1000 name:PM_FPU_STF_GRP24 : (Group 24 pm_hpmcount2) FPU executed store instruction
+event:0X186 counters:6 um:zero minimum:10000 name:PM_INST_CMPL_GRP24 : (Group 24 pm_hpmcount2) Instructions completed
+event:0X187 counters:7 um:zero minimum:1000 name:PM_LSU_LDF_GRP24 : (Group 24 pm_hpmcount2) LSU executed Floating Point load instruction
+
+#Group 25 pm_l1andbr, L1 misses and branch misspredict analysis
+event:0X190 counters:0 um:zero minimum:10000 name:PM_INST_CMPL_GRP25 : (Group 25 pm_l1andbr) Instructions completed
+event:0X191 counters:1 um:zero minimum:10000 name:PM_CYC_GRP25 : (Group 25 pm_l1andbr) Processor cycles
+event:0X192 counters:2 um:zero minimum:1000 name:PM_LD_MISS_L1_GRP25 : (Group 25 pm_l1andbr) L1 D cache load misses
+event:0X193 counters:3 um:zero minimum:1000 name:PM_BR_ISSUED_GRP25 : (Group 25 pm_l1andbr) Branches issued
+event:0X194 counters:4 um:zero minimum:1000 name:PM_LSU0_BUSY_GRP25 : (Group 25 pm_l1andbr) LSU0 busy
+event:0X195 counters:5 um:zero minimum:10000 name:PM_CYC_GRP25 : (Group 25 pm_l1andbr) Processor cycles
+event:0X196 counters:6 um:zero minimum:1000 name:PM_BR_MPRED_CR_GRP25 : (Group 25 pm_l1andbr) Branch mispredictions due to CR bit setting
+event:0X197 counters:7 um:zero minimum:1000 name:PM_BR_MPRED_TA_GRP25 : (Group 25 pm_l1andbr) Branch mispredictions due to target address
+
+#Group 26 pm_imix, Instruction mix: loads, stores and branches
+event:0X1A0 counters:0 um:zero minimum:10000 name:PM_INST_CMPL_GRP26 : (Group 26 pm_imix) Instructions completed
+event:0X1A1 counters:1 um:zero minimum:10000 name:PM_CYC_GRP26 : (Group 26 pm_imix) Processor cycles
+event:0X1A2 counters:2 um:zero minimum:1000 name:PM_LD_MISS_L1_GRP26 : (Group 26 pm_imix) L1 D cache load misses
+event:0X1A3 counters:3 um:zero minimum:1000 name:PM_BR_ISSUED_GRP26 : (Group 26 pm_imix) Branches issued
+event:0X1A4 counters:4 um:zero minimum:10000 name:PM_CYC_GRP26 : (Group 26 pm_imix) Processor cycles
+event:0X1A5 counters:5 um:zero minimum:1000 name:PM_LSU0_BUSY_GRP26 : (Group 26 pm_imix) LSU0 busy
+event:0X1A6 counters:6 um:zero minimum:1000 name:PM_ST_REF_L1_GRP26 : (Group 26 pm_imix) L1 D cache store references
+event:0X1A7 counters:7 um:zero minimum:1000 name:PM_LD_REF_L1_GRP26 : (Group 26 pm_imix) L1 D cache load references
+
+#Group 27 pm_branch, SLB and branch misspredict analysis
+event:0X1B0 counters:0 um:zero minimum:10000 name:PM_RUN_CYC_GRP27 : (Group 27 pm_branch) Run cycles
+event:0X1B1 counters:1 um:zero minimum:1000 name:PM_DSLB_MISS_GRP27 : (Group 27 pm_branch) Data SLB misses
+event:0X1B2 counters:2 um:zero minimum:1000 name:PM_BR_ISSUED_GRP27 : (Group 27 pm_branch) Branches issued
+event:0X1B3 counters:3 um:zero minimum:1000 name:PM_BR_MPRED_CR_GRP27 : (Group 27 pm_branch) Branch mispredictions due to CR bit setting
+event:0X1B4 counters:4 um:zero minimum:1000 name:PM_ISLB_MISS_GRP27 : (Group 27 pm_branch) Instruction SLB misses
+event:0X1B5 counters:5 um:zero minimum:10000 name:PM_CYC_GRP27 : (Group 27 pm_branch) Processor cycles
+event:0X1B6 counters:6 um:zero minimum:10000 name:PM_INST_CMPL_GRP27 : (Group 27 pm_branch) Instructions completed
+event:0X1B7 counters:7 um:zero minimum:1000 name:PM_BR_MPRED_TA_GRP27 : (Group 27 pm_branch) Branch mispredictions due to target address
+
+#Group 28 pm_data, data source and LMQ
+event:0X1C0 counters:0 um:zero minimum:1000 name:PM_DATA_FROM_L2_GRP28 : (Group 28 pm_data) Data loaded from L2
+event:0X1C1 counters:1 um:zero minimum:10000 name:PM_INST_CMPL_GRP28 : (Group 28 pm_data) Instructions completed
+event:0X1C2 counters:2 um:zero minimum:1000 name:PM_DATA_FROM_MEM_GRP28 : (Group 28 pm_data) Data loaded from memory
+event:0X1C3 counters:3 um:zero minimum:10000 name:PM_CYC_GRP28 : (Group 28 pm_data) Processor cycles
+event:0X1C4 counters:4 um:zero minimum:10000 name:PM_INST_CMPL_GRP28 : (Group 28 pm_data) Instructions completed
+event:0X1C5 counters:5 um:zero minimum:10000 name:PM_CYC_GRP28 : (Group 28 pm_data) Processor cycles
+event:0X1C6 counters:6 um:zero minimum:1000 name:PM_LSU_LMQ_S0_ALLOC_GRP28 : (Group 28 pm_data) LMQ slot 0 allocated
+event:0X1C7 counters:7 um:zero minimum:1000 name:PM_LSU_LMQ_S0_VALID_GRP28 : (Group 28 pm_data) LMQ slot 0 valid
+
+#Group 29 pm_tlb, TLB and LRQ plus data prefetch
+event:0X1D0 counters:0 um:zero minimum:1000 name:PM_DTLB_MISS_GRP29 : (Group 29 pm_tlb) Data TLB misses
+event:0X1D1 counters:1 um:zero minimum:1000 name:PM_ITLB_MISS_GRP29 : (Group 29 pm_tlb) Instruction TLB misses
+event:0X1D2 counters:2 um:zero minimum:10000 name:PM_INST_CMPL_GRP29 : (Group 29 pm_tlb) Instructions completed
+event:0X1D3 counters:3 um:zero minimum:10000 name:PM_CYC_GRP29 : (Group 29 pm_tlb) Processor cycles
+event:0X1D4 counters:4 um:zero minimum:1000 name:PM_LSU_LRQ_S0_ALLOC_GRP29 : (Group 29 pm_tlb) LRQ slot 0 allocated
+event:0X1D5 counters:5 um:zero minimum:1000 name:PM_LSU_LRQ_S0_VALID_GRP29 : (Group 29 pm_tlb) LRQ slot 0 valid
+event:0X1D6 counters:6 um:zero minimum:1000 name:PM_L1_PREF_GRP29 : (Group 29 pm_tlb) L1 cache data prefetches
+event:0X1D7 counters:7 um:zero minimum:1000 name:PM_L2_PREF_GRP29 : (Group 29 pm_tlb) L2 cache prefetches
+
+#Group 30 pm_isource, inst source and tablewalk
+event:0X1E0 counters:0 um:zero minimum:1000 name:PM_INST_FROM_L2_GRP30 : (Group 30 pm_isource) Instructions fetched from L2
+event:0X1E1 counters:1 um:zero minimum:1000 name:PM_INST_FROM_MEM_GRP30 : (Group 30 pm_isource) Instruction fetched from memory
+event:0X1E2 counters:2 um:zero minimum:1000 name:PM_HV_CYC_GRP30 : (Group 30 pm_isource) Hypervisor Cycles
+event:0X1E3 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP30 : (Group 30 pm_isource) Instructions completed
+event:0X1E4 counters:4 um:zero minimum:1000 name:PM_DATA_TABLEWALK_CYC_GRP30 : (Group 30 pm_isource) Cycles doing data tablewalks
+event:0X1E5 counters:5 um:zero minimum:10000 name:PM_CYC_GRP30 : (Group 30 pm_isource) Processor cycles
+event:0X1E6 counters:6 um:zero minimum:1000 name:PM_GRP_CMPL_GRP30 : (Group 30 pm_isource) Group completed
+event:0X1E7 counters:7 um:zero minimum:1000 name:PM_DC_INV_L2_GRP30 : (Group 30 pm_isource) L1 D cache entries invalidated from L2
+
+#Group 31 pm_sync, Sync and SRQ
+event:0X1F0 counters:0 um:zero minimum:1000 name:PM_LSU_SRQ_S0_ALLOC_GRP31 : (Group 31 pm_sync) SRQ slot 0 allocated
+event:0X1F1 counters:1 um:zero minimum:1000 name:PM_LSU_SRQ_S0_VALID_GRP31 : (Group 31 pm_sync) SRQ slot 0 valid
+event:0X1F2 counters:2 um:zero minimum:1000 name:PM_LD_MISS_L1_GRP31 : (Group 31 pm_sync) L1 D cache load misses
+event:0X1F3 counters:3 um:zero minimum:1000 name:PM_LSU_SRQ_SYNC_CYC_GRP31 : (Group 31 pm_sync) SRQ sync duration
+event:0X1F4 counters:4 um:zero minimum:10000 name:PM_INST_CMPL_GRP31 : (Group 31 pm_sync) Instructions completed
+event:0X1F5 counters:5 um:zero minimum:10000 name:PM_INST_CMPL_GRP31 : (Group 31 pm_sync) Instructions completed
+event:0X1F6 counters:6 um:zero minimum:10000 name:PM_CYC_GRP31 : (Group 31 pm_sync) Processor cycles
+event:0X1F7 counters:7 um:zero minimum:1000 name:PM_LD_REF_L1_GRP31 : (Group 31 pm_sync) L1 D cache load references
+
+#Group 32 pm_ierat, IERAT
+event:0X200 counters:0 um:zero minimum:1000 name:PM_INST_FROM_L1_GRP32 : (Group 32 pm_ierat) Instruction fetched from L1
+event:0X201 counters:1 um:zero minimum:10000 name:PM_INST_CMPL_GRP32 : (Group 32 pm_ierat) Instructions completed
+event:0X202 counters:2 um:zero minimum:1000 name:PM_IERAT_XLATE_WR_GRP32 : (Group 32 pm_ierat) Translation written to ierat
+event:0X203 counters:3 um:zero minimum:10000 name:PM_CYC_GRP32 : (Group 32 pm_ierat) Processor cycles
+event:0X204 counters:4 um:zero minimum:10000 name:PM_INST_CMPL_GRP32 : (Group 32 pm_ierat) Instructions completed
+event:0X205 counters:5 um:zero minimum:10000 name:PM_CYC_GRP32 : (Group 32 pm_ierat) Processor cycles
+event:0X206 counters:6 um:zero minimum:10000 name:PM_INST_CMPL_GRP32 : (Group 32 pm_ierat) Instructions completed
+event:0X207 counters:7 um:zero minimum:10000 name:PM_CYC_GRP32 : (Group 32 pm_ierat) Processor cycles
+
+#Group 33 pm_derat, DERAT
+event:0X210 counters:0 um:zero minimum:1000 name:PM_GCT_EMPTY_CYC_GRP33 : (Group 33 pm_derat) Cycles GCT empty
+event:0X211 counters:1 um:zero minimum:1000 name:PM_GRP_DISP_VALID_GRP33 : (Group 33 pm_derat) Group dispatch valid
+event:0X212 counters:2 um:zero minimum:1000 name:PM_L1_DCACHE_RELOAD_VALID_GRP33 : (Group 33 pm_derat) L1 reload data source valid
+event:0X213 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP33 : (Group 33 pm_derat) Instructions completed
+event:0X214 counters:4 um:zero minimum:1000 name:PM_INST_DISP_GRP33 : (Group 33 pm_derat) Instructions dispatched
+event:0X215 counters:5 um:zero minimum:1000 name:PM_LSU_DERAT_MISS_GRP33 : (Group 33 pm_derat) DERAT misses
+event:0X216 counters:6 um:zero minimum:1000 name:PM_ST_REF_L1_GRP33 : (Group 33 pm_derat) L1 D cache store references
+event:0X217 counters:7 um:zero minimum:10000 name:PM_CYC_GRP33 : (Group 33 pm_derat) Processor cycles
+
+#Group 34 pm_mark1, Information on marked instructions
+event:0X220 counters:0 um:zero minimum:1000 name:PM_MRK_LD_MISS_L1_GRP34 : (Group 34 pm_mark1) Marked L1 D cache load misses
+event:0X221 counters:1 um:zero minimum:1000 name:PM_THRESH_TIMEO_GRP34 : (Group 34 pm_mark1) Threshold timeout
+event:0X222 counters:2 um:zero minimum:10000 name:PM_CYC_GRP34 : (Group 34 pm_mark1) Processor cycles
+event:0X223 counters:3 um:zero minimum:1000 name:PM_MRK_GRP_CMPL_GRP34 : (Group 34 pm_mark1) Marked group completed
+event:0X224 counters:4 um:zero minimum:1000 name:PM_GRP_MRK_GRP34 : (Group 34 pm_mark1) Group marked in IDU
+event:0X225 counters:5 um:zero minimum:1000 name:PM_MRK_GRP_ISSUED_GRP34 : (Group 34 pm_mark1) Marked group issued
+event:0X226 counters:6 um:zero minimum:1000 name:PM_MRK_INST_FIN_GRP34 : (Group 34 pm_mark1) Marked instruction finished
+event:0X227 counters:7 um:zero minimum:10000 name:PM_INST_CMPL_GRP34 : (Group 34 pm_mark1) Instructions completed
+
+#Group 35 pm_mark2, Marked Instructions Processing Flow
+event:0X230 counters:0 um:zero minimum:1000 name:PM_MRK_GRP_DISP_GRP35 : (Group 35 pm_mark2) Marked group dispatched
+event:0X231 counters:1 um:zero minimum:1000 name:PM_MRK_BRU_FIN_GRP35 : (Group 35 pm_mark2) Marked instruction BRU processing finished
+event:0X232 counters:2 um:zero minimum:10000 name:PM_CYC_GRP35 : (Group 35 pm_mark2) Processor cycles
+event:0X233 counters:3 um:zero minimum:1000 name:PM_MRK_CRU_FIN_GRP35 : (Group 35 pm_mark2) Marked instruction CRU processing finished
+event:0X234 counters:4 um:zero minimum:1000 name:PM_GRP_MRK_GRP35 : (Group 35 pm_mark2) Group marked in IDU
+event:0X235 counters:5 um:zero minimum:1000 name:PM_MRK_FXU_FIN_GRP35 : (Group 35 pm_mark2) Marked instruction FXU processing finished
+event:0X236 counters:6 um:zero minimum:1000 name:PM_MRK_FPU_FIN_GRP35 : (Group 35 pm_mark2) Marked instruction FPU processing finished
+event:0X237 counters:7 um:zero minimum:1000 name:PM_MRK_LSU_FIN_GRP35 : (Group 35 pm_mark2) Marked instruction LSU processing finished
+
+#Group 36 pm_mark3, Marked Stores Processing Flow
+event:0X240 counters:0 um:zero minimum:1000 name:PM_MRK_ST_CMPL_GRP36 : (Group 36 pm_mark3) Marked store instruction completed
+event:0X241 counters:1 um:zero minimum:10000 name:PM_CYC_GRP36 : (Group 36 pm_mark3) Processor cycles
+event:0X242 counters:2 um:zero minimum:1000 name:PM_MRK_ST_CMPL_INT_GRP36 : (Group 36 pm_mark3) Marked store completed with intervention
+event:0X243 counters:3 um:zero minimum:1000 name:PM_MRK_GRP_CMPL_GRP36 : (Group 36 pm_mark3) Marked group completed
+event:0X244 counters:4 um:zero minimum:1000 name:PM_MRK_GRP_TIMEO_GRP36 : (Group 36 pm_mark3) Marked group completion timeout
+event:0X245 counters:5 um:zero minimum:1000 name:PM_MRK_ST_GPS_GRP36 : (Group 36 pm_mark3) Marked store sent to GPS
+event:0X246 counters:6 um:zero minimum:1000 name:PM_MRK_LSU_SRQ_INST_VALID_GRP36 : (Group 36 pm_mark3) Marked instruction valid in SRQ
+event:0X247 counters:7 um:zero minimum:10000 name:PM_INST_CMPL_GRP36 : (Group 36 pm_mark3) Instructions completed
+
+#Group 37 pm_lsu_mark1, Load Store Unit Marked Events
+event:0X250 counters:0 um:zero minimum:1000 name:PM_MRK_ST_MISS_L1_GRP37 : (Group 37 pm_lsu_mark1) Marked L1 D cache store misses
+event:0X251 counters:1 um:zero minimum:1000 name:PM_MRK_IMR_RELOAD_GRP37 : (Group 37 pm_lsu_mark1) Marked IMR reloaded
+event:0X252 counters:2 um:zero minimum:1000 name:PM_MRK_LSU0_FLUSH_UST_GRP37 : (Group 37 pm_lsu_mark1) LSU0 marked unaligned store flushes
+event:0X253 counters:3 um:zero minimum:1000 name:PM_MRK_LSU1_FLUSH_UST_GRP37 : (Group 37 pm_lsu_mark1) LSU1 marked unaligned store flushes
+event:0X254 counters:4 um:zero minimum:10000 name:PM_CYC_GRP37 : (Group 37 pm_lsu_mark1) Processor cycles
+event:0X255 counters:5 um:zero minimum:10000 name:PM_INST_CMPL_GRP37 : (Group 37 pm_lsu_mark1) Instructions completed
+event:0X256 counters:6 um:zero minimum:1000 name:PM_MRK_LSU0_FLUSH_ULD_GRP37 : (Group 37 pm_lsu_mark1) LSU0 marked unaligned load flushes
+event:0X257 counters:7 um:zero minimum:1000 name:PM_MRK_LSU1_FLUSH_ULD_GRP37 : (Group 37 pm_lsu_mark1) LSU1 marked unaligned load flushes
+
+#Group 38 pm_lsu_mark2, Load Store Unit Marked Events
+event:0X260 counters:0 um:zero minimum:1000 name:PM_MRK_LD_MISS_L1_LSU0_GRP38 : (Group 38 pm_lsu_mark2) LSU0 L1 D cache load misses
+event:0X261 counters:1 um:zero minimum:1000 name:PM_MRK_LD_MISS_L1_LSU1_GRP38 : (Group 38 pm_lsu_mark2) LSU1 L1 D cache load misses
+event:0X262 counters:2 um:zero minimum:1000 name:PM_MRK_LSU0_FLUSH_LRQ_GRP38 : (Group 38 pm_lsu_mark2) LSU0 marked LRQ flushes
+event:0X263 counters:3 um:zero minimum:1000 name:PM_MRK_LSU1_FLUSH_LRQ_GRP38 : (Group 38 pm_lsu_mark2) LSU1 marked LRQ flushes
+event:0X264 counters:4 um:zero minimum:10000 name:PM_CYC_GRP38 : (Group 38 pm_lsu_mark2) Processor cycles
+event:0X265 counters:5 um:zero minimum:10000 name:PM_INST_CMPL_GRP38 : (Group 38 pm_lsu_mark2) Instructions completed
+event:0X266 counters:6 um:zero minimum:1000 name:PM_MRK_LSU0_FLUSH_SRQ_GRP38 : (Group 38 pm_lsu_mark2) LSU0 marked SRQ flushes
+event:0X267 counters:7 um:zero minimum:1000 name:PM_MRK_LSU1_FLUSH_SRQ_GRP38 : (Group 38 pm_lsu_mark2) LSU1 marked SRQ flushes
+
+#Group 39 pm_fxu1, Fixed Point events by unit
+event:0X270 counters:0 um:zero minimum:10000 name:PM_INST_CMPL_GRP39 : (Group 39 pm_fxu1) Instructions completed
+event:0X271 counters:1 um:zero minimum:10000 name:PM_INST_CMPL_GRP39 : (Group 39 pm_fxu1) Instructions completed
+event:0X272 counters:2 um:zero minimum:1000 name:PM_FXU_FIN_GRP39 : (Group 39 pm_fxu1) FXU produced a result
+event:0X273 counters:3 um:zero minimum:1000 name:PM_FXU1_BUSY_FXU0_IDLE_GRP39 : (Group 39 pm_fxu1) FXU1 busy FXU0 idle
+event:0X274 counters:4 um:zero minimum:1000 name:PM_FXU_IDLE_GRP39 : (Group 39 pm_fxu1) FXU idle
+event:0X275 counters:5 um:zero minimum:1000 name:PM_FXU_BUSY_GRP39 : (Group 39 pm_fxu1) FXU busy
+event:0X276 counters:6 um:zero minimum:1000 name:PM_FXU0_BUSY_FXU1_IDLE_GRP39 : (Group 39 pm_fxu1) FXU0 busy FXU1 idle
+event:0X277 counters:7 um:zero minimum:10000 name:PM_CYC_GRP39 : (Group 39 pm_fxu1) Processor cycles
+
+#Group 40 pm_fxu2, Fixed Point events by unit
+event:0X280 counters:0 um:zero minimum:10000 name:PM_INST_CMPL_GRP40 : (Group 40 pm_fxu2) Instructions completed
+event:0X281 counters:1 um:zero minimum:10000 name:PM_CYC_GRP40 : (Group 40 pm_fxu2) Processor cycles
+event:0X282 counters:2 um:zero minimum:1000 name:PM_FXLS1_FULL_CYC_GRP40 : (Group 40 pm_fxu2) Cycles FXU1/LS1 queue full
+event:0X283 counters:3 um:zero minimum:1000 name:PM_FXLS0_FULL_CYC_GRP40 : (Group 40 pm_fxu2) Cycles FXU0/LS0 queue full
+event:0X284 counters:4 um:zero minimum:1000 name:PM_FXU_IDLE_GRP40 : (Group 40 pm_fxu2) FXU idle
+event:0X285 counters:5 um:zero minimum:1000 name:PM_FXU_BUSY_GRP40 : (Group 40 pm_fxu2) FXU busy
+event:0X286 counters:6 um:zero minimum:1000 name:PM_FXU0_FIN_GRP40 : (Group 40 pm_fxu2) FXU0 produced a result
+event:0X287 counters:7 um:zero minimum:1000 name:PM_FXU1_FIN_GRP40 : (Group 40 pm_fxu2) FXU1 produced a result
+
+#Group 41 pm_ifu, pm_ifu
+event:0X290 counters:0 um:zero minimum:1000 name:PM_INST_FROM_L1_GRP41 : (Group 41 pm_ifu) Instruction fetched from L1
+event:0X291 counters:1 um:zero minimum:1000 name:PM_INST_FROM_MEM_GRP41 : (Group 41 pm_ifu) Instruction fetched from memory
+event:0X292 counters:2 um:zero minimum:1000 name:PM_INST_FROM_PREF_GRP41 : (Group 41 pm_ifu) Instructions fetched from prefetch
+event:0X293 counters:3 um:zero minimum:1000 name:PM_0INST_FETCH_GRP41 : (Group 41 pm_ifu) No instructions fetched
+event:0X294 counters:4 um:zero minimum:1000 name:PM_INST_FETCH_CYC_GRP41 : (Group 41 pm_ifu) Cycles at least 1 instruction fetched
+event:0X295 counters:5 um:zero minimum:1000 name:PM_INST_FROM_L25_MOD_GRP41 : (Group 41 pm_ifu) Instruction fetched from L2.5 modified
+event:0X296 counters:6 um:zero minimum:10000 name:PM_CYC_GRP41 : (Group 41 pm_ifu) Processor cycles
+event:0X297 counters:7 um:zero minimum:10000 name:PM_INST_CMPL_GRP41 : (Group 41 pm_ifu) Instructions completed
+
+#Group 42 pm_cpi_stack1, CPI stack analysis
+event:0X2A0 counters:0 um:zero minimum:1000 name:PM_LSU0_BUSY_GRP42 : (Group 42 pm_cpi_stack1) LSU0 busy
+event:0X2A1 counters:1 um:zero minimum:1000 name:PM_LSU1_BUSY_GRP42 : (Group 42 pm_cpi_stack1) LSU1 busy
+event:0X2A2 counters:2 um:zero minimum:1000 name:PM_LSU_FLUSH_GRP42 : (Group 42 pm_cpi_stack1) Flush initiated by LSU
+event:0X2A3 counters:3 um:zero minimum:1000 name:PM_FLUSH_LSU_BR_MPRED_GRP42 : (Group 42 pm_cpi_stack1) Flush caused by LSU or branch mispredict
+event:0X2A4 counters:4 um:zero minimum:1000 name:PM_CMPLU_STALL_LSU_GRP42 : (Group 42 pm_cpi_stack1) Completion stall caused by LSU instruction
+event:0X2A5 counters:5 um:zero minimum:10000 name:PM_INST_CMPL_GRP42 : (Group 42 pm_cpi_stack1) Instructions completed
+event:0X2A6 counters:6 um:zero minimum:1000 name:PM_CMPLU_STALL_ERAT_MISS_GRP42 : (Group 42 pm_cpi_stack1) Completion stall caused by ERAT miss
+event:0X2A7 counters:7 um:zero minimum:10000 name:PM_CYC_GRP42 : (Group 42 pm_cpi_stack1) Processor cycles
+
+#Group 43 pm_cpi_stack2, CPI stack analysis
+event:0X2B0 counters:0 um:zero minimum:1000 name:PM_CMPLU_STALL_OTHER_GRP43 : (Group 43 pm_cpi_stack2) Completion stall caused by other reason
+event:0X2B1 counters:1 um:zero minimum:10000 name:PM_INST_CMPL_GRP43 : (Group 43 pm_cpi_stack2) Instructions completed
+event:0X2B2 counters:2 um:zero minimum:1000 name:PM_LD_MISS_L1_GRP43 : (Group 43 pm_cpi_stack2) L1 D cache load misses
+event:0X2B3 counters:3 um:zero minimum:10000 name:PM_CYC_GRP43 : (Group 43 pm_cpi_stack2) Processor cycles
+event:0X2B4 counters:4 um:zero minimum:1000 name:PM_CMPLU_STALL_DCACHE_MISS_GRP43 : (Group 43 pm_cpi_stack2) Completion stall caused by D cache miss
+event:0X2B5 counters:5 um:zero minimum:1000 name:PM_LSU_DERAT_MISS_GRP43 : (Group 43 pm_cpi_stack2) DERAT misses
+event:0X2B6 counters:6 um:zero minimum:1000 name:PM_CMPLU_STALL_REJECT_GRP43 : (Group 43 pm_cpi_stack2) Completion stall caused by reject
+event:0X2B7 counters:7 um:zero minimum:1000 name:PM_LD_REF_L1_GRP43 : (Group 43 pm_cpi_stack2) L1 D cache load references
+
+#Group 44 pm_cpi_stack3, CPI stack analysis
+event:0X2C0 counters:0 um:zero minimum:10000 name:PM_INST_CMPL_GRP44 : (Group 44 pm_cpi_stack3) Instructions completed
+event:0X2C1 counters:1 um:zero minimum:1000 name:PM_GCT_EMPTY_SRQ_FULL_GRP44 : (Group 44 pm_cpi_stack3) GCT empty caused by SRQ full
+event:0X2C2 counters:2 um:zero minimum:1000 name:PM_FXU_FIN_GRP44 : (Group 44 pm_cpi_stack3) FXU produced a result
+event:0X2C3 counters:3 um:zero minimum:1000 name:PM_FPU_FIN_GRP44 : (Group 44 pm_cpi_stack3) FPU produced a result
+event:0X2C4 counters:4 um:zero minimum:1000 name:PM_CMPLU_STALL_FXU_GRP44 : (Group 44 pm_cpi_stack3) Completion stall caused by FXU instruction
+event:0X2C5 counters:5 um:zero minimum:1000 name:PM_FXU_BUSY_GRP44 : (Group 44 pm_cpi_stack3) FXU busy
+event:0X2C6 counters:6 um:zero minimum:1000 name:PM_CMPLU_STALL_DIV_GRP44 : (Group 44 pm_cpi_stack3) Completion stall caused by DIV instruction
+event:0X2C7 counters:7 um:zero minimum:10000 name:PM_CYC_GRP44 : (Group 44 pm_cpi_stack3) Processor cycles
+
+#Group 45 pm_cpi_stack4, CPI stack analysis
+event:0X2D0 counters:0 um:zero minimum:1000 name:PM_FPU_FDIV_GRP45 : (Group 45 pm_cpi_stack4) FPU executed FDIV instruction
+event:0X2D1 counters:1 um:zero minimum:1000 name:PM_FPU_FMA_GRP45 : (Group 45 pm_cpi_stack4) FPU executed multiply-add instruction
+event:0X2D2 counters:2 um:zero minimum:10000 name:PM_INST_CMPL_GRP45 : (Group 45 pm_cpi_stack4) Instructions completed
+event:0X2D3 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP45 : (Group 45 pm_cpi_stack4) Instructions completed
+event:0X2D4 counters:4 um:zero minimum:1000 name:PM_CMPLU_STALL_FDIV_GRP45 : (Group 45 pm_cpi_stack4) Completion stall caused by FDIV or FQRT instruction
+event:0X2D5 counters:5 um:zero minimum:1000 name:PM_FPU_FSQRT_GRP45 : (Group 45 pm_cpi_stack4) FPU executed FSQRT instruction
+event:0X2D6 counters:6 um:zero minimum:1000 name:PM_CMPLU_STALL_FPU_GRP45 : (Group 45 pm_cpi_stack4) Completion stall caused by FPU instruction
+event:0X2D7 counters:7 um:zero minimum:10000 name:PM_CYC_GRP45 : (Group 45 pm_cpi_stack4) Processor cycles
+
+#Group 46 pm_cpi_stack5, CPI stack analysis
+event:0X2E0 counters:0 um:zero minimum:1000 name:PM_GCT_EMPTY_CYC_GRP46 : (Group 46 pm_cpi_stack5) Cycles GCT empty
+event:0X2E1 counters:1 um:zero minimum:10000 name:PM_INST_CMPL_GRP46 : (Group 46 pm_cpi_stack5) Instructions completed
+event:0X2E2 counters:2 um:zero minimum:1000 name:PM_FLUSH_BR_MPRED_GRP46 : (Group 46 pm_cpi_stack5) Flush caused by branch mispredict
+event:0X2E3 counters:3 um:zero minimum:1000 name:PM_BR_MPRED_TA_GRP46 : (Group 46 pm_cpi_stack5) Branch mispredictions due to target address
+event:0X2E4 counters:4 um:zero minimum:1000 name:PM_GCT_EMPTY_IC_MISS_GRP46 : (Group 46 pm_cpi_stack5) GCT empty due to I cache miss
+event:0X2E5 counters:5 um:zero minimum:10000 name:PM_CYC_GRP46 : (Group 46 pm_cpi_stack5) Processor cycles
+event:0X2E6 counters:6 um:zero minimum:1000 name:PM_GCT_EMPTY_BR_MPRED_GRP46 : (Group 46 pm_cpi_stack5) GCT empty due to branch mispredict
+event:0X2E7 counters:7 um:zero minimum:1000 name:PM_L1_WRITE_CYC_GRP46 : (Group 46 pm_cpi_stack5) Cycles writing to instruction L1
+
+#Group 47 pm_data2, data source and LMQ
+event:0X2F0 counters:0 um:zero minimum:1000 name:PM_DATA_FROM_L25_SHR_GRP47 : (Group 47 pm_data2) Data loaded from L2.5 shared
+event:0X2F1 counters:1 um:zero minimum:10000 name:PM_INST_CMPL_GRP47 : (Group 47 pm_data2) Instructions completed
+event:0X2F2 counters:2 um:zero minimum:1000 name:PM_DATA_FROM_L25_MOD_GRP47 : (Group 47 pm_data2) Data loaded from L2.5 modified
+event:0X2F3 counters:3 um:zero minimum:10000 name:PM_CYC_GRP47 : (Group 47 pm_data2) Processor cycles
+event:0X2F4 counters:4 um:zero minimum:10000 name:PM_INST_CMPL_GRP47 : (Group 47 pm_data2) Instructions completed
+event:0X2F5 counters:5 um:zero minimum:10000 name:PM_CYC_GRP47 : (Group 47 pm_data2) Processor cycles
+event:0X2F6 counters:6 um:zero minimum:1000 name:PM_LSU_LMQ_S0_ALLOC_GRP47 : (Group 47 pm_data2) LMQ slot 0 allocated
+event:0X2F7 counters:7 um:zero minimum:1000 name:PM_LSU_LMQ_S0_VALID_GRP47 : (Group 47 pm_data2) LMQ slot 0 valid
+
+#Group 48 pm_fetch_branch, Instruction fetch and branch events
+event:0X300 counters:0 um:zero minimum:1000 name:PM_INST_FROM_L2_GRP48 : (Group 48 pm_fetch_branch) Instructions fetched from L2
+event:0X301 counters:1 um:zero minimum:1000 name:PM_INST_FROM_MEM_GRP48 : (Group 48 pm_fetch_branch) Instruction fetched from memory
+event:0X302 counters:2 um:zero minimum:1000 name:PM_INST_FROM_PREF_GRP48 : (Group 48 pm_fetch_branch) Instructions fetched from prefetch
+event:0X303 counters:3 um:zero minimum:1000 name:PM_BR_ISSUED_GRP48 : (Group 48 pm_fetch_branch) Branches issued
+event:0X304 counters:4 um:zero minimum:10000 name:PM_CYC_GRP48 : (Group 48 pm_fetch_branch) Processor cycles
+event:0X305 counters:5 um:zero minimum:10000 name:PM_INST_CMPL_GRP48 : (Group 48 pm_fetch_branch) Instructions completed
+event:0X306 counters:6 um:zero minimum:1000 name:PM_BR_MPRED_CR_GRP48 : (Group 48 pm_fetch_branch) Branch mispredictions due to CR bit setting
+event:0X307 counters:7 um:zero minimum:1000 name:PM_BR_MPRED_TA_GRP48 : (Group 48 pm_fetch_branch) Branch mispredictions due to target address
+
+#Group 49 pm_l1l2_miss, L1 and L2 miss events
+event:0X310 counters:0 um:zero minimum:1000 name:PM_DATA_FROM_L2_GRP49 : (Group 49 pm_l1l2_miss) Data loaded from L2
+event:0X311 counters:1 um:zero minimum:10000 name:PM_INST_CMPL_GRP49 : (Group 49 pm_l1l2_miss) Instructions completed
+event:0X312 counters:2 um:zero minimum:1000 name:PM_DATA_FROM_MEM_GRP49 : (Group 49 pm_l1l2_miss) Data loaded from memory
+event:0X313 counters:3 um:zero minimum:1000 name:PM_LD_MISS_L1_LSU0_GRP49 : (Group 49 pm_l1l2_miss) LSU0 L1 D cache load misses
+event:0X314 counters:4 um:zero minimum:1000 name:PM_1PLUS_PPC_CMPL_GRP49 : (Group 49 pm_l1l2_miss) One or more PPC instruction completed
+event:0X315 counters:5 um:zero minimum:10000 name:PM_CYC_GRP49 : (Group 49 pm_l1l2_miss) Processor cycles
+event:0X316 counters:6 um:zero minimum:1000 name:PM_LD_MISS_L1_LSU1_GRP49 : (Group 49 pm_l1l2_miss) LSU1 L1 D cache load misses
+event:0X317 counters:7 um:zero minimum:1000 name:PM_LD_REF_L1_GRP49 : (Group 49 pm_l1l2_miss) L1 D cache load references
diff --git a/events/ppc64/970/unit_masks b/events/ppc64/970/unit_masks
new file mode 100644
index 0000000..3aabdca
--- /dev/null
+++ b/events/ppc64/970/unit_masks
@@ -0,0 +1,4 @@
+# ppc64 970 possible unit masks
+#
+name:zero type:mandatory default:0x0
+ 0x0 No unit mask
diff --git a/events/ppc64/970MP/event_mappings b/events/ppc64/970MP/event_mappings
new file mode 100644
index 0000000..b8d8113
--- /dev/null
+++ b/events/ppc64/970MP/event_mappings
@@ -0,0 +1,519 @@
+#
+# Copyright OProfile authors
+# Copyright (c) International Business Machines, 2007.
+# Contributed by Dave Nomura <dcnltc@us.ibm.com>.
+#
+#Mapping of event groups to MMCR values
+
+#Group Default
+event:0X001 mmcr0:0X0400C51F mmcr1:0X000000000A46F18C mmcra:0X00002001
+
+#Group 1 pm_slice0, Time Slice 0
+event:0X0010 mmcr0:0X0000051F mmcr1:0X000000000A46F18C mmcra:0X00002000
+event:0X0011 mmcr0:0X0000051F mmcr1:0X000000000A46F18C mmcra:0X00002000
+event:0X0012 mmcr0:0X0000051F mmcr1:0X000000000A46F18C mmcra:0X00002000
+event:0X0013 mmcr0:0X0000051F mmcr1:0X000000000A46F18C mmcra:0X00002000
+event:0X0014 mmcr0:0X0000051F mmcr1:0X000000000A46F18C mmcra:0X00002000
+event:0X0015 mmcr0:0X0000051F mmcr1:0X000000000A46F18C mmcra:0X00002000
+event:0X0016 mmcr0:0X0000051F mmcr1:0X000000000A46F18C mmcra:0X00002000
+event:0X0017 mmcr0:0X0000051F mmcr1:0X000000000A46F18C mmcra:0X00002000
+
+#Group 2 pm_eprof, Group for use with eprof
+event:0X0020 mmcr0:0X00000F1F mmcr1:0X4003001005F09000 mmcra:0X00002000
+event:0X0021 mmcr0:0X00000F1F mmcr1:0X4003001005F09000 mmcra:0X00002000
+event:0X0022 mmcr0:0X00000F1F mmcr1:0X4003001005F09000 mmcra:0X00002000
+event:0X0023 mmcr0:0X00000F1F mmcr1:0X4003001005F09000 mmcra:0X00002000
+event:0X0024 mmcr0:0X00000F1F mmcr1:0X4003001005F09000 mmcra:0X00002000
+event:0X0025 mmcr0:0X00000F1F mmcr1:0X4003001005F09000 mmcra:0X00002000
+event:0X0026 mmcr0:0X00000F1F mmcr1:0X4003001005F09000 mmcra:0X00002000
+event:0X0027 mmcr0:0X00000F1F mmcr1:0X4003001005F09000 mmcra:0X00002000
+
+#Group 3 pm_basic, Basic performance indicators
+event:0X0030 mmcr0:0X0000091F mmcr1:0X4003001005F09000 mmcra:0X00002000
+event:0X0031 mmcr0:0X0000091F mmcr1:0X4003001005F09000 mmcra:0X00002000
+event:0X0032 mmcr0:0X0000091F mmcr1:0X4003001005F09000 mmcra:0X00002000
+event:0X0033 mmcr0:0X0000091F mmcr1:0X4003001005F09000 mmcra:0X00002000
+event:0X0034 mmcr0:0X0000091F mmcr1:0X4003001005F09000 mmcra:0X00002000
+event:0X0035 mmcr0:0X0000091F mmcr1:0X4003001005F09000 mmcra:0X00002000
+event:0X0036 mmcr0:0X0000091F mmcr1:0X4003001005F09000 mmcra:0X00002000
+event:0X0037 mmcr0:0X0000091F mmcr1:0X4003001005F09000 mmcra:0X00002000
+
+#Group 4 pm_lsu, Information on the Load Store Unit
+event:0X0040 mmcr0:0X00000001 mmcr1:0X000F00007A400000 mmcra:0X00002000
+event:0X0041 mmcr0:0X00000001 mmcr1:0X000F00007A400000 mmcra:0X00002000
+event:0X0042 mmcr0:0X00000001 mmcr1:0X000F00007A400000 mmcra:0X00002000
+event:0X0043 mmcr0:0X00000001 mmcr1:0X000F00007A400000 mmcra:0X00002000
+event:0X0044 mmcr0:0X00000001 mmcr1:0X000F00007A400000 mmcra:0X00002000
+event:0X0045 mmcr0:0X00000001 mmcr1:0X000F00007A400000 mmcra:0X00002000
+event:0X0046 mmcr0:0X00000001 mmcr1:0X000F00007A400000 mmcra:0X00002000
+event:0X0047 mmcr0:0X00000001 mmcr1:0X000F00007A400000 mmcra:0X00002000
+
+#Group 5 pm_fpu1, Floating Point events
+event:0X0050 mmcr0:0X00000001 mmcr1:0X00000000001E0480 mmcra:0X00002000
+event:0X0051 mmcr0:0X00000001 mmcr1:0X00000000001E0480 mmcra:0X00002000
+event:0X0052 mmcr0:0X00000001 mmcr1:0X00000000001E0480 mmcra:0X00002000
+event:0X0053 mmcr0:0X00000001 mmcr1:0X00000000001E0480 mmcra:0X00002000
+event:0X0054 mmcr0:0X00000001 mmcr1:0X00000000001E0480 mmcra:0X00002000
+event:0X0055 mmcr0:0X00000001 mmcr1:0X00000000001E0480 mmcra:0X00002000
+event:0X0056 mmcr0:0X00000001 mmcr1:0X00000000001E0480 mmcra:0X00002000
+event:0X0057 mmcr0:0X00000001 mmcr1:0X00000000001E0480 mmcra:0X00002000
+
+#Group 6 pm_fpu2, Floating Point events
+event:0X0060 mmcr0:0X00000001 mmcr1:0X000020E87A400000 mmcra:0X00002000
+event:0X0061 mmcr0:0X00000001 mmcr1:0X000020E87A400000 mmcra:0X00002000
+event:0X0062 mmcr0:0X00000001 mmcr1:0X000020E87A400000 mmcra:0X00002000
+event:0X0063 mmcr0:0X00000001 mmcr1:0X000020E87A400000 mmcra:0X00002000
+event:0X0064 mmcr0:0X00000001 mmcr1:0X000020E87A400000 mmcra:0X00002000
+event:0X0065 mmcr0:0X00000001 mmcr1:0X000020E87A400000 mmcra:0X00002000
+event:0X0066 mmcr0:0X00000001 mmcr1:0X000020E87A400000 mmcra:0X00002000
+event:0X0067 mmcr0:0X00000001 mmcr1:0X000020E87A400000 mmcra:0X00002000
+
+#Group 7 pm_isu_rename, ISU Rename Pool Events
+event:0X0070 mmcr0:0X00001229 mmcr1:0X400000218E6D84BC mmcra:0X00002000
+event:0X0071 mmcr0:0X00001229 mmcr1:0X400000218E6D84BC mmcra:0X00002000
+event:0X0072 mmcr0:0X00001229 mmcr1:0X400000218E6D84BC mmcra:0X00002000
+event:0X0073 mmcr0:0X00001229 mmcr1:0X400000218E6D84BC mmcra:0X00002000
+event:0X0074 mmcr0:0X00001229 mmcr1:0X400000218E6D84BC mmcra:0X00002000
+event:0X0075 mmcr0:0X00001229 mmcr1:0X400000218E6D84BC mmcra:0X00002000
+event:0X0076 mmcr0:0X00001229 mmcr1:0X400000218E6D84BC mmcra:0X00002000
+event:0X0077 mmcr0:0X00001229 mmcr1:0X400000218E6D84BC mmcra:0X00002000
+
+#Group 8 pm_isu_queues1, ISU Rename Pool Events
+event:0X0080 mmcr0:0X0000132F mmcr1:0X40000000851E994C mmcra:0X00002000
+event:0X0081 mmcr0:0X0000132F mmcr1:0X40000000851E994C mmcra:0X00002000
+event:0X0082 mmcr0:0X0000132F mmcr1:0X40000000851E994C mmcra:0X00002000
+event:0X0083 mmcr0:0X0000132F mmcr1:0X40000000851E994C mmcra:0X00002000
+event:0X0084 mmcr0:0X0000132F mmcr1:0X40000000851E994C mmcra:0X00002000
+event:0X0085 mmcr0:0X0000132F mmcr1:0X40000000851E994C mmcra:0X00002000
+event:0X0086 mmcr0:0X0000132F mmcr1:0X40000000851E994C mmcra:0X00002000
+event:0X0087 mmcr0:0X0000132F mmcr1:0X40000000851E994C mmcra:0X00002000
+
+#Group 9 pm_isu_flow, ISU Instruction Flow Events
+event:0X0090 mmcr0:0X0000181F mmcr1:0X400000B3D7B7C4BC mmcra:0X00002000
+event:0X0091 mmcr0:0X0000181F mmcr1:0X400000B3D7B7C4BC mmcra:0X00002000
+event:0X0092 mmcr0:0X0000181F mmcr1:0X400000B3D7B7C4BC mmcra:0X00002000
+event:0X0093 mmcr0:0X0000181F mmcr1:0X400000B3D7B7C4BC mmcra:0X00002000
+event:0X0094 mmcr0:0X0000181F mmcr1:0X400000B3D7B7C4BC mmcra:0X00002000
+event:0X0095 mmcr0:0X0000181F mmcr1:0X400000B3D7B7C4BC mmcra:0X00002000
+event:0X0096 mmcr0:0X0000181F mmcr1:0X400000B3D7B7C4BC mmcra:0X00002000
+event:0X0097 mmcr0:0X0000181F mmcr1:0X400000B3D7B7C4BC mmcra:0X00002000
+
+#Group 10 pm_isu_work, ISU Indicators of Work Blockage
+event:0X00A0 mmcr0:0X00000403 mmcr1:0X400000050FDE9D88 mmcra:0X00002000
+event:0X00A1 mmcr0:0X00000403 mmcr1:0X400000050FDE9D88 mmcra:0X00002000
+event:0X00A2 mmcr0:0X00000403 mmcr1:0X400000050FDE9D88 mmcra:0X00002000
+event:0X00A3 mmcr0:0X00000403 mmcr1:0X400000050FDE9D88 mmcra:0X00002000
+event:0X00A4 mmcr0:0X00000403 mmcr1:0X400000050FDE9D88 mmcra:0X00002000
+event:0X00A5 mmcr0:0X00000403 mmcr1:0X400000050FDE9D88 mmcra:0X00002000
+event:0X00A6 mmcr0:0X00000403 mmcr1:0X400000050FDE9D88 mmcra:0X00002000
+event:0X00A7 mmcr0:0X00000403 mmcr1:0X400000050FDE9D88 mmcra:0X00002000
+
+#Group 11 pm_fpu3, Floating Point events by unit
+event:0X00B0 mmcr0:0X00001029 mmcr1:0X000000008D6354BC mmcra:0X00002000
+event:0X00B1 mmcr0:0X00001029 mmcr1:0X000000008D6354BC mmcra:0X00002000
+event:0X00B2 mmcr0:0X00001029 mmcr1:0X000000008D6354BC mmcra:0X00002000
+event:0X00B3 mmcr0:0X00001029 mmcr1:0X000000008D6354BC mmcra:0X00002000
+event:0X00B4 mmcr0:0X00001029 mmcr1:0X000000008D6354BC mmcra:0X00002000
+event:0X00B5 mmcr0:0X00001029 mmcr1:0X000000008D6354BC mmcra:0X00002000
+event:0X00B6 mmcr0:0X00001029 mmcr1:0X000000008D6354BC mmcra:0X00002000
+event:0X00B7 mmcr0:0X00001029 mmcr1:0X000000008D6354BC mmcra:0X00002000
+
+#Group 12 pm_fpu4, Floating Point events by unit
+event:0X00C0 mmcr0:0X0000122D mmcr1:0X000000009DE774BC mmcra:0X00002000
+event:0X00C1 mmcr0:0X0000122D mmcr1:0X000000009DE774BC mmcra:0X00002000
+event:0X00C2 mmcr0:0X0000122D mmcr1:0X000000009DE774BC mmcra:0X00002000
+event:0X00C3 mmcr0:0X0000122D mmcr1:0X000000009DE774BC mmcra:0X00002000
+event:0X00C4 mmcr0:0X0000122D mmcr1:0X000000009DE774BC mmcra:0X00002000
+event:0X00C5 mmcr0:0X0000122D mmcr1:0X000000009DE774BC mmcra:0X00002000
+event:0X00C6 mmcr0:0X0000122D mmcr1:0X000000009DE774BC mmcra:0X00002000
+event:0X00C7 mmcr0:0X0000122D mmcr1:0X000000009DE774BC mmcra:0X00002000
+
+#Group 13 pm_fpu5, Floating Point events by unit
+event:0X00D0 mmcr0:0X00001839 mmcr1:0X000000C0851E9958 mmcra:0X00002000
+event:0X00D1 mmcr0:0X00001839 mmcr1:0X000000C0851E9958 mmcra:0X00002000
+event:0X00D2 mmcr0:0X00001839 mmcr1:0X000000C0851E9958 mmcra:0X00002000
+event:0X00D3 mmcr0:0X00001839 mmcr1:0X000000C0851E9958 mmcra:0X00002000
+event:0X00D4 mmcr0:0X00001839 mmcr1:0X000000C0851E9958 mmcra:0X00002000
+event:0X00D5 mmcr0:0X00001839 mmcr1:0X000000C0851E9958 mmcra:0X00002000
+event:0X00D6 mmcr0:0X00001839 mmcr1:0X000000C0851E9958 mmcra:0X00002000
+event:0X00D7 mmcr0:0X00001839 mmcr1:0X000000C0851E9958 mmcra:0X00002000
+
+#Group 14 pm_fpu7, Floating Point events by unit
+event:0X00E0 mmcr0:0X0000193B mmcr1:0X000000C89DDE97E0 mmcra:0X00002000
+event:0X00E1 mmcr0:0X0000193B mmcr1:0X000000C89DDE97E0 mmcra:0X00002000
+event:0X00E2 mmcr0:0X0000193B mmcr1:0X000000C89DDE97E0 mmcra:0X00002000
+event:0X00E3 mmcr0:0X0000193B mmcr1:0X000000C89DDE97E0 mmcra:0X00002000
+event:0X00E4 mmcr0:0X0000193B mmcr1:0X000000C89DDE97E0 mmcra:0X00002000
+event:0X00E5 mmcr0:0X0000193B mmcr1:0X000000C89DDE97E0 mmcra:0X00002000
+event:0X00E6 mmcr0:0X0000193B mmcr1:0X000000C89DDE97E0 mmcra:0X00002000
+event:0X00E7 mmcr0:0X0000193B mmcr1:0X000000C89DDE97E0 mmcra:0X00002000
+
+#Group 15 pm_lsu_flush, LSU Flush Events
+event:0X00F0 mmcr0:0X0000122D mmcr1:0X000C00007BE774BC mmcra:0X00002000
+event:0X00F1 mmcr0:0X0000122D mmcr1:0X000C00007BE774BC mmcra:0X00002000
+event:0X00F2 mmcr0:0X0000122D mmcr1:0X000C00007BE774BC mmcra:0X00002000
+event:0X00F3 mmcr0:0X0000122D mmcr1:0X000C00007BE774BC mmcra:0X00002000
+event:0X00F4 mmcr0:0X0000122D mmcr1:0X000C00007BE774BC mmcra:0X00002000
+event:0X00F5 mmcr0:0X0000122D mmcr1:0X000C00007BE774BC mmcra:0X00002000
+event:0X00F6 mmcr0:0X0000122D mmcr1:0X000C00007BE774BC mmcra:0X00002000
+event:0X00F7 mmcr0:0X0000122D mmcr1:0X000C00007BE774BC mmcra:0X00002000
+
+#Group 16 pm_lsu_load1, LSU Load Events
+event:0X0100 mmcr0:0X00001029 mmcr1:0X000F0000851E9958 mmcra:0X00002000
+event:0X0101 mmcr0:0X00001029 mmcr1:0X000F0000851E9958 mmcra:0X00002000
+event:0X0102 mmcr0:0X00001029 mmcr1:0X000F0000851E9958 mmcra:0X00002000
+event:0X0103 mmcr0:0X00001029 mmcr1:0X000F0000851E9958 mmcra:0X00002000
+event:0X0104 mmcr0:0X00001029 mmcr1:0X000F0000851E9958 mmcra:0X00002000
+event:0X0105 mmcr0:0X00001029 mmcr1:0X000F0000851E9958 mmcra:0X00002000
+event:0X0106 mmcr0:0X00001029 mmcr1:0X000F0000851E9958 mmcra:0X00002000
+event:0X0107 mmcr0:0X00001029 mmcr1:0X000F0000851E9958 mmcra:0X00002000
+
+#Group 17 pm_lsu_store1, LSU Store Events
+event:0X0110 mmcr0:0X0000112B mmcr1:0X000F00008D5E99DC mmcra:0X00002000
+event:0X0111 mmcr0:0X0000112B mmcr1:0X000F00008D5E99DC mmcra:0X00002000
+event:0X0112 mmcr0:0X0000112B mmcr1:0X000F00008D5E99DC mmcra:0X00002000
+event:0X0113 mmcr0:0X0000112B mmcr1:0X000F00008D5E99DC mmcra:0X00002000
+event:0X0114 mmcr0:0X0000112B mmcr1:0X000F00008D5E99DC mmcra:0X00002000
+event:0X0115 mmcr0:0X0000112B mmcr1:0X000F00008D5E99DC mmcra:0X00002000
+event:0X0116 mmcr0:0X0000112B mmcr1:0X000F00008D5E99DC mmcra:0X00002000
+event:0X0117 mmcr0:0X0000112B mmcr1:0X000F00008D5E99DC mmcra:0X00002000
+
+#Group 18 pm_lsu_store2, LSU Store Events
+event:0X0120 mmcr0:0X00001839 mmcr1:0X0003C0D08D76F4BC mmcra:0X00002000
+event:0X0121 mmcr0:0X00001839 mmcr1:0X0003C0D08D76F4BC mmcra:0X00002000
+event:0X0122 mmcr0:0X00001839 mmcr1:0X0003C0D08D76F4BC mmcra:0X00002000
+event:0X0123 mmcr0:0X00001839 mmcr1:0X0003C0D08D76F4BC mmcra:0X00002000
+event:0X0124 mmcr0:0X00001839 mmcr1:0X0003C0D08D76F4BC mmcra:0X00002000
+event:0X0125 mmcr0:0X00001839 mmcr1:0X0003C0D08D76F4BC mmcra:0X00002000
+event:0X0126 mmcr0:0X00001839 mmcr1:0X0003C0D08D76F4BC mmcra:0X00002000
+event:0X0127 mmcr0:0X00001839 mmcr1:0X0003C0D08D76F4BC mmcra:0X00002000
+
+#Group 19 pm_lsu7, Information on the Load Store Unit
+event:0X0130 mmcr0:0X0000122D mmcr1:0X000830047BD2FE3C mmcra:0X00002000
+event:0X0131 mmcr0:0X0000122D mmcr1:0X000830047BD2FE3C mmcra:0X00002000
+event:0X0132 mmcr0:0X0000122D mmcr1:0X000830047BD2FE3C mmcra:0X00002000
+event:0X0133 mmcr0:0X0000122D mmcr1:0X000830047BD2FE3C mmcra:0X00002000
+event:0X0134 mmcr0:0X0000122D mmcr1:0X000830047BD2FE3C mmcra:0X00002000
+event:0X0135 mmcr0:0X0000122D mmcr1:0X000830047BD2FE3C mmcra:0X00002000
+event:0X0136 mmcr0:0X0000122D mmcr1:0X000830047BD2FE3C mmcra:0X00002000
+event:0X0137 mmcr0:0X0000122D mmcr1:0X000830047BD2FE3C mmcra:0X00002000
+
+#Group 20 pm_misc, Misc Events for testing
+event:0X0140 mmcr0:0X00000405 mmcr1:0X0000000023C69194 mmcra:0X00002000
+event:0X0141 mmcr0:0X00000405 mmcr1:0X0000000023C69194 mmcra:0X00002000
+event:0X0142 mmcr0:0X00000405 mmcr1:0X0000000023C69194 mmcra:0X00002000
+event:0X0143 mmcr0:0X00000405 mmcr1:0X0000000023C69194 mmcra:0X00002000
+event:0X0144 mmcr0:0X00000405 mmcr1:0X0000000023C69194 mmcra:0X00002000
+event:0X0145 mmcr0:0X00000405 mmcr1:0X0000000023C69194 mmcra:0X00002000
+event:0X0146 mmcr0:0X00000405 mmcr1:0X0000000023C69194 mmcra:0X00002000
+event:0X0147 mmcr0:0X00000405 mmcr1:0X0000000023C69194 mmcra:0X00002000
+
+#Group 21 pm_pe_bench1, PE Benchmarker group for FP analysis
+event:0X0150 mmcr0:0X00000001 mmcr1:0X10001002001E0480 mmcra:0X00002000
+event:0X0151 mmcr0:0X00000001 mmcr1:0X10001002001E0480 mmcra:0X00002000
+event:0X0152 mmcr0:0X00000001 mmcr1:0X10001002001E0480 mmcra:0X00002000
+event:0X0153 mmcr0:0X00000001 mmcr1:0X10001002001E0480 mmcra:0X00002000
+event:0X0154 mmcr0:0X00000001 mmcr1:0X10001002001E0480 mmcra:0X00002000
+event:0X0155 mmcr0:0X00000001 mmcr1:0X10001002001E0480 mmcra:0X00002000
+event:0X0156 mmcr0:0X00000001 mmcr1:0X10001002001E0480 mmcra:0X00002000
+event:0X0157 mmcr0:0X00000001 mmcr1:0X10001002001E0480 mmcra:0X00002000
+
+#Group 22 pm_pe_bench4, PE Benchmarker group for L1 and TLB
+event:0X0160 mmcr0:0X00001421 mmcr1:0X000B000004DE9000 mmcra:0X00002000
+event:0X0161 mmcr0:0X00001421 mmcr1:0X000B000004DE9000 mmcra:0X00002000
+event:0X0162 mmcr0:0X00001421 mmcr1:0X000B000004DE9000 mmcra:0X00002000
+event:0X0163 mmcr0:0X00001421 mmcr1:0X000B000004DE9000 mmcra:0X00002000
+event:0X0164 mmcr0:0X00001421 mmcr1:0X000B000004DE9000 mmcra:0X00002000
+event:0X0165 mmcr0:0X00001421 mmcr1:0X000B000004DE9000 mmcra:0X00002000
+event:0X0166 mmcr0:0X00001421 mmcr1:0X000B000004DE9000 mmcra:0X00002000
+event:0X0167 mmcr0:0X00001421 mmcr1:0X000B000004DE9000 mmcra:0X00002000
+
+#Group 23 pm_hpmcount1, Hpmcount group for L1 and TLB behavior
+event:0X0170 mmcr0:0X00001405 mmcr1:0X000B000004DE9000 mmcra:0X00002000
+event:0X0171 mmcr0:0X00001405 mmcr1:0X000B000004DE9000 mmcra:0X00002000
+event:0X0172 mmcr0:0X00001405 mmcr1:0X000B000004DE9000 mmcra:0X00002000
+event:0X0173 mmcr0:0X00001405 mmcr1:0X000B000004DE9000 mmcra:0X00002000
+event:0X0174 mmcr0:0X00001405 mmcr1:0X000B000004DE9000 mmcra:0X00002000
+event:0X0175 mmcr0:0X00001405 mmcr1:0X000B000004DE9000 mmcra:0X00002000
+event:0X0176 mmcr0:0X00001405 mmcr1:0X000B000004DE9000 mmcra:0X00002000
+event:0X0177 mmcr0:0X00001405 mmcr1:0X000B000004DE9000 mmcra:0X00002000
+
+#Group 24 pm_hpmcount2, Hpmcount group for computation
+event:0X0180 mmcr0:0X00000001 mmcr1:0X000020289DDE0480 mmcra:0X00002000
+event:0X0181 mmcr0:0X00000001 mmcr1:0X000020289DDE0480 mmcra:0X00002000
+event:0X0182 mmcr0:0X00000001 mmcr1:0X000020289DDE0480 mmcra:0X00002000
+event:0X0183 mmcr0:0X00000001 mmcr1:0X000020289DDE0480 mmcra:0X00002000
+event:0X0184 mmcr0:0X00000001 mmcr1:0X000020289DDE0480 mmcra:0X00002000
+event:0X0185 mmcr0:0X00000001 mmcr1:0X000020289DDE0480 mmcra:0X00002000
+event:0X0186 mmcr0:0X00000001 mmcr1:0X000020289DDE0480 mmcra:0X00002000
+event:0X0187 mmcr0:0X00000001 mmcr1:0X000020289DDE0480 mmcra:0X00002000
+
+#Group 25 pm_l1andbr, L1 misses and branch misspredict analysis
+event:0X0190 mmcr0:0X0000091F mmcr1:0X8003C01D0676FD6C mmcra:0X00002000
+event:0X0191 mmcr0:0X0000091F mmcr1:0X8003C01D0676FD6C mmcra:0X00002000
+event:0X0192 mmcr0:0X0000091F mmcr1:0X8003C01D0676FD6C mmcra:0X00002000
+event:0X0193 mmcr0:0X0000091F mmcr1:0X8003C01D0676FD6C mmcra:0X00002000
+event:0X0194 mmcr0:0X0000091F mmcr1:0X8003C01D0676FD6C mmcra:0X00002000
+event:0X0195 mmcr0:0X0000091F mmcr1:0X8003C01D0676FD6C mmcra:0X00002000
+event:0X0196 mmcr0:0X0000091F mmcr1:0X8003C01D0676FD6C mmcra:0X00002000
+event:0X0197 mmcr0:0X0000091F mmcr1:0X8003C01D0676FD6C mmcra:0X00002000
+
+#Group 26 pm_imix, Instruction mix: loads, stores and branches
+event:0X01A0 mmcr0:0X0000091F mmcr1:0X8003C021065FB000 mmcra:0X00002000
+event:0X01A1 mmcr0:0X0000091F mmcr1:0X8003C021065FB000 mmcra:0X00002000
+event:0X01A2 mmcr0:0X0000091F mmcr1:0X8003C021065FB000 mmcra:0X00002000
+event:0X01A3 mmcr0:0X0000091F mmcr1:0X8003C021065FB000 mmcra:0X00002000
+event:0X01A4 mmcr0:0X0000091F mmcr1:0X8003C021065FB000 mmcra:0X00002000
+event:0X01A5 mmcr0:0X0000091F mmcr1:0X8003C021065FB000 mmcra:0X00002000
+event:0X01A6 mmcr0:0X0000091F mmcr1:0X8003C021065FB000 mmcra:0X00002000
+event:0X01A7 mmcr0:0X0000091F mmcr1:0X8003C021065FB000 mmcra:0X00002000
+
+#Group 27 pm_branch, SLB and branch misspredict analysis
+event:0X01B0 mmcr0:0X0000052B mmcr1:0X8008000BCEA2F4EC mmcra:0X00002000
+event:0X01B1 mmcr0:0X0000052B mmcr1:0X8008000BCEA2F4EC mmcra:0X00002000
+event:0X01B2 mmcr0:0X0000052B mmcr1:0X8008000BCEA2F4EC mmcra:0X00002000
+event:0X01B3 mmcr0:0X0000052B mmcr1:0X8008000BCEA2F4EC mmcra:0X00002000
+event:0X01B4 mmcr0:0X0000052B mmcr1:0X8008000BCEA2F4EC mmcra:0X00002000
+event:0X01B5 mmcr0:0X0000052B mmcr1:0X8008000BCEA2F4EC mmcra:0X00002000
+event:0X01B6 mmcr0:0X0000052B mmcr1:0X8008000BCEA2F4EC mmcra:0X00002000
+event:0X01B7 mmcr0:0X0000052B mmcr1:0X8008000BCEA2F4EC mmcra:0X00002000
+
+#Group 28 pm_data, data source and LMQ
+event:0X01C0 mmcr0:0X0000070F mmcr1:0X0000300C4BD2FF74 mmcra:0X00002000
+event:0X01C1 mmcr0:0X0000070F mmcr1:0X0000300C4BD2FF74 mmcra:0X00002000
+event:0X01C2 mmcr0:0X0000070F mmcr1:0X0000300C4BD2FF74 mmcra:0X00002000
+event:0X01C3 mmcr0:0X0000070F mmcr1:0X0000300C4BD2FF74 mmcra:0X00002000
+event:0X01C4 mmcr0:0X0000070F mmcr1:0X0000300C4BD2FF74 mmcra:0X00002000
+event:0X01C5 mmcr0:0X0000070F mmcr1:0X0000300C4BD2FF74 mmcra:0X00002000
+event:0X01C6 mmcr0:0X0000070F mmcr1:0X0000300C4BD2FF74 mmcra:0X00002000
+event:0X01C7 mmcr0:0X0000070F mmcr1:0X0000300C4BD2FF74 mmcra:0X00002000
+
+#Group 29 pm_tlb, TLB and LRQ plus data prefetch
+event:0X01D0 mmcr0:0X00001421 mmcr1:0X0008E03C4BFDACEC mmcra:0X00002000
+event:0X01D1 mmcr0:0X00001421 mmcr1:0X0008E03C4BFDACEC mmcra:0X00002000
+event:0X01D2 mmcr0:0X00001421 mmcr1:0X0008E03C4BFDACEC mmcra:0X00002000
+event:0X01D3 mmcr0:0X00001421 mmcr1:0X0008E03C4BFDACEC mmcra:0X00002000
+event:0X01D4 mmcr0:0X00001421 mmcr1:0X0008E03C4BFDACEC mmcra:0X00002000
+event:0X01D5 mmcr0:0X00001421 mmcr1:0X0008E03C4BFDACEC mmcra:0X00002000
+event:0X01D6 mmcr0:0X00001421 mmcr1:0X0008E03C4BFDACEC mmcra:0X00002000
+event:0X01D7 mmcr0:0X00001421 mmcr1:0X0008E03C4BFDACEC mmcra:0X00002000
+
+#Group 30 pm_isource, inst source and tablewalk
+event:0X01E0 mmcr0:0X0000060D mmcr1:0X800B00C0226EF1DC mmcra:0X00002000
+event:0X01E1 mmcr0:0X0000060D mmcr1:0X800B00C0226EF1DC mmcra:0X00002000
+event:0X01E2 mmcr0:0X0000060D mmcr1:0X800B00C0226EF1DC mmcra:0X00002000
+event:0X01E3 mmcr0:0X0000060D mmcr1:0X800B00C0226EF1DC mmcra:0X00002000
+event:0X01E4 mmcr0:0X0000060D mmcr1:0X800B00C0226EF1DC mmcra:0X00002000
+event:0X01E5 mmcr0:0X0000060D mmcr1:0X800B00C0226EF1DC mmcra:0X00002000
+event:0X01E6 mmcr0:0X0000060D mmcr1:0X800B00C0226EF1DC mmcra:0X00002000
+event:0X01E7 mmcr0:0X0000060D mmcr1:0X800B00C0226EF1DC mmcra:0X00002000
+
+#Group 31 pm_sync, Sync and SRQ
+event:0X01F0 mmcr0:0X00001D33 mmcr1:0X0003E0C107529780 mmcra:0X00002000
+event:0X01F1 mmcr0:0X00001D33 mmcr1:0X0003E0C107529780 mmcra:0X00002000
+event:0X01F2 mmcr0:0X00001D33 mmcr1:0X0003E0C107529780 mmcra:0X00002000
+event:0X01F3 mmcr0:0X00001D33 mmcr1:0X0003E0C107529780 mmcra:0X00002000
+event:0X01F4 mmcr0:0X00001D33 mmcr1:0X0003E0C107529780 mmcra:0X00002000
+event:0X01F5 mmcr0:0X00001D33 mmcr1:0X0003E0C107529780 mmcra:0X00002000
+event:0X01F6 mmcr0:0X00001D33 mmcr1:0X0003E0C107529780 mmcra:0X00002000
+event:0X01F7 mmcr0:0X00001D33 mmcr1:0X0003E0C107529780 mmcra:0X00002000
+
+#Group 32 pm_ierat, IERAT
+event:0X0200 mmcr0:0X00000D13 mmcr1:0X80000082C3D2F4BC mmcra:0X00002000
+event:0X0201 mmcr0:0X00000D13 mmcr1:0X80000082C3D2F4BC mmcra:0X00002000
+event:0X0202 mmcr0:0X00000D13 mmcr1:0X80000082C3D2F4BC mmcra:0X00002000
+event:0X0203 mmcr0:0X00000D13 mmcr1:0X80000082C3D2F4BC mmcra:0X00002000
+event:0X0204 mmcr0:0X00000D13 mmcr1:0X80000082C3D2F4BC mmcra:0X00002000
+event:0X0205 mmcr0:0X00000D13 mmcr1:0X80000082C3D2F4BC mmcra:0X00002000
+event:0X0206 mmcr0:0X00000D13 mmcr1:0X80000082C3D2F4BC mmcra:0X00002000
+event:0X0207 mmcr0:0X00000D13 mmcr1:0X80000082C3D2F4BC mmcra:0X00002000
+
+#Group 33 pm_derat, DERAT
+event:0X0210 mmcr0:0X00000437 mmcr1:0X100B7052E274003C mmcra:0X00002000
+event:0X0211 mmcr0:0X00000437 mmcr1:0X100B7052E274003C mmcra:0X00002000
+event:0X0212 mmcr0:0X00000437 mmcr1:0X100B7052E274003C mmcra:0X00002000
+event:0X0213 mmcr0:0X00000437 mmcr1:0X100B7052E274003C mmcra:0X00002000
+event:0X0214 mmcr0:0X00000437 mmcr1:0X100B7052E274003C mmcra:0X00002000
+event:0X0215 mmcr0:0X00000437 mmcr1:0X100B7052E274003C mmcra:0X00002000
+event:0X0216 mmcr0:0X00000437 mmcr1:0X100B7052E274003C mmcra:0X00002000
+event:0X0217 mmcr0:0X00000437 mmcr1:0X100B7052E274003C mmcra:0X00002000
+
+#Group 34 pm_mark1, Information on marked instructions
+event:0X0220 mmcr0:0X00000007 mmcr1:0X00008080790852A4 mmcra:0X00002001
+event:0X0221 mmcr0:0X00000007 mmcr1:0X00008080790852A4 mmcra:0X00002001
+event:0X0222 mmcr0:0X00000007 mmcr1:0X00008080790852A4 mmcra:0X00002001
+event:0X0223 mmcr0:0X00000007 mmcr1:0X00008080790852A4 mmcra:0X00002001
+event:0X0224 mmcr0:0X00000007 mmcr1:0X00008080790852A4 mmcra:0X00002001
+event:0X0225 mmcr0:0X00000007 mmcr1:0X00008080790852A4 mmcra:0X00002001
+event:0X0226 mmcr0:0X00000007 mmcr1:0X00008080790852A4 mmcra:0X00002001
+event:0X0227 mmcr0:0X00000007 mmcr1:0X00008080790852A4 mmcra:0X00002001
+
+#Group 35 pm_mark2, Marked Instructions Processing Flow
+event:0X0230 mmcr0:0X0000020B mmcr1:0X0000000079484210 mmcra:0X00002001
+event:0X0231 mmcr0:0X0000020B mmcr1:0X0000000079484210 mmcra:0X00002001
+event:0X0232 mmcr0:0X0000020B mmcr1:0X0000000079484210 mmcra:0X00002001
+event:0X0233 mmcr0:0X0000020B mmcr1:0X0000000079484210 mmcra:0X00002001
+event:0X0234 mmcr0:0X0000020B mmcr1:0X0000000079484210 mmcra:0X00002001
+event:0X0235 mmcr0:0X0000020B mmcr1:0X0000000079484210 mmcra:0X00002001
+event:0X0236 mmcr0:0X0000020B mmcr1:0X0000000079484210 mmcra:0X00002001
+event:0X0237 mmcr0:0X0000020B mmcr1:0X0000000079484210 mmcra:0X00002001
+
+#Group 36 pm_mark3, Marked Stores Processing Flow
+event:0X0240 mmcr0:0X0000031F mmcr1:0X00203004190A3F24 mmcra:0X00002001
+event:0X0241 mmcr0:0X0000031F mmcr1:0X00203004190A3F24 mmcra:0X00002001
+event:0X0242 mmcr0:0X0000031F mmcr1:0X00203004190A3F24 mmcra:0X00002001
+event:0X0243 mmcr0:0X0000031F mmcr1:0X00203004190A3F24 mmcra:0X00002001
+event:0X0244 mmcr0:0X0000031F mmcr1:0X00203004190A3F24 mmcra:0X00002001
+event:0X0245 mmcr0:0X0000031F mmcr1:0X00203004190A3F24 mmcra:0X00002001
+event:0X0246 mmcr0:0X0000031F mmcr1:0X00203004190A3F24 mmcra:0X00002001
+event:0X0247 mmcr0:0X0000031F mmcr1:0X00203004190A3F24 mmcra:0X00002001
+
+#Group 37 pm_lsu_mark1, Load Store Unit Marked Events
+event:0X0250 mmcr0:0X00001B35 mmcr1:0X000280C08D5E9850 mmcra:0X00002001
+event:0X0251 mmcr0:0X00001B35 mmcr1:0X000280C08D5E9850 mmcra:0X00002001
+event:0X0252 mmcr0:0X00001B35 mmcr1:0X000280C08D5E9850 mmcra:0X00002001
+event:0X0253 mmcr0:0X00001B35 mmcr1:0X000280C08D5E9850 mmcra:0X00002001
+event:0X0254 mmcr0:0X00001B35 mmcr1:0X000280C08D5E9850 mmcra:0X00002001
+event:0X0255 mmcr0:0X00001B35 mmcr1:0X000280C08D5E9850 mmcra:0X00002001
+event:0X0256 mmcr0:0X00001B35 mmcr1:0X000280C08D5E9850 mmcra:0X00002001
+event:0X0257 mmcr0:0X00001B35 mmcr1:0X000280C08D5E9850 mmcra:0X00002001
+
+#Group 38 pm_lsu_mark2, Load Store Unit Marked Events
+event:0X0260 mmcr0:0X00001839 mmcr1:0X000280C0959E99DC mmcra:0X00002001
+event:0X0261 mmcr0:0X00001839 mmcr1:0X000280C0959E99DC mmcra:0X00002001
+event:0X0262 mmcr0:0X00001839 mmcr1:0X000280C0959E99DC mmcra:0X00002001
+event:0X0263 mmcr0:0X00001839 mmcr1:0X000280C0959E99DC mmcra:0X00002001
+event:0X0264 mmcr0:0X00001839 mmcr1:0X000280C0959E99DC mmcra:0X00002001
+event:0X0265 mmcr0:0X00001839 mmcr1:0X000280C0959E99DC mmcra:0X00002001
+event:0X0266 mmcr0:0X00001839 mmcr1:0X000280C0959E99DC mmcra:0X00002001
+event:0X0267 mmcr0:0X00001839 mmcr1:0X000280C0959E99DC mmcra:0X00002001
+
+#Group 39 pm_fxu1, Fixed Point events by unit
+event:0X0270 mmcr0:0X00000913 mmcr1:0X100010020084213C mmcra:0X00002000
+event:0X0271 mmcr0:0X00000913 mmcr1:0X100010020084213C mmcra:0X00002000
+event:0X0272 mmcr0:0X00000913 mmcr1:0X100010020084213C mmcra:0X00002000
+event:0X0273 mmcr0:0X00000913 mmcr1:0X100010020084213C mmcra:0X00002000
+event:0X0274 mmcr0:0X00000913 mmcr1:0X100010020084213C mmcra:0X00002000
+event:0X0275 mmcr0:0X00000913 mmcr1:0X100010020084213C mmcra:0X00002000
+event:0X0276 mmcr0:0X00000913 mmcr1:0X100010020084213C mmcra:0X00002000
+event:0X0277 mmcr0:0X00000913 mmcr1:0X100010020084213C mmcra:0X00002000
+
+#Group 40 pm_fxu2, Fixed Point events by unit
+event:0X0280 mmcr0:0X0000091F mmcr1:0X4000000CA4042D78 mmcra:0X00002000
+event:0X0281 mmcr0:0X0000091F mmcr1:0X4000000CA4042D78 mmcra:0X00002000
+event:0X0282 mmcr0:0X0000091F mmcr1:0X4000000CA4042D78 mmcra:0X00002000
+event:0X0283 mmcr0:0X0000091F mmcr1:0X4000000CA4042D78 mmcra:0X00002000
+event:0X0284 mmcr0:0X0000091F mmcr1:0X4000000CA4042D78 mmcra:0X00002000
+event:0X0285 mmcr0:0X0000091F mmcr1:0X4000000CA4042D78 mmcra:0X00002000
+event:0X0286 mmcr0:0X0000091F mmcr1:0X4000000CA4042D78 mmcra:0X00002000
+event:0X0287 mmcr0:0X0000091F mmcr1:0X4000000CA4042D78 mmcra:0X00002000
+
+#Group 41 pm_ifu, pm_ifu
+event:0X0290 mmcr0:0X00000D0D mmcr1:0X800000F06B7867A4 mmcra:0X00002000
+event:0X0291 mmcr0:0X00000D0D mmcr1:0X800000F06B7867A4 mmcra:0X00002000
+event:0X0292 mmcr0:0X00000D0D mmcr1:0X800000F06B7867A4 mmcra:0X00002000
+event:0X0293 mmcr0:0X00000D0D mmcr1:0X800000F06B7867A4 mmcra:0X00002000
+event:0X0294 mmcr0:0X00000D0D mmcr1:0X800000F06B7867A4 mmcra:0X00002000
+event:0X0295 mmcr0:0X00000D0D mmcr1:0X800000F06B7867A4 mmcra:0X00002000
+event:0X0296 mmcr0:0X00000D0D mmcr1:0X800000F06B7867A4 mmcra:0X00002000
+event:0X0297 mmcr0:0X00000D0D mmcr1:0X800000F06B7867A4 mmcra:0X00002000
+
+#Group 42 pm_cpi_stack1, CPI stack analysis
+event:0X02A0 mmcr0:0X00001B3F mmcr1:0X4000C0C0ADD6963D mmcra:0X00002000
+event:0X02A1 mmcr0:0X00001B3F mmcr1:0X4000C0C0ADD6963D mmcra:0X00002000
+event:0X02A2 mmcr0:0X00001B3F mmcr1:0X4000C0C0ADD6963D mmcra:0X00002000
+event:0X02A3 mmcr0:0X00001B3F mmcr1:0X4000C0C0ADD6963D mmcra:0X00002000
+event:0X02A4 mmcr0:0X00001B3F mmcr1:0X4000C0C0ADD6963D mmcra:0X00002000
+event:0X02A5 mmcr0:0X00001B3F mmcr1:0X4000C0C0ADD6963D mmcra:0X00002000
+event:0X02A6 mmcr0:0X00001B3F mmcr1:0X4000C0C0ADD6963D mmcra:0X00002000
+event:0X02A7 mmcr0:0X00001B3F mmcr1:0X4000C0C0ADD6963D mmcra:0X00002000
+
+#Group 43 pm_cpi_stack2, CPI stack analysis
+event:0X02B0 mmcr0:0X00000B13 mmcr1:0X000B000003D60583 mmcra:0X00002000
+event:0X02B1 mmcr0:0X00000B13 mmcr1:0X000B000003D60583 mmcra:0X00002000
+event:0X02B2 mmcr0:0X00000B13 mmcr1:0X000B000003D60583 mmcra:0X00002000
+event:0X02B3 mmcr0:0X00000B13 mmcr1:0X000B000003D60583 mmcra:0X00002000
+event:0X02B4 mmcr0:0X00000B13 mmcr1:0X000B000003D60583 mmcra:0X00002000
+event:0X02B5 mmcr0:0X00000B13 mmcr1:0X000B000003D60583 mmcra:0X00002000
+event:0X02B6 mmcr0:0X00000B13 mmcr1:0X000B000003D60583 mmcra:0X00002000
+event:0X02B7 mmcr0:0X00000B13 mmcr1:0X000B000003D60583 mmcra:0X00002000
+
+#Group 44 pm_cpi_stack3, CPI stack analysis
+event:0X02C0 mmcr0:0X00000917 mmcr1:0X10001002001625BE mmcra:0X00002000
+event:0X02C1 mmcr0:0X00000917 mmcr1:0X10001002001625BE mmcra:0X00002000
+event:0X02C2 mmcr0:0X00000917 mmcr1:0X10001002001625BE mmcra:0X00002000
+event:0X02C3 mmcr0:0X00000917 mmcr1:0X10001002001625BE mmcra:0X00002000
+event:0X02C4 mmcr0:0X00000917 mmcr1:0X10001002001625BE mmcra:0X00002000
+event:0X02C5 mmcr0:0X00000917 mmcr1:0X10001002001625BE mmcra:0X00002000
+event:0X02C6 mmcr0:0X00000917 mmcr1:0X10001002001625BE mmcra:0X00002000
+event:0X02C7 mmcr0:0X00000917 mmcr1:0X10001002001625BE mmcra:0X00002000
+
+#Group 45 pm_cpi_stack4, CPI stack analysis
+event:0X02D0 mmcr0:0X00000001 mmcr1:0X00000000485805BD mmcra:0X00002000
+event:0X02D1 mmcr0:0X00000001 mmcr1:0X00000000485805BD mmcra:0X00002000
+event:0X02D2 mmcr0:0X00000001 mmcr1:0X00000000485805BD mmcra:0X00002000
+event:0X02D3 mmcr0:0X00000001 mmcr1:0X00000000485805BD mmcra:0X00002000
+event:0X02D4 mmcr0:0X00000001 mmcr1:0X00000000485805BD mmcra:0X00002000
+event:0X02D5 mmcr0:0X00000001 mmcr1:0X00000000485805BD mmcra:0X00002000
+event:0X02D6 mmcr0:0X00000001 mmcr1:0X00000000485805BD mmcra:0X00002000
+event:0X02D7 mmcr0:0X00000001 mmcr1:0X00000000485805BD mmcra:0X00002000
+
+#Group 46 pm_cpi_stack5, CPI stack analysis
+event:0X02E0 mmcr0:0X00000413 mmcr1:0X90014009B6D8F672 mmcra:0X00002000
+event:0X02E1 mmcr0:0X00000413 mmcr1:0X90014009B6D8F672 mmcra:0X00002000
+event:0X02E2 mmcr0:0X00000413 mmcr1:0X90014009B6D8F672 mmcra:0X00002000
+event:0X02E3 mmcr0:0X00000413 mmcr1:0X90014009B6D8F672 mmcra:0X00002000
+event:0X02E4 mmcr0:0X00000413 mmcr1:0X90014009B6D8F672 mmcra:0X00002000
+event:0X02E5 mmcr0:0X00000413 mmcr1:0X90014009B6D8F672 mmcra:0X00002000
+event:0X02E6 mmcr0:0X00000413 mmcr1:0X90014009B6D8F672 mmcra:0X00002000
+event:0X02E7 mmcr0:0X00000413 mmcr1:0X90014009B6D8F672 mmcra:0X00002000
+
+#Group 47 pm_data2, data source and LMQ
+event:0X02F0 mmcr0:0X00000913 mmcr1:0X0000300C7BCE7F74 mmcra:0X00002000
+event:0X02F1 mmcr0:0X00000913 mmcr1:0X0000300C7BCE7F74 mmcra:0X00002000
+event:0X02F2 mmcr0:0X00000913 mmcr1:0X0000300C7BCE7F74 mmcra:0X00002000
+event:0X02F3 mmcr0:0X00000913 mmcr1:0X0000300C7BCE7F74 mmcra:0X00002000
+event:0X02F4 mmcr0:0X00000913 mmcr1:0X0000300C7BCE7F74 mmcra:0X00002000
+event:0X02F5 mmcr0:0X00000913 mmcr1:0X0000300C7BCE7F74 mmcra:0X00002000
+event:0X02F6 mmcr0:0X00000913 mmcr1:0X0000300C7BCE7F74 mmcra:0X00002000
+event:0X02F7 mmcr0:0X00000913 mmcr1:0X0000300C7BCE7F74 mmcra:0X00002000
+
+#Group 48 pm_fetch_branch, Instruction fetch and branch events
+event:0X0300 mmcr0:0X0000060D mmcr1:0X800000CD6E5E9D6C mmcra:0X00002000
+event:0X0301 mmcr0:0X0000060D mmcr1:0X800000CD6E5E9D6C mmcra:0X00002000
+event:0X0302 mmcr0:0X0000060D mmcr1:0X800000CD6E5E9D6C mmcra:0X00002000
+event:0X0303 mmcr0:0X0000060D mmcr1:0X800000CD6E5E9D6C mmcra:0X00002000
+event:0X0304 mmcr0:0X0000060D mmcr1:0X800000CD6E5E9D6C mmcra:0X00002000
+event:0X0305 mmcr0:0X0000060D mmcr1:0X800000CD6E5E9D6C mmcra:0X00002000
+event:0X0306 mmcr0:0X0000060D mmcr1:0X800000CD6E5E9D6C mmcra:0X00002000
+event:0X0307 mmcr0:0X0000060D mmcr1:0X800000CD6E5E9D6C mmcra:0X00002000
+
+#Group 49 pm_l1l2_miss, L1 and L2 miss events
+event:0X0310 mmcr0:0X0000070F mmcr1:0X000330004C86FB00 mmcra:0X00002000
+event:0X0311 mmcr0:0X0000070F mmcr1:0X000330004C86FB00 mmcra:0X00002000
+event:0X0312 mmcr0:0X0000070F mmcr1:0X000330004C86FB00 mmcra:0X00002000
+event:0X0313 mmcr0:0X0000070F mmcr1:0X000330004C86FB00 mmcra:0X00002000
+event:0X0314 mmcr0:0X0000070F mmcr1:0X000330004C86FB00 mmcra:0X00002000
+event:0X0315 mmcr0:0X0000070F mmcr1:0X000330004C86FB00 mmcra:0X00002000
+event:0X0316 mmcr0:0X0000070F mmcr1:0X000330004C86FB00 mmcra:0X00002000
+event:0X0317 mmcr0:0X0000070F mmcr1:0X000330004C86FB00 mmcra:0X00002000
+
+#Group 50 pm_data_from, Data From L2 instructions
+event:0X0320 mmcr0:0X0000070F mmcr1:0X000330004BCE7B00 mmcra:0X00002000
+event:0X0321 mmcr0:0X0000070F mmcr1:0X000330004BCE7B00 mmcra:0X00002000
+event:0X0322 mmcr0:0X0000070F mmcr1:0X000330004BCE7B00 mmcra:0X00002000
+event:0X0323 mmcr0:0X0000070F mmcr1:0X000330004BCE7B00 mmcra:0X00002000
+event:0X0324 mmcr0:0X0000070F mmcr1:0X000330004BCE7B00 mmcra:0X00002000
+event:0X0325 mmcr0:0X0000070F mmcr1:0X000330004BCE7B00 mmcra:0X00002000
+event:0X0326 mmcr0:0X0000070F mmcr1:0X000330004BCE7B00 mmcra:0X00002000
+event:0X0327 mmcr0:0X0000070F mmcr1:0X000330004BCE7B00 mmcra:0X00002000
+
+#Group 51 pm_mark_data_from, Marked Data From L2 instructions
+event:0X0330 mmcr0:0X0000070F mmcr1:0X002030084BCE72F0 mmcra:0X00002001
+event:0X0331 mmcr0:0X0000070F mmcr1:0X002030084BCE72F0 mmcra:0X00002001
+event:0X0332 mmcr0:0X0000070F mmcr1:0X002030084BCE72F0 mmcra:0X00002001
+event:0X0333 mmcr0:0X0000070F mmcr1:0X002030084BCE72F0 mmcra:0X00002001
+event:0X0334 mmcr0:0X0000070F mmcr1:0X002030084BCE72F0 mmcra:0X00002001
+event:0X0335 mmcr0:0X0000070F mmcr1:0X002030084BCE72F0 mmcra:0X00002001
+event:0X0336 mmcr0:0X0000070F mmcr1:0X002030084BCE72F0 mmcra:0X00002001
+event:0X0337 mmcr0:0X0000070F mmcr1:0X002030084BCE72F0 mmcra:0X00002001
diff --git a/events/ppc64/970MP/events b/events/ppc64/970MP/events
new file mode 100644
index 0000000..a02130f
--- /dev/null
+++ b/events/ppc64/970MP/events
@@ -0,0 +1,530 @@
+#PPC64 PowerPC970MP events
+#
+# Copyright OProfile authors
+# Copyright (c) International Business Machines, 2007.
+# Contributed by Dave Nomura <dcnltc@us.ibm.com>.
+#
+#
+# Within each group the event names must be unique. Each event in a group is
+# assigned to a unique counter. The groups are from the groups defined in the
+# Performance Monitor Unit user guide for this processor.
+#
+# Only events within the same group can be selected simultaneously.
+# Each event is given a unique event number. The event number is used by the
+# OProfile code to resolve event names for the post-processing. This is done
+# to preserve compatibility with the rest of the OProfile code. The event
+# numbers are formatted as follows: <group_num>concat(<counter for the event>).
+
+#Group Default
+event:0X001 counters:1 um:zero minimum:10000 name:CYCLES : Processor Cycles
+
+
+#Group 1 pm_slice0, Time Slice 0
+event:0X0010 counters:0 um:zero minimum:10000 name:PM_RUN_CYC_GRP1 : (Group 1 pm_slice0) Run cycles
+event:0X0011 counters:1 um:zero minimum:10000 name:PM_CYC_GRP1 : (Group 1 pm_slice0) Processor cycles
+event:0X0012 counters:2 um:zero minimum:1000 name:PM_STOP_COMPLETION_GRP1 : (Group 1 pm_slice0) Completion stopped
+event:0X0013 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP1 : (Group 1 pm_slice0) Instructions completed
+event:0X0014 counters:4 um:zero minimum:1000 name:PM_1PLUS_PPC_CMPL_GRP1 : (Group 1 pm_slice0) One or more PPC instruction completed
+event:0X0015 counters:5 um:zero minimum:10000 name:PM_CYC_GRP1 : (Group 1 pm_slice0) Processor cycles
+event:0X0016 counters:6 um:zero minimum:1000 name:PM_GRP_CMPL_GRP1 : (Group 1 pm_slice0) Group completed
+event:0X0017 counters:7 um:zero minimum:1000 name:PM_GRP_DISP_REJECT_GRP1 : (Group 1 pm_slice0) Group dispatch rejected
+
+#Group 2 pm_eprof, Group for use with eprof
+event:0X0020 counters:0 um:zero minimum:10000 name:PM_CYC_GRP2 : (Group 2 pm_eprof) Processor cycles
+event:0X0021 counters:1 um:zero minimum:10000 name:PM_CYC_GRP2 : (Group 2 pm_eprof) Processor cycles
+event:0X0022 counters:2 um:zero minimum:1000 name:PM_LD_MISS_L1_GRP2 : (Group 2 pm_eprof) L1 D cache load misses
+event:0X0023 counters:3 um:zero minimum:1000 name:PM_DC_INV_L2_GRP2 : (Group 2 pm_eprof) L1 D cache entries invalidated from L2
+event:0X0024 counters:4 um:zero minimum:1000 name:PM_INST_DISP_GRP2 : (Group 2 pm_eprof) Instructions dispatched
+event:0X0025 counters:5 um:zero minimum:10000 name:PM_INST_CMPL_GRP2 : (Group 2 pm_eprof) Instructions completed
+event:0X0026 counters:6 um:zero minimum:1000 name:PM_ST_REF_L1_GRP2 : (Group 2 pm_eprof) L1 D cache store references
+event:0X0027 counters:7 um:zero minimum:1000 name:PM_LD_REF_L1_GRP2 : (Group 2 pm_eprof) L1 D cache load references
+
+#Group 3 pm_basic, Basic performance indicators
+event:0X0030 counters:0 um:zero minimum:10000 name:PM_INST_CMPL_GRP3 : (Group 3 pm_basic) Instructions completed
+event:0X0031 counters:1 um:zero minimum:10000 name:PM_CYC_GRP3 : (Group 3 pm_basic) Processor cycles
+event:0X0032 counters:2 um:zero minimum:1000 name:PM_LD_MISS_L1_GRP3 : (Group 3 pm_basic) L1 D cache load misses
+event:0X0033 counters:3 um:zero minimum:1000 name:PM_DC_INV_L2_GRP3 : (Group 3 pm_basic) L1 D cache entries invalidated from L2
+event:0X0034 counters:4 um:zero minimum:1000 name:PM_INST_DISP_GRP3 : (Group 3 pm_basic) Instructions dispatched
+event:0X0035 counters:5 um:zero minimum:10000 name:PM_INST_CMPL_GRP3 : (Group 3 pm_basic) Instructions completed
+event:0X0036 counters:6 um:zero minimum:1000 name:PM_ST_REF_L1_GRP3 : (Group 3 pm_basic) L1 D cache store references
+event:0X0037 counters:7 um:zero minimum:1000 name:PM_LD_REF_L1_GRP3 : (Group 3 pm_basic) L1 D cache load references
+
+#Group 4 pm_lsu, Information on the Load Store Unit
+event:0X0040 counters:0 um:zero minimum:1000 name:PM_LSU_FLUSH_ULD_GRP4 : (Group 4 pm_lsu) LRQ unaligned load flushes
+event:0X0041 counters:1 um:zero minimum:1000 name:PM_LSU_FLUSH_UST_GRP4 : (Group 4 pm_lsu) SRQ unaligned store flushes
+event:0X0042 counters:2 um:zero minimum:10000 name:PM_CYC_GRP4 : (Group 4 pm_lsu) Processor cycles
+event:0X0043 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP4 : (Group 4 pm_lsu) Instructions completed
+event:0X0044 counters:4 um:zero minimum:1000 name:PM_LSU_FLUSH_SRQ_GRP4 : (Group 4 pm_lsu) SRQ flushes
+event:0X0045 counters:5 um:zero minimum:1000 name:PM_LSU_FLUSH_LRQ_GRP4 : (Group 4 pm_lsu) LRQ flushes
+event:0X0046 counters:6 um:zero minimum:1000 name:PM_ST_REF_L1_GRP4 : (Group 4 pm_lsu) L1 D cache store references
+event:0X0047 counters:7 um:zero minimum:1000 name:PM_LD_REF_L1_GRP4 : (Group 4 pm_lsu) L1 D cache load references
+
+#Group 5 pm_fpu1, Floating Point events
+event:0X0050 counters:0 um:zero minimum:1000 name:PM_FPU_FDIV_GRP5 : (Group 5 pm_fpu1) FPU executed FDIV instruction
+event:0X0051 counters:1 um:zero minimum:1000 name:PM_FPU_FMA_GRP5 : (Group 5 pm_fpu1) FPU executed multiply-add instruction
+event:0X0052 counters:2 um:zero minimum:1000 name:PM_FPU_FEST_GRP5 : (Group 5 pm_fpu1) FPU executed FEST instruction
+event:0X0053 counters:3 um:zero minimum:1000 name:PM_FPU_FIN_GRP5 : (Group 5 pm_fpu1) FPU produced a result
+event:0X0054 counters:4 um:zero minimum:10000 name:PM_CYC_GRP5 : (Group 5 pm_fpu1) Processor cycles
+event:0X0055 counters:5 um:zero minimum:1000 name:PM_FPU_FSQRT_GRP5 : (Group 5 pm_fpu1) FPU executed FSQRT instruction
+event:0X0056 counters:6 um:zero minimum:10000 name:PM_INST_CMPL_GRP5 : (Group 5 pm_fpu1) Instructions completed
+event:0X0057 counters:7 um:zero minimum:1000 name:PM_FPU_FMOV_FEST_GRP5 : (Group 5 pm_fpu1) FPU executing FMOV or FEST instructions
+
+#Group 6 pm_fpu2, Floating Point events
+event:0X0060 counters:0 um:zero minimum:1000 name:PM_FPU_DENORM_GRP6 : (Group 6 pm_fpu2) FPU received denormalized data
+event:0X0061 counters:1 um:zero minimum:1000 name:PM_FPU_STALL3_GRP6 : (Group 6 pm_fpu2) FPU stalled in pipe3
+event:0X0062 counters:2 um:zero minimum:10000 name:PM_CYC_GRP6 : (Group 6 pm_fpu2) Processor cycles
+event:0X0063 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP6 : (Group 6 pm_fpu2) Instructions completed
+event:0X0064 counters:4 um:zero minimum:1000 name:PM_FPU_ALL_GRP6 : (Group 6 pm_fpu2) FPU executed add, mult, sub, cmp or sel instruction
+event:0X0065 counters:5 um:zero minimum:1000 name:PM_FPU_STF_GRP6 : (Group 6 pm_fpu2) FPU executed store instruction
+event:0X0066 counters:6 um:zero minimum:1000 name:PM_FPU_FRSP_FCONV_GRP6 : (Group 6 pm_fpu2) FPU executed FRSP or FCONV instructions
+event:0X0067 counters:7 um:zero minimum:1000 name:PM_LSU_LDF_GRP6 : (Group 6 pm_fpu2) LSU executed Floating Point load instruction
+
+#Group 7 pm_isu_rename, ISU Rename Pool Events
+event:0X0070 counters:0 um:zero minimum:1000 name:PM_XER_MAP_FULL_CYC_GRP7 : (Group 7 pm_isu_rename) Cycles XER mapper full
+event:0X0071 counters:1 um:zero minimum:1000 name:PM_CR_MAP_FULL_CYC_GRP7 : (Group 7 pm_isu_rename) Cycles CR logical operation mapper full
+event:0X0072 counters:2 um:zero minimum:1000 name:PM_CRQ_FULL_CYC_GRP7 : (Group 7 pm_isu_rename) Cycles CR issue queue full
+event:0X0073 counters:3 um:zero minimum:1000 name:PM_GRP_DISP_BLK_SB_CYC_GRP7 : (Group 7 pm_isu_rename) Cycles group dispatch blocked by scoreboard
+event:0X0074 counters:4 um:zero minimum:1000 name:PM_LR_CTR_MAP_FULL_CYC_GRP7 : (Group 7 pm_isu_rename) Cycles LR/CTR mapper full
+event:0X0075 counters:5 um:zero minimum:1000 name:PM_INST_DISP_GRP7 : (Group 7 pm_isu_rename) Instructions dispatched
+event:0X0076 counters:6 um:zero minimum:10000 name:PM_INST_CMPL_GRP7 : (Group 7 pm_isu_rename) Instructions completed
+event:0X0077 counters:7 um:zero minimum:10000 name:PM_CYC_GRP7 : (Group 7 pm_isu_rename) Processor cycles
+
+#Group 8 pm_isu_queues1, ISU Rename Pool Events
+event:0X0080 counters:0 um:zero minimum:1000 name:PM_FPU0_FULL_CYC_GRP8 : (Group 8 pm_isu_queues1) Cycles FPU0 issue queue full
+event:0X0081 counters:1 um:zero minimum:1000 name:PM_FPU1_FULL_CYC_GRP8 : (Group 8 pm_isu_queues1) Cycles FPU1 issue queue full
+event:0X0082 counters:2 um:zero minimum:1000 name:PM_FXLS0_FULL_CYC_GRP8 : (Group 8 pm_isu_queues1) Cycles FXU0/LS0 queue full
+event:0X0083 counters:3 um:zero minimum:1000 name:PM_FXLS1_FULL_CYC_GRP8 : (Group 8 pm_isu_queues1) Cycles FXU1/LS1 queue full
+event:0X0084 counters:4 um:zero minimum:10000 name:PM_CYC_GRP8 : (Group 8 pm_isu_queues1) Processor cycles
+event:0X0085 counters:5 um:zero minimum:10000 name:PM_INST_CMPL_GRP8 : (Group 8 pm_isu_queues1) Instructions completed
+event:0X0086 counters:6 um:zero minimum:1000 name:PM_LSU_LRQ_FULL_CYC_GRP8 : (Group 8 pm_isu_queues1) Cycles LRQ full
+event:0X0087 counters:7 um:zero minimum:1000 name:PM_LSU_SRQ_FULL_CYC_GRP8 : (Group 8 pm_isu_queues1) Cycles SRQ full
+
+#Group 9 pm_isu_flow, ISU Instruction Flow Events
+event:0X0090 counters:0 um:zero minimum:1000 name:PM_INST_DISP_GRP9 : (Group 9 pm_isu_flow) Instructions dispatched
+event:0X0091 counters:1 um:zero minimum:10000 name:PM_CYC_GRP9 : (Group 9 pm_isu_flow) Processor cycles
+event:0X0092 counters:2 um:zero minimum:1000 name:PM_FXU0_FIN_GRP9 : (Group 9 pm_isu_flow) FXU0 produced a result
+event:0X0093 counters:3 um:zero minimum:1000 name:PM_FXU1_FIN_GRP9 : (Group 9 pm_isu_flow) FXU1 produced a result
+event:0X0094 counters:4 um:zero minimum:1000 name:PM_GRP_DISP_VALID_GRP9 : (Group 9 pm_isu_flow) Group dispatch valid
+event:0X0095 counters:5 um:zero minimum:1000 name:PM_GRP_DISP_REJECT_GRP9 : (Group 9 pm_isu_flow) Group dispatch rejected
+event:0X0096 counters:6 um:zero minimum:10000 name:PM_INST_CMPL_GRP9 : (Group 9 pm_isu_flow) Instructions completed
+event:0X0097 counters:7 um:zero minimum:10000 name:PM_CYC_GRP9 : (Group 9 pm_isu_flow) Processor cycles
+
+#Group 10 pm_isu_work, ISU Indicators of Work Blockage
+event:0X00A0 counters:0 um:zero minimum:1000 name:PM_GCT_EMPTY_CYC_GRP10 : (Group 10 pm_isu_work) Cycles GCT empty
+event:0X00A1 counters:1 um:zero minimum:1000 name:PM_WORK_HELD_GRP10 : (Group 10 pm_isu_work) Work held
+event:0X00A2 counters:2 um:zero minimum:1000 name:PM_STOP_COMPLETION_GRP10 : (Group 10 pm_isu_work) Completion stopped
+event:0X00A3 counters:3 um:zero minimum:1000 name:PM_EE_OFF_EXT_INT_GRP10 : (Group 10 pm_isu_work) Cycles MSR(EE) bit off and external interrupt pending
+event:0X00A4 counters:4 um:zero minimum:10000 name:PM_CYC_GRP10 : (Group 10 pm_isu_work) Processor cycles
+event:0X00A5 counters:5 um:zero minimum:10000 name:PM_INST_CMPL_GRP10 : (Group 10 pm_isu_work) Instructions completed
+event:0X00A6 counters:6 um:zero minimum:1000 name:PM_EE_OFF_GRP10 : (Group 10 pm_isu_work) Cycles MSR(EE) bit off
+event:0X00A7 counters:7 um:zero minimum:1000 name:PM_EXT_INT_GRP10 : (Group 10 pm_isu_work) External interrupts
+
+#Group 11 pm_fpu3, Floating Point events by unit
+event:0X00B0 counters:0 um:zero minimum:1000 name:PM_FPU0_FDIV_GRP11 : (Group 11 pm_fpu3) FPU0 executed FDIV instruction
+event:0X00B1 counters:1 um:zero minimum:1000 name:PM_FPU1_FDIV_GRP11 : (Group 11 pm_fpu3) FPU1 executed FDIV instruction
+event:0X00B2 counters:2 um:zero minimum:1000 name:PM_FPU0_FRSP_FCONV_GRP11 : (Group 11 pm_fpu3) FPU0 executed FRSP or FCONV instructions
+event:0X00B3 counters:3 um:zero minimum:1000 name:PM_FPU1_FRSP_FCONV_GRP11 : (Group 11 pm_fpu3) FPU1 executed FRSP or FCONV instructions
+event:0X00B4 counters:4 um:zero minimum:1000 name:PM_FPU0_FMA_GRP11 : (Group 11 pm_fpu3) FPU0 executed multiply-add instruction
+event:0X00B5 counters:5 um:zero minimum:1000 name:PM_FPU1_FMA_GRP11 : (Group 11 pm_fpu3) FPU1 executed multiply-add instruction
+event:0X00B6 counters:6 um:zero minimum:10000 name:PM_INST_CMPL_GRP11 : (Group 11 pm_fpu3) Instructions completed
+event:0X00B7 counters:7 um:zero minimum:10000 name:PM_CYC_GRP11 : (Group 11 pm_fpu3) Processor cycles
+
+#Group 12 pm_fpu4, Floating Point events by unit
+event:0X00C0 counters:0 um:zero minimum:1000 name:PM_FPU0_FSQRT_GRP12 : (Group 12 pm_fpu4) FPU0 executed FSQRT instruction
+event:0X00C1 counters:1 um:zero minimum:1000 name:PM_FPU1_FSQRT_GRP12 : (Group 12 pm_fpu4) FPU1 executed FSQRT instruction
+event:0X00C2 counters:2 um:zero minimum:1000 name:PM_FPU0_FIN_GRP12 : (Group 12 pm_fpu4) FPU0 produced a result
+event:0X00C3 counters:3 um:zero minimum:1000 name:PM_FPU1_FIN_GRP12 : (Group 12 pm_fpu4) FPU1 produced a result
+event:0X00C4 counters:4 um:zero minimum:1000 name:PM_FPU0_ALL_GRP12 : (Group 12 pm_fpu4) FPU0 executed add, mult, sub, cmp or sel instruction
+event:0X00C5 counters:5 um:zero minimum:1000 name:PM_FPU1_ALL_GRP12 : (Group 12 pm_fpu4) FPU1 executed add, mult, sub, cmp or sel instruction
+event:0X00C6 counters:6 um:zero minimum:10000 name:PM_INST_CMPL_GRP12 : (Group 12 pm_fpu4) Instructions completed
+event:0X00C7 counters:7 um:zero minimum:10000 name:PM_CYC_GRP12 : (Group 12 pm_fpu4) Processor cycles
+
+#Group 13 pm_fpu5, Floating Point events by unit
+event:0X00D0 counters:0 um:zero minimum:1000 name:PM_FPU0_DENORM_GRP13 : (Group 13 pm_fpu5) FPU0 received denormalized data
+event:0X00D1 counters:1 um:zero minimum:1000 name:PM_FPU1_DENORM_GRP13 : (Group 13 pm_fpu5) FPU1 received denormalized data
+event:0X00D2 counters:2 um:zero minimum:1000 name:PM_FPU0_FMOV_FEST_GRP13 : (Group 13 pm_fpu5) FPU0 executed FMOV or FEST instructions
+event:0X00D3 counters:3 um:zero minimum:1000 name:PM_FPU1_FMOV_FEST_GRP13 : (Group 13 pm_fpu5) FPU1 executing FMOV or FEST instructions
+event:0X00D4 counters:4 um:zero minimum:10000 name:PM_CYC_GRP13 : (Group 13 pm_fpu5) Processor cycles
+event:0X00D5 counters:5 um:zero minimum:10000 name:PM_INST_CMPL_GRP13 : (Group 13 pm_fpu5) Instructions completed
+event:0X00D6 counters:6 um:zero minimum:1000 name:PM_FPU0_FEST_GRP13 : (Group 13 pm_fpu5) FPU0 executed FEST instruction
+event:0X00D7 counters:7 um:zero minimum:1000 name:PM_FPU1_FEST_GRP13 : (Group 13 pm_fpu5) FPU1 executed FEST instruction
+
+#Group 14 pm_fpu7, Floating Point events by unit
+event:0X00E0 counters:0 um:zero minimum:1000 name:PM_FPU0_STALL3_GRP14 : (Group 14 pm_fpu7) FPU0 stalled in pipe3
+event:0X00E1 counters:1 um:zero minimum:1000 name:PM_FPU1_STALL3_GRP14 : (Group 14 pm_fpu7) FPU1 stalled in pipe3
+event:0X00E2 counters:2 um:zero minimum:1000 name:PM_FPU0_FIN_GRP14 : (Group 14 pm_fpu7) FPU0 produced a result
+event:0X00E3 counters:3 um:zero minimum:1000 name:PM_FPU1_FIN_GRP14 : (Group 14 pm_fpu7) FPU1 produced a result
+event:0X00E4 counters:4 um:zero minimum:10000 name:PM_CYC_GRP14 : (Group 14 pm_fpu7) Processor cycles
+event:0X00E5 counters:5 um:zero minimum:10000 name:PM_INST_CMPL_GRP14 : (Group 14 pm_fpu7) Instructions completed
+event:0X00E6 counters:6 um:zero minimum:10000 name:PM_CYC_GRP14 : (Group 14 pm_fpu7) Processor cycles
+event:0X00E7 counters:7 um:zero minimum:1000 name:PM_FPU0_FPSCR_GRP14 : (Group 14 pm_fpu7) FPU0 executed FPSCR instruction
+
+#Group 15 pm_lsu_flush, LSU Flush Events
+event:0X00F0 counters:0 um:zero minimum:1000 name:PM_LSU0_FLUSH_LRQ_GRP15 : (Group 15 pm_lsu_flush) LSU0 LRQ flushes
+event:0X00F1 counters:1 um:zero minimum:1000 name:PM_LSU1_FLUSH_LRQ_GRP15 : (Group 15 pm_lsu_flush) LSU1 LRQ flushes
+event:0X00F2 counters:2 um:zero minimum:10000 name:PM_CYC_GRP15 : (Group 15 pm_lsu_flush) Processor cycles
+event:0X00F3 counters:3 um:zero minimum:10000 name:PM_CYC_GRP15 : (Group 15 pm_lsu_flush) Processor cycles
+event:0X00F4 counters:4 um:zero minimum:1000 name:PM_LSU0_FLUSH_SRQ_GRP15 : (Group 15 pm_lsu_flush) LSU0 SRQ flushes
+event:0X00F5 counters:5 um:zero minimum:1000 name:PM_LSU1_FLUSH_SRQ_GRP15 : (Group 15 pm_lsu_flush) LSU1 SRQ flushes
+event:0X00F6 counters:6 um:zero minimum:10000 name:PM_INST_CMPL_GRP15 : (Group 15 pm_lsu_flush) Instructions completed
+event:0X00F7 counters:7 um:zero minimum:10000 name:PM_CYC_GRP15 : (Group 15 pm_lsu_flush) Processor cycles
+
+#Group 16 pm_lsu_load1, LSU Load Events
+event:0X0100 counters:0 um:zero minimum:1000 name:PM_LSU0_FLUSH_ULD_GRP16 : (Group 16 pm_lsu_load1) LSU0 unaligned load flushes
+event:0X0101 counters:1 um:zero minimum:1000 name:PM_LSU1_FLUSH_ULD_GRP16 : (Group 16 pm_lsu_load1) LSU1 unaligned load flushes
+event:0X0102 counters:2 um:zero minimum:1000 name:PM_LD_REF_L1_LSU0_GRP16 : (Group 16 pm_lsu_load1) LSU0 L1 D cache load references
+event:0X0103 counters:3 um:zero minimum:1000 name:PM_LD_REF_L1_LSU1_GRP16 : (Group 16 pm_lsu_load1) LSU1 L1 D cache load references
+event:0X0104 counters:4 um:zero minimum:10000 name:PM_CYC_GRP16 : (Group 16 pm_lsu_load1) Processor cycles
+event:0X0105 counters:5 um:zero minimum:10000 name:PM_INST_CMPL_GRP16 : (Group 16 pm_lsu_load1) Instructions completed
+event:0X0106 counters:6 um:zero minimum:1000 name:PM_LD_MISS_L1_LSU0_GRP16 : (Group 16 pm_lsu_load1) LSU0 L1 D cache load misses
+event:0X0107 counters:7 um:zero minimum:1000 name:PM_LD_MISS_L1_LSU1_GRP16 : (Group 16 pm_lsu_load1) LSU1 L1 D cache load misses
+
+#Group 17 pm_lsu_store1, LSU Store Events
+event:0X0110 counters:0 um:zero minimum:1000 name:PM_LSU0_FLUSH_UST_GRP17 : (Group 17 pm_lsu_store1) LSU0 unaligned store flushes
+event:0X0111 counters:1 um:zero minimum:1000 name:PM_LSU1_FLUSH_UST_GRP17 : (Group 17 pm_lsu_store1) LSU1 unaligned store flushes
+event:0X0112 counters:2 um:zero minimum:1000 name:PM_ST_REF_L1_LSU0_GRP17 : (Group 17 pm_lsu_store1) LSU0 L1 D cache store references
+event:0X0113 counters:3 um:zero minimum:1000 name:PM_ST_REF_L1_LSU1_GRP17 : (Group 17 pm_lsu_store1) LSU1 L1 D cache store references
+event:0X0114 counters:4 um:zero minimum:10000 name:PM_CYC_GRP17 : (Group 17 pm_lsu_store1) Processor cycles
+event:0X0115 counters:5 um:zero minimum:10000 name:PM_INST_CMPL_GRP17 : (Group 17 pm_lsu_store1) Instructions completed
+event:0X0116 counters:6 um:zero minimum:1000 name:PM_ST_MISS_L1_GRP17 : (Group 17 pm_lsu_store1) L1 D cache store misses
+event:0X0117 counters:7 um:zero minimum:1000 name:PM_DC_INV_L2_GRP17 : (Group 17 pm_lsu_store1) L1 D cache entries invalidated from L2
+
+#Group 18 pm_lsu_store2, LSU Store Events
+event:0X0120 counters:0 um:zero minimum:1000 name:PM_LSU0_SRQ_STFWD_GRP18 : (Group 18 pm_lsu_store2) LSU0 SRQ store forwarded
+event:0X0121 counters:1 um:zero minimum:1000 name:PM_LSU1_SRQ_STFWD_GRP18 : (Group 18 pm_lsu_store2) LSU1 SRQ store forwarded
+event:0X0122 counters:2 um:zero minimum:1000 name:PM_ST_REF_L1_LSU0_GRP18 : (Group 18 pm_lsu_store2) LSU0 L1 D cache store references
+event:0X0123 counters:3 um:zero minimum:1000 name:PM_ST_REF_L1_LSU1_GRP18 : (Group 18 pm_lsu_store2) LSU1 L1 D cache store references
+event:0X0124 counters:4 um:zero minimum:1000 name:PM_LSU0_BUSY_GRP18 : (Group 18 pm_lsu_store2) LSU0 busy
+event:0X0125 counters:5 um:zero minimum:10000 name:PM_CYC_GRP18 : (Group 18 pm_lsu_store2) Processor cycles
+event:0X0126 counters:6 um:zero minimum:10000 name:PM_INST_CMPL_GRP18 : (Group 18 pm_lsu_store2) Instructions completed
+event:0X0127 counters:7 um:zero minimum:10000 name:PM_CYC_GRP18 : (Group 18 pm_lsu_store2) Processor cycles
+
+#Group 19 pm_lsu7, Information on the Load Store Unit
+event:0X0130 counters:0 um:zero minimum:1000 name:PM_LSU0_DERAT_MISS_GRP19 : (Group 19 pm_lsu7) LSU0 DERAT misses
+event:0X0131 counters:1 um:zero minimum:1000 name:PM_LSU1_DERAT_MISS_GRP19 : (Group 19 pm_lsu7) LSU1 DERAT misses
+event:0X0132 counters:2 um:zero minimum:10000 name:PM_CYC_GRP19 : (Group 19 pm_lsu7) Processor cycles
+event:0X0133 counters:3 um:zero minimum:10000 name:PM_CYC_GRP19 : (Group 19 pm_lsu7) Processor cycles
+event:0X0134 counters:4 um:zero minimum:10000 name:PM_INST_CMPL_GRP19 : (Group 19 pm_lsu7) Instructions completed
+event:0X0135 counters:5 um:zero minimum:10000 name:PM_CYC_GRP19 : (Group 19 pm_lsu7) Processor cycles
+event:0X0136 counters:6 um:zero minimum:1000 name:PM_L1_DCACHE_RELOAD_VALID_GRP19 : (Group 19 pm_lsu7) L1 reload data source valid
+event:0X0137 counters:7 um:zero minimum:10000 name:PM_CYC_GRP19 : (Group 19 pm_lsu7) Processor cycles
+
+#Group 20 pm_misc, Misc Events for testing
+event:0X0140 counters:0 um:zero minimum:1000 name:PM_GCT_EMPTY_CYC_GRP20 : (Group 20 pm_misc) Cycles GCT empty
+event:0X0141 counters:1 um:zero minimum:1000 name:PM_LSU_LMQ_SRQ_EMPTY_CYC_GRP20 : (Group 20 pm_misc) Cycles LMQ and SRQ empty
+event:0X0142 counters:2 um:zero minimum:1000 name:PM_HV_CYC_GRP20 : (Group 20 pm_misc) Hypervisor Cycles
+event:0X0143 counters:3 um:zero minimum:10000 name:PM_CYC_GRP20 : (Group 20 pm_misc) Processor cycles
+event:0X0144 counters:4 um:zero minimum:1000 name:PM_1PLUS_PPC_CMPL_GRP20 : (Group 20 pm_misc) One or more PPC instruction completed
+event:0X0145 counters:5 um:zero minimum:10000 name:PM_INST_CMPL_GRP20 : (Group 20 pm_misc) Instructions completed
+event:0X0146 counters:6 um:zero minimum:1000 name:PM_GRP_CMPL_GRP20 : (Group 20 pm_misc) Group completed
+event:0X0147 counters:7 um:zero minimum:1000 name:PM_TB_BIT_TRANS_GRP20 : (Group 20 pm_misc) Time Base bit transition
+
+#Group 21 pm_pe_bench1, PE Benchmarker group for FP analysis
+event:0X0150 counters:0 um:zero minimum:1000 name:PM_FPU_FDIV_GRP21 : (Group 21 pm_pe_bench1) FPU executed FDIV instruction
+event:0X0151 counters:1 um:zero minimum:1000 name:PM_FPU_FMA_GRP21 : (Group 21 pm_pe_bench1) FPU executed multiply-add instruction
+event:0X0152 counters:2 um:zero minimum:1000 name:PM_FXU_FIN_GRP21 : (Group 21 pm_pe_bench1) FXU produced a result
+event:0X0153 counters:3 um:zero minimum:1000 name:PM_FPU_FIN_GRP21 : (Group 21 pm_pe_bench1) FPU produced a result
+event:0X0154 counters:4 um:zero minimum:10000 name:PM_CYC_GRP21 : (Group 21 pm_pe_bench1) Processor cycles
+event:0X0155 counters:5 um:zero minimum:1000 name:PM_FPU_FSQRT_GRP21 : (Group 21 pm_pe_bench1) FPU executed FSQRT instruction
+event:0X0156 counters:6 um:zero minimum:10000 name:PM_INST_CMPL_GRP21 : (Group 21 pm_pe_bench1) Instructions completed
+event:0X0157 counters:7 um:zero minimum:1000 name:PM_FPU_FMOV_FEST_GRP21 : (Group 21 pm_pe_bench1) FPU executing FMOV or FEST instructions
+
+#Group 22 pm_pe_bench4, PE Benchmarker group for L1 and TLB
+event:0X0160 counters:0 um:zero minimum:1000 name:PM_DTLB_MISS_GRP22 : (Group 22 pm_pe_bench4) Data TLB misses
+event:0X0161 counters:1 um:zero minimum:1000 name:PM_ITLB_MISS_GRP22 : (Group 22 pm_pe_bench4) Instruction TLB misses
+event:0X0162 counters:2 um:zero minimum:1000 name:PM_LD_MISS_L1_GRP22 : (Group 22 pm_pe_bench4) L1 D cache load misses
+event:0X0163 counters:3 um:zero minimum:1000 name:PM_ST_MISS_L1_GRP22 : (Group 22 pm_pe_bench4) L1 D cache store misses
+event:0X0164 counters:4 um:zero minimum:10000 name:PM_CYC_GRP22 : (Group 22 pm_pe_bench4) Processor cycles
+event:0X0165 counters:5 um:zero minimum:10000 name:PM_INST_CMPL_GRP22 : (Group 22 pm_pe_bench4) Instructions completed
+event:0X0166 counters:6 um:zero minimum:1000 name:PM_ST_REF_L1_GRP22 : (Group 22 pm_pe_bench4) L1 D cache store references
+event:0X0167 counters:7 um:zero minimum:1000 name:PM_LD_REF_L1_GRP22 : (Group 22 pm_pe_bench4) L1 D cache load references
+
+#Group 23 pm_hpmcount1, Hpmcount group for L1 and TLB behavior
+event:0X0170 counters:0 um:zero minimum:1000 name:PM_DTLB_MISS_GRP23 : (Group 23 pm_hpmcount1) Data TLB misses
+event:0X0171 counters:1 um:zero minimum:1000 name:PM_LSU_LMQ_SRQ_EMPTY_CYC_GRP23 : (Group 23 pm_hpmcount1) Cycles LMQ and SRQ empty
+event:0X0172 counters:2 um:zero minimum:1000 name:PM_LD_MISS_L1_GRP23 : (Group 23 pm_hpmcount1) L1 D cache load misses
+event:0X0173 counters:3 um:zero minimum:1000 name:PM_ST_MISS_L1_GRP23 : (Group 23 pm_hpmcount1) L1 D cache store misses
+event:0X0174 counters:4 um:zero minimum:10000 name:PM_CYC_GRP23 : (Group 23 pm_hpmcount1) Processor cycles
+event:0X0175 counters:5 um:zero minimum:10000 name:PM_INST_CMPL_GRP23 : (Group 23 pm_hpmcount1) Instructions completed
+event:0X0176 counters:6 um:zero minimum:1000 name:PM_ST_REF_L1_GRP23 : (Group 23 pm_hpmcount1) L1 D cache store references
+event:0X0177 counters:7 um:zero minimum:1000 name:PM_LD_REF_L1_GRP23 : (Group 23 pm_hpmcount1) L1 D cache load references
+
+#Group 24 pm_hpmcount2, Hpmcount group for computation
+event:0X0180 counters:0 um:zero minimum:1000 name:PM_FPU_FDIV_GRP24 : (Group 24 pm_hpmcount2) FPU executed FDIV instruction
+event:0X0181 counters:1 um:zero minimum:1000 name:PM_FPU_FMA_GRP24 : (Group 24 pm_hpmcount2) FPU executed multiply-add instruction
+event:0X0182 counters:2 um:zero minimum:1000 name:PM_FPU0_FIN_GRP24 : (Group 24 pm_hpmcount2) FPU0 produced a result
+event:0X0183 counters:3 um:zero minimum:1000 name:PM_FPU1_FIN_GRP24 : (Group 24 pm_hpmcount2) FPU1 produced a result
+event:0X0184 counters:4 um:zero minimum:10000 name:PM_CYC_GRP24 : (Group 24 pm_hpmcount2) Processor cycles
+event:0X0185 counters:5 um:zero minimum:1000 name:PM_FPU_STF_GRP24 : (Group 24 pm_hpmcount2) FPU executed store instruction
+event:0X0186 counters:6 um:zero minimum:10000 name:PM_INST_CMPL_GRP24 : (Group 24 pm_hpmcount2) Instructions completed
+event:0X0187 counters:7 um:zero minimum:1000 name:PM_LSU_LDF_GRP24 : (Group 24 pm_hpmcount2) LSU executed Floating Point load instruction
+
+#Group 25 pm_l1andbr, L1 misses and branch misspredict analysis
+event:0X0190 counters:0 um:zero minimum:10000 name:PM_INST_CMPL_GRP25 : (Group 25 pm_l1andbr) Instructions completed
+event:0X0191 counters:1 um:zero minimum:10000 name:PM_CYC_GRP25 : (Group 25 pm_l1andbr) Processor cycles
+event:0X0192 counters:2 um:zero minimum:1000 name:PM_LD_MISS_L1_GRP25 : (Group 25 pm_l1andbr) L1 D cache load misses
+event:0X0193 counters:3 um:zero minimum:1000 name:PM_BR_ISSUED_GRP25 : (Group 25 pm_l1andbr) Branches issued
+event:0X0194 counters:4 um:zero minimum:1000 name:PM_LSU0_BUSY_GRP25 : (Group 25 pm_l1andbr) LSU0 busy
+event:0X0195 counters:5 um:zero minimum:10000 name:PM_CYC_GRP25 : (Group 25 pm_l1andbr) Processor cycles
+event:0X0196 counters:6 um:zero minimum:1000 name:PM_BR_MPRED_CR_GRP25 : (Group 25 pm_l1andbr) Branch mispredictions due to CR bit setting
+event:0X0197 counters:7 um:zero minimum:1000 name:PM_BR_MPRED_TA_GRP25 : (Group 25 pm_l1andbr) Branch mispredictions due to target address
+
+#Group 26 pm_imix, Instruction mix: loads, stores and branches
+event:0X01A0 counters:0 um:zero minimum:10000 name:PM_INST_CMPL_GRP26 : (Group 26 pm_imix) Instructions completed
+event:0X01A1 counters:1 um:zero minimum:10000 name:PM_CYC_GRP26 : (Group 26 pm_imix) Processor cycles
+event:0X01A2 counters:2 um:zero minimum:1000 name:PM_LD_MISS_L1_GRP26 : (Group 26 pm_imix) L1 D cache load misses
+event:0X01A3 counters:3 um:zero minimum:1000 name:PM_BR_ISSUED_GRP26 : (Group 26 pm_imix) Branches issued
+event:0X01A4 counters:4 um:zero minimum:10000 name:PM_CYC_GRP26 : (Group 26 pm_imix) Processor cycles
+event:0X01A5 counters:5 um:zero minimum:1000 name:PM_LSU0_BUSY_GRP26 : (Group 26 pm_imix) LSU0 busy
+event:0X01A6 counters:6 um:zero minimum:1000 name:PM_ST_REF_L1_GRP26 : (Group 26 pm_imix) L1 D cache store references
+event:0X01A7 counters:7 um:zero minimum:1000 name:PM_LD_REF_L1_GRP26 : (Group 26 pm_imix) L1 D cache load references
+
+#Group 27 pm_branch, SLB and branch misspredict analysis
+event:0X01B0 counters:0 um:zero minimum:10000 name:PM_RUN_CYC_GRP27 : (Group 27 pm_branch) Run cycles
+event:0X01B1 counters:1 um:zero minimum:1000 name:PM_DSLB_MISS_GRP27 : (Group 27 pm_branch) Data SLB misses
+event:0X01B2 counters:2 um:zero minimum:1000 name:PM_BR_ISSUED_GRP27 : (Group 27 pm_branch) Branches issued
+event:0X01B3 counters:3 um:zero minimum:1000 name:PM_BR_MPRED_CR_GRP27 : (Group 27 pm_branch) Branch mispredictions due to CR bit setting
+event:0X01B4 counters:4 um:zero minimum:1000 name:PM_ISLB_MISS_GRP27 : (Group 27 pm_branch) Instruction SLB misses
+event:0X01B5 counters:5 um:zero minimum:10000 name:PM_CYC_GRP27 : (Group 27 pm_branch) Processor cycles
+event:0X01B6 counters:6 um:zero minimum:10000 name:PM_INST_CMPL_GRP27 : (Group 27 pm_branch) Instructions completed
+event:0X01B7 counters:7 um:zero minimum:1000 name:PM_BR_MPRED_TA_GRP27 : (Group 27 pm_branch) Branch mispredictions due to target address
+
+#Group 28 pm_data, data source and LMQ
+event:0X01C0 counters:0 um:zero minimum:1000 name:PM_DATA_FROM_L2_GRP28 : (Group 28 pm_data) Data loaded from L2
+event:0X01C1 counters:1 um:zero minimum:1000 name:PM_DATA_FROM_MEM_GRP28 : (Group 28 pm_data) Data loaded from memory
+event:0X01C2 counters:2 um:zero minimum:10000 name:PM_INST_CMPL_GRP28 : (Group 28 pm_data) Instructions completed
+event:0X01C3 counters:3 um:zero minimum:10000 name:PM_CYC_GRP28 : (Group 28 pm_data) Processor cycles
+event:0X01C4 counters:4 um:zero minimum:10000 name:PM_INST_CMPL_GRP28 : (Group 28 pm_data) Instructions completed
+event:0X01C5 counters:5 um:zero minimum:10000 name:PM_CYC_GRP28 : (Group 28 pm_data) Processor cycles
+event:0X01C6 counters:6 um:zero minimum:1000 name:PM_LSU_LMQ_S0_ALLOC_GRP28 : (Group 28 pm_data) LMQ slot 0 allocated
+event:0X01C7 counters:7 um:zero minimum:1000 name:PM_LSU_LMQ_S0_VALID_GRP28 : (Group 28 pm_data) LMQ slot 0 valid
+
+#Group 29 pm_tlb, TLB and LRQ plus data prefetch
+event:0X01D0 counters:0 um:zero minimum:1000 name:PM_DTLB_MISS_GRP29 : (Group 29 pm_tlb) Data TLB misses
+event:0X01D1 counters:1 um:zero minimum:1000 name:PM_ITLB_MISS_GRP29 : (Group 29 pm_tlb) Instruction TLB misses
+event:0X01D2 counters:2 um:zero minimum:10000 name:PM_INST_CMPL_GRP29 : (Group 29 pm_tlb) Instructions completed
+event:0X01D3 counters:3 um:zero minimum:10000 name:PM_CYC_GRP29 : (Group 29 pm_tlb) Processor cycles
+event:0X01D4 counters:4 um:zero minimum:1000 name:PM_LSU_LRQ_S0_ALLOC_GRP29 : (Group 29 pm_tlb) LRQ slot 0 allocated
+event:0X01D5 counters:5 um:zero minimum:1000 name:PM_LSU_LRQ_S0_VALID_GRP29 : (Group 29 pm_tlb) LRQ slot 0 valid
+event:0X01D6 counters:6 um:zero minimum:1000 name:PM_L1_PREF_GRP29 : (Group 29 pm_tlb) L1 cache data prefetches
+event:0X01D7 counters:7 um:zero minimum:1000 name:PM_L2_PREF_GRP29 : (Group 29 pm_tlb) L2 cache prefetches
+
+#Group 30 pm_isource, inst source and tablewalk
+event:0X01E0 counters:0 um:zero minimum:1000 name:PM_INST_FROM_L2_GRP30 : (Group 30 pm_isource) Instructions fetched from L2
+event:0X01E1 counters:1 um:zero minimum:1000 name:PM_INST_FROM_MEM_GRP30 : (Group 30 pm_isource) Instruction fetched from memory
+event:0X01E2 counters:2 um:zero minimum:1000 name:PM_HV_CYC_GRP30 : (Group 30 pm_isource) Hypervisor Cycles
+event:0X01E3 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP30 : (Group 30 pm_isource) Instructions completed
+event:0X01E4 counters:4 um:zero minimum:1000 name:PM_DATA_TABLEWALK_CYC_GRP30 : (Group 30 pm_isource) Cycles doing data tablewalks
+event:0X01E5 counters:5 um:zero minimum:10000 name:PM_CYC_GRP30 : (Group 30 pm_isource) Processor cycles
+event:0X01E6 counters:6 um:zero minimum:1000 name:PM_GRP_CMPL_GRP30 : (Group 30 pm_isource) Group completed
+event:0X01E7 counters:7 um:zero minimum:1000 name:PM_DC_INV_L2_GRP30 : (Group 30 pm_isource) L1 D cache entries invalidated from L2
+
+#Group 31 pm_sync, Sync and SRQ
+event:0X01F0 counters:0 um:zero minimum:1000 name:PM_LSU_SRQ_S0_ALLOC_GRP31 : (Group 31 pm_sync) SRQ slot 0 allocated
+event:0X01F1 counters:1 um:zero minimum:1000 name:PM_LSU_SRQ_S0_VALID_GRP31 : (Group 31 pm_sync) SRQ slot 0 valid
+event:0X01F2 counters:2 um:zero minimum:1000 name:PM_LD_MISS_L1_GRP31 : (Group 31 pm_sync) L1 D cache load misses
+event:0X01F3 counters:3 um:zero minimum:1000 name:PM_LSU_SRQ_SYNC_CYC_GRP31 : (Group 31 pm_sync) SRQ sync duration
+event:0X01F4 counters:4 um:zero minimum:10000 name:PM_INST_CMPL_GRP31 : (Group 31 pm_sync) Instructions completed
+event:0X01F5 counters:5 um:zero minimum:10000 name:PM_INST_CMPL_GRP31 : (Group 31 pm_sync) Instructions completed
+event:0X01F6 counters:6 um:zero minimum:10000 name:PM_CYC_GRP31 : (Group 31 pm_sync) Processor cycles
+event:0X01F7 counters:7 um:zero minimum:1000 name:PM_LD_REF_L1_GRP31 : (Group 31 pm_sync) L1 D cache load references
+
+#Group 32 pm_ierat, IERAT
+event:0X0200 counters:0 um:zero minimum:1000 name:PM_INST_FROM_L1_GRP32 : (Group 32 pm_ierat) Instruction fetched from L1
+event:0X0201 counters:1 um:zero minimum:10000 name:PM_INST_CMPL_GRP32 : (Group 32 pm_ierat) Instructions completed
+event:0X0202 counters:2 um:zero minimum:1000 name:PM_IERAT_XLATE_WR_GRP32 : (Group 32 pm_ierat) Translation written to ierat
+event:0X0203 counters:3 um:zero minimum:10000 name:PM_CYC_GRP32 : (Group 32 pm_ierat) Processor cycles
+event:0X0204 counters:4 um:zero minimum:10000 name:PM_INST_CMPL_GRP32 : (Group 32 pm_ierat) Instructions completed
+event:0X0205 counters:5 um:zero minimum:10000 name:PM_CYC_GRP32 : (Group 32 pm_ierat) Processor cycles
+event:0X0206 counters:6 um:zero minimum:10000 name:PM_INST_CMPL_GRP32 : (Group 32 pm_ierat) Instructions completed
+event:0X0207 counters:7 um:zero minimum:10000 name:PM_CYC_GRP32 : (Group 32 pm_ierat) Processor cycles
+
+#Group 33 pm_derat, DERAT
+event:0X0210 counters:0 um:zero minimum:1000 name:PM_GCT_EMPTY_CYC_GRP33 : (Group 33 pm_derat) Cycles GCT empty
+event:0X0211 counters:1 um:zero minimum:1000 name:PM_GRP_DISP_VALID_GRP33 : (Group 33 pm_derat) Group dispatch valid
+event:0X0212 counters:2 um:zero minimum:1000 name:PM_L1_DCACHE_RELOAD_VALID_GRP33 : (Group 33 pm_derat) L1 reload data source valid
+event:0X0213 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP33 : (Group 33 pm_derat) Instructions completed
+event:0X0214 counters:4 um:zero minimum:1000 name:PM_INST_DISP_GRP33 : (Group 33 pm_derat) Instructions dispatched
+event:0X0215 counters:5 um:zero minimum:1000 name:PM_LSU_DERAT_MISS_GRP33 : (Group 33 pm_derat) DERAT misses
+event:0X0216 counters:6 um:zero minimum:1000 name:PM_ST_REF_L1_GRP33 : (Group 33 pm_derat) L1 D cache store references
+event:0X0217 counters:7 um:zero minimum:10000 name:PM_CYC_GRP33 : (Group 33 pm_derat) Processor cycles
+
+#Group 34 pm_mark1, Information on marked instructions
+event:0X0220 counters:0 um:zero minimum:1000 name:PM_MRK_LD_MISS_L1_GRP34 : (Group 34 pm_mark1) Marked L1 D cache load misses
+event:0X0221 counters:1 um:zero minimum:1000 name:PM_THRESH_TIMEO_GRP34 : (Group 34 pm_mark1) Threshold timeout
+event:0X0222 counters:2 um:zero minimum:10000 name:PM_CYC_GRP34 : (Group 34 pm_mark1) Processor cycles
+event:0X0223 counters:3 um:zero minimum:1000 name:PM_MRK_GRP_CMPL_GRP34 : (Group 34 pm_mark1) Marked group completed
+event:0X0224 counters:4 um:zero minimum:1000 name:PM_GRP_MRK_GRP34 : (Group 34 pm_mark1) Group marked in IDU
+event:0X0225 counters:5 um:zero minimum:1000 name:PM_MRK_GRP_ISSUED_GRP34 : (Group 34 pm_mark1) Marked group issued
+event:0X0226 counters:6 um:zero minimum:1000 name:PM_MRK_INST_FIN_GRP34 : (Group 34 pm_mark1) Marked instruction finished
+event:0X0227 counters:7 um:zero minimum:10000 name:PM_INST_CMPL_GRP34 : (Group 34 pm_mark1) Instructions completed
+
+#Group 35 pm_mark2, Marked Instructions Processing Flow
+event:0X0230 counters:0 um:zero minimum:1000 name:PM_MRK_GRP_DISP_GRP35 : (Group 35 pm_mark2) Marked group dispatched
+event:0X0231 counters:1 um:zero minimum:1000 name:PM_MRK_BRU_FIN_GRP35 : (Group 35 pm_mark2) Marked instruction BRU processing finished
+event:0X0232 counters:2 um:zero minimum:10000 name:PM_CYC_GRP35 : (Group 35 pm_mark2) Processor cycles
+event:0X0233 counters:3 um:zero minimum:1000 name:PM_MRK_CRU_FIN_GRP35 : (Group 35 pm_mark2) Marked instruction CRU processing finished
+event:0X0234 counters:4 um:zero minimum:1000 name:PM_GRP_MRK_GRP35 : (Group 35 pm_mark2) Group marked in IDU
+event:0X0235 counters:5 um:zero minimum:1000 name:PM_MRK_FXU_FIN_GRP35 : (Group 35 pm_mark2) Marked instruction FXU processing finished
+event:0X0236 counters:6 um:zero minimum:1000 name:PM_MRK_FPU_FIN_GRP35 : (Group 35 pm_mark2) Marked instruction FPU processing finished
+event:0X0237 counters:7 um:zero minimum:1000 name:PM_MRK_LSU_FIN_GRP35 : (Group 35 pm_mark2) Marked instruction LSU processing finished
+
+#Group 36 pm_mark3, Marked Stores Processing Flow
+event:0X0240 counters:0 um:zero minimum:1000 name:PM_MRK_ST_CMPL_GRP36 : (Group 36 pm_mark3) Marked store instruction completed
+event:0X0241 counters:1 um:zero minimum:10000 name:PM_CYC_GRP36 : (Group 36 pm_mark3) Processor cycles
+event:0X0242 counters:2 um:zero minimum:1000 name:PM_MRK_ST_CMPL_INT_GRP36 : (Group 36 pm_mark3) Marked store completed with intervention
+event:0X0243 counters:3 um:zero minimum:1000 name:PM_MRK_GRP_CMPL_GRP36 : (Group 36 pm_mark3) Marked group completed
+event:0X0244 counters:4 um:zero minimum:1000 name:PM_MRK_GRP_TIMEO_GRP36 : (Group 36 pm_mark3) Marked group completion timeout
+event:0X0245 counters:5 um:zero minimum:1000 name:PM_MRK_ST_GPS_GRP36 : (Group 36 pm_mark3) Marked store sent to GPS
+event:0X0246 counters:6 um:zero minimum:1000 name:PM_MRK_LSU_SRQ_INST_VALID_GRP36 : (Group 36 pm_mark3) Marked instruction valid in SRQ
+event:0X0247 counters:7 um:zero minimum:10000 name:PM_INST_CMPL_GRP36 : (Group 36 pm_mark3) Instructions completed
+
+#Group 37 pm_lsu_mark1, Load Store Unit Marked Events
+event:0X0250 counters:0 um:zero minimum:1000 name:PM_MRK_ST_MISS_L1_GRP37 : (Group 37 pm_lsu_mark1) Marked L1 D cache store misses
+event:0X0251 counters:1 um:zero minimum:1000 name:PM_MRK_IMR_RELOAD_GRP37 : (Group 37 pm_lsu_mark1) Marked IMR reloaded
+event:0X0252 counters:2 um:zero minimum:1000 name:PM_MRK_LSU0_FLUSH_UST_GRP37 : (Group 37 pm_lsu_mark1) LSU0 marked unaligned store flushes
+event:0X0253 counters:3 um:zero minimum:1000 name:PM_MRK_LSU1_FLUSH_UST_GRP37 : (Group 37 pm_lsu_mark1) LSU1 marked unaligned store flushes
+event:0X0254 counters:4 um:zero minimum:10000 name:PM_CYC_GRP37 : (Group 37 pm_lsu_mark1) Processor cycles
+event:0X0255 counters:5 um:zero minimum:10000 name:PM_INST_CMPL_GRP37 : (Group 37 pm_lsu_mark1) Instructions completed
+event:0X0256 counters:6 um:zero minimum:1000 name:PM_MRK_LSU0_FLUSH_ULD_GRP37 : (Group 37 pm_lsu_mark1) LSU0 marked unaligned load flushes
+event:0X0257 counters:7 um:zero minimum:1000 name:PM_MRK_LSU1_FLUSH_ULD_GRP37 : (Group 37 pm_lsu_mark1) LSU1 marked unaligned load flushes
+
+#Group 38 pm_lsu_mark2, Load Store Unit Marked Events
+event:0X0260 counters:0 um:zero minimum:1000 name:PM_MRK_LD_MISS_L1_LSU0_GRP38 : (Group 38 pm_lsu_mark2) LSU0 L1 D cache load misses
+event:0X0261 counters:1 um:zero minimum:1000 name:PM_MRK_LD_MISS_L1_LSU1_GRP38 : (Group 38 pm_lsu_mark2) LSU1 L1 D cache load misses
+event:0X0262 counters:2 um:zero minimum:1000 name:PM_MRK_LSU0_FLUSH_LRQ_GRP38 : (Group 38 pm_lsu_mark2) LSU0 marked LRQ flushes
+event:0X0263 counters:3 um:zero minimum:1000 name:PM_MRK_LSU1_FLUSH_LRQ_GRP38 : (Group 38 pm_lsu_mark2) LSU1 marked LRQ flushes
+event:0X0264 counters:4 um:zero minimum:10000 name:PM_CYC_GRP38 : (Group 38 pm_lsu_mark2) Processor cycles
+event:0X0265 counters:5 um:zero minimum:10000 name:PM_INST_CMPL_GRP38 : (Group 38 pm_lsu_mark2) Instructions completed
+event:0X0266 counters:6 um:zero minimum:1000 name:PM_MRK_LSU0_FLUSH_SRQ_GRP38 : (Group 38 pm_lsu_mark2) LSU0 marked SRQ flushes
+event:0X0267 counters:7 um:zero minimum:1000 name:PM_MRK_LSU1_FLUSH_SRQ_GRP38 : (Group 38 pm_lsu_mark2) LSU1 marked SRQ flushes
+
+#Group 39 pm_fxu1, Fixed Point events by unit
+event:0X0270 counters:0 um:zero minimum:10000 name:PM_INST_CMPL_GRP39 : (Group 39 pm_fxu1) Instructions completed
+event:0X0271 counters:1 um:zero minimum:10000 name:PM_INST_CMPL_GRP39 : (Group 39 pm_fxu1) Instructions completed
+event:0X0272 counters:2 um:zero minimum:1000 name:PM_FXU_FIN_GRP39 : (Group 39 pm_fxu1) FXU produced a result
+event:0X0273 counters:3 um:zero minimum:1000 name:PM_FXU1_BUSY_FXU0_IDLE_GRP39 : (Group 39 pm_fxu1) FXU1 busy FXU0 idle
+event:0X0274 counters:4 um:zero minimum:1000 name:PM_FXU_IDLE_GRP39 : (Group 39 pm_fxu1) FXU idle
+event:0X0275 counters:5 um:zero minimum:1000 name:PM_FXU_BUSY_GRP39 : (Group 39 pm_fxu1) FXU busy
+event:0X0276 counters:6 um:zero minimum:1000 name:PM_FXU0_BUSY_FXU1_IDLE_GRP39 : (Group 39 pm_fxu1) FXU0 busy FXU1 idle
+event:0X0277 counters:7 um:zero minimum:10000 name:PM_CYC_GRP39 : (Group 39 pm_fxu1) Processor cycles
+
+#Group 40 pm_fxu2, Fixed Point events by unit
+event:0X0280 counters:0 um:zero minimum:10000 name:PM_INST_CMPL_GRP40 : (Group 40 pm_fxu2) Instructions completed
+event:0X0281 counters:1 um:zero minimum:10000 name:PM_CYC_GRP40 : (Group 40 pm_fxu2) Processor cycles
+event:0X0282 counters:2 um:zero minimum:1000 name:PM_FXLS1_FULL_CYC_GRP40 : (Group 40 pm_fxu2) Cycles FXU1/LS1 queue full
+event:0X0283 counters:3 um:zero minimum:1000 name:PM_FXLS0_FULL_CYC_GRP40 : (Group 40 pm_fxu2) Cycles FXU0/LS0 queue full
+event:0X0284 counters:4 um:zero minimum:1000 name:PM_FXU_IDLE_GRP40 : (Group 40 pm_fxu2) FXU idle
+event:0X0285 counters:5 um:zero minimum:1000 name:PM_FXU_BUSY_GRP40 : (Group 40 pm_fxu2) FXU busy
+event:0X0286 counters:6 um:zero minimum:1000 name:PM_FXU0_FIN_GRP40 : (Group 40 pm_fxu2) FXU0 produced a result
+event:0X0287 counters:7 um:zero minimum:1000 name:PM_FXU1_FIN_GRP40 : (Group 40 pm_fxu2) FXU1 produced a result
+
+#Group 41 pm_ifu, pm_ifu
+event:0X0290 counters:0 um:zero minimum:1000 name:PM_INST_FROM_L1_GRP41 : (Group 41 pm_ifu) Instruction fetched from L1
+event:0X0291 counters:1 um:zero minimum:1000 name:PM_INST_FROM_MEM_GRP41 : (Group 41 pm_ifu) Instruction fetched from memory
+event:0X0292 counters:2 um:zero minimum:1000 name:PM_INST_FROM_PREF_GRP41 : (Group 41 pm_ifu) Instructions fetched from prefetch
+event:0X0293 counters:3 um:zero minimum:1000 name:PM_0INST_FETCH_GRP41 : (Group 41 pm_ifu) No instructions fetched
+event:0X0294 counters:4 um:zero minimum:1000 name:PM_INST_FETCH_CYC_GRP41 : (Group 41 pm_ifu) Cycles at least 1 instruction fetched
+event:0X0295 counters:5 um:zero minimum:1000 name:PM_INST_FROM_L25_MOD_GRP41 : (Group 41 pm_ifu) Instruction fetched from L2.5 modified
+event:0X0296 counters:6 um:zero minimum:10000 name:PM_CYC_GRP41 : (Group 41 pm_ifu) Processor cycles
+event:0X0297 counters:7 um:zero minimum:10000 name:PM_INST_CMPL_GRP41 : (Group 41 pm_ifu) Instructions completed
+
+#Group 42 pm_cpi_stack1, CPI stack analysis
+event:0X02A0 counters:0 um:zero minimum:1000 name:PM_LSU0_BUSY_GRP42 : (Group 42 pm_cpi_stack1) LSU0 busy
+event:0X02A1 counters:1 um:zero minimum:1000 name:PM_LSU1_BUSY_GRP42 : (Group 42 pm_cpi_stack1) LSU1 busy
+event:0X02A2 counters:2 um:zero minimum:1000 name:PM_LSU_FLUSH_GRP42 : (Group 42 pm_cpi_stack1) Flush initiated by LSU
+event:0X02A3 counters:3 um:zero minimum:1000 name:PM_FLUSH_LSU_BR_MPRED_GRP42 : (Group 42 pm_cpi_stack1) Flush caused by LSU or branch mispredict
+event:0X02A4 counters:4 um:zero minimum:1000 name:PM_CMPLU_STALL_LSU_GRP42 : (Group 42 pm_cpi_stack1) Completion stall caused by LSU instruction
+event:0X02A5 counters:5 um:zero minimum:10000 name:PM_INST_CMPL_GRP42 : (Group 42 pm_cpi_stack1) Instructions completed
+event:0X02A6 counters:6 um:zero minimum:1000 name:PM_CMPLU_STALL_ERAT_MISS_GRP42 : (Group 42 pm_cpi_stack1) Completion stall caused by ERAT miss
+event:0X02A7 counters:7 um:zero minimum:10000 name:PM_CYC_GRP42 : (Group 42 pm_cpi_stack1) Processor cycles
+
+#Group 43 pm_cpi_stack2, CPI stack analysis
+event:0X02B0 counters:0 um:zero minimum:1000 name:PM_CMPLU_STALL_OTHER_GRP43 : (Group 43 pm_cpi_stack2) Completion stall caused by other reason
+event:0X02B1 counters:1 um:zero minimum:10000 name:PM_INST_CMPL_GRP43 : (Group 43 pm_cpi_stack2) Instructions completed
+event:0X02B2 counters:2 um:zero minimum:1000 name:PM_LD_MISS_L1_GRP43 : (Group 43 pm_cpi_stack2) L1 D cache load misses
+event:0X02B3 counters:3 um:zero minimum:10000 name:PM_CYC_GRP43 : (Group 43 pm_cpi_stack2) Processor cycles
+event:0X02B4 counters:4 um:zero minimum:1000 name:PM_CMPLU_STALL_DCACHE_MISS_GRP43 : (Group 43 pm_cpi_stack2) Completion stall caused by D cache miss
+event:0X02B5 counters:5 um:zero minimum:1000 name:PM_LSU_DERAT_MISS_GRP43 : (Group 43 pm_cpi_stack2) DERAT misses
+event:0X02B6 counters:6 um:zero minimum:1000 name:PM_CMPLU_STALL_REJECT_GRP43 : (Group 43 pm_cpi_stack2) Completion stall caused by reject
+event:0X02B7 counters:7 um:zero minimum:1000 name:PM_LD_REF_L1_GRP43 : (Group 43 pm_cpi_stack2) L1 D cache load references
+
+#Group 44 pm_cpi_stack3, CPI stack analysis
+event:0X02C0 counters:0 um:zero minimum:10000 name:PM_INST_CMPL_GRP44 : (Group 44 pm_cpi_stack3) Instructions completed
+event:0X02C1 counters:1 um:zero minimum:1000 name:PM_GCT_EMPTY_SRQ_FULL_GRP44 : (Group 44 pm_cpi_stack3) GCT empty caused by SRQ full
+event:0X02C2 counters:2 um:zero minimum:1000 name:PM_FXU_FIN_GRP44 : (Group 44 pm_cpi_stack3) FXU produced a result
+event:0X02C3 counters:3 um:zero minimum:1000 name:PM_FPU_FIN_GRP44 : (Group 44 pm_cpi_stack3) FPU produced a result
+event:0X02C4 counters:4 um:zero minimum:1000 name:PM_CMPLU_STALL_FXU_GRP44 : (Group 44 pm_cpi_stack3) Completion stall caused by FXU instruction
+event:0X02C5 counters:5 um:zero minimum:1000 name:PM_FXU_BUSY_GRP44 : (Group 44 pm_cpi_stack3) FXU busy
+event:0X02C6 counters:6 um:zero minimum:1000 name:PM_CMPLU_STALL_DIV_GRP44 : (Group 44 pm_cpi_stack3) Completion stall caused by DIV instruction
+event:0X02C7 counters:7 um:zero minimum:10000 name:PM_CYC_GRP44 : (Group 44 pm_cpi_stack3) Processor cycles
+
+#Group 45 pm_cpi_stack4, CPI stack analysis
+event:0X02D0 counters:0 um:zero minimum:1000 name:PM_FPU_FDIV_GRP45 : (Group 45 pm_cpi_stack4) FPU executed FDIV instruction
+event:0X02D1 counters:1 um:zero minimum:1000 name:PM_FPU_FMA_GRP45 : (Group 45 pm_cpi_stack4) FPU executed multiply-add instruction
+event:0X02D2 counters:2 um:zero minimum:10000 name:PM_INST_CMPL_GRP45 : (Group 45 pm_cpi_stack4) Instructions completed
+event:0X02D3 counters:3 um:zero minimum:1000 name:PM_IOPS_CMPL_GRP45 : (Group 45 pm_cpi_stack4) IOPS instructions completed
+event:0X02D4 counters:4 um:zero minimum:1000 name:PM_CMPLU_STALL_FDIV_GRP45 : (Group 45 pm_cpi_stack4) Completion stall caused by FDIV or FQRT instruction
+event:0X02D5 counters:5 um:zero minimum:1000 name:PM_FPU_FSQRT_GRP45 : (Group 45 pm_cpi_stack4) FPU executed FSQRT instruction
+event:0X02D6 counters:6 um:zero minimum:1000 name:PM_CMPLU_STALL_FPU_GRP45 : (Group 45 pm_cpi_stack4) Completion stall caused by FPU instruction
+event:0X02D7 counters:7 um:zero minimum:10000 name:PM_CYC_GRP45 : (Group 45 pm_cpi_stack4) Processor cycles
+
+#Group 46 pm_cpi_stack5, CPI stack analysis
+event:0X02E0 counters:0 um:zero minimum:1000 name:PM_GCT_EMPTY_CYC_GRP46 : (Group 46 pm_cpi_stack5) Cycles GCT empty
+event:0X02E1 counters:1 um:zero minimum:10000 name:PM_INST_CMPL_GRP46 : (Group 46 pm_cpi_stack5) Instructions completed
+event:0X02E2 counters:2 um:zero minimum:1000 name:PM_FLUSH_BR_MPRED_GRP46 : (Group 46 pm_cpi_stack5) Flush caused by branch mispredict
+event:0X02E3 counters:3 um:zero minimum:1000 name:PM_BR_MPRED_TA_GRP46 : (Group 46 pm_cpi_stack5) Branch mispredictions due to target address
+event:0X02E4 counters:4 um:zero minimum:1000 name:PM_GCT_EMPTY_IC_MISS_GRP46 : (Group 46 pm_cpi_stack5) GCT empty due to I cache miss
+event:0X02E5 counters:5 um:zero minimum:10000 name:PM_CYC_GRP46 : (Group 46 pm_cpi_stack5) Processor cycles
+event:0X02E6 counters:6 um:zero minimum:1000 name:PM_GCT_EMPTY_BR_MPRED_GRP46 : (Group 46 pm_cpi_stack5) GCT empty due to branch mispredict
+event:0X02E7 counters:7 um:zero minimum:1000 name:PM_L1_WRITE_CYC_GRP46 : (Group 46 pm_cpi_stack5) Cycles writing to instruction L1
+
+#Group 47 pm_data2, data source and LMQ
+event:0X02F0 counters:0 um:zero minimum:10000 name:PM_INST_CMPL_GRP47 : (Group 47 pm_data2) Instructions completed
+event:0X02F1 counters:1 um:zero minimum:10000 name:PM_INST_CMPL_GRP47 : (Group 47 pm_data2) Instructions completed
+event:0X02F2 counters:2 um:zero minimum:10000 name:PM_CYC_GRP47 : (Group 47 pm_data2) Processor cycles
+event:0X02F3 counters:3 um:zero minimum:10000 name:PM_CYC_GRP47 : (Group 47 pm_data2) Processor cycles
+event:0X02F4 counters:4 um:zero minimum:1000 name:PM_DATA_FROM_L25_SHR_GRP47 : (Group 47 pm_data2) Data loaded from L2.5 shared
+event:0X02F5 counters:5 um:zero minimum:1000 name:PM_DATA_FROM_L25_MOD_GRP47 : (Group 47 pm_data2) Data loaded from L2.5 modified
+event:0X02F6 counters:6 um:zero minimum:1000 name:PM_LSU_LMQ_S0_ALLOC_GRP47 : (Group 47 pm_data2) LMQ slot 0 allocated
+event:0X02F7 counters:7 um:zero minimum:1000 name:PM_LSU_LMQ_S0_VALID_GRP47 : (Group 47 pm_data2) LMQ slot 0 valid
+
+#Group 48 pm_fetch_branch, Instruction fetch and branch events
+event:0X0300 counters:0 um:zero minimum:1000 name:PM_INST_FROM_L2_GRP48 : (Group 48 pm_fetch_branch) Instructions fetched from L2
+event:0X0301 counters:1 um:zero minimum:1000 name:PM_INST_FROM_MEM_GRP48 : (Group 48 pm_fetch_branch) Instruction fetched from memory
+event:0X0302 counters:2 um:zero minimum:1000 name:PM_INST_FROM_PREF_GRP48 : (Group 48 pm_fetch_branch) Instructions fetched from prefetch
+event:0X0303 counters:3 um:zero minimum:1000 name:PM_BR_ISSUED_GRP48 : (Group 48 pm_fetch_branch) Branches issued
+event:0X0304 counters:4 um:zero minimum:10000 name:PM_CYC_GRP48 : (Group 48 pm_fetch_branch) Processor cycles
+event:0X0305 counters:5 um:zero minimum:10000 name:PM_INST_CMPL_GRP48 : (Group 48 pm_fetch_branch) Instructions completed
+event:0X0306 counters:6 um:zero minimum:1000 name:PM_BR_MPRED_CR_GRP48 : (Group 48 pm_fetch_branch) Branch mispredictions due to CR bit setting
+event:0X0307 counters:7 um:zero minimum:1000 name:PM_BR_MPRED_TA_GRP48 : (Group 48 pm_fetch_branch) Branch mispredictions due to target address
+
+#Group 49 pm_l1l2_miss, L1 and L2 miss events
+event:0X0310 counters:0 um:zero minimum:1000 name:PM_DATA_FROM_L2_GRP49 : (Group 49 pm_l1l2_miss) Data loaded from L2
+event:0X0311 counters:1 um:zero minimum:1000 name:PM_DATA_FROM_MEM_GRP49 : (Group 49 pm_l1l2_miss) Data loaded from memory
+event:0X0312 counters:2 um:zero minimum:10000 name:PM_INST_CMPL_GRP49 : (Group 49 pm_l1l2_miss) Instructions completed
+event:0X0313 counters:3 um:zero minimum:1000 name:PM_LD_MISS_L1_LSU0_GRP49 : (Group 49 pm_l1l2_miss) LSU0 L1 D cache load misses
+event:0X0314 counters:4 um:zero minimum:1000 name:PM_1PLUS_PPC_CMPL_GRP49 : (Group 49 pm_l1l2_miss) One or more PPC instruction completed
+event:0X0315 counters:5 um:zero minimum:10000 name:PM_CYC_GRP49 : (Group 49 pm_l1l2_miss) Processor cycles
+event:0X0316 counters:6 um:zero minimum:1000 name:PM_LD_MISS_L1_LSU1_GRP49 : (Group 49 pm_l1l2_miss) LSU1 L1 D cache load misses
+event:0X0317 counters:7 um:zero minimum:1000 name:PM_LD_REF_L1_GRP49 : (Group 49 pm_l1l2_miss) L1 D cache load references
+
+#Group 50 pm_data_from, Data From L2 instructions
+event:0X0320 counters:0 um:zero minimum:1000 name:PM_DATA_FROM_L2_GRP50 : (Group 50 pm_data_from) Data loaded from L2
+event:0X0321 counters:1 um:zero minimum:1000 name:PM_DATA_FROM_MEM_GRP50 : (Group 50 pm_data_from) Data loaded from memory
+event:0X0322 counters:2 um:zero minimum:10000 name:PM_INST_CMPL_GRP50 : (Group 50 pm_data_from) Instructions completed
+event:0X0323 counters:3 um:zero minimum:10000 name:PM_CYC_GRP50 : (Group 50 pm_data_from) Processor cycles
+event:0X0324 counters:4 um:zero minimum:1000 name:PM_DATA_FROM_L25_SHR_GRP50 : (Group 50 pm_data_from) Data loaded from L2.5 shared
+event:0X0325 counters:5 um:zero minimum:1000 name:PM_DATA_FROM_L25_MOD_GRP50 : (Group 50 pm_data_from) Data loaded from L2.5 modified
+event:0X0326 counters:6 um:zero minimum:1000 name:PM_LD_MISS_L1_LSU1_GRP50 : (Group 50 pm_data_from) LSU1 L1 D cache load misses
+event:0X0327 counters:7 um:zero minimum:1000 name:PM_LD_REF_L1_GRP50 : (Group 50 pm_data_from) L1 D cache load references
+
+#Group 51 pm_mark_data_from, Marked Data From L2 instructions
+event:0X0330 counters:0 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L2_GRP51 : (Group 51 pm_mark_data_from) Marked data loaded from L2
+event:0X0331 counters:1 um:zero minimum:1000 name:PM_MRK_DATA_FROM_MEM_GRP51 : (Group 51 pm_mark_data_from) Marked data loaded from memory
+event:0X0332 counters:2 um:zero minimum:10000 name:PM_INST_CMPL_GRP51 : (Group 51 pm_mark_data_from) Instructions completed
+event:0X0333 counters:3 um:zero minimum:10000 name:PM_CYC_GRP51 : (Group 51 pm_mark_data_from) Processor cycles
+event:0X0334 counters:4 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L25_SHR_GRP51 : (Group 51 pm_mark_data_from) Marked data loaded from L2.5 shared
+event:0X0335 counters:5 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L25_MOD_GRP51 : (Group 51 pm_mark_data_from) Marked data loaded from L2.5 modified
+event:0X0336 counters:6 um:zero minimum:1000 name:PM_MRK_INST_FIN_GRP51 : (Group 51 pm_mark_data_from) Marked instruction finished
+event:0X0337 counters:7 um:zero minimum:1000 name:PM_MRK_L1_RELOAD_VALID_GRP51 : (Group 51 pm_mark_data_from) Marked L1 reload data source valid
diff --git a/events/ppc64/970MP/unit_masks b/events/ppc64/970MP/unit_masks
new file mode 100644
index 0000000..012fe54
--- /dev/null
+++ b/events/ppc64/970MP/unit_masks
@@ -0,0 +1,9 @@
+#
+# Copyright OProfile authors
+# Copyright (c) International Business Machines, 2006.
+# Contributed by Dave Nomura <dcnltc@us.ibm.com>.
+#
+# ppc64 970 possible unit masks
+#
+name:zero type:mandatory default:0x0
+ 0x0 No unit mask
diff --git a/events/ppc64/cell-be/events b/events/ppc64/cell-be/events
new file mode 100644
index 0000000..3bcb393
--- /dev/null
+++ b/events/ppc64/cell-be/events
@@ -0,0 +1,517 @@
+#ppc64 Cell Broadband Engine events
+#
+# Copyright OProfile authors
+#
+#(C) COPYRIGHT International Business Machines Corp. 2006
+# Contributed by Maynard Johnson <maynardj@us.ibm.com>
+#
+#
+# As many as 4 signals may be specified when they are from the same group.
+# In some instances, signals from other groups in the same island or one
+# other island may also be specified.
+#
+# Each signal is assigned to a unique counter. There are 4 32-bit hardware
+# counters. The signals are defined in the Cell Broadband Engine
+# Performance manual.
+#
+# Each event is given a unique event number. The event number is used by the
+# Oprofile code to resolve event names for the postprocessing. This is done
+# to preserve compatibility with the rest of the Oprofile code. The event
+# number format group_num followed by the counter number for the event within
+# the group.
+
+# Signal Default
+event:0x1 counters:0,1,2,3 um:zero minimum:100000 name:CYCLES : Processor Cycles
+event:0x2 counters:0,1,2,3 um:zero minimum:60000 name:SPU_CYCLES : SPU Processor Cycles
+
+
+# Cell BE Island 2 - PowerPC Processing Unit (PPU)
+
+# CBE Signal Group 21 - PPU Instruction Unit - Group 1 (NClk)
+event:0x834 counters:0,1,2,3 um:PPU_01_edges minimum:10000 name:Branch_Commit : Branch instruction committed.
+event:0x835 counters:0,1,2,3 um:PPU_01_edges minimum:10000 name:Branch_Flush : Branch instruction that caused a misprediction flush is committed. Branch misprediction includes: (1) misprediction of taken or not-taken on conditional branch, (2) misprediction of branch target address on bclr[1] and bcctr[1].
+event:0x836 counters:0,1,2,3 um:PPU_01_cycles minimum:10000 name:Ibuf_Empty : Instruction buffer empty.
+event:0x837 counters:0,1,2,3 um:PPU_01_edges minimum:10000 name:IERAT_Miss : Instruction effective-address-to-real-address translation (I-ERAT) miss.
+event:0x838 counters:0,1,2,3 um:PPU_01_cycles_or_edges minimum:10000 name:IL1_Miss_Cycles : L1 Instruction cache miss cycles. Counts the cycles from the miss event until the returned instruction is dispatched or cancelled due to branch misprediction, completion restart, or exceptions (see Note 1).
+event:0x83a counters:0,1,2,3 um:PPU_01_cycles minimum:10000 name:Dispatch_Blocked : Valid instruction available for dispatch, but dispatch is blocked.
+event:0x83d counters:0,1,2,3 um:PPU_01_edges minimum:10000 name:Instr_Flushed : Instruction in pipeline stage EX7 causes a flush.
+event:0x83f counters:0,1,2,3 um:PPU_01_edges minimum:10000 name:PPC_Commit : Two PowerPC instructions committed. For microcode sequences, only the last microcode operation is counted. Committed instructions are counted two at a time. If only one instruction has committed for a given cycle, this event will not be raised until another instruction has been committed in a future cycle.
+
+
+# CBE Signal Group 22 - PPU Execution Unit (NClk)
+event:0x89a counters:0,1,2,3 um:PPU_01_cycles minimum:10000 name:DERAT_Miss : Data effective-address-to-real-address translation (D-ERAT) miss. Not speculative.
+event:0x89b counters:0,1,2,3 um:PPU_01_cycles minimum:10000 name:Store_Request : Store request counted at the L2 interface. Counts microcoded PPE sequences more than once (see Note 1 for exceptions). (Thread 0 and 1)
+event:0x89c counters:0,1,2,3 um:PPU_01_cycles minimum:10000 name:Load_Valid : Load valid at a particular pipe stage. Speculative, since flushed operations are counted as well. Counts microcoded PPE sequences more than once. Misaligned flushes might be counted the first time as well. Load operations include all loads that read data from the cache, dcbt and dcbtst. Does not include load Vector/SIMD multimedia extension pattern instructions.
+event:0x89d counters:0,1,2,3 um:PPU_01_cycles minimum:10000 name:DL1_Miss : L1 D-cache load miss. Pulsed when there is a miss request that has a tag miss but not an ERAT miss. Speculative, since flushed operations are counted as well.
+
+
+# Cell BE Island 3 - PowerPC Storage Subsystem (PPSS)
+
+# CBE Signal Group 31 - PPSS Bus Interface Unit (NClk/2)
+event:0xc1c counters:0,1,2,3 um:PPU_2_edges minimum:10000 name:rcv_mmio_rd_ev : Load from MFC memory-mapped I/O (MMIO) space.
+event:0xc1d counters:0,1,2,3 um:PPU_2_edges minimum:10000 name:rcv_mmio_wr_ev : Stores to MFC MMIO space.
+event:0xc22 counters:0,1,2,3 um:PPU_2_edges minimum:10000 name:even_token_req_ev : Request token for even memory bank numbers 0-14.
+event:0xc2b counters:0,1,2,3 um:PPU_2_edges minimum:10000 name:rcv_data_ev : Receive 8-beat data from the Element Interconnect Bus (EIB).
+event:0xc2c counters:0,1,2,3 um:PPU_2_edges minimum:10000 name:send_data_ev : Send 8-beat data to the EIB.
+event:0xc2d counters:0,1,2,3 um:PPU_2_edges minimum:10000 name:send_cmd_ev : Send a command to the EIB; includes retried commands.
+event:0xc2e counters:0,1,2,3 um:PPU_2_cycles minimum:10000 name:dgnt_dly_cy : Cycles between data request and data grant.
+event:0xc33 counters:0,1,2,3 um:PPU_2_cycles minimum:10000 name:nc_wr_not_emp_cy : The five-entry Non-Cacheable Unit (NCU) Store Command queue not empty.
+
+
+# CBE Signal Group 32 - PPSS L2 Cache Controller - Group 1 (NClk/2)
+event:0xc80 counters:0,1,2,3 um:PPU_02_edges minimum:10000 name:cache_hit : Cache hit for core interface unit (CIU) loads and stores.
+event:0xc81 counters:0,1,2,3 um:PPU_02_edges minimum:10000 name:cache_miss : Cache miss for CIU loads and stores.
+event:0xc84 counters:0,1,2,3 um:PPU_02_edges minimum:10000 name:load_miss : CIU load miss.
+event:0xc85 counters:0,1,2,3 um:PPU_02_edges minimum:10000 name:store_miss : CIU store to Invalid state (miss).
+event:0xc87 counters:0,1,2,3 um:PPU_02_edges minimum:10000 name:larx_miss_th1 : Load word and reserve indexed (lwarx/ldarx) for Thread 0 hits Invalid cache state
+event:0xc8e counters:0,1,2,3 um:PPU_02_edges minimum:10000 name:stcx_miss_th1 : Store word conditional indexed (stwcx/stdcx) for Thread 0 hits Invalid cache state when reservation is set.
+event:0xc99 counters:0,1,2,3 um:PPU_02_cycles minimum:10000 name:all_snp_busy : All four snoop state machines busy.
+
+# CBE Signal Group 33 - PPSS L2 Cache Controller - Group 2 (NClk/2)
+event:0xce8 counters:0,1,2,3 um:PPU_02_edges minimum:10000 name:dclaim_srt : Data line claim (dclaim) that received good combined response; includes store/stcx/dcbz to Shared (S), Shared Last (SL),or Tagged (T) cache state; does not include dcbz to Invalid (I) cache state (see Note 1).
+event:0xcef counters:0,1,2,3 um:PPU_02_edges minimum:10000 name:dclaim_to_rwitm : Dclaim converted into rwitm; may still not get to the bus if stcx is aborted (see Note 2).
+event:0xcf0 counters:0,1,2,3 um:PPU_02_edges minimum:10000 name:store_mxe : Store to modified (M), modified unsolicited (MU), or exclusive (E) cache state.
+event:0xcf1 counters:0,1,2,3 um:PPU_02_cycles minimum:10000 name:stq_full : 8-entry store queue (STQ) full.
+event:0xcf2 counters:0,1,2,3 um:PPU_02_edges minimum:10000 name:store_rc_ack : Store dispatched to RC machine is acknowledged.
+event:0xcf3 counters:0,1,2,3 um:PPU_02_edges minimum:10000 name:gather_store : Gatherable store (type = 00000) received from CIU.
+event:0xcf6 counters:0,1,2,3 um:PPU_02_edges minimum:10000 name:snp_push : Snoop push.
+event:0xcf7 counters:0,1,2,3 um:PPU_02_edges minimum:10000 name:intv_snode_er : Send intervention from (SL | E) cache state to a destination within the same CBE chip.
+event:0xcf8 counters:0,1,2,3 um:PPU_02_edges minimum:10000 name:intv_snode_mx : Send intervention from (M | MU) cache state to a destination within the same CBE chip.
+event:0xcfd counters:0,1,2,3 um:PPU_02_edges minimum:10000 name:snp_retry : Respond with Retry to a snooped request due to one of the following conflicts: read-and-claim state machine (RC) full address, castout (CO) congruence class, snoop (SNP) machine full address, all snoop machines busy, directory lockout, or parity error.
+event:0xcfe counters:0,1,2,3 um:PPU_02_edges minimum:10000 name:snp_busy_retry : Respond with Retry to a snooped request because all snoop machines are busy.
+event:0xcff counters:0,1,2,3 um:PPU_02_edges minimum:10000 name:snp_mx_to_est : Snooped response causes a cache state transition from (M | MU) to (E | S | T).
+event:0xd00 counters:0,1,2,3 um:PPU_02_edges minimum:10000 name:snp_e_to_s : Snooped response causes a cache state transition from E to S.
+event:0xd01 counters:0,1,2,3 um:PPU_02_edges minimum:10000 name:snp_esrt_to_i : Snooped response causes a cache state transition from (E | SL | S | T) to Invalid (I).
+event:0xd02 counters:0,1,2,3 um:PPU_02_edges minimum:10000 name:snp_mx_to_i : Snooped response causes a cache state transition from (M | MU) to I.
+
+# CBE Signal Group 34 - PPSS L2 Cache Controller - Group 3 (NClk/2)
+event:0xd54 counters:0,1,2,3 um:PPU_02_edges minimum:10000 name:larx_miss : Load and reserve indexed (lwarx/ldarx) for Thread 1 hits Invalid cache state.
+event:0xd5b counters:0,1,2,3 um:PPU_02_edges minimum:10000 name:stcx_miss_th2 : Store conditional indexed (stwcx/stdcx) for Thread 1 hits Invalid cache state.
+
+# CBE Signal Group 35 - PPSS Non-Cacheable Unit (NClk/2)
+event:0xdac counters:0,1,2,3 um:PPU_0_edges minimum:10000 name:st_req_any : Non-cacheable store request received from CIU; includes all synchronization operations such as sync and eieio.
+event:0xdad counters:0,1,2,3 um:PPU_0_edges minimum:10000 name:st_req_sync : sync received from CIU.
+event:0xdb0 counters:0,1,2,3 um:PPU_0_edges minimum:10000 name:st_req_store : Non-cacheable store request received from CIU; includes only stores.
+event:0xdb2 counters:0,1,2,3 um:PPU_0_edges minimum:10000 name:st_req_eieio : eieio received from CIU.
+event:0xdb3 counters:0,1,2,3 um:PPU_0_edges minimum:10000 name:st_req_tlbie : tlbie received from CIU.
+event:0xdb4 counters:0,1,2,3 um:PPU_0_cycles minimum:10000 name:stq_bot_sync : sync at the bottom of the store queue, while waiting on st_done signal from the Bus Interface Unit (BIU) and sync_done signal from L2.
+event:0xdb5 counters:0,1,2,3 um:PPU_0_cycles minimum:10000 name:stq_bot_lsync : lwsync at the bottom of the store queue, while waiting for a sync_done signal from the L2.
+event:0xdb6 counters:0,1,2,3 um:PPU_0_cycles minimum:10000 name:stq_bot_eieio : eieio at the bottom of the store queue, while waiting for a st_done signal from the BIU and a sync_done signal from the L2.
+event:0xdb7 counters:0,1,2,3 um:PPU_0_cycles minimum:10000 name:stq_bot_tlbieg : tlbie at the bottom of the store queue, while waiting for a st_done signal from the BIU.
+event:0xdb8 counters:0,1,2,3 um:PPU_0_edges minimum:10000 name:st_combined : Non-cacheable store combined with the previous non-cacheable store with a contiguous address.
+event:0xdb9 counters:0,1,2,3 um:PPU_0_edges minimum:10000 name:ld_cancel : Load request canceled by CIU due to late detection of load-hit-store condition (128B boundary).
+event:0xdba counters:0,1,2,3 um:PPU_0_edges minimum:10000 name:ld_hit_st : NCU detects a load hitting a previous store to an overlapping address (32B boundary).
+event:0xdbb counters:0,1,2,3 um:PPU_0_cycles minimum:10000 name:stb_full : All four store-gather buffers full.
+event:0xdbc counters:0,1,2,3 um:PPU_0_edges minimum:10000 name:ld_req : Non-cacheable load request received from CIU; includes instruction and data fetches.
+event:0xdbd counters:0,1,2,3 um:PPU_0_cycles minimum:10000 name:stq_not_empty : The four-deep store queue not empty.
+event:0xdbe counters:0,1,2,3 um:PPU_0_cycles minimum:10000 name:stq_full : The four-deep store queue full.
+event:0xdbf counters:0,1,2,3 um:PPU_0_cycles minimum:10000 name:stb_not_empty : At least one store gather buffer not empty.
+
+# Cell BE Island 4 - Synergistic Processor Unit (SPU)
+#
+# OPROFILE FOR CELL ONLY SUPPORTS PROFILING ON ONE SPU EVENT AT A TIME
+#
+# CBE Signal Group 41 - SPU (NClk)
+event:0x1004 counters:0 um:SPU_02_cycles minimum:10000 name:dual_instrctn_commit : Dual instruction committed.
+event:0x1005 counters:0 um:SPU_02_cycles minimum:10000 name:sngl_instrctn_commit : Single instruction committed.
+event:0x1006 counters:0 um:SPU_02_cycles minimum:10000 name:ppln0_instrctn_commit : Pipeline 0 instruction committed.
+event:0x1007 counters:0 um:SPU_02_cycles minimum:10000 name:ppln1_instrctn_commit : Pipeline 1 instruction committed.
+event:0x1008 counters:0 um:SPU_02_cycles_or_edges minimum:10000 name:instrctn_ftch_stll : Instruction fetch stall.
+event:0x1009 counters:0 um:SPU_02_cycles_or_edges minimum:10000 name:lcl_strg_bsy : Local storage busy.
+event:0x100A counters:0 um:SPU_02_cycles minimum:10000 name:dma_cnflct_ld_st : DMA may conflict with load or store.
+event:0x100B counters:0 um:SPU_02_cycles minimum:10000 name:str_to_lcl_strg : Store instruction to local storage issued.
+event:0x100C counters:0 um:SPU_02_cycles minimum:10000 name:ld_frm_lcl_strg : Load intruction from local storage issued.
+event:0x100D counters:0 um:SPU_02_cycles minimum:10000 name:fpu_exctn : Floating-Point Unit (FPU) exception.
+event:0x100E counters:0 um:SPU_02_cycles minimum:10000 name:brnch_instrctn_commit : Branch instruction committed.
+event:0x100F counters:0 um:SPU_02_cycles minimum:10000 name:change_of_flow : Non-sequential change of the SPU program counter, which can be caused by branch, asynchronous interrupt, stalled wait on channel, error correction code (ECC) error, and so forth.
+event:0x1010 counters:0 um:SPU_02_cycles minimum:10000 name:brnch_not_tkn : Branch not taken.
+event:0x1011 counters:0 um:SPU_02_cycles minimum:10000 name:brnch_mss_prdctn : Branch miss prediction; not exact. Certain other code sequences can cause additional pulses on this signal (see Note 2).
+event:0x1012 counters:0 um:SPU_02_cycles minimum:10000 name:brnch_hnt_mss_prdctn : Branch hint miss prediction; not exact. Certain other code sequences can cause additional pulses on this signal (see Note 2).
+event:0x1013 counters:0 um:SPU_02_cycles minimum:10000 name:instrctn_seqnc_err : Instruction sequence error.
+event:0x1015 counters:0 um:SPU_02_cycles_or_edges minimum:10000 name:stlld_wait_on_chnl_wrt : Stalled waiting on any blocking channel write (see Note 3).
+event:0x1016 counters:0 um:SPU_02_cycles_or_edges minimum:10000 name:stlld_wait_on_chnl0 : Stalled waiting on External Event Status (Channel 0) (see Note 3).
+event:0x1017 counters:0 um:SPU_02_cycles_or_edges minimum:10000 name:stlld_wait_on_chnl3 : Stalled waiting on Signal Notification 1 (Channel 3) (see Note 3).
+event:0x1018 counters:0 um:SPU_02_cycles_or_edges minimum:10000 name:stlld_wait_on_chnl4 : Stalled waiting on Signal Notification 2 (Channel 4) (see Note 3).
+event:0x1019 counters:0 um:SPU_02_cycles_or_edges minimum:10000 name:stlld_wait_on_chnl21 : Stalled waiting on DMA Command Opcode or ClassID Register (Channel 21) (see Note 3).
+event:0x101A counters:0 um:SPU_02_cycles_or_edges minimum:10000 name:stlld_wait_on_chnl24 : Stalled waiting on Tag Group Status (Channel 24) (see Note 3).
+event:0x101B counters:0 um:SPU_02_cycles_or_edges minimum:10000 name:stlld_wait_on_chnl25 : Stalled waiting on List Stall-and-Notify Tag Status (Channel 25) (see Note 3).
+event:0x101C counters:0 um:SPU_02_cycles_or_edges minimum:10000 name:stlld_wait_on_chnl28 : Stalled waiting on PPU Mailbox (Channel 28) (see Note 3).
+event:0x1022 counters:0 um:SPU_02_cycles_or_edges minimum:10000 name:stlld_wait_on_chnl29 : Stalled waiting on SPU Mailbox (Channel 29) (see Note 3).
+
+
+# CBE Signal Group 42 - SPU Trigger (NClk)
+event:0x10A1 counters:0 um:SPU_Trigger_cycles_or_edges minimum:10000 name:stld_wait_chnl_op : Stalled waiting on channel operation (See Note 2).
+
+# CBE Signal Group 43 - SPU Event (NClk)
+event:0x1107 counters:0 um:SPU_Event_cycles_or_edges minimum:10000 name:instrctn_ftch_stll : Instruction fetch stall.
+
+# Cell BE Island 6 - Element Interconnect Bus (EIB)
+
+# CBE Signal Group 61 - EIB Address Concentrator 0 (NClk/2)
+event:0x17d4 counters:0,1,2,3 um:PPU_02_edges minimum:10000 name:WAC0_W_ICMD_PERF(0) : Number of read and rwitm commands (including atomic) AC1 to AC0. (Group 1)
+event:0x17d5 counters:0,1,2,3 um:PPU_02_edges minimum:10000 name:WAC0_W_ICMD_PERF(1) : Number of dclaim commands (including atomic) AC1 to AC0. (Group 1)
+event:0x17d6 counters:0,1,2,3 um:PPU_02_edges minimum:10000 name:WAC0_W_ICMD_PERF(2) : Number of wwk, wwc, and wwf commands from AC1 to AC0. (Group 1)
+event:0x17d7 counters:0,1,2,3 um:PPU_02_edges minimum:10000 name:WAC0_W_ICMD_PERF(3) : Number of sync, tlbsync, and eieio commands from AC1 to AC0. (Group 1)
+event:0x17d8 counters:0,1,2,3 um:PPU_02_edges minimum:10000 name:WAC0_W_ICMD_PERF(4) : Number of tlbie commands from AC1 to AC0. (Group 1)
+event:0x17df counters:0,1,2,3 um:PPU_02_edges minimum:10000 name:WAC0_W_CAM_PERF(1) : Previous adjacent address match (PAAM) Content Addressable Memory (CAM) hit. (Group 1)
+event:0x17e0 counters:0,1,2,3 um:PPU_02_edges minimum:10000 name:WAC0_W_CAM_PERF(2) : PAAM CAM miss. (Group 1)
+event:0x17e2 counters:0,1,2,3 um:PPU_02_edges minimum:10000 name:WAC0_W_CAM_CMD_REFLECTED : Command reflected. (Group 1)
+event:0x17e4 counters:0,1,2,3 um:PPU_02_edges minimum:10000 name:WAC0_W_ICMD_PERF(0) : Number of read and rwitm commands (including atomic) AC1 to AC0. (Group 2)
+event:0x17e5 counters:0,1,2,3 um:PPU_02_edges minimum:10000 name:WAC0_W_ICMD_PERF(1) : Number of dclaim commands (including atomic) AC1 to AC0. (Group 2)
+event:0x17e6 counters:0,1,2,3 um:PPU_02_edges minimum:10000 name:WAC0_W_ICMD_PERF(2) : Number of wwk, wwc, and wwf commands from AC1 to AC0. (Group 2)
+event:0x17e7 counters:0,1,2,3 um:PPU_02_edges minimum:10000 name:WAC0_W_ICMD_PERF(3) : Number of sync, tlbsync, and eieio commands from AC1 to AC0. (Group 2)
+event:0x17e8 counters:0,1,2,3 um:PPU_02_edges minimum:10000 name:WAC0_W_ICMD_PERF(4) : Number of tlbie commands from AC1 to AC0. (Group 2)
+event:0x17ef counters:0,1,2,3 um:PPU_02_edges minimum:10000 name:WAC0_W_CAM_PERF(1) : PAAM CAM hit. (Group 2)
+event:0x17f0 counters:0,1,2,3 um:PPU_02_edges minimum:10000 name:WAC0_W_CAM_PERF(2) : PAAM CAM miss. (Group 2)
+event:0x17f2 counters:0,1,2,3 um:PPU_02_edges minimum:10000 name:WAC0_W_CAM_CMD_REFLECTED : Command reflected. (Group 2)
+
+# CBE Signal Group 62 - EIB Address Concentrator 1 (NClk/2)
+event:0x1839 counters:0,1,2,3 um:PPU_02_edges minimum:10000 name:WAC1_WAC1_TRCMUX_W_TRCGRP_ACPERF(1) : Local command from SPE 6.
+event:0x183a counters:0,1,2,3 um:PPU_02_edges minimum:10000 name:WAC1_WAC1_TRCMUX_W_TRCGRP_ACPERF(2) : Local command from SPE 4.
+event:0x183b counters:0,1,2,3 um:PPU_02_edges minimum:10000 name:WAC1_WAC1_TRCMUX_W_TRCGRP_ACPERF(3) : Local command from SPE 2.
+event:0x183c counters:0,1,2,3 um:PPU_02_edges minimum:10000 name:WAC1_WAC1_TRCMUX_W_TRCGRP_ACPERF(4) : Local command from SPE 0.
+event:0x183d counters:0,1,2,3 um:PPU_02_edges minimum:10000 name:WAC1_WAC1_TRCMUX_W_TRCGRP_ACPERF(5) : Local command from PPE.
+event:0x183e counters:0,1,2,3 um:PPU_02_edges minimum:10000 name:WAC1_WAC1_TRCMUX_W_TRCGRP_ACPERF(6) : Local command from SPE 1.
+event:0x183f counters:0,1,2,3 um:PPU_02_edges minimum:10000 name:WAC1_WAC1_TRCMUX_W_TRCGRP_ACPERF(7) : Local command from SPE 3.
+event:0x1840 counters:0,1,2,3 um:PPU_02_edges minimum:10000 name:WAC1_WAC1_TRCMUX_W_TRCGRP_ACPERF(8) : Local command from SPE 5.
+event:0x1841 counters:0,1,2,3 um:PPU_02_edges minimum:10000 name:WAC1_WAC1_TRCMUX_W_TRCGRP_ACPERF(9) : Local command from SPE 7.
+event:0x1844 counters:0,1,2,3 um:PPU_02_edges minimum:10000 name:WAC1_WAC1_TRCMUX_W_TRCGRP_ACPERF(12) : AC1-to-AC0 global command from SPE 6.
+event:0x1845 counters:0,1,2,3 um:PPU_02_edges minimum:10000 name:WAC1_WAC1_TRCMUX_W_TRCGRP_ACPERF(13) : AC1-to-AC0 global command from SPE 4.
+event:0x1846 counters:0,1,2,3 um:PPU_02_edges minimum:10000 name:WAC1_WAC1_TRCMUX_W_TRCGRP_ACPERF(14) : AC1-to-AC0 global command from SPE 2.
+event:0x1847 counters:0,1,2,3 um:PPU_02_edges minimum:10000 name:WAC1_WAC1_TRCMUX_W_TRCGRP_ACPERF(15) : AC1-to-AC0 global command from SPE 0.
+event:0x1848 counters:0,1,2,3 um:PPU_02_edges minimum:10000 name:WAC1_WAC1_TRCMUX_W_TRCGRP_ACPERF(16) : AC1-to-AC0 global command from PPE.
+event:0x1849 counters:0,1,2,3 um:PPU_02_edges minimum:10000 name:WAC1_WAC1_TRCMUX_W_TRCGRP_ACPERF(17) : AC1-to-AC0 global command from SPE 1.
+event:0x184a counters:0,1,2,3 um:PPU_02_edges minimum:10000 name:WAC1_WAC1_TRCMUX_W_TRCGRP_ACPERF(18) : AC1-to-AC0 global command from SPE 3.
+event:0x184b counters:0,1,2,3 um:PPU_02_edges minimum:10000 name:WAC1_WAC1_TRCMUX_W_TRCGRP_ACPERF(19) : AC1-to-AC0 global command from SPE 5.
+event:0x184c counters:0,1,2,3 um:PPU_02_edges minimum:10000 name:WAC1_WAC1_TRCMUX_W_TRCGRP_ACPERF(20) : AC1-to-AC0 global command from SPE 7.
+event:0x184f counters:0,1,2,3 um:PPU_02_edges minimum:10000 name:WAC1_WAC1_TRCMUX_W_TRCGRP_ACPERF(23) : AC1 sends a global command to AC0.
+event:0x1850 counters:0,1,2,3 um:PPU_02_edges minimum:10000 name:WAC1_WAC1_TRCMUX_W_TRCGRP_ACPERF(24) : AC0 reflects a global command back to AC1.
+event:0x1851 counters:0,1,2,3 um:PPU_02_edges minimum:10000 name:WAC1_WAC1_TRCMUX_W_TRCGRP_ACPERF(25) : AC1 reflects a command back to the bus masters.
+
+# CBE Signal Group 63 - EIB Data Ring Arbitrator - Group 1 (NClk/2)
+event:0x189c counters:0,1,2,3 um:PPU_02_edges minimum:10000 name:WDA_DTRC_TRCGRPE(0) : Grant on data ring 0.
+event:0x189d counters:0,1,2,3 um:PPU_02_edges minimum:10000 name:WDA_DTRC_TRCGRPE(1) : Grant on data ring 1.
+event:0x189e counters:0,1,2,3 um:PPU_02_edges minimum:10000 name:WDA_DTRC_TRCGRPE(2) : Grant on data ring 2.
+event:0x189f counters:0,1,2,3 um:PPU_02_edges minimum:10000 name:WDA_DTRC_TRCGRPE(3) : Grant on data ring 3.
+event:0x18a0 counters:0,1,2,3 um:PPU_02_cycles minimum:10000 name:WDA_DTRC_TRCGRPE(4) : Data ring 0 is in use.
+event:0x18a1 counters:0,1,2,3 um:PPU_02_cycles minimum:10000 name:WDA_DTRC_TRCGRPE(5) : Data ring 1 is in use.
+event:0x18a2 counters:0,1,2,3 um:PPU_02_cycles minimum:10000 name:WDA_DTRC_TRCGRPE(6) : Data ring 2 is in use.
+event:0x18a3 counters:0,1,2,3 um:PPU_02_cycles minimum:10000 name:WDA_DTRC_TRCGRPE(7) : Data ring 3 is in use.
+event:0x18a4 counters:0,1,2,3 um:PPU_02_cycles minimum:10000 name:WDA_DTRC_TRCGRPE(8) : All data rings are idle.
+event:0x18a5 counters:0,1,2,3 um:PPU_02_cycles minimum:10000 name:WDA_DTRC_TRCGRPE(9) : One data ring is busy.
+event:0x18a6 counters:0,1,2,3 um:PPU_02_cycles minimum:10000 name:WDA_DTRC_TRCGRPE(10) : Two or three data rings are busy.
+event:0x18a7 counters:0,1,2,3 um:PPU_02_cycles minimum:10000 name:WDA_DTRC_TRCGRPE(11) : All data rings are busy.
+event:0x18a8 counters:0,1,2,3 um:PPU_02_cycles_or_edges minimum:10000 name:WDA_DTRC_TRCGRPE(12) : BIC data request pending.
+event:0x18a9 counters:0,1,2,3 um:PPU_02_cycles_or_edges minimum:10000 name:WDA_DTRC_TRCGRPE(13) : SPE 6 data request pending.
+event:0x18aa counters:0,1,2,3 um:PPU_02_cycles_or_edges minimum:10000 name:WDA_DTRC_TRCGRPE(14) : SPE 4 data request pending.
+event:0x18ab counters:0,1,2,3 um:PPU_02_cycles_or_edges minimum:10000 name:WDA_DTRC_TRCGRPE(15) : SPE 2 data request pending.
+event:0x18ac counters:0,1,2,3 um:PPU_02_cycles_or_edges minimum:10000 name:WDA_DTRC_TRCGRPE(16) : SPE 0 data request pending.
+event:0x18ad counters:0,1,2,3 um:PPU_02_cycles_or_edges minimum:10000 name:WDA_DTRC_TRCGRPE(17) : MIC data request pending.
+event:0x18ae counters:0,1,2,3 um:PPU_02_cycles_or_edges minimum:10000 name:WDA_DTRC_TRCGRPE(18) : PPE data request pending.
+event:0x18af counters:0,1,2,3 um:PPU_02_cycles_or_edges minimum:10000 name:WDA_DTRC_TRCGRPE(19) : SPE 1 data request pending.
+event:0x18b0 counters:0,1,2,3 um:PPU_02_cycles_or_edges minimum:10000 name:WDA_DTRC_TRCGRPE(20) : SPE 3 data request pending.
+event:0x18b1 counters:0,1,2,3 um:PPU_02_cycles_or_edges minimum:10000 name:WDA_DTRC_TRCGRPE(21) : SPE 5 data request pending.
+event:0x18b2 counters:0,1,2,3 um:PPU_02_cycles_or_edges minimum:10000 name:WDA_DTRC_TRCGRPE(22) : SPE 7 data request pending.
+event:0x18b3 counters:0,1,2,3 um:PPU_02_cycles_or_edges minimum:10000 name:WDA_DTRC_TRCGRPE(23) : IOC data request pending.
+event:0x18b4 counters:0,1,2,3 um:PPU_02_edges minimum:10000 name:WDA_DTRC_TRCGRPE(24) : BIC is data destination.
+event:0x18b5 counters:0,1,2,3 um:PPU_02_edges minimum:10000 name:WDA_DTRC_TRCGRPE(25) : SPE 6 is data destination.
+event:0x18b6 counters:0,1,2,3 um:PPU_02_edges minimum:10000 name:WDA_DTRC_TRCGRPE(26) : SPE 4 is data destination.
+event:0x18b7 counters:0,1,2,3 um:PPU_02_edges minimum:10000 name:WDA_DTRC_TRCGRPE(27) : SPE 2 is data destination.
+event:0x18b8 counters:0,1,2,3 um:PPU_02_edges minimum:10000 name:WDA_DTRC_TRCGRPE(28) : SPE 0 is data destination.
+event:0x18b9 counters:0,1,2,3 um:PPU_02_edges minimum:10000 name:WDA_DTRC_TRCGRPE(29) : MIC is data destination.
+event:0x18ba counters:0,1,2,3 um:PPU_02_edges minimum:10000 name:WDA_DTRC_TRCGRPE(30) : PPE is data destination.
+event:0x18bb counters:0,1,2,3 um:PPU_02_edges minimum:10000 name:WDA_DTRC_TRCGRPE(31) : SPE 1 is data destination.
+
+# CBE Signal Group 64 - EIB Data Ring Arbitrator - Group 2 (NClk/2)
+event:0x1900 counters:0,1,2,3 um:PPU_02_cycles_or_edges minimum:10000 name:WDA_DTRC_TRCGRPF(0) : BIC data request pending.
+event:0x1901 counters:0,1,2,3 um:PPU_02_cycles_or_edges minimum:10000 name:WDA_DTRC_TRCGRPF(1) : SPE 6 data request pending.
+event:0x1902 counters:0,1,2,3 um:PPU_02_cycles_or_edges minimum:10000 name:WDA_DTRC_TRCGRPF(2) : SPE 4 data request pending.
+event:0x1903 counters:0,1,2,3 um:PPU_02_cycles_or_edges minimum:10000 name:WDA_DTRC_TRCGRPF(3) : SPE 2 data request pending.
+event:0x1904 counters:0,1,2,3 um:PPU_02_cycles_or_edges minimum:10000 name:WDA_DTRC_TRCGRPF(4) : SPE 0 data request pending.
+event:0x1905 counters:0,1,2,3 um:PPU_02_cycles_or_edges minimum:10000 name:WDA_DTRC_TRCGRPF(5) : MIC data request pending.
+event:0x1906 counters:0,1,2,3 um:PPU_02_cycles_or_edges minimum:10000 name:WDA_DTRC_TRCGRPF(6) : PPE data request pending.
+event:0x1907 counters:0,1,2,3 um:PPU_02_cycles_or_edges minimum:10000 name:WDA_DTRC_TRCGRPF(7) : SPE 1 data request pending.
+event:0x1908 counters:0,1,2,3 um:PPU_02_cycles_or_edges minimum:10000 name:WDA_DTRC_TRCGRPF(8) : SPE 3 data request pending.
+event:0x1909 counters:0,1,2,3 um:PPU_02_cycles_or_edges minimum:10000 name:WDA_DTRC_TRCGRPF(9) : SPE 5 data request pending.
+event:0x190a counters:0,1,2,3 um:PPU_02_cycles_or_edges minimum:10000 name:WDA_DTRC_TRCGRPF(10) : SPE 7 data request pending.
+event:0x190b counters:0,1,2,3 um:PPU_02_cycles_or_edges minimum:10000 name:WDA_DTRC_TRCGRPF(11) : IOC data request pending.
+event:0x190c counters:0,1,2,3 um:PPU_02_edges minimum:10000 name:WDA_DTRC_TRCGRPF(12) : BIC is data destination.
+event:0x190d counters:0,1,2,3 um:PPU_02_edges minimum:10000 name:WDA_DTRC_TRCGRPF(13) : SPE 6 is data destination.
+event:0x190e counters:0,1,2,3 um:PPU_02_edges minimum:10000 name:WDA_DTRC_TRCGRPF(14) : SPE 4 is data destination.
+event:0x190f counters:0,1,2,3 um:PPU_02_edges minimum:10000 name:WDA_DTRC_TRCGRPF(15) : SPE 2 is data destination.
+event:0x1910 counters:0,1,2,3 um:PPU_02_edges minimum:10000 name:WDA_DTRC_TRCGRPF(16) : SPE 0 is data destination.
+event:0x1911 counters:0,1,2,3 um:PPU_02_edges minimum:10000 name:WDA_DTRC_TRCGRPF(17) : MIC is data destination.
+event:0x1912 counters:0,1,2,3 um:PPU_02_edges minimum:10000 name:WDA_DTRC_TRCGRPF(18) : PPE is data destination.
+event:0x1913 counters:0,1,2,3 um:PPU_02_edges minimum:10000 name:WDA_DTRC_TRCGRPF(19) : SPE 1 is data destination.
+event:0x1914 counters:0,1,2,3 um:PPU_02_edges minimum:10000 name:WDA_DTRC_TRCGRPF(20) : SPE 3 is data destination.
+event:0x1915 counters:0,1,2,3 um:PPU_02_edges minimum:10000 name:WDA_DTRC_TRCGRPF(21) : SPE 5 is data destination.
+event:0x1916 counters:0,1,2,3 um:PPU_02_edges minimum:10000 name:WDA_DTRC_TRCGRPF(22) : SPE 7 is data destination.
+event:0x1917 counters:0,1,2,3 um:PPU_02_edges minimum:10000 name:WDA_DTRC_TRCGRPF(23) : IOC is data destination.
+event:0x1918 counters:0,1,2,3 um:PPU_02_edges minimum:10000 name:WDA_DTRC_TRCGRPF(24) : Grant on data ring 0.
+event:0x1919 counters:0,1,2,3 um:PPU_02_edges minimum:10000 name:WDA_DTRC_TRCGRPF(25) : Grant on data ring 1.
+event:0x191a counters:0,1,2,3 um:PPU_02_edges minimum:10000 name:WDA_DTRC_TRCGRPF(26) : Grant on data ring 2.
+event:0x191b counters:0,1,2,3 um:PPU_02_edges minimum:10000 name:WDA_DTRC_TRCGRPF(27) : Grant on data ring 3.
+event:0x191c counters:0,1,2,3 um:PPU_02_cycles minimum:10000 name:WDA_DTRC_TRCGRPF(28) : All data rings are idle.
+event:0x191d counters:0,1,2,3 um:PPU_02_cycles minimum:10000 name:WDA_DTRC_TRCGRPF(29) : One data ring is busy.
+event:0x191e counters:0,1,2,3 um:PPU_02_cycles minimum:10000 name:WDA_DTRC_TRCGRPF(30) : Two or three data rings are busy.
+event:0x191f counters:0,1,2,3 um:PPU_02_cycles minimum:10000 name:WDA_DTRC_TRCGRPF(31) : All four data rings are busy.
+
+# CBE Signal Group 651 - EIB Token Manager - Group A0/B0 (NClk/2)
+event:0xfe4c counters:0,1,2,3 um:PPU_0_cycles minimum:10000 name:rag0_xio_e_unused : Even XIO token unused by RAG 0.
+event:0xfe4d counters:0,1,2,3 um:PPU_0_cycles minimum:10000 name:rag0_xio_o_unused : Odd XIO token unused by RAG 0.
+event:0xfe4e counters:0,1,2,3 um:PPU_0_cycles minimum:10000 name:rag0_bank_e_unused : Even bank token unused by RAG 0.
+event:0xfe4f counters:0,1,2,3 um:PPU_0_cycles minimum:10000 name:rag0_bank_o_unused : Odd bank token unused by RAG 0.
+event:0xfe54 counters:0,1,2,3 um:PPU_0_cycles minimum:10000 name:token_granted_spc0 : Token granted for SPE 0.
+event:0xfe55 counters:0,1,2,3 um:PPU_0_cycles minimum:10000 name:token_granted_spc1 : Token granted for SPE 1.
+event:0xfe56 counters:0,1,2,3 um:PPU_0_cycles minimum:10000 name:token_granted_spc2 : Token granted for SPE 2.
+event:0xfe57 counters:0,1,2,3 um:PPU_0_cycles minimum:10000 name:token_granted_spc3 : Token granted for SPE 3.
+event:0xfe58 counters:0,1,2,3 um:PPU_0_cycles minimum:10000 name:token_granted_spc4 : Token granted for SPE 4.
+event:0xfe59 counters:0,1,2,3 um:PPU_0_cycles minimum:10000 name:token_granted_spc5 : Token granted for SPE 5.
+event:0xfe5a counters:0,1,2,3 um:PPU_0_cycles minimum:10000 name:token_granted_spc6 : Token granted for SPE 6.
+event:0xfe5b counters:0,1,2,3 um:PPU_0_cycles minimum:10000 name:token_granted_spc7 : Token granted for SPE 7.
+
+
+# CBE Signal Group 652 - EIB Token Manager - Group A1/B1 (NClk/2)
+event:0xfeb0 counters:0,1,2,3 um:PPU_0_cycles minimum:10000 name:rag0_xio_e_wasted : Even XIO token wasted by RAG 0; valid only when Unused Enable (UE) = 1 in TKM_CR register.
+event:0xfeb1 counters:0,1,2,3 um:PPU_0_cycles minimum:10000 name:rag0_xio_o_wasted : Odd XIO token wasted by RAG 0; valid only when Unused Enable (UE) = 1 in TKM_CR register.
+event:0xfeb2 counters:0,1,2,3 um:PPU_0_cycles minimum:10000 name:rag0_bank_e_wasted : Even bank token wasted by RAG 0; valid only when Unused Enable (UE) = 1 in TKM_CR register.
+event:0xfeb3 counters:0,1,2,3 um:PPU_0_cycles minimum:10000 name:rag0_bank_o_wasted : Odd bank token wasted by RAG 0; valid only when Unused Enable (UE) = 1 in TKM_CR register.
+event:0xfebc counters:0,1,2,3 um:PPU_0_cycles minimum:10000 name:ragu_xio_e_wasted : Even XIO token wasted by RAG U.
+event:0xfebd counters:0,1,2,3 um:PPU_0_cycles minimum:10000 name:ragu_xio_o_wasted : Odd XIO token wasted by RAG U.
+event:0xfebe counters:0,1,2,3 um:PPU_0_cycles minimum:10000 name:ragu_bank_e_wasted : Even bank token wasted by RAG U.
+event:0xfebf counters:0,1,2,3 um:PPU_0_cycles minimum:10000 name:ragu_bank_o_wasted : Odd bank token wasted by RAG U.
+
+# CBE Signal Group 653 - EIB Token Manager - Group A2/B2 (NClk/2)
+event:0xff14 counters:0,1,2,3 um:PPU_0_cycles minimum:10000 name:rag0_xio_e_shared_to_rag1 : Even XIO token from RAG 0 shared with RAG 1
+event:0xff15 counters:0,1,2,3 um:PPU_0_cycles minimum:10000 name:rag0_xio_e_shared_to_rag2 : Even XIO token from RAG 0 shared with RAG 2
+event:0xff16 counters:0,1,2,3 um:PPU_0_cycles minimum:10000 name:rag0_xio_e_shared_to_rag3 : Even XIO token from RAG 0 shared with RAG 3
+event:0xff17 counters:0,1,2,3 um:PPU_0_cycles minimum:10000 name:rag0_xio_o_shared_to_rag1 : Odd XIO token from RAG 0 shared with RAG 1
+event:0xff18 counters:0,1,2,3 um:PPU_0_cycles minimum:10000 name:rag0_xio_o_shared_to_rag2 : Odd XIO token from RAG 0 shared with RAG 2
+event:0xff19 counters:0,1,2,3 um:PPU_0_cycles minimum:10000 name:rag0_xio_o_shared_to_rag3 : Odd XIO token from RAG 0 shared with RAG 3
+event:0xff1a counters:0,1,2,3 um:PPU_0_cycles minimum:10000 name:rag0_bank_e_shared_to_rag1 : Even bank token from RAG 0 shared with RAG 1
+event:0xff1b counters:0,1,2,3 um:PPU_0_cycles minimum:10000 name:rag0_bank_e_shared_to_rag2 : Even bank token from RAG 0 shared with RAG 2
+event:0xff1c counters:0,1,2,3 um:PPU_0_cycles minimum:10000 name:rag0_bank_e_shared_to_rag3 : Even bank token from RAG 0 shared with RAG 3
+event:0xff1d counters:0,1,2,3 um:PPU_0_cycles minimum:10000 name:rag0_bank_o_shared_to_rag1 : Odd bank token from RAG 0 shared with RAG 1
+event:0xff1e counters:0,1,2,3 um:PPU_0_cycles minimum:10000 name:rag0_bank_o_shared_to_rag2 : Odd bank token from RAG 0 shared with RAG 2
+event:0xff1f counters:0,1,2,3 um:PPU_0_cycles minimum:10000 name:rag0_bank_o_shared_to_rag3 : Odd bank token from RAG 0 shared with RAG 3
+
+
+# CBE Signal Group 654 - EIB Token Manager - Group A0/B0 (NClk/2)
+# Repeat of the 65400, 65401, 65402, 65403, 65416, 65417, 65418, 65419 events
+
+
+# CBE Signal Group 655 - EIB Token Manager - Group A1/B1 (NClk/2)
+#repeat of the 65200 events
+
+
+# CBE Signal Group 656 - EIB Token Manager - Group A2/B2 (NClk/2)
+event:0x1004f counters:0,1,2,3 um:PPU_0_cycles minimum:10000 name:ragu_bank_o_shared_to_rag0 : Odd bank token from RAG U shared with RAG 0
+event:0x10050 counters:0,1,2,3 um:PPU_0_cycles minimum:10000 name:rag1_xio_e_shared_to_rag0 : Even XIO token from RAG 1 shared with RAG 0
+event:0x10051 counters:0,1,2,3 um:PPU_0_cycles minimum:10000 name:rag1_xio_e_shared_to_rag2 : Even XIO token from RAG 1 shared with RAG 2
+event:0x10052 counters:0,1,2,3 um:PPU_0_cycles minimum:10000 name:rag1_xio_e_shared_to_rag3 : Even XIO token from RAG 1 shared with RAG 3
+event:0x10053 counters:0,1,2,3 um:PPU_0_cycles minimum:10000 name:rag1_xio_o_shared_to_rag0 : Odd XIO token from RAG 1 shared with RAG 0
+event:0x10054 counters:0,1,2,3 um:PPU_0_cycles minimum:10000 name:rag1_xio_o_shared_to_rag2 : Odd XIO token from RAG 1 shared with RAG 2
+event:0x10055 counters:0,1,2,3 um:PPU_0_cycles minimum:10000 name:rag1_xio_o_shared_to_rag3 : Odd XIO token from RAG 1 shared with RAG 3
+event:0x10056 counters:0,1,2,3 um:PPU_0_cycles minimum:10000 name:rag1_bank_e_shared_to_rag0 : Even bank token from RAG 1 shared with RAG 0
+event:0x10057 counters:0,1,2,3 um:PPU_0_cycles minimum:10000 name:rag1_bank_e_shared_to_rag2 : Even bank token from RAG 1 shared with RAG 2
+event:0x10058 counters:0,1,2,3 um:PPU_0_cycles minimum:10000 name:rag1_bank_e_shared_to_rag3 : Even bank token from RAG 1 shared with RAG 3
+event:0x10059 counters:0,1,2,3 um:PPU_0_cycles minimum:10000 name:rag1_bank_o_shared_to_rag0 : Odd bank token from RAG 1 shared with RAG 0
+event:0x1005a counters:0,1,2,3 um:PPU_0_cycles minimum:10000 name:rag1_bank_o_shared_to_rag2 : Odd bank token from RAG 1 shared with RAG 2
+event:0x1005b counters:0,1,2,3 um:PPU_0_cycles minimum:10000 name:rag1_bank_o_shared_to_rag3 : Odd bank token from RAG 1 shared with RAG 3
+event:0x1005c counters:0,1,2,3 um:PPU_0_cycles minimum:10000 name:ragu_xio_e_shared_to_rag1 : Even XIO token from RAG U shared with RAG 1
+event:0x1005d counters:0,1,2,3 um:PPU_0_cycles minimum:10000 name:ragu_xio_o_shared_to_rag1 : Odd XIO token from RAG U shared with RAG 1
+event:0x1005e counters:0,1,2,3 um:PPU_0_cycles minimum:10000 name:ragu_bank_e_shared_to_rag1 : Even bank token from RAG U shared with RAG 1
+event:0x1005f counters:0,1,2,3 um:PPU_0_cycles minimum:10000 name:ragu_bank_o_shared_to_rag1 : Odd bank token from RAG U shared with RAG 1
+
+# CBE Signal Group 657 - EIB Token Manager - Group C0/D0 (NClk/2)
+event:0x100e4 counters:0,1,2,3 um:PPU_2_cycles minimum:10000 name:rag2_xio_e_unused : Even XIO token unused by RAG 2
+event:0x100e5 counters:0,1,2,3 um:PPU_2_cycles minimum:10000 name:rag2_xio_o_unused : Odd XIO token unused by RAG 2
+event:0x100e6 counters:0,1,2,3 um:PPU_2_cycles minimum:10000 name:rag2_bank_e_unused : Even bank token unused by RAG 2
+event:0x100e7 counters:0,1,2,3 um:PPU_2_cycles minimum:10000 name:rag2_bank_o_unused : Odd bank token unused by RAG 2
+event:0x100e8 counters:0,1,2,3 um:PPU_2_cycles minimum:10000 name:rag0_ioif0_in_unused : IOIF0 In token unused by RAG 0
+event:0x100e9 counters:0,1,2,3 um:PPU_2_cycles minimum:10000 name:rag0_ioif0_out_unused : IOIF0 Out token unused by RAG 0
+event:0x100ea counters:0,1,2,3 um:PPU_2_cycles minimum:10000 name:rag0_ioif1_in_unused : IOIF1 In token unused by RAG 0
+event:0x100eb counters:0,1,2,3 um:PPU_2_cycles minimum:10000 name:rag0_ioif1_out_unused : IOIF1 Out token unused by RAG 0
+
+
+# CBE Signal Group 658 - EIB Token Manager - Group C1/D1 (NClk/2)
+event:0x10148 counters:0,1,2,3 um:PPU_2_cycles minimum:10000 name:rag2_xio_e_wasted : Even XIO token wasted by RAG 2
+event:0x10149 counters:0,1,2,3 um:PPU_2_cycles minimum:10000 name:rag2_xio_o_wasted : Odd XIO token wasted by RAG 2
+event:0x1014a counters:0,1,2,3 um:PPU_2_cycles minimum:10000 name:rag2_bank_e_wasted : Even bank token wasted by RAG 2
+event:0x1014b counters:0,1,2,3 um:PPU_2_cycles minimum:10000 name:rag2_bank_o_wasted : Odd bank token wasted by RAG 2
+
+
+# CBE Signal Group 659 - EIB Token Manager - Group C2/D2 (NClk/2)
+event:0x101ac counters:0,1,2,3 um:PPU_2_cycles minimum:10000 name:rag2_xio_e_shared_to_rag0 : Even XIO token from RAG 2 shared with RAG 0
+event:0x101ad counters:0,1,2,3 um:PPU_2_cycles minimum:10000 name:rag2_xio_e_shared_to_rag1 : Even XIO token from RAG 2 shared with RAG 1
+event:0x101ae counters:0,1,2,3 um:PPU_2_cycles minimum:10000 name:rag2_xio_e_shared_to_rag3 : Even XIO token from RAG 2 shared with RAG 3
+event:0x101af counters:0,1,2,3 um:PPU_2_cycles minimum:10000 name:rag2_xio_o_shared_to_rag0 : Odd XIO token from RAG 2 shared with RAG 0
+event:0x101b0 counters:0,1,2,3 um:PPU_2_cycles minimum:10000 name:rag2_xio_o_shared_to_rag1 : Odd XIO token from RAG 2 shared with RAG 1
+event:0x101b1 counters:0,1,2,3 um:PPU_2_cycles minimum:10000 name:rag2_xio_o_shared_to_rag3 : Odd XIO token from RAG 2 shared with RAG 3
+event:0x101b2 counters:0,1,2,3 um:PPU_2_cycles minimum:10000 name:rag2_bank_e_shared_to_rag0 : Even bank token from RAG 2 shared with RAG 0
+event:0x101b3 counters:0,1,2,3 um:PPU_2_cycles minimum:10000 name:rag2_bank_e_shared_to_rag1 : Even bank token from RAG 2 shared with RAG 1
+event:0x101b4 counters:0,1,2,3 um:PPU_2_cycles minimum:10000 name:rag2_bank_e_shared_to_rag3 : Even bank token from RAG 2 shared with RAG 3
+event:0x101b5 counters:0,1,2,3 um:PPU_2_cycles minimum:10000 name:rag2_bank_o_shared_to_rag0 : Odd bank token from RAG 2 shared with RAG 0
+event:0x101b6 counters:0,1,2,3 um:PPU_2_cycles minimum:10000 name:rag2_bank_o_shared_to_rag1 : Odd bank token from RAG 2 shared with RAG 1
+event:0x101b7 counters:0,1,2,3 um:PPU_2_cycles minimum:10000 name:rag2_bank_o_shared_to_rag3 : Odd bank token from RAG 2 shared with RAG 3
+
+
+# CBE Signal Group 6510 - EIB Token Manager - Group C3 (NClk/2)
+event:0x9ef38 counters:0,1,2,3 um:PPU_2_cycles minimum:10000 name:rag0_ioif0_in_wasted : IOIF0 In token wasted by RAG 0
+event:0x9ef39 counters:0,1,2,3 um:PPU_2_cycles minimum:10000 name:rag0_ioif0_out_wasted : IOIF0 Out token wasted by RAG 0
+event:0x9ef3a counters:0,1,2,3 um:PPU_2_cycles minimum:10000 name:rag0_ioif1_in_wasted : IOIF1 In token wasted by RAG 0
+event:0x9ef3b counters:0,1,2,3 um:PPU_2_cycles minimum:10000 name:rag0_ioif1_out_wasted : IOIF1 Out token wasted by RAG 0
+
+
+# CBE Signal Group 6511 - EIB Token Manager - Group C0/D0 (NClk/2)
+# repeat of the events 65764 - 65771
+
+# CBE Signal Group 6512 - EIB Token Manager - Group C1/D1 (NClk/2)
+event:0x9f010 counters:0,1,2,3 um:PPU_2_cycles minimum:10000 name:rag3_xio_e_wasted : Even XIO token wasted by RAG 3
+event:0x9f011 counters:0,1,2,3 um:PPU_2_cycles minimum:10000 name:rag3_xio_o_wasted : Odd XIO token wasted by RAG 3
+event:0x9f012 counters:0,1,2,3 um:PPU_2_cycles minimum:10000 name:rag3_bank_e_wasted : Even bank token wasted by RAG 3
+event:0x9f013 counters:0,1,2,3 um:PPU_2_cycles minimum:10000 name:rag3_bank_o_wasted : Odd bank token wasted by RAG 3
+
+# CBE Signal Group 6513 - EIB Token Manager - Group C2/D2 (NClk/2)
+event:0x9f074 counters:0,1,2,3 um:PPU_2_cycles minimum:10000 name:rag3_xio_e_shared_to_rag0 : Even XIO token from RAG 3 shared with RAG 0
+event:0x9f075 counters:0,1,2,3 um:PPU_2_cycles minimum:10000 name:rag3_xio_e_shared_to_rag1 : Even XIO token from RAG 3 shared with RAG 1
+event:0x9f076 counters:0,1,2,3 um:PPU_2_cycles minimum:10000 name:rag3_xio_e_shared_to_rag2 : Even XIO token from RAG 3 shared with RAG 2
+event:0x9f077 counters:0,1,2,3 um:PPU_2_cycles minimum:10000 name:rag3_xio_o_shared_to_rag0 : Odd XIO token from RAG 3 shared with RAG 0
+event:0x9f078 counters:0,1,2,3 um:PPU_2_cycles minimum:10000 name:rag3_xio_o_shared_to_rag1 : Odd XIO token from RAG 3 shared with RAG 1
+event:0x9f079 counters:0,1,2,3 um:PPU_2_cycles minimum:10000 name:rag3_xio_o_shared_to_rag2 : Odd XIO token from RAG 3 shared with RAG 2
+event:0x9f07a counters:0,1,2,3 um:PPU_2_cycles minimum:10000 name:rag3_bank_e_shared_to_rag0 : Even bank token from RAG 3 shared with RAG 0
+event:0x9f07b counters:0,1,2,3 um:PPU_2_cycles minimum:10000 name:rag3_bank_e_shared_to_rag1 : Even bank token from RAG 3 shared with RAG 1
+event:0x9f07c counters:0,1,2,3 um:PPU_2_cycles minimum:10000 name:rag3_bank_e_shared_to_rag2 : Even bank token from RAG 3 shared with RAG 2
+event:0x9f07d counters:0,1,2,3 um:PPU_2_cycles minimum:10000 name:rag3_bank_o_shared_to_rag0 : Odd bank token from RAG 3 shared with RAG 0
+event:0x9f07e counters:0,1,2,3 um:PPU_2_cycles minimum:10000 name:rag3_bank_o_shared_to_rag1 : Odd bank token from RAG 3 shared with RAG 1
+event:0x9f07f counters:0,1,2,3 um:PPU_2_cycles minimum:10000 name:rag3_bank_o_shared_to_rag2 : Odd bank token from RAG 3 shared with RAG 2
+
+
+# Cell BE Island 7 - Memory Interface Controller (MIC)
+
+# CBE Signal Group 71 - MIC Group 1 (NClk/2)
+event:0x1bc5 counters:0,1,2,3 um:PPU_0123_cycles minimum:10000 name:YM_COMMON_YMB_CSR_PERFORM1(1) : XIO1 - Read command queue is empty.
+event:0x1bc6 counters:0,1,2,3 um:PPU_0123_cycles minimum:10000 name:YM_COMMON_YMB_CSR_PERFORM1(2) : XIO1 - Write command queue is empty.
+event:0x1bc8 counters:0,1,2,3 um:PPU_0123_cycles minimum:10000 name:YM_COMMON_YMB_CSR_PERFORM1(4) : XIO1 - Read command queue is full.
+event:0x1bc9 counters:0,1,2,3 um:PPU_0123_cycles minimum:10000 name:YM_COMMON_YMB_CSR_PERFORM1(5) : XIO1 - MIC responds with a Retry for a read command because the read command queue is full.
+event:0x1bca counters:0,1,2,3 um:PPU_0123_cycles minimum:10000 name:YM_COMMON_YMB_CSR_PERFORM1(6) : XIO1 - Write command queue is full.
+event:0x1bcb counters:0,1,2,3 um:PPU_0123_cycles minimum:10000 name:YM_COMMON_YMB_CSR_PERFORM1(7) : XIO1 - MIC responds with a Retry for a write command because the write command queue is full.
+event:0x1bde counters:0,1,2,3 um:PPU_0123_cycles minimum:10000 name:YM_CTL1_YMM_CCS_PERFORM(2) : XIO1 - Read command dispatched; includes high-priority and fast-path reads (see Note 1).
+event:0x1bdf counters:0,1,2,3 um:PPU_0123_cycles minimum:10000 name:YM_CTL1_YMM_CCS_PERFORM(3) : XIO1 - Write command dispatched (see Note 1).
+event:0x1be0 counters:0,1,2,3 um:PPU_0123_cycles minimum:10000 name:YM_CTL1_YMM_CCS_PERFORM(4) : XIO1 - Read-Modify-Write command (data size < 16 bytes) dispatched (see Note 1).
+event:0x1be1 counters:0,1,2,3 um:PPU_0123_cycles minimum:10000 name:YM_CTL1_YMM_CCS_PERFORM(5) : XIO1 - Refresh dispatched (see Note 1).
+event:0x1be3 counters:0,1,2,3 um:PPU_0123_cycles minimum:10000 name:YM_CTL1_YMM_CCS_PERFORM(7) : XIO1 - Byte-masking write command (data size >= 16 bytes) dispatched (see Note 1).
+event:0x1be5 counters:0,1,2,3 um:PPU_0123_cycles minimum:10000 name:YM_CTL1_YMM_CRW_PERFORM(1) : XIO1 - Write command dispatched after a read command was previously dispatched (see Note 1).
+event:0x1be6 counters:0,1,2,3 um:PPU_0123_cycles minimum:10000 name:YM_CTL1_YMM_CRW_PERFORM(2) : XIO1 - Read command dispatched after a write command was previously dispatched (see Note 1).
+
+
+# CBE Signal Group 72 - MIC Group 2 (NClk/2)
+event:0x1c29 counters:0,1,2,3 um:PPU_0123_cycles minimum:10000 name:YM_COMMON_YMB_CSR_PERFORM2(1) : XIO0 - Read command queue is empty.
+event:0x1c2a counters:0,1,2,3 um:PPU_0123_cycles minimum:10000 name:YM_COMMON_YMB_CSR_PERFORM2(2) : XIO0 - Write command queue is empty.
+event:0x1c2c counters:0,1,2,3 um:PPU_0123_cycles minimum:10000 name:YM_COMMON_YMB_CSR_PERFORM2(4) : XIO0 - Read command queue is full.
+event:0x1c2d counters:0,1,2,3 um:PPU_0123_cycles minimum:10000 name:YM_COMMON_YMB_CSR_PERFORM2(5) : XIO0 - MIC responds with a Retry for a read command because the read command queue is full.
+event:0x1c2e counters:0,1,2,3 um:PPU_0123_cycles minimum:10000 name:YM_COMMON_YMB_CSR_PERFORM2(6) : XIO0 - Write command queue is full.
+event:0x1c2f counters:0,1,2,3 um:PPU_0123_cycles minimum:10000 name:YM_COMMON_YMB_CSR_PERFORM2(7) : XIO0 - MIC responds with a Retry for a write command because the write command queue is full.
+event:0x1c42 counters:0,1,2,3 um:PPU_0123_cycles minimum:10000 name:YM_CTL0_YMM_CCS_PERFORM(2) : XIO0 - Read command dispatched; includes high-priority and fast-path reads (see Note 1).
+event:0x1c43 counters:0,1,2,3 um:PPU_0123_cycles minimum:10000 name:YM_CTL0_YMM_CCS_PERFORM(3) : XIO0 - Write command dispatched (see Note 1).
+event:0x1c44 counters:0,1,2,3 um:PPU_0123_cycles minimum:10000 name:YM_CTL0_YMM_CCS_PERFORM(4) : XIO0 - Read-Modify-Write command (data size < 16 bytes) dispatched (see Note 1).
+event:0x1c45 counters:0,1,2,3 um:PPU_0123_cycles minimum:10000 name:YM_CTL0_YMM_CCS_PERFORM(5) : XIO0 - Refresh dispatched (see Note 1).
+event:0x1c49 counters:0,1,2,3 um:PPU_0123_cycles minimum:10000 name:YM_CTL0_YMM_CRW_PERFORM(1) : XIO0 - Write command dispatched after a read command was previously dispatched (see Note 1).
+event:0x1c4a counters:0,1,2,3 um:PPU_0123_cycles minimum:10000 name:YM_CTL0_YMM_CRW_PERFORM(2) : XIO0 - Read command dispatched after a write command was previously dispatched (see Note 1).
+
+# CBE Signal Group 73 - MIC Group 3 (NClk/2)
+event:0x1ca7 counters:0,1,2,3 um:PPU_0123_cycles minimum:10000 name:YM_CTL0_YMM_CCS_PERFORM(3) : XIO0 - Write command dispatched (see Note 1).
+event:0x1ca8 counters:0,1,2,3 um:PPU_0123_cycles minimum:10000 name:YM_CTL0_YMM_CCS_PERFORM(4) : XIO0 - Read-Modify-Write command (data size < 16 bytes) dispatched (see Note 1).
+event:0x1ca9 counters:0,1,2,3 um:PPU_0123_cycles minimum:10000 name:YM_CTL0_YMM_CCS_PERFORM(5) : XIO0 - Refresh dispatched (see Note 1).
+event:0x1cab counters:0,1,2,3 um:PPU_0123_cycles minimum:10000 name:YM_CTL0_YMM_CCS_PERFORM(7) : XIO0 - Byte-masking write command (data size >= 16 bytes) dispatched (see Note 1).
+
+
+# Cell BE Island 8 - Broadband Engine Interface (BEI)
+
+# CBE Signal Group 81 - BIF Controller - IOIF0 Word 0 (NClk/2)
+event:0x1fb0 counters:0,1,2,3 um:PPU_02_cycles minimum:10000 name:B2F_Type_A_Data : Type A data physical layer group (PLG). Does not include header-only or credit-only data PLGs. In IOIF mode, counts I/O device read data; in BIF mode, counts all outbound data.
+event:0x1fb1 counters:0,1,2,3 um:PPU_02_cycles minimum:10000 name:B2F_Type_B_Data : Type B data PLG. In IOIF mode, counts I/O device read data; in BIF mode, counts all outbound data.
+event:0x1fb2 counters:0,1,2,3 um:PPU_02_cycles minimum:10000 name:IOC_Type_A_Data : Type A data PLG. Does not include header-only or credit-only PLGs. In IOIF mode, counts CBE store data to I/O device. Does not apply in BIF mode.
+event:0x1fb3 counters:0,1,2,3 um:PPU_02_cycles minimum:10000 name:IOC_Type_B_Data : Type B data PLG. In IOIF mode, counts CBE store data to an I/O device. Does not apply in BIF mode.
+event:0x1fb4 counters:0,1,2,3 um:PPU_02_cycles minimum:10000 name:Data_PLG : Data PLG. Does not include header-only or credit-only PLGs.
+event:0x1fb5 counters:0,1,2,3 um:PPU_02_cycles minimum:10000 name:Command_PLG : Command PLG (no credit-only PLG). In IOIF mode, counts I/O command or reply PLGs. In BIF mode, counts command/ reflected command or snoop/combined responses.
+event:0x1fb6 counters:0,1,2,3 um:PPU_02_cycles minimum:10000 name:Type_A_Transfer : Type A data transfer regardless of length. Can also be used to count Type A data header PLGs (but not credit-only PLGs).
+event:0x1fb7 counters:0,1,2,3 um:PPU_02_cycles minimum:10000 name:Type_B_Transfer : Type B data transfer.
+event:0x1fb8 counters:0,1,2,3 um:PPU_02_cycles minimum:10000 name:Cmd_Credit_Only_PLG : Command-credit-only command PLG in either IOIF or BIF mode.
+event:0x1fb9 counters:0,1,2,3 um:PPU_02_cycles minimum:10000 name:Data_Credit_Only_PLG : Data-credit-only data PLG sent in either IOIF or BIF mode.
+event:0x1fba counters:0,1,2,3 um:PPU_02_cycles minimum:10000 name:Non-Null_Envelopes : Non-null envelope sent (does not include long envelopes).
+event:0x1fbc counters:0,1,2,3 um:PPU_02_edges minimum:10000 name:null_env_sent : Null envelope sent (see Note 1).
+event:0x1fbd counters:0,1,2,3 um:PPU_02_edges minimum:10000 name:no_valid_data : No valid data sent this cycle (see Note 1).
+event:0x1fbe counters:0,1,2,3 um:PPU_02_edges minimum:10000 name:norm_env_sent : Normal envelope sent (see Note 1).
+event:0x1fbf counters:0,1,2,3 um:PPU_02_edges minimum:10000 name:lnog_env_sent : Long envelope sent (see Note 1).
+event:0x1fc0 counters:0,1,2,3 um:PPU_02_edges minimum:10000 name:per_mon_null_sent : A Null PLG inserted in an outgoing envelope.
+event:0x1fc1 counters:0,1,2,3 um:PPU_02_cycles minimum:10000 name:per_mon_array_full : Outbound envelope array is full.
+
+# CBE Signal Group 82 - BIF Controller - IOIF1 Word 0 (NClk/2)
+event:0x201b counters:0,1,2,3 um:PPU_02_cycles minimum:10000 name:Type_B_Transfer : Type B data transfer.
+
+
+# CBE Signal Group 83 - BIF Controller - IOIF0 Word 2 (NClk/2)
+event:0x206d counters:0,1,2,3 um:PPU_02_edges minimum:10000 name:null_env_rcvd : Null envelope received (see Note 1).
+event:0x207a counters:0,1,2,3 um:PPU_02_cycles minimum:10000 name:Command_PLG : Command PLG, but not credit-only PLG. In IOIF mode, counts I/O command or reply PLGs. In BIF mode, counts command/reflected command or snoop/combined responses.
+event:0x207b counters:0,1,2,3 um:PPU_02_cycles minimum:10000 name:Command_Credit_Only_PLG : Command-credit-only command PLG.
+event:0x2080 counters:0,1,2,3 um:PPU_02_edges minimum:10000 name:norm_env_rcvd_good : Normal envelope received is good (see Note 1).
+event:0x2081 counters:0,1,2,3 um:PPU_02_edges minimum:10000 name:long_env_rcvd_good : Long envelope received is good (see Note 1).
+event:0x2082 counters:0,1,2,3 um:PPU_02_cycles minimum:10000 name:cmd_credit_only_PLG : Data-credit-only data PLG in either IOIF or BIF mode; will count a maximum of one per envelope (see Note 1).
+event:0x2083 counters:0,1,2,3 um:PPU_02_cycles minimum:10000 name:non-null_envelope : Non-null envelope; does not include long envelopes; includes retried envelopes (see Note 1).
+event:0x2084 counters:0,1,2,3 um:PPU_02_cycles minimum:10000 name:data_grnt_rcvd : Data grant received.
+event:0x2088 counters:0,1,2,3 um:PPU_02_cycles minimum:10000 name:Data_PLG : Data PLG. Does not include header-only or credit-only PLGs.
+event:0x2089 counters:0,1,2,3 um:PPU_02_cycles minimum:10000 name:Type_A_transfer : Type A data transfer regardless of length. Can also be used to count Type A data header PLGs, but not credit-only PLGs.
+event:0x208a counters:0,1,2,3 um:PPU_02_cycles minimum:10000 name:Type_B_transfer : Type B data transfer.
+
+# CBE Signal Group 84 - BIF Controller - IOIF1 Word 2 (NClk/2)
+event:0x20d1 counters:0,1,2,3 um:PPU_02_edges minimum:10000 name:null_env_rcvd : Null envelope received (see Note 1).
+event:0x20de counters:0,1,2,3 um:PPU_02_cycles minimum:10000 name:Command_PLG : Command PLG (no credit-only PLG). Counts I/O command or reply PLGs.
+event:0x20df counters:0,1,2,3 um:PPU_02_cycles minimum:10000 name:Command_Credit_Only_PLG : Command-credit-only command PLG.
+event:0x20e4 counters:0,1,2,3 um:PPU_02_edges minimum:10000 name:norm_env_rcvd_good : Normal envelope received is good (see Note 1).
+event:0x20e5 counters:0,1,2,3 um:PPU_02_edges minimum:10000 name:long_env_rcvd_good : Long envelope received is good (see Note 1).
+event:0x20e6 counters:0,1,2,3 um:PPU_02_cycles minimum:10000 name:cmd_credit_only_PLG : Data-credit-only data PLG received; will count a maximum of one per envelope (see Note 1).
+event:0x20e7 counters:0,1,2,3 um:PPU_02_cycles minimum:10000 name:non-null_envelope : Non-Null envelope received; does not include long envelopes; includes retried envelopes (see Note 1).
+event:0x20e8 counters:0,1,2,3 um:PPU_02_cycles minimum:10000 name:data_grnt_rcvd : Data grant received.
+event:0x20ec counters:0,1,2,3 um:PPU_02_cycles minimum:10000 name:Data_PLG : Data PLG received. Does not include header-only or credit-only PLGs.
+event:0x20ed counters:0,1,2,3 um:PPU_02_cycles minimum:10000 name:Type_A_transfer : Type I A data transfer regardless of length. Can also be used to count Type A data header PLGs (but not credit-only PLGs).
+event:0x20ee counters:0,1,2,3 um:PPU_02_cycles minimum:10000 name:Type_B_transfer : Type B data transfer received.
+
+# CBE Signal Group 85 - I/O Controller Word 0 - Group 1 (NClk/2)
+event:0x213c counters:0,1,2,3 um:PPU_02_edges minimum:10000 name:mmio_rd_to_ioif1 : Received MMIO read targeted to IOIF1.
+event:0x213d counters:0,1,2,3 um:PPU_02_edges minimum:10000 name:mmio_wrt_to_ioif1 : Received MMIO write targeted to IOIF1.
+event:0x213e counters:0,1,2,3 um:PPU_02_edges minimum:10000 name:mmio_rd_to_ioif0 : Received MMIO read targeted to IOIF0.
+event:0x213f counters:0,1,2,3 um:PPU_02_edges minimum:10000 name:mmio_wrt_to_ioif0 : Received MMIO write targeted to IOIF0.
+event:0x2140 counters:0,1,2,3 um:PPU_02_cycles minimum:10000 name:cmd_to_slice0 : Sent command to IOIF0.
+event:0x2141 counters:0,1,2,3 um:PPU_02_cycles minimum:10000 name:cmd_to_slice1 : Sent command to IOIF1.
+
+# CBE Signal Group 86 - I/O Controller Word 2 - Group 2 (NClk/2)
+event:0x219d counters:0,1,2,3 um:PPU_02_cycles_or_edges minimum:10000 name:re_dep_dm3 : IOIF0 Dependency Matrix 3 is occupied by a dependent command (see Note 1).
+event:0x219e counters:0,1,2,3 um:PPU_02_cycles_or_edges minimum:10000 name:re_dep_dm4 : IOIF0 Dependency Matrix 4 is occupied by a dependent command (see Note 1).
+event:0x219f counters:0,1,2,3 um:PPU_02_cycles_or_edges minimum:10000 name:re_dep_dm5 : IOIF0 Dependency Matrix 5 is occupied by a dependent command (see Note 1).
+event:0x21a2 counters:0,1,2,3 um:PPU_02_edges minimum:10000 name:slice0_ld_rqst : Received read request from IOIF0.
+event:0x21a3 counters:0,1,2,3 um:PPU_02_edges minimum:10000 name:slice0_str_rqst : Received write request from IOIF0.
+event:0x21a6 counters:0,1,2,3 um:PPU_02_edges minimum:10000 name:intrpt_from_realizer : Received interrupt from the IOIF0.
+
+# CBE Signal Group 87 - I/O Controller - Group 3 (NClk/2)
+event:0x220c counters:0,1,2,3 um:PPU_02_cycles minimum:10000 name:slice0_rqst_tkn_even : IOIF0 request for token for even memory banks 0-14 (see Note 1).
+event:0x220d counters:0,1,2,3 um:PPU_02_cycles minimum:10000 name:slice0_rqst_tkn_odd : IOIF0 request for token for odd memory banks 1-15 (see Note 1).
+event:0x220e counters:0,1,2,3 um:PPU_02_cycles minimum:10000 name:slice0_rqst_tkn1_3_5_7 : IOIF0 request for token type 1, 3, 5, or 7 (see Note 1).
+event:0x220f counters:0,1,2,3 um:PPU_02_cycles minimum:10000 name:slice0_rqst_tkn9_11_13_15 : IOIF0 request for token type 9, 11, 13, or 15 (see Note 1).
+event:0x2214 counters:0,1,2,3 um:PPU_02_cycles minimum:10000 name:slice0_rqst_tkn16 : IOIF0 request for token type 16 (see Note 1).
+event:0x2215 counters:0,1,2,3 um:PPU_02_cycles minimum:10000 name:slice0_rqst_tkn17 : IOIF0 request for token type 17 (see Note 1).
+event:0x2216 counters:0,1,2,3 um:PPU_02_cycles minimum:10000 name:slice0_rqst_tkn18 : IOIF0 request for token type 18 (see Note 1).
+event:0x2217 counters:0,1,2,3 um:PPU_02_cycles minimum:10000 name:slice0_rqst_tkn19 : IOIF0 request for token type 19 (see Note 1).
+
+
+# CBE Signal Group 88 - I/O Controller Word 0 - Group 4 (NClk/2)
+event:0x2260 counters:0,1,2,3 um:PPU_02_edges minimum:10000 name:io_pt_hit : I/O page table cache hit for commands from IOIF.
+event:0x2261 counters:0,1,2,3 um:PPU_02_edges minimum:10000 name:io_pt_miss : I/O page table cache miss for commands from IOIF.
+event:0x2263 counters:0,1,2,3 um:PPU_02_edges minimum:10000 name:io_seg_tbl_hit : I/O segment table cache hit.
+event:0x2264 counters:0,1,2,3 um:PPU_02_edges minimum:10000 name:io_seg_tbl_miss : I/O segment table cache miss.
+event:0x2278 counters:0,1,2,3 um:PPU_02_edges minimum:10000 name:intrrpt_frm_spu : Interrupt received from any SPU (reflected cmd when IIC has sent ACK response).
+event:0x2279 counters:0,1,2,3 um:PPU_02_edges minimum:10000 name:iic_intrrpt_to_pu_thrd0 : Internal interrupt controller (IIC) generated interrupt to PPU thread 0.
+event:0x227a counters:0,1,2,3 um:PPU_02_edges minimum:10000 name:iic_intrrpt_to_pu_thrd1 : IIC generated interrupt to PPU thread 1.
+event:0x227b counters:0,1,2,3 um:PPU_02_edges minimum:10000 name:pu_intrrpt_to_pu_thrd0 : Received external interrupt (using MMIO) from PPU to PPU thread 0.
+event:0x227c counters:0,1,2,3 um:PPU_02_edges minimum:10000 name:pu_intrrpt_to_pu_thrd1 : Received external interrupt (using MMIO) from PPU to PPU thread 1.
+event:0x227c counters:0,1,2,3 um:PPU_02_edges minimum:10000 name:pu_intrrpt_to_pu_thrd1 : Received external interrupt (using MMIO) from PPU to PPU thread 1.
diff --git a/events/ppc64/cell-be/unit_masks b/events/ppc64/cell-be/unit_masks
new file mode 100644
index 0000000..64a4959
--- /dev/null
+++ b/events/ppc64/cell-be/unit_masks
@@ -0,0 +1,137 @@
+# Cell Broadband Engine possible unit masks
+#
+# Copyright OProfile authors
+#
+#(C) COPYRIGHT International Business Machines Corp. 2006
+# Contributed by Maynard Johnson <maynardj@us.ibm.com>
+#
+#
+name:zero type:mandatory default:0x0
+ 0x000 Count cycles [mandatory]
+name:PPU_0_cycles type:bitmask default:0x013
+ 0x001 Count cycles [mandatory]
+ 0x000 Negative polarity [optional ]
+ 0x002 Positive polarity [default ]
+ 0x010 PPU Bus Word 0 [mandatory]
+name:PPU_0_edges type:bitmask default:0x012
+ 0x000 Count edges [mandatory]
+ 0x000 Negative polarity [optional ]
+ 0x002 Positive polarity [default ]
+ 0x010 PPU Bus Word 0 [mandatory]
+name:PPU_2_cycles type:bitmask default:0x043
+ 0x001 Count cycles [mandatory]
+ 0x000 Negative polarity [optional ]
+ 0x002 Positive polarity [default ]
+ 0x040 PPU Bus Word 2 [mandatory]
+name:PPU_2_edges type:bitmask default:0x042
+ 0x000 Count edges [mandatory]
+ 0x000 Negative polarity [optional ]
+ 0x002 Positive polarity [default ]
+ 0x040 PPU Bus Word 2 [mandatory]
+name:PPU_01_cycles type:bitmask default:0x023
+ 0x001 Count cycles [mandatory]
+ 0x000 Negative polarity [optional ]
+ 0x002 Positive polarity [default ]
+ 0x010 PPU Bus Word 0 [optional ]
+ 0x020 PPU Bus Word 1 [default ]
+name:PPU_01_edges type:bitmask default:0x022
+ 0x000 Count edges [mandatory]
+ 0x000 Negative polarity [optional ]
+ 0x002 Positive polarity [default ]
+ 0x010 PPU Bus Word 0 [optional ]
+ 0x020 PPU Bus Word 1 [default ]
+name:PPU_01_cycles_or_edges type:bitmask default:0x023
+ 0x000 Count edges [optional ]
+ 0x001 Count cycles [default ]
+ 0x000 Negative polarity [optional ]
+ 0x002 Positive polarity [default ]
+ 0x010 PPU Bus Word 0 [optional ]
+ 0x020 PPU Bus Word 1 [default ]
+name:PPU_02_cycles type:bitmask default:0x013
+ 0x001 Count cycles [mandatory]
+ 0x000 Negative polarity [optional ]
+ 0x002 Positive polarity [default ]
+ 0x010 PPU Bus Word 0 [default ]
+ 0x040 PPU Bus Word 2 [optional ]
+name:PPU_02_edges type:bitmask default:0x012
+ 0x000 Count edges [mandatory]
+ 0x000 Negative polarity [optional ]
+ 0x002 Positive polarity [default ]
+ 0x010 PPU Bus Word 0 [default ]
+ 0x040 PPU Bus Word 2 [optional ]
+name:PPU_02_cycles_or_edges type:bitmask default:0x013
+ 0x000 Count edges [optional ]
+ 0x001 Count cycles [default ]
+ 0x000 Negative polarity [optional ]
+ 0x002 Positive polarity [default ]
+ 0x010 PPU Bus Word 0 [default ]
+ 0x040 PPU Bus Word 2 [optional ]
+name:PPU_0123_cycles type:bitmask default:0x033
+ 0x001 Count cycles [mandatory]
+ 0x000 Negative polarity [optional ]
+ 0x002 Positive polarity [default ]
+ 0x030 PPU Bus Word 0/1 [default ]
+ 0x0c0 PPU Bus Word 2/3 [optional ]
+name:SPU_02_cycles type:bitmask default:0x0113
+ 0x0001 Count cycles [mandatory]
+ 0x0000 Negative polarity [optional ]
+ 0x0002 Positive polarity [default ]
+ 0x0110 SPU Bus Word 0 [default ]
+ 0x0140 SPU Bus Word 2 [optional ]
+ 0x0000 SPU 0 [default ]
+ 0x1000 SPU 1 [optional ]
+ 0x2000 SPU 2 [optional ]
+ 0x3000 SPU 3 [optional ]
+ 0x4000 SPU 4 [optional ]
+ 0x5000 SPU 5 [optional ]
+ 0x6000 SPU 6 [optional ]
+ 0x7000 SPU 7 [optional ]
+name:SPU_02_cycles_or_edges type:bitmask default:0x0113
+ 0x0000 Count edges [optional ]
+ 0x0001 Count cycles [default ]
+ 0x0000 Negative polarity [optional ]
+ 0x0002 Positive polarity [default ]
+ 0x0110 SPU Bus Word 0 [default ]
+ 0x0140 SPU Bus Word 2 [optional ]
+ 0x0000 SPU 0 [default ]
+ 0x1000 SPU 1 [optional ]
+ 0x2000 SPU 2 [optional ]
+ 0x3000 SPU 3 [optional ]
+ 0x4000 SPU 4 [optional ]
+ 0x5000 SPU 5 [optional ]
+ 0x6000 SPU 6 [optional ]
+ 0x7000 SPU 7 [optional ]
+name:SPU_Trigger_cycles_or_edges type:bitmask default:0x0107
+ 0x0000 Count edges [optional ]
+ 0x0001 Count cycles [default ]
+ 0x0000 Negative polarity [optional ]
+ 0x0002 Positive polarity [default ]
+ 0x0104 SPU Trigger 0 [default ]
+ 0x0114 SPU Trigger 1 [optional ]
+ 0x0124 SPU Trigger 2 [optional ]
+ 0x0134 SPU Trigger 3 [optional ]
+ 0x0000 SPU 0 [default ]
+ 0x1000 SPU 1 [optional ]
+ 0x2000 SPU 2 [optional ]
+ 0x3000 SPU 3 [optional ]
+ 0x4000 SPU 4 [optional ]
+ 0x5000 SPU 5 [optional ]
+ 0x6000 SPU 6 [optional ]
+ 0x7000 SPU 7 [optional ]
+name:SPU_Event_cycles_or_edges type:bitmask default:0x0147
+ 0x0000 Count edges [optional ]
+ 0x0001 Count cycles [default ]
+ 0x0000 Negative polarity [optional ]
+ 0x0002 Positive polarity [default ]
+ 0x0144 SPU Event 0 [default ]
+ 0x0154 SPU Event 1 [optional ]
+ 0x0164 SPU Event 2 [optional ]
+ 0x0174 SPU Event 3 [optional ]
+ 0x0000 SPU 0 [default ]
+ 0x1000 SPU 1 [optional ]
+ 0x2000 SPU 2 [optional ]
+ 0x3000 SPU 3 [optional ]
+ 0x4000 SPU 4 [optional ]
+ 0x5000 SPU 5 [optional ]
+ 0x6000 SPU 6 [optional ]
+ 0x7000 SPU 7 [optional ]
diff --git a/events/ppc64/ibm-compat-v1/event_mappings b/events/ppc64/ibm-compat-v1/event_mappings
new file mode 100644
index 0000000..5805604
--- /dev/null
+++ b/events/ppc64/ibm-compat-v1/event_mappings
@@ -0,0 +1,82 @@
+#PPC64 pmu-compat event mappings, version 1
+#
+# Copyright OProfile authors
+# Copyright (c) International Business Machines, 2009.
+# Contributed by Maynard Johnson <maynardj@us.ibm.com>.
+#
+#Mapping of event groups to MMCR values
+
+#Group Default
+event:0X001 mmcr0:0X00000000 mmcr1:0X00000000FAF41EF4 mmcra:0X00000000
+
+#Group 1 pm_compat_utilization1, Basic CPU utilization
+event:0X0010 mmcr0:0X00000000 mmcr1:0X00000000FAF41EF4 mmcra:0X00000000
+event:0X0011 mmcr0:0X00000000 mmcr1:0X00000000FAF41EF4 mmcra:0X00000000
+event:0X0012 mmcr0:0X00000000 mmcr1:0X00000000FAF41EF4 mmcra:0X00000000
+event:0X0013 mmcr0:0X00000000 mmcr1:0X00000000FAF41EF4 mmcra:0X00000000
+
+#Group 2 pm_compat_utilization2, CPI and utilization data
+event:0X0020 mmcr0:0X00000000 mmcr1:0X00000000F4F41EFA mmcra:0X00000000
+event:0X0021 mmcr0:0X00000000 mmcr1:0X00000000F4F41EFA mmcra:0X00000000
+event:0X0022 mmcr0:0X00000000 mmcr1:0X00000000F4F41EFA mmcra:0X00000000
+event:0X0023 mmcr0:0X00000000 mmcr1:0X00000000F4F41EFA mmcra:0X00000000
+
+#Group 3 pm_compat_dsource, Data Access sources
+event:0X0030 mmcr0:0X00000000 mmcr1:0X00000000FEFEFEFA mmcra:0X00000000
+event:0X0031 mmcr0:0X00000000 mmcr1:0X00000000FEFEFEFA mmcra:0X00000000
+event:0X0032 mmcr0:0X00000000 mmcr1:0X00000000FEFEFEFA mmcra:0X00000000
+event:0X0033 mmcr0:0X00000000 mmcr1:0X00000000FEFEFEFA mmcra:0X00000000
+
+#Group 4 pm_compat_l1_dcache_load_store_miss, L1 D-Cache load/store miss
+event:0X0040 mmcr0:0X00000000 mmcr1:0X0000000002F0F0F0 mmcra:0X00000000
+event:0X0041 mmcr0:0X00000000 mmcr1:0X0000000002F0F0F0 mmcra:0X00000000
+event:0X0042 mmcr0:0X00000000 mmcr1:0X0000000002F0F0F0 mmcra:0X00000000
+event:0X0043 mmcr0:0X00000000 mmcr1:0X0000000002F0F0F0 mmcra:0X00000000
+
+#Group 5 pm_compat_l1_cache_load, L1 Cache loads
+event:0X0050 mmcr0:0X00000000 mmcr1:0X0000000002FEF6F0 mmcra:0X00000000
+event:0X0051 mmcr0:0X00000000 mmcr1:0X0000000002FEF6F0 mmcra:0X00000000
+event:0X0052 mmcr0:0X00000000 mmcr1:0X0000000002FEF6F0 mmcra:0X00000000
+event:0X0053 mmcr0:0X00000000 mmcr1:0X0000000002FEF6F0 mmcra:0X00000000
+
+#Group 6 pm_compat_instruction_directory, Instruction Directory
+event:0X0060 mmcr0:0X00000000 mmcr1:0X00000000F6FC02FC mmcra:0X00000000
+event:0X0061 mmcr0:0X00000000 mmcr1:0X00000000F6FC02FC mmcra:0X00000000
+event:0X0062 mmcr0:0X00000000 mmcr1:0X00000000F6FC02FC mmcra:0X00000000
+event:0X0063 mmcr0:0X00000000 mmcr1:0X00000000F6FC02FC mmcra:0X00000000
+
+#Group 7 pm_compat_data_directory, Data Directory
+event:0X0070 mmcr0:0X00000000 mmcr1:0X00000000FCF6FCFA mmcra:0X00000000
+event:0X0071 mmcr0:0X00000000 mmcr1:0X00000000FCF6FCFA mmcra:0X00000000
+event:0X0072 mmcr0:0X00000000 mmcr1:0X00000000FCF6FCFA mmcra:0X00000000
+event:0X0073 mmcr0:0X00000000 mmcr1:0X00000000FCF6FCFA mmcra:0X00000000
+
+#Group 8 pm_compat_cpi_1plus_ppc, Misc CPI and utilization data
+event:0X0080 mmcr0:0X00000000 mmcr1:0X00000000F2F4F2F2 mmcra:0X00000000
+event:0X0081 mmcr0:0X00000000 mmcr1:0X00000000F2F4F2F2 mmcra:0X00000000
+event:0X0082 mmcr0:0X00000000 mmcr1:0X00000000F2F4F2F2 mmcra:0X00000000
+event:0X0083 mmcr0:0X00000000 mmcr1:0X00000000F2F4F2F2 mmcra:0X00000000
+
+#Group 9 pm_compat_misc_events1, Misc Events
+event:0X0090 mmcr0:0X00000000 mmcr1:0X0000000002F8F81E mmcra:0X00000000
+event:0X0091 mmcr0:0X00000000 mmcr1:0X0000000002F8F81E mmcra:0X00000000
+event:0X0092 mmcr0:0X00000000 mmcr1:0X0000000002F8F81E mmcra:0X00000000
+event:0X0093 mmcr0:0X00000000 mmcr1:0X0000000002F8F81E mmcra:0X00000000
+
+#Group 10 pm_compat_misc_events2, Misc Events
+event:0X00A0 mmcr0:0X00000000 mmcr1:0X00000000F0F2F4F8 mmcra:0X00000000
+event:0X00A1 mmcr0:0X00000000 mmcr1:0X00000000F0F2F4F8 mmcra:0X00000000
+event:0X00A2 mmcr0:0X00000000 mmcr1:0X00000000F0F2F4F8 mmcra:0X00000000
+event:0X00A3 mmcr0:0X00000000 mmcr1:0X00000000F0F2F4F8 mmcra:0X00000000
+
+#Group 11 pm_compat_misc_events3, Misc Events
+event:0X00B0 mmcr0:0X00000000 mmcr1:0X00000000F8F2F8F6 mmcra:0X00000000
+event:0X00B1 mmcr0:0X00000000 mmcr1:0X00000000F8F2F8F6 mmcra:0X00000000
+event:0X00B2 mmcr0:0X00000000 mmcr1:0X00000000F8F2F8F6 mmcra:0X00000000
+event:0X00B3 mmcr0:0X00000000 mmcr1:0X00000000F8F2F8F6 mmcra:0X00000000
+
+#Group 12 pm_compat_suspend, Suspend Events
+event:0X00C0 mmcr0:0X00000000 mmcr1:0X0000000000000000 mmcra:0X00000000
+event:0X00C1 mmcr0:0X00000000 mmcr1:0X0000000000000000 mmcra:0X00000000
+event:0X00C2 mmcr0:0X00000000 mmcr1:0X0000000000000000 mmcra:0X00000000
+event:0X00C3 mmcr0:0X00000000 mmcr1:0X0000000000000000 mmcra:0X00000000
diff --git a/events/ppc64/ibm-compat-v1/events b/events/ppc64/ibm-compat-v1/events
new file mode 100644
index 0000000..9d5e9c6
--- /dev/null
+++ b/events/ppc64/ibm-compat-v1/events
@@ -0,0 +1,91 @@
+#PPC64 pmu-compat events, version 1
+#
+# Copyright OProfile authors
+# Copyright (c) International Business Machines, 2009.
+# Contributed by Maynard Johnson <maynardj@us.ibm.com>.
+#
+#
+# Within each group, the event names must be unique. Each event in a group is
+# assigned to a unique counter.
+#
+# Only events within the same group can be selected simultaneously.
+# Each event is given a unique event number. The event number is used by the
+# OProfile code to resolve event names for the post-processing. This is done
+# to preserve compatibility with the rest of the OProfile code. The event
+# numbers are formatted as follows: <group_num>concat(<counter for the event>).
+
+#Group Default
+event:0X001 counters:2 um:zero minimum:10000 name:CYCLES : Processor Cycles
+
+
+#Group 1 pm_compat_utilization1, Basic CPU utilization
+event:0X0010 counters:0 um:zero minimum:1000 name:PM_THRD_ONE_RUN_CYC_GRP1 : (Group 1 pm_compat_utilization1) At least one thread in run cycles
+event:0X0011 counters:1 um:zero minimum:10000 name:PM_RUN_CYC_GRP1 : (Group 1 pm_compat_utilization1) Run cycles
+event:0X0012 counters:2 um:zero minimum:10000 name:PM_CYC_GRP1 : (Group 1 pm_compat_utilization1) Processor cycles
+event:0X0013 counters:3 um:zero minimum:1000 name:PM_RUN_PURR_GRP1 : (Group 1 pm_compat_utilization1) Run PURR Even
+
+#Group 2 pm_compat_utilization2, CPI and utilization data
+event:0X0020 counters:0 um:zero minimum:1000 name:PM_FPU_FLOP_GRP2 : (Group 2 pm_compat_utilization2) FPU executed 1FLOP, FMA, FSQRT or FDIV instruction
+event:0X0021 counters:1 um:zero minimum:10000 name:PM_RUN_CYC_GRP2 : (Group 2 pm_compat_utilization2) Run cycles
+event:0X0022 counters:2 um:zero minimum:10000 name:PM_CYC_GRP2 : (Group 2 pm_compat_utilization2) Processor cycles
+event:0X0023 counters:3 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP2 : (Group 2 pm_compat_utilization2) Run instructions completed
+
+#Group 3 pm_compat_dsource, Data Access sources
+event:0X0030 counters:0 um:zero minimum:1000 name:PM_DATA_FROM_L1-5_GRP3 : (Group 3 pm_compat_dsource) Data loaded from L1.5
+event:0X0031 counters:1 um:zero minimum:1000 name:PM_DATA_FROM_L2MISS_GRP3 : (Group 3 pm_compat_dsource) Data loaded missed L2
+event:0X0032 counters:2 um:zero minimum:1000 name:PM_DATA_FROM_L3MISS_GRP3 : (Group 3 pm_compat_dsource) Data loaded from private L3 miss
+event:0X0033 counters:3 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP3 : (Group 3 pm_compat_dsource) Run instructions completed
+
+#Group 4 pm_compat_l1_dcache_load_store_miss, L1 D-Cache load/store miss
+event:0X0040 counters:0 um:zero minimum:10000 name:PM_INST_CMPL_GRP4 : (Group 4 pm_compat_l1_dcache_load_store_miss) Instruction completed
+event:0X0041 counters:1 um:zero minimum:1000 name:PM_ST_FIN_GRP4 : (Group 4 pm_compat_l1_dcache_load_store_miss) Store instructions finished
+event:0X0042 counters:2 um:zero minimum:1000 name:PM_ST_MISS_L1_GRP4 : (Group 4 pm_compat_l1_dcache_load_store_miss) L1 D cache store misses
+event:0X0043 counters:3 um:zero minimum:1000 name:PM_LD_MISS_L1_GRP4 : (Group 4 pm_compat_l1_dcache_load_store_miss) L1 D cache load misses
+
+#Group 5 pm_compat_l1_cache_load, L1 Cache loads
+event:0X0050 counters:0 um:zero minimum:10000 name:PM_INST_CMPL_GRP5 : (Group 5 pm_compat_l1_cache_load) Instruction completed
+event:0X0051 counters:1 um:zero minimum:1000 name:PM_DATA_FROM_L2MISS_GRP5 : (Group 5 pm_compat_l1_cache_load) Data loaded missed L2
+event:0X0052 counters:2 um:zero minimum:1000 name:PM_L1_DCACHE_RELOAD_VALID_GRP5 : (Group 5 pm_compat_l1_cache_load) L1 reload data source valid
+event:0X0053 counters:3 um:zero minimum:1000 name:PM_LD_MISS_L1_GRP5 : (Group 5 pm_compat_l1_cache_load) L1 D cache load misses
+
+#Group 6 pm_compat_instruction_directory, Instruction Directory
+event:0X0060 counters:0 um:zero minimum:1000 name:PM_IERAT_MISS_GRP6 : (Group 6 pm_compat_instruction_directory) IERAT miss coun
+event:0X0061 counters:1 um:zero minimum:1000 name:PM_L1_ICACHE_MISS_GRP6 : (Group 6 pm_compat_instruction_directory) L1 I cache miss coun
+event:0X0062 counters:2 um:zero minimum:10000 name:PM_INST_CMPL_GRP6 : (Group 6 pm_compat_instruction_directory) Instruction completed
+event:0X0063 counters:3 um:zero minimum:1000 name:PM_ITLB_MISS_GRP6 : (Group 6 pm_compat_instruction_directory) Instruction TLB misses
+
+#Group 7 pm_compat_data_directory, Data Directory
+event:0X0070 counters:0 um:zero minimum:1000 name:PM_LSU_DERAT_MISS_CYC_GRP7 : (Group 7 pm_compat_data_directory) DERAT miss latency
+event:0X0071 counters:1 um:zero minimum:1000 name:PM_LSU_DERAT_MISS_GRP7 : (Group 7 pm_compat_data_directory) DERAT misses
+event:0X0072 counters:2 um:zero minimum:1000 name:PM_DTLB_MISS_GRP7 : (Group 7 pm_compat_data_directory) Data TLB misses
+event:0X0073 counters:3 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP7 : (Group 7 pm_compat_data_directory) Run instructions completed
+
+#Group 8 pm_compat_cpi_1plus_ppc, Misc CPI and utilization data
+event:0X0080 counters:0 um:zero minimum:1000 name:PM_1PLUS_PPC_CMPL_GRP8 : (Group 8 pm_compat_cpi_1plus_ppc) One or more PPC instruction completed
+event:0X0081 counters:1 um:zero minimum:10000 name:PM_RUN_CYC_GRP8 : (Group 8 pm_compat_cpi_1plus_ppc) Run cycles
+event:0X0082 counters:2 um:zero minimum:1000 name:PM_INST_DISP_GRP8 : (Group 8 pm_compat_cpi_1plus_ppc) Instructions dispatched
+event:0X0083 counters:3 um:zero minimum:1000 name:PM_1PLUS_PPC_DISP_GRP8 : (Group 8 pm_compat_cpi_1plus_ppc) Cycles at least one instruction dispatched
+
+#Group 9 pm_compat_misc_events1, Misc Events
+event:0X0090 counters:0 um:zero minimum:10000 name:PM_INST_CMPL_GRP9 : (Group 9 pm_compat_misc_events1) Instruction completed
+event:0X0091 counters:1 um:zero minimum:1000 name:PM_EXT_INT_GRP9 : (Group 9 pm_compat_misc_events1) External interrupts
+event:0X0092 counters:2 um:zero minimum:1000 name:PM_TB_BIT_TRANS_GRP9 : (Group 9 pm_compat_misc_events1) Time Base bit transition
+event:0X0093 counters:3 um:zero minimum:10000 name:PM_CYC_GRP9 : (Group 9 pm_compat_misc_events1) Processor cycles
+
+#Group 10 pm_compat_misc_events2, Misc Events
+event:0X00A0 counters:0 um:zero minimum:1000 name:PM_INST_IMC_MATCH_CMPL_GRP10 : (Group 10 pm_compat_misc_events2) IMC matched instructions completed
+event:0X00A1 counters:1 um:zero minimum:1000 name:PM_INST_DISP_GRP10 : (Group 10 pm_compat_misc_events2) Instructions dispatched
+event:0X00A2 counters:2 um:zero minimum:1000 name:PM_THRD_CONC_RUN_INST_GRP10 : (Group 10 pm_compat_misc_events2) Concurrent run instructions
+event:0X00A3 counters:3 um:zero minimum:1000 name:PM_FLUSH_GRP10 : (Group 10 pm_compat_misc_events2) Flushes
+
+#Group 11 pm_compat_misc_events3, Misc Events
+event:0X00B0 counters:0 um:zero minimum:1000 name:PM_GCT_EMPTY_CYC_GRP11 : (Group 11 pm_compat_misc_events3) Cycles GCT empty
+event:0X00B1 counters:1 um:zero minimum:1000 name:PM_INST_DISP_GRP11 : (Group 11 pm_compat_misc_events3) Instructions dispatched
+event:0X00B2 counters:2 um:zero minimum:1000 name:PM_TB_BIT_TRANS_GRP11 : (Group 11 pm_compat_misc_events3) Time Base bit transition
+event:0X00B3 counters:3 um:zero minimum:1000 name:PM_BR_MPRED_GRP11 : (Group 11 pm_compat_misc_events3) Branches incorrectly predicted
+
+#Group 12 pm_compat_suspend, Suspend Events
+event:0X00C0 counters:0 um:zero minimum:1000 name:PM_SUSPENDED_GRP12 : (Group 12 pm_compat_suspend) Suspended
+event:0X00C1 counters:1 um:zero minimum:1000 name:PM_SUSPENDED_GRP12 : (Group 12 pm_compat_suspend) Suspended
+event:0X00C2 counters:2 um:zero minimum:1000 name:PM_SUSPENDED_GRP12 : (Group 12 pm_compat_suspend) Suspended
+event:0X00C3 counters:3 um:zero minimum:1000 name:PM_SUSPENDED_GRP12 : (Group 12 pm_compat_suspend) Suspended
diff --git a/events/ppc64/ibm-compat-v1/unit_masks b/events/ppc64/ibm-compat-v1/unit_masks
new file mode 100644
index 0000000..170c53b
--- /dev/null
+++ b/events/ppc64/ibm-compat-v1/unit_masks
@@ -0,0 +1,9 @@
+#
+# Copyright OProfile authors
+# Copyright (c) International Business Machines, 2009.
+# Contributed by Maynard Johnson <maynardj@us.ibm.com>.
+#
+# ppc64 compat mode version 1 possible unit masks
+#
+name:zero type:mandatory default:0x0
+ 0x0 No unit mask
diff --git a/events/ppc64/pa6t/event_mappings b/events/ppc64/pa6t/event_mappings
new file mode 100644
index 0000000..0bbddcb
--- /dev/null
+++ b/events/ppc64/pa6t/event_mappings
@@ -0,0 +1,48 @@
+# pa6t does not have an mmcra. mmcr0 has all the enables and config
+# bits. mmcr1 contains the event selectors for the four programmable
+# events
+
+# Group Default
+event:0x1 mmcr0:0x000000000005b81b mmcr1:0x0000000000949f00 mmcra:0x0
+event:0x3 mmcr0:0x000000000005b81b mmcr1:0x0000000000949f00 mmcra:0x0
+event:0x4 mmcr0:0x000000000005b81b mmcr1:0x0000000000949f00 mmcra:0x0
+
+# Group 1, Load/Store
+event:0x10 mmcr0:0x000000000007f83f mmcr1:0x00000000a8c0cab1 mmcra:0x0
+event:0x11 mmcr0:0x000000000007f83f mmcr1:0x00000000a8c0cab1 mmcra:0x0
+event:0x12 mmcr0:0x000000000007f83f mmcr1:0x00000000a8c0cab1 mmcra:0x0
+event:0x13 mmcr0:0x000000000007f83f mmcr1:0x00000000a8c0cab1 mmcra:0x0
+event:0x14 mmcr0:0x000000000007f83f mmcr1:0x00000000a8c0cab1 mmcra:0x0
+event:0x15 mmcr0:0x000000000007f83f mmcr1:0x00000000a8c0cab1 mmcra:0x0
+
+# Group 2, Frontend
+event:0x20 mmcr0:0x000000000007f83f mmcr1:0x0000000002058401 mmcra:0x0
+event:0x21 mmcr0:0x000000000007f83f mmcr1:0x0000000002058401 mmcra:0x0
+event:0x22 mmcr0:0x000000000007f83f mmcr1:0x0000000002058401 mmcra:0x0
+event:0x23 mmcr0:0x000000000007f83f mmcr1:0x0000000002058401 mmcra:0x0
+event:0x24 mmcr0:0x000000000007f83f mmcr1:0x0000000002058401 mmcra:0x0
+event:0x25 mmcr0:0x000000000007f83f mmcr1:0x0000000002058401 mmcra:0x0
+
+# Group 3, Branches
+event:0x30 mmcr0:0x000000000007f83f mmcr1:0x000000008d8b8988 mmcra:0x0
+event:0x31 mmcr0:0x000000000007f83f mmcr1:0x000000008d8b8988 mmcra:0x0
+event:0x32 mmcr0:0x000000000007f83f mmcr1:0x000000008d8b8988 mmcra:0x0
+event:0x33 mmcr0:0x000000000007f83f mmcr1:0x000000008d8b8988 mmcra:0x0
+event:0x34 mmcr0:0x000000000007f83f mmcr1:0x000000008d8b8988 mmcra:0x0
+event:0x35 mmcr0:0x000000000007f83f mmcr1:0x000000008d8b8988 mmcra:0x0
+
+# Group 4, Translation
+event:0x40 mmcr0:0x000000000007f83f mmcr1:0x0000000086baa7a8 mmcra:0x0
+event:0x41 mmcr0:0x000000000007f83f mmcr1:0x0000000086baa7a8 mmcra:0x0
+event:0x42 mmcr0:0x000000000007f83f mmcr1:0x0000000086baa7a8 mmcra:0x0
+event:0x43 mmcr0:0x000000000007f83f mmcr1:0x0000000086baa7a8 mmcra:0x0
+event:0x44 mmcr0:0x000000000007f83f mmcr1:0x0000000086baa7a8 mmcra:0x0
+event:0x45 mmcr0:0x000000000007f83f mmcr1:0x0000000086baa7a8 mmcra:0x0
+
+# Group 5, Memory
+event:0x50 mmcr0:0x000000000007f83f mmcr1:0x00000000c030cab1 mmcra:0x0
+event:0x51 mmcr0:0x000000000007f83f mmcr1:0x00000000c030cab1 mmcra:0x0
+event:0x52 mmcr0:0x000000000007f83f mmcr1:0x00000000c030cab1 mmcra:0x0
+event:0x53 mmcr0:0x000000000007f83f mmcr1:0x00000000c030cab1 mmcra:0x0
+event:0x54 mmcr0:0x000000000007f83f mmcr1:0x00000000c030cab1 mmcra:0x0
+event:0x55 mmcr0:0x000000000007f83f mmcr1:0x00000000c030cab1 mmcra:0x0
diff --git a/events/ppc64/pa6t/events b/events/ppc64/pa6t/events
new file mode 100644
index 0000000..5e2bc2f
--- /dev/null
+++ b/events/ppc64/pa6t/events
@@ -0,0 +1,52 @@
+# ppc64 pa6t events
+#
+# Unlike the IBM ppc64 chips, any of pa6t's events can be programmed into any
+# of the counters (pmc2-5). The notion of groups on pa6t is thus
+# artificial. That said, we can still define useful aggregations to guide the
+# user in his choice of group for a profiling session.
+
+# Group Default
+event:0x1 counters:0 um:zero minimum:10000 name:CYCLES : Processor Cycles
+event:0x3 counters:3 um:zero minimum:10000 name:ISS_CYCLES : Processor Cycles with instructions issued
+event:0x4 counters:4 um:zero minimum:10000 name:RET_UOP : Retired Micro-operatioins
+
+# Group 1, Load/Store
+event:0x10 counters:0 um:zero minimum:10000 name:GRP1_CYCLES : Processor Cycles
+event:0x11 counters:1 um:zero minimum:10000 name:GRP1_INST_RETIRED : Instructions retired
+event:0x12 counters:2 um:zero minimum:1000 name:GRP1_DCACHE_RD_MISS__NS : Dcache read misses NS
+event:0x13 counters:3 um:zero minimum:500 name:GRP1_MRB_LD_MISS_L2__NS : Load misses filling from memory
+event:0x14 counters:4 um:zero minimum:500 name:GRP1_MRB_ST_MISS_ALLOC__NS : Store misses in L1D and allocates an MRB entry
+event:0x15 counters:5 um:zero minimum:500 name:GRP1_TLB_MISS_D__NS : TLB misses NS (D- only)
+
+# Group 2, Frontend
+event:0x20 counters:0 um:zero minimum:10000 name:GRP2_CYCLES : Processor Cycles
+event:0x21 counters:1 um:zero minimum:10000 name:GRP2_INST_RETIRED : Instructions retired
+event:0x22 counters:2 um:zero minimum:2000 name:GRP2_FETCH_REQ : Demand fetch requests made to the Icache
+event:0x23 counters:3 um:zero minimum:500 name:GRP2_ICACHE_MISS_DEM__NS : Demand fetch requests missing in the Icache
+event:0x24 counters:4 um:zero minimum:500 name:GRP2_ICACHE_MISS_ALL : Demand and spec fetch requests missing in the Icache
+event:0x25 counters:5 um:zero minimum:2000 name:GRP2_ICACHE_ACC : Icache accesses
+
+# Group 3, Branches
+event:0x30 counters:0 um:zero minimum:10000 name:GRP3_CYCLES : Processor Cycles
+event:0x31 counters:1 um:zero minimum:10000 name:GRP3_INST_RETIRED : Instructions retired
+event:0x32 counters:2 um:zero minimum:500 name:GRP3_NXT_LINE_MISPRED__NS : Next fetch address mispredict
+event:0x33 counters:3 um:zero minimum:500 name:GRP3_DIRN_MISPRED__NS : Branch direction mispredict
+event:0x34 counters:4 um:zero minimum:500 name:GRP3_TGT_ADDR_MISPRED__NS : Branch target address mispredict
+event:0x35 counters:5 um:zero minimum:2000 name:GRP3_BRA_TAKEN__NS : Taken branches
+
+# Group 4, Translation
+event:0x40 counters:0 um:zero minimum:10000 name:GRP4_CYCLES : Processor Cycles
+event:0x41 counters:1 um:zero minimum:10000 name:GRP4_INST_RETIRED : Instructions retired
+event:0x42 counters:2 um:zero minimum:500 name:GRP4_TLB_MISS_D__NS : TLB Misses (D-)
+event:0x43 counters:3 um:zero minimum:500 name:GRP4_TLB_MISS_I__NS : TLB MIsses (I-)
+event:0x44 counters:4 um:zero minimum:500 name:GRP4_DERAT_MISS__NS : DERAT Misses
+event:0x45 counters:5 um:zero minimum:500 name:GRP4_IERAT_MISS__NS : IERAT Misses
+
+# Group 5, Memory
+event:0x50 counters:0 um:zero minimum:10000 name:GRP5_CYCLES : Processor Cycles
+event:0x51 counters:1 um:zero minimum:10000 name:GRP5_INST_RETIRED : Instructions retired
+event:0x52 counters:2 um:zero minimum:500 name:GRP5_DCACHE_RD_MISS__NS : Dcache read misses NS
+event:0x53 counters:3 um:zero minimum:500 name:GRP5_MRB_LD_MISS_L2__NS : Load misses filling from memory
+event:0x54 counters:4 um:zero minimum:500 name:GRP5_DCACHE_VIC : Dcache line evicted (snoops not included)
+event:0x55 counters:5 um:zero minimum:500 name:GRP5_MRB_ST_MISS_ALLOC__NS : Store misses in L1D and allocates an MRB entry
+
diff --git a/events/ppc64/pa6t/unit_masks b/events/ppc64/pa6t/unit_masks
new file mode 100644
index 0000000..ccc3ddd
--- /dev/null
+++ b/events/ppc64/pa6t/unit_masks
@@ -0,0 +1,4 @@
+# ppc64 pa6t possible unit masks
+#
+name:zero type:mandatory default:0x0
+ 0x0 No unit mask
diff --git a/events/ppc64/power4/event_mappings b/events/ppc64/power4/event_mappings
new file mode 100644
index 0000000..90caa05
--- /dev/null
+++ b/events/ppc64/power4/event_mappings
@@ -0,0 +1,634 @@
+#Mapping of event groups to MMCR values
+
+#Group Default
+event:0X001 mmcr0:0X00000D0E mmcr1:0X000000004A5675AC mmcra:0X00022001
+
+#Group 1 pm_slice0, Time Slice 0
+event:0X010 mmcr0:0X00000D0E mmcr1:0X000000004A5675AC mmcra:0X00022001
+event:0X011 mmcr0:0X00000D0E mmcr1:0X000000004A5675AC mmcra:0X00022001
+event:0X012 mmcr0:0X00000D0E mmcr1:0X000000004A5675AC mmcra:0X00022001
+event:0X013 mmcr0:0X00000D0E mmcr1:0X000000004A5675AC mmcra:0X00022001
+event:0X014 mmcr0:0X00000D0E mmcr1:0X000000004A5675AC mmcra:0X00022001
+event:0X015 mmcr0:0X00000D0E mmcr1:0X000000004A5675AC mmcra:0X00022001
+event:0X016 mmcr0:0X00000D0E mmcr1:0X000000004A5675AC mmcra:0X00022001
+event:0X017 mmcr0:0X00000D0E mmcr1:0X000000004A5675AC mmcra:0X00022001
+
+#Group 2 pm_eprof, Group for use with eprof
+event:0X020 mmcr0:0X0000070E mmcr1:0X1003400045F29420 mmcra:0X00002001
+event:0X021 mmcr0:0X0000070E mmcr1:0X1003400045F29420 mmcra:0X00002001
+event:0X022 mmcr0:0X0000070E mmcr1:0X1003400045F29420 mmcra:0X00002001
+event:0X023 mmcr0:0X0000070E mmcr1:0X1003400045F29420 mmcra:0X00002001
+event:0X024 mmcr0:0X0000070E mmcr1:0X1003400045F29420 mmcra:0X00002001
+event:0X025 mmcr0:0X0000070E mmcr1:0X1003400045F29420 mmcra:0X00002001
+event:0X026 mmcr0:0X0000070E mmcr1:0X1003400045F29420 mmcra:0X00002001
+event:0X027 mmcr0:0X0000070E mmcr1:0X1003400045F29420 mmcra:0X00002001
+
+#Group 3 pm_basic, Basic performance indicators
+event:0X030 mmcr0:0X0000090E mmcr1:0X1003400045F29420 mmcra:0X00002001
+event:0X031 mmcr0:0X0000090E mmcr1:0X1003400045F29420 mmcra:0X00002001
+event:0X032 mmcr0:0X0000090E mmcr1:0X1003400045F29420 mmcra:0X00002001
+event:0X033 mmcr0:0X0000090E mmcr1:0X1003400045F29420 mmcra:0X00002001
+event:0X034 mmcr0:0X0000090E mmcr1:0X1003400045F29420 mmcra:0X00002001
+event:0X035 mmcr0:0X0000090E mmcr1:0X1003400045F29420 mmcra:0X00002001
+event:0X036 mmcr0:0X0000090E mmcr1:0X1003400045F29420 mmcra:0X00002001
+event:0X037 mmcr0:0X0000090E mmcr1:0X1003400045F29420 mmcra:0X00002001
+
+#Group 4 pm_ifu, IFU events
+event:0X040 mmcr0:0X00000938 mmcr1:0X80000000C6767D6C mmcra:0X00022001
+event:0X041 mmcr0:0X00000938 mmcr1:0X80000000C6767D6C mmcra:0X00022001
+event:0X042 mmcr0:0X00000938 mmcr1:0X80000000C6767D6C mmcra:0X00022001
+event:0X043 mmcr0:0X00000938 mmcr1:0X80000000C6767D6C mmcra:0X00022001
+event:0X044 mmcr0:0X00000938 mmcr1:0X80000000C6767D6C mmcra:0X00022001
+event:0X045 mmcr0:0X00000938 mmcr1:0X80000000C6767D6C mmcra:0X00022001
+event:0X046 mmcr0:0X00000938 mmcr1:0X80000000C6767D6C mmcra:0X00022001
+event:0X047 mmcr0:0X00000938 mmcr1:0X80000000C6767D6C mmcra:0X00022001
+
+#Group 5 pm_isu, ISU Queue full events
+event:0X050 mmcr0:0X0000112A mmcr1:0X50041000EA5103A0 mmcra:0X00002001
+event:0X051 mmcr0:0X0000112A mmcr1:0X50041000EA5103A0 mmcra:0X00002001
+event:0X052 mmcr0:0X0000112A mmcr1:0X50041000EA5103A0 mmcra:0X00002001
+event:0X053 mmcr0:0X0000112A mmcr1:0X50041000EA5103A0 mmcra:0X00002001
+event:0X054 mmcr0:0X0000112A mmcr1:0X50041000EA5103A0 mmcra:0X00002001
+event:0X055 mmcr0:0X0000112A mmcr1:0X50041000EA5103A0 mmcra:0X00002001
+event:0X056 mmcr0:0X0000112A mmcr1:0X50041000EA5103A0 mmcra:0X00002001
+event:0X057 mmcr0:0X0000112A mmcr1:0X50041000EA5103A0 mmcra:0X00002001
+
+#Group 6 pm_lsource, Information on data source
+event:0X060 mmcr0:0X00000E1C mmcr1:0X0010C000739CE738 mmcra:0X00002001
+event:0X061 mmcr0:0X00000E1C mmcr1:0X0010C000739CE738 mmcra:0X00002001
+event:0X062 mmcr0:0X00000E1C mmcr1:0X0010C000739CE738 mmcra:0X00002001
+event:0X063 mmcr0:0X00000E1C mmcr1:0X0010C000739CE738 mmcra:0X00002001
+event:0X064 mmcr0:0X00000E1C mmcr1:0X0010C000739CE738 mmcra:0X00002001
+event:0X065 mmcr0:0X00000E1C mmcr1:0X0010C000739CE738 mmcra:0X00002001
+event:0X066 mmcr0:0X00000E1C mmcr1:0X0010C000739CE738 mmcra:0X00002001
+event:0X067 mmcr0:0X00000E1C mmcr1:0X0010C000739CE738 mmcra:0X00002001
+
+#Group 7 pm_isource, Instruction Source information
+event:0X070 mmcr0:0X00000F1E mmcr1:0X800000007BDEF7BC mmcra:0X00022001
+event:0X071 mmcr0:0X00000F1E mmcr1:0X800000007BDEF7BC mmcra:0X00022001
+event:0X072 mmcr0:0X00000F1E mmcr1:0X800000007BDEF7BC mmcra:0X00022001
+event:0X073 mmcr0:0X00000F1E mmcr1:0X800000007BDEF7BC mmcra:0X00022001
+event:0X074 mmcr0:0X00000F1E mmcr1:0X800000007BDEF7BC mmcra:0X00022001
+event:0X075 mmcr0:0X00000F1E mmcr1:0X800000007BDEF7BC mmcra:0X00022001
+event:0X076 mmcr0:0X00000F1E mmcr1:0X800000007BDEF7BC mmcra:0X00022001
+event:0X077 mmcr0:0X00000F1E mmcr1:0X800000007BDEF7BC mmcra:0X00022001
+
+#Group 8 pm_lsu, Information on the Load Store Unit
+event:0X080 mmcr0:0X00000810 mmcr1:0X000F00003A508420 mmcra:0X00002001
+event:0X081 mmcr0:0X00000810 mmcr1:0X000F00003A508420 mmcra:0X00002001
+event:0X082 mmcr0:0X00000810 mmcr1:0X000F00003A508420 mmcra:0X00002001
+event:0X083 mmcr0:0X00000810 mmcr1:0X000F00003A508420 mmcra:0X00002001
+event:0X084 mmcr0:0X00000810 mmcr1:0X000F00003A508420 mmcra:0X00002001
+event:0X085 mmcr0:0X00000810 mmcr1:0X000F00003A508420 mmcra:0X00002001
+event:0X086 mmcr0:0X00000810 mmcr1:0X000F00003A508420 mmcra:0X00002001
+event:0X087 mmcr0:0X00000810 mmcr1:0X000F00003A508420 mmcra:0X00002001
+
+#Group 9 pm_xlate1, Translation Events
+event:0X090 mmcr0:0X00001028 mmcr1:0X81082000F67E849C mmcra:0X00022001
+event:0X091 mmcr0:0X00001028 mmcr1:0X81082000F67E849C mmcra:0X00022001
+event:0X092 mmcr0:0X00001028 mmcr1:0X81082000F67E849C mmcra:0X00022001
+event:0X093 mmcr0:0X00001028 mmcr1:0X81082000F67E849C mmcra:0X00022001
+event:0X094 mmcr0:0X00001028 mmcr1:0X81082000F67E849C mmcra:0X00022001
+event:0X095 mmcr0:0X00001028 mmcr1:0X81082000F67E849C mmcra:0X00022001
+event:0X096 mmcr0:0X00001028 mmcr1:0X81082000F67E849C mmcra:0X00022001
+event:0X097 mmcr0:0X00001028 mmcr1:0X81082000F67E849C mmcra:0X00022001
+
+#Group 10 pm_xlate2, Translation Events
+event:0X0A0 mmcr0:0X0000112A mmcr1:0X81082000D77E849C mmcra:0X00022001
+event:0X0A1 mmcr0:0X0000112A mmcr1:0X81082000D77E849C mmcra:0X00022001
+event:0X0A2 mmcr0:0X0000112A mmcr1:0X81082000D77E849C mmcra:0X00022001
+event:0X0A3 mmcr0:0X0000112A mmcr1:0X81082000D77E849C mmcra:0X00022001
+event:0X0A4 mmcr0:0X0000112A mmcr1:0X81082000D77E849C mmcra:0X00022001
+event:0X0A5 mmcr0:0X0000112A mmcr1:0X81082000D77E849C mmcra:0X00022001
+event:0X0A6 mmcr0:0X0000112A mmcr1:0X81082000D77E849C mmcra:0X00022001
+event:0X0A7 mmcr0:0X0000112A mmcr1:0X81082000D77E849C mmcra:0X00022001
+
+#Group 11 pm_gps1, L3 Events
+event:0X0B0 mmcr0:0X00001022 mmcr1:0X00000C00B5E5349C mmcra:0X00022001
+event:0X0B1 mmcr0:0X00001022 mmcr1:0X00000C00B5E5349C mmcra:0X00022001
+event:0X0B2 mmcr0:0X00001022 mmcr1:0X00000C00B5E5349C mmcra:0X00022001
+event:0X0B3 mmcr0:0X00001022 mmcr1:0X00000C00B5E5349C mmcra:0X00022001
+event:0X0B4 mmcr0:0X00001022 mmcr1:0X00000C00B5E5349C mmcra:0X00022001
+event:0X0B5 mmcr0:0X00001022 mmcr1:0X00000C00B5E5349C mmcra:0X00022001
+event:0X0B6 mmcr0:0X00001022 mmcr1:0X00000C00B5E5349C mmcra:0X00022001
+event:0X0B7 mmcr0:0X00001022 mmcr1:0X00000C00B5E5349C mmcra:0X00022001
+
+#Group 12 pm_l2a, L2 SliceA events
+event:0X0C0 mmcr0:0X0000162A mmcr1:0X00000C008469749C mmcra:0X00022001
+event:0X0C1 mmcr0:0X0000162A mmcr1:0X00000C008469749C mmcra:0X00022001
+event:0X0C2 mmcr0:0X0000162A mmcr1:0X00000C008469749C mmcra:0X00022001
+event:0X0C3 mmcr0:0X0000162A mmcr1:0X00000C008469749C mmcra:0X00022001
+event:0X0C4 mmcr0:0X0000162A mmcr1:0X00000C008469749C mmcra:0X00022001
+event:0X0C5 mmcr0:0X0000162A mmcr1:0X00000C008469749C mmcra:0X00022001
+event:0X0C6 mmcr0:0X0000162A mmcr1:0X00000C008469749C mmcra:0X00022001
+event:0X0C7 mmcr0:0X0000162A mmcr1:0X00000C008469749C mmcra:0X00022001
+
+#Group 13 pm_l2b, L2 SliceB events
+event:0X0D0 mmcr0:0X00001A32 mmcr1:0X0000060094F1B49C mmcra:0X00022001
+event:0X0D1 mmcr0:0X00001A32 mmcr1:0X0000060094F1B49C mmcra:0X00022001
+event:0X0D2 mmcr0:0X00001A32 mmcr1:0X0000060094F1B49C mmcra:0X00022001
+event:0X0D3 mmcr0:0X00001A32 mmcr1:0X0000060094F1B49C mmcra:0X00022001
+event:0X0D4 mmcr0:0X00001A32 mmcr1:0X0000060094F1B49C mmcra:0X00022001
+event:0X0D5 mmcr0:0X00001A32 mmcr1:0X0000060094F1B49C mmcra:0X00022001
+event:0X0D6 mmcr0:0X00001A32 mmcr1:0X0000060094F1B49C mmcra:0X00022001
+event:0X0D7 mmcr0:0X00001A32 mmcr1:0X0000060094F1B49C mmcra:0X00022001
+
+#Group 14 pm_l2c, L2 SliceC events
+event:0X0E0 mmcr0:0X00001E3A mmcr1:0X00000600A579F49C mmcra:0X00022001
+event:0X0E1 mmcr0:0X00001E3A mmcr1:0X00000600A579F49C mmcra:0X00022001
+event:0X0E2 mmcr0:0X00001E3A mmcr1:0X00000600A579F49C mmcra:0X00022001
+event:0X0E3 mmcr0:0X00001E3A mmcr1:0X00000600A579F49C mmcra:0X00022001
+event:0X0E4 mmcr0:0X00001E3A mmcr1:0X00000600A579F49C mmcra:0X00022001
+event:0X0E5 mmcr0:0X00001E3A mmcr1:0X00000600A579F49C mmcra:0X00022001
+event:0X0E6 mmcr0:0X00001E3A mmcr1:0X00000600A579F49C mmcra:0X00022001
+event:0X0E7 mmcr0:0X00001E3A mmcr1:0X00000600A579F49C mmcra:0X00022001
+
+#Group 15 pm_fpu1, Floating Point events
+event:0X0F0 mmcr0:0X00000810 mmcr1:0X00000000420E84A0 mmcra:0X00002001
+event:0X0F1 mmcr0:0X00000810 mmcr1:0X00000000420E84A0 mmcra:0X00002001
+event:0X0F2 mmcr0:0X00000810 mmcr1:0X00000000420E84A0 mmcra:0X00002001
+event:0X0F3 mmcr0:0X00000810 mmcr1:0X00000000420E84A0 mmcra:0X00002001
+event:0X0F4 mmcr0:0X00000810 mmcr1:0X00000000420E84A0 mmcra:0X00002001
+event:0X0F5 mmcr0:0X00000810 mmcr1:0X00000000420E84A0 mmcra:0X00002001
+event:0X0F6 mmcr0:0X00000810 mmcr1:0X00000000420E84A0 mmcra:0X00002001
+event:0X0F7 mmcr0:0X00000810 mmcr1:0X00000000420E84A0 mmcra:0X00002001
+
+#Group 16 pm_fpu2, Floating Point events
+event:0X100 mmcr0:0X00000810 mmcr1:0X010020E83A508420 mmcra:0X00002001
+event:0X101 mmcr0:0X00000810 mmcr1:0X010020E83A508420 mmcra:0X00002001
+event:0X102 mmcr0:0X00000810 mmcr1:0X010020E83A508420 mmcra:0X00002001
+event:0X103 mmcr0:0X00000810 mmcr1:0X010020E83A508420 mmcra:0X00002001
+event:0X104 mmcr0:0X00000810 mmcr1:0X010020E83A508420 mmcra:0X00002001
+event:0X105 mmcr0:0X00000810 mmcr1:0X010020E83A508420 mmcra:0X00002001
+event:0X106 mmcr0:0X00000810 mmcr1:0X010020E83A508420 mmcra:0X00002001
+event:0X107 mmcr0:0X00000810 mmcr1:0X010020E83A508420 mmcra:0X00002001
+
+#Group 17 pm_idu1, Instruction Decode Unit events
+event:0X110 mmcr0:0X0000090E mmcr1:0X040100008456794C mmcra:0X00022001
+event:0X111 mmcr0:0X0000090E mmcr1:0X040100008456794C mmcra:0X00022001
+event:0X112 mmcr0:0X0000090E mmcr1:0X040100008456794C mmcra:0X00022001
+event:0X113 mmcr0:0X0000090E mmcr1:0X040100008456794C mmcra:0X00022001
+event:0X114 mmcr0:0X0000090E mmcr1:0X040100008456794C mmcra:0X00022001
+event:0X115 mmcr0:0X0000090E mmcr1:0X040100008456794C mmcra:0X00022001
+event:0X116 mmcr0:0X0000090E mmcr1:0X040100008456794C mmcra:0X00022001
+event:0X117 mmcr0:0X0000090E mmcr1:0X040100008456794C mmcra:0X00022001
+
+#Group 18 pm_idu2, Instruction Decode Unit events
+event:0X120 mmcr0:0X0000090E mmcr1:0X04010000A5527B5C mmcra:0X00022001
+event:0X121 mmcr0:0X0000090E mmcr1:0X04010000A5527B5C mmcra:0X00022001
+event:0X122 mmcr0:0X0000090E mmcr1:0X04010000A5527B5C mmcra:0X00022001
+event:0X123 mmcr0:0X0000090E mmcr1:0X04010000A5527B5C mmcra:0X00022001
+event:0X124 mmcr0:0X0000090E mmcr1:0X04010000A5527B5C mmcra:0X00022001
+event:0X125 mmcr0:0X0000090E mmcr1:0X04010000A5527B5C mmcra:0X00022001
+event:0X126 mmcr0:0X0000090E mmcr1:0X04010000A5527B5C mmcra:0X00022001
+event:0X127 mmcr0:0X0000090E mmcr1:0X04010000A5527B5C mmcra:0X00022001
+
+#Group 19 pm_isu_rename, ISU Rename Pool Events
+event:0X130 mmcr0:0X00001228 mmcr1:0X100550008E6D949C mmcra:0X00022001
+event:0X131 mmcr0:0X00001228 mmcr1:0X100550008E6D949C mmcra:0X00022001
+event:0X132 mmcr0:0X00001228 mmcr1:0X100550008E6D949C mmcra:0X00022001
+event:0X133 mmcr0:0X00001228 mmcr1:0X100550008E6D949C mmcra:0X00022001
+event:0X134 mmcr0:0X00001228 mmcr1:0X100550008E6D949C mmcra:0X00022001
+event:0X135 mmcr0:0X00001228 mmcr1:0X100550008E6D949C mmcra:0X00022001
+event:0X136 mmcr0:0X00001228 mmcr1:0X100550008E6D949C mmcra:0X00022001
+event:0X137 mmcr0:0X00001228 mmcr1:0X100550008E6D949C mmcra:0X00022001
+
+#Group 20 pm_isu_queues1, ISU Queue Full Events
+event:0X140 mmcr0:0X0000132E mmcr1:0X10050000850E994C mmcra:0X00022001
+event:0X141 mmcr0:0X0000132E mmcr1:0X10050000850E994C mmcra:0X00022001
+event:0X142 mmcr0:0X0000132E mmcr1:0X10050000850E994C mmcra:0X00022001
+event:0X143 mmcr0:0X0000132E mmcr1:0X10050000850E994C mmcra:0X00022001
+event:0X144 mmcr0:0X0000132E mmcr1:0X10050000850E994C mmcra:0X00022001
+event:0X145 mmcr0:0X0000132E mmcr1:0X10050000850E994C mmcra:0X00022001
+event:0X146 mmcr0:0X0000132E mmcr1:0X10050000850E994C mmcra:0X00022001
+event:0X147 mmcr0:0X0000132E mmcr1:0X10050000850E994C mmcra:0X00022001
+
+#Group 21 pm_isu_flow, ISU Instruction Flow Events
+event:0X150 mmcr0:0X0000190E mmcr1:0X10005000D7B7C49C mmcra:0X00022001
+event:0X151 mmcr0:0X0000190E mmcr1:0X10005000D7B7C49C mmcra:0X00022001
+event:0X152 mmcr0:0X0000190E mmcr1:0X10005000D7B7C49C mmcra:0X00022001
+event:0X153 mmcr0:0X0000190E mmcr1:0X10005000D7B7C49C mmcra:0X00022001
+event:0X154 mmcr0:0X0000190E mmcr1:0X10005000D7B7C49C mmcra:0X00022001
+event:0X155 mmcr0:0X0000190E mmcr1:0X10005000D7B7C49C mmcra:0X00022001
+event:0X156 mmcr0:0X0000190E mmcr1:0X10005000D7B7C49C mmcra:0X00022001
+event:0X157 mmcr0:0X0000190E mmcr1:0X10005000D7B7C49C mmcra:0X00022001
+
+#Group 22 pm_isu_work, ISU Indicators of Work Blockage
+event:0X160 mmcr0:0X00000C12 mmcr1:0X100010004FCE9DA8 mmcra:0X00002001
+event:0X161 mmcr0:0X00000C12 mmcr1:0X100010004FCE9DA8 mmcra:0X00002001
+event:0X162 mmcr0:0X00000C12 mmcr1:0X100010004FCE9DA8 mmcra:0X00002001
+event:0X163 mmcr0:0X00000C12 mmcr1:0X100010004FCE9DA8 mmcra:0X00002001
+event:0X164 mmcr0:0X00000C12 mmcr1:0X100010004FCE9DA8 mmcra:0X00002001
+event:0X165 mmcr0:0X00000C12 mmcr1:0X100010004FCE9DA8 mmcra:0X00002001
+event:0X166 mmcr0:0X00000C12 mmcr1:0X100010004FCE9DA8 mmcra:0X00002001
+event:0X167 mmcr0:0X00000C12 mmcr1:0X100010004FCE9DA8 mmcra:0X00002001
+
+#Group 23 pm_serialize, LSU Serializing Events
+event:0X170 mmcr0:0X00001332 mmcr1:0X0118B000E9D69DFC mmcra:0X00022001
+event:0X171 mmcr0:0X00001332 mmcr1:0X0118B000E9D69DFC mmcra:0X00022001
+event:0X172 mmcr0:0X00001332 mmcr1:0X0118B000E9D69DFC mmcra:0X00022001
+event:0X173 mmcr0:0X00001332 mmcr1:0X0118B000E9D69DFC mmcra:0X00022001
+event:0X174 mmcr0:0X00001332 mmcr1:0X0118B000E9D69DFC mmcra:0X00022001
+event:0X175 mmcr0:0X00001332 mmcr1:0X0118B000E9D69DFC mmcra:0X00022001
+event:0X176 mmcr0:0X00001332 mmcr1:0X0118B000E9D69DFC mmcra:0X00022001
+event:0X177 mmcr0:0X00001332 mmcr1:0X0118B000E9D69DFC mmcra:0X00022001
+
+#Group 24 pm_lsubusy, LSU Busy Events
+event:0X180 mmcr0:0X0000193A mmcr1:0X0000F000DFF5E49C mmcra:0X00022001
+event:0X181 mmcr0:0X0000193A mmcr1:0X0000F000DFF5E49C mmcra:0X00022001
+event:0X182 mmcr0:0X0000193A mmcr1:0X0000F000DFF5E49C mmcra:0X00022001
+event:0X183 mmcr0:0X0000193A mmcr1:0X0000F000DFF5E49C mmcra:0X00022001
+event:0X184 mmcr0:0X0000193A mmcr1:0X0000F000DFF5E49C mmcra:0X00022001
+event:0X185 mmcr0:0X0000193A mmcr1:0X0000F000DFF5E49C mmcra:0X00022001
+event:0X186 mmcr0:0X0000193A mmcr1:0X0000F000DFF5E49C mmcra:0X00022001
+event:0X187 mmcr0:0X0000193A mmcr1:0X0000F000DFF5E49C mmcra:0X00022001
+
+#Group 25 pm_lsource2, Information on data source
+event:0X190 mmcr0:0X00000938 mmcr1:0X0010C0003B9CE738 mmcra:0X00002001
+event:0X191 mmcr0:0X00000938 mmcr1:0X0010C0003B9CE738 mmcra:0X00002001
+event:0X192 mmcr0:0X00000938 mmcr1:0X0010C0003B9CE738 mmcra:0X00002001
+event:0X193 mmcr0:0X00000938 mmcr1:0X0010C0003B9CE738 mmcra:0X00002001
+event:0X194 mmcr0:0X00000938 mmcr1:0X0010C0003B9CE738 mmcra:0X00002001
+event:0X195 mmcr0:0X00000938 mmcr1:0X0010C0003B9CE738 mmcra:0X00002001
+event:0X196 mmcr0:0X00000938 mmcr1:0X0010C0003B9CE738 mmcra:0X00002001
+event:0X197 mmcr0:0X00000938 mmcr1:0X0010C0003B9CE738 mmcra:0X00002001
+
+#Group 26 pm_lsource3, Information on data source
+event:0X1A0 mmcr0:0X00000E1C mmcr1:0X0010C00073B87724 mmcra:0X00022001
+event:0X1A1 mmcr0:0X00000E1C mmcr1:0X0010C00073B87724 mmcra:0X00022001
+event:0X1A2 mmcr0:0X00000E1C mmcr1:0X0010C00073B87724 mmcra:0X00022001
+event:0X1A3 mmcr0:0X00000E1C mmcr1:0X0010C00073B87724 mmcra:0X00022001
+event:0X1A4 mmcr0:0X00000E1C mmcr1:0X0010C00073B87724 mmcra:0X00022001
+event:0X1A5 mmcr0:0X00000E1C mmcr1:0X0010C00073B87724 mmcra:0X00022001
+event:0X1A6 mmcr0:0X00000E1C mmcr1:0X0010C00073B87724 mmcra:0X00022001
+event:0X1A7 mmcr0:0X00000E1C mmcr1:0X0010C00073B87724 mmcra:0X00022001
+
+#Group 27 pm_isource2, Instruction Source information
+event:0X1B0 mmcr0:0X0000090E mmcr1:0X800000007BDEF7BC mmcra:0X00022001
+event:0X1B1 mmcr0:0X0000090E mmcr1:0X800000007BDEF7BC mmcra:0X00022001
+event:0X1B2 mmcr0:0X0000090E mmcr1:0X800000007BDEF7BC mmcra:0X00022001
+event:0X1B3 mmcr0:0X0000090E mmcr1:0X800000007BDEF7BC mmcra:0X00022001
+event:0X1B4 mmcr0:0X0000090E mmcr1:0X800000007BDEF7BC mmcra:0X00022001
+event:0X1B5 mmcr0:0X0000090E mmcr1:0X800000007BDEF7BC mmcra:0X00022001
+event:0X1B6 mmcr0:0X0000090E mmcr1:0X800000007BDEF7BC mmcra:0X00022001
+event:0X1B7 mmcr0:0X0000090E mmcr1:0X800000007BDEF7BC mmcra:0X00022001
+
+#Group 28 pm_isource3, Instruction Source information
+event:0X1C0 mmcr0:0X00000F1E mmcr1:0X800000007BDEF3A4 mmcra:0X00022001
+event:0X1C1 mmcr0:0X00000F1E mmcr1:0X800000007BDEF3A4 mmcra:0X00022001
+event:0X1C2 mmcr0:0X00000F1E mmcr1:0X800000007BDEF3A4 mmcra:0X00022001
+event:0X1C3 mmcr0:0X00000F1E mmcr1:0X800000007BDEF3A4 mmcra:0X00022001
+event:0X1C4 mmcr0:0X00000F1E mmcr1:0X800000007BDEF3A4 mmcra:0X00022001
+event:0X1C5 mmcr0:0X00000F1E mmcr1:0X800000007BDEF3A4 mmcra:0X00022001
+event:0X1C6 mmcr0:0X00000F1E mmcr1:0X800000007BDEF3A4 mmcra:0X00022001
+event:0X1C7 mmcr0:0X00000F1E mmcr1:0X800000007BDEF3A4 mmcra:0X00022001
+
+#Group 29 pm_fpu3, Floating Point events by unit
+event:0X1D0 mmcr0:0X00001028 mmcr1:0X000000008D63549C mmcra:0X00022001
+event:0X1D1 mmcr0:0X00001028 mmcr1:0X000000008D63549C mmcra:0X00022001
+event:0X1D2 mmcr0:0X00001028 mmcr1:0X000000008D63549C mmcra:0X00022001
+event:0X1D3 mmcr0:0X00001028 mmcr1:0X000000008D63549C mmcra:0X00022001
+event:0X1D4 mmcr0:0X00001028 mmcr1:0X000000008D63549C mmcra:0X00022001
+event:0X1D5 mmcr0:0X00001028 mmcr1:0X000000008D63549C mmcra:0X00022001
+event:0X1D6 mmcr0:0X00001028 mmcr1:0X000000008D63549C mmcra:0X00022001
+event:0X1D7 mmcr0:0X00001028 mmcr1:0X000000008D63549C mmcra:0X00022001
+
+#Group 30 pm_fpu4, Floating Point events by unit
+event:0X1E0 mmcr0:0X0000122C mmcr1:0X000000009DE7749C mmcra:0X00022001
+event:0X1E1 mmcr0:0X0000122C mmcr1:0X000000009DE7749C mmcra:0X00022001
+event:0X1E2 mmcr0:0X0000122C mmcr1:0X000000009DE7749C mmcra:0X00022001
+event:0X1E3 mmcr0:0X0000122C mmcr1:0X000000009DE7749C mmcra:0X00022001
+event:0X1E4 mmcr0:0X0000122C mmcr1:0X000000009DE7749C mmcra:0X00022001
+event:0X1E5 mmcr0:0X0000122C mmcr1:0X000000009DE7749C mmcra:0X00022001
+event:0X1E6 mmcr0:0X0000122C mmcr1:0X000000009DE7749C mmcra:0X00022001
+event:0X1E7 mmcr0:0X0000122C mmcr1:0X000000009DE7749C mmcra:0X00022001
+
+#Group 31 pm_fpu5, Floating Point events by unit
+event:0X1F0 mmcr0:0X00001838 mmcr1:0X00000000850E9958 mmcra:0X00002001
+event:0X1F1 mmcr0:0X00001838 mmcr1:0X00000000850E9958 mmcra:0X00002001
+event:0X1F2 mmcr0:0X00001838 mmcr1:0X00000000850E9958 mmcra:0X00002001
+event:0X1F3 mmcr0:0X00001838 mmcr1:0X00000000850E9958 mmcra:0X00002001
+event:0X1F4 mmcr0:0X00001838 mmcr1:0X00000000850E9958 mmcra:0X00002001
+event:0X1F5 mmcr0:0X00001838 mmcr1:0X00000000850E9958 mmcra:0X00002001
+event:0X1F6 mmcr0:0X00001838 mmcr1:0X00000000850E9958 mmcra:0X00002001
+event:0X1F7 mmcr0:0X00001838 mmcr1:0X00000000850E9958 mmcra:0X00002001
+
+#Group 32 pm_fpu6, Floating Point events by unit
+event:0X200 mmcr0:0X00001B3E mmcr1:0X01002000C735E3A4 mmcra:0X00022001
+event:0X201 mmcr0:0X00001B3E mmcr1:0X01002000C735E3A4 mmcra:0X00022001
+event:0X202 mmcr0:0X00001B3E mmcr1:0X01002000C735E3A4 mmcra:0X00022001
+event:0X203 mmcr0:0X00001B3E mmcr1:0X01002000C735E3A4 mmcra:0X00022001
+event:0X204 mmcr0:0X00001B3E mmcr1:0X01002000C735E3A4 mmcra:0X00022001
+event:0X205 mmcr0:0X00001B3E mmcr1:0X01002000C735E3A4 mmcra:0X00022001
+event:0X206 mmcr0:0X00001B3E mmcr1:0X01002000C735E3A4 mmcra:0X00022001
+event:0X207 mmcr0:0X00001B3E mmcr1:0X01002000C735E3A4 mmcra:0X00022001
+
+#Group 33 pm_fpu7, Floating Point events by unit
+event:0X210 mmcr0:0X0000193A mmcr1:0X000000009DCE93E0 mmcra:0X00002001
+event:0X211 mmcr0:0X0000193A mmcr1:0X000000009DCE93E0 mmcra:0X00002001
+event:0X212 mmcr0:0X0000193A mmcr1:0X000000009DCE93E0 mmcra:0X00002001
+event:0X213 mmcr0:0X0000193A mmcr1:0X000000009DCE93E0 mmcra:0X00002001
+event:0X214 mmcr0:0X0000193A mmcr1:0X000000009DCE93E0 mmcra:0X00002001
+event:0X215 mmcr0:0X0000193A mmcr1:0X000000009DCE93E0 mmcra:0X00002001
+event:0X216 mmcr0:0X0000193A mmcr1:0X000000009DCE93E0 mmcra:0X00002001
+event:0X217 mmcr0:0X0000193A mmcr1:0X000000009DCE93E0 mmcra:0X00002001
+
+#Group 34 pm_fxu, Fix Point Unit events
+event:0X220 mmcr0:0X0000090E mmcr1:0X400000024294A520 mmcra:0X00002001
+event:0X221 mmcr0:0X0000090E mmcr1:0X400000024294A520 mmcra:0X00002001
+event:0X222 mmcr0:0X0000090E mmcr1:0X400000024294A520 mmcra:0X00002001
+event:0X223 mmcr0:0X0000090E mmcr1:0X400000024294A520 mmcra:0X00002001
+event:0X224 mmcr0:0X0000090E mmcr1:0X400000024294A520 mmcra:0X00002001
+event:0X225 mmcr0:0X0000090E mmcr1:0X400000024294A520 mmcra:0X00002001
+event:0X226 mmcr0:0X0000090E mmcr1:0X400000024294A520 mmcra:0X00002001
+event:0X227 mmcr0:0X0000090E mmcr1:0X400000024294A520 mmcra:0X00002001
+
+#Group 35 pm_lsu_lmq, LSU Load Miss Queue Events
+event:0X230 mmcr0:0X00001E3E mmcr1:0X0100A000EE4E9D78 mmcra:0X00002001
+event:0X231 mmcr0:0X00001E3E mmcr1:0X0100A000EE4E9D78 mmcra:0X00002001
+event:0X232 mmcr0:0X00001E3E mmcr1:0X0100A000EE4E9D78 mmcra:0X00002001
+event:0X233 mmcr0:0X00001E3E mmcr1:0X0100A000EE4E9D78 mmcra:0X00002001
+event:0X234 mmcr0:0X00001E3E mmcr1:0X0100A000EE4E9D78 mmcra:0X00002001
+event:0X235 mmcr0:0X00001E3E mmcr1:0X0100A000EE4E9D78 mmcra:0X00002001
+event:0X236 mmcr0:0X00001E3E mmcr1:0X0100A000EE4E9D78 mmcra:0X00002001
+event:0X237 mmcr0:0X00001E3E mmcr1:0X0100A000EE4E9D78 mmcra:0X00002001
+
+#Group 36 pm_lsu_flush, LSU Flush Events
+event:0X240 mmcr0:0X0000122C mmcr1:0X000C000039E7749C mmcra:0X00022001
+event:0X241 mmcr0:0X0000122C mmcr1:0X000C000039E7749C mmcra:0X00022001
+event:0X242 mmcr0:0X0000122C mmcr1:0X000C000039E7749C mmcra:0X00022001
+event:0X243 mmcr0:0X0000122C mmcr1:0X000C000039E7749C mmcra:0X00022001
+event:0X244 mmcr0:0X0000122C mmcr1:0X000C000039E7749C mmcra:0X00022001
+event:0X245 mmcr0:0X0000122C mmcr1:0X000C000039E7749C mmcra:0X00022001
+event:0X246 mmcr0:0X0000122C mmcr1:0X000C000039E7749C mmcra:0X00022001
+event:0X247 mmcr0:0X0000122C mmcr1:0X000C000039E7749C mmcra:0X00022001
+
+#Group 37 pm_lsu_load1, LSU Load Events
+event:0X250 mmcr0:0X00001028 mmcr1:0X000F0000850E9958 mmcra:0X00002001
+event:0X251 mmcr0:0X00001028 mmcr1:0X000F0000850E9958 mmcra:0X00002001
+event:0X252 mmcr0:0X00001028 mmcr1:0X000F0000850E9958 mmcra:0X00002001
+event:0X253 mmcr0:0X00001028 mmcr1:0X000F0000850E9958 mmcra:0X00002001
+event:0X254 mmcr0:0X00001028 mmcr1:0X000F0000850E9958 mmcra:0X00002001
+event:0X255 mmcr0:0X00001028 mmcr1:0X000F0000850E9958 mmcra:0X00002001
+event:0X256 mmcr0:0X00001028 mmcr1:0X000F0000850E9958 mmcra:0X00002001
+event:0X257 mmcr0:0X00001028 mmcr1:0X000F0000850E9958 mmcra:0X00002001
+
+#Group 38 pm_lsu_store1, LSU Store Events
+event:0X260 mmcr0:0X0000112A mmcr1:0X000F00008D4E99DC mmcra:0X00022001
+event:0X261 mmcr0:0X0000112A mmcr1:0X000F00008D4E99DC mmcra:0X00022001
+event:0X262 mmcr0:0X0000112A mmcr1:0X000F00008D4E99DC mmcra:0X00022001
+event:0X263 mmcr0:0X0000112A mmcr1:0X000F00008D4E99DC mmcra:0X00022001
+event:0X264 mmcr0:0X0000112A mmcr1:0X000F00008D4E99DC mmcra:0X00022001
+event:0X265 mmcr0:0X0000112A mmcr1:0X000F00008D4E99DC mmcra:0X00022001
+event:0X266 mmcr0:0X0000112A mmcr1:0X000F00008D4E99DC mmcra:0X00022001
+event:0X267 mmcr0:0X0000112A mmcr1:0X000F00008D4E99DC mmcra:0X00022001
+
+#Group 39 pm_lsu_store2, LSU Store Events
+event:0X270 mmcr0:0X00001838 mmcr1:0X0003C0008D76749C mmcra:0X00022001
+event:0X271 mmcr0:0X00001838 mmcr1:0X0003C0008D76749C mmcra:0X00022001
+event:0X272 mmcr0:0X00001838 mmcr1:0X0003C0008D76749C mmcra:0X00022001
+event:0X273 mmcr0:0X00001838 mmcr1:0X0003C0008D76749C mmcra:0X00022001
+event:0X274 mmcr0:0X00001838 mmcr1:0X0003C0008D76749C mmcra:0X00022001
+event:0X275 mmcr0:0X00001838 mmcr1:0X0003C0008D76749C mmcra:0X00022001
+event:0X276 mmcr0:0X00001838 mmcr1:0X0003C0008D76749C mmcra:0X00022001
+event:0X277 mmcr0:0X00001838 mmcr1:0X0003C0008D76749C mmcra:0X00022001
+
+#Group 40 pm_lsu7, Information on the Load Store Unit
+event:0X280 mmcr0:0X0000122C mmcr1:0X0118C00039F8749C mmcra:0X00022001
+event:0X281 mmcr0:0X0000122C mmcr1:0X0118C00039F8749C mmcra:0X00022001
+event:0X282 mmcr0:0X0000122C mmcr1:0X0118C00039F8749C mmcra:0X00022001
+event:0X283 mmcr0:0X0000122C mmcr1:0X0118C00039F8749C mmcra:0X00022001
+event:0X284 mmcr0:0X0000122C mmcr1:0X0118C00039F8749C mmcra:0X00022001
+event:0X285 mmcr0:0X0000122C mmcr1:0X0118C00039F8749C mmcra:0X00022001
+event:0X286 mmcr0:0X0000122C mmcr1:0X0118C00039F8749C mmcra:0X00022001
+event:0X287 mmcr0:0X0000122C mmcr1:0X0118C00039F8749C mmcra:0X00022001
+
+#Group 41 pm_dpfetch, Data Prefetch Events
+event:0X290 mmcr0:0X0000173E mmcr1:0X0108F000E74E93F8 mmcra:0X00002001
+event:0X291 mmcr0:0X0000173E mmcr1:0X0108F000E74E93F8 mmcra:0X00002001
+event:0X292 mmcr0:0X0000173E mmcr1:0X0108F000E74E93F8 mmcra:0X00002001
+event:0X293 mmcr0:0X0000173E mmcr1:0X0108F000E74E93F8 mmcra:0X00002001
+event:0X294 mmcr0:0X0000173E mmcr1:0X0108F000E74E93F8 mmcra:0X00002001
+event:0X295 mmcr0:0X0000173E mmcr1:0X0108F000E74E93F8 mmcra:0X00002001
+event:0X296 mmcr0:0X0000173E mmcr1:0X0108F000E74E93F8 mmcra:0X00002001
+event:0X297 mmcr0:0X0000173E mmcr1:0X0108F000E74E93F8 mmcra:0X00002001
+
+#Group 42 pm_misc, Misc Events for testing
+event:0X2A0 mmcr0:0X00000C14 mmcr1:0X0000000061D695B4 mmcra:0X00022001
+event:0X2A1 mmcr0:0X00000C14 mmcr1:0X0000000061D695B4 mmcra:0X00022001
+event:0X2A2 mmcr0:0X00000C14 mmcr1:0X0000000061D695B4 mmcra:0X00022001
+event:0X2A3 mmcr0:0X00000C14 mmcr1:0X0000000061D695B4 mmcra:0X00022001
+event:0X2A4 mmcr0:0X00000C14 mmcr1:0X0000000061D695B4 mmcra:0X00022001
+event:0X2A5 mmcr0:0X00000C14 mmcr1:0X0000000061D695B4 mmcra:0X00022001
+event:0X2A6 mmcr0:0X00000C14 mmcr1:0X0000000061D695B4 mmcra:0X00022001
+event:0X2A7 mmcr0:0X00000C14 mmcr1:0X0000000061D695B4 mmcra:0X00022001
+
+#Group 43 pm_mark1, Information on marked instructions
+event:0X2B0 mmcr0:0X00000816 mmcr1:0X010080803B18D6A4 mmcra:0X00722001
+event:0X2B1 mmcr0:0X00000816 mmcr1:0X010080803B18D6A4 mmcra:0X00722001
+event:0X2B2 mmcr0:0X00000816 mmcr1:0X010080803B18D6A4 mmcra:0X00722001
+event:0X2B3 mmcr0:0X00000816 mmcr1:0X010080803B18D6A4 mmcra:0X00722001
+event:0X2B4 mmcr0:0X00000816 mmcr1:0X010080803B18D6A4 mmcra:0X00722001
+event:0X2B5 mmcr0:0X00000816 mmcr1:0X010080803B18D6A4 mmcra:0X00722001
+event:0X2B6 mmcr0:0X00000816 mmcr1:0X010080803B18D6A4 mmcra:0X00722001
+event:0X2B7 mmcr0:0X00000816 mmcr1:0X010080803B18D6A4 mmcra:0X00722001
+
+#Group 44 pm_mark2, Marked Instructions Processing Flow
+event:0X2C0 mmcr0:0X00000A1A mmcr1:0X000000003B58C630 mmcra:0X00002001
+event:0X2C1 mmcr0:0X00000A1A mmcr1:0X000000003B58C630 mmcra:0X00002001
+event:0X2C2 mmcr0:0X00000A1A mmcr1:0X000000003B58C630 mmcra:0X00002001
+event:0X2C3 mmcr0:0X00000A1A mmcr1:0X000000003B58C630 mmcra:0X00002001
+event:0X2C4 mmcr0:0X00000A1A mmcr1:0X000000003B58C630 mmcra:0X00002001
+event:0X2C5 mmcr0:0X00000A1A mmcr1:0X000000003B58C630 mmcra:0X00002001
+event:0X2C6 mmcr0:0X00000A1A mmcr1:0X000000003B58C630 mmcra:0X00002001
+event:0X2C7 mmcr0:0X00000A1A mmcr1:0X000000003B58C630 mmcra:0X00002001
+
+#Group 45 pm_mark3, Marked Stores Processing Flow
+event:0X2D0 mmcr0:0X00000B0E mmcr1:0X010020005B1ABDA4 mmcra:0X00022001
+event:0X2D1 mmcr0:0X00000B0E mmcr1:0X010020005B1ABDA4 mmcra:0X00022001
+event:0X2D2 mmcr0:0X00000B0E mmcr1:0X010020005B1ABDA4 mmcra:0X00022001
+event:0X2D3 mmcr0:0X00000B0E mmcr1:0X010020005B1ABDA4 mmcra:0X00022001
+event:0X2D4 mmcr0:0X00000B0E mmcr1:0X010020005B1ABDA4 mmcra:0X00022001
+event:0X2D5 mmcr0:0X00000B0E mmcr1:0X010020005B1ABDA4 mmcra:0X00022001
+event:0X2D6 mmcr0:0X00000B0E mmcr1:0X010020005B1ABDA4 mmcra:0X00022001
+event:0X2D7 mmcr0:0X00000B0E mmcr1:0X010020005B1ABDA4 mmcra:0X00022001
+
+#Group 46 pm_mark4, Marked Loads Processing FLow
+event:0X2E0 mmcr0:0X0000080E mmcr1:0X01028080421AD4A0 mmcra:0X00002001
+event:0X2E1 mmcr0:0X0000080E mmcr1:0X01028080421AD4A0 mmcra:0X00002001
+event:0X2E2 mmcr0:0X0000080E mmcr1:0X01028080421AD4A0 mmcra:0X00002001
+event:0X2E3 mmcr0:0X0000080E mmcr1:0X01028080421AD4A0 mmcra:0X00002001
+event:0X2E4 mmcr0:0X0000080E mmcr1:0X01028080421AD4A0 mmcra:0X00002001
+event:0X2E5 mmcr0:0X0000080E mmcr1:0X01028080421AD4A0 mmcra:0X00002001
+event:0X2E6 mmcr0:0X0000080E mmcr1:0X01028080421AD4A0 mmcra:0X00002001
+event:0X2E7 mmcr0:0X0000080E mmcr1:0X01028080421AD4A0 mmcra:0X00002001
+
+#Group 47 pm_mark_lsource, Information on marked data source
+event:0X2F0 mmcr0:0X00000E1C mmcr1:0X00103000739CE738 mmcra:0X00002001
+event:0X2F1 mmcr0:0X00000E1C mmcr1:0X00103000739CE738 mmcra:0X00002001
+event:0X2F2 mmcr0:0X00000E1C mmcr1:0X00103000739CE738 mmcra:0X00002001
+event:0X2F3 mmcr0:0X00000E1C mmcr1:0X00103000739CE738 mmcra:0X00002001
+event:0X2F4 mmcr0:0X00000E1C mmcr1:0X00103000739CE738 mmcra:0X00002001
+event:0X2F5 mmcr0:0X00000E1C mmcr1:0X00103000739CE738 mmcra:0X00002001
+event:0X2F6 mmcr0:0X00000E1C mmcr1:0X00103000739CE738 mmcra:0X00002001
+event:0X2F7 mmcr0:0X00000E1C mmcr1:0X00103000739CE738 mmcra:0X00002001
+
+#Group 48 pm_mark_lsource2, Information on marked data source
+event:0X300 mmcr0:0X0000090E mmcr1:0X00103000E39CE738 mmcra:0X00002001
+event:0X301 mmcr0:0X0000090E mmcr1:0X00103000E39CE738 mmcra:0X00002001
+event:0X302 mmcr0:0X0000090E mmcr1:0X00103000E39CE738 mmcra:0X00002001
+event:0X303 mmcr0:0X0000090E mmcr1:0X00103000E39CE738 mmcra:0X00002001
+event:0X304 mmcr0:0X0000090E mmcr1:0X00103000E39CE738 mmcra:0X00002001
+event:0X305 mmcr0:0X0000090E mmcr1:0X00103000E39CE738 mmcra:0X00002001
+event:0X306 mmcr0:0X0000090E mmcr1:0X00103000E39CE738 mmcra:0X00002001
+event:0X307 mmcr0:0X0000090E mmcr1:0X00103000E39CE738 mmcra:0X00002001
+
+#Group 49 pm_mark_lsource3, Information on marked data source
+event:0X310 mmcr0:0X00000E1C mmcr1:0X00103000738E9770 mmcra:0X00002001
+event:0X311 mmcr0:0X00000E1C mmcr1:0X00103000738E9770 mmcra:0X00002001
+event:0X312 mmcr0:0X00000E1C mmcr1:0X00103000738E9770 mmcra:0X00002001
+event:0X313 mmcr0:0X00000E1C mmcr1:0X00103000738E9770 mmcra:0X00002001
+event:0X314 mmcr0:0X00000E1C mmcr1:0X00103000738E9770 mmcra:0X00002001
+event:0X315 mmcr0:0X00000E1C mmcr1:0X00103000738E9770 mmcra:0X00002001
+event:0X316 mmcr0:0X00000E1C mmcr1:0X00103000738E9770 mmcra:0X00002001
+event:0X317 mmcr0:0X00000E1C mmcr1:0X00103000738E9770 mmcra:0X00002001
+
+#Group 50 pm_lsu_mark1, Load Store Unit Marked Events
+event:0X320 mmcr0:0X00001B34 mmcr1:0X01028000850E98D4 mmcra:0X00022001
+event:0X321 mmcr0:0X00001B34 mmcr1:0X01028000850E98D4 mmcra:0X00022001
+event:0X322 mmcr0:0X00001B34 mmcr1:0X01028000850E98D4 mmcra:0X00022001
+event:0X323 mmcr0:0X00001B34 mmcr1:0X01028000850E98D4 mmcra:0X00022001
+event:0X324 mmcr0:0X00001B34 mmcr1:0X01028000850E98D4 mmcra:0X00022001
+event:0X325 mmcr0:0X00001B34 mmcr1:0X01028000850E98D4 mmcra:0X00022001
+event:0X326 mmcr0:0X00001B34 mmcr1:0X01028000850E98D4 mmcra:0X00022001
+event:0X327 mmcr0:0X00001B34 mmcr1:0X01028000850E98D4 mmcra:0X00022001
+
+#Group 51 pm_lsu_mark2, Load Store Unit Marked Events
+event:0X330 mmcr0:0X00001838 mmcr1:0X01028000958E99DC mmcra:0X00022001
+event:0X331 mmcr0:0X00001838 mmcr1:0X01028000958E99DC mmcra:0X00022001
+event:0X332 mmcr0:0X00001838 mmcr1:0X01028000958E99DC mmcra:0X00022001
+event:0X333 mmcr0:0X00001838 mmcr1:0X01028000958E99DC mmcra:0X00022001
+event:0X334 mmcr0:0X00001838 mmcr1:0X01028000958E99DC mmcra:0X00022001
+event:0X335 mmcr0:0X00001838 mmcr1:0X01028000958E99DC mmcra:0X00022001
+event:0X336 mmcr0:0X00001838 mmcr1:0X01028000958E99DC mmcra:0X00022001
+event:0X337 mmcr0:0X00001838 mmcr1:0X01028000958E99DC mmcra:0X00022001
+
+#Group 52 pm_lsu_mark3, Load Store Unit Marked Events
+event:0X340 mmcr0:0X00001D0E mmcr1:0X0100B000CE8ED6A4 mmcra:0X00022001
+event:0X341 mmcr0:0X00001D0E mmcr1:0X0100B000CE8ED6A4 mmcra:0X00022001
+event:0X342 mmcr0:0X00001D0E mmcr1:0X0100B000CE8ED6A4 mmcra:0X00022001
+event:0X343 mmcr0:0X00001D0E mmcr1:0X0100B000CE8ED6A4 mmcra:0X00022001
+event:0X344 mmcr0:0X00001D0E mmcr1:0X0100B000CE8ED6A4 mmcra:0X00022001
+event:0X345 mmcr0:0X00001D0E mmcr1:0X0100B000CE8ED6A4 mmcra:0X00022001
+event:0X346 mmcr0:0X00001D0E mmcr1:0X0100B000CE8ED6A4 mmcra:0X00022001
+event:0X347 mmcr0:0X00001D0E mmcr1:0X0100B000CE8ED6A4 mmcra:0X00022001
+
+#Group 53 pm_threshold, Group for pipeline threshold studies
+event:0X350 mmcr0:0X00001E16 mmcr1:0X0100A000CA4ED5F4 mmcra:0X00722001
+event:0X351 mmcr0:0X00001E16 mmcr1:0X0100A000CA4ED5F4 mmcra:0X00722001
+event:0X352 mmcr0:0X00001E16 mmcr1:0X0100A000CA4ED5F4 mmcra:0X00722001
+event:0X353 mmcr0:0X00001E16 mmcr1:0X0100A000CA4ED5F4 mmcra:0X00722001
+event:0X354 mmcr0:0X00001E16 mmcr1:0X0100A000CA4ED5F4 mmcra:0X00722001
+event:0X355 mmcr0:0X00001E16 mmcr1:0X0100A000CA4ED5F4 mmcra:0X00722001
+event:0X356 mmcr0:0X00001E16 mmcr1:0X0100A000CA4ED5F4 mmcra:0X00722001
+event:0X357 mmcr0:0X00001E16 mmcr1:0X0100A000CA4ED5F4 mmcra:0X00722001
+
+#Group 54 pm_pe_bench1, PE Benchmarker group for FP analysis
+event:0X360 mmcr0:0X00000810 mmcr1:0X10001002420E84A0 mmcra:0X00002001
+event:0X361 mmcr0:0X00000810 mmcr1:0X10001002420E84A0 mmcra:0X00002001
+event:0X362 mmcr0:0X00000810 mmcr1:0X10001002420E84A0 mmcra:0X00002001
+event:0X363 mmcr0:0X00000810 mmcr1:0X10001002420E84A0 mmcra:0X00002001
+event:0X364 mmcr0:0X00000810 mmcr1:0X10001002420E84A0 mmcra:0X00002001
+event:0X365 mmcr0:0X00000810 mmcr1:0X10001002420E84A0 mmcra:0X00002001
+event:0X366 mmcr0:0X00000810 mmcr1:0X10001002420E84A0 mmcra:0X00002001
+event:0X367 mmcr0:0X00000810 mmcr1:0X10001002420E84A0 mmcra:0X00002001
+
+#Group 55 pm_pe_bench2, PE Benchmarker group for FP stalls analysis
+event:0X370 mmcr0:0X00000710 mmcr1:0X110420689A508BA0 mmcra:0X00002001
+event:0X371 mmcr0:0X00000710 mmcr1:0X110420689A508BA0 mmcra:0X00002001
+event:0X372 mmcr0:0X00000710 mmcr1:0X110420689A508BA0 mmcra:0X00002001
+event:0X373 mmcr0:0X00000710 mmcr1:0X110420689A508BA0 mmcra:0X00002001
+event:0X374 mmcr0:0X00000710 mmcr1:0X110420689A508BA0 mmcra:0X00002001
+event:0X375 mmcr0:0X00000710 mmcr1:0X110420689A508BA0 mmcra:0X00002001
+event:0X376 mmcr0:0X00000710 mmcr1:0X110420689A508BA0 mmcra:0X00002001
+event:0X377 mmcr0:0X00000710 mmcr1:0X110420689A508BA0 mmcra:0X00002001
+
+#Group 56 pm_pe_bench3, PE Benchmarker group for branch analysis
+event:0X380 mmcr0:0X00000938 mmcr1:0X90040000C66A7D6C mmcra:0X00022001
+event:0X381 mmcr0:0X00000938 mmcr1:0X90040000C66A7D6C mmcra:0X00022001
+event:0X382 mmcr0:0X00000938 mmcr1:0X90040000C66A7D6C mmcra:0X00022001
+event:0X383 mmcr0:0X00000938 mmcr1:0X90040000C66A7D6C mmcra:0X00022001
+event:0X384 mmcr0:0X00000938 mmcr1:0X90040000C66A7D6C mmcra:0X00022001
+event:0X385 mmcr0:0X00000938 mmcr1:0X90040000C66A7D6C mmcra:0X00022001
+event:0X386 mmcr0:0X00000938 mmcr1:0X90040000C66A7D6C mmcra:0X00022001
+event:0X387 mmcr0:0X00000938 mmcr1:0X90040000C66A7D6C mmcra:0X00022001
+
+#Group 57 pm_pe_bench4, PE Benchmarker group for L1 and TLB analysis
+event:0X390 mmcr0:0X00001420 mmcr1:0X010B000044CE9420 mmcra:0X00002001
+event:0X391 mmcr0:0X00001420 mmcr1:0X010B000044CE9420 mmcra:0X00002001
+event:0X392 mmcr0:0X00001420 mmcr1:0X010B000044CE9420 mmcra:0X00002001
+event:0X393 mmcr0:0X00001420 mmcr1:0X010B000044CE9420 mmcra:0X00002001
+event:0X394 mmcr0:0X00001420 mmcr1:0X010B000044CE9420 mmcra:0X00002001
+event:0X395 mmcr0:0X00001420 mmcr1:0X010B000044CE9420 mmcra:0X00002001
+event:0X396 mmcr0:0X00001420 mmcr1:0X010B000044CE9420 mmcra:0X00002001
+event:0X397 mmcr0:0X00001420 mmcr1:0X010B000044CE9420 mmcra:0X00002001
+
+#Group 58 pm_pe_bench5, PE Benchmarker group for L2 analysis
+event:0X3A0 mmcr0:0X0000090E mmcr1:0X0010C000739CE738 mmcra:0X00002001
+event:0X3A1 mmcr0:0X0000090E mmcr1:0X0010C000739CE738 mmcra:0X00002001
+event:0X3A2 mmcr0:0X0000090E mmcr1:0X0010C000739CE738 mmcra:0X00002001
+event:0X3A3 mmcr0:0X0000090E mmcr1:0X0010C000739CE738 mmcra:0X00002001
+event:0X3A4 mmcr0:0X0000090E mmcr1:0X0010C000739CE738 mmcra:0X00002001
+event:0X3A5 mmcr0:0X0000090E mmcr1:0X0010C000739CE738 mmcra:0X00002001
+event:0X3A6 mmcr0:0X0000090E mmcr1:0X0010C000739CE738 mmcra:0X00002001
+event:0X3A7 mmcr0:0X0000090E mmcr1:0X0010C000739CE738 mmcra:0X00002001
+
+#Group 59 pm_pe_bench6, PE Benchmarker group for L3 analysis
+event:0X3B0 mmcr0:0X00000E1C mmcr1:0X0010C000739C74B8 mmcra:0X00002001
+event:0X3B1 mmcr0:0X00000E1C mmcr1:0X0010C000739C74B8 mmcra:0X00002001
+event:0X3B2 mmcr0:0X00000E1C mmcr1:0X0010C000739C74B8 mmcra:0X00002001
+event:0X3B3 mmcr0:0X00000E1C mmcr1:0X0010C000739C74B8 mmcra:0X00002001
+event:0X3B4 mmcr0:0X00000E1C mmcr1:0X0010C000739C74B8 mmcra:0X00002001
+event:0X3B5 mmcr0:0X00000E1C mmcr1:0X0010C000739C74B8 mmcra:0X00002001
+event:0X3B6 mmcr0:0X00000E1C mmcr1:0X0010C000739C74B8 mmcra:0X00002001
+event:0X3B7 mmcr0:0X00000E1C mmcr1:0X0010C000739C74B8 mmcra:0X00002001
+
+#Group 60 pm_hpmcount1, Hpmcount group for L1 and TLB behavior analysis
+event:0X3C0 mmcr0:0X00001414 mmcr1:0X010B000044CE9420 mmcra:0X00002001
+event:0X3C1 mmcr0:0X00001414 mmcr1:0X010B000044CE9420 mmcra:0X00002001
+event:0X3C2 mmcr0:0X00001414 mmcr1:0X010B000044CE9420 mmcra:0X00002001
+event:0X3C3 mmcr0:0X00001414 mmcr1:0X010B000044CE9420 mmcra:0X00002001
+event:0X3C4 mmcr0:0X00001414 mmcr1:0X010B000044CE9420 mmcra:0X00002001
+event:0X3C5 mmcr0:0X00001414 mmcr1:0X010B000044CE9420 mmcra:0X00002001
+event:0X3C6 mmcr0:0X00001414 mmcr1:0X010B000044CE9420 mmcra:0X00002001
+event:0X3C7 mmcr0:0X00001414 mmcr1:0X010B000044CE9420 mmcra:0X00002001
+
+#Group 61 pm_hpmcount2, Hpmcount group for computation intensity analysis
+event:0X3D0 mmcr0:0X00000810 mmcr1:0X010020289DCE84A0 mmcra:0X00002001
+event:0X3D1 mmcr0:0X00000810 mmcr1:0X010020289DCE84A0 mmcra:0X00002001
+event:0X3D2 mmcr0:0X00000810 mmcr1:0X010020289DCE84A0 mmcra:0X00002001
+event:0X3D3 mmcr0:0X00000810 mmcr1:0X010020289DCE84A0 mmcra:0X00002001
+event:0X3D4 mmcr0:0X00000810 mmcr1:0X010020289DCE84A0 mmcra:0X00002001
+event:0X3D5 mmcr0:0X00000810 mmcr1:0X010020289DCE84A0 mmcra:0X00002001
+event:0X3D6 mmcr0:0X00000810 mmcr1:0X010020289DCE84A0 mmcra:0X00002001
+event:0X3D7 mmcr0:0X00000810 mmcr1:0X010020289DCE84A0 mmcra:0X00002001
+
+#Group 62 pm_l1andbr, L1 misses and branch misspredict analysis
+event:0X3E0 mmcr0:0X0000090E mmcr1:0X8003C00046367CE8 mmcra:0X00002001
+event:0X3E1 mmcr0:0X0000090E mmcr1:0X8003C00046367CE8 mmcra:0X00002001
+event:0X3E2 mmcr0:0X0000090E mmcr1:0X8003C00046367CE8 mmcra:0X00002001
+event:0X3E3 mmcr0:0X0000090E mmcr1:0X8003C00046367CE8 mmcra:0X00002001
+event:0X3E4 mmcr0:0X0000090E mmcr1:0X8003C00046367CE8 mmcra:0X00002001
+event:0X3E5 mmcr0:0X0000090E mmcr1:0X8003C00046367CE8 mmcra:0X00002001
+event:0X3E6 mmcr0:0X0000090E mmcr1:0X8003C00046367CE8 mmcra:0X00002001
+event:0X3E7 mmcr0:0X0000090E mmcr1:0X8003C00046367CE8 mmcra:0X00002001
+
+#Group 63 pm_imix, Instruction mix: loads, stores and branches
+event:0X3F0 mmcr0:0X0000090E mmcr1:0X8003C000460FB420 mmcra:0X00002001
+event:0X3F1 mmcr0:0X0000090E mmcr1:0X8003C000460FB420 mmcra:0X00002001
+event:0X3F2 mmcr0:0X0000090E mmcr1:0X8003C000460FB420 mmcra:0X00002001
+event:0X3F3 mmcr0:0X0000090E mmcr1:0X8003C000460FB420 mmcra:0X00002001
+event:0X3F4 mmcr0:0X0000090E mmcr1:0X8003C000460FB420 mmcra:0X00002001
+event:0X3F5 mmcr0:0X0000090E mmcr1:0X8003C000460FB420 mmcra:0X00002001
+event:0X3F6 mmcr0:0X0000090E mmcr1:0X8003C000460FB420 mmcra:0X00002001
+event:0X3F7 mmcr0:0X0000090E mmcr1:0X8003C000460FB420 mmcra:0X00002001
diff --git a/events/ppc64/power4/events b/events/ppc64/power4/events
new file mode 100644
index 0000000..7c553d3
--- /dev/null
+++ b/events/ppc64/power4/events
@@ -0,0 +1,645 @@
+#PPC64 POWER4 events
+#
+# Within each group the event names must be unique. Each event in a group is
+# assigned to a unique counter. The groups are from the groups defined in the
+# Performance Monitor Unit user guide for this processor.
+#
+# Only events within the same group can be selected simultaneously.
+# Each event is given a unique event number. The event number is used by the
+# OProfile code to resolve event names for the post-processing. This is done
+# to preserve compatibility with the rest of the OProfile code. The event
+# numbers are formatted as follows: <group_num>concat(<counter for the event>).
+
+#Group Default
+event:0X001 counters:1 um:zero minimum:10000 name:CYCLES : Processor Cycles
+
+
+#Group 1 pm_slice0, Time Slice 0
+event:0X010 counters:0 um:zero minimum:10000 name:PM_RUN_CYC_GRP1 : (Group 1 pm_slice0) Run cycles
+event:0X011 counters:1 um:zero minimum:10000 name:PM_CYC_GRP1 : (Group 1 pm_slice0) Processor cycles
+event:0X012 counters:2 um:zero minimum:1000 name:PM_STOP_COMPLETION_GRP1 : (Group 1 pm_slice0) Completion stopped
+event:0X013 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP1 : (Group 1 pm_slice0) Instructions completed
+event:0X014 counters:4 um:zero minimum:1000 name:PM_1PLUS_PPC_CMPL_GRP1 : (Group 1 pm_slice0) One or more PPC instruction completed
+event:0X015 counters:5 um:zero minimum:10000 name:PM_CYC_GRP1 : (Group 1 pm_slice0) Processor cycles
+event:0X016 counters:6 um:zero minimum:1000 name:PM_GRP_CMPL_GRP1 : (Group 1 pm_slice0) Group completed
+event:0X017 counters:7 um:zero minimum:1000 name:PM_GRP_DISP_REJECT_GRP1 : (Group 1 pm_slice0) Group dispatch rejected
+
+#Group 2 pm_eprof, Group for use with eprof
+event:0X020 counters:0 um:zero minimum:10000 name:PM_CYC_GRP2 : (Group 2 pm_eprof) Processor cycles
+event:0X021 counters:1 um:zero minimum:10000 name:PM_CYC_GRP2 : (Group 2 pm_eprof) Processor cycles
+event:0X022 counters:2 um:zero minimum:1000 name:PM_LD_MISS_L1_GRP2 : (Group 2 pm_eprof) L1 D cache load misses
+event:0X023 counters:3 um:zero minimum:1000 name:PM_DC_INV_L2_GRP2 : (Group 2 pm_eprof) L1 D cache entries invalidated from L2
+event:0X024 counters:4 um:zero minimum:1000 name:PM_INST_DISP_GRP2 : (Group 2 pm_eprof) Instructions dispatched
+event:0X025 counters:5 um:zero minimum:10000 name:PM_INST_CMPL_GRP2 : (Group 2 pm_eprof) Instructions completed
+event:0X026 counters:6 um:zero minimum:1000 name:PM_ST_REF_L1_GRP2 : (Group 2 pm_eprof) L1 D cache store references
+event:0X027 counters:7 um:zero minimum:1000 name:PM_LD_REF_L1_GRP2 : (Group 2 pm_eprof) L1 D cache load references
+
+#Group 3 pm_basic, Basic performance indicators
+event:0X030 counters:0 um:zero minimum:10000 name:PM_INST_CMPL_GRP3 : (Group 3 pm_basic) Instructions completed
+event:0X031 counters:1 um:zero minimum:10000 name:PM_CYC_GRP3 : (Group 3 pm_basic) Processor cycles
+event:0X032 counters:2 um:zero minimum:1000 name:PM_LD_MISS_L1_GRP3 : (Group 3 pm_basic) L1 D cache load misses
+event:0X033 counters:3 um:zero minimum:1000 name:PM_DC_INV_L2_GRP3 : (Group 3 pm_basic) L1 D cache entries invalidated from L2
+event:0X034 counters:4 um:zero minimum:1000 name:PM_INST_DISP_GRP3 : (Group 3 pm_basic) Instructions dispatched
+event:0X035 counters:5 um:zero minimum:10000 name:PM_INST_CMPL_GRP3 : (Group 3 pm_basic) Instructions completed
+event:0X036 counters:6 um:zero minimum:1000 name:PM_ST_REF_L1_GRP3 : (Group 3 pm_basic) L1 D cache store references
+event:0X037 counters:7 um:zero minimum:1000 name:PM_LD_REF_L1_GRP3 : (Group 3 pm_basic) L1 D cache load references
+
+#Group 4 pm_ifu, IFU events
+event:0X040 counters:0 um:zero minimum:10000 name:PM_INST_CMPL_GRP4 : (Group 4 pm_ifu) Instructions completed
+event:0X041 counters:1 um:zero minimum:1000 name:PM_BIQ_IDU_FULL_CYC_GRP4 : (Group 4 pm_ifu) Cycles BIQ or IDU full
+event:0X042 counters:2 um:zero minimum:1000 name:PM_BR_ISSUED_GRP4 : (Group 4 pm_ifu) Branches issued
+event:0X043 counters:3 um:zero minimum:1000 name:PM_BR_MPRED_CR_GRP4 : (Group 4 pm_ifu) Branch mispredictions due CR bit setting
+event:0X044 counters:4 um:zero minimum:1000 name:PM_INST_FETCH_CYC_GRP4 : (Group 4 pm_ifu) Cycles at least 1 instruction fetched
+event:0X045 counters:5 um:zero minimum:10000 name:PM_CYC_GRP4 : (Group 4 pm_ifu) Processor cycles
+event:0X046 counters:6 um:zero minimum:1000 name:PM_BR_MPRED_TA_GRP4 : (Group 4 pm_ifu) Branch mispredictions due to target address
+event:0X047 counters:7 um:zero minimum:1000 name:PM_L1_WRITE_CYC_GRP4 : (Group 4 pm_ifu) Cycles writing to instruction L1
+
+#Group 5 pm_isu, ISU Queue full events
+event:0X050 counters:0 um:zero minimum:1000 name:PM_FPR_MAP_FULL_CYC_GRP5 : (Group 5 pm_isu) Cycles FPR mapper full
+event:0X051 counters:1 um:zero minimum:1000 name:PM_BRQ_FULL_CYC_GRP5 : (Group 5 pm_isu) Cycles branch queue full
+event:0X052 counters:2 um:zero minimum:1000 name:PM_GPR_MAP_FULL_CYC_GRP5 : (Group 5 pm_isu) Cycles GPR mapper full
+event:0X053 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP5 : (Group 5 pm_isu) Instructions completed
+event:0X054 counters:4 um:zero minimum:1000 name:PM_FPU_FULL_CYC_GRP5 : (Group 5 pm_isu) Cycles FPU issue queue full
+event:0X055 counters:5 um:zero minimum:1000 name:PM_GCT_FULL_CYC_GRP5 : (Group 5 pm_isu) Cycles GCT full
+event:0X056 counters:6 um:zero minimum:10000 name:PM_CYC_GRP5 : (Group 5 pm_isu) Processor cycles
+event:0X057 counters:7 um:zero minimum:1000 name:PM_FXLS_FULL_CYC_GRP5 : (Group 5 pm_isu) Cycles FXLS queue is full
+
+#Group 6 pm_lsource, Information on data source
+event:0X060 counters:0 um:zero minimum:1000 name:PM_DATA_FROM_L3_GRP6 : (Group 6 pm_lsource) Data loaded from L3
+event:0X061 counters:1 um:zero minimum:1000 name:PM_DATA_FROM_MEM_GRP6 : (Group 6 pm_lsource) Data loaded from memory
+event:0X062 counters:2 um:zero minimum:1000 name:PM_DATA_FROM_L35_GRP6 : (Group 6 pm_lsource) Data loaded from L3.5
+event:0X063 counters:3 um:zero minimum:1000 name:PM_DATA_FROM_L2_GRP6 : (Group 6 pm_lsource) Data loaded from L2
+event:0X064 counters:4 um:zero minimum:1000 name:PM_DATA_FROM_L25_SHR_GRP6 : (Group 6 pm_lsource) Data loaded from L2.5 shared
+event:0X065 counters:5 um:zero minimum:1000 name:PM_DATA_FROM_L275_SHR_GRP6 : (Group 6 pm_lsource) Data loaded from L2.75 shared
+event:0X066 counters:6 um:zero minimum:1000 name:PM_DATA_FROM_L275_MOD_GRP6 : (Group 6 pm_lsource) Data loaded from L2.75 modified
+event:0X067 counters:7 um:zero minimum:1000 name:PM_DATA_FROM_L25_MOD_GRP6 : (Group 6 pm_lsource) Data loaded from L2.5 modified
+
+#Group 7 pm_isource, Instruction Source information
+event:0X070 counters:0 um:zero minimum:1000 name:PM_INST_FROM_MEM_GRP7 : (Group 7 pm_isource) Instruction fetched from memory
+event:0X071 counters:1 um:zero minimum:1000 name:PM_INST_FROM_L25_L275_GRP7 : (Group 7 pm_isource) Instruction fetched from L2.5/L2.75
+event:0X072 counters:2 um:zero minimum:1000 name:PM_INST_FROM_L2_GRP7 : (Group 7 pm_isource) Instructions fetched from L2
+event:0X073 counters:3 um:zero minimum:1000 name:PM_INST_FROM_L35_GRP7 : (Group 7 pm_isource) Instructions fetched from L3.5
+event:0X074 counters:4 um:zero minimum:1000 name:PM_INST_FROM_L3_GRP7 : (Group 7 pm_isource) Instruction fetched from L3
+event:0X075 counters:5 um:zero minimum:1000 name:PM_INST_FROM_L1_GRP7 : (Group 7 pm_isource) Instruction fetched from L1
+event:0X076 counters:6 um:zero minimum:1000 name:PM_INST_FROM_PREF_GRP7 : (Group 7 pm_isource) Instructions fetched from prefetch
+event:0X077 counters:7 um:zero minimum:1000 name:PM_0INST_FETCH_GRP7 : (Group 7 pm_isource) No instructions fetched
+
+#Group 8 pm_lsu, Information on the Load Store Unit
+event:0X080 counters:0 um:zero minimum:1000 name:PM_LSU_FLUSH_ULD_GRP8 : (Group 8 pm_lsu) LRQ unaligned load flushes
+event:0X081 counters:1 um:zero minimum:1000 name:PM_LSU_FLUSH_UST_GRP8 : (Group 8 pm_lsu) SRQ unaligned store flushes
+event:0X082 counters:2 um:zero minimum:10000 name:PM_CYC_GRP8 : (Group 8 pm_lsu) Processor cycles
+event:0X083 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP8 : (Group 8 pm_lsu) Instructions completed
+event:0X084 counters:4 um:zero minimum:1000 name:PM_LSU_FLUSH_SRQ_GRP8 : (Group 8 pm_lsu) SRQ flushes
+event:0X085 counters:5 um:zero minimum:1000 name:PM_LSU_FLUSH_LRQ_GRP8 : (Group 8 pm_lsu) LRQ flushes
+event:0X086 counters:6 um:zero minimum:1000 name:PM_ST_REF_L1_GRP8 : (Group 8 pm_lsu) L1 D cache store references
+event:0X087 counters:7 um:zero minimum:1000 name:PM_LD_REF_L1_GRP8 : (Group 8 pm_lsu) L1 D cache load references
+
+#Group 9 pm_xlate1, Translation Events
+event:0X090 counters:0 um:zero minimum:1000 name:PM_ITLB_MISS_GRP9 : (Group 9 pm_xlate1) Instruction TLB misses
+event:0X091 counters:1 um:zero minimum:1000 name:PM_DTLB_MISS_GRP9 : (Group 9 pm_xlate1) Data TLB misses
+event:0X092 counters:2 um:zero minimum:1000 name:PM_DATA_TABLEWALK_CYC_GRP9 : (Group 9 pm_xlate1) Cycles doing data tablewalks
+event:0X093 counters:3 um:zero minimum:1000 name:PM_LSU_LMQ_S0_VALID_GRP9 : (Group 9 pm_xlate1) LMQ slot 0 valid
+event:0X094 counters:4 um:zero minimum:1000 name:PM_IERAT_XLATE_WR_GRP9 : (Group 9 pm_xlate1) Translation written to ierat
+event:0X095 counters:5 um:zero minimum:1000 name:PM_LSU_DERAT_MISS_GRP9 : (Group 9 pm_xlate1) DERAT misses
+event:0X096 counters:6 um:zero minimum:10000 name:PM_INST_CMPL_GRP9 : (Group 9 pm_xlate1) Instructions completed
+event:0X097 counters:7 um:zero minimum:10000 name:PM_CYC_GRP9 : (Group 9 pm_xlate1) Processor cycles
+
+#Group 10 pm_xlate2, Translation Events
+event:0X0A0 counters:0 um:zero minimum:1000 name:PM_ISLB_MISS_GRP10 : (Group 10 pm_xlate2) Instruction SLB misses
+event:0X0A1 counters:1 um:zero minimum:1000 name:PM_DSLB_MISS_GRP10 : (Group 10 pm_xlate2) Data SLB misses
+event:0X0A2 counters:2 um:zero minimum:1000 name:PM_LSU_SRQ_SYNC_CYC_GRP10 : (Group 10 pm_xlate2) SRQ sync duration
+event:0X0A3 counters:3 um:zero minimum:1000 name:PM_LSU_LMQ_S0_ALLOC_GRP10 : (Group 10 pm_xlate2) LMQ slot 0 allocated
+event:0X0A4 counters:4 um:zero minimum:1000 name:PM_IERAT_XLATE_WR_GRP10 : (Group 10 pm_xlate2) Translation written to ierat
+event:0X0A5 counters:5 um:zero minimum:1000 name:PM_LSU_DERAT_MISS_GRP10 : (Group 10 pm_xlate2) DERAT misses
+event:0X0A6 counters:6 um:zero minimum:10000 name:PM_INST_CMPL_GRP10 : (Group 10 pm_xlate2) Instructions completed
+event:0X0A7 counters:7 um:zero minimum:10000 name:PM_CYC_GRP10 : (Group 10 pm_xlate2) Processor cycles
+
+#Group 11 pm_gps1, L3 Events
+event:0X0B0 counters:0 um:zero minimum:1000 name:PM_L3B0_DIR_REF_GRP11 : (Group 11 pm_gps1) L3 bank 0 directory references
+event:0X0B1 counters:1 um:zero minimum:1000 name:PM_L3B0_DIR_MIS_GRP11 : (Group 11 pm_gps1) L3 bank 0 directory misses
+event:0X0B2 counters:2 um:zero minimum:1000 name:PM_FAB_CMD_ISSUED_GRP11 : (Group 11 pm_gps1) Fabric command issued
+event:0X0B3 counters:3 um:zero minimum:1000 name:PM_FAB_CMD_RETRIED_GRP11 : (Group 11 pm_gps1) Fabric command retried
+event:0X0B4 counters:4 um:zero minimum:1000 name:PM_L3B1_DIR_REF_GRP11 : (Group 11 pm_gps1) L3 bank 1 directory references
+event:0X0B5 counters:5 um:zero minimum:1000 name:PM_L3B1_DIR_MIS_GRP11 : (Group 11 pm_gps1) L3 bank 1 directory misses
+event:0X0B6 counters:6 um:zero minimum:10000 name:PM_INST_CMPL_GRP11 : (Group 11 pm_gps1) Instructions completed
+event:0X0B7 counters:7 um:zero minimum:10000 name:PM_CYC_GRP11 : (Group 11 pm_gps1) Processor cycles
+
+#Group 12 pm_l2a, L2 SliceA events
+event:0X0C0 counters:0 um:zero minimum:1000 name:PM_L2SA_MOD_TAG_GRP12 : (Group 12 pm_l2a) L2 slice A transition from modified to tagged
+event:0X0C1 counters:1 um:zero minimum:1000 name:PM_L2SA_SHR_INV_GRP12 : (Group 12 pm_l2a) L2 slice A transition from shared to invalid
+event:0X0C2 counters:2 um:zero minimum:1000 name:PM_L2SA_ST_REQ_GRP12 : (Group 12 pm_l2a) L2 slice A store requests
+event:0X0C3 counters:3 um:zero minimum:1000 name:PM_L2SA_ST_HIT_GRP12 : (Group 12 pm_l2a) L2 slice A store hits
+event:0X0C4 counters:4 um:zero minimum:1000 name:PM_L2SA_SHR_MOD_GRP12 : (Group 12 pm_l2a) L2 slice A transition from shared to modified
+event:0X0C5 counters:5 um:zero minimum:1000 name:PM_L2SA_MOD_INV_GRP12 : (Group 12 pm_l2a) L2 slice A transition from modified to invalid
+event:0X0C6 counters:6 um:zero minimum:10000 name:PM_INST_CMPL_GRP12 : (Group 12 pm_l2a) Instructions completed
+event:0X0C7 counters:7 um:zero minimum:10000 name:PM_CYC_GRP12 : (Group 12 pm_l2a) Processor cycles
+
+#Group 13 pm_l2b, L2 SliceB events
+event:0X0D0 counters:0 um:zero minimum:1000 name:PM_L2SB_MOD_TAG_GRP13 : (Group 13 pm_l2b) L2 slice B transition from modified to tagged
+event:0X0D1 counters:1 um:zero minimum:1000 name:PM_L2SB_SHR_INV_GRP13 : (Group 13 pm_l2b) L2 slice B transition from shared to invalid
+event:0X0D2 counters:2 um:zero minimum:1000 name:PM_L2SB_ST_REQ_GRP13 : (Group 13 pm_l2b) L2 slice B store requests
+event:0X0D3 counters:3 um:zero minimum:1000 name:PM_L2SB_ST_HIT_GRP13 : (Group 13 pm_l2b) L2 slice B store hits
+event:0X0D4 counters:4 um:zero minimum:1000 name:PM_L2SB_SHR_MOD_GRP13 : (Group 13 pm_l2b) L2 slice B transition from shared to modified
+event:0X0D5 counters:5 um:zero minimum:1000 name:PM_L2SB_MOD_INV_GRP13 : (Group 13 pm_l2b) L2 slice B transition from modified to invalid
+event:0X0D6 counters:6 um:zero minimum:10000 name:PM_INST_CMPL_GRP13 : (Group 13 pm_l2b) Instructions completed
+event:0X0D7 counters:7 um:zero minimum:10000 name:PM_CYC_GRP13 : (Group 13 pm_l2b) Processor cycles
+
+#Group 14 pm_l2c, L2 SliceC events
+event:0X0E0 counters:0 um:zero minimum:1000 name:PM_L2SC_MOD_TAG_GRP14 : (Group 14 pm_l2c) L2 slice C transition from modified to tagged
+event:0X0E1 counters:1 um:zero minimum:1000 name:PM_L2SC_SHR_INV_GRP14 : (Group 14 pm_l2c) L2 slice C transition from shared to invalid
+event:0X0E2 counters:2 um:zero minimum:1000 name:PM_L2SC_ST_REQ_GRP14 : (Group 14 pm_l2c) L2 slice C store requests
+event:0X0E3 counters:3 um:zero minimum:1000 name:PM_L2SC_ST_HIT_GRP14 : (Group 14 pm_l2c) L2 slice C store hits
+event:0X0E4 counters:4 um:zero minimum:1000 name:PM_L2SC_SHR_MOD_GRP14 : (Group 14 pm_l2c) L2 slice C transition from shared to modified
+event:0X0E5 counters:5 um:zero minimum:1000 name:PM_L2SC_MOD_INV_GRP14 : (Group 14 pm_l2c) L2 slice C transition from modified to invalid
+event:0X0E6 counters:6 um:zero minimum:10000 name:PM_INST_CMPL_GRP14 : (Group 14 pm_l2c) Instructions completed
+event:0X0E7 counters:7 um:zero minimum:10000 name:PM_CYC_GRP14 : (Group 14 pm_l2c) Processor cycles
+
+#Group 15 pm_fpu1, Floating Point events
+event:0X0F0 counters:0 um:zero minimum:1000 name:PM_FPU_FDIV_GRP15 : (Group 15 pm_fpu1) FPU executed FDIV instruction
+event:0X0F1 counters:1 um:zero minimum:1000 name:PM_FPU_FMA_GRP15 : (Group 15 pm_fpu1) FPU executed multiply-add instruction
+event:0X0F2 counters:2 um:zero minimum:1000 name:PM_FPU_FEST_GRP15 : (Group 15 pm_fpu1) FPU executed FEST instruction
+event:0X0F3 counters:3 um:zero minimum:1000 name:PM_FPU_FIN_GRP15 : (Group 15 pm_fpu1) FPU produced a result
+event:0X0F4 counters:4 um:zero minimum:10000 name:PM_CYC_GRP15 : (Group 15 pm_fpu1) Processor cycles
+event:0X0F5 counters:5 um:zero minimum:1000 name:PM_FPU_FSQRT_GRP15 : (Group 15 pm_fpu1) FPU executed FSQRT instruction
+event:0X0F6 counters:6 um:zero minimum:10000 name:PM_INST_CMPL_GRP15 : (Group 15 pm_fpu1) Instructions completed
+event:0X0F7 counters:7 um:zero minimum:1000 name:PM_FPU_FMOV_FEST_GRP15 : (Group 15 pm_fpu1) FPU executing FMOV or FEST instructions
+
+#Group 16 pm_fpu2, Floating Point events
+event:0X100 counters:0 um:zero minimum:1000 name:PM_FPU_DENORM_GRP16 : (Group 16 pm_fpu2) FPU received denormalized data
+event:0X101 counters:1 um:zero minimum:1000 name:PM_FPU_STALL3_GRP16 : (Group 16 pm_fpu2) FPU stalled in pipe3
+event:0X102 counters:2 um:zero minimum:10000 name:PM_CYC_GRP16 : (Group 16 pm_fpu2) Processor cycles
+event:0X103 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP16 : (Group 16 pm_fpu2) Instructions completed
+event:0X104 counters:4 um:zero minimum:1000 name:PM_FPU_ALL_GRP16 : (Group 16 pm_fpu2) FPU executed add, mult, sub, cmp or sel instruction
+event:0X105 counters:5 um:zero minimum:1000 name:PM_FPU_STF_GRP16 : (Group 16 pm_fpu2) FPU executed store instruction
+event:0X106 counters:6 um:zero minimum:1000 name:PM_FPU_FRSP_FCONV_GRP16 : (Group 16 pm_fpu2) FPU executed FRSP or FCONV instructions
+event:0X107 counters:7 um:zero minimum:1000 name:PM_LSU_LDF_GRP16 : (Group 16 pm_fpu2) LSU executed Floating Point load instruction
+
+#Group 17 pm_idu1, Instruction Decode Unit events
+event:0X110 counters:0 um:zero minimum:10000 name:PM_INST_CMPL_GRP17 : (Group 17 pm_idu1) Instructions completed
+event:0X111 counters:1 um:zero minimum:10000 name:PM_CYC_GRP17 : (Group 17 pm_idu1) Processor cycles
+event:0X112 counters:2 um:zero minimum:1000 name:PM_1INST_CLB_CYC_GRP17 : (Group 17 pm_idu1) Cycles 1 instruction in CLB
+event:0X113 counters:3 um:zero minimum:1000 name:PM_2INST_CLB_CYC_GRP17 : (Group 17 pm_idu1) Cycles 2 instructions in CLB
+event:0X114 counters:4 um:zero minimum:1000 name:PM_1PLUS_PPC_CMPL_GRP17 : (Group 17 pm_idu1) One or more PPC instruction completed
+event:0X115 counters:5 um:zero minimum:10000 name:PM_CYC_GRP17 : (Group 17 pm_idu1) Processor cycles
+event:0X116 counters:6 um:zero minimum:1000 name:PM_3INST_CLB_CYC_GRP17 : (Group 17 pm_idu1) Cycles 3 instructions in CLB
+event:0X117 counters:7 um:zero minimum:1000 name:PM_4INST_CLB_CYC_GRP17 : (Group 17 pm_idu1) Cycles 4 instructions in CLB
+
+#Group 18 pm_idu2, Instruction Decode Unit events
+event:0X120 counters:0 um:zero minimum:10000 name:PM_INST_CMPL_GRP18 : (Group 18 pm_idu2) Instructions completed
+event:0X121 counters:1 um:zero minimum:10000 name:PM_CYC_GRP18 : (Group 18 pm_idu2) Processor cycles
+event:0X122 counters:2 um:zero minimum:1000 name:PM_5INST_CLB_CYC_GRP18 : (Group 18 pm_idu2) Cycles 5 instructions in CLB
+event:0X123 counters:3 um:zero minimum:1000 name:PM_6INST_CLB_CYC_GRP18 : (Group 18 pm_idu2) Cycles 6 instructions in CLB
+event:0X124 counters:4 um:zero minimum:1000 name:PM_GRP_DISP_SUCCESS_GRP18 : (Group 18 pm_idu2) Group dispatch success
+event:0X125 counters:5 um:zero minimum:10000 name:PM_CYC_GRP18 : (Group 18 pm_idu2) Processor cycles
+event:0X126 counters:6 um:zero minimum:1000 name:PM_7INST_CLB_CYC_GRP18 : (Group 18 pm_idu2) Cycles 7 instructions in CLB
+event:0X127 counters:7 um:zero minimum:1000 name:PM_8INST_CLB_CYC_GRP18 : (Group 18 pm_idu2) Cycles 8 instructions in CLB
+
+#Group 19 pm_isu_rename, ISU Rename Pool Events
+event:0X130 counters:0 um:zero minimum:1000 name:PM_XER_MAP_FULL_CYC_GRP19 : (Group 19 pm_isu_rename) Cycles XER mapper full
+event:0X131 counters:1 um:zero minimum:1000 name:PM_CR_MAP_FULL_CYC_GRP19 : (Group 19 pm_isu_rename) Cycles CR logical operation mapper full
+event:0X132 counters:2 um:zero minimum:1000 name:PM_CRQ_FULL_CYC_GRP19 : (Group 19 pm_isu_rename) Cycles CR issue queue full
+event:0X133 counters:3 um:zero minimum:1000 name:PM_GRP_DISP_BLK_SB_CYC_GRP19 : (Group 19 pm_isu_rename) Cycles group dispatch blocked by scoreboard
+event:0X134 counters:4 um:zero minimum:1000 name:PM_LR_CTR_MAP_FULL_CYC_GRP19 : (Group 19 pm_isu_rename) Cycles LR/CTR mapper full
+event:0X135 counters:5 um:zero minimum:1000 name:PM_INST_DISP_GRP19 : (Group 19 pm_isu_rename) Instructions dispatched
+event:0X136 counters:6 um:zero minimum:10000 name:PM_INST_CMPL_GRP19 : (Group 19 pm_isu_rename) Instructions completed
+event:0X137 counters:7 um:zero minimum:10000 name:PM_CYC_GRP19 : (Group 19 pm_isu_rename) Processor cycles
+
+#Group 20 pm_isu_queues1, ISU Queue Full Events
+event:0X140 counters:0 um:zero minimum:1000 name:PM_FPU0_FULL_CYC_GRP20 : (Group 20 pm_isu_queues1) Cycles FPU0 issue queue full
+event:0X141 counters:1 um:zero minimum:1000 name:PM_FPU1_FULL_CYC_GRP20 : (Group 20 pm_isu_queues1) Cycles FPU1 issue queue full
+event:0X142 counters:2 um:zero minimum:1000 name:PM_FXLS0_FULL_CYC_GRP20 : (Group 20 pm_isu_queues1) Cycles FXU0/LS0 queue full
+event:0X143 counters:3 um:zero minimum:1000 name:PM_FXLS1_FULL_CYC_GRP20 : (Group 20 pm_isu_queues1) Cycles FXU1/LS1 queue full
+event:0X144 counters:4 um:zero minimum:10000 name:PM_CYC_GRP20 : (Group 20 pm_isu_queues1) Processor cycles
+event:0X145 counters:5 um:zero minimum:10000 name:PM_INST_CMPL_GRP20 : (Group 20 pm_isu_queues1) Instructions completed
+event:0X146 counters:6 um:zero minimum:1000 name:PM_LSU_LRQ_FULL_CYC_GRP20 : (Group 20 pm_isu_queues1) Cycles LRQ full
+event:0X147 counters:7 um:zero minimum:1000 name:PM_LSU_SRQ_FULL_CYC_GRP20 : (Group 20 pm_isu_queues1) Cycles SRQ full
+
+#Group 21 pm_isu_flow, ISU Instruction Flow Events
+event:0X150 counters:0 um:zero minimum:1000 name:PM_INST_DISP_GRP21 : (Group 21 pm_isu_flow) Instructions dispatched
+event:0X151 counters:1 um:zero minimum:10000 name:PM_CYC_GRP21 : (Group 21 pm_isu_flow) Processor cycles
+event:0X152 counters:2 um:zero minimum:1000 name:PM_FXU0_FIN_GRP21 : (Group 21 pm_isu_flow) FXU0 produced a result
+event:0X153 counters:3 um:zero minimum:1000 name:PM_FXU1_FIN_GRP21 : (Group 21 pm_isu_flow) FXU1 produced a result
+event:0X154 counters:4 um:zero minimum:1000 name:PM_GRP_DISP_VALID_GRP21 : (Group 21 pm_isu_flow) Group dispatch valid
+event:0X155 counters:5 um:zero minimum:1000 name:PM_GRP_DISP_REJECT_GRP21 : (Group 21 pm_isu_flow) Group dispatch rejected
+event:0X156 counters:6 um:zero minimum:10000 name:PM_INST_CMPL_GRP21 : (Group 21 pm_isu_flow) Instructions completed
+event:0X157 counters:7 um:zero minimum:10000 name:PM_CYC_GRP21 : (Group 21 pm_isu_flow) Processor cycles
+
+#Group 22 pm_isu_work, ISU Indicators of Work Blockage
+event:0X160 counters:0 um:zero minimum:1000 name:PM_GCT_EMPTY_CYC_GRP22 : (Group 22 pm_isu_work) Cycles GCT empty
+event:0X161 counters:1 um:zero minimum:1000 name:PM_WORK_HELD_GRP22 : (Group 22 pm_isu_work) Work held
+event:0X162 counters:2 um:zero minimum:1000 name:PM_STOP_COMPLETION_GRP22 : (Group 22 pm_isu_work) Completion stopped
+event:0X163 counters:3 um:zero minimum:1000 name:PM_EE_OFF_EXT_INT_GRP22 : (Group 22 pm_isu_work) Cycles MSR(EE) bit off and external interrupt pending
+event:0X164 counters:4 um:zero minimum:10000 name:PM_CYC_GRP22 : (Group 22 pm_isu_work) Processor cycles
+event:0X165 counters:5 um:zero minimum:10000 name:PM_INST_CMPL_GRP22 : (Group 22 pm_isu_work) Instructions completed
+event:0X166 counters:6 um:zero minimum:1000 name:PM_EE_OFF_GRP22 : (Group 22 pm_isu_work) Cycles MSR(EE) bit off
+event:0X167 counters:7 um:zero minimum:1000 name:PM_EXT_INT_GRP22 : (Group 22 pm_isu_work) External interrupts
+
+#Group 23 pm_serialize, LSU Serializing Events
+event:0X170 counters:0 um:zero minimum:1000 name:PM_SNOOP_TLBIE_GRP23 : (Group 23 pm_serialize) Snoop TLBIE
+event:0X171 counters:1 um:zero minimum:1000 name:PM_STCX_FAIL_GRP23 : (Group 23 pm_serialize) STCX failed
+event:0X172 counters:2 um:zero minimum:1000 name:PM_STCX_PASS_GRP23 : (Group 23 pm_serialize) Stcx passes
+event:0X173 counters:3 um:zero minimum:10000 name:PM_CYC_GRP23 : (Group 23 pm_serialize) Processor cycles
+event:0X174 counters:4 um:zero minimum:1000 name:PM_1PLUS_PPC_CMPL_GRP23 : (Group 23 pm_serialize) One or more PPC instruction completed
+event:0X175 counters:5 um:zero minimum:10000 name:PM_INST_CMPL_GRP23 : (Group 23 pm_serialize) Instructions completed
+event:0X176 counters:6 um:zero minimum:1000 name:PM_LARX_LSU0_GRP23 : (Group 23 pm_serialize) Larx executed on LSU0
+event:0X177 counters:7 um:zero minimum:1000 name:PM_LARX_LSU1_GRP23 : (Group 23 pm_serialize) Larx executed on LSU1
+
+#Group 24 pm_lsubusy, LSU Busy Events
+event:0X180 counters:0 um:zero minimum:1000 name:PM_LSU_SRQ_S0_VALID_GRP24 : (Group 24 pm_lsubusy) SRQ slot 0 valid
+event:0X181 counters:1 um:zero minimum:1000 name:PM_LSU_SRQ_S0_ALLOC_GRP24 : (Group 24 pm_lsubusy) SRQ slot 0 allocated
+event:0X182 counters:2 um:zero minimum:1000 name:PM_LSU0_BUSY_GRP24 : (Group 24 pm_lsubusy) LSU0 busy
+event:0X183 counters:3 um:zero minimum:1000 name:PM_LSU1_BUSY_GRP24 : (Group 24 pm_lsubusy) LSU1 busy
+event:0X184 counters:4 um:zero minimum:1000 name:PM_LSU_LRQ_S0_VALID_GRP24 : (Group 24 pm_lsubusy) LRQ slot 0 valid
+event:0X185 counters:5 um:zero minimum:1000 name:PM_LSU_LRQ_S0_ALLOC_GRP24 : (Group 24 pm_lsubusy) LRQ slot 0 allocated
+event:0X186 counters:6 um:zero minimum:10000 name:PM_INST_CMPL_GRP24 : (Group 24 pm_lsubusy) Instructions completed
+event:0X187 counters:7 um:zero minimum:10000 name:PM_CYC_GRP24 : (Group 24 pm_lsubusy) Processor cycles
+
+#Group 25 pm_lsource2, Information on data source
+event:0X190 counters:0 um:zero minimum:10000 name:PM_INST_CMPL_GRP25 : (Group 25 pm_lsource2) Instructions completed
+event:0X191 counters:1 um:zero minimum:1000 name:PM_L1_DCACHE_RELOAD_VALID_GRP25 : (Group 25 pm_lsource2) L1 reload data source valid
+event:0X192 counters:2 um:zero minimum:10000 name:PM_CYC_GRP25 : (Group 25 pm_lsource2) Processor cycles
+event:0X193 counters:3 um:zero minimum:1000 name:PM_DATA_FROM_L2_GRP25 : (Group 25 pm_lsource2) Data loaded from L2
+event:0X194 counters:4 um:zero minimum:1000 name:PM_DATA_FROM_L25_SHR_GRP25 : (Group 25 pm_lsource2) Data loaded from L2.5 shared
+event:0X195 counters:5 um:zero minimum:1000 name:PM_DATA_FROM_L275_SHR_GRP25 : (Group 25 pm_lsource2) Data loaded from L2.75 shared
+event:0X196 counters:6 um:zero minimum:1000 name:PM_DATA_FROM_L275_MOD_GRP25 : (Group 25 pm_lsource2) Data loaded from L2.75 modified
+event:0X197 counters:7 um:zero minimum:1000 name:PM_DATA_FROM_L25_MOD_GRP25 : (Group 25 pm_lsource2) Data loaded from L2.5 modified
+
+#Group 26 pm_lsource3, Information on data source
+event:0X1A0 counters:0 um:zero minimum:1000 name:PM_DATA_FROM_L3_GRP26 : (Group 26 pm_lsource3) Data loaded from L3
+event:0X1A1 counters:1 um:zero minimum:1000 name:PM_DATA_FROM_MEM_GRP26 : (Group 26 pm_lsource3) Data loaded from memory
+event:0X1A2 counters:2 um:zero minimum:1000 name:PM_DATA_FROM_L35_GRP26 : (Group 26 pm_lsource3) Data loaded from L3.5
+event:0X1A3 counters:3 um:zero minimum:1000 name:PM_DATA_FROM_L2_GRP26 : (Group 26 pm_lsource3) Data loaded from L2
+event:0X1A4 counters:4 um:zero minimum:1000 name:PM_L1_DCACHE_RELOAD_VALID_GRP26 : (Group 26 pm_lsource3) L1 reload data source valid
+event:0X1A5 counters:5 um:zero minimum:10000 name:PM_CYC_GRP26 : (Group 26 pm_lsource3) Processor cycles
+event:0X1A6 counters:6 um:zero minimum:1000 name:PM_DATA_FROM_L275_MOD_GRP26 : (Group 26 pm_lsource3) Data loaded from L2.75 modified
+event:0X1A7 counters:7 um:zero minimum:10000 name:PM_INST_CMPL_GRP26 : (Group 26 pm_lsource3) Instructions completed
+
+#Group 27 pm_isource2, Instruction Source information
+event:0X1B0 counters:0 um:zero minimum:10000 name:PM_INST_CMPL_GRP27 : (Group 27 pm_isource2) Instructions completed
+event:0X1B1 counters:1 um:zero minimum:10000 name:PM_CYC_GRP27 : (Group 27 pm_isource2) Processor cycles
+event:0X1B2 counters:2 um:zero minimum:1000 name:PM_INST_FROM_L2_GRP27 : (Group 27 pm_isource2) Instructions fetched from L2
+event:0X1B3 counters:3 um:zero minimum:1000 name:PM_INST_FROM_L35_GRP27 : (Group 27 pm_isource2) Instructions fetched from L3.5
+event:0X1B4 counters:4 um:zero minimum:1000 name:PM_INST_FROM_L3_GRP27 : (Group 27 pm_isource2) Instruction fetched from L3
+event:0X1B5 counters:5 um:zero minimum:1000 name:PM_INST_FROM_L1_GRP27 : (Group 27 pm_isource2) Instruction fetched from L1
+event:0X1B6 counters:6 um:zero minimum:1000 name:PM_INST_FROM_PREF_GRP27 : (Group 27 pm_isource2) Instructions fetched from prefetch
+event:0X1B7 counters:7 um:zero minimum:1000 name:PM_0INST_FETCH_GRP27 : (Group 27 pm_isource2) No instructions fetched
+
+#Group 28 pm_isource3, Instruction Source information
+event:0X1C0 counters:0 um:zero minimum:1000 name:PM_INST_FROM_MEM_GRP28 : (Group 28 pm_isource3) Instruction fetched from memory
+event:0X1C1 counters:1 um:zero minimum:1000 name:PM_INST_FROM_L25_L275_GRP28 : (Group 28 pm_isource3) Instruction fetched from L2.5/L2.75
+event:0X1C2 counters:2 um:zero minimum:1000 name:PM_INST_FROM_L2_GRP28 : (Group 28 pm_isource3) Instructions fetched from L2
+event:0X1C3 counters:3 um:zero minimum:1000 name:PM_INST_FROM_L35_GRP28 : (Group 28 pm_isource3) Instructions fetched from L3.5
+event:0X1C4 counters:4 um:zero minimum:1000 name:PM_INST_FROM_L3_GRP28 : (Group 28 pm_isource3) Instruction fetched from L3
+event:0X1C5 counters:5 um:zero minimum:1000 name:PM_INST_FROM_L1_GRP28 : (Group 28 pm_isource3) Instruction fetched from L1
+event:0X1C6 counters:6 um:zero minimum:10000 name:PM_CYC_GRP28 : (Group 28 pm_isource3) Processor cycles
+event:0X1C7 counters:7 um:zero minimum:10000 name:PM_INST_CMPL_GRP28 : (Group 28 pm_isource3) Instructions completed
+
+#Group 29 pm_fpu3, Floating Point events by unit
+event:0X1D0 counters:0 um:zero minimum:1000 name:PM_FPU0_FDIV_GRP29 : (Group 29 pm_fpu3) FPU0 executed FDIV instruction
+event:0X1D1 counters:1 um:zero minimum:1000 name:PM_FPU1_FDIV_GRP29 : (Group 29 pm_fpu3) FPU1 executed FDIV instruction
+event:0X1D2 counters:2 um:zero minimum:1000 name:PM_FPU0_FRSP_FCONV_GRP29 : (Group 29 pm_fpu3) FPU0 executed FRSP or FCONV instructions
+event:0X1D3 counters:3 um:zero minimum:1000 name:PM_FPU1_FRSP_FCONV_GRP29 : (Group 29 pm_fpu3) FPU1 executed FRSP or FCONV instructions
+event:0X1D4 counters:4 um:zero minimum:1000 name:PM_FPU0_FMA_GRP29 : (Group 29 pm_fpu3) FPU0 executed multiply-add instruction
+event:0X1D5 counters:5 um:zero minimum:1000 name:PM_FPU1_FMA_GRP29 : (Group 29 pm_fpu3) FPU1 executed multiply-add instruction
+event:0X1D6 counters:6 um:zero minimum:10000 name:PM_INST_CMPL_GRP29 : (Group 29 pm_fpu3) Instructions completed
+event:0X1D7 counters:7 um:zero minimum:10000 name:PM_CYC_GRP29 : (Group 29 pm_fpu3) Processor cycles
+
+#Group 30 pm_fpu4, Floating Point events by unit
+event:0X1E0 counters:0 um:zero minimum:1000 name:PM_FPU0_FSQRT_GRP30 : (Group 30 pm_fpu4) FPU0 executed FSQRT instruction
+event:0X1E1 counters:1 um:zero minimum:1000 name:PM_FPU1_FSQRT_GRP30 : (Group 30 pm_fpu4) FPU1 executed FSQRT instruction
+event:0X1E2 counters:2 um:zero minimum:1000 name:PM_FPU0_FIN_GRP30 : (Group 30 pm_fpu4) FPU0 produced a result
+event:0X1E3 counters:3 um:zero minimum:1000 name:PM_FPU1_FIN_GRP30 : (Group 30 pm_fpu4) FPU1 produced a result
+event:0X1E4 counters:4 um:zero minimum:1000 name:PM_FPU0_ALL_GRP30 : (Group 30 pm_fpu4) FPU0 executed add, mult, sub, cmp or sel instruction
+event:0X1E5 counters:5 um:zero minimum:1000 name:PM_FPU1_ALL_GRP30 : (Group 30 pm_fpu4) FPU1 executed add, mult, sub, cmp or sel instruction
+event:0X1E6 counters:6 um:zero minimum:10000 name:PM_INST_CMPL_GRP30 : (Group 30 pm_fpu4) Instructions completed
+event:0X1E7 counters:7 um:zero minimum:10000 name:PM_CYC_GRP30 : (Group 30 pm_fpu4) Processor cycles
+
+#Group 31 pm_fpu5, Floating Point events by unit
+event:0X1F0 counters:0 um:zero minimum:1000 name:PM_FPU0_DENORM_GRP31 : (Group 31 pm_fpu5) FPU0 received denormalized data
+event:0X1F1 counters:1 um:zero minimum:1000 name:PM_FPU1_DENORM_GRP31 : (Group 31 pm_fpu5) FPU1 received denormalized data
+event:0X1F2 counters:2 um:zero minimum:1000 name:PM_FPU0_FMOV_FEST_GRP31 : (Group 31 pm_fpu5) FPU0 executed FMOV or FEST instructions
+event:0X1F3 counters:3 um:zero minimum:1000 name:PM_FPU1_FMOV_FEST_GRP31 : (Group 31 pm_fpu5) FPU1 executing FMOV or FEST instructions
+event:0X1F4 counters:4 um:zero minimum:10000 name:PM_CYC_GRP31 : (Group 31 pm_fpu5) Processor cycles
+event:0X1F5 counters:5 um:zero minimum:10000 name:PM_INST_CMPL_GRP31 : (Group 31 pm_fpu5) Instructions completed
+event:0X1F6 counters:6 um:zero minimum:1000 name:PM_FPU0_FEST_GRP31 : (Group 31 pm_fpu5) FPU0 executed FEST instruction
+event:0X1F7 counters:7 um:zero minimum:1000 name:PM_FPU1_FEST_GRP31 : (Group 31 pm_fpu5) FPU1 executed FEST instruction
+
+#Group 32 pm_fpu6, Floating Point events by unit
+event:0X200 counters:0 um:zero minimum:1000 name:PM_FPU0_SINGLE_GRP32 : (Group 32 pm_fpu6) FPU0 executed single precision instruction
+event:0X201 counters:1 um:zero minimum:1000 name:PM_FPU1_SINGLE_GRP32 : (Group 32 pm_fpu6) FPU1 executed single precision instruction
+event:0X202 counters:2 um:zero minimum:1000 name:PM_LSU0_LDF_GRP32 : (Group 32 pm_fpu6) LSU0 executed Floating Point load instruction
+event:0X203 counters:3 um:zero minimum:1000 name:PM_LSU1_LDF_GRP32 : (Group 32 pm_fpu6) LSU1 executed Floating Point load instruction
+event:0X204 counters:4 um:zero minimum:1000 name:PM_FPU0_STF_GRP32 : (Group 32 pm_fpu6) FPU0 executed store instruction
+event:0X205 counters:5 um:zero minimum:1000 name:PM_FPU1_STF_GRP32 : (Group 32 pm_fpu6) FPU1 executed store instruction
+event:0X206 counters:6 um:zero minimum:10000 name:PM_CYC_GRP32 : (Group 32 pm_fpu6) Processor cycles
+event:0X207 counters:7 um:zero minimum:10000 name:PM_INST_CMPL_GRP32 : (Group 32 pm_fpu6) Instructions completed
+
+#Group 33 pm_fpu7, Floating Point events by unit
+event:0X210 counters:0 um:zero minimum:1000 name:PM_FPU0_STALL3_GRP33 : (Group 33 pm_fpu7) FPU0 stalled in pipe3
+event:0X211 counters:1 um:zero minimum:1000 name:PM_FPU1_STALL3_GRP33 : (Group 33 pm_fpu7) FPU1 stalled in pipe3
+event:0X212 counters:2 um:zero minimum:1000 name:PM_FPU0_FIN_GRP33 : (Group 33 pm_fpu7) FPU0 produced a result
+event:0X213 counters:3 um:zero minimum:1000 name:PM_FPU1_FIN_GRP33 : (Group 33 pm_fpu7) FPU1 produced a result
+event:0X214 counters:4 um:zero minimum:10000 name:PM_CYC_GRP33 : (Group 33 pm_fpu7) Processor cycles
+event:0X215 counters:5 um:zero minimum:10000 name:PM_INST_CMPL_GRP33 : (Group 33 pm_fpu7) Instructions completed
+event:0X216 counters:6 um:zero minimum:10000 name:PM_CYC_GRP33 : (Group 33 pm_fpu7) Processor cycles
+event:0X217 counters:7 um:zero minimum:1000 name:PM_FPU0_FPSCR_GRP33 : (Group 33 pm_fpu7) FPU0 executed FPSCR instruction
+
+#Group 34 pm_fxu, Fix Point Unit events
+event:0X220 counters:0 um:zero minimum:10000 name:PM_INST_CMPL_GRP34 : (Group 34 pm_fxu) Instructions completed
+event:0X221 counters:1 um:zero minimum:10000 name:PM_CYC_GRP34 : (Group 34 pm_fxu) Processor cycles
+event:0X222 counters:2 um:zero minimum:1000 name:PM_FXU_FIN_GRP34 : (Group 34 pm_fxu) FXU produced a result
+event:0X223 counters:3 um:zero minimum:1000 name:PM_FXU1_BUSY_FXU0_IDLE_GRP34 : (Group 34 pm_fxu) FXU1 busy FXU0 idle
+event:0X224 counters:4 um:zero minimum:1000 name:PM_FXU_IDLE_GRP34 : (Group 34 pm_fxu) FXU idle
+event:0X225 counters:5 um:zero minimum:1000 name:PM_FXU_BUSY_GRP34 : (Group 34 pm_fxu) FXU busy
+event:0X226 counters:6 um:zero minimum:1000 name:PM_FXU0_BUSY_FXU1_IDLE_GRP34 : (Group 34 pm_fxu) FXU0 busy FXU1 idle
+event:0X227 counters:7 um:zero minimum:1000 name:PM_FXLS_FULL_CYC_GRP34 : (Group 34 pm_fxu) Cycles FXLS queue is full
+
+#Group 35 pm_lsu_lmq, LSU Load Miss Queue Events
+event:0X230 counters:0 um:zero minimum:1000 name:PM_LSU_LMQ_LHR_MERGE_GRP35 : (Group 35 pm_lsu_lmq) LMQ LHR merges
+event:0X231 counters:1 um:zero minimum:1000 name:PM_LSU_LMQ_FULL_CYC_GRP35 : (Group 35 pm_lsu_lmq) Cycles LMQ full
+event:0X232 counters:2 um:zero minimum:1000 name:PM_LSU_LMQ_S0_ALLOC_GRP35 : (Group 35 pm_lsu_lmq) LMQ slot 0 allocated
+event:0X233 counters:3 um:zero minimum:1000 name:PM_LSU_LMQ_S0_VALID_GRP35 : (Group 35 pm_lsu_lmq) LMQ slot 0 valid
+event:0X234 counters:4 um:zero minimum:10000 name:PM_CYC_GRP35 : (Group 35 pm_lsu_lmq) Processor cycles
+event:0X235 counters:5 um:zero minimum:10000 name:PM_INST_CMPL_GRP35 : (Group 35 pm_lsu_lmq) Instructions completed
+event:0X236 counters:6 um:zero minimum:1000 name:PM_LSU_SRQ_SYNC_CYC_GRP35 : (Group 35 pm_lsu_lmq) SRQ sync duration
+event:0X237 counters:7 um:zero minimum:1000 name:PM_DATA_TABLEWALK_CYC_GRP35 : (Group 35 pm_lsu_lmq) Cycles doing data tablewalks
+
+#Group 36 pm_lsu_flush, LSU Flush Events
+event:0X240 counters:0 um:zero minimum:1000 name:PM_LSU0_FLUSH_LRQ_GRP36 : (Group 36 pm_lsu_flush) LSU0 LRQ flushes
+event:0X241 counters:1 um:zero minimum:1000 name:PM_LSU1_FLUSH_LRQ_GRP36 : (Group 36 pm_lsu_flush) LSU1 LRQ flushes
+event:0X242 counters:2 um:zero minimum:10000 name:PM_CYC_GRP36 : (Group 36 pm_lsu_flush) Processor cycles
+event:0X243 counters:3 um:zero minimum:10000 name:PM_CYC_GRP36 : (Group 36 pm_lsu_flush) Processor cycles
+event:0X244 counters:4 um:zero minimum:1000 name:PM_LSU0_FLUSH_SRQ_GRP36 : (Group 36 pm_lsu_flush) LSU0 SRQ flushes
+event:0X245 counters:5 um:zero minimum:1000 name:PM_LSU1_FLUSH_SRQ_GRP36 : (Group 36 pm_lsu_flush) LSU1 SRQ flushes
+event:0X246 counters:6 um:zero minimum:10000 name:PM_INST_CMPL_GRP36 : (Group 36 pm_lsu_flush) Instructions completed
+event:0X247 counters:7 um:zero minimum:10000 name:PM_CYC_GRP36 : (Group 36 pm_lsu_flush) Processor cycles
+
+#Group 37 pm_lsu_load1, LSU Load Events
+event:0X250 counters:0 um:zero minimum:1000 name:PM_LSU0_FLUSH_ULD_GRP37 : (Group 37 pm_lsu_load1) LSU0 unaligned load flushes
+event:0X251 counters:1 um:zero minimum:1000 name:PM_LSU1_FLUSH_ULD_GRP37 : (Group 37 pm_lsu_load1) LSU1 unaligned load flushes
+event:0X252 counters:2 um:zero minimum:1000 name:PM_LD_REF_L1_LSU0_GRP37 : (Group 37 pm_lsu_load1) LSU0 L1 D cache load references
+event:0X253 counters:3 um:zero minimum:1000 name:PM_LD_REF_L1_LSU1_GRP37 : (Group 37 pm_lsu_load1) LSU1 L1 D cache load references
+event:0X254 counters:4 um:zero minimum:10000 name:PM_CYC_GRP37 : (Group 37 pm_lsu_load1) Processor cycles
+event:0X255 counters:5 um:zero minimum:10000 name:PM_INST_CMPL_GRP37 : (Group 37 pm_lsu_load1) Instructions completed
+event:0X256 counters:6 um:zero minimum:1000 name:PM_LD_MISS_L1_LSU0_GRP37 : (Group 37 pm_lsu_load1) LSU0 L1 D cache load misses
+event:0X257 counters:7 um:zero minimum:1000 name:PM_LD_MISS_L1_LSU1_GRP37 : (Group 37 pm_lsu_load1) LSU1 L1 D cache load misses
+
+#Group 38 pm_lsu_store1, LSU Store Events
+event:0X260 counters:0 um:zero minimum:1000 name:PM_LSU0_FLUSH_UST_GRP38 : (Group 38 pm_lsu_store1) LSU0 unaligned store flushes
+event:0X261 counters:1 um:zero minimum:1000 name:PM_LSU1_FLUSH_UST_GRP38 : (Group 38 pm_lsu_store1) LSU1 unaligned store flushes
+event:0X262 counters:2 um:zero minimum:1000 name:PM_ST_REF_L1_LSU0_GRP38 : (Group 38 pm_lsu_store1) LSU0 L1 D cache store references
+event:0X263 counters:3 um:zero minimum:1000 name:PM_ST_REF_L1_LSU1_GRP38 : (Group 38 pm_lsu_store1) LSU1 L1 D cache store references
+event:0X264 counters:4 um:zero minimum:10000 name:PM_CYC_GRP38 : (Group 38 pm_lsu_store1) Processor cycles
+event:0X265 counters:5 um:zero minimum:10000 name:PM_INST_CMPL_GRP38 : (Group 38 pm_lsu_store1) Instructions completed
+event:0X266 counters:6 um:zero minimum:1000 name:PM_ST_MISS_L1_GRP38 : (Group 38 pm_lsu_store1) L1 D cache store misses
+event:0X267 counters:7 um:zero minimum:1000 name:PM_DC_INV_L2_GRP38 : (Group 38 pm_lsu_store1) L1 D cache entries invalidated from L2
+
+#Group 39 pm_lsu_store2, LSU Store Events
+event:0X270 counters:0 um:zero minimum:1000 name:PM_LSU0_SRQ_STFWD_GRP39 : (Group 39 pm_lsu_store2) LSU0 SRQ store forwarded
+event:0X271 counters:1 um:zero minimum:1000 name:PM_LSU1_SRQ_STFWD_GRP39 : (Group 39 pm_lsu_store2) LSU1 SRQ store forwarded
+event:0X272 counters:2 um:zero minimum:1000 name:PM_ST_REF_L1_LSU0_GRP39 : (Group 39 pm_lsu_store2) LSU0 L1 D cache store references
+event:0X273 counters:3 um:zero minimum:1000 name:PM_ST_REF_L1_LSU1_GRP39 : (Group 39 pm_lsu_store2) LSU1 L1 D cache store references
+event:0X274 counters:4 um:zero minimum:1000 name:PM_ST_MISS_L1_GRP39 : (Group 39 pm_lsu_store2) L1 D cache store misses
+event:0X275 counters:5 um:zero minimum:10000 name:PM_CYC_GRP39 : (Group 39 pm_lsu_store2) Processor cycles
+event:0X276 counters:6 um:zero minimum:10000 name:PM_INST_CMPL_GRP39 : (Group 39 pm_lsu_store2) Instructions completed
+event:0X277 counters:7 um:zero minimum:10000 name:PM_CYC_GRP39 : (Group 39 pm_lsu_store2) Processor cycles
+
+#Group 40 pm_lsu7, Information on the Load Store Unit
+event:0X280 counters:0 um:zero minimum:1000 name:PM_LSU0_DERAT_MISS_GRP40 : (Group 40 pm_lsu7) LSU0 DERAT misses
+event:0X281 counters:1 um:zero minimum:1000 name:PM_LSU1_DERAT_MISS_GRP40 : (Group 40 pm_lsu7) LSU1 DERAT misses
+event:0X282 counters:2 um:zero minimum:10000 name:PM_CYC_GRP40 : (Group 40 pm_lsu7) Processor cycles
+event:0X283 counters:3 um:zero minimum:10000 name:PM_CYC_GRP40 : (Group 40 pm_lsu7) Processor cycles
+event:0X284 counters:4 um:zero minimum:1000 name:PM_L1_DCACHE_RELOAD_VALID_GRP40 : (Group 40 pm_lsu7) L1 reload data source valid
+event:0X285 counters:5 um:zero minimum:10000 name:PM_CYC_GRP40 : (Group 40 pm_lsu7) Processor cycles
+event:0X286 counters:6 um:zero minimum:10000 name:PM_INST_CMPL_GRP40 : (Group 40 pm_lsu7) Instructions completed
+event:0X287 counters:7 um:zero minimum:10000 name:PM_CYC_GRP40 : (Group 40 pm_lsu7) Processor cycles
+
+#Group 41 pm_dpfetch, Data Prefetch Events
+event:0X290 counters:0 um:zero minimum:1000 name:PM_DC_PREF_STREAM_ALLOC_GRP41 : (Group 41 pm_dpfetch) D cache new prefetch stream allocated
+event:0X291 counters:1 um:zero minimum:1000 name:PM_DC_PREF_L2_CLONE_L3_GRP41 : (Group 41 pm_dpfetch) L2 prefetch cloned with L3
+event:0X292 counters:2 um:zero minimum:1000 name:PM_L2_PREF_GRP41 : (Group 41 pm_dpfetch) L2 cache prefetches
+event:0X293 counters:3 um:zero minimum:1000 name:PM_L1_PREF_GRP41 : (Group 41 pm_dpfetch) L1 cache data prefetches
+event:0X294 counters:4 um:zero minimum:10000 name:PM_CYC_GRP41 : (Group 41 pm_dpfetch) Processor cycles
+event:0X295 counters:5 um:zero minimum:10000 name:PM_INST_CMPL_GRP41 : (Group 41 pm_dpfetch) Instructions completed
+event:0X296 counters:6 um:zero minimum:10000 name:PM_CYC_GRP41 : (Group 41 pm_dpfetch) Processor cycles
+event:0X297 counters:7 um:zero minimum:1000 name:PM_DC_PREF_OUT_STREAMS_GRP41 : (Group 41 pm_dpfetch) Out of prefetch streams
+
+#Group 42 pm_misc, Misc Events for testing
+event:0X2A0 counters:0 um:zero minimum:1000 name:PM_GCT_EMPTY_CYC_GRP42 : (Group 42 pm_misc) Cycles GCT empty
+event:0X2A1 counters:1 um:zero minimum:1000 name:PM_LSU_LMQ_SRQ_EMPTY_CYC_GRP42 : (Group 42 pm_misc) Cycles LMQ and SRQ empty
+event:0X2A2 counters:2 um:zero minimum:1000 name:PM_HV_CYC_GRP42 : (Group 42 pm_misc) Hypervisor Cycles
+event:0X2A3 counters:3 um:zero minimum:10000 name:PM_CYC_GRP42 : (Group 42 pm_misc) Processor cycles
+event:0X2A4 counters:4 um:zero minimum:1000 name:PM_1PLUS_PPC_CMPL_GRP42 : (Group 42 pm_misc) One or more PPC instruction completed
+event:0X2A5 counters:5 um:zero minimum:10000 name:PM_INST_CMPL_GRP42 : (Group 42 pm_misc) Instructions completed
+event:0X2A6 counters:6 um:zero minimum:1000 name:PM_GRP_CMPL_GRP42 : (Group 42 pm_misc) Group completed
+event:0X2A7 counters:7 um:zero minimum:1000 name:PM_TB_BIT_TRANS_GRP42 : (Group 42 pm_misc) Time Base bit transition
+
+#Group 43 pm_mark1, Information on marked instructions
+event:0X2B0 counters:0 um:zero minimum:1000 name:PM_MRK_LD_MISS_L1_GRP43 : (Group 43 pm_mark1) Marked L1 D cache load misses
+event:0X2B1 counters:1 um:zero minimum:1000 name:PM_THRESH_TIMEO_GRP43 : (Group 43 pm_mark1) Threshold timeout
+event:0X2B2 counters:2 um:zero minimum:10000 name:PM_CYC_GRP43 : (Group 43 pm_mark1) Processor cycles
+event:0X2B3 counters:3 um:zero minimum:1000 name:PM_MRK_GRP_CMPL_GRP43 : (Group 43 pm_mark1) Marked group completed
+event:0X2B4 counters:4 um:zero minimum:1000 name:PM_GRP_MRK_GRP43 : (Group 43 pm_mark1) Group marked in IDU
+event:0X2B5 counters:5 um:zero minimum:1000 name:PM_MRK_GRP_ISSUED_GRP43 : (Group 43 pm_mark1) Marked group issued
+event:0X2B6 counters:6 um:zero minimum:1000 name:PM_MRK_INST_FIN_GRP43 : (Group 43 pm_mark1) Marked instruction finished
+event:0X2B7 counters:7 um:zero minimum:10000 name:PM_INST_CMPL_GRP43 : (Group 43 pm_mark1) Instructions completed
+
+#Group 44 pm_mark2, Marked Instructions Processing Flow
+event:0X2C0 counters:0 um:zero minimum:1000 name:PM_MRK_GRP_DISP_GRP44 : (Group 44 pm_mark2) Marked group dispatched
+event:0X2C1 counters:1 um:zero minimum:1000 name:PM_MRK_BRU_FIN_GRP44 : (Group 44 pm_mark2) Marked instruction BRU processing finished
+event:0X2C2 counters:2 um:zero minimum:10000 name:PM_CYC_GRP44 : (Group 44 pm_mark2) Processor cycles
+event:0X2C3 counters:3 um:zero minimum:1000 name:PM_MRK_CRU_FIN_GRP44 : (Group 44 pm_mark2) Marked instruction CRU processing finished
+event:0X2C4 counters:4 um:zero minimum:1000 name:PM_GRP_MRK_GRP44 : (Group 44 pm_mark2) Group marked in IDU
+event:0X2C5 counters:5 um:zero minimum:1000 name:PM_MRK_FXU_FIN_GRP44 : (Group 44 pm_mark2) Marked instruction FXU processing finished
+event:0X2C6 counters:6 um:zero minimum:1000 name:PM_MRK_FPU_FIN_GRP44 : (Group 44 pm_mark2) Marked instruction FPU processing finished
+event:0X2C7 counters:7 um:zero minimum:1000 name:PM_MRK_LSU_FIN_GRP44 : (Group 44 pm_mark2) Marked instruction LSU processing finished
+
+#Group 45 pm_mark3, Marked Stores Processing Flow
+event:0X2D0 counters:0 um:zero minimum:1000 name:PM_MRK_ST_CMPL_GRP45 : (Group 45 pm_mark3) Marked store instruction completed
+event:0X2D1 counters:1 um:zero minimum:10000 name:PM_CYC_GRP45 : (Group 45 pm_mark3) Processor cycles
+event:0X2D2 counters:2 um:zero minimum:1000 name:PM_MRK_ST_CMPL_INT_GRP45 : (Group 45 pm_mark3) Marked store completed with intervention
+event:0X2D3 counters:3 um:zero minimum:1000 name:PM_MRK_GRP_CMPL_GRP45 : (Group 45 pm_mark3) Marked group completed
+event:0X2D4 counters:4 um:zero minimum:1000 name:PM_MRK_GRP_TIMEO_GRP45 : (Group 45 pm_mark3) Marked group completion timeout
+event:0X2D5 counters:5 um:zero minimum:1000 name:PM_MRK_ST_GPS_GRP45 : (Group 45 pm_mark3) Marked store sent to GPS
+event:0X2D6 counters:6 um:zero minimum:1000 name:PM_MRK_LSU_SRQ_INST_VALID_GRP45 : (Group 45 pm_mark3) Marked instruction valid in SRQ
+event:0X2D7 counters:7 um:zero minimum:10000 name:PM_INST_CMPL_GRP45 : (Group 45 pm_mark3) Instructions completed
+
+#Group 46 pm_mark4, Marked Loads Processing FLow
+event:0X2E0 counters:0 um:zero minimum:1000 name:PM_MRK_LD_MISS_L1_GRP46 : (Group 46 pm_mark4) Marked L1 D cache load misses
+event:0X2E1 counters:1 um:zero minimum:10000 name:PM_CYC_GRP46 : (Group 46 pm_mark4) Processor cycles
+event:0X2E2 counters:2 um:zero minimum:1000 name:PM_MRK_LSU_FLUSH_LRQ_GRP46 : (Group 46 pm_mark4) Marked LRQ flushes
+event:0X2E3 counters:3 um:zero minimum:1000 name:PM_MRK_LSU_FLUSH_SRQ_GRP46 : (Group 46 pm_mark4) Marked SRQ flushes
+event:0X2E4 counters:4 um:zero minimum:1000 name:PM_MRK_GRP_TIMEO_GRP46 : (Group 46 pm_mark4) Marked group completion timeout
+event:0X2E5 counters:5 um:zero minimum:1000 name:PM_MRK_GRP_ISSUED_GRP46 : (Group 46 pm_mark4) Marked group issued
+event:0X2E6 counters:6 um:zero minimum:10000 name:PM_INST_CMPL_GRP46 : (Group 46 pm_mark4) Instructions completed
+event:0X2E7 counters:7 um:zero minimum:1000 name:PM_MRK_LSU_FLUSH_ULD_GRP46 : (Group 46 pm_mark4) Marked unaligned load flushes
+
+#Group 47 pm_mark_lsource, Information on marked data source
+event:0X2F0 counters:0 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L3_GRP47 : (Group 47 pm_mark_lsource) Marked data loaded from L3
+event:0X2F1 counters:1 um:zero minimum:1000 name:PM_MRK_DATA_FROM_MEM_GRP47 : (Group 47 pm_mark_lsource) Marked data loaded from memory
+event:0X2F2 counters:2 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L35_GRP47 : (Group 47 pm_mark_lsource) Marked data loaded from L3.5
+event:0X2F3 counters:3 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L2_GRP47 : (Group 47 pm_mark_lsource) Marked data loaded from L2
+event:0X2F4 counters:4 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L25_SHR_GRP47 : (Group 47 pm_mark_lsource) Marked data loaded from L2.5 shared
+event:0X2F5 counters:5 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L275_SHR_GRP47 : (Group 47 pm_mark_lsource) Marked data loaded from L2.75 shared
+event:0X2F6 counters:6 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L275_MOD_GRP47 : (Group 47 pm_mark_lsource) Marked data loaded from L2.75 modified
+event:0X2F7 counters:7 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L25_MOD_GRP47 : (Group 47 pm_mark_lsource) Marked data loaded from L2.5 modified
+
+#Group 48 pm_mark_lsource2, Information on marked data source
+event:0X300 counters:0 um:zero minimum:10000 name:PM_INST_CMPL_GRP48 : (Group 48 pm_mark_lsource2) Instructions completed
+event:0X301 counters:1 um:zero minimum:10000 name:PM_CYC_GRP48 : (Group 48 pm_mark_lsource2) Processor cycles
+event:0X302 counters:2 um:zero minimum:1000 name:PM_MRK_L1_RELOAD_VALID_GRP48 : (Group 48 pm_mark_lsource2) Marked L1 reload data source valid
+event:0X303 counters:3 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L2_GRP48 : (Group 48 pm_mark_lsource2) Marked data loaded from L2
+event:0X304 counters:4 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L25_SHR_GRP48 : (Group 48 pm_mark_lsource2) Marked data loaded from L2.5 shared
+event:0X305 counters:5 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L275_SHR_GRP48 : (Group 48 pm_mark_lsource2) Marked data loaded from L2.75 shared
+event:0X306 counters:6 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L275_MOD_GRP48 : (Group 48 pm_mark_lsource2) Marked data loaded from L2.75 modified
+event:0X307 counters:7 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L25_MOD_GRP48 : (Group 48 pm_mark_lsource2) Marked data loaded from L2.5 modified
+
+#Group 49 pm_mark_lsource3, Information on marked data source
+event:0X310 counters:0 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L3_GRP49 : (Group 49 pm_mark_lsource3) Marked data loaded from L3
+event:0X311 counters:1 um:zero minimum:1000 name:PM_MRK_DATA_FROM_MEM_GRP49 : (Group 49 pm_mark_lsource3) Marked data loaded from memory
+event:0X312 counters:2 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L35_GRP49 : (Group 49 pm_mark_lsource3) Marked data loaded from L3.5
+event:0X313 counters:3 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L2_GRP49 : (Group 49 pm_mark_lsource3) Marked data loaded from L2
+event:0X314 counters:4 um:zero minimum:10000 name:PM_CYC_GRP49 : (Group 49 pm_mark_lsource3) Processor cycles
+event:0X315 counters:5 um:zero minimum:10000 name:PM_INST_CMPL_GRP49 : (Group 49 pm_mark_lsource3) Instructions completed
+event:0X316 counters:6 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L275_MOD_GRP49 : (Group 49 pm_mark_lsource3) Marked data loaded from L2.75 modified
+event:0X317 counters:7 um:zero minimum:1000 name:PM_MRK_L1_RELOAD_VALID_GRP49 : (Group 49 pm_mark_lsource3) Marked L1 reload data source valid
+
+#Group 50 pm_lsu_mark1, Load Store Unit Marked Events
+event:0X320 counters:0 um:zero minimum:1000 name:PM_MRK_ST_MISS_L1_GRP50 : (Group 50 pm_lsu_mark1) Marked L1 D cache store misses
+event:0X321 counters:1 um:zero minimum:1000 name:PM_MRK_IMR_RELOAD_GRP50 : (Group 50 pm_lsu_mark1) Marked IMR reloaded
+event:0X322 counters:2 um:zero minimum:1000 name:PM_MRK_LSU0_FLUSH_ULD_GRP50 : (Group 50 pm_lsu_mark1) LSU0 marked unaligned load flushes
+event:0X323 counters:3 um:zero minimum:1000 name:PM_MRK_LSU1_FLUSH_ULD_GRP50 : (Group 50 pm_lsu_mark1) LSU1 marked unaligned load flushes
+event:0X324 counters:4 um:zero minimum:10000 name:PM_CYC_GRP50 : (Group 50 pm_lsu_mark1) Processor cycles
+event:0X325 counters:5 um:zero minimum:10000 name:PM_INST_CMPL_GRP50 : (Group 50 pm_lsu_mark1) Instructions completed
+event:0X326 counters:6 um:zero minimum:1000 name:PM_MRK_LSU0_FLUSH_UST_GRP50 : (Group 50 pm_lsu_mark1) LSU0 marked unaligned store flushes
+event:0X327 counters:7 um:zero minimum:1000 name:PM_MRK_LSU1_FLUSH_UST_GRP50 : (Group 50 pm_lsu_mark1) LSU1 marked unaligned store flushes
+
+#Group 51 pm_lsu_mark2, Load Store Unit Marked Events
+event:0X330 counters:0 um:zero minimum:1000 name:PM_MRK_LD_MISS_L1_LSU0_GRP51 : (Group 51 pm_lsu_mark2) LSU0 L1 D cache load misses
+event:0X331 counters:1 um:zero minimum:1000 name:PM_MRK_LD_MISS_L1_LSU1_GRP51 : (Group 51 pm_lsu_mark2) LSU1 L1 D cache load misses
+event:0X332 counters:2 um:zero minimum:1000 name:PM_MRK_LSU0_FLUSH_LRQ_GRP51 : (Group 51 pm_lsu_mark2) LSU0 marked LRQ flushes
+event:0X333 counters:3 um:zero minimum:1000 name:PM_MRK_LSU1_FLUSH_LRQ_GRP51 : (Group 51 pm_lsu_mark2) LSU1 marked LRQ flushes
+event:0X334 counters:4 um:zero minimum:10000 name:PM_CYC_GRP51 : (Group 51 pm_lsu_mark2) Processor cycles
+event:0X335 counters:5 um:zero minimum:10000 name:PM_INST_CMPL_GRP51 : (Group 51 pm_lsu_mark2) Instructions completed
+event:0X336 counters:6 um:zero minimum:1000 name:PM_MRK_LSU0_FLUSH_SRQ_GRP51 : (Group 51 pm_lsu_mark2) LSU0 marked SRQ flushes
+event:0X337 counters:7 um:zero minimum:1000 name:PM_MRK_LSU1_FLUSH_SRQ_GRP51 : (Group 51 pm_lsu_mark2) LSU1 marked SRQ flushes
+
+#Group 52 pm_lsu_mark3, Load Store Unit Marked Events
+event:0X340 counters:0 um:zero minimum:1000 name:PM_MRK_STCX_FAIL_GRP52 : (Group 52 pm_lsu_mark3) Marked STCX failed
+event:0X341 counters:1 um:zero minimum:10000 name:PM_CYC_GRP52 : (Group 52 pm_lsu_mark3) Processor cycles
+event:0X342 counters:2 um:zero minimum:1000 name:PM_MRK_LSU0_INST_FIN_GRP52 : (Group 52 pm_lsu_mark3) LSU0 finished a marked instruction
+event:0X343 counters:3 um:zero minimum:1000 name:PM_MRK_LSU1_INST_FIN_GRP52 : (Group 52 pm_lsu_mark3) LSU1 finished a marked instruction
+event:0X344 counters:4 um:zero minimum:10000 name:PM_CYC_GRP52 : (Group 52 pm_lsu_mark3) Processor cycles
+event:0X345 counters:5 um:zero minimum:1000 name:PM_MRK_GRP_ISSUED_GRP52 : (Group 52 pm_lsu_mark3) Marked group issued
+event:0X346 counters:6 um:zero minimum:1000 name:PM_MRK_INST_FIN_GRP52 : (Group 52 pm_lsu_mark3) Marked instruction finished
+event:0X347 counters:7 um:zero minimum:10000 name:PM_INST_CMPL_GRP52 : (Group 52 pm_lsu_mark3) Instructions completed
+
+#Group 53 pm_threshold, Group for pipeline threshold studies
+event:0X350 counters:0 um:zero minimum:1000 name:PM_LSU_LMQ_LHR_MERGE_GRP53 : (Group 53 pm_threshold) LMQ LHR merges
+event:0X351 counters:1 um:zero minimum:1000 name:PM_THRESH_TIMEO_GRP53 : (Group 53 pm_threshold) Threshold timeout
+event:0X352 counters:2 um:zero minimum:1000 name:PM_LSU_LMQ_S0_VALID_GRP53 : (Group 53 pm_threshold) LMQ slot 0 valid
+event:0X353 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP53 : (Group 53 pm_threshold) Instructions completed
+event:0X354 counters:4 um:zero minimum:10000 name:PM_CYC_GRP53 : (Group 53 pm_threshold) Processor cycles
+event:0X355 counters:5 um:zero minimum:1000 name:PM_MRK_GRP_ISSUED_GRP53 : (Group 53 pm_threshold) Marked group issued
+event:0X356 counters:6 um:zero minimum:1000 name:PM_GRP_CMPL_GRP53 : (Group 53 pm_threshold) Group completed
+event:0X357 counters:7 um:zero minimum:1000 name:PM_LSU_LMQ_S0_ALLOC_GRP53 : (Group 53 pm_threshold) LMQ slot 0 allocated
+
+#Group 54 pm_pe_bench1, PE Benchmarker group for FP analysis
+event:0X360 counters:0 um:zero minimum:1000 name:PM_FPU_FDIV_GRP54 : (Group 54 pm_pe_bench1) FPU executed FDIV instruction
+event:0X361 counters:1 um:zero minimum:1000 name:PM_FPU_FMA_GRP54 : (Group 54 pm_pe_bench1) FPU executed multiply-add instruction
+event:0X362 counters:2 um:zero minimum:1000 name:PM_FXU_FIN_GRP54 : (Group 54 pm_pe_bench1) FXU produced a result
+event:0X363 counters:3 um:zero minimum:1000 name:PM_FPU_FIN_GRP54 : (Group 54 pm_pe_bench1) FPU produced a result
+event:0X364 counters:4 um:zero minimum:10000 name:PM_CYC_GRP54 : (Group 54 pm_pe_bench1) Processor cycles
+event:0X365 counters:5 um:zero minimum:1000 name:PM_FPU_FSQRT_GRP54 : (Group 54 pm_pe_bench1) FPU executed FSQRT instruction
+event:0X366 counters:6 um:zero minimum:10000 name:PM_INST_CMPL_GRP54 : (Group 54 pm_pe_bench1) Instructions completed
+event:0X367 counters:7 um:zero minimum:1000 name:PM_FPU_FMOV_FEST_GRP54 : (Group 54 pm_pe_bench1) FPU executing FMOV or FEST instructions
+
+#Group 55 pm_pe_bench2, PE Benchmarker group for FP stalls analysis
+event:0X370 counters:0 um:zero minimum:10000 name:PM_CYC_GRP55 : (Group 55 pm_pe_bench2) Processor cycles
+event:0X371 counters:1 um:zero minimum:1000 name:PM_FPU_STALL3_GRP55 : (Group 55 pm_pe_bench2) FPU stalled in pipe3
+event:0X372 counters:2 um:zero minimum:1000 name:PM_FPU0_FIN_GRP55 : (Group 55 pm_pe_bench2) FPU0 produced a result
+event:0X373 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP55 : (Group 55 pm_pe_bench2) Instructions completed
+event:0X374 counters:4 um:zero minimum:1000 name:PM_FPU_FULL_CYC_GRP55 : (Group 55 pm_pe_bench2) Cycles FPU issue queue full
+event:0X375 counters:5 um:zero minimum:1000 name:PM_FPU_STF_GRP55 : (Group 55 pm_pe_bench2) FPU executed store instruction
+event:0X376 counters:6 um:zero minimum:1000 name:PM_FPU1_FIN_GRP55 : (Group 55 pm_pe_bench2) FPU1 produced a result
+event:0X377 counters:7 um:zero minimum:1000 name:PM_LSU_LDF_GRP55 : (Group 55 pm_pe_bench2) LSU executed Floating Point load instruction
+
+#Group 56 pm_pe_bench3, PE Benchmarker group for branch analysis
+event:0X380 counters:0 um:zero minimum:10000 name:PM_INST_CMPL_GRP56 : (Group 56 pm_pe_bench3) Instructions completed
+event:0X381 counters:1 um:zero minimum:1000 name:PM_BIQ_IDU_FULL_CYC_GRP56 : (Group 56 pm_pe_bench3) Cycles BIQ or IDU full
+event:0X382 counters:2 um:zero minimum:1000 name:PM_BR_ISSUED_GRP56 : (Group 56 pm_pe_bench3) Branches issued
+event:0X383 counters:3 um:zero minimum:1000 name:PM_BR_MPRED_CR_GRP56 : (Group 56 pm_pe_bench3) Branch mispredictions due CR bit setting
+event:0X384 counters:4 um:zero minimum:1000 name:PM_BRQ_FULL_CYC_GRP56 : (Group 56 pm_pe_bench3) Cycles branch queue full
+event:0X385 counters:5 um:zero minimum:10000 name:PM_CYC_GRP56 : (Group 56 pm_pe_bench3) Processor cycles
+event:0X386 counters:6 um:zero minimum:1000 name:PM_BR_MPRED_TA_GRP56 : (Group 56 pm_pe_bench3) Branch mispredictions due to target address
+event:0X387 counters:7 um:zero minimum:1000 name:PM_L1_WRITE_CYC_GRP56 : (Group 56 pm_pe_bench3) Cycles writing to instruction L1
+
+#Group 57 pm_pe_bench4, PE Benchmarker group for L1 and TLB analysis
+event:0X390 counters:0 um:zero minimum:1000 name:PM_DTLB_MISS_GRP57 : (Group 57 pm_pe_bench4) Data TLB misses
+event:0X391 counters:1 um:zero minimum:1000 name:PM_ITLB_MISS_GRP57 : (Group 57 pm_pe_bench4) Instruction TLB misses
+event:0X392 counters:2 um:zero minimum:1000 name:PM_LD_MISS_L1_GRP57 : (Group 57 pm_pe_bench4) L1 D cache load misses
+event:0X393 counters:3 um:zero minimum:1000 name:PM_ST_MISS_L1_GRP57 : (Group 57 pm_pe_bench4) L1 D cache store misses
+event:0X394 counters:4 um:zero minimum:10000 name:PM_CYC_GRP57 : (Group 57 pm_pe_bench4) Processor cycles
+event:0X395 counters:5 um:zero minimum:10000 name:PM_INST_CMPL_GRP57 : (Group 57 pm_pe_bench4) Instructions completed
+event:0X396 counters:6 um:zero minimum:1000 name:PM_ST_REF_L1_GRP57 : (Group 57 pm_pe_bench4) L1 D cache store references
+event:0X397 counters:7 um:zero minimum:1000 name:PM_LD_REF_L1_GRP57 : (Group 57 pm_pe_bench4) L1 D cache load references
+
+#Group 58 pm_pe_bench5, PE Benchmarker group for L2 analysis
+event:0X3A0 counters:0 um:zero minimum:10000 name:PM_INST_CMPL_GRP58 : (Group 58 pm_pe_bench5) Instructions completed
+event:0X3A1 counters:1 um:zero minimum:10000 name:PM_CYC_GRP58 : (Group 58 pm_pe_bench5) Processor cycles
+event:0X3A2 counters:2 um:zero minimum:1000 name:PM_DATA_FROM_L35_GRP58 : (Group 58 pm_pe_bench5) Data loaded from L3.5
+event:0X3A3 counters:3 um:zero minimum:1000 name:PM_DATA_FROM_L2_GRP58 : (Group 58 pm_pe_bench5) Data loaded from L2
+event:0X3A4 counters:4 um:zero minimum:1000 name:PM_DATA_FROM_L25_SHR_GRP58 : (Group 58 pm_pe_bench5) Data loaded from L2.5 shared
+event:0X3A5 counters:5 um:zero minimum:1000 name:PM_DATA_FROM_L275_SHR_GRP58 : (Group 58 pm_pe_bench5) Data loaded from L2.75 shared
+event:0X3A6 counters:6 um:zero minimum:1000 name:PM_DATA_FROM_L275_MOD_GRP58 : (Group 58 pm_pe_bench5) Data loaded from L2.75 modified
+event:0X3A7 counters:7 um:zero minimum:1000 name:PM_DATA_FROM_L25_MOD_GRP58 : (Group 58 pm_pe_bench5) Data loaded from L2.5 modified
+
+#Group 59 pm_pe_bench6, PE Benchmarker group for L3 analysis
+event:0X3B0 counters:0 um:zero minimum:1000 name:PM_DATA_FROM_L3_GRP59 : (Group 59 pm_pe_bench6) Data loaded from L3
+event:0X3B1 counters:1 um:zero minimum:1000 name:PM_DATA_FROM_MEM_GRP59 : (Group 59 pm_pe_bench6) Data loaded from memory
+event:0X3B2 counters:2 um:zero minimum:1000 name:PM_DATA_FROM_L35_GRP59 : (Group 59 pm_pe_bench6) Data loaded from L3.5
+event:0X3B3 counters:3 um:zero minimum:1000 name:PM_DATA_FROM_L2_GRP59 : (Group 59 pm_pe_bench6) Data loaded from L2
+event:0X3B4 counters:4 um:zero minimum:1000 name:PM_DATA_FROM_L25_SHR_GRP59 : (Group 59 pm_pe_bench6) Data loaded from L2.5 shared
+event:0X3B5 counters:5 um:zero minimum:10000 name:PM_CYC_GRP59 : (Group 59 pm_pe_bench6) Processor cycles
+event:0X3B6 counters:6 um:zero minimum:10000 name:PM_INST_CMPL_GRP59 : (Group 59 pm_pe_bench6) Instructions completed
+event:0X3B7 counters:7 um:zero minimum:1000 name:PM_DATA_FROM_L25_MOD_GRP59 : (Group 59 pm_pe_bench6) Data loaded from L2.5 modified
+
+#Group 60 pm_hpmcount1, Hpmcount group for L1 and TLB behavior analysis
+event:0X3C0 counters:0 um:zero minimum:1000 name:PM_DTLB_MISS_GRP60 : (Group 60 pm_hpmcount1) Data TLB misses
+event:0X3C1 counters:1 um:zero minimum:1000 name:PM_LSU_LMQ_SRQ_EMPTY_CYC_GRP60 : (Group 60 pm_hpmcount1) Cycles LMQ and SRQ empty
+event:0X3C2 counters:2 um:zero minimum:1000 name:PM_LD_MISS_L1_GRP60 : (Group 60 pm_hpmcount1) L1 D cache load misses
+event:0X3C3 counters:3 um:zero minimum:1000 name:PM_ST_MISS_L1_GRP60 : (Group 60 pm_hpmcount1) L1 D cache store misses
+event:0X3C4 counters:4 um:zero minimum:10000 name:PM_CYC_GRP60 : (Group 60 pm_hpmcount1) Processor cycles
+event:0X3C5 counters:5 um:zero minimum:10000 name:PM_INST_CMPL_GRP60 : (Group 60 pm_hpmcount1) Instructions completed
+event:0X3C6 counters:6 um:zero minimum:1000 name:PM_ST_REF_L1_GRP60 : (Group 60 pm_hpmcount1) L1 D cache store references
+event:0X3C7 counters:7 um:zero minimum:1000 name:PM_LD_REF_L1_GRP60 : (Group 60 pm_hpmcount1) L1 D cache load references
+
+#Group 61 pm_hpmcount2, Hpmcount group for computation intensity analysis
+event:0X3D0 counters:0 um:zero minimum:1000 name:PM_FPU_FDIV_GRP61 : (Group 61 pm_hpmcount2) FPU executed FDIV instruction
+event:0X3D1 counters:1 um:zero minimum:1000 name:PM_FPU_FMA_GRP61 : (Group 61 pm_hpmcount2) FPU executed multiply-add instruction
+event:0X3D2 counters:2 um:zero minimum:1000 name:PM_FPU0_FIN_GRP61 : (Group 61 pm_hpmcount2) FPU0 produced a result
+event:0X3D3 counters:3 um:zero minimum:1000 name:PM_FPU1_FIN_GRP61 : (Group 61 pm_hpmcount2) FPU1 produced a result
+event:0X3D4 counters:4 um:zero minimum:10000 name:PM_CYC_GRP61 : (Group 61 pm_hpmcount2) Processor cycles
+event:0X3D5 counters:5 um:zero minimum:1000 name:PM_FPU_STF_GRP61 : (Group 61 pm_hpmcount2) FPU executed store instruction
+event:0X3D6 counters:6 um:zero minimum:10000 name:PM_INST_CMPL_GRP61 : (Group 61 pm_hpmcount2) Instructions completed
+event:0X3D7 counters:7 um:zero minimum:1000 name:PM_LSU_LDF_GRP61 : (Group 61 pm_hpmcount2) LSU executed Floating Point load instruction
+
+#Group 62 pm_l1andbr, L1 misses and branch misspredict analysis
+event:0X3E0 counters:0 um:zero minimum:10000 name:PM_INST_CMPL_GRP62 : (Group 62 pm_l1andbr) Instructions completed
+event:0X3E1 counters:1 um:zero minimum:10000 name:PM_CYC_GRP62 : (Group 62 pm_l1andbr) Processor cycles
+event:0X3E2 counters:2 um:zero minimum:1000 name:PM_LD_MISS_L1_GRP62 : (Group 62 pm_l1andbr) L1 D cache load misses
+event:0X3E3 counters:3 um:zero minimum:1000 name:PM_BR_ISSUED_GRP62 : (Group 62 pm_l1andbr) Branches issued
+event:0X3E4 counters:4 um:zero minimum:1000 name:PM_ST_MISS_L1_GRP62 : (Group 62 pm_l1andbr) L1 D cache store misses
+event:0X3E5 counters:5 um:zero minimum:10000 name:PM_CYC_GRP62 : (Group 62 pm_l1andbr) Processor cycles
+event:0X3E6 counters:6 um:zero minimum:1000 name:PM_BR_MPRED_CR_GRP62 : (Group 62 pm_l1andbr) Branch mispredictions due CR bit setting
+event:0X3E7 counters:7 um:zero minimum:1000 name:PM_BR_MPRED_TA_GRP62 : (Group 62 pm_l1andbr) Branch mispredictions due to target address
+
+#Group 63 pm_imix, Instruction mix: loads, stores and branches
+event:0X3F0 counters:0 um:zero minimum:10000 name:PM_INST_CMPL_GRP63 : (Group 63 pm_imix) Instructions completed
+event:0X3F1 counters:1 um:zero minimum:10000 name:PM_CYC_GRP63 : (Group 63 pm_imix) Processor cycles
+event:0X3F2 counters:2 um:zero minimum:1000 name:PM_LD_MISS_L1_GRP63 : (Group 63 pm_imix) L1 D cache load misses
+event:0X3F3 counters:3 um:zero minimum:1000 name:PM_BR_ISSUED_GRP63 : (Group 63 pm_imix) Branches issued
+event:0X3F4 counters:4 um:zero minimum:10000 name:PM_CYC_GRP63 : (Group 63 pm_imix) Processor cycles
+event:0X3F5 counters:5 um:zero minimum:1000 name:PM_ST_MISS_L1_GRP63 : (Group 63 pm_imix) L1 D cache store misses
+event:0X3F6 counters:6 um:zero minimum:1000 name:PM_ST_REF_L1_GRP63 : (Group 63 pm_imix) L1 D cache store references
+event:0X3F7 counters:7 um:zero minimum:1000 name:PM_LD_REF_L1_GRP63 : (Group 63 pm_imix) L1 D cache load references
diff --git a/events/ppc64/power4/unit_masks b/events/ppc64/power4/unit_masks
new file mode 100644
index 0000000..7643f05
--- /dev/null
+++ b/events/ppc64/power4/unit_masks
@@ -0,0 +1,5 @@
+# ppc64 POWER4 possible unit masks
+#
+name:zero type:mandatory default:0x0
+ 0x0 No unit mask
+
diff --git a/events/ppc64/power5++/event_mappings b/events/ppc64/power5++/event_mappings
new file mode 100644
index 0000000..57ed17b
--- /dev/null
+++ b/events/ppc64/power5++/event_mappings
@@ -0,0 +1,1140 @@
+#
+# Copyright OProfile authors
+# Copyright (c) International Business Machines, 2007.
+# Contributed by Maynard Johnson <maynardj@us.ibm.com>.
+#
+#Mapping of event groups to MMCR values
+
+#Group Default
+event:0X001 mmcr0:0X00000000 mmcr1:0X000000000A02121E mmcra:0X00000000
+
+#Group 0 with random sampling
+event:0X002 mmcr0:0X00000000 mmcr1:0X4000000002341E36 mmcra:0X00000001
+
+#Group 1 pm_utilization, CPI and utilization data
+event:0X0010 mmcr0:0X00000000 mmcr1:0X000000000A12121E mmcra:0X00000000
+event:0X0011 mmcr0:0X00000000 mmcr1:0X000000000A12121E mmcra:0X00000000
+event:0X0012 mmcr0:0X00000000 mmcr1:0X000000000A12121E mmcra:0X00000000
+event:0X0013 mmcr0:0X00000000 mmcr1:0X000000000A12121E mmcra:0X00000000
+
+#Group 2 pm_completion, Completion and cycle counts
+event:0X0020 mmcr0:0X00000000 mmcr1:0X000000002608261E mmcra:0X00000000
+event:0X0021 mmcr0:0X00000000 mmcr1:0X000000002608261E mmcra:0X00000000
+event:0X0022 mmcr0:0X00000000 mmcr1:0X000000002608261E mmcra:0X00000000
+event:0X0023 mmcr0:0X00000000 mmcr1:0X000000002608261E mmcra:0X00000000
+
+#Group 3 pm_group_dispatch, Group dispatch events
+event:0X0030 mmcr0:0X00000000 mmcr1:0X4000000EC6C8C212 mmcra:0X00000000
+event:0X0031 mmcr0:0X00000000 mmcr1:0X4000000EC6C8C212 mmcra:0X00000000
+event:0X0032 mmcr0:0X00000000 mmcr1:0X4000000EC6C8C212 mmcra:0X00000000
+event:0X0033 mmcr0:0X00000000 mmcr1:0X4000000EC6C8C212 mmcra:0X00000000
+
+#Group 4 pm_clb1, CLB fullness
+event:0X0040 mmcr0:0X00000000 mmcr1:0X015B000180848C4C mmcra:0X00000001
+event:0X0041 mmcr0:0X00000000 mmcr1:0X015B000180848C4C mmcra:0X00000001
+event:0X0042 mmcr0:0X00000000 mmcr1:0X015B000180848C4C mmcra:0X00000001
+event:0X0043 mmcr0:0X00000000 mmcr1:0X015B000180848C4C mmcra:0X00000001
+
+#Group 5 pm_clb2, CLB fullness
+event:0X0050 mmcr0:0X00000000 mmcr1:0X014300028A8CCC02 mmcra:0X00000001
+event:0X0051 mmcr0:0X00000000 mmcr1:0X014300028A8CCC02 mmcra:0X00000001
+event:0X0052 mmcr0:0X00000000 mmcr1:0X014300028A8CCC02 mmcra:0X00000001
+event:0X0053 mmcr0:0X00000000 mmcr1:0X014300028A8CCC02 mmcra:0X00000001
+
+#Group 6 pm_gct_empty, GCT empty reasons
+event:0X0060 mmcr0:0X00000000 mmcr1:0X4000000008380838 mmcra:0X00000000
+event:0X0061 mmcr0:0X00000000 mmcr1:0X4000000008380838 mmcra:0X00000000
+event:0X0062 mmcr0:0X00000000 mmcr1:0X4000000008380838 mmcra:0X00000000
+event:0X0063 mmcr0:0X00000000 mmcr1:0X4000000008380838 mmcra:0X00000000
+
+#Group 7 pm_gct_usage, GCT Usage
+event:0X0070 mmcr0:0X00000000 mmcr1:0X000000003E3E3E3E mmcra:0X00000000
+event:0X0071 mmcr0:0X00000000 mmcr1:0X000000003E3E3E3E mmcra:0X00000000
+event:0X0072 mmcr0:0X00000000 mmcr1:0X000000003E3E3E3E mmcra:0X00000000
+event:0X0073 mmcr0:0X00000000 mmcr1:0X000000003E3E3E3E mmcra:0X00000000
+
+#Group 8 pm_lsu1, LSU LRQ and LMQ events
+event:0X0080 mmcr0:0X00000000 mmcr1:0X020F000FCECCCCCA mmcra:0X00000000
+event:0X0081 mmcr0:0X00000000 mmcr1:0X020F000FCECCCCCA mmcra:0X00000000
+event:0X0082 mmcr0:0X00000000 mmcr1:0X020F000FCECCCCCA mmcra:0X00000000
+event:0X0083 mmcr0:0X00000000 mmcr1:0X020F000FCECCCCCA mmcra:0X00000000
+
+#Group 9 pm_lsu2, LSU SRQ events
+event:0X0090 mmcr0:0X00000000 mmcr1:0X400E000ECECCCA86 mmcra:0X00000000
+event:0X0091 mmcr0:0X00000000 mmcr1:0X400E000ECECCCA86 mmcra:0X00000000
+event:0X0092 mmcr0:0X00000000 mmcr1:0X400E000ECECCCA86 mmcra:0X00000000
+event:0X0093 mmcr0:0X00000000 mmcr1:0X400E000ECECCCA86 mmcra:0X00000000
+
+#Group 10 pm_lsu3, LSU SRQ and LMQ events
+event:0X00A0 mmcr0:0X00000000 mmcr1:0X030F0004EA102A2A mmcra:0X00000000
+event:0X00A1 mmcr0:0X00000000 mmcr1:0X030F0004EA102A2A mmcra:0X00000000
+event:0X00A2 mmcr0:0X00000000 mmcr1:0X030F0004EA102A2A mmcra:0X00000000
+event:0X00A3 mmcr0:0X00000000 mmcr1:0X030F0004EA102A2A mmcra:0X00000000
+
+#Group 11 pm_lsu4, LSU SRQ and LMQ events
+event:0X00B0 mmcr0:0X00000000 mmcr1:0X40030000EEA62A2A mmcra:0X00000000
+event:0X00B1 mmcr0:0X00000000 mmcr1:0X40030000EEA62A2A mmcra:0X00000000
+event:0X00B2 mmcr0:0X00000000 mmcr1:0X40030000EEA62A2A mmcra:0X00000000
+event:0X00B3 mmcr0:0X00000000 mmcr1:0X40030000EEA62A2A mmcra:0X00000000
+
+#Group 12 pm_prefetch1, Prefetch stream allocation
+event:0X00C0 mmcr0:0X00000000 mmcr1:0X8432000D36C884CE mmcra:0X00000000
+event:0X00C1 mmcr0:0X00000000 mmcr1:0X8432000D36C884CE mmcra:0X00000000
+event:0X00C2 mmcr0:0X00000000 mmcr1:0X8432000D36C884CE mmcra:0X00000000
+event:0X00C3 mmcr0:0X00000000 mmcr1:0X8432000D36C884CE mmcra:0X00000000
+
+#Group 13 pm_prefetch2, Prefetch events
+event:0X00D0 mmcr0:0X00000000 mmcr1:0X8103000602CACE8E mmcra:0X00000001
+event:0X00D1 mmcr0:0X00000000 mmcr1:0X8103000602CACE8E mmcra:0X00000001
+event:0X00D2 mmcr0:0X00000000 mmcr1:0X8103000602CACE8E mmcra:0X00000001
+event:0X00D3 mmcr0:0X00000000 mmcr1:0X8103000602CACE8E mmcra:0X00000001
+
+#Group 14 pm_prefetch3, L2 prefetch and misc events
+event:0X00E0 mmcr0:0X00000000 mmcr1:0X047C000482108602 mmcra:0X00000001
+event:0X00E1 mmcr0:0X00000000 mmcr1:0X047C000482108602 mmcra:0X00000001
+event:0X00E2 mmcr0:0X00000000 mmcr1:0X047C000482108602 mmcra:0X00000001
+event:0X00E3 mmcr0:0X00000000 mmcr1:0X047C000482108602 mmcra:0X00000001
+
+#Group 15 pm_prefetch4, Misc prefetch and reject events
+event:0X00F0 mmcr0:0X00000000 mmcr1:0X0CF200028088CC86 mmcra:0X00000000
+event:0X00F1 mmcr0:0X00000000 mmcr1:0X0CF200028088CC86 mmcra:0X00000000
+event:0X00F2 mmcr0:0X00000000 mmcr1:0X0CF200028088CC86 mmcra:0X00000000
+event:0X00F3 mmcr0:0X00000000 mmcr1:0X0CF200028088CC86 mmcra:0X00000000
+
+#Group 16 pm_lsu_reject1, LSU reject events
+event:0X0100 mmcr0:0X00000000 mmcr1:0XC8E000022010C610 mmcra:0X00000001
+event:0X0101 mmcr0:0X00000000 mmcr1:0XC8E000022010C610 mmcra:0X00000001
+event:0X0102 mmcr0:0X00000000 mmcr1:0XC8E000022010C610 mmcra:0X00000001
+event:0X0103 mmcr0:0X00000000 mmcr1:0XC8E000022010C610 mmcra:0X00000001
+
+#Group 17 pm_lsu_reject2, LSU rejects due to reload CDF or tag update collision
+event:0X0110 mmcr0:0X00000000 mmcr1:0X88C00001848C02CE mmcra:0X00000001
+event:0X0111 mmcr0:0X00000000 mmcr1:0X88C00001848C02CE mmcra:0X00000001
+event:0X0112 mmcr0:0X00000000 mmcr1:0X88C00001848C02CE mmcra:0X00000001
+event:0X0113 mmcr0:0X00000000 mmcr1:0X88C00001848C02CE mmcra:0X00000001
+
+#Group 18 pm_lsu_reject3, LSU rejects due to ERAT, held instuctions
+event:0X0120 mmcr0:0X00000000 mmcr1:0X48C00003868EC0C8 mmcra:0X00000000
+event:0X0121 mmcr0:0X00000000 mmcr1:0X48C00003868EC0C8 mmcra:0X00000000
+event:0X0122 mmcr0:0X00000000 mmcr1:0X48C00003868EC0C8 mmcra:0X00000000
+event:0X0123 mmcr0:0X00000000 mmcr1:0X48C00003868EC0C8 mmcra:0X00000000
+
+#Group 19 pm_lsu_reject4, LSU0/1 reject LMQ full
+event:0X0130 mmcr0:0X00000000 mmcr1:0X88C00001828A02C8 mmcra:0X00000001
+event:0X0131 mmcr0:0X00000000 mmcr1:0X88C00001828A02C8 mmcra:0X00000001
+event:0X0132 mmcr0:0X00000000 mmcr1:0X88C00001828A02C8 mmcra:0X00000001
+event:0X0133 mmcr0:0X00000000 mmcr1:0X88C00001828A02C8 mmcra:0X00000001
+
+#Group 20 pm_lsu_reject5, LSU misc reject and flush events
+event:0X0140 mmcr0:0X00000000 mmcr1:0X48C0000010208A8E mmcra:0X00000000
+event:0X0141 mmcr0:0X00000000 mmcr1:0X48C0000010208A8E mmcra:0X00000000
+event:0X0142 mmcr0:0X00000000 mmcr1:0X48C0000010208A8E mmcra:0X00000000
+event:0X0143 mmcr0:0X00000000 mmcr1:0X48C0000010208A8E mmcra:0X00000000
+
+#Group 21 pm_flush1, Misc flush events
+event:0X0150 mmcr0:0X00000000 mmcr1:0XC0F000020210C68E mmcra:0X00000001
+event:0X0151 mmcr0:0X00000000 mmcr1:0XC0F000020210C68E mmcra:0X00000001
+event:0X0152 mmcr0:0X00000000 mmcr1:0XC0F000020210C68E mmcra:0X00000001
+event:0X0153 mmcr0:0X00000000 mmcr1:0XC0F000020210C68E mmcra:0X00000001
+
+#Group 22 pm_flush2, Flushes due to scoreboard and sync
+event:0X0160 mmcr0:0X00000000 mmcr1:0XC08000038002C4C2 mmcra:0X00000001
+event:0X0161 mmcr0:0X00000000 mmcr1:0XC08000038002C4C2 mmcra:0X00000001
+event:0X0162 mmcr0:0X00000000 mmcr1:0XC08000038002C4C2 mmcra:0X00000001
+event:0X0163 mmcr0:0X00000000 mmcr1:0XC08000038002C4C2 mmcra:0X00000001
+
+#Group 23 pm_lsu_flush_srq_lrq, LSU flush by SRQ and LRQ events
+event:0X0170 mmcr0:0X00000000 mmcr1:0X40C000002020028A mmcra:0X00000001
+event:0X0171 mmcr0:0X00000000 mmcr1:0X40C000002020028A mmcra:0X00000001
+event:0X0172 mmcr0:0X00000000 mmcr1:0X40C000002020028A mmcra:0X00000001
+event:0X0173 mmcr0:0X00000000 mmcr1:0X40C000002020028A mmcra:0X00000001
+
+#Group 24 pm_lsu_flush_lrq, LSU0/1 flush due to LRQ
+event:0X0180 mmcr0:0X00000000 mmcr1:0X40C00000848C8A02 mmcra:0X00000001
+event:0X0181 mmcr0:0X00000000 mmcr1:0X40C00000848C8A02 mmcra:0X00000001
+event:0X0182 mmcr0:0X00000000 mmcr1:0X40C00000848C8A02 mmcra:0X00000001
+event:0X0183 mmcr0:0X00000000 mmcr1:0X40C00000848C8A02 mmcra:0X00000001
+
+#Group 25 pm_lsu_flush_srq, LSU0/1 flush due to SRQ
+event:0X0190 mmcr0:0X00000000 mmcr1:0X40C00000868E028A mmcra:0X00000001
+event:0X0191 mmcr0:0X00000000 mmcr1:0X40C00000868E028A mmcra:0X00000001
+event:0X0192 mmcr0:0X00000000 mmcr1:0X40C00000868E028A mmcra:0X00000001
+event:0X0193 mmcr0:0X00000000 mmcr1:0X40C00000868E028A mmcra:0X00000001
+
+#Group 26 pm_lsu_flush_unaligned, LSU flush due to unaligned data
+event:0X01A0 mmcr0:0X00000000 mmcr1:0X80C000021010C802 mmcra:0X00000001
+event:0X01A1 mmcr0:0X00000000 mmcr1:0X80C000021010C802 mmcra:0X00000001
+event:0X01A2 mmcr0:0X00000000 mmcr1:0X80C000021010C802 mmcra:0X00000001
+event:0X01A3 mmcr0:0X00000000 mmcr1:0X80C000021010C802 mmcra:0X00000001
+
+#Group 27 pm_lsu_flush_uld, LSU0/1 flush due to unaligned load
+event:0X01B0 mmcr0:0X00000000 mmcr1:0X40C0000080888A02 mmcra:0X00000001
+event:0X01B1 mmcr0:0X00000000 mmcr1:0X40C0000080888A02 mmcra:0X00000001
+event:0X01B2 mmcr0:0X00000000 mmcr1:0X40C0000080888A02 mmcra:0X00000001
+event:0X01B3 mmcr0:0X00000000 mmcr1:0X40C0000080888A02 mmcra:0X00000001
+
+#Group 28 pm_lsu_flush_ust, LSU0/1 flush due to unaligned store
+event:0X01C0 mmcr0:0X00000000 mmcr1:0X40C00000828A028A mmcra:0X00000001
+event:0X01C1 mmcr0:0X00000000 mmcr1:0X40C00000828A028A mmcra:0X00000001
+event:0X01C2 mmcr0:0X00000000 mmcr1:0X40C00000828A028A mmcra:0X00000001
+event:0X01C3 mmcr0:0X00000000 mmcr1:0X40C00000828A028A mmcra:0X00000001
+
+#Group 29 pm_lsu_flush_full, LSU flush due to LRQ/SRQ full
+event:0X01D0 mmcr0:0X00000000 mmcr1:0XC0200009CE0210C0 mmcra:0X00000001
+event:0X01D1 mmcr0:0X00000000 mmcr1:0XC0200009CE0210C0 mmcra:0X00000001
+event:0X01D2 mmcr0:0X00000000 mmcr1:0XC0200009CE0210C0 mmcra:0X00000001
+event:0X01D3 mmcr0:0X00000000 mmcr1:0XC0200009CE0210C0 mmcra:0X00000001
+
+#Group 30 pm_lsu_stall1, LSU Stalls
+event:0X01E0 mmcr0:0X00000000 mmcr1:0X4000000028300234 mmcra:0X00000001
+event:0X01E1 mmcr0:0X00000000 mmcr1:0X4000000028300234 mmcra:0X00000001
+event:0X01E2 mmcr0:0X00000000 mmcr1:0X4000000028300234 mmcra:0X00000001
+event:0X01E3 mmcr0:0X00000000 mmcr1:0X4000000028300234 mmcra:0X00000001
+
+#Group 31 pm_lsu_stall2, LSU Stalls
+event:0X01F0 mmcr0:0X00000000 mmcr1:0X4000000002341E36 mmcra:0X00000001
+event:0X01F1 mmcr0:0X00000000 mmcr1:0X4000000002341E36 mmcra:0X00000001
+event:0X01F2 mmcr0:0X00000000 mmcr1:0X4000000002341E36 mmcra:0X00000001
+event:0X01F3 mmcr0:0X00000000 mmcr1:0X4000000002341E36 mmcra:0X00000001
+
+#Group 32 pm_fxu_stall, FXU Stalls
+event:0X0200 mmcr0:0X00000000 mmcr1:0X40000008CA320232 mmcra:0X00000001
+event:0X0201 mmcr0:0X00000000 mmcr1:0X40000008CA320232 mmcra:0X00000001
+event:0X0202 mmcr0:0X00000000 mmcr1:0X40000008CA320232 mmcra:0X00000001
+event:0X0203 mmcr0:0X00000000 mmcr1:0X40000008CA320232 mmcra:0X00000001
+
+#Group 33 pm_fpu_stall, FPU Stalls
+event:0X0210 mmcr0:0X00000000 mmcr1:0X4000000020360230 mmcra:0X00000001
+event:0X0211 mmcr0:0X00000000 mmcr1:0X4000000020360230 mmcra:0X00000001
+event:0X0212 mmcr0:0X00000000 mmcr1:0X4000000020360230 mmcra:0X00000001
+event:0X0213 mmcr0:0X00000000 mmcr1:0X4000000020360230 mmcra:0X00000001
+
+#Group 34 pm_queue_full, BRQ LRQ LMQ queue full
+event:0X0220 mmcr0:0X00000000 mmcr1:0X400B0009CE8A84CE mmcra:0X00000000
+event:0X0221 mmcr0:0X00000000 mmcr1:0X400B0009CE8A84CE mmcra:0X00000000
+event:0X0222 mmcr0:0X00000000 mmcr1:0X400B0009CE8A84CE mmcra:0X00000000
+event:0X0223 mmcr0:0X00000000 mmcr1:0X400B0009CE8A84CE mmcra:0X00000000
+
+#Group 35 pm_issueq_full, FPU FX full
+event:0X0230 mmcr0:0X00000000 mmcr1:0X40000000868E8088 mmcra:0X00000000
+event:0X0231 mmcr0:0X00000000 mmcr1:0X40000000868E8088 mmcra:0X00000000
+event:0X0232 mmcr0:0X00000000 mmcr1:0X40000000868E8088 mmcra:0X00000000
+event:0X0233 mmcr0:0X00000000 mmcr1:0X40000000868E8088 mmcra:0X00000000
+
+#Group 36 pm_mapper_full1, CR CTR GPR mapper full
+event:0X0240 mmcr0:0X00000000 mmcr1:0X40000002888CCA82 mmcra:0X00000000
+event:0X0241 mmcr0:0X00000000 mmcr1:0X40000002888CCA82 mmcra:0X00000000
+event:0X0242 mmcr0:0X00000000 mmcr1:0X40000002888CCA82 mmcra:0X00000000
+event:0X0243 mmcr0:0X00000000 mmcr1:0X40000002888CCA82 mmcra:0X00000000
+
+#Group 37 pm_mapper_full2, FPR XER mapper full
+event:0X0250 mmcr0:0X00000000 mmcr1:0X4103000282843602 mmcra:0X00000001
+event:0X0251 mmcr0:0X00000000 mmcr1:0X4103000282843602 mmcra:0X00000001
+event:0X0252 mmcr0:0X00000000 mmcr1:0X4103000282843602 mmcra:0X00000001
+event:0X0253 mmcr0:0X00000000 mmcr1:0X4103000282843602 mmcra:0X00000001
+
+#Group 38 pm_misc_load, Non-cachable loads and stcx events
+event:0X0260 mmcr0:0X00000000 mmcr1:0X0438000CC2CA828A mmcra:0X00000001
+event:0X0261 mmcr0:0X00000000 mmcr1:0X0438000CC2CA828A mmcra:0X00000001
+event:0X0262 mmcr0:0X00000000 mmcr1:0X0438000CC2CA828A mmcra:0X00000001
+event:0X0263 mmcr0:0X00000000 mmcr1:0X0438000CC2CA828A mmcra:0X00000001
+
+#Group 39 pm_ic_demand, ICache demand from BR redirect
+event:0X0270 mmcr0:0X00000000 mmcr1:0X800C000FC2CAC0C2 mmcra:0X00000000
+event:0X0271 mmcr0:0X00000000 mmcr1:0X800C000FC2CAC0C2 mmcra:0X00000000
+event:0X0272 mmcr0:0X00000000 mmcr1:0X800C000FC2CAC0C2 mmcra:0X00000000
+event:0X0273 mmcr0:0X00000000 mmcr1:0X800C000FC2CAC0C2 mmcra:0X00000000
+
+#Group 40 pm_ic_pref, ICache prefetch
+event:0X0280 mmcr0:0X00000000 mmcr1:0X8000000DCECC8E1A mmcra:0X00000000
+event:0X0281 mmcr0:0X00000000 mmcr1:0X8000000DCECC8E1A mmcra:0X00000000
+event:0X0282 mmcr0:0X00000000 mmcr1:0X8000000DCECC8E1A mmcra:0X00000000
+event:0X0283 mmcr0:0X00000000 mmcr1:0X8000000DCECC8E1A mmcra:0X00000000
+
+#Group 41 pm_ic_miss, ICache misses
+event:0X0290 mmcr0:0X00000000 mmcr1:0X4003000E32CEC802 mmcra:0X00000001
+event:0X0291 mmcr0:0X00000000 mmcr1:0X4003000E32CEC802 mmcra:0X00000001
+event:0X0292 mmcr0:0X00000000 mmcr1:0X4003000E32CEC802 mmcra:0X00000001
+event:0X0293 mmcr0:0X00000000 mmcr1:0X4003000E32CEC802 mmcra:0X00000001
+
+#Group 42 pm_branch_miss, Branch mispredict, TLB and SLB misses
+event:0X02A0 mmcr0:0X00000000 mmcr1:0X808000031010CACC mmcra:0X00000000
+event:0X02A1 mmcr0:0X00000000 mmcr1:0X808000031010CACC mmcra:0X00000000
+event:0X02A2 mmcr0:0X00000000 mmcr1:0X808000031010CACC mmcra:0X00000000
+event:0X02A3 mmcr0:0X00000000 mmcr1:0X808000031010CACC mmcra:0X00000000
+
+#Group 43 pm_branch1, Branch operations
+event:0X02B0 mmcr0:0X00000000 mmcr1:0X8000000F0E0E0E0E mmcra:0X00000000
+event:0X02B1 mmcr0:0X00000000 mmcr1:0X8000000F0E0E0E0E mmcra:0X00000000
+event:0X02B2 mmcr0:0X00000000 mmcr1:0X8000000F0E0E0E0E mmcra:0X00000000
+event:0X02B3 mmcr0:0X00000000 mmcr1:0X8000000F0E0E0E0E mmcra:0X00000000
+
+#Group 44 pm_branch2, Branch operations
+event:0X02C0 mmcr0:0X00000000 mmcr1:0X4000000C22CC8C02 mmcra:0X00000001
+event:0X02C1 mmcr0:0X00000000 mmcr1:0X4000000C22CC8C02 mmcra:0X00000001
+event:0X02C2 mmcr0:0X00000000 mmcr1:0X4000000C22CC8C02 mmcra:0X00000001
+event:0X02C3 mmcr0:0X00000000 mmcr1:0X4000000C22CC8C02 mmcra:0X00000001
+
+#Group 45 pm_L1_tlbmiss, L1 load and TLB misses
+event:0X02D0 mmcr0:0X00000000 mmcr1:0X00B000008E881020 mmcra:0X00000000
+event:0X02D1 mmcr0:0X00000000 mmcr1:0X00B000008E881020 mmcra:0X00000000
+event:0X02D2 mmcr0:0X00000000 mmcr1:0X00B000008E881020 mmcra:0X00000000
+event:0X02D3 mmcr0:0X00000000 mmcr1:0X00B000008E881020 mmcra:0X00000000
+
+#Group 46 pm_L1_DERAT_miss, L1 store and DERAT misses
+event:0X02E0 mmcr0:0X00000000 mmcr1:0X00B300080E202086 mmcra:0X00000000
+event:0X02E1 mmcr0:0X00000000 mmcr1:0X00B300080E202086 mmcra:0X00000000
+event:0X02E2 mmcr0:0X00000000 mmcr1:0X00B300080E202086 mmcra:0X00000000
+event:0X02E3 mmcr0:0X00000000 mmcr1:0X00B300080E202086 mmcra:0X00000000
+
+#Group 47 pm_L1_slbmiss, L1 load and SLB misses
+event:0X02F0 mmcr0:0X00000000 mmcr1:0X00B000008A82848C mmcra:0X00000000
+event:0X02F1 mmcr0:0X00000000 mmcr1:0X00B000008A82848C mmcra:0X00000000
+event:0X02F2 mmcr0:0X00000000 mmcr1:0X00B000008A82848C mmcra:0X00000000
+event:0X02F3 mmcr0:0X00000000 mmcr1:0X00B000008A82848C mmcra:0X00000000
+
+#Group 48 pm_dtlbref, Data TLB references
+event:0X0300 mmcr0:0X00000000 mmcr1:0X000C000F0C0C0C0C mmcra:0X00000000
+event:0X0301 mmcr0:0X00000000 mmcr1:0X000C000F0C0C0C0C mmcra:0X00000000
+event:0X0302 mmcr0:0X00000000 mmcr1:0X000C000F0C0C0C0C mmcra:0X00000000
+event:0X0303 mmcr0:0X00000000 mmcr1:0X000C000F0C0C0C0C mmcra:0X00000000
+
+#Group 49 pm_dtlbmiss, Data TLB misses
+event:0X0310 mmcr0:0X00000000 mmcr1:0X000C000F1A1A1A1A mmcra:0X00000000
+event:0X0311 mmcr0:0X00000000 mmcr1:0X000C000F1A1A1A1A mmcra:0X00000000
+event:0X0312 mmcr0:0X00000000 mmcr1:0X000C000F1A1A1A1A mmcra:0X00000000
+event:0X0313 mmcr0:0X00000000 mmcr1:0X000C000F1A1A1A1A mmcra:0X00000000
+
+#Group 50 pm_dtlb, Data TLB references and misses
+event:0X0320 mmcr0:0X00000000 mmcr1:0X008C0008C8881E1E mmcra:0X00000000
+event:0X0321 mmcr0:0X00000000 mmcr1:0X008C0008C8881E1E mmcra:0X00000000
+event:0X0322 mmcr0:0X00000000 mmcr1:0X008C0008C8881E1E mmcra:0X00000000
+event:0X0323 mmcr0:0X00000000 mmcr1:0X008C0008C8881E1E mmcra:0X00000000
+
+#Group 51 pm_L1_refmiss, L1 load references and misses and store references and misses
+event:0X0330 mmcr0:0X00000000 mmcr1:0X0030000050501086 mmcra:0X00000000
+event:0X0331 mmcr0:0X00000000 mmcr1:0X0030000050501086 mmcra:0X00000000
+event:0X0332 mmcr0:0X00000000 mmcr1:0X0030000050501086 mmcra:0X00000000
+event:0X0333 mmcr0:0X00000000 mmcr1:0X0030000050501086 mmcra:0X00000000
+
+#Group 52 pm_dsource1, L3 cache and memory data access
+event:0X0340 mmcr0:0X00000000 mmcr1:0X4003000C1C0E8E02 mmcra:0X00000001
+event:0X0341 mmcr0:0X00000000 mmcr1:0X4003000C1C0E8E02 mmcra:0X00000001
+event:0X0342 mmcr0:0X00000000 mmcr1:0X4003000C1C0E8E02 mmcra:0X00000001
+event:0X0343 mmcr0:0X00000000 mmcr1:0X4003000C1C0E8E02 mmcra:0X00000001
+
+#Group 53 pm_dsource2, L3 cache and memory data access
+event:0X0350 mmcr0:0X00000000 mmcr1:0X0003000F1C0E360E mmcra:0X00000000
+event:0X0351 mmcr0:0X00000000 mmcr1:0X0003000F1C0E360E mmcra:0X00000000
+event:0X0352 mmcr0:0X00000000 mmcr1:0X0003000F1C0E360E mmcra:0X00000000
+event:0X0353 mmcr0:0X00000000 mmcr1:0X0003000F1C0E360E mmcra:0X00000000
+
+#Group 54 pm_dsource_L2, L2 cache data access
+event:0X0360 mmcr0:0X00000000 mmcr1:0X0003000F2E2E2E2E mmcra:0X00000000
+event:0X0361 mmcr0:0X00000000 mmcr1:0X0003000F2E2E2E2E mmcra:0X00000000
+event:0X0362 mmcr0:0X00000000 mmcr1:0X0003000F2E2E2E2E mmcra:0X00000000
+event:0X0363 mmcr0:0X00000000 mmcr1:0X0003000F2E2E2E2E mmcra:0X00000000
+
+#Group 55 pm_dsource_L3, L3 cache data access
+event:0X0370 mmcr0:0X00000000 mmcr1:0X0003000F3C3C3C3C mmcra:0X00000000
+event:0X0371 mmcr0:0X00000000 mmcr1:0X0003000F3C3C3C3C mmcra:0X00000000
+event:0X0372 mmcr0:0X00000000 mmcr1:0X0003000F3C3C3C3C mmcra:0X00000000
+event:0X0373 mmcr0:0X00000000 mmcr1:0X0003000F3C3C3C3C mmcra:0X00000000
+
+#Group 56 pm_isource1, Instruction source information
+event:0X0380 mmcr0:0X00000000 mmcr1:0X8000000F1A1A1A0C mmcra:0X00000000
+event:0X0381 mmcr0:0X00000000 mmcr1:0X8000000F1A1A1A0C mmcra:0X00000000
+event:0X0382 mmcr0:0X00000000 mmcr1:0X8000000F1A1A1A0C mmcra:0X00000000
+event:0X0383 mmcr0:0X00000000 mmcr1:0X8000000F1A1A1A0C mmcra:0X00000000
+
+#Group 57 pm_isource2, Instruction source information
+event:0X0390 mmcr0:0X00000000 mmcr1:0X8000000D0C0C021A mmcra:0X00000001
+event:0X0391 mmcr0:0X00000000 mmcr1:0X8000000D0C0C021A mmcra:0X00000001
+event:0X0392 mmcr0:0X00000000 mmcr1:0X8000000D0C0C021A mmcra:0X00000001
+event:0X0393 mmcr0:0X00000000 mmcr1:0X8000000D0C0C021A mmcra:0X00000001
+
+#Group 58 pm_isource_L2, L2 instruction source information
+event:0X03A0 mmcr0:0X00000000 mmcr1:0X8000000F2C2C2C2C mmcra:0X00000000
+event:0X03A1 mmcr0:0X00000000 mmcr1:0X8000000F2C2C2C2C mmcra:0X00000000
+event:0X03A2 mmcr0:0X00000000 mmcr1:0X8000000F2C2C2C2C mmcra:0X00000000
+event:0X03A3 mmcr0:0X00000000 mmcr1:0X8000000F2C2C2C2C mmcra:0X00000000
+
+#Group 59 pm_isource_L3, L3 instruction source information
+event:0X03B0 mmcr0:0X00000000 mmcr1:0X8000000F3A3A3A3A mmcra:0X00000000
+event:0X03B1 mmcr0:0X00000000 mmcr1:0X8000000F3A3A3A3A mmcra:0X00000000
+event:0X03B2 mmcr0:0X00000000 mmcr1:0X8000000F3A3A3A3A mmcra:0X00000000
+event:0X03B3 mmcr0:0X00000000 mmcr1:0X8000000F3A3A3A3A mmcra:0X00000000
+
+#Group 60 pm_pteg_source1, PTEG source information
+event:0X03C0 mmcr0:0X00000000 mmcr1:0X0002000F2E2E2E2E mmcra:0X00000000
+event:0X03C1 mmcr0:0X00000000 mmcr1:0X0002000F2E2E2E2E mmcra:0X00000000
+event:0X03C2 mmcr0:0X00000000 mmcr1:0X0002000F2E2E2E2E mmcra:0X00000000
+event:0X03C3 mmcr0:0X00000000 mmcr1:0X0002000F2E2E2E2E mmcra:0X00000000
+
+#Group 61 pm_pteg_source2, PTEG source information
+event:0X03D0 mmcr0:0X00000000 mmcr1:0X0002000F3C3C3C3C mmcra:0X00000000
+event:0X03D1 mmcr0:0X00000000 mmcr1:0X0002000F3C3C3C3C mmcra:0X00000000
+event:0X03D2 mmcr0:0X00000000 mmcr1:0X0002000F3C3C3C3C mmcra:0X00000000
+event:0X03D3 mmcr0:0X00000000 mmcr1:0X0002000F3C3C3C3C mmcra:0X00000000
+
+#Group 62 pm_pteg_source3, PTEG source information
+event:0X03E0 mmcr0:0X00000000 mmcr1:0X0002000F0E0E360E mmcra:0X00000000
+event:0X03E1 mmcr0:0X00000000 mmcr1:0X0002000F0E0E360E mmcra:0X00000000
+event:0X03E2 mmcr0:0X00000000 mmcr1:0X0002000F0E0E360E mmcra:0X00000000
+event:0X03E3 mmcr0:0X00000000 mmcr1:0X0002000F0E0E360E mmcra:0X00000000
+
+#Group 63 pm_pteg_source4, L3 PTEG and group disptach events
+event:0X03F0 mmcr0:0X00000000 mmcr1:0X003200081C04048E mmcra:0X00000000
+event:0X03F1 mmcr0:0X00000000 mmcr1:0X003200081C04048E mmcra:0X00000000
+event:0X03F2 mmcr0:0X00000000 mmcr1:0X003200081C04048E mmcra:0X00000000
+event:0X03F3 mmcr0:0X00000000 mmcr1:0X003200081C04048E mmcra:0X00000000
+
+#Group 64 pm_L2SA_ld, L2 slice A load events
+event:0X0400 mmcr0:0X00000000 mmcr1:0X3055400580C080C0 mmcra:0X00000000
+event:0X0401 mmcr0:0X00000000 mmcr1:0X3055400580C080C0 mmcra:0X00000000
+event:0X0402 mmcr0:0X00000000 mmcr1:0X3055400580C080C0 mmcra:0X00000000
+event:0X0403 mmcr0:0X00000000 mmcr1:0X3055400580C080C0 mmcra:0X00000000
+
+#Group 65 pm_L2SA_st, L2 slice A store events
+event:0X0410 mmcr0:0X00000000 mmcr1:0X3055800580C080C0 mmcra:0X00000000
+event:0X0411 mmcr0:0X00000000 mmcr1:0X3055800580C080C0 mmcra:0X00000000
+event:0X0412 mmcr0:0X00000000 mmcr1:0X3055800580C080C0 mmcra:0X00000000
+event:0X0413 mmcr0:0X00000000 mmcr1:0X3055800580C080C0 mmcra:0X00000000
+
+#Group 66 pm_L2SA_st2, L2 slice A store events
+event:0X0420 mmcr0:0X00000000 mmcr1:0X3055C00580C080C0 mmcra:0X00000000
+event:0X0421 mmcr0:0X00000000 mmcr1:0X3055C00580C080C0 mmcra:0X00000000
+event:0X0422 mmcr0:0X00000000 mmcr1:0X3055C00580C080C0 mmcra:0X00000000
+event:0X0423 mmcr0:0X00000000 mmcr1:0X3055C00580C080C0 mmcra:0X00000000
+
+#Group 67 pm_L2SB_ld, L2 slice B load events
+event:0X0430 mmcr0:0X00000000 mmcr1:0X3055400582C282C2 mmcra:0X00000000
+event:0X0431 mmcr0:0X00000000 mmcr1:0X3055400582C282C2 mmcra:0X00000000
+event:0X0432 mmcr0:0X00000000 mmcr1:0X3055400582C282C2 mmcra:0X00000000
+event:0X0433 mmcr0:0X00000000 mmcr1:0X3055400582C282C2 mmcra:0X00000000
+
+#Group 68 pm_L2SB_st, L2 slice B store events
+event:0X0440 mmcr0:0X00000000 mmcr1:0X3055800582C482C2 mmcra:0X00000000
+event:0X0441 mmcr0:0X00000000 mmcr1:0X3055800582C482C2 mmcra:0X00000000
+event:0X0442 mmcr0:0X00000000 mmcr1:0X3055800582C482C2 mmcra:0X00000000
+event:0X0443 mmcr0:0X00000000 mmcr1:0X3055800582C482C2 mmcra:0X00000000
+
+#Group 69 pm_L2SB_st2, L2 slice B store events
+event:0X0450 mmcr0:0X00000000 mmcr1:0X3055C00582C282C2 mmcra:0X00000000
+event:0X0451 mmcr0:0X00000000 mmcr1:0X3055C00582C282C2 mmcra:0X00000000
+event:0X0452 mmcr0:0X00000000 mmcr1:0X3055C00582C282C2 mmcra:0X00000000
+event:0X0453 mmcr0:0X00000000 mmcr1:0X3055C00582C282C2 mmcra:0X00000000
+
+#Group 70 pm_L2SC_ld, L2 slice C load events
+event:0X0460 mmcr0:0X00000000 mmcr1:0X3055400584C484C4 mmcra:0X00000000
+event:0X0461 mmcr0:0X00000000 mmcr1:0X3055400584C484C4 mmcra:0X00000000
+event:0X0462 mmcr0:0X00000000 mmcr1:0X3055400584C484C4 mmcra:0X00000000
+event:0X0463 mmcr0:0X00000000 mmcr1:0X3055400584C484C4 mmcra:0X00000000
+
+#Group 71 pm_L2SC_st, L2 slice C store events
+event:0X0470 mmcr0:0X00000000 mmcr1:0X3055800584C284C4 mmcra:0X00000000
+event:0X0471 mmcr0:0X00000000 mmcr1:0X3055800584C284C4 mmcra:0X00000000
+event:0X0472 mmcr0:0X00000000 mmcr1:0X3055800584C284C4 mmcra:0X00000000
+event:0X0473 mmcr0:0X00000000 mmcr1:0X3055800584C284C4 mmcra:0X00000000
+
+#Group 72 pm_L2SC_st2, L2 slice C store events
+event:0X0480 mmcr0:0X00000000 mmcr1:0X3055C00584C484C4 mmcra:0X00000000
+event:0X0481 mmcr0:0X00000000 mmcr1:0X3055C00584C484C4 mmcra:0X00000000
+event:0X0482 mmcr0:0X00000000 mmcr1:0X3055C00584C484C4 mmcra:0X00000000
+event:0X0483 mmcr0:0X00000000 mmcr1:0X3055C00584C484C4 mmcra:0X00000000
+
+#Group 73 pm_L3SA_trans, L3 slice A state transistions
+event:0X0490 mmcr0:0X00000000 mmcr1:0X3015000AC602C686 mmcra:0X00000001
+event:0X0491 mmcr0:0X00000000 mmcr1:0X3015000AC602C686 mmcra:0X00000001
+event:0X0492 mmcr0:0X00000000 mmcr1:0X3015000AC602C686 mmcra:0X00000001
+event:0X0493 mmcr0:0X00000000 mmcr1:0X3015000AC602C686 mmcra:0X00000001
+
+#Group 74 pm_L3SB_trans, L3 slice B state transistions
+event:0X04A0 mmcr0:0X00000000 mmcr1:0X3015000602C8C888 mmcra:0X00000001
+event:0X04A1 mmcr0:0X00000000 mmcr1:0X3015000602C8C888 mmcra:0X00000001
+event:0X04A2 mmcr0:0X00000000 mmcr1:0X3015000602C8C888 mmcra:0X00000001
+event:0X04A3 mmcr0:0X00000000 mmcr1:0X3015000602C8C888 mmcra:0X00000001
+
+#Group 75 pm_L3SC_trans, L3 slice C state transistions
+event:0X04B0 mmcr0:0X00000000 mmcr1:0X3015000602CACA8A mmcra:0X00000001
+event:0X04B1 mmcr0:0X00000000 mmcr1:0X3015000602CACA8A mmcra:0X00000001
+event:0X04B2 mmcr0:0X00000000 mmcr1:0X3015000602CACA8A mmcra:0X00000001
+event:0X04B3 mmcr0:0X00000000 mmcr1:0X3015000602CACA8A mmcra:0X00000001
+
+#Group 76 pm_L2SA_trans, L2 slice A state transistions
+event:0X04C0 mmcr0:0X00000000 mmcr1:0X3055000AC080C080 mmcra:0X00000000
+event:0X04C1 mmcr0:0X00000000 mmcr1:0X3055000AC080C080 mmcra:0X00000000
+event:0X04C2 mmcr0:0X00000000 mmcr1:0X3055000AC080C080 mmcra:0X00000000
+event:0X04C3 mmcr0:0X00000000 mmcr1:0X3055000AC080C080 mmcra:0X00000000
+
+#Group 77 pm_L2SB_trans, L2 slice B state transistions
+event:0X04D0 mmcr0:0X00000000 mmcr1:0X3055000AC282C282 mmcra:0X00000000
+event:0X04D1 mmcr0:0X00000000 mmcr1:0X3055000AC282C282 mmcra:0X00000000
+event:0X04D2 mmcr0:0X00000000 mmcr1:0X3055000AC282C282 mmcra:0X00000000
+event:0X04D3 mmcr0:0X00000000 mmcr1:0X3055000AC282C282 mmcra:0X00000000
+
+#Group 78 pm_L2SC_trans, L2 slice C state transistions
+event:0X04E0 mmcr0:0X00000000 mmcr1:0X3055000AC484C484 mmcra:0X00000000
+event:0X04E1 mmcr0:0X00000000 mmcr1:0X3055000AC484C484 mmcra:0X00000000
+event:0X04E2 mmcr0:0X00000000 mmcr1:0X3055000AC484C484 mmcra:0X00000000
+event:0X04E3 mmcr0:0X00000000 mmcr1:0X3055000AC484C484 mmcra:0X00000000
+
+#Group 79 pm_L3SAB_retry, L3 slice A/B snoop retry and all CI/CO busy
+event:0X04F0 mmcr0:0X00000000 mmcr1:0X3005100FC6C8C6C8 mmcra:0X00000000
+event:0X04F1 mmcr0:0X00000000 mmcr1:0X3005100FC6C8C6C8 mmcra:0X00000000
+event:0X04F2 mmcr0:0X00000000 mmcr1:0X3005100FC6C8C6C8 mmcra:0X00000000
+event:0X04F3 mmcr0:0X00000000 mmcr1:0X3005100FC6C8C6C8 mmcra:0X00000000
+
+#Group 80 pm_L3SAB_hit, L3 slice A/B hit and reference
+event:0X0500 mmcr0:0X00000000 mmcr1:0X3050100086888688 mmcra:0X00000000
+event:0X0501 mmcr0:0X00000000 mmcr1:0X3050100086888688 mmcra:0X00000000
+event:0X0502 mmcr0:0X00000000 mmcr1:0X3050100086888688 mmcra:0X00000000
+event:0X0503 mmcr0:0X00000000 mmcr1:0X3050100086888688 mmcra:0X00000000
+
+#Group 81 pm_L3SC_retry_hit, L3 slice C hit & snoop retry
+event:0X0510 mmcr0:0X00000000 mmcr1:0X3055100ACA8ACA8A mmcra:0X00000000
+event:0X0511 mmcr0:0X00000000 mmcr1:0X3055100ACA8ACA8A mmcra:0X00000000
+event:0X0512 mmcr0:0X00000000 mmcr1:0X3055100ACA8ACA8A mmcra:0X00000000
+event:0X0513 mmcr0:0X00000000 mmcr1:0X3055100ACA8ACA8A mmcra:0X00000000
+
+#Group 82 pm_fpu1, Floating Point events
+event:0X0520 mmcr0:0X00000000 mmcr1:0X0000000010101020 mmcra:0X00000000
+event:0X0521 mmcr0:0X00000000 mmcr1:0X0000000010101020 mmcra:0X00000000
+event:0X0522 mmcr0:0X00000000 mmcr1:0X0000000010101020 mmcra:0X00000000
+event:0X0523 mmcr0:0X00000000 mmcr1:0X0000000010101020 mmcra:0X00000000
+
+#Group 83 pm_fpu2, Floating Point events
+event:0X0530 mmcr0:0X00000000 mmcr1:0X0000000020202010 mmcra:0X00000000
+event:0X0531 mmcr0:0X00000000 mmcr1:0X0000000020202010 mmcra:0X00000000
+event:0X0532 mmcr0:0X00000000 mmcr1:0X0000000020202010 mmcra:0X00000000
+event:0X0533 mmcr0:0X00000000 mmcr1:0X0000000020202010 mmcra:0X00000000
+
+#Group 84 pm_fpu3, Floating point events
+event:0X0540 mmcr0:0X00000000 mmcr1:0X0000000C1010868E mmcra:0X00000000
+event:0X0541 mmcr0:0X00000000 mmcr1:0X0000000C1010868E mmcra:0X00000000
+event:0X0542 mmcr0:0X00000000 mmcr1:0X0000000C1010868E mmcra:0X00000000
+event:0X0543 mmcr0:0X00000000 mmcr1:0X0000000C1010868E mmcra:0X00000000
+
+#Group 85 pm_fpu4, Floating point events
+event:0X0550 mmcr0:0X00000000 mmcr1:0X0430000C20200220 mmcra:0X00000001
+event:0X0551 mmcr0:0X00000000 mmcr1:0X0430000C20200220 mmcra:0X00000001
+event:0X0552 mmcr0:0X00000000 mmcr1:0X0430000C20200220 mmcra:0X00000001
+event:0X0553 mmcr0:0X00000000 mmcr1:0X0430000C20200220 mmcra:0X00000001
+
+#Group 86 pm_fpu5, Floating point events by unit
+event:0X0560 mmcr0:0X00000000 mmcr1:0X00000000848C848C mmcra:0X00000000
+event:0X0561 mmcr0:0X00000000 mmcr1:0X00000000848C848C mmcra:0X00000000
+event:0X0562 mmcr0:0X00000000 mmcr1:0X00000000848C848C mmcra:0X00000000
+event:0X0563 mmcr0:0X00000000 mmcr1:0X00000000848C848C mmcra:0X00000000
+
+#Group 87 pm_fpu6, Floating point events by unit
+event:0X0570 mmcr0:0X00000000 mmcr1:0X0000000CC0C88088 mmcra:0X00000000
+event:0X0571 mmcr0:0X00000000 mmcr1:0X0000000CC0C88088 mmcra:0X00000000
+event:0X0572 mmcr0:0X00000000 mmcr1:0X0000000CC0C88088 mmcra:0X00000000
+event:0X0573 mmcr0:0X00000000 mmcr1:0X0000000CC0C88088 mmcra:0X00000000
+
+#Group 88 pm_fpu7, Floating point events by unit
+event:0X0580 mmcr0:0X00000000 mmcr1:0X000000008088828A mmcra:0X00000000
+event:0X0581 mmcr0:0X00000000 mmcr1:0X000000008088828A mmcra:0X00000000
+event:0X0582 mmcr0:0X00000000 mmcr1:0X000000008088828A mmcra:0X00000000
+event:0X0583 mmcr0:0X00000000 mmcr1:0X000000008088828A mmcra:0X00000000
+
+#Group 89 pm_fpu8, Floating point events by unit
+event:0X0590 mmcr0:0X00000000 mmcr1:0X0000000DC2CA02C0 mmcra:0X00000001
+event:0X0591 mmcr0:0X00000000 mmcr1:0X0000000DC2CA02C0 mmcra:0X00000001
+event:0X0592 mmcr0:0X00000000 mmcr1:0X0000000DC2CA02C0 mmcra:0X00000001
+event:0X0593 mmcr0:0X00000000 mmcr1:0X0000000DC2CA02C0 mmcra:0X00000001
+
+#Group 90 pm_fpu9, Floating point events by unit
+event:0X05A0 mmcr0:0X00000000 mmcr1:0X0430000CC6CE8088 mmcra:0X00000000
+event:0X05A1 mmcr0:0X00000000 mmcr1:0X0430000CC6CE8088 mmcra:0X00000000
+event:0X05A2 mmcr0:0X00000000 mmcr1:0X0430000CC6CE8088 mmcra:0X00000000
+event:0X05A3 mmcr0:0X00000000 mmcr1:0X0430000CC6CE8088 mmcra:0X00000000
+
+#Group 91 pm_fpu10, Floating point events by unit
+event:0X05B0 mmcr0:0X00000000 mmcr1:0X00000000828A028A mmcra:0X00000001
+event:0X05B1 mmcr0:0X00000000 mmcr1:0X00000000828A028A mmcra:0X00000001
+event:0X05B2 mmcr0:0X00000000 mmcr1:0X00000000828A028A mmcra:0X00000001
+event:0X05B3 mmcr0:0X00000000 mmcr1:0X00000000828A028A mmcra:0X00000001
+
+#Group 92 pm_fpu11, Floating point events by unit
+event:0X05C0 mmcr0:0X00000000 mmcr1:0X00000000868E8602 mmcra:0X00000001
+event:0X05C1 mmcr0:0X00000000 mmcr1:0X00000000868E8602 mmcra:0X00000001
+event:0X05C2 mmcr0:0X00000000 mmcr1:0X00000000868E8602 mmcra:0X00000001
+event:0X05C3 mmcr0:0X00000000 mmcr1:0X00000000868E8602 mmcra:0X00000001
+
+#Group 93 pm_fpu12, Floating point events by unit
+event:0X05D0 mmcr0:0X00000000 mmcr1:0X0430000CC4CC8002 mmcra:0X00000001
+event:0X05D1 mmcr0:0X00000000 mmcr1:0X0430000CC4CC8002 mmcra:0X00000001
+event:0X05D2 mmcr0:0X00000000 mmcr1:0X0430000CC4CC8002 mmcra:0X00000001
+event:0X05D3 mmcr0:0X00000000 mmcr1:0X0430000CC4CC8002 mmcra:0X00000001
+
+#Group 94 pm_fxu1, Fixed Point events
+event:0X05E0 mmcr0:0X00000000 mmcr1:0X0000000024242424 mmcra:0X00000000
+event:0X05E1 mmcr0:0X00000000 mmcr1:0X0000000024242424 mmcra:0X00000000
+event:0X05E2 mmcr0:0X00000000 mmcr1:0X0000000024242424 mmcra:0X00000000
+event:0X05E3 mmcr0:0X00000000 mmcr1:0X0000000024242424 mmcra:0X00000000
+
+#Group 95 pm_fxu2, Fixed Point events
+event:0X05F0 mmcr0:0X00000000 mmcr1:0X4000000604221020 mmcra:0X00000001
+event:0X05F1 mmcr0:0X00000000 mmcr1:0X4000000604221020 mmcra:0X00000001
+event:0X05F2 mmcr0:0X00000000 mmcr1:0X4000000604221020 mmcra:0X00000001
+event:0X05F3 mmcr0:0X00000000 mmcr1:0X4000000604221020 mmcra:0X00000001
+
+#Group 96 pm_fxu3, Fixed Point events
+event:0X0600 mmcr0:0X00000000 mmcr1:0X404000038688C4CC mmcra:0X00000000
+event:0X0601 mmcr0:0X00000000 mmcr1:0X404000038688C4CC mmcra:0X00000000
+event:0X0602 mmcr0:0X00000000 mmcr1:0X404000038688C4CC mmcra:0X00000000
+event:0X0603 mmcr0:0X00000000 mmcr1:0X404000038688C4CC mmcra:0X00000000
+
+#Group 97 pm_smt_priorities1, Thread priority events
+event:0X0610 mmcr0:0X00000000 mmcr1:0X0005000FC6CCC6C8 mmcra:0X00000000
+event:0X0611 mmcr0:0X00000000 mmcr1:0X0005000FC6CCC6C8 mmcra:0X00000000
+event:0X0612 mmcr0:0X00000000 mmcr1:0X0005000FC6CCC6C8 mmcra:0X00000000
+event:0X0613 mmcr0:0X00000000 mmcr1:0X0005000FC6CCC6C8 mmcra:0X00000000
+
+#Group 98 pm_smt_priorities2, Thread priority events
+event:0X0620 mmcr0:0X00000000 mmcr1:0X0005000FC4CACACC mmcra:0X00000000
+event:0X0621 mmcr0:0X00000000 mmcr1:0X0005000FC4CACACC mmcra:0X00000000
+event:0X0622 mmcr0:0X00000000 mmcr1:0X0005000FC4CACACC mmcra:0X00000000
+event:0X0623 mmcr0:0X00000000 mmcr1:0X0005000FC4CACACC mmcra:0X00000000
+
+#Group 99 pm_smt_priorities3, Thread priority events
+event:0X0630 mmcr0:0X00000000 mmcr1:0X0005000FC2C8C4C2 mmcra:0X00000000
+event:0X0631 mmcr0:0X00000000 mmcr1:0X0005000FC2C8C4C2 mmcra:0X00000000
+event:0X0632 mmcr0:0X00000000 mmcr1:0X0005000FC2C8C4C2 mmcra:0X00000000
+event:0X0633 mmcr0:0X00000000 mmcr1:0X0005000FC2C8C4C2 mmcra:0X00000000
+
+#Group 100 pm_smt_priorities4, Thread priority events
+event:0X0640 mmcr0:0X00000000 mmcr1:0X0005000AC016C002 mmcra:0X00000001
+event:0X0641 mmcr0:0X00000000 mmcr1:0X0005000AC016C002 mmcra:0X00000001
+event:0X0642 mmcr0:0X00000000 mmcr1:0X0005000AC016C002 mmcra:0X00000001
+event:0X0643 mmcr0:0X00000000 mmcr1:0X0005000AC016C002 mmcra:0X00000001
+
+#Group 101 pm_smt_both, Thread common events
+event:0X0650 mmcr0:0X00000000 mmcr1:0X0010000016260208 mmcra:0X00000001
+event:0X0651 mmcr0:0X00000000 mmcr1:0X0010000016260208 mmcra:0X00000001
+event:0X0652 mmcr0:0X00000000 mmcr1:0X0010000016260208 mmcra:0X00000001
+event:0X0653 mmcr0:0X00000000 mmcr1:0X0010000016260208 mmcra:0X00000001
+
+#Group 102 pm_smt_selection, Thread selection
+event:0X0660 mmcr0:0X00000000 mmcr1:0X0090000086028082 mmcra:0X00000001
+event:0X0661 mmcr0:0X00000000 mmcr1:0X0090000086028082 mmcra:0X00000001
+event:0X0662 mmcr0:0X00000000 mmcr1:0X0090000086028082 mmcra:0X00000001
+event:0X0663 mmcr0:0X00000000 mmcr1:0X0090000086028082 mmcra:0X00000001
+
+#Group 103 pm_smt_selectover1, Thread selection overide
+event:0X0670 mmcr0:0X00000000 mmcr1:0X0050000002808488 mmcra:0X00000001
+event:0X0671 mmcr0:0X00000000 mmcr1:0X0050000002808488 mmcra:0X00000001
+event:0X0672 mmcr0:0X00000000 mmcr1:0X0050000002808488 mmcra:0X00000001
+event:0X0673 mmcr0:0X00000000 mmcr1:0X0050000002808488 mmcra:0X00000001
+
+#Group 104 pm_smt_selectover2, Thread selection overide
+event:0X0680 mmcr0:0X00000000 mmcr1:0X00100000021E8A86 mmcra:0X00000001
+event:0X0681 mmcr0:0X00000000 mmcr1:0X00100000021E8A86 mmcra:0X00000001
+event:0X0682 mmcr0:0X00000000 mmcr1:0X00100000021E8A86 mmcra:0X00000001
+event:0X0683 mmcr0:0X00000000 mmcr1:0X00100000021E8A86 mmcra:0X00000001
+
+#Group 105 pm_fabric1, Fabric events
+event:0X0690 mmcr0:0X00000000 mmcr1:0X305500058ECE8ECE mmcra:0X00000000
+event:0X0691 mmcr0:0X00000000 mmcr1:0X305500058ECE8ECE mmcra:0X00000000
+event:0X0692 mmcr0:0X00000000 mmcr1:0X305500058ECE8ECE mmcra:0X00000000
+event:0X0693 mmcr0:0X00000000 mmcr1:0X305500058ECE8ECE mmcra:0X00000000
+
+#Group 106 pm_fabric2, Fabric data movement
+event:0X06A0 mmcr0:0X00000000 mmcr1:0X305500858ECE8ECE mmcra:0X00000000
+event:0X06A1 mmcr0:0X00000000 mmcr1:0X305500858ECE8ECE mmcra:0X00000000
+event:0X06A2 mmcr0:0X00000000 mmcr1:0X305500858ECE8ECE mmcra:0X00000000
+event:0X06A3 mmcr0:0X00000000 mmcr1:0X305500858ECE8ECE mmcra:0X00000000
+
+#Group 107 pm_fabric3, Fabric data movement
+event:0X06B0 mmcr0:0X00000000 mmcr1:0X305501858ECE8ECE mmcra:0X00000000
+event:0X06B1 mmcr0:0X00000000 mmcr1:0X305501858ECE8ECE mmcra:0X00000000
+event:0X06B2 mmcr0:0X00000000 mmcr1:0X305501858ECE8ECE mmcra:0X00000000
+event:0X06B3 mmcr0:0X00000000 mmcr1:0X305501858ECE8ECE mmcra:0X00000000
+
+#Group 108 pm_fabric4, Fabric data movement
+event:0X06C0 mmcr0:0X00000000 mmcr1:0X705401068ECEC68E mmcra:0X00000000
+event:0X06C1 mmcr0:0X00000000 mmcr1:0X705401068ECEC68E mmcra:0X00000000
+event:0X06C2 mmcr0:0X00000000 mmcr1:0X705401068ECEC68E mmcra:0X00000000
+event:0X06C3 mmcr0:0X00000000 mmcr1:0X705401068ECEC68E mmcra:0X00000000
+
+#Group 109 pm_snoop1, Snoop retry
+event:0X06D0 mmcr0:0X00000000 mmcr1:0X305500058CCC8CCC mmcra:0X00000000
+event:0X06D1 mmcr0:0X00000000 mmcr1:0X305500058CCC8CCC mmcra:0X00000000
+event:0X06D2 mmcr0:0X00000000 mmcr1:0X305500058CCC8CCC mmcra:0X00000000
+event:0X06D3 mmcr0:0X00000000 mmcr1:0X305500058CCC8CCC mmcra:0X00000000
+
+#Group 110 pm_snoop2, Snoop read retry
+event:0X06E0 mmcr0:0X00000000 mmcr1:0X30540A048CCC8C02 mmcra:0X00000001
+event:0X06E1 mmcr0:0X00000000 mmcr1:0X30540A048CCC8C02 mmcra:0X00000001
+event:0X06E2 mmcr0:0X00000000 mmcr1:0X30540A048CCC8C02 mmcra:0X00000001
+event:0X06E3 mmcr0:0X00000000 mmcr1:0X30540A048CCC8C02 mmcra:0X00000001
+
+#Group 111 pm_snoop3, Snoop write retry
+event:0X06F0 mmcr0:0X00000000 mmcr1:0X30550C058CCC8CCC mmcra:0X00000000
+event:0X06F1 mmcr0:0X00000000 mmcr1:0X30550C058CCC8CCC mmcra:0X00000000
+event:0X06F2 mmcr0:0X00000000 mmcr1:0X30550C058CCC8CCC mmcra:0X00000000
+event:0X06F3 mmcr0:0X00000000 mmcr1:0X30550C058CCC8CCC mmcra:0X00000000
+
+#Group 112 pm_snoop4, Snoop partial write retry
+event:0X0700 mmcr0:0X00000000 mmcr1:0X30540E048CCC8CAC mmcra:0X00000000
+event:0X0701 mmcr0:0X00000000 mmcr1:0X30540E048CCC8CAC mmcra:0X00000000
+event:0X0702 mmcr0:0X00000000 mmcr1:0X30540E048CCC8CAC mmcra:0X00000000
+event:0X0703 mmcr0:0X00000000 mmcr1:0X30540E048CCC8CAC mmcra:0X00000000
+
+#Group 113 pm_mem_rq, Memory read queue dispatch
+event:0X0710 mmcr0:0X00000000 mmcr1:0X705402058CCC8CCE mmcra:0X00000000
+event:0X0711 mmcr0:0X00000000 mmcr1:0X705402058CCC8CCE mmcra:0X00000000
+event:0X0712 mmcr0:0X00000000 mmcr1:0X705402058CCC8CCE mmcra:0X00000000
+event:0X0713 mmcr0:0X00000000 mmcr1:0X705402058CCC8CCE mmcra:0X00000000
+
+#Group 114 pm_mem_read, Memory read complete and cancel
+event:0X0720 mmcr0:0X00000000 mmcr1:0X305404048CCC8C06 mmcra:0X00000000
+event:0X0721 mmcr0:0X00000000 mmcr1:0X305404048CCC8C06 mmcra:0X00000000
+event:0X0722 mmcr0:0X00000000 mmcr1:0X305404048CCC8C06 mmcra:0X00000000
+event:0X0723 mmcr0:0X00000000 mmcr1:0X305404048CCC8C06 mmcra:0X00000000
+
+#Group 115 pm_mem_wq, Memory write queue dispatch
+event:0X0730 mmcr0:0X00000000 mmcr1:0X305506058CCC8CCC mmcra:0X00000000
+event:0X0731 mmcr0:0X00000000 mmcr1:0X305506058CCC8CCC mmcra:0X00000000
+event:0X0732 mmcr0:0X00000000 mmcr1:0X305506058CCC8CCC mmcra:0X00000000
+event:0X0733 mmcr0:0X00000000 mmcr1:0X305506058CCC8CCC mmcra:0X00000000
+
+#Group 116 pm_mem_pwq, Memory partial write queue
+event:0X0740 mmcr0:0X00000000 mmcr1:0X305508058CCC8CCC mmcra:0X00000000
+event:0X0741 mmcr0:0X00000000 mmcr1:0X305508058CCC8CCC mmcra:0X00000000
+event:0X0742 mmcr0:0X00000000 mmcr1:0X305508058CCC8CCC mmcra:0X00000000
+event:0X0743 mmcr0:0X00000000 mmcr1:0X305508058CCC8CCC mmcra:0X00000000
+
+#Group 117 pm_threshold, Thresholding
+event:0X0750 mmcr0:0X00000000 mmcr1:0X0008000404C41628 mmcra:0X00000001
+event:0X0751 mmcr0:0X00000000 mmcr1:0X0008000404C41628 mmcra:0X00000001
+event:0X0752 mmcr0:0X00000000 mmcr1:0X0008000404C41628 mmcra:0X00000001
+event:0X0753 mmcr0:0X00000000 mmcr1:0X0008000404C41628 mmcra:0X00000001
+
+#Group 118 pm_mrk_grp1, Marked group events
+event:0X0760 mmcr0:0X00000000 mmcr1:0X0008000404C60A26 mmcra:0X00000001
+event:0X0761 mmcr0:0X00000000 mmcr1:0X0008000404C60A26 mmcra:0X00000001
+event:0X0762 mmcr0:0X00000000 mmcr1:0X0008000404C60A26 mmcra:0X00000001
+event:0X0763 mmcr0:0X00000000 mmcr1:0X0008000404C60A26 mmcra:0X00000001
+
+#Group 119 pm_mrk_grp2, Marked group events
+event:0X0770 mmcr0:0X00000000 mmcr1:0X410300032A0AC822 mmcra:0X00000001
+event:0X0771 mmcr0:0X00000000 mmcr1:0X410300032A0AC822 mmcra:0X00000001
+event:0X0772 mmcr0:0X00000000 mmcr1:0X410300032A0AC822 mmcra:0X00000001
+event:0X0773 mmcr0:0X00000000 mmcr1:0X410300032A0AC822 mmcra:0X00000001
+
+#Group 120 pm_mrk_dsource1, Marked data from
+event:0X0780 mmcr0:0X00000000 mmcr1:0X010B000F0E404444 mmcra:0X00000001
+event:0X0781 mmcr0:0X00000000 mmcr1:0X010B000F0E404444 mmcra:0X00000001
+event:0X0782 mmcr0:0X00000000 mmcr1:0X010B000F0E404444 mmcra:0X00000001
+event:0X0783 mmcr0:0X00000000 mmcr1:0X010B000F0E404444 mmcra:0X00000001
+
+#Group 121 pm_mrk_dsource2, Marked data from
+event:0X0790 mmcr0:0X00000000 mmcr1:0X010B000C2E440210 mmcra:0X00000001
+event:0X0791 mmcr0:0X00000000 mmcr1:0X010B000C2E440210 mmcra:0X00000001
+event:0X0792 mmcr0:0X00000000 mmcr1:0X010B000C2E440210 mmcra:0X00000001
+event:0X0793 mmcr0:0X00000000 mmcr1:0X010B000C2E440210 mmcra:0X00000001
+
+#Group 122 pm_mrk_dsource3, Marked data from
+event:0X07A0 mmcr0:0X00000000 mmcr1:0X010B000F1C484C4C mmcra:0X00000001
+event:0X07A1 mmcr0:0X00000000 mmcr1:0X010B000F1C484C4C mmcra:0X00000001
+event:0X07A2 mmcr0:0X00000000 mmcr1:0X010B000F1C484C4C mmcra:0X00000001
+event:0X07A3 mmcr0:0X00000000 mmcr1:0X010B000F1C484C4C mmcra:0X00000001
+
+#Group 123 pm_mrk_dsource4, Marked data from
+event:0X07B0 mmcr0:0X00000000 mmcr1:0X010B000F42462E42 mmcra:0X00000001
+event:0X07B1 mmcr0:0X00000000 mmcr1:0X010B000F42462E42 mmcra:0X00000001
+event:0X07B2 mmcr0:0X00000000 mmcr1:0X010B000F42462E42 mmcra:0X00000001
+event:0X07B3 mmcr0:0X00000000 mmcr1:0X010B000F42462E42 mmcra:0X00000001
+
+#Group 124 pm_mrk_dsource5, Marked data from
+event:0X07C0 mmcr0:0X00000000 mmcr1:0X010B000F3C4C4040 mmcra:0X00000001
+event:0X07C1 mmcr0:0X00000000 mmcr1:0X010B000F3C4C4040 mmcra:0X00000001
+event:0X07C2 mmcr0:0X00000000 mmcr1:0X010B000F3C4C4040 mmcra:0X00000001
+event:0X07C3 mmcr0:0X00000000 mmcr1:0X010B000F3C4C4040 mmcra:0X00000001
+
+#Group 125 pm_mrk_dsource6, Marked data from
+event:0X07D0 mmcr0:0X00000000 mmcr1:0X010B000D46460246 mmcra:0X00000001
+event:0X07D1 mmcr0:0X00000000 mmcr1:0X010B000D46460246 mmcra:0X00000001
+event:0X07D2 mmcr0:0X00000000 mmcr1:0X010B000D46460246 mmcra:0X00000001
+event:0X07D3 mmcr0:0X00000000 mmcr1:0X010B000D46460246 mmcra:0X00000001
+
+#Group 126 pm_mrk_dsource7, Marked data from
+event:0X07E0 mmcr0:0X00000000 mmcr1:0X010B000F4E4E3C4E mmcra:0X00000001
+event:0X07E1 mmcr0:0X00000000 mmcr1:0X010B000F4E4E3C4E mmcra:0X00000001
+event:0X07E2 mmcr0:0X00000000 mmcr1:0X010B000F4E4E3C4E mmcra:0X00000001
+event:0X07E3 mmcr0:0X00000000 mmcr1:0X010B000F4E4E3C4E mmcra:0X00000001
+
+#Group 127 pm_mrk_dtlbref, Marked data TLB references
+event:0X07F0 mmcr0:0X00000000 mmcr1:0X020C000F0C0C0C0C mmcra:0X00000001
+event:0X07F1 mmcr0:0X00000000 mmcr1:0X020C000F0C0C0C0C mmcra:0X00000001
+event:0X07F2 mmcr0:0X00000000 mmcr1:0X020C000F0C0C0C0C mmcra:0X00000001
+event:0X07F3 mmcr0:0X00000000 mmcr1:0X020C000F0C0C0C0C mmcra:0X00000001
+
+#Group 128 pm_mrk_dtlbmiss, Marked data TLB misses
+event:0X0800 mmcr0:0X00000000 mmcr1:0X020C000F1A1A1A1A mmcra:0X00000001
+event:0X0801 mmcr0:0X00000000 mmcr1:0X020C000F1A1A1A1A mmcra:0X00000001
+event:0X0802 mmcr0:0X00000000 mmcr1:0X020C000F1A1A1A1A mmcra:0X00000001
+event:0X0803 mmcr0:0X00000000 mmcr1:0X020C000F1A1A1A1A mmcra:0X00000001
+
+#Group 129 pm_mrk_dtlb_dslb, Marked data TLB references and misses and marked data SLB misses
+event:0X0810 mmcr0:0X00000000 mmcr1:0X063C0008C8AC8E1E mmcra:0X00000001
+event:0X0811 mmcr0:0X00000000 mmcr1:0X063C0008C8AC8E1E mmcra:0X00000001
+event:0X0812 mmcr0:0X00000000 mmcr1:0X063C0008C8AC8E1E mmcra:0X00000001
+event:0X0813 mmcr0:0X00000000 mmcr1:0X063C0008C8AC8E1E mmcra:0X00000001
+
+#Group 130 pm_mrk_lbref, Marked TLB and SLB references
+event:0X0820 mmcr0:0X00000000 mmcr1:0X063C000A0C020C8E mmcra:0X00000001
+event:0X0821 mmcr0:0X00000000 mmcr1:0X063C000A0C020C8E mmcra:0X00000001
+event:0X0822 mmcr0:0X00000000 mmcr1:0X063C000A0C020C8E mmcra:0X00000001
+event:0X0823 mmcr0:0X00000000 mmcr1:0X063C000A0C020C8E mmcra:0X00000001
+
+#Group 131 pm_mrk_lsmiss, Marked load and store miss
+event:0X0830 mmcr0:0X00000000 mmcr1:0X000800081002060A mmcra:0X00000001
+event:0X0831 mmcr0:0X00000000 mmcr1:0X000800081002060A mmcra:0X00000001
+event:0X0832 mmcr0:0X00000000 mmcr1:0X000800081002060A mmcra:0X00000001
+event:0X0833 mmcr0:0X00000000 mmcr1:0X000800081002060A mmcra:0X00000001
+
+#Group 132 pm_mrk_ulsflush, Mark unaligned load and store flushes
+event:0X0840 mmcr0:0X00000000 mmcr1:0X0028000406C62020 mmcra:0X00000001
+event:0X0841 mmcr0:0X00000000 mmcr1:0X0028000406C62020 mmcra:0X00000001
+event:0X0842 mmcr0:0X00000000 mmcr1:0X0028000406C62020 mmcra:0X00000001
+event:0X0843 mmcr0:0X00000000 mmcr1:0X0028000406C62020 mmcra:0X00000001
+
+#Group 133 pm_mrk_misc, Misc marked instructions
+event:0X0850 mmcr0:0X00000000 mmcr1:0X00080008CC062816 mmcra:0X00000001
+event:0X0851 mmcr0:0X00000000 mmcr1:0X00080008CC062816 mmcra:0X00000001
+event:0X0852 mmcr0:0X00000000 mmcr1:0X00080008CC062816 mmcra:0X00000001
+event:0X0853 mmcr0:0X00000000 mmcr1:0X00080008CC062816 mmcra:0X00000001
+
+#Group 134 pm_lsref_L1, Load/Store operations and L1 activity
+event:0X0860 mmcr0:0X00000000 mmcr1:0X8033000C0E1A2020 mmcra:0X00000000
+event:0X0861 mmcr0:0X00000000 mmcr1:0X8033000C0E1A2020 mmcra:0X00000000
+event:0X0862 mmcr0:0X00000000 mmcr1:0X8033000C0E1A2020 mmcra:0X00000000
+event:0X0863 mmcr0:0X00000000 mmcr1:0X8033000C0E1A2020 mmcra:0X00000000
+
+#Group 135 pm_lsref_L2L3, Load/Store operations and L2, L3 activity
+event:0X0870 mmcr0:0X00000000 mmcr1:0X0033000C1C0E2020 mmcra:0X00000000
+event:0X0871 mmcr0:0X00000000 mmcr1:0X0033000C1C0E2020 mmcra:0X00000000
+event:0X0872 mmcr0:0X00000000 mmcr1:0X0033000C1C0E2020 mmcra:0X00000000
+event:0X0873 mmcr0:0X00000000 mmcr1:0X0033000C1C0E2020 mmcra:0X00000000
+
+#Group 136 pm_lsref_tlbmiss, Load/Store operations and TLB misses
+event:0X0880 mmcr0:0X00000000 mmcr1:0X00B0000080882020 mmcra:0X00000000
+event:0X0881 mmcr0:0X00000000 mmcr1:0X00B0000080882020 mmcra:0X00000000
+event:0X0882 mmcr0:0X00000000 mmcr1:0X00B0000080882020 mmcra:0X00000000
+event:0X0883 mmcr0:0X00000000 mmcr1:0X00B0000080882020 mmcra:0X00000000
+
+#Group 137 pm_Dmiss, Data cache misses
+event:0X0890 mmcr0:0X00000000 mmcr1:0X0033000C1C0E1086 mmcra:0X00000000
+event:0X0891 mmcr0:0X00000000 mmcr1:0X0033000C1C0E1086 mmcra:0X00000000
+event:0X0892 mmcr0:0X00000000 mmcr1:0X0033000C1C0E1086 mmcra:0X00000000
+event:0X0893 mmcr0:0X00000000 mmcr1:0X0033000C1C0E1086 mmcra:0X00000000
+
+#Group 138 pm_prefetchX, Prefetch events
+event:0X08A0 mmcr0:0X00000000 mmcr1:0X853300061ECCCE86 mmcra:0X00000000
+event:0X08A1 mmcr0:0X00000000 mmcr1:0X853300061ECCCE86 mmcra:0X00000000
+event:0X08A2 mmcr0:0X00000000 mmcr1:0X853300061ECCCE86 mmcra:0X00000000
+event:0X08A3 mmcr0:0X00000000 mmcr1:0X853300061ECCCE86 mmcra:0X00000000
+
+#Group 139 pm_branchX, Branch operations
+event:0X08B0 mmcr0:0X00000000 mmcr1:0X8000000F0E0E0EC8 mmcra:0X00000000
+event:0X08B1 mmcr0:0X00000000 mmcr1:0X8000000F0E0E0EC8 mmcra:0X00000000
+event:0X08B2 mmcr0:0X00000000 mmcr1:0X8000000F0E0E0EC8 mmcra:0X00000000
+event:0X08B3 mmcr0:0X00000000 mmcr1:0X8000000F0E0E0EC8 mmcra:0X00000000
+
+#Group 140 pm_fpuX1, Floating point events by unit
+event:0X08C0 mmcr0:0X00000000 mmcr1:0X0000000DC2CA86C0 mmcra:0X00000000
+event:0X08C1 mmcr0:0X00000000 mmcr1:0X0000000DC2CA86C0 mmcra:0X00000000
+event:0X08C2 mmcr0:0X00000000 mmcr1:0X0000000DC2CA86C0 mmcra:0X00000000
+event:0X08C3 mmcr0:0X00000000 mmcr1:0X0000000DC2CA86C0 mmcra:0X00000000
+
+#Group 141 pm_fpuX2, Floating point events by unit
+event:0X08D0 mmcr0:0X00000000 mmcr1:0X00000000828A828A mmcra:0X00000000
+event:0X08D1 mmcr0:0X00000000 mmcr1:0X00000000828A828A mmcra:0X00000000
+event:0X08D2 mmcr0:0X00000000 mmcr1:0X00000000828A828A mmcra:0X00000000
+event:0X08D3 mmcr0:0X00000000 mmcr1:0X00000000828A828A mmcra:0X00000000
+
+#Group 142 pm_fpuX3, Floating point events by unit
+event:0X08E0 mmcr0:0X00000000 mmcr1:0X00000000868E868E mmcra:0X00000000
+event:0X08E1 mmcr0:0X00000000 mmcr1:0X00000000868E868E mmcra:0X00000000
+event:0X08E2 mmcr0:0X00000000 mmcr1:0X00000000868E868E mmcra:0X00000000
+event:0X08E3 mmcr0:0X00000000 mmcr1:0X00000000868E868E mmcra:0X00000000
+
+#Group 143 pm_fpuX4, Floating point and L1 events
+event:0X08F0 mmcr0:0X00000000 mmcr1:0X0030000020102020 mmcra:0X00000000
+event:0X08F1 mmcr0:0X00000000 mmcr1:0X0030000020102020 mmcra:0X00000000
+event:0X08F2 mmcr0:0X00000000 mmcr1:0X0030000020102020 mmcra:0X00000000
+event:0X08F3 mmcr0:0X00000000 mmcr1:0X0030000020102020 mmcra:0X00000000
+
+#Group 144 pm_fpuX5, Floating point events
+event:0X0900 mmcr0:0X00000000 mmcr1:0X0000000C2020868E mmcra:0X00000000
+event:0X0901 mmcr0:0X00000000 mmcr1:0X0000000C2020868E mmcra:0X00000000
+event:0X0902 mmcr0:0X00000000 mmcr1:0X0000000C2020868E mmcra:0X00000000
+event:0X0903 mmcr0:0X00000000 mmcr1:0X0000000C2020868E mmcra:0X00000000
+
+#Group 145 pm_fpuX6, Floating point events
+event:0X0910 mmcr0:0X00000000 mmcr1:0X0000000010202010 mmcra:0X00000000
+event:0X0911 mmcr0:0X00000000 mmcr1:0X0000000010202010 mmcra:0X00000000
+event:0X0912 mmcr0:0X00000000 mmcr1:0X0000000010202010 mmcra:0X00000000
+event:0X0913 mmcr0:0X00000000 mmcr1:0X0000000010202010 mmcra:0X00000000
+
+#Group 146 pm_fpuX7, Floating point events
+event:0X0920 mmcr0:0X00000000 mmcr1:0X0000000220105010 mmcra:0X00000000
+event:0X0921 mmcr0:0X00000000 mmcr1:0X0000000220105010 mmcra:0X00000000
+event:0X0922 mmcr0:0X00000000 mmcr1:0X0000000220105010 mmcra:0X00000000
+event:0X0923 mmcr0:0X00000000 mmcr1:0X0000000220105010 mmcra:0X00000000
+
+#Group 147 pm_hpmcount8, HPM group for set 9
+event:0X0930 mmcr0:0X00000000 mmcr1:0X000000001E281E10 mmcra:0X00000000
+event:0X0931 mmcr0:0X00000000 mmcr1:0X000000001E281E10 mmcra:0X00000000
+event:0X0932 mmcr0:0X00000000 mmcr1:0X000000001E281E10 mmcra:0X00000000
+event:0X0933 mmcr0:0X00000000 mmcr1:0X000000001E281E10 mmcra:0X00000000
+
+#Group 148 pm_hpmcount2, HPM group for set 2
+event:0X0940 mmcr0:0X00000000 mmcr1:0X0430000412201220 mmcra:0X00000000
+event:0X0941 mmcr0:0X00000000 mmcr1:0X0430000412201220 mmcra:0X00000000
+event:0X0942 mmcr0:0X00000000 mmcr1:0X0430000412201220 mmcra:0X00000000
+event:0X0943 mmcr0:0X00000000 mmcr1:0X0430000412201220 mmcra:0X00000000
+
+#Group 149 pm_hpmcount3, HPM group for set 3
+event:0X0950 mmcr0:0X00000000 mmcr1:0X403000041EC21086 mmcra:0X00000000
+event:0X0951 mmcr0:0X00000000 mmcr1:0X403000041EC21086 mmcra:0X00000000
+event:0X0952 mmcr0:0X00000000 mmcr1:0X403000041EC21086 mmcra:0X00000000
+event:0X0953 mmcr0:0X00000000 mmcr1:0X403000041EC21086 mmcra:0X00000000
+
+#Group 150 pm_hpmcount4, HPM group for set 7
+event:0X0960 mmcr0:0X00000000 mmcr1:0X00B00000101E2020 mmcra:0X00000000
+event:0X0961 mmcr0:0X00000000 mmcr1:0X00B00000101E2020 mmcra:0X00000000
+event:0X0962 mmcr0:0X00000000 mmcr1:0X00B00000101E2020 mmcra:0X00000000
+event:0X0963 mmcr0:0X00000000 mmcr1:0X00B00000101E2020 mmcra:0X00000000
+
+#Group 151 pm_flop, Floating point operations
+event:0X0970 mmcr0:0X00000000 mmcr1:0X0000000010105050 mmcra:0X00000000
+event:0X0971 mmcr0:0X00000000 mmcr1:0X0000000010105050 mmcra:0X00000000
+event:0X0972 mmcr0:0X00000000 mmcr1:0X0000000010105050 mmcra:0X00000000
+event:0X0973 mmcr0:0X00000000 mmcr1:0X0000000010105050 mmcra:0X00000000
+
+#Group 152 pm_eprof1, Group for use with eprof
+event:0X0980 mmcr0:0X00000000 mmcr1:0X00300000121E108E mmcra:0X00000000
+event:0X0981 mmcr0:0X00000000 mmcr1:0X00300000121E108E mmcra:0X00000000
+event:0X0982 mmcr0:0X00000000 mmcr1:0X00300000121E108E mmcra:0X00000000
+event:0X0983 mmcr0:0X00000000 mmcr1:0X00300000121E108E mmcra:0X00000000
+
+#Group 153 pm_eprof2, Group for use with eprof
+event:0X0990 mmcr0:0X00000000 mmcr1:0X0030000012501220 mmcra:0X00000000
+event:0X0991 mmcr0:0X00000000 mmcr1:0X0030000012501220 mmcra:0X00000000
+event:0X0992 mmcr0:0X00000000 mmcr1:0X0030000012501220 mmcra:0X00000000
+event:0X0993 mmcr0:0X00000000 mmcr1:0X0030000012501220 mmcra:0X00000000
+
+#Group 154 pm_flip, Group for flips
+event:0X09A0 mmcr0:0X00000000 mmcr1:0X000000021E105010 mmcra:0X00000000
+event:0X09A1 mmcr0:0X00000000 mmcr1:0X000000021E105010 mmcra:0X00000000
+event:0X09A2 mmcr0:0X00000000 mmcr1:0X000000021E105010 mmcra:0X00000000
+event:0X09A3 mmcr0:0X00000000 mmcr1:0X000000021E105010 mmcra:0X00000000
+
+#Group 155 pm_hpmcount5, HPM group for set 5
+event:0X09B0 mmcr0:0X00000000 mmcr1:0X00B000001E881020 mmcra:0X00000000
+event:0X09B1 mmcr0:0X00000000 mmcr1:0X00B000001E881020 mmcra:0X00000000
+event:0X09B2 mmcr0:0X00000000 mmcr1:0X00B000001E881020 mmcra:0X00000000
+event:0X09B3 mmcr0:0X00000000 mmcr1:0X00B000001E881020 mmcra:0X00000000
+
+#Group 156 pm_hpmcount6, HPM group for set 6
+event:0X09C0 mmcr0:0X00000000 mmcr1:0X003000001E122086 mmcra:0X00000000
+event:0X09C1 mmcr0:0X00000000 mmcr1:0X003000001E122086 mmcra:0X00000000
+event:0X09C2 mmcr0:0X00000000 mmcr1:0X003000001E122086 mmcra:0X00000000
+event:0X09C3 mmcr0:0X00000000 mmcr1:0X003000001E122086 mmcra:0X00000000
+
+#Group 157 pm_hpmcount7, HPM group for set 8
+event:0X09D0 mmcr0:0X00000000 mmcr1:0X00030005120E1E0E mmcra:0X00000000
+event:0X09D1 mmcr0:0X00000000 mmcr1:0X00030005120E1E0E mmcra:0X00000000
+event:0X09D2 mmcr0:0X00000000 mmcr1:0X00030005120E1E0E mmcra:0X00000000
+event:0X09D3 mmcr0:0X00000000 mmcr1:0X00030005120E1E0E mmcra:0X00000000
+
+#Group 158 pm_ep_threshold, Thresholding
+event:0X09E0 mmcr0:0X00000000 mmcr1:0X0000000004121628 mmcra:0X00000001
+event:0X09E1 mmcr0:0X00000000 mmcr1:0X0000000004121628 mmcra:0X00000001
+event:0X09E2 mmcr0:0X00000000 mmcr1:0X0000000004121628 mmcra:0X00000001
+event:0X09E3 mmcr0:0X00000000 mmcr1:0X0000000004121628 mmcra:0X00000001
+
+#Group 159 pm_ep_mrk_grp1, Marked group events
+event:0X09F0 mmcr0:0X00000000 mmcr1:0X0000000004120A26 mmcra:0X00000001
+event:0X09F1 mmcr0:0X00000000 mmcr1:0X0000000004120A26 mmcra:0X00000001
+event:0X09F2 mmcr0:0X00000000 mmcr1:0X0000000004120A26 mmcra:0X00000001
+event:0X09F3 mmcr0:0X00000000 mmcr1:0X0000000004120A26 mmcra:0X00000001
+
+#Group 160 pm_ep_mrk_grp2, Marked group events
+event:0X0A00 mmcr0:0X00000000 mmcr1:0X410300032A12C822 mmcra:0X00000001
+event:0X0A01 mmcr0:0X00000000 mmcr1:0X410300032A12C822 mmcra:0X00000001
+event:0X0A02 mmcr0:0X00000000 mmcr1:0X410300032A12C822 mmcra:0X00000001
+event:0X0A03 mmcr0:0X00000000 mmcr1:0X410300032A12C822 mmcra:0X00000001
+
+#Group 161 pm_ep_mrk_dsource1, Marked data from
+event:0X0A10 mmcr0:0X00000000 mmcr1:0X010B000B0E124444 mmcra:0X00000001
+event:0X0A11 mmcr0:0X00000000 mmcr1:0X010B000B0E124444 mmcra:0X00000001
+event:0X0A12 mmcr0:0X00000000 mmcr1:0X010B000B0E124444 mmcra:0X00000001
+event:0X0A13 mmcr0:0X00000000 mmcr1:0X010B000B0E124444 mmcra:0X00000001
+
+#Group 162 pm_ep_mrk_dsource2, Marked data from
+event:0X0A20 mmcr0:0X00000000 mmcr1:0X010B00082E12E410 mmcra:0X00000001
+event:0X0A21 mmcr0:0X00000000 mmcr1:0X010B00082E12E410 mmcra:0X00000001
+event:0X0A22 mmcr0:0X00000000 mmcr1:0X010B00082E12E410 mmcra:0X00000001
+event:0X0A23 mmcr0:0X00000000 mmcr1:0X010B00082E12E410 mmcra:0X00000001
+
+#Group 163 pm_ep_mrk_dsource3, Marked data from
+event:0X0A30 mmcr0:0X00000000 mmcr1:0X010B000712484C4C mmcra:0X00000001
+event:0X0A31 mmcr0:0X00000000 mmcr1:0X010B000712484C4C mmcra:0X00000001
+event:0X0A32 mmcr0:0X00000000 mmcr1:0X010B000712484C4C mmcra:0X00000001
+event:0X0A33 mmcr0:0X00000000 mmcr1:0X010B000712484C4C mmcra:0X00000001
+
+#Group 164 pm_ep_mrk_dsource4, Marked data from
+event:0X0A40 mmcr0:0X00000000 mmcr1:0X010B000712462E42 mmcra:0X00000001
+event:0X0A41 mmcr0:0X00000000 mmcr1:0X010B000712462E42 mmcra:0X00000001
+event:0X0A42 mmcr0:0X00000000 mmcr1:0X010B000712462E42 mmcra:0X00000001
+event:0X0A43 mmcr0:0X00000000 mmcr1:0X010B000712462E42 mmcra:0X00000001
+
+#Group 165 pm_ep_mrk_dsource5, Marked data from
+event:0X0A50 mmcr0:0X00000000 mmcr1:0X010B000B3C124040 mmcra:0X00000001
+event:0X0A51 mmcr0:0X00000000 mmcr1:0X010B000B3C124040 mmcra:0X00000001
+event:0X0A52 mmcr0:0X00000000 mmcr1:0X010B000B3C124040 mmcra:0X00000001
+event:0X0A53 mmcr0:0X00000000 mmcr1:0X010B000B3C124040 mmcra:0X00000001
+
+#Group 166 pm_ep_mrk_dsource6, Marked data from
+event:0X0A60 mmcr0:0X00000000 mmcr1:0X010B000512460246 mmcra:0X00000001
+event:0X0A61 mmcr0:0X00000000 mmcr1:0X010B000512460246 mmcra:0X00000001
+event:0X0A62 mmcr0:0X00000000 mmcr1:0X010B000512460246 mmcra:0X00000001
+event:0X0A63 mmcr0:0X00000000 mmcr1:0X010B000512460246 mmcra:0X00000001
+
+#Group 167 pm_ep_mrk_dsource7, Marked data from
+event:0X0A70 mmcr0:0X00000000 mmcr1:0X010B0007124E3C4E mmcra:0X00000001
+event:0X0A71 mmcr0:0X00000000 mmcr1:0X010B0007124E3C4E mmcra:0X00000001
+event:0X0A72 mmcr0:0X00000000 mmcr1:0X010B0007124E3C4E mmcra:0X00000001
+event:0X0A73 mmcr0:0X00000000 mmcr1:0X010B0007124E3C4E mmcra:0X00000001
+
+#Group 168 pm_ep_mrk_lbmiss, Marked TLB and SLB misses
+event:0X0A80 mmcr0:0X00000000 mmcr1:0X020C0007121A1A1A mmcra:0X00000001
+event:0X0A81 mmcr0:0X00000000 mmcr1:0X020C0007121A1A1A mmcra:0X00000001
+event:0X0A82 mmcr0:0X00000000 mmcr1:0X020C0007121A1A1A mmcra:0X00000001
+event:0X0A83 mmcr0:0X00000000 mmcr1:0X020C0007121A1A1A mmcra:0X00000001
+
+#Group 169 pm_ep_mrk_dtlbref, Marked data TLB references
+event:0X0A90 mmcr0:0X00000000 mmcr1:0X020C0007120C0C0C mmcra:0X00000001
+event:0X0A91 mmcr0:0X00000000 mmcr1:0X020C0007120C0C0C mmcra:0X00000001
+event:0X0A92 mmcr0:0X00000000 mmcr1:0X020C0007120C0C0C mmcra:0X00000001
+event:0X0A93 mmcr0:0X00000000 mmcr1:0X020C0007120C0C0C mmcra:0X00000001
+
+#Group 170 pm_ep_mrk_dtlbmiss, Marked data TLB misses
+event:0X0AA0 mmcr0:0X00000000 mmcr1:0X020C0007121A1A1A mmcra:0X00000001
+event:0X0AA1 mmcr0:0X00000000 mmcr1:0X020C0007121A1A1A mmcra:0X00000001
+event:0X0AA2 mmcr0:0X00000000 mmcr1:0X020C0007121A1A1A mmcra:0X00000001
+event:0X0AA3 mmcr0:0X00000000 mmcr1:0X020C0007121A1A1A mmcra:0X00000001
+
+#Group 171 pm_ep_mrk_lbref, Marked TLB and SLB references
+event:0X0AB0 mmcr0:0X00000000 mmcr1:0X063C000A0C120C8E mmcra:0X00000001
+event:0X0AB1 mmcr0:0X00000000 mmcr1:0X063C000A0C120C8E mmcra:0X00000001
+event:0X0AB2 mmcr0:0X00000000 mmcr1:0X063C000A0C120C8E mmcra:0X00000001
+event:0X0AB3 mmcr0:0X00000000 mmcr1:0X063C000A0C120C8E mmcra:0X00000001
+
+#Group 172 pm_ep_mrk_lsmiss, Marked load and store miss
+event:0X0AC0 mmcr0:0X00000000 mmcr1:0X000800081012060A mmcra:0X00000001
+event:0X0AC1 mmcr0:0X00000000 mmcr1:0X000800081012060A mmcra:0X00000001
+event:0X0AC2 mmcr0:0X00000000 mmcr1:0X000800081012060A mmcra:0X00000001
+event:0X0AC3 mmcr0:0X00000000 mmcr1:0X000800081012060A mmcra:0X00000001
+
+#Group 173 pm_ep_mrk_ulsflush, Mark unaligned load and store flushes
+event:0X0AD0 mmcr0:0X00000000 mmcr1:0X0020000006122020 mmcra:0X00000001
+event:0X0AD1 mmcr0:0X00000000 mmcr1:0X0020000006122020 mmcra:0X00000001
+event:0X0AD2 mmcr0:0X00000000 mmcr1:0X0020000006122020 mmcra:0X00000001
+event:0X0AD3 mmcr0:0X00000000 mmcr1:0X0020000006122020 mmcra:0X00000001
+
+#Group 174 pm_ep_mrk_misc1, Misc marked instructions
+event:0X0AE0 mmcr0:0X00000000 mmcr1:0X0000000012062816 mmcra:0X00000001
+event:0X0AE1 mmcr0:0X00000000 mmcr1:0X0000000012062816 mmcra:0X00000001
+event:0X0AE2 mmcr0:0X00000000 mmcr1:0X0000000012062816 mmcra:0X00000001
+event:0X0AE3 mmcr0:0X00000000 mmcr1:0X0000000012062816 mmcra:0X00000001
+
+#Group 175 pm_ep_mrk_misc2, Misc marked instructions
+event:0X0AF0 mmcr0:0X00000000 mmcr1:0X010B000612445EE4 mmcra:0X00000001
+event:0X0AF1 mmcr0:0X00000000 mmcr1:0X010B000612445EE4 mmcra:0X00000001
+event:0X0AF2 mmcr0:0X00000000 mmcr1:0X010B000612445EE4 mmcra:0X00000001
+event:0X0AF3 mmcr0:0X00000000 mmcr1:0X010B000612445EE4 mmcra:0X00000001
+
+#Group 176 pm_ep_mrk_misc3, Misc marked instructions
+event:0X0B00 mmcr0:0X00000000 mmcr1:0X053B0005124C8C0E mmcra:0X00000001
+event:0X0B01 mmcr0:0X00000000 mmcr1:0X053B0005124C8C0E mmcra:0X00000001
+event:0X0B02 mmcr0:0X00000000 mmcr1:0X053B0005124C8C0E mmcra:0X00000001
+event:0X0B03 mmcr0:0X00000000 mmcr1:0X053B0005124C8C0E mmcra:0X00000001
+
+#Group 177 pm_ep_mrk_misc4, Misc marked instructions
+event:0X0B10 mmcr0:0X00000000 mmcr1:0X030F00091A12E82E mmcra:0X00000001
+event:0X0B11 mmcr0:0X00000000 mmcr1:0X030F00091A12E82E mmcra:0X00000001
+event:0X0B12 mmcr0:0X00000000 mmcr1:0X030F00091A12E82E mmcra:0X00000001
+event:0X0B13 mmcr0:0X00000000 mmcr1:0X030F00091A12E82E mmcra:0X00000001
+
+#Group 178 pm_ep_mrk_misc5, Misc marked instructions
+event:0X0B20 mmcr0:0X00000000 mmcr1:0X022C00080C120286 mmcra:0X00000001
+event:0X0B21 mmcr0:0X00000000 mmcr1:0X022C00080C120286 mmcra:0X00000001
+event:0X0B22 mmcr0:0X00000000 mmcr1:0X022C00080C120286 mmcra:0X00000001
+event:0X0B23 mmcr0:0X00000000 mmcr1:0X022C00080C120286 mmcra:0X00000001
+
+#Group 179 pm_ep_mrk_misc6, Misc marked instructions
+event:0X0B30 mmcr0:0X00000000 mmcr1:0X022C00081A12888A mmcra:0X00000001
+event:0X0B31 mmcr0:0X00000000 mmcr1:0X022C00081A12888A mmcra:0X00000001
+event:0X0B32 mmcr0:0X00000000 mmcr1:0X022C00081A12888A mmcra:0X00000001
+event:0X0B33 mmcr0:0X00000000 mmcr1:0X022C00081A12888A mmcra:0X00000001
+
+#Group 180 pm_ep_mrk_misc7, Misc marked instructions
+event:0X0B40 mmcr0:0X00000000 mmcr1:0X012B000412408280 mmcra:0X00000001
+event:0X0B41 mmcr0:0X00000000 mmcr1:0X012B000412408280 mmcra:0X00000001
+event:0X0B42 mmcr0:0X00000000 mmcr1:0X012B000412408280 mmcra:0X00000001
+event:0X0B43 mmcr0:0X00000000 mmcr1:0X012B000412408280 mmcra:0X00000001
+
+#Group 181 pm_ep_mrk_misc8, Misc marked instructions
+event:0X0B50 mmcr0:0X00000000 mmcr1:0X00200000120A8486 mmcra:0X00000001
+event:0X0B51 mmcr0:0X00000000 mmcr1:0X00200000120A8486 mmcra:0X00000001
+event:0X0B52 mmcr0:0X00000000 mmcr1:0X00200000120A8486 mmcra:0X00000001
+event:0X0B53 mmcr0:0X00000000 mmcr1:0X00200000120A8486 mmcra:0X00000001
+
+#Group 182 pm_ep_mrk_misc9, Misc marked instructions
+event:0X0B60 mmcr0:0X00000000 mmcr1:0X0028000012AC8EEC mmcra:0X00000001
+event:0X0B61 mmcr0:0X00000000 mmcr1:0X0028000012AC8EEC mmcra:0X00000001
+event:0X0B62 mmcr0:0X00000000 mmcr1:0X0028000012AC8EEC mmcra:0X00000001
+event:0X0B63 mmcr0:0X00000000 mmcr1:0X0028000012AC8EEC mmcra:0X00000001
+
+#Group 183 pm_ep_mrk_misc10, Misc marked instructions
+event:0X0B70 mmcr0:0X00000000 mmcr1:0X0008000412C0E8E6 mmcra:0X00000001
+event:0X0B71 mmcr0:0X00000000 mmcr1:0X0008000412C0E8E6 mmcra:0X00000001
+event:0X0B72 mmcr0:0X00000000 mmcr1:0X0008000412C0E8E6 mmcra:0X00000001
+event:0X0B73 mmcr0:0X00000000 mmcr1:0X0008000412C0E8E6 mmcra:0X00000001
+
+#Group 184 pm_ep_mrk_misc11, Misc marked instructions
+event:0X0B80 mmcr0:0X00000000 mmcr1:0X01030003120A443C mmcra:0X00000001
+event:0X0B81 mmcr0:0X00000000 mmcr1:0X01030003120A443C mmcra:0X00000001
+event:0X0B82 mmcr0:0X00000000 mmcr1:0X01030003120A443C mmcra:0X00000001
+event:0X0B83 mmcr0:0X00000000 mmcr1:0X01030003120A443C mmcra:0X00000001
+
+#Group 185 pm_ep_mrk_misc12, Misc marked instructions
+event:0X0B90 mmcr0:0X00000000 mmcr1:0X0020000012501010 mmcra:0X00000001
+event:0X0B91 mmcr0:0X00000000 mmcr1:0X0020000012501010 mmcra:0X00000001
+event:0X0B92 mmcr0:0X00000000 mmcr1:0X0020000012501010 mmcra:0X00000001
+event:0X0B93 mmcr0:0X00000000 mmcr1:0X0020000012501010 mmcra:0X00000001
+
+#Group 186 pm_ep_mrk_misc13, Misc marked instructions
+event:0X0BA0 mmcr0:0X00000000 mmcr1:0X0103000B0E1236CC mmcra:0X00000001
+event:0X0BA1 mmcr0:0X00000000 mmcr1:0X0103000B0E1236CC mmcra:0X00000001
+event:0X0BA2 mmcr0:0X00000000 mmcr1:0X0103000B0E1236CC mmcra:0X00000001
+event:0X0BA3 mmcr0:0X00000000 mmcr1:0X0103000B0E1236CC mmcra:0X00000001
+
+#Group 187 pm_ep_mrk_misc14, Misc marked instructions
+event:0X0BB0 mmcr0:0X00000000 mmcr1:0X0000000012282828 mmcra:0X00000001
+event:0X0BB1 mmcr0:0X00000000 mmcr1:0X0000000012282828 mmcra:0X00000001
+event:0X0BB2 mmcr0:0X00000000 mmcr1:0X0000000012282828 mmcra:0X00000001
+event:0X0BB3 mmcr0:0X00000000 mmcr1:0X0000000012282828 mmcra:0X00000001
+
+#Group 188 pm_ep_mrk_misc15, Misc marked instructions
+event:0X0BC0 mmcr0:0X00000000 mmcr1:0X4000000412220A26 mmcra:0X00000001
+event:0X0BC1 mmcr0:0X00000000 mmcr1:0X4000000412220A26 mmcra:0X00000001
+event:0X0BC2 mmcr0:0X00000000 mmcr1:0X4000000412220A26 mmcra:0X00000001
+event:0X0BC3 mmcr0:0X00000000 mmcr1:0X4000000412220A26 mmcra:0X00000001
diff --git a/events/ppc64/power5++/events b/events/ppc64/power5++/events
new file mode 100644
index 0000000..e4d055b
--- /dev/null
+++ b/events/ppc64/power5++/events
@@ -0,0 +1,1151 @@
+#PPC64 POWER5++ events
+#
+# Copyright OProfile authors
+# Copyright (c) International Business Machines, 2007.
+# Contributed by Maynard Johnson <maynardj@us.ibm.com>.
+#
+#
+# Within each group the event names must be unique. Each event in a group is
+# assigned to a unique counter. The groups are from the groups defined in the
+# Performance Monitor Unit user guide for this processor.
+#
+# Only events within the same group can be selected simultaneously.
+# Each event is given a unique event number. The event number is used by the
+# OProfile code to resolve event names for the post-processing. This is done
+# to preserve compatibility with the rest of the OProfile code. The event
+# numbers are formatted as follows: <group_num>concat(<counter for the event>).
+
+#Group Default
+event:0X001 counters:1 um:zero minimum:10000 name:CYCLES : Processor Cycles
+
+#Group 0 with random sampling
+event:0X002 counters:2 um:zero minimum:10000 name:CYCLES_RND_SMPL : Processor Cycles with random sampling
+
+
+#Group 1 pm_utilization, CPI and utilization data
+event:0X0010 counters:0 um:zero minimum:10000 name:PM_RUN_CYC_GRP1 : (Group 1 pm_utilization) Run cycles
+event:0X0011 counters:1 um:zero minimum:10000 name:PM_INST_CMPL_GRP1 : (Group 1 pm_utilization) Instructions completed
+event:0X0012 counters:2 um:zero minimum:1000 name:PM_INST_DISP_GRP1 : (Group 1 pm_utilization) Instructions dispatched
+event:0X0013 counters:3 um:zero minimum:10000 name:PM_CYC_GRP1 : (Group 1 pm_utilization) Processor cycles
+
+#Group 2 pm_completion, Completion and cycle counts
+event:0X0020 counters:0 um:zero minimum:1000 name:PM_1PLUS_PPC_CMPL_GRP2 : (Group 2 pm_completion) One or more PPC instruction completed
+event:0X0021 counters:1 um:zero minimum:1000 name:PM_GCT_EMPTY_CYC_GRP2 : (Group 2 pm_completion) Cycles GCT empty
+event:0X0022 counters:2 um:zero minimum:1000 name:PM_GRP_CMPL_GRP2 : (Group 2 pm_completion) Group completed
+event:0X0023 counters:3 um:zero minimum:10000 name:PM_CYC_GRP2 : (Group 2 pm_completion) Processor cycles
+
+#Group 3 pm_group_dispatch, Group dispatch events
+event:0X0030 counters:0 um:zero minimum:1000 name:PM_GRP_DISP_VALID_GRP3 : (Group 3 pm_group_dispatch) Group dispatch valid
+event:0X0031 counters:1 um:zero minimum:1000 name:PM_GRP_DISP_REJECT_GRP3 : (Group 3 pm_group_dispatch) Group dispatch rejected
+event:0X0032 counters:2 um:zero minimum:1000 name:PM_GRP_DISP_BLK_SB_CYC_GRP3 : (Group 3 pm_group_dispatch) Cycles group dispatch blocked by scoreboard
+event:0X0033 counters:3 um:zero minimum:1000 name:PM_INST_DISP_GRP3 : (Group 3 pm_group_dispatch) Instructions dispatched
+
+#Group 4 pm_clb1, CLB fullness
+event:0X0040 counters:0 um:zero minimum:1000 name:PM_0INST_CLB_CYC_GRP4 : (Group 4 pm_clb1) Cycles no instructions in CLB
+event:0X0041 counters:1 um:zero minimum:1000 name:PM_2INST_CLB_CYC_GRP4 : (Group 4 pm_clb1) Cycles 2 instructions in CLB
+event:0X0042 counters:2 um:zero minimum:1000 name:PM_CLB_EMPTY_CYC_GRP4 : (Group 4 pm_clb1) Cycles CLB empty
+event:0X0043 counters:3 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L35_MOD_CYC_GRP4 : (Group 4 pm_clb1) Marked load latency from L3.5 modified
+
+#Group 5 pm_clb2, CLB fullness
+event:0X0050 counters:0 um:zero minimum:1000 name:PM_5INST_CLB_CYC_GRP5 : (Group 5 pm_clb2) Cycles 5 instructions in CLB
+event:0X0051 counters:1 um:zero minimum:1000 name:PM_6INST_CLB_CYC_GRP5 : (Group 5 pm_clb2) Cycles 6 instructions in CLB
+event:0X0052 counters:2 um:zero minimum:1000 name:PM_MRK_LSU_SRQ_INST_VALID_GRP5 : (Group 5 pm_clb2) Marked instruction valid in SRQ
+event:0X0053 counters:3 um:zero minimum:1000 name:PM_IOPS_CMPL_GRP5 : (Group 5 pm_clb2) Internal operations completed
+
+#Group 6 pm_gct_empty, GCT empty reasons
+event:0X0060 counters:0 um:zero minimum:1000 name:PM_GCT_NOSLOT_CYC_GRP6 : (Group 6 pm_gct_empty) Cycles no GCT slot allocated
+event:0X0061 counters:1 um:zero minimum:1000 name:PM_GCT_NOSLOT_IC_MISS_GRP6 : (Group 6 pm_gct_empty) No slot in GCT caused by I cache miss
+event:0X0062 counters:2 um:zero minimum:1000 name:PM_GCT_NOSLOT_SRQ_FULL_GRP6 : (Group 6 pm_gct_empty) No slot in GCT caused by SRQ full
+event:0X0063 counters:3 um:zero minimum:1000 name:PM_GCT_NOSLOT_BR_MPRED_GRP6 : (Group 6 pm_gct_empty) No slot in GCT caused by branch mispredict
+
+#Group 7 pm_gct_usage, GCT Usage
+event:0X0070 counters:0 um:zero minimum:1000 name:PM_GCT_USAGE_00to59_CYC_GRP7 : (Group 7 pm_gct_usage) Cycles GCT less than 60% full
+event:0X0071 counters:1 um:zero minimum:1000 name:PM_GCT_USAGE_60to79_CYC_GRP7 : (Group 7 pm_gct_usage) Cycles GCT 60-79% full
+event:0X0072 counters:2 um:zero minimum:1000 name:PM_GCT_USAGE_80to99_CYC_GRP7 : (Group 7 pm_gct_usage) Cycles GCT 80-99% full
+event:0X0073 counters:3 um:zero minimum:1000 name:PM_GCT_FULL_CYC_GRP7 : (Group 7 pm_gct_usage) Cycles GCT full
+
+#Group 8 pm_lsu1, LSU LRQ and LMQ events
+event:0X0080 counters:0 um:zero minimum:1000 name:PM_LSU_LRQ_S0_ALLOC_GRP8 : (Group 8 pm_lsu1) LRQ slot 0 allocated
+event:0X0081 counters:1 um:zero minimum:1000 name:PM_LSU_LRQ_S0_VALID_GRP8 : (Group 8 pm_lsu1) LRQ slot 0 valid
+event:0X0082 counters:2 um:zero minimum:1000 name:PM_LSU_LMQ_S0_ALLOC_GRP8 : (Group 8 pm_lsu1) LMQ slot 0 allocated
+event:0X0083 counters:3 um:zero minimum:1000 name:PM_LSU_LMQ_S0_VALID_GRP8 : (Group 8 pm_lsu1) LMQ slot 0 valid
+
+#Group 9 pm_lsu2, LSU SRQ events
+event:0X0090 counters:0 um:zero minimum:1000 name:PM_LSU_SRQ_S0_ALLOC_GRP9 : (Group 9 pm_lsu2) SRQ slot 0 allocated
+event:0X0091 counters:1 um:zero minimum:1000 name:PM_LSU_SRQ_S0_VALID_GRP9 : (Group 9 pm_lsu2) SRQ slot 0 valid
+event:0X0092 counters:2 um:zero minimum:1000 name:PM_LSU_SRQ_SYNC_CYC_GRP9 : (Group 9 pm_lsu2) SRQ sync duration
+event:0X0093 counters:3 um:zero minimum:1000 name:PM_LSU_SRQ_FULL_CYC_GRP9 : (Group 9 pm_lsu2) Cycles SRQ full
+
+#Group 10 pm_lsu3, LSU SRQ and LMQ events
+event:0X00A0 counters:0 um:zero minimum:1000 name:PM_LSU_LMQ_LHR_MERGE_GRP10 : (Group 10 pm_lsu3) LMQ LHR merges
+event:0X00A1 counters:1 um:zero minimum:1000 name:PM_LSU_SRQ_STFWD_GRP10 : (Group 10 pm_lsu3) SRQ store forwarded
+event:0X00A2 counters:2 um:zero minimum:1000 name:PM_LSU_LMQ_SRQ_EMPTY_CYC_GRP10 : (Group 10 pm_lsu3) Cycles LMQ and SRQ empty
+event:0X00A3 counters:3 um:zero minimum:1000 name:PM_LSU_SRQ_EMPTY_CYC_GRP10 : (Group 10 pm_lsu3) Cycles SRQ empty
+
+#Group 11 pm_lsu4, LSU SRQ and LMQ events
+event:0X00B0 counters:0 um:zero minimum:1000 name:PM_LSU_LMQ_FULL_CYC_GRP11 : (Group 11 pm_lsu4) Cycles LMQ full
+event:0X00B1 counters:1 um:zero minimum:1000 name:PM_LSU_SRQ_FULL_CYC_GRP11 : (Group 11 pm_lsu4) Cycles SRQ full
+event:0X00B2 counters:2 um:zero minimum:1000 name:PM_LSU_LMQ_SRQ_EMPTY_CYC_GRP11 : (Group 11 pm_lsu4) Cycles LMQ and SRQ empty
+event:0X00B3 counters:3 um:zero minimum:1000 name:PM_LSU_SRQ_EMPTY_CYC_GRP11 : (Group 11 pm_lsu4) Cycles SRQ empty
+
+#Group 12 pm_prefetch1, Prefetch stream allocation
+event:0X00C0 counters:0 um:zero minimum:1000 name:PM_INST_FROM_L2MISS_GRP12 : (Group 12 pm_prefetch1) Instruction fetched missed L2
+event:0X00C1 counters:1 um:zero minimum:1000 name:PM_INST_FETCH_CYC_GRP12 : (Group 12 pm_prefetch1) Cycles at least 1 instruction fetched
+event:0X00C2 counters:2 um:zero minimum:1000 name:PM_DC_PREF_OUT_OF_STREAMS_GRP12 : (Group 12 pm_prefetch1) D cache out of prefetch streams
+event:0X00C3 counters:3 um:zero minimum:1000 name:PM_DC_PREF_STREAM_ALLOC_GRP12 : (Group 12 pm_prefetch1) D cache new prefetch stream allocated
+
+#Group 13 pm_prefetch2, Prefetch events
+event:0X00D0 counters:0 um:zero minimum:1000 name:PM_IOPS_CMPL_GRP13 : (Group 13 pm_prefetch2) Internal operations completed
+event:0X00D1 counters:1 um:zero minimum:1000 name:PM_CLB_FULL_CYC_GRP13 : (Group 13 pm_prefetch2) Cycles CLB full
+event:0X00D2 counters:2 um:zero minimum:1000 name:PM_L1_PREF_GRP13 : (Group 13 pm_prefetch2) L1 cache data prefetches
+event:0X00D3 counters:3 um:zero minimum:1000 name:PM_IC_PREF_INSTALL_GRP13 : (Group 13 pm_prefetch2) Instruction prefetched installed in prefetch buffer
+
+#Group 14 pm_prefetch3, L2 prefetch and misc events
+event:0X00E0 counters:0 um:zero minimum:1000 name:PM_1INST_CLB_CYC_GRP14 : (Group 14 pm_prefetch3) Cycles 1 instruction in CLB
+event:0X00E1 counters:1 um:zero minimum:1000 name:PM_LSU_BUSY_REJECT_GRP14 : (Group 14 pm_prefetch3) LSU busy due to reject
+event:0X00E2 counters:2 um:zero minimum:1000 name:PM_L2_PREF_GRP14 : (Group 14 pm_prefetch3) L2 cache prefetches
+event:0X00E3 counters:3 um:zero minimum:1000 name:PM_IOPS_CMPL_GRP14 : (Group 14 pm_prefetch3) Internal operations completed
+
+#Group 15 pm_prefetch4, Misc prefetch and reject events
+event:0X00F0 counters:0 um:zero minimum:1000 name:PM_LSU0_REJECT_SRQ_GRP15 : (Group 15 pm_prefetch4) LSU0 SRQ lhs rejects
+event:0X00F1 counters:1 um:zero minimum:1000 name:PM_LSU1_REJECT_SRQ_GRP15 : (Group 15 pm_prefetch4) LSU1 SRQ lhs rejects
+event:0X00F2 counters:2 um:zero minimum:1000 name:PM_DC_PREF_DST_GRP15 : (Group 15 pm_prefetch4) DST (Data Stream Touch) stream start
+event:0X00F3 counters:3 um:zero minimum:1000 name:PM_L2_PREF_GRP15 : (Group 15 pm_prefetch4) L2 cache prefetches
+
+#Group 16 pm_lsu_reject1, LSU reject events
+event:0X0100 counters:0 um:zero minimum:1000 name:PM_LSU_REJECT_ERAT_MISS_GRP16 : (Group 16 pm_lsu_reject1) LSU reject due to ERAT miss
+event:0X0101 counters:1 um:zero minimum:1000 name:PM_LSU_REJECT_LMQ_FULL_GRP16 : (Group 16 pm_lsu_reject1) LSU reject due to LMQ full or missed data coming
+event:0X0102 counters:2 um:zero minimum:1000 name:PM_FLUSH_IMBAL_GRP16 : (Group 16 pm_lsu_reject1) Flush caused by thread GCT imbalance
+event:0X0103 counters:3 um:zero minimum:1000 name:PM_MRK_LSU_FLUSH_SRQ_GRP16 : (Group 16 pm_lsu_reject1) Marked SRQ lhs flushes
+
+#Group 17 pm_lsu_reject2, LSU rejects due to reload CDF or tag update collision
+event:0X0110 counters:0 um:zero minimum:1000 name:PM_LSU0_REJECT_RELOAD_CDF_GRP17 : (Group 17 pm_lsu_reject2) LSU0 reject due to reload CDF or tag update collision
+event:0X0111 counters:1 um:zero minimum:1000 name:PM_LSU1_REJECT_RELOAD_CDF_GRP17 : (Group 17 pm_lsu_reject2) LSU1 reject due to reload CDF or tag update collision
+event:0X0112 counters:2 um:zero minimum:1000 name:PM_IOPS_CMPL_GRP17 : (Group 17 pm_lsu_reject2) Internal operations completed
+event:0X0113 counters:3 um:zero minimum:1000 name:PM_L1_WRITE_CYC_GRP17 : (Group 17 pm_lsu_reject2) Cycles writing to instruction L1
+
+#Group 18 pm_lsu_reject3, LSU rejects due to ERAT, held instuctions
+event:0X0120 counters:0 um:zero minimum:1000 name:PM_LSU0_REJECT_ERAT_MISS_GRP18 : (Group 18 pm_lsu_reject3) LSU0 reject due to ERAT miss
+event:0X0121 counters:1 um:zero minimum:1000 name:PM_LSU1_REJECT_ERAT_MISS_GRP18 : (Group 18 pm_lsu_reject3) LSU1 reject due to ERAT miss
+event:0X0122 counters:2 um:zero minimum:1000 name:PM_LWSYNC_HELD_GRP18 : (Group 18 pm_lsu_reject3) LWSYNC held at dispatch
+event:0X0123 counters:3 um:zero minimum:1000 name:PM_TLBIE_HELD_GRP18 : (Group 18 pm_lsu_reject3) TLBIE held at dispatch
+
+#Group 19 pm_lsu_reject4, LSU0/1 reject LMQ full
+event:0X0130 counters:0 um:zero minimum:1000 name:PM_LSU0_REJECT_LMQ_FULL_GRP19 : (Group 19 pm_lsu_reject4) LSU0 reject due to LMQ full or missed data coming
+event:0X0131 counters:1 um:zero minimum:1000 name:PM_LSU1_REJECT_LMQ_FULL_GRP19 : (Group 19 pm_lsu_reject4) LSU1 reject due to LMQ full or missed data coming
+event:0X0132 counters:2 um:zero minimum:1000 name:PM_IOPS_CMPL_GRP19 : (Group 19 pm_lsu_reject4) Internal operations completed
+event:0X0133 counters:3 um:zero minimum:1000 name:PM_BR_ISSUED_GRP19 : (Group 19 pm_lsu_reject4) Branches issued
+
+#Group 20 pm_lsu_reject5, LSU misc reject and flush events
+event:0X0140 counters:0 um:zero minimum:1000 name:PM_LSU_REJECT_SRQ_GRP20 : (Group 20 pm_lsu_reject5) LSU SRQ lhs rejects
+event:0X0141 counters:1 um:zero minimum:1000 name:PM_LSU_REJECT_RELOAD_CDF_GRP20 : (Group 20 pm_lsu_reject5) LSU reject due to reload CDF or tag update collision
+event:0X0142 counters:2 um:zero minimum:1000 name:PM_LSU_FLUSH_GRP20 : (Group 20 pm_lsu_reject5) Flush initiated by LSU
+event:0X0143 counters:3 um:zero minimum:1000 name:PM_FLUSH_GRP20 : (Group 20 pm_lsu_reject5) Flushes
+
+#Group 21 pm_flush1, Misc flush events
+event:0X0150 counters:0 um:zero minimum:1000 name:PM_IOPS_CMPL_GRP21 : (Group 21 pm_flush1) Internal operations completed
+event:0X0151 counters:1 um:zero minimum:1000 name:PM_LSU_FLUSH_UST_GRP21 : (Group 21 pm_flush1) SRQ unaligned store flushes
+event:0X0152 counters:2 um:zero minimum:1000 name:PM_FLUSH_IMBAL_GRP21 : (Group 21 pm_flush1) Flush caused by thread GCT imbalance
+event:0X0153 counters:3 um:zero minimum:1000 name:PM_DC_INV_L2_GRP21 : (Group 21 pm_flush1) L1 D cache entries invalidated from L2
+
+#Group 22 pm_flush2, Flushes due to scoreboard and sync
+event:0X0160 counters:0 um:zero minimum:1000 name:PM_ITLB_MISS_GRP22 : (Group 22 pm_flush2) Instruction TLB misses
+event:0X0161 counters:1 um:zero minimum:1000 name:PM_IOPS_CMPL_GRP22 : (Group 22 pm_flush2) Internal operations completed
+event:0X0162 counters:2 um:zero minimum:1000 name:PM_FLUSH_SB_GRP22 : (Group 22 pm_flush2) Flush caused by scoreboard operation
+event:0X0163 counters:3 um:zero minimum:1000 name:PM_FLUSH_SYNC_GRP22 : (Group 22 pm_flush2) Flush caused by sync
+
+#Group 23 pm_lsu_flush_srq_lrq, LSU flush by SRQ and LRQ events
+event:0X0170 counters:0 um:zero minimum:1000 name:PM_LSU_FLUSH_SRQ_GRP23 : (Group 23 pm_lsu_flush_srq_lrq) SRQ flushes
+event:0X0171 counters:1 um:zero minimum:1000 name:PM_LSU_FLUSH_LRQ_GRP23 : (Group 23 pm_lsu_flush_srq_lrq) LRQ flushes
+event:0X0172 counters:2 um:zero minimum:1000 name:PM_IOPS_CMPL_GRP23 : (Group 23 pm_lsu_flush_srq_lrq) Internal operations completed
+event:0X0173 counters:3 um:zero minimum:1000 name:PM_LSU_FLUSH_GRP23 : (Group 23 pm_lsu_flush_srq_lrq) Flush initiated by LSU
+
+#Group 24 pm_lsu_flush_lrq, LSU0/1 flush due to LRQ
+event:0X0180 counters:0 um:zero minimum:1000 name:PM_LSU0_FLUSH_LRQ_GRP24 : (Group 24 pm_lsu_flush_lrq) LSU0 LRQ flushes
+event:0X0181 counters:1 um:zero minimum:1000 name:PM_LSU1_FLUSH_LRQ_GRP24 : (Group 24 pm_lsu_flush_lrq) LSU1 LRQ flushes
+event:0X0182 counters:2 um:zero minimum:1000 name:PM_LSU_FLUSH_GRP24 : (Group 24 pm_lsu_flush_lrq) Flush initiated by LSU
+event:0X0183 counters:3 um:zero minimum:1000 name:PM_IOPS_CMPL_GRP24 : (Group 24 pm_lsu_flush_lrq) Internal operations completed
+
+#Group 25 pm_lsu_flush_srq, LSU0/1 flush due to SRQ
+event:0X0190 counters:0 um:zero minimum:1000 name:PM_LSU0_FLUSH_SRQ_GRP25 : (Group 25 pm_lsu_flush_srq) LSU0 SRQ lhs flushes
+event:0X0191 counters:1 um:zero minimum:1000 name:PM_LSU1_FLUSH_SRQ_GRP25 : (Group 25 pm_lsu_flush_srq) LSU1 SRQ lhs flushes
+event:0X0192 counters:2 um:zero minimum:1000 name:PM_IOPS_CMPL_GRP25 : (Group 25 pm_lsu_flush_srq) Internal operations completed
+event:0X0193 counters:3 um:zero minimum:1000 name:PM_LSU_FLUSH_GRP25 : (Group 25 pm_lsu_flush_srq) Flush initiated by LSU
+
+#Group 26 pm_lsu_flush_unaligned, LSU flush due to unaligned data
+event:0X01A0 counters:0 um:zero minimum:1000 name:PM_LSU_FLUSH_ULD_GRP26 : (Group 26 pm_lsu_flush_unaligned) LRQ unaligned load flushes
+event:0X01A1 counters:1 um:zero minimum:1000 name:PM_LSU_FLUSH_UST_GRP26 : (Group 26 pm_lsu_flush_unaligned) SRQ unaligned store flushes
+event:0X01A2 counters:2 um:zero minimum:1000 name:PM_BR_ISSUED_GRP26 : (Group 26 pm_lsu_flush_unaligned) Branches issued
+event:0X01A3 counters:3 um:zero minimum:1000 name:PM_IOPS_CMPL_GRP26 : (Group 26 pm_lsu_flush_unaligned) Internal operations completed
+
+#Group 27 pm_lsu_flush_uld, LSU0/1 flush due to unaligned load
+event:0X01B0 counters:0 um:zero minimum:1000 name:PM_LSU0_FLUSH_ULD_GRP27 : (Group 27 pm_lsu_flush_uld) LSU0 unaligned load flushes
+event:0X01B1 counters:1 um:zero minimum:1000 name:PM_LSU1_FLUSH_ULD_GRP27 : (Group 27 pm_lsu_flush_uld) LSU1 unaligned load flushes
+event:0X01B2 counters:2 um:zero minimum:1000 name:PM_LSU_FLUSH_GRP27 : (Group 27 pm_lsu_flush_uld) Flush initiated by LSU
+event:0X01B3 counters:3 um:zero minimum:1000 name:PM_IOPS_CMPL_GRP27 : (Group 27 pm_lsu_flush_uld) Internal operations completed
+
+#Group 28 pm_lsu_flush_ust, LSU0/1 flush due to unaligned store
+event:0X01C0 counters:0 um:zero minimum:1000 name:PM_LSU0_FLUSH_UST_GRP28 : (Group 28 pm_lsu_flush_ust) LSU0 unaligned store flushes
+event:0X01C1 counters:1 um:zero minimum:1000 name:PM_LSU1_FLUSH_UST_GRP28 : (Group 28 pm_lsu_flush_ust) LSU1 unaligned store flushes
+event:0X01C2 counters:2 um:zero minimum:1000 name:PM_IOPS_CMPL_GRP28 : (Group 28 pm_lsu_flush_ust) Internal operations completed
+event:0X01C3 counters:3 um:zero minimum:1000 name:PM_LSU_FLUSH_GRP28 : (Group 28 pm_lsu_flush_ust) Flush initiated by LSU
+
+#Group 29 pm_lsu_flush_full, LSU flush due to LRQ/SRQ full
+event:0X01D0 counters:0 um:zero minimum:1000 name:PM_LSU_FLUSH_LRQ_FULL_GRP29 : (Group 29 pm_lsu_flush_full) Flush caused by LRQ full
+event:0X01D1 counters:1 um:zero minimum:1000 name:PM_IOPS_CMPL_GRP29 : (Group 29 pm_lsu_flush_full) Internal operations completed
+event:0X01D2 counters:2 um:zero minimum:1000 name:PM_MRK_LSU_FLUSH_LRQ_GRP29 : (Group 29 pm_lsu_flush_full) Marked LRQ flushes
+event:0X01D3 counters:3 um:zero minimum:1000 name:PM_LSU_FLUSH_SRQ_FULL_GRP29 : (Group 29 pm_lsu_flush_full) Flush caused by SRQ full
+
+#Group 30 pm_lsu_stall1, LSU Stalls
+event:0X01E0 counters:0 um:zero minimum:1000 name:PM_GRP_MRK_GRP30 : (Group 30 pm_lsu_stall1) Group marked in IDU
+event:0X01E1 counters:1 um:zero minimum:1000 name:PM_CMPLU_STALL_LSU_GRP30 : (Group 30 pm_lsu_stall1) Completion stall caused by LSU instruction
+event:0X01E2 counters:2 um:zero minimum:1000 name:PM_IOPS_CMPL_GRP30 : (Group 30 pm_lsu_stall1) Internal operations completed
+event:0X01E3 counters:3 um:zero minimum:1000 name:PM_CMPLU_STALL_REJECT_GRP30 : (Group 30 pm_lsu_stall1) Completion stall caused by reject
+
+#Group 31 pm_lsu_stall2, LSU Stalls
+event:0X01F0 counters:0 um:zero minimum:1000 name:PM_IOPS_CMPL_GRP31 : (Group 31 pm_lsu_stall2) Internal operations completed
+event:0X01F1 counters:1 um:zero minimum:1000 name:PM_CMPLU_STALL_DCACHE_MISS_GRP31 : (Group 31 pm_lsu_stall2) Completion stall caused by D cache miss
+event:0X01F2 counters:2 um:zero minimum:10000 name:PM_CYC_GRP31 : (Group 31 pm_lsu_stall2) Processor cycles
+event:0X01F3 counters:3 um:zero minimum:1000 name:PM_CMPLU_STALL_ERAT_MISS_GRP31 : (Group 31 pm_lsu_stall2) Completion stall caused by ERAT miss
+
+#Group 32 pm_fxu_stall, FXU Stalls
+event:0X0200 counters:0 um:zero minimum:1000 name:PM_GRP_IC_MISS_BR_REDIR_NONSPEC_GRP32 : (Group 32 pm_fxu_stall) Group experienced non-speculative I cache miss or branch redirect
+event:0X0201 counters:1 um:zero minimum:1000 name:PM_CMPLU_STALL_FXU_GRP32 : (Group 32 pm_fxu_stall) Completion stall caused by FXU instruction
+event:0X0202 counters:2 um:zero minimum:1000 name:PM_IOPS_CMPL_GRP32 : (Group 32 pm_fxu_stall) Internal operations completed
+event:0X0203 counters:3 um:zero minimum:1000 name:PM_CMPLU_STALL_DIV_GRP32 : (Group 32 pm_fxu_stall) Completion stall caused by DIV instruction
+
+#Group 33 pm_fpu_stall, FPU Stalls
+event:0X0210 counters:0 um:zero minimum:1000 name:PM_FPU_FULL_CYC_GRP33 : (Group 33 pm_fpu_stall) Cycles FPU issue queue full
+event:0X0211 counters:1 um:zero minimum:1000 name:PM_CMPLU_STALL_FDIV_GRP33 : (Group 33 pm_fpu_stall) Completion stall caused by FDIV or FQRT instruction
+event:0X0212 counters:2 um:zero minimum:1000 name:PM_IOPS_CMPL_GRP33 : (Group 33 pm_fpu_stall) Internal operations completed
+event:0X0213 counters:3 um:zero minimum:1000 name:PM_CMPLU_STALL_FPU_GRP33 : (Group 33 pm_fpu_stall) Completion stall caused by FPU instruction
+
+#Group 34 pm_queue_full, BRQ LRQ LMQ queue full
+event:0X0220 counters:0 um:zero minimum:1000 name:PM_LARX_LSU0_GRP34 : (Group 34 pm_queue_full) Larx executed on LSU0
+event:0X0221 counters:1 um:zero minimum:1000 name:PM_BRQ_FULL_CYC_GRP34 : (Group 34 pm_queue_full) Cycles branch queue full
+event:0X0222 counters:2 um:zero minimum:1000 name:PM_LSU_LRQ_FULL_CYC_GRP34 : (Group 34 pm_queue_full) Cycles LRQ full
+event:0X0223 counters:3 um:zero minimum:1000 name:PM_LSU_LMQ_FULL_CYC_GRP34 : (Group 34 pm_queue_full) Cycles LMQ full
+
+#Group 35 pm_issueq_full, FPU FX full
+event:0X0230 counters:0 um:zero minimum:1000 name:PM_FPU0_FULL_CYC_GRP35 : (Group 35 pm_issueq_full) Cycles FPU0 issue queue full
+event:0X0231 counters:1 um:zero minimum:1000 name:PM_FPU1_FULL_CYC_GRP35 : (Group 35 pm_issueq_full) Cycles FPU1 issue queue full
+event:0X0232 counters:2 um:zero minimum:1000 name:PM_FXLS0_FULL_CYC_GRP35 : (Group 35 pm_issueq_full) Cycles FXU0/LS0 queue full
+event:0X0233 counters:3 um:zero minimum:1000 name:PM_FXLS1_FULL_CYC_GRP35 : (Group 35 pm_issueq_full) Cycles FXU1/LS1 queue full
+
+#Group 36 pm_mapper_full1, CR CTR GPR mapper full
+event:0X0240 counters:0 um:zero minimum:1000 name:PM_CR_MAP_FULL_CYC_GRP36 : (Group 36 pm_mapper_full1) Cycles CR logical operation mapper full
+event:0X0241 counters:1 um:zero minimum:1000 name:PM_LR_CTR_MAP_FULL_CYC_GRP36 : (Group 36 pm_mapper_full1) Cycles LR/CTR mapper full
+event:0X0242 counters:2 um:zero minimum:1000 name:PM_GPR_MAP_FULL_CYC_GRP36 : (Group 36 pm_mapper_full1) Cycles GPR mapper full
+event:0X0243 counters:3 um:zero minimum:1000 name:PM_CRQ_FULL_CYC_GRP36 : (Group 36 pm_mapper_full1) Cycles CR issue queue full
+
+#Group 37 pm_mapper_full2, FPR XER mapper full
+event:0X0250 counters:0 um:zero minimum:1000 name:PM_FPR_MAP_FULL_CYC_GRP37 : (Group 37 pm_mapper_full2) Cycles FPR mapper full
+event:0X0251 counters:1 um:zero minimum:1000 name:PM_XER_MAP_FULL_CYC_GRP37 : (Group 37 pm_mapper_full2) Cycles XER mapper full
+event:0X0252 counters:2 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L2MISS_GRP37 : (Group 37 pm_mapper_full2) Marked data loaded missed L2
+event:0X0253 counters:3 um:zero minimum:1000 name:PM_IOPS_CMPL_GRP37 : (Group 37 pm_mapper_full2) Internal operations completed
+
+#Group 38 pm_misc_load, Non-cachable loads and stcx events
+event:0X0260 counters:0 um:zero minimum:1000 name:PM_STCX_FAIL_GRP38 : (Group 38 pm_misc_load) STCX failed
+event:0X0261 counters:1 um:zero minimum:1000 name:PM_STCX_PASS_GRP38 : (Group 38 pm_misc_load) Stcx passes
+event:0X0262 counters:2 um:zero minimum:1000 name:PM_LSU0_NCLD_GRP38 : (Group 38 pm_misc_load) LSU0 non-cacheable loads
+event:0X0263 counters:3 um:zero minimum:1000 name:PM_LSU1_NCLD_GRP38 : (Group 38 pm_misc_load) LSU1 non-cacheable loads
+
+#Group 39 pm_ic_demand, ICache demand from BR redirect
+event:0X0270 counters:0 um:zero minimum:1000 name:PM_LSU0_BUSY_REJECT_GRP39 : (Group 39 pm_ic_demand) LSU0 busy due to reject
+event:0X0271 counters:1 um:zero minimum:1000 name:PM_LSU1_BUSY_REJECT_GRP39 : (Group 39 pm_ic_demand) LSU1 busy due to reject
+event:0X0272 counters:2 um:zero minimum:1000 name:PM_IC_DEMAND_L2_BHT_REDIRECT_GRP39 : (Group 39 pm_ic_demand) L2 I cache demand request due to BHT redirect
+event:0X0273 counters:3 um:zero minimum:1000 name:PM_IC_DEMAND_L2_BR_REDIRECT_GRP39 : (Group 39 pm_ic_demand) L2 I cache demand request due to branch redirect
+
+#Group 40 pm_ic_pref, ICache prefetch
+event:0X0280 counters:0 um:zero minimum:1000 name:PM_IERAT_XLATE_WR_GRP40 : (Group 40 pm_ic_pref) Translation written to ierat
+event:0X0281 counters:1 um:zero minimum:1000 name:PM_IC_PREF_REQ_GRP40 : (Group 40 pm_ic_pref) Instruction prefetch requests
+event:0X0282 counters:2 um:zero minimum:1000 name:PM_IC_PREF_INSTALL_GRP40 : (Group 40 pm_ic_pref) Instruction prefetched installed in prefetch buffer
+event:0X0283 counters:3 um:zero minimum:1000 name:PM_0INST_FETCH_GRP40 : (Group 40 pm_ic_pref) No instructions fetched
+
+#Group 41 pm_ic_miss, ICache misses
+event:0X0290 counters:0 um:zero minimum:1000 name:PM_GRP_IC_MISS_NONSPEC_GRP41 : (Group 41 pm_ic_miss) Group experienced non-speculative I cache miss
+event:0X0291 counters:1 um:zero minimum:1000 name:PM_GRP_IC_MISS_GRP41 : (Group 41 pm_ic_miss) Group experienced I cache miss
+event:0X0292 counters:2 um:zero minimum:1000 name:PM_L1_DCACHE_RELOAD_VALID_GRP41 : (Group 41 pm_ic_miss) L1 reload data source valid
+event:0X0293 counters:3 um:zero minimum:1000 name:PM_IOPS_CMPL_GRP41 : (Group 41 pm_ic_miss) Internal operations completed
+
+#Group 42 pm_branch_miss, Branch mispredict, TLB and SLB misses
+event:0X02A0 counters:0 um:zero minimum:1000 name:PM_TLB_MISS_GRP42 : (Group 42 pm_branch_miss) TLB misses
+event:0X02A1 counters:1 um:zero minimum:1000 name:PM_SLB_MISS_GRP42 : (Group 42 pm_branch_miss) SLB misses
+event:0X02A2 counters:2 um:zero minimum:1000 name:PM_BR_MPRED_CR_GRP42 : (Group 42 pm_branch_miss) Branch mispredictions due to CR bit setting
+event:0X02A3 counters:3 um:zero minimum:1000 name:PM_BR_MPRED_TA_GRP42 : (Group 42 pm_branch_miss) Branch mispredictions due to target address
+
+#Group 43 pm_branch1, Branch operations
+event:0X02B0 counters:0 um:zero minimum:1000 name:PM_BR_UNCOND_GRP43 : (Group 43 pm_branch1) Unconditional branch
+event:0X02B1 counters:1 um:zero minimum:1000 name:PM_BR_PRED_TA_GRP43 : (Group 43 pm_branch1) A conditional branch was predicted, target prediction
+event:0X02B2 counters:2 um:zero minimum:1000 name:PM_BR_PRED_CR_GRP43 : (Group 43 pm_branch1) A conditional branch was predicted, CR prediction
+event:0X02B3 counters:3 um:zero minimum:1000 name:PM_BR_PRED_CR_TA_GRP43 : (Group 43 pm_branch1) A conditional branch was predicted, CR and target prediction
+
+#Group 44 pm_branch2, Branch operations
+event:0X02C0 counters:0 um:zero minimum:1000 name:PM_GRP_BR_REDIR_NONSPEC_GRP44 : (Group 44 pm_branch2) Group experienced non-speculative branch redirect
+event:0X02C1 counters:1 um:zero minimum:1000 name:PM_GRP_BR_REDIR_GRP44 : (Group 44 pm_branch2) Group experienced branch redirect
+event:0X02C2 counters:2 um:zero minimum:1000 name:PM_FLUSH_BR_MPRED_GRP44 : (Group 44 pm_branch2) Flush caused by branch mispredict
+event:0X02C3 counters:3 um:zero minimum:1000 name:PM_IOPS_CMPL_GRP44 : (Group 44 pm_branch2) Internal operations completed
+
+#Group 45 pm_L1_tlbmiss, L1 load and TLB misses
+event:0X02D0 counters:0 um:zero minimum:1000 name:PM_DATA_TABLEWALK_CYC_GRP45 : (Group 45 pm_L1_tlbmiss) Cycles doing data tablewalks
+event:0X02D1 counters:1 um:zero minimum:1000 name:PM_DTLB_MISS_GRP45 : (Group 45 pm_L1_tlbmiss) Data TLB misses
+event:0X02D2 counters:2 um:zero minimum:1000 name:PM_LD_MISS_L1_GRP45 : (Group 45 pm_L1_tlbmiss) L1 D cache load misses
+event:0X02D3 counters:3 um:zero minimum:1000 name:PM_LD_REF_L1_GRP45 : (Group 45 pm_L1_tlbmiss) L1 D cache load references
+
+#Group 46 pm_L1_DERAT_miss, L1 store and DERAT misses
+event:0X02E0 counters:0 um:zero minimum:1000 name:PM_DATA_FROM_L2_GRP46 : (Group 46 pm_L1_DERAT_miss) Data loaded from L2
+event:0X02E1 counters:1 um:zero minimum:1000 name:PM_LSU_DERAT_MISS_GRP46 : (Group 46 pm_L1_DERAT_miss) DERAT misses
+event:0X02E2 counters:2 um:zero minimum:1000 name:PM_ST_REF_L1_GRP46 : (Group 46 pm_L1_DERAT_miss) L1 D cache store references
+event:0X02E3 counters:3 um:zero minimum:1000 name:PM_ST_MISS_L1_GRP46 : (Group 46 pm_L1_DERAT_miss) L1 D cache store misses
+
+#Group 47 pm_L1_slbmiss, L1 load and SLB misses
+event:0X02F0 counters:0 um:zero minimum:1000 name:PM_DSLB_MISS_GRP47 : (Group 47 pm_L1_slbmiss) Data SLB misses
+event:0X02F1 counters:1 um:zero minimum:1000 name:PM_ISLB_MISS_GRP47 : (Group 47 pm_L1_slbmiss) Instruction SLB misses
+event:0X02F2 counters:2 um:zero minimum:1000 name:PM_LD_MISS_L1_LSU0_GRP47 : (Group 47 pm_L1_slbmiss) LSU0 L1 D cache load misses
+event:0X02F3 counters:3 um:zero minimum:1000 name:PM_LD_MISS_L1_LSU1_GRP47 : (Group 47 pm_L1_slbmiss) LSU1 L1 D cache load misses
+
+#Group 48 pm_dtlbref, Data TLB references
+event:0X0300 counters:0 um:zero minimum:1000 name:PM_DTLB_REF_4K_GRP48 : (Group 48 pm_dtlbref) Data TLB reference for 4K page
+event:0X0301 counters:1 um:zero minimum:1000 name:PM_DTLB_REF_64K_GRP48 : (Group 48 pm_dtlbref) Data TLB reference for 64K page
+event:0X0302 counters:2 um:zero minimum:1000 name:PM_DTLB_REF_16M_GRP48 : (Group 48 pm_dtlbref) Data TLB reference for 16M page
+event:0X0303 counters:3 um:zero minimum:1000 name:PM_DTLB_REF_16G_GRP48 : (Group 48 pm_dtlbref) Data TLB reference for 16G page
+
+#Group 49 pm_dtlbmiss, Data TLB misses
+event:0X0310 counters:0 um:zero minimum:1000 name:PM_DTLB_MISS_4K_GRP49 : (Group 49 pm_dtlbmiss) Data TLB miss for 4K page
+event:0X0311 counters:1 um:zero minimum:1000 name:PM_DTLB_MISS_64K_GRP49 : (Group 49 pm_dtlbmiss) Data TLB miss for 64K page
+event:0X0312 counters:2 um:zero minimum:1000 name:PM_DTLB_MISS_16M_GRP49 : (Group 49 pm_dtlbmiss) Data TLB miss for 16M page
+event:0X0313 counters:3 um:zero minimum:1000 name:PM_DTLB_MISS_16G_GRP49 : (Group 49 pm_dtlbmiss) Data TLB miss for 16G page
+
+#Group 50 pm_dtlb, Data TLB references and misses
+event:0X0320 counters:0 um:zero minimum:1000 name:PM_DTLB_REF_GRP50 : (Group 50 pm_dtlb) Data TLB references
+event:0X0321 counters:1 um:zero minimum:1000 name:PM_DTLB_MISS_GRP50 : (Group 50 pm_dtlb) Data TLB misses
+event:0X0322 counters:2 um:zero minimum:10000 name:PM_CYC_GRP50 : (Group 50 pm_dtlb) Processor cycles
+event:0X0323 counters:3 um:zero minimum:10000 name:PM_CYC_GRP50 : (Group 50 pm_dtlb) Processor cycles
+
+#Group 51 pm_L1_refmiss, L1 load references and misses and store references and misses
+event:0X0330 counters:0 um:zero minimum:1000 name:PM_LD_REF_L1_GRP51 : (Group 51 pm_L1_refmiss) L1 D cache load references
+event:0X0331 counters:1 um:zero minimum:1000 name:PM_ST_REF_L1_GRP51 : (Group 51 pm_L1_refmiss) L1 D cache store references
+event:0X0332 counters:2 um:zero minimum:1000 name:PM_LD_MISS_L1_GRP51 : (Group 51 pm_L1_refmiss) L1 D cache load misses
+event:0X0333 counters:3 um:zero minimum:1000 name:PM_ST_MISS_L1_GRP51 : (Group 51 pm_L1_refmiss) L1 D cache store misses
+
+#Group 52 pm_dsource1, L3 cache and memory data access
+event:0X0340 counters:0 um:zero minimum:1000 name:PM_DATA_FROM_L3_GRP52 : (Group 52 pm_dsource1) Data loaded from L3
+event:0X0341 counters:1 um:zero minimum:1000 name:PM_DATA_FROM_LMEM_GRP52 : (Group 52 pm_dsource1) Data loaded from local memory
+event:0X0342 counters:2 um:zero minimum:1000 name:PM_FLUSH_GRP52 : (Group 52 pm_dsource1) Flushes
+event:0X0343 counters:3 um:zero minimum:1000 name:PM_IOPS_CMPL_GRP52 : (Group 52 pm_dsource1) Internal operations completed
+
+#Group 53 pm_dsource2, L3 cache and memory data access
+event:0X0350 counters:0 um:zero minimum:1000 name:PM_DATA_FROM_L3_GRP53 : (Group 53 pm_dsource2) Data loaded from L3
+event:0X0351 counters:1 um:zero minimum:1000 name:PM_DATA_FROM_LMEM_GRP53 : (Group 53 pm_dsource2) Data loaded from local memory
+event:0X0352 counters:2 um:zero minimum:1000 name:PM_DATA_FROM_L2MISS_GRP53 : (Group 53 pm_dsource2) Data loaded missed L2
+event:0X0353 counters:3 um:zero minimum:1000 name:PM_DATA_FROM_RMEM_GRP53 : (Group 53 pm_dsource2) Data loaded from remote memory
+
+#Group 54 pm_dsource_L2, L2 cache data access
+event:0X0360 counters:0 um:zero minimum:1000 name:PM_DATA_FROM_L25_SHR_GRP54 : (Group 54 pm_dsource_L2) Data loaded from L2.5 shared
+event:0X0361 counters:1 um:zero minimum:1000 name:PM_DATA_FROM_L25_MOD_GRP54 : (Group 54 pm_dsource_L2) Data loaded from L2.5 modified
+event:0X0362 counters:2 um:zero minimum:1000 name:PM_DATA_FROM_L275_SHR_GRP54 : (Group 54 pm_dsource_L2) Data loaded from L2.75 shared
+event:0X0363 counters:3 um:zero minimum:1000 name:PM_DATA_FROM_L275_MOD_GRP54 : (Group 54 pm_dsource_L2) Data loaded from L2.75 modified
+
+#Group 55 pm_dsource_L3, L3 cache data access
+event:0X0370 counters:0 um:zero minimum:1000 name:PM_DATA_FROM_L35_SHR_GRP55 : (Group 55 pm_dsource_L3) Data loaded from L3.5 shared
+event:0X0371 counters:1 um:zero minimum:1000 name:PM_DATA_FROM_L35_MOD_GRP55 : (Group 55 pm_dsource_L3) Data loaded from L3.5 modified
+event:0X0372 counters:2 um:zero minimum:1000 name:PM_DATA_FROM_L375_SHR_GRP55 : (Group 55 pm_dsource_L3) Data loaded from L3.75 shared
+event:0X0373 counters:3 um:zero minimum:1000 name:PM_DATA_FROM_L375_MOD_GRP55 : (Group 55 pm_dsource_L3) Data loaded from L3.75 modified
+
+#Group 56 pm_isource1, Instruction source information
+event:0X0380 counters:0 um:zero minimum:1000 name:PM_INST_FROM_L3_GRP56 : (Group 56 pm_isource1) Instruction fetched from L3
+event:0X0381 counters:1 um:zero minimum:1000 name:PM_INST_FROM_L1_GRP56 : (Group 56 pm_isource1) Instruction fetched from L1
+event:0X0382 counters:2 um:zero minimum:1000 name:PM_INST_FROM_PREF_GRP56 : (Group 56 pm_isource1) Instruction fetched from prefetch
+event:0X0383 counters:3 um:zero minimum:1000 name:PM_INST_FROM_RMEM_GRP56 : (Group 56 pm_isource1) Instruction fetched from remote memory
+
+#Group 57 pm_isource2, Instruction source information
+event:0X0390 counters:0 um:zero minimum:1000 name:PM_INST_FROM_L2_GRP57 : (Group 57 pm_isource2) Instruction fetched from L2
+event:0X0391 counters:1 um:zero minimum:1000 name:PM_INST_FROM_LMEM_GRP57 : (Group 57 pm_isource2) Instruction fetched from local memory
+event:0X0392 counters:2 um:zero minimum:1000 name:PM_IOPS_CMPL_GRP57 : (Group 57 pm_isource2) Internal operations completed
+event:0X0393 counters:3 um:zero minimum:1000 name:PM_0INST_FETCH_GRP57 : (Group 57 pm_isource2) No instructions fetched
+
+#Group 58 pm_isource_L2, L2 instruction source information
+event:0X03A0 counters:0 um:zero minimum:1000 name:PM_INST_FROM_L25_SHR_GRP58 : (Group 58 pm_isource_L2) Instruction fetched from L2.5 shared
+event:0X03A1 counters:1 um:zero minimum:1000 name:PM_INST_FROM_L25_MOD_GRP58 : (Group 58 pm_isource_L2) Instruction fetched from L2.5 modified
+event:0X03A2 counters:2 um:zero minimum:1000 name:PM_INST_FROM_L275_SHR_GRP58 : (Group 58 pm_isource_L2) Instruction fetched from L2.75 shared
+event:0X03A3 counters:3 um:zero minimum:1000 name:PM_INST_FROM_L275_MOD_GRP58 : (Group 58 pm_isource_L2) Instruction fetched from L2.75 modified
+
+#Group 59 pm_isource_L3, L3 instruction source information
+event:0X03B0 counters:0 um:zero minimum:1000 name:PM_INST_FROM_L35_SHR_GRP59 : (Group 59 pm_isource_L3) Instruction fetched from L3.5 shared
+event:0X03B1 counters:1 um:zero minimum:1000 name:PM_INST_FROM_L35_MOD_GRP59 : (Group 59 pm_isource_L3) Instruction fetched from L3.5 modified
+event:0X03B2 counters:2 um:zero minimum:1000 name:PM_INST_FROM_L375_SHR_GRP59 : (Group 59 pm_isource_L3) Instruction fetched from L3.75 shared
+event:0X03B3 counters:3 um:zero minimum:1000 name:PM_INST_FROM_L375_MOD_GRP59 : (Group 59 pm_isource_L3) Instruction fetched from L3.75 modified
+
+#Group 60 pm_pteg_source1, PTEG source information
+event:0X03C0 counters:0 um:zero minimum:1000 name:PM_PTEG_FROM_L25_SHR_GRP60 : (Group 60 pm_pteg_source1) PTEG loaded from L2.5 shared
+event:0X03C1 counters:1 um:zero minimum:1000 name:PM_PTEG_FROM_L25_MOD_GRP60 : (Group 60 pm_pteg_source1) PTEG loaded from L2.5 modified
+event:0X03C2 counters:2 um:zero minimum:1000 name:PM_PTEG_FROM_L275_SHR_GRP60 : (Group 60 pm_pteg_source1) PTEG loaded from L2.75 shared
+event:0X03C3 counters:3 um:zero minimum:1000 name:PM_PTEG_FROM_L275_MOD_GRP60 : (Group 60 pm_pteg_source1) PTEG loaded from L2.75 modified
+
+#Group 61 pm_pteg_source2, PTEG source information
+event:0X03D0 counters:0 um:zero minimum:1000 name:PM_PTEG_FROM_L35_SHR_GRP61 : (Group 61 pm_pteg_source2) PTEG loaded from L3.5 shared
+event:0X03D1 counters:1 um:zero minimum:1000 name:PM_PTEG_FROM_L35_MOD_GRP61 : (Group 61 pm_pteg_source2) PTEG loaded from L3.5 modified
+event:0X03D2 counters:2 um:zero minimum:1000 name:PM_PTEG_FROM_L375_SHR_GRP61 : (Group 61 pm_pteg_source2) PTEG loaded from L3.75 shared
+event:0X03D3 counters:3 um:zero minimum:1000 name:PM_PTEG_FROM_L375_MOD_GRP61 : (Group 61 pm_pteg_source2) PTEG loaded from L3.75 modified
+
+#Group 62 pm_pteg_source3, PTEG source information
+event:0X03E0 counters:0 um:zero minimum:1000 name:PM_PTEG_FROM_L2_GRP62 : (Group 62 pm_pteg_source3) PTEG loaded from L2
+event:0X03E1 counters:1 um:zero minimum:1000 name:PM_PTEG_FROM_LMEM_GRP62 : (Group 62 pm_pteg_source3) PTEG loaded from local memory
+event:0X03E2 counters:2 um:zero minimum:1000 name:PM_PTEG_FROM_L2MISS_GRP62 : (Group 62 pm_pteg_source3) PTEG loaded from L2 miss
+event:0X03E3 counters:3 um:zero minimum:1000 name:PM_PTEG_FROM_RMEM_GRP62 : (Group 62 pm_pteg_source3) PTEG loaded from remote memory
+
+#Group 63 pm_pteg_source4, L3 PTEG and group disptach events
+event:0X03F0 counters:0 um:zero minimum:1000 name:PM_PTEG_FROM_L3_GRP63 : (Group 63 pm_pteg_source4) PTEG loaded from L3
+event:0X03F1 counters:1 um:zero minimum:1000 name:PM_GRP_DISP_GRP63 : (Group 63 pm_pteg_source4) Group dispatches
+event:0X03F2 counters:2 um:zero minimum:1000 name:PM_GRP_DISP_SUCCESS_GRP63 : (Group 63 pm_pteg_source4) Group dispatch success
+event:0X03F3 counters:3 um:zero minimum:1000 name:PM_DC_INV_L2_GRP63 : (Group 63 pm_pteg_source4) L1 D cache entries invalidated from L2
+
+#Group 64 pm_L2SA_ld, L2 slice A load events
+event:0X0400 counters:0 um:zero minimum:1000 name:PM_L2SA_RCLD_DISP_GRP64 : (Group 64 pm_L2SA_ld) L2 slice A RC load dispatch attempt
+event:0X0401 counters:1 um:zero minimum:1000 name:PM_L2SA_RCLD_DISP_FAIL_RC_FULL_GRP64 : (Group 64 pm_L2SA_ld) L2 slice A RC load dispatch attempt failed due to all RC full
+event:0X0402 counters:2 um:zero minimum:1000 name:PM_L2SA_RCLD_DISP_FAIL_ADDR_GRP64 : (Group 64 pm_L2SA_ld) L2 slice A RC load dispatch attempt failed due to address collision with RC/CO/SN/SQ
+event:0X0403 counters:3 um:zero minimum:1000 name:PM_L2SA_RCLD_DISP_FAIL_OTHER_GRP64 : (Group 64 pm_L2SA_ld) L2 slice A RC load dispatch attempt failed due to other reasons
+
+#Group 65 pm_L2SA_st, L2 slice A store events
+event:0X0410 counters:0 um:zero minimum:1000 name:PM_L2SA_RCST_DISP_GRP65 : (Group 65 pm_L2SA_st) L2 slice A RC store dispatch attempt
+event:0X0411 counters:1 um:zero minimum:1000 name:PM_L2SA_RCST_DISP_FAIL_RC_FULL_GRP65 : (Group 65 pm_L2SA_st) L2 slice A RC store dispatch attempt failed due to all RC full
+event:0X0412 counters:2 um:zero minimum:1000 name:PM_L2SA_RCST_DISP_FAIL_ADDR_GRP65 : (Group 65 pm_L2SA_st) L2 slice A RC store dispatch attempt failed due to address collision with RC/CO/SN/SQ
+event:0X0413 counters:3 um:zero minimum:1000 name:PM_L2SA_RCST_DISP_FAIL_OTHER_GRP65 : (Group 65 pm_L2SA_st) L2 slice A RC store dispatch attempt failed due to other reasons
+
+#Group 66 pm_L2SA_st2, L2 slice A store events
+event:0X0420 counters:0 um:zero minimum:1000 name:PM_L2SA_RC_DISP_FAIL_CO_BUSY_GRP66 : (Group 66 pm_L2SA_st2) L2 slice A RC dispatch attempt failed due to RC/CO pair chosen was miss and CO already busy
+event:0X0421 counters:1 um:zero minimum:1000 name:PM_L2SA_ST_REQ_GRP66 : (Group 66 pm_L2SA_st2) L2 slice A store requests
+event:0X0422 counters:2 um:zero minimum:1000 name:PM_L2SA_RC_DISP_FAIL_CO_BUSY_ALL_GRP66 : (Group 66 pm_L2SA_st2) L2 slice A RC dispatch attempt failed due to all CO busy
+event:0X0423 counters:3 um:zero minimum:1000 name:PM_L2SA_ST_HIT_GRP66 : (Group 66 pm_L2SA_st2) L2 slice A store hits
+
+#Group 67 pm_L2SB_ld, L2 slice B load events
+event:0X0430 counters:0 um:zero minimum:1000 name:PM_L2SB_RCLD_DISP_GRP67 : (Group 67 pm_L2SB_ld) L2 slice B RC load dispatch attempt
+event:0X0431 counters:1 um:zero minimum:1000 name:PM_L2SB_RCLD_DISP_FAIL_RC_FULL_GRP67 : (Group 67 pm_L2SB_ld) L2 slice B RC load dispatch attempt failed due to all RC full
+event:0X0432 counters:2 um:zero minimum:1000 name:PM_L2SB_RCLD_DISP_FAIL_ADDR_GRP67 : (Group 67 pm_L2SB_ld) L2 slice B RC load dispatch attempt failed due to address collision with RC/CO/SN/SQ
+event:0X0433 counters:3 um:zero minimum:1000 name:PM_L2SB_RCLD_DISP_FAIL_OTHER_GRP67 : (Group 67 pm_L2SB_ld) L2 slice B RC load dispatch attempt failed due to other reasons
+
+#Group 68 pm_L2SB_st, L2 slice B store events
+event:0X0440 counters:0 um:zero minimum:1000 name:PM_L2SB_RCST_DISP_GRP68 : (Group 68 pm_L2SB_st) L2 slice B RC store dispatch attempt
+event:0X0441 counters:1 um:zero minimum:1000 name:PM_L2SB_RCST_DISP_FAIL_RC_FULL_GRP68 : (Group 68 pm_L2SB_st) L2 slice B RC store dispatch attempt failed due to all RC full
+event:0X0442 counters:2 um:zero minimum:1000 name:PM_L2SB_RCST_DISP_FAIL_ADDR_GRP68 : (Group 68 pm_L2SB_st) L2 slice B RC store dispatch attempt failed due to address collision with RC/CO/SN/SQ
+event:0X0443 counters:3 um:zero minimum:1000 name:PM_L2SB_RCST_DISP_FAIL_OTHER_GRP68 : (Group 68 pm_L2SB_st) L2 slice B RC store dispatch attempt failed due to other reasons
+
+#Group 69 pm_L2SB_st2, L2 slice B store events
+event:0X0450 counters:0 um:zero minimum:1000 name:PM_L2SB_RC_DISP_FAIL_CO_BUSY_GRP69 : (Group 69 pm_L2SB_st2) L2 slice B RC dispatch attempt failed due to RC/CO pair chosen was miss and CO already busy
+event:0X0451 counters:1 um:zero minimum:1000 name:PM_L2SB_ST_REQ_GRP69 : (Group 69 pm_L2SB_st2) L2 slice B store requests
+event:0X0452 counters:2 um:zero minimum:1000 name:PM_L2SB_RC_DISP_FAIL_CO_BUSY_ALL_GRP69 : (Group 69 pm_L2SB_st2) L2 slice B RC dispatch attempt failed due to all CO busy
+event:0X0453 counters:3 um:zero minimum:1000 name:PM_L2SB_ST_HIT_GRP69 : (Group 69 pm_L2SB_st2) L2 slice B store hits
+
+#Group 70 pm_L2SC_ld, L2 slice C load events
+event:0X0460 counters:0 um:zero minimum:1000 name:PM_L2SC_RCLD_DISP_GRP70 : (Group 70 pm_L2SC_ld) L2 slice C RC load dispatch attempt
+event:0X0461 counters:1 um:zero minimum:1000 name:PM_L2SC_RCLD_DISP_FAIL_RC_FULL_GRP70 : (Group 70 pm_L2SC_ld) L2 slice C RC load dispatch attempt failed due to all RC full
+event:0X0462 counters:2 um:zero minimum:1000 name:PM_L2SC_RCLD_DISP_FAIL_ADDR_GRP70 : (Group 70 pm_L2SC_ld) L2 slice C RC load dispatch attempt failed due to address collision with RC/CO/SN/SQ
+event:0X0463 counters:3 um:zero minimum:1000 name:PM_L2SC_RCLD_DISP_FAIL_OTHER_GRP70 : (Group 70 pm_L2SC_ld) L2 slice C RC load dispatch attempt failed due to other reasons
+
+#Group 71 pm_L2SC_st, L2 slice C store events
+event:0X0470 counters:0 um:zero minimum:1000 name:PM_L2SC_RCST_DISP_GRP71 : (Group 71 pm_L2SC_st) L2 slice C RC store dispatch attempt
+event:0X0471 counters:1 um:zero minimum:1000 name:PM_L2SC_RCST_DISP_FAIL_RC_FULL_GRP71 : (Group 71 pm_L2SC_st) L2 slice C RC store dispatch attempt failed due to all RC full
+event:0X0472 counters:2 um:zero minimum:1000 name:PM_L2SC_RCST_DISP_FAIL_ADDR_GRP71 : (Group 71 pm_L2SC_st) L2 slice C RC store dispatch attempt failed due to address collision with RC/CO/SN/SQ
+event:0X0473 counters:3 um:zero minimum:1000 name:PM_L2SC_RCST_DISP_FAIL_OTHER_GRP71 : (Group 71 pm_L2SC_st) L2 slice C RC store dispatch attempt failed due to other reasons
+
+#Group 72 pm_L2SC_st2, L2 slice C store events
+event:0X0480 counters:0 um:zero minimum:1000 name:PM_L2SC_RC_DISP_FAIL_CO_BUSY_GRP72 : (Group 72 pm_L2SC_st2) L2 slice C RC dispatch attempt failed due to RC/CO pair chosen was miss and CO already busy
+event:0X0481 counters:1 um:zero minimum:1000 name:PM_L2SC_ST_REQ_GRP72 : (Group 72 pm_L2SC_st2) L2 slice C store requests
+event:0X0482 counters:2 um:zero minimum:1000 name:PM_L2SC_RC_DISP_FAIL_CO_BUSY_ALL_GRP72 : (Group 72 pm_L2SC_st2) L2 slice C RC dispatch attempt failed due to all CO busy
+event:0X0483 counters:3 um:zero minimum:1000 name:PM_L2SC_ST_HIT_GRP72 : (Group 72 pm_L2SC_st2) L2 slice C store hits
+
+#Group 73 pm_L3SA_trans, L3 slice A state transistions
+event:0X0490 counters:0 um:zero minimum:1000 name:PM_L3SA_MOD_TAG_GRP73 : (Group 73 pm_L3SA_trans) L3 slice A transition from modified to TAG
+event:0X0491 counters:1 um:zero minimum:1000 name:PM_IOPS_CMPL_GRP73 : (Group 73 pm_L3SA_trans) Internal operations completed
+event:0X0492 counters:2 um:zero minimum:1000 name:PM_L3SA_MOD_INV_GRP73 : (Group 73 pm_L3SA_trans) L3 slice A transition from modified to invalid
+event:0X0493 counters:3 um:zero minimum:1000 name:PM_L3SA_SHR_INV_GRP73 : (Group 73 pm_L3SA_trans) L3 slice A transition from shared to invalid
+
+#Group 74 pm_L3SB_trans, L3 slice B state transistions
+event:0X04A0 counters:0 um:zero minimum:1000 name:PM_IOPS_CMPL_GRP74 : (Group 74 pm_L3SB_trans) Internal operations completed
+event:0X04A1 counters:1 um:zero minimum:1000 name:PM_L3SB_MOD_TAG_GRP74 : (Group 74 pm_L3SB_trans) L3 slice B transition from modified to TAG
+event:0X04A2 counters:2 um:zero minimum:1000 name:PM_L3SB_MOD_INV_GRP74 : (Group 74 pm_L3SB_trans) L3 slice B transition from modified to invalid
+event:0X04A3 counters:3 um:zero minimum:1000 name:PM_L3SB_SHR_INV_GRP74 : (Group 74 pm_L3SB_trans) L3 slice B transition from shared to invalid
+
+#Group 75 pm_L3SC_trans, L3 slice C state transistions
+event:0X04B0 counters:0 um:zero minimum:1000 name:PM_IOPS_CMPL_GRP75 : (Group 75 pm_L3SC_trans) Internal operations completed
+event:0X04B1 counters:1 um:zero minimum:1000 name:PM_L3SC_MOD_TAG_GRP75 : (Group 75 pm_L3SC_trans) L3 slice C transition from modified to TAG
+event:0X04B2 counters:2 um:zero minimum:1000 name:PM_L3SC_MOD_INV_GRP75 : (Group 75 pm_L3SC_trans) L3 slice C transition from modified to invalid
+event:0X04B3 counters:3 um:zero minimum:1000 name:PM_L3SC_SHR_INV_GRP75 : (Group 75 pm_L3SC_trans) L3 slice C transition from shared to invalid
+
+#Group 76 pm_L2SA_trans, L2 slice A state transistions
+event:0X04C0 counters:0 um:zero minimum:1000 name:PM_L2SA_MOD_TAG_GRP76 : (Group 76 pm_L2SA_trans) L2 slice A transition from modified to tagged
+event:0X04C1 counters:1 um:zero minimum:1000 name:PM_L2SA_SHR_MOD_GRP76 : (Group 76 pm_L2SA_trans) L2 slice A transition from shared to modified
+event:0X04C2 counters:2 um:zero minimum:1000 name:PM_L2SA_MOD_INV_GRP76 : (Group 76 pm_L2SA_trans) L2 slice A transition from modified to invalid
+event:0X04C3 counters:3 um:zero minimum:1000 name:PM_L2SA_SHR_INV_GRP76 : (Group 76 pm_L2SA_trans) L2 slice A transition from shared to invalid
+
+#Group 77 pm_L2SB_trans, L2 slice B state transistions
+event:0X04D0 counters:0 um:zero minimum:1000 name:PM_L2SB_MOD_TAG_GRP77 : (Group 77 pm_L2SB_trans) L2 slice B transition from modified to tagged
+event:0X04D1 counters:1 um:zero minimum:1000 name:PM_L2SB_SHR_MOD_GRP77 : (Group 77 pm_L2SB_trans) L2 slice B transition from shared to modified
+event:0X04D2 counters:2 um:zero minimum:1000 name:PM_L2SB_MOD_INV_GRP77 : (Group 77 pm_L2SB_trans) L2 slice B transition from modified to invalid
+event:0X04D3 counters:3 um:zero minimum:1000 name:PM_L2SB_SHR_INV_GRP77 : (Group 77 pm_L2SB_trans) L2 slice B transition from shared to invalid
+
+#Group 78 pm_L2SC_trans, L2 slice C state transistions
+event:0X04E0 counters:0 um:zero minimum:1000 name:PM_L2SC_MOD_TAG_GRP78 : (Group 78 pm_L2SC_trans) L2 slice C transition from modified to tagged
+event:0X04E1 counters:1 um:zero minimum:1000 name:PM_L2SC_SHR_MOD_GRP78 : (Group 78 pm_L2SC_trans) L2 slice C transition from shared to modified
+event:0X04E2 counters:2 um:zero minimum:1000 name:PM_L2SC_MOD_INV_GRP78 : (Group 78 pm_L2SC_trans) L2 slice C transition from modified to invalid
+event:0X04E3 counters:3 um:zero minimum:1000 name:PM_L2SC_SHR_INV_GRP78 : (Group 78 pm_L2SC_trans) L2 slice C transition from shared to invalid
+
+#Group 79 pm_L3SAB_retry, L3 slice A/B snoop retry and all CI/CO busy
+event:0X04F0 counters:0 um:zero minimum:1000 name:PM_L3SA_ALL_BUSY_GRP79 : (Group 79 pm_L3SAB_retry) L3 slice A active for every cycle all CI/CO machines busy
+event:0X04F1 counters:1 um:zero minimum:1000 name:PM_L3SB_ALL_BUSY_GRP79 : (Group 79 pm_L3SAB_retry) L3 slice B active for every cycle all CI/CO machines busy
+event:0X04F2 counters:2 um:zero minimum:1000 name:PM_L3SA_SNOOP_RETRY_GRP79 : (Group 79 pm_L3SAB_retry) L3 slice A snoop retries
+event:0X04F3 counters:3 um:zero minimum:1000 name:PM_L3SB_SNOOP_RETRY_GRP79 : (Group 79 pm_L3SAB_retry) L3 slice B snoop retries
+
+#Group 80 pm_L3SAB_hit, L3 slice A/B hit and reference
+event:0X0500 counters:0 um:zero minimum:1000 name:PM_L3SA_REF_GRP80 : (Group 80 pm_L3SAB_hit) L3 slice A references
+event:0X0501 counters:1 um:zero minimum:1000 name:PM_L3SB_REF_GRP80 : (Group 80 pm_L3SAB_hit) L3 slice B references
+event:0X0502 counters:2 um:zero minimum:1000 name:PM_L3SA_HIT_GRP80 : (Group 80 pm_L3SAB_hit) L3 slice A hits
+event:0X0503 counters:3 um:zero minimum:1000 name:PM_L3SB_HIT_GRP80 : (Group 80 pm_L3SAB_hit) L3 slice B hits
+
+#Group 81 pm_L3SC_retry_hit, L3 slice C hit & snoop retry
+event:0X0510 counters:0 um:zero minimum:1000 name:PM_L3SC_ALL_BUSY_GRP81 : (Group 81 pm_L3SC_retry_hit) L3 slice C active for every cycle all CI/CO machines busy
+event:0X0511 counters:1 um:zero minimum:1000 name:PM_L3SC_REF_GRP81 : (Group 81 pm_L3SC_retry_hit) L3 slice C references
+event:0X0512 counters:2 um:zero minimum:1000 name:PM_L3SC_SNOOP_RETRY_GRP81 : (Group 81 pm_L3SC_retry_hit) L3 slice C snoop retries
+event:0X0513 counters:3 um:zero minimum:1000 name:PM_L3SC_HIT_GRP81 : (Group 81 pm_L3SC_retry_hit) L3 slice C hits
+
+#Group 82 pm_fpu1, Floating Point events
+event:0X0520 counters:0 um:zero minimum:1000 name:PM_FPU_FDIV_GRP82 : (Group 82 pm_fpu1) FPU executed FDIV instruction
+event:0X0521 counters:1 um:zero minimum:1000 name:PM_FPU_FMA_GRP82 : (Group 82 pm_fpu1) FPU executed multiply-add instruction
+event:0X0522 counters:2 um:zero minimum:1000 name:PM_FPU_FMOV_FEST_GRP82 : (Group 82 pm_fpu1) FPU executed FMOV or FEST instructions
+event:0X0523 counters:3 um:zero minimum:1000 name:PM_FPU_FEST_GRP82 : (Group 82 pm_fpu1) FPU executed FEST instruction
+
+#Group 83 pm_fpu2, Floating Point events
+event:0X0530 counters:0 um:zero minimum:1000 name:PM_FPU_1FLOP_GRP83 : (Group 83 pm_fpu2) FPU executed one flop instruction
+event:0X0531 counters:1 um:zero minimum:1000 name:PM_FPU_FSQRT_GRP83 : (Group 83 pm_fpu2) FPU executed FSQRT instruction
+event:0X0532 counters:2 um:zero minimum:1000 name:PM_FPU_FRSP_FCONV_GRP83 : (Group 83 pm_fpu2) FPU executed FRSP or FCONV instructions
+event:0X0533 counters:3 um:zero minimum:1000 name:PM_FPU_FIN_GRP83 : (Group 83 pm_fpu2) FPU produced a result
+
+#Group 84 pm_fpu3, Floating point events
+event:0X0540 counters:0 um:zero minimum:1000 name:PM_FPU_DENORM_GRP84 : (Group 84 pm_fpu3) FPU received denormalized data
+event:0X0541 counters:1 um:zero minimum:1000 name:PM_FPU_STALL3_GRP84 : (Group 84 pm_fpu3) FPU stalled in pipe3
+event:0X0542 counters:2 um:zero minimum:1000 name:PM_FPU0_FIN_GRP84 : (Group 84 pm_fpu3) FPU0 produced a result
+event:0X0543 counters:3 um:zero minimum:1000 name:PM_FPU1_FIN_GRP84 : (Group 84 pm_fpu3) FPU1 produced a result
+
+#Group 85 pm_fpu4, Floating point events
+event:0X0550 counters:0 um:zero minimum:1000 name:PM_FPU_SINGLE_GRP85 : (Group 85 pm_fpu4) FPU executed single precision instruction
+event:0X0551 counters:1 um:zero minimum:1000 name:PM_FPU_STF_GRP85 : (Group 85 pm_fpu4) FPU executed store instruction
+event:0X0552 counters:2 um:zero minimum:1000 name:PM_IOPS_CMPL_GRP85 : (Group 85 pm_fpu4) Internal operations completed
+event:0X0553 counters:3 um:zero minimum:1000 name:PM_LSU_LDF_GRP85 : (Group 85 pm_fpu4) LSU executed Floating Point load instruction
+
+#Group 86 pm_fpu5, Floating point events by unit
+event:0X0560 counters:0 um:zero minimum:1000 name:PM_FPU0_FSQRT_GRP86 : (Group 86 pm_fpu5) FPU0 executed FSQRT instruction
+event:0X0561 counters:1 um:zero minimum:1000 name:PM_FPU1_FSQRT_GRP86 : (Group 86 pm_fpu5) FPU1 executed FSQRT instruction
+event:0X0562 counters:2 um:zero minimum:1000 name:PM_FPU0_FEST_GRP86 : (Group 86 pm_fpu5) FPU0 executed FEST instruction
+event:0X0563 counters:3 um:zero minimum:1000 name:PM_FPU1_FEST_GRP86 : (Group 86 pm_fpu5) FPU1 executed FEST instruction
+
+#Group 87 pm_fpu6, Floating point events by unit
+event:0X0570 counters:0 um:zero minimum:1000 name:PM_FPU0_DENORM_GRP87 : (Group 87 pm_fpu6) FPU0 received denormalized data
+event:0X0571 counters:1 um:zero minimum:1000 name:PM_FPU1_DENORM_GRP87 : (Group 87 pm_fpu6) FPU1 received denormalized data
+event:0X0572 counters:2 um:zero minimum:1000 name:PM_FPU0_FMOV_FEST_GRP87 : (Group 87 pm_fpu6) FPU0 executed FMOV or FEST instructions
+event:0X0573 counters:3 um:zero minimum:1000 name:PM_FPU1_FMOV_FEST_GRP87 : (Group 87 pm_fpu6) FPU1 executed FMOV or FEST instructions
+
+#Group 88 pm_fpu7, Floating point events by unit
+event:0X0580 counters:0 um:zero minimum:1000 name:PM_FPU0_FDIV_GRP88 : (Group 88 pm_fpu7) FPU0 executed FDIV instruction
+event:0X0581 counters:1 um:zero minimum:1000 name:PM_FPU1_FDIV_GRP88 : (Group 88 pm_fpu7) FPU1 executed FDIV instruction
+event:0X0582 counters:2 um:zero minimum:1000 name:PM_FPU0_FRSP_FCONV_GRP88 : (Group 88 pm_fpu7) FPU0 executed FRSP or FCONV instructions
+event:0X0583 counters:3 um:zero minimum:1000 name:PM_FPU1_FRSP_FCONV_GRP88 : (Group 88 pm_fpu7) FPU1 executed FRSP or FCONV instructions
+
+#Group 89 pm_fpu8, Floating point events by unit
+event:0X0590 counters:0 um:zero minimum:1000 name:PM_FPU0_STALL3_GRP89 : (Group 89 pm_fpu8) FPU0 stalled in pipe3
+event:0X0591 counters:1 um:zero minimum:1000 name:PM_FPU1_STALL3_GRP89 : (Group 89 pm_fpu8) FPU1 stalled in pipe3
+event:0X0592 counters:2 um:zero minimum:1000 name:PM_IOPS_CMPL_GRP89 : (Group 89 pm_fpu8) Internal operations completed
+event:0X0593 counters:3 um:zero minimum:1000 name:PM_FPU0_FPSCR_GRP89 : (Group 89 pm_fpu8) FPU0 executed FPSCR instruction
+
+#Group 90 pm_fpu9, Floating point events by unit
+event:0X05A0 counters:0 um:zero minimum:1000 name:PM_FPU0_SINGLE_GRP90 : (Group 90 pm_fpu9) FPU0 executed single precision instruction
+event:0X05A1 counters:1 um:zero minimum:1000 name:PM_FPU1_SINGLE_GRP90 : (Group 90 pm_fpu9) FPU1 executed single precision instruction
+event:0X05A2 counters:2 um:zero minimum:1000 name:PM_LSU0_LDF_GRP90 : (Group 90 pm_fpu9) LSU0 executed Floating Point load instruction
+event:0X05A3 counters:3 um:zero minimum:1000 name:PM_LSU1_LDF_GRP90 : (Group 90 pm_fpu9) LSU1 executed Floating Point load instruction
+
+#Group 91 pm_fpu10, Floating point events by unit
+event:0X05B0 counters:0 um:zero minimum:1000 name:PM_FPU0_FMA_GRP91 : (Group 91 pm_fpu10) FPU0 executed multiply-add instruction
+event:0X05B1 counters:1 um:zero minimum:1000 name:PM_FPU1_FMA_GRP91 : (Group 91 pm_fpu10) FPU1 executed multiply-add instruction
+event:0X05B2 counters:2 um:zero minimum:1000 name:PM_IOPS_CMPL_GRP91 : (Group 91 pm_fpu10) Internal operations completed
+event:0X05B3 counters:3 um:zero minimum:1000 name:PM_FPU1_FRSP_FCONV_GRP91 : (Group 91 pm_fpu10) FPU1 executed FRSP or FCONV instructions
+
+#Group 92 pm_fpu11, Floating point events by unit
+event:0X05C0 counters:0 um:zero minimum:1000 name:PM_FPU0_1FLOP_GRP92 : (Group 92 pm_fpu11) FPU0 executed add, mult, sub, cmp or sel instruction
+event:0X05C1 counters:1 um:zero minimum:1000 name:PM_FPU1_1FLOP_GRP92 : (Group 92 pm_fpu11) FPU1 executed add, mult, sub, cmp or sel instruction
+event:0X05C2 counters:2 um:zero minimum:1000 name:PM_FPU0_FIN_GRP92 : (Group 92 pm_fpu11) FPU0 produced a result
+event:0X05C3 counters:3 um:zero minimum:1000 name:PM_IOPS_CMPL_GRP92 : (Group 92 pm_fpu11) Internal operations completed
+
+#Group 93 pm_fpu12, Floating point events by unit
+event:0X05D0 counters:0 um:zero minimum:1000 name:PM_FPU0_STF_GRP93 : (Group 93 pm_fpu12) FPU0 executed store instruction
+event:0X05D1 counters:1 um:zero minimum:1000 name:PM_FPU1_STF_GRP93 : (Group 93 pm_fpu12) FPU1 executed store instruction
+event:0X05D2 counters:2 um:zero minimum:1000 name:PM_LSU0_LDF_GRP93 : (Group 93 pm_fpu12) LSU0 executed Floating Point load instruction
+event:0X05D3 counters:3 um:zero minimum:1000 name:PM_IOPS_CMPL_GRP93 : (Group 93 pm_fpu12) Internal operations completed
+
+#Group 94 pm_fxu1, Fixed Point events
+event:0X05E0 counters:0 um:zero minimum:1000 name:PM_FXU_IDLE_GRP94 : (Group 94 pm_fxu1) FXU idle
+event:0X05E1 counters:1 um:zero minimum:1000 name:PM_FXU_BUSY_GRP94 : (Group 94 pm_fxu1) FXU busy
+event:0X05E2 counters:2 um:zero minimum:1000 name:PM_FXU0_BUSY_FXU1_IDLE_GRP94 : (Group 94 pm_fxu1) FXU0 busy FXU1 idle
+event:0X05E3 counters:3 um:zero minimum:1000 name:PM_FXU1_BUSY_FXU0_IDLE_GRP94 : (Group 94 pm_fxu1) FXU1 busy FXU0 idle
+
+#Group 95 pm_fxu2, Fixed Point events
+event:0X05F0 counters:0 um:zero minimum:1000 name:PM_MRK_GRP_DISP_GRP95 : (Group 95 pm_fxu2) Marked group dispatched
+event:0X05F1 counters:1 um:zero minimum:1000 name:PM_MRK_GRP_BR_REDIR_GRP95 : (Group 95 pm_fxu2) Group experienced marked branch redirect
+event:0X05F2 counters:2 um:zero minimum:1000 name:PM_FXU_FIN_GRP95 : (Group 95 pm_fxu2) FXU produced a result
+event:0X05F3 counters:3 um:zero minimum:1000 name:PM_FXLS_FULL_CYC_GRP95 : (Group 95 pm_fxu2) Cycles FXLS queue is full
+
+#Group 96 pm_fxu3, Fixed Point events
+event:0X0600 counters:0 um:zero minimum:1000 name:PM_3INST_CLB_CYC_GRP96 : (Group 96 pm_fxu3) Cycles 3 instructions in CLB
+event:0X0601 counters:1 um:zero minimum:1000 name:PM_4INST_CLB_CYC_GRP96 : (Group 96 pm_fxu3) Cycles 4 instructions in CLB
+event:0X0602 counters:2 um:zero minimum:1000 name:PM_FXU0_FIN_GRP96 : (Group 96 pm_fxu3) FXU0 produced a result
+event:0X0603 counters:3 um:zero minimum:1000 name:PM_FXU1_FIN_GRP96 : (Group 96 pm_fxu3) FXU1 produced a result
+
+#Group 97 pm_smt_priorities1, Thread priority events
+event:0X0610 counters:0 um:zero minimum:1000 name:PM_THRD_PRIO_4_CYC_GRP97 : (Group 97 pm_smt_priorities1) Cycles thread running at priority level 4
+event:0X0611 counters:1 um:zero minimum:1000 name:PM_THRD_PRIO_7_CYC_GRP97 : (Group 97 pm_smt_priorities1) Cycles thread running at priority level 7
+event:0X0612 counters:2 um:zero minimum:1000 name:PM_THRD_PRIO_DIFF_0_CYC_GRP97 : (Group 97 pm_smt_priorities1) Cycles no thread priority difference
+event:0X0613 counters:3 um:zero minimum:1000 name:PM_THRD_PRIO_DIFF_1or2_CYC_GRP97 : (Group 97 pm_smt_priorities1) Cycles thread priority difference is 1 or 2
+
+#Group 98 pm_smt_priorities2, Thread priority events
+event:0X0620 counters:0 um:zero minimum:1000 name:PM_THRD_PRIO_3_CYC_GRP98 : (Group 98 pm_smt_priorities2) Cycles thread running at priority level 3
+event:0X0621 counters:1 um:zero minimum:1000 name:PM_THRD_PRIO_6_CYC_GRP98 : (Group 98 pm_smt_priorities2) Cycles thread running at priority level 6
+event:0X0622 counters:2 um:zero minimum:1000 name:PM_THRD_PRIO_DIFF_3or4_CYC_GRP98 : (Group 98 pm_smt_priorities2) Cycles thread priority difference is 3 or 4
+event:0X0623 counters:3 um:zero minimum:1000 name:PM_THRD_PRIO_DIFF_5or6_CYC_GRP98 : (Group 98 pm_smt_priorities2) Cycles thread priority difference is 5 or 6
+
+#Group 99 pm_smt_priorities3, Thread priority events
+event:0X0630 counters:0 um:zero minimum:1000 name:PM_THRD_PRIO_2_CYC_GRP99 : (Group 99 pm_smt_priorities3) Cycles thread running at priority level 2
+event:0X0631 counters:1 um:zero minimum:1000 name:PM_THRD_PRIO_5_CYC_GRP99 : (Group 99 pm_smt_priorities3) Cycles thread running at priority level 5
+event:0X0632 counters:2 um:zero minimum:1000 name:PM_THRD_PRIO_DIFF_minus1or2_CYC_GRP99 : (Group 99 pm_smt_priorities3) Cycles thread priority difference is -1 or -2
+event:0X0633 counters:3 um:zero minimum:1000 name:PM_THRD_PRIO_DIFF_minus3or4_CYC_GRP99 : (Group 99 pm_smt_priorities3) Cycles thread priority difference is -3 or -4
+
+#Group 100 pm_smt_priorities4, Thread priority events
+event:0X0640 counters:0 um:zero minimum:1000 name:PM_THRD_PRIO_1_CYC_GRP100 : (Group 100 pm_smt_priorities4) Cycles thread running at priority level 1
+event:0X0641 counters:1 um:zero minimum:1000 name:PM_HV_CYC_GRP100 : (Group 100 pm_smt_priorities4) Hypervisor Cycles
+event:0X0642 counters:2 um:zero minimum:1000 name:PM_THRD_PRIO_DIFF_minus5or6_CYC_GRP100 : (Group 100 pm_smt_priorities4) Cycles thread priority difference is -5 or -6
+event:0X0643 counters:3 um:zero minimum:1000 name:PM_IOPS_CMPL_GRP100 : (Group 100 pm_smt_priorities4) Internal operations completed
+
+#Group 101 pm_smt_both, Thread common events
+event:0X0650 counters:0 um:zero minimum:1000 name:PM_THRD_ONE_RUN_CYC_GRP101 : (Group 101 pm_smt_both) One of the threads in run cycles
+event:0X0651 counters:1 um:zero minimum:1000 name:PM_THRD_GRP_CMPL_BOTH_CYC_GRP101 : (Group 101 pm_smt_both) Cycles group completed by both threads
+event:0X0652 counters:2 um:zero minimum:1000 name:PM_IOPS_CMPL_GRP101 : (Group 101 pm_smt_both) Internal operations completed
+event:0X0653 counters:3 um:zero minimum:1000 name:PM_THRD_L2MISS_BOTH_CYC_GRP101 : (Group 101 pm_smt_both) Cycles both threads in L2 misses
+
+#Group 102 pm_smt_selection, Thread selection
+event:0X0660 counters:0 um:zero minimum:1000 name:PM_SNOOP_TLBIE_GRP102 : (Group 102 pm_smt_selection) Snoop TLBIE
+event:0X0661 counters:1 um:zero minimum:1000 name:PM_IOPS_CMPL_GRP102 : (Group 102 pm_smt_selection) Internal operations completed
+event:0X0662 counters:2 um:zero minimum:1000 name:PM_THRD_SEL_T0_GRP102 : (Group 102 pm_smt_selection) Decode selected thread 0
+event:0X0663 counters:3 um:zero minimum:1000 name:PM_THRD_SEL_T1_GRP102 : (Group 102 pm_smt_selection) Decode selected thread 1
+
+#Group 103 pm_smt_selectover1, Thread selection overide
+event:0X0670 counters:0 um:zero minimum:1000 name:PM_IOPS_CMPL_GRP103 : (Group 103 pm_smt_selectover1) Internal operations completed
+event:0X0671 counters:1 um:zero minimum:1000 name:PM_0INST_CLB_CYC_GRP103 : (Group 103 pm_smt_selectover1) Cycles no instructions in CLB
+event:0X0672 counters:2 um:zero minimum:1000 name:PM_THRD_SEL_OVER_CLB_EMPTY_GRP103 : (Group 103 pm_smt_selectover1) Thread selection overrides caused by CLB empty
+event:0X0673 counters:3 um:zero minimum:1000 name:PM_THRD_SEL_OVER_GCT_IMBAL_GRP103 : (Group 103 pm_smt_selectover1) Thread selection overrides caused by GCT imbalance
+
+#Group 104 pm_smt_selectover2, Thread selection overide
+event:0X0680 counters:0 um:zero minimum:1000 name:PM_IOPS_CMPL_GRP104 : (Group 104 pm_smt_selectover2) Internal operations completed
+event:0X0681 counters:1 um:zero minimum:10000 name:PM_CYC_GRP104 : (Group 104 pm_smt_selectover2) Processor cycles
+event:0X0682 counters:2 um:zero minimum:1000 name:PM_THRD_SEL_OVER_ISU_HOLD_GRP104 : (Group 104 pm_smt_selectover2) Thread selection overrides caused by ISU holds
+event:0X0683 counters:3 um:zero minimum:1000 name:PM_THRD_SEL_OVER_L2MISS_GRP104 : (Group 104 pm_smt_selectover2) Thread selection overrides caused by L2 misses
+
+#Group 105 pm_fabric1, Fabric events
+event:0X0690 counters:0 um:zero minimum:1000 name:PM_FAB_CMD_ISSUED_GRP105 : (Group 105 pm_fabric1) Fabric command issued
+event:0X0691 counters:1 um:zero minimum:1000 name:PM_FAB_DCLAIM_ISSUED_GRP105 : (Group 105 pm_fabric1) dclaim issued
+event:0X0692 counters:2 um:zero minimum:1000 name:PM_FAB_CMD_RETRIED_GRP105 : (Group 105 pm_fabric1) Fabric command retried
+event:0X0693 counters:3 um:zero minimum:1000 name:PM_FAB_DCLAIM_RETRIED_GRP105 : (Group 105 pm_fabric1) dclaim retried
+
+#Group 106 pm_fabric2, Fabric data movement
+event:0X06A0 counters:0 um:zero minimum:1000 name:PM_FAB_P1toM1_SIDECAR_EMPTY_GRP106 : (Group 106 pm_fabric2) P1 to M1 sidecar empty
+event:0X06A1 counters:1 um:zero minimum:1000 name:PM_FAB_HOLDtoVN_EMPTY_GRP106 : (Group 106 pm_fabric2) Hold buffer to VN empty
+event:0X06A2 counters:2 um:zero minimum:1000 name:PM_FAB_P1toVNorNN_SIDECAR_EMPTY_GRP106 : (Group 106 pm_fabric2) P1 to VN/NN sidecar empty
+event:0X06A3 counters:3 um:zero minimum:1000 name:PM_FAB_VBYPASS_EMPTY_GRP106 : (Group 106 pm_fabric2) Vertical bypass buffer empty
+
+#Group 107 pm_fabric3, Fabric data movement
+event:0X06B0 counters:0 um:zero minimum:1000 name:PM_FAB_PNtoNN_DIRECT_GRP107 : (Group 107 pm_fabric3) PN to NN beat went straight to its destination
+event:0X06B1 counters:1 um:zero minimum:1000 name:PM_FAB_PNtoVN_DIRECT_GRP107 : (Group 107 pm_fabric3) PN to VN beat went straight to its destination
+event:0X06B2 counters:2 um:zero minimum:1000 name:PM_FAB_PNtoNN_SIDECAR_GRP107 : (Group 107 pm_fabric3) PN to NN beat went to sidecar first
+event:0X06B3 counters:3 um:zero minimum:1000 name:PM_FAB_PNtoVN_SIDECAR_GRP107 : (Group 107 pm_fabric3) PN to VN beat went to sidecar first
+
+#Group 108 pm_fabric4, Fabric data movement
+event:0X06C0 counters:0 um:zero minimum:1000 name:PM_FAB_M1toP1_SIDECAR_EMPTY_GRP108 : (Group 108 pm_fabric4) M1 to P1 sidecar empty
+event:0X06C1 counters:1 um:zero minimum:1000 name:PM_FAB_HOLDtoNN_EMPTY_GRP108 : (Group 108 pm_fabric4) Hold buffer to NN empty
+event:0X06C2 counters:2 um:zero minimum:1000 name:PM_EE_OFF_GRP108 : (Group 108 pm_fabric4) Cycles MSR(EE) bit off
+event:0X06C3 counters:3 um:zero minimum:1000 name:PM_FAB_M1toVNorNN_SIDECAR_EMPTY_GRP108 : (Group 108 pm_fabric4) M1 to VN/NN sidecar empty
+
+#Group 109 pm_snoop1, Snoop retry
+event:0X06D0 counters:0 um:zero minimum:1000 name:PM_SNOOP_RD_RETRY_QFULL_GRP109 : (Group 109 pm_snoop1) Snoop read retry due to read queue full
+event:0X06D1 counters:1 um:zero minimum:1000 name:PM_SNOOP_DCLAIM_RETRY_QFULL_GRP109 : (Group 109 pm_snoop1) Snoop dclaim/flush retry due to write/dclaim queues full
+event:0X06D2 counters:2 um:zero minimum:1000 name:PM_SNOOP_WR_RETRY_QFULL_GRP109 : (Group 109 pm_snoop1) Snoop read retry due to read queue full
+event:0X06D3 counters:3 um:zero minimum:1000 name:PM_SNOOP_PARTIAL_RTRY_QFULL_GRP109 : (Group 109 pm_snoop1) Snoop partial write retry due to partial-write queues full
+
+#Group 110 pm_snoop2, Snoop read retry
+event:0X06E0 counters:0 um:zero minimum:1000 name:PM_SNOOP_RD_RETRY_RQ_GRP110 : (Group 110 pm_snoop2) Snoop read retry due to collision with active read queue
+event:0X06E1 counters:1 um:zero minimum:1000 name:PM_SNOOP_RETRY_1AHEAD_GRP110 : (Group 110 pm_snoop2) Snoop retry due to one ahead collision
+event:0X06E2 counters:2 um:zero minimum:1000 name:PM_SNOOP_RD_RETRY_WQ_GRP110 : (Group 110 pm_snoop2) Snoop read retry due to collision with active write queue
+event:0X06E3 counters:3 um:zero minimum:1000 name:PM_IOPS_CMPL_GRP110 : (Group 110 pm_snoop2) Internal operations completed
+
+#Group 111 pm_snoop3, Snoop write retry
+event:0X06F0 counters:0 um:zero minimum:1000 name:PM_SNOOP_WR_RETRY_RQ_GRP111 : (Group 111 pm_snoop3) Snoop write/dclaim retry due to collision with active read queue
+event:0X06F1 counters:1 um:zero minimum:1000 name:PM_MEM_HI_PRIO_WR_CMPL_GRP111 : (Group 111 pm_snoop3) High priority write completed
+event:0X06F2 counters:2 um:zero minimum:1000 name:PM_SNOOP_WR_RETRY_WQ_GRP111 : (Group 111 pm_snoop3) Snoop write/dclaim retry due to collision with active write queue
+event:0X06F3 counters:3 um:zero minimum:1000 name:PM_MEM_LO_PRIO_WR_CMPL_GRP111 : (Group 111 pm_snoop3) Low priority write completed
+
+#Group 112 pm_snoop4, Snoop partial write retry
+event:0X0700 counters:0 um:zero minimum:1000 name:PM_SNOOP_PW_RETRY_RQ_GRP112 : (Group 112 pm_snoop4) Snoop partial-write retry due to collision with active read queue
+event:0X0701 counters:1 um:zero minimum:1000 name:PM_MEM_RQ_DISP_Q16to19_GRP112 : (Group 112 pm_snoop4) Memory read queue dispatched to queues 16-19
+event:0X0702 counters:2 um:zero minimum:1000 name:PM_SNOOP_PW_RETRY_WQ_PWQ_GRP112 : (Group 112 pm_snoop4) Snoop partial-write retry due to collision with active write or partial-write queue
+event:0X0703 counters:3 um:zero minimum:1000 name:PM_SNOOP_PW_RETRY_RQ_GRP112 : (Group 112 pm_snoop4) Snoop partial-write retry due to collision with active read queue
+
+#Group 113 pm_mem_rq, Memory read queue dispatch
+event:0X0710 counters:0 um:zero minimum:1000 name:PM_MEM_RQ_DISP_GRP113 : (Group 113 pm_mem_rq) Memory read queue dispatched
+event:0X0711 counters:1 um:zero minimum:1000 name:PM_MEM_SPEC_RD_CANCEL_GRP113 : (Group 113 pm_mem_rq) Speculative memory read cancelled
+event:0X0712 counters:2 um:zero minimum:1000 name:PM_MEM_NONSPEC_RD_CANCEL_GRP113 : (Group 113 pm_mem_rq) Non speculative memory read cancelled
+event:0X0713 counters:3 um:zero minimum:1000 name:PM_EE_OFF_EXT_INT_GRP113 : (Group 113 pm_mem_rq) Cycles MSR(EE) bit off and external interrupt pending
+
+#Group 114 pm_mem_read, Memory read complete and cancel
+event:0X0720 counters:0 um:zero minimum:1000 name:PM_MEM_RQ_DISP_Q0to3_GRP114 : (Group 114 pm_mem_read) Memory read queue dispatched to queues 0-3
+event:0X0721 counters:1 um:zero minimum:1000 name:PM_MEM_RQ_DISP_Q8to11_GRP114 : (Group 114 pm_mem_read) Memory read queue dispatched to queues 8-11
+event:0X0722 counters:2 um:zero minimum:1000 name:PM_MEM_RQ_DISP_Q4to7_GRP114 : (Group 114 pm_mem_read) Memory read queue dispatched to queues 4-7
+event:0X0723 counters:3 um:zero minimum:1000 name:PM_EXT_INT_GRP114 : (Group 114 pm_mem_read) External interrupts
+
+#Group 115 pm_mem_wq, Memory write queue dispatch
+event:0X0730 counters:0 um:zero minimum:1000 name:PM_MEM_WQ_DISP_WRITE_GRP115 : (Group 115 pm_mem_wq) Memory write queue dispatched due to write
+event:0X0731 counters:1 um:zero minimum:1000 name:PM_MEM_WQ_DISP_Q0to7_GRP115 : (Group 115 pm_mem_wq) Memory write queue dispatched to queues 0-7
+event:0X0732 counters:2 um:zero minimum:1000 name:PM_MEM_WQ_DISP_DCLAIM_GRP115 : (Group 115 pm_mem_wq) Memory write queue dispatched due to dclaim/flush
+event:0X0733 counters:3 um:zero minimum:1000 name:PM_MEM_WQ_DISP_Q8to15_GRP115 : (Group 115 pm_mem_wq) Memory write queue dispatched to queues 8-15
+
+#Group 116 pm_mem_pwq, Memory partial write queue
+event:0X0740 counters:0 um:zero minimum:1000 name:PM_MEM_PWQ_DISP_GRP116 : (Group 116 pm_mem_pwq) Memory partial-write queue dispatched
+event:0X0741 counters:1 um:zero minimum:1000 name:PM_MEM_PW_CMPL_GRP116 : (Group 116 pm_mem_pwq) Memory partial-write completed
+event:0X0742 counters:2 um:zero minimum:1000 name:PM_MEM_PW_GATH_GRP116 : (Group 116 pm_mem_pwq) Memory partial-write gathered
+event:0X0743 counters:3 um:zero minimum:1000 name:PM_MEM_PWQ_DISP_Q2or3_GRP116 : (Group 116 pm_mem_pwq) Memory partial-write queue dispatched to Write Queue 2 or 3
+
+#Group 117 pm_threshold, Thresholding
+event:0X0750 counters:0 um:zero minimum:1000 name:PM_MRK_GRP_DISP_GRP117 : (Group 117 pm_threshold) Marked group dispatched
+event:0X0751 counters:1 um:zero minimum:1000 name:PM_MRK_IMR_RELOAD_GRP117 : (Group 117 pm_threshold) Marked IMR reloaded
+event:0X0752 counters:2 um:zero minimum:1000 name:PM_THRESH_TIMEO_GRP117 : (Group 117 pm_threshold) Threshold timeout
+event:0X0753 counters:3 um:zero minimum:1000 name:PM_MRK_LSU_FIN_GRP117 : (Group 117 pm_threshold) Marked instruction LSU processing finished
+
+#Group 118 pm_mrk_grp1, Marked group events
+event:0X0760 counters:0 um:zero minimum:1000 name:PM_MRK_GRP_DISP_GRP118 : (Group 118 pm_mrk_grp1) Marked group dispatched
+event:0X0761 counters:1 um:zero minimum:1000 name:PM_MRK_ST_MISS_L1_GRP118 : (Group 118 pm_mrk_grp1) Marked L1 D cache store misses
+event:0X0762 counters:2 um:zero minimum:1000 name:PM_MRK_INST_FIN_GRP118 : (Group 118 pm_mrk_grp1) Marked instruction finished
+event:0X0763 counters:3 um:zero minimum:1000 name:PM_MRK_GRP_CMPL_GRP118 : (Group 118 pm_mrk_grp1) Marked group completed
+
+#Group 119 pm_mrk_grp2, Marked group events
+event:0X0770 counters:0 um:zero minimum:1000 name:PM_MRK_GRP_ISSUED_GRP119 : (Group 119 pm_mrk_grp2) Marked group issued
+event:0X0771 counters:1 um:zero minimum:1000 name:PM_MRK_BRU_FIN_GRP119 : (Group 119 pm_mrk_grp2) Marked instruction BRU processing finished
+event:0X0772 counters:2 um:zero minimum:1000 name:PM_MRK_L1_RELOAD_VALID_GRP119 : (Group 119 pm_mrk_grp2) Marked L1 reload data source valid
+event:0X0773 counters:3 um:zero minimum:1000 name:PM_MRK_GRP_IC_MISS_GRP119 : (Group 119 pm_mrk_grp2) Group experienced marked I cache miss
+
+#Group 120 pm_mrk_dsource1, Marked data from
+event:0X0780 counters:0 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L2_GRP120 : (Group 120 pm_mrk_dsource1) Marked data loaded from L2
+event:0X0781 counters:1 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L2_CYC_GRP120 : (Group 120 pm_mrk_dsource1) Marked load latency from L2
+event:0X0782 counters:2 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L25_MOD_GRP120 : (Group 120 pm_mrk_dsource1) Marked data loaded from L2.5 modified
+event:0X0783 counters:3 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L25_MOD_CYC_GRP120 : (Group 120 pm_mrk_dsource1) Marked load latency from L2.5 modified
+
+#Group 121 pm_mrk_dsource2, Marked data from
+event:0X0790 counters:0 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L25_SHR_GRP121 : (Group 121 pm_mrk_dsource2) Marked data loaded from L2.5 shared
+event:0X0791 counters:1 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L25_SHR_CYC_GRP121 : (Group 121 pm_mrk_dsource2) Marked load latency from L2.5 shared
+event:0X0792 counters:2 um:zero minimum:1000 name:PM_IOPS_CMPL_GRP121 : (Group 121 pm_mrk_dsource2) Internal operations completed
+event:0X0793 counters:3 um:zero minimum:1000 name:PM_FPU_FIN_GRP121 : (Group 121 pm_mrk_dsource2) FPU produced a result
+
+#Group 122 pm_mrk_dsource3, Marked data from
+event:0X07A0 counters:0 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L3_GRP122 : (Group 122 pm_mrk_dsource3) Marked data loaded from L3
+event:0X07A1 counters:1 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L3_CYC_GRP122 : (Group 122 pm_mrk_dsource3) Marked load latency from L3
+event:0X07A2 counters:2 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L35_MOD_GRP122 : (Group 122 pm_mrk_dsource3) Marked data loaded from L3.5 modified
+event:0X07A3 counters:3 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L35_MOD_CYC_GRP122 : (Group 122 pm_mrk_dsource3) Marked load latency from L3.5 modified
+
+#Group 123 pm_mrk_dsource4, Marked data from
+event:0X07B0 counters:0 um:zero minimum:1000 name:PM_MRK_DATA_FROM_RMEM_GRP123 : (Group 123 pm_mrk_dsource4) Marked data loaded from remote memory
+event:0X07B1 counters:1 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L275_SHR_CYC_GRP123 : (Group 123 pm_mrk_dsource4) Marked load latency from L2.75 shared
+event:0X07B2 counters:2 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L275_SHR_GRP123 : (Group 123 pm_mrk_dsource4) Marked data loaded from L2.75 shared
+event:0X07B3 counters:3 um:zero minimum:1000 name:PM_MRK_DATA_FROM_RMEM_CYC_GRP123 : (Group 123 pm_mrk_dsource4) Marked load latency from remote memory
+
+#Group 124 pm_mrk_dsource5, Marked data from
+event:0X07C0 counters:0 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L35_SHR_GRP124 : (Group 124 pm_mrk_dsource5) Marked data loaded from L3.5 shared
+event:0X07C1 counters:1 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L35_SHR_CYC_GRP124 : (Group 124 pm_mrk_dsource5) Marked load latency from L3.5 shared
+event:0X07C2 counters:2 um:zero minimum:1000 name:PM_MRK_DATA_FROM_LMEM_GRP124 : (Group 124 pm_mrk_dsource5) Marked data loaded from local memory
+event:0X07C3 counters:3 um:zero minimum:1000 name:PM_MRK_DATA_FROM_LMEM_CYC_GRP124 : (Group 124 pm_mrk_dsource5) Marked load latency from local memory
+
+#Group 125 pm_mrk_dsource6, Marked data from
+event:0X07D0 counters:0 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L275_MOD_GRP125 : (Group 125 pm_mrk_dsource6) Marked data loaded from L2.75 modified
+event:0X07D1 counters:1 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L275_SHR_CYC_GRP125 : (Group 125 pm_mrk_dsource6) Marked load latency from L2.75 shared
+event:0X07D2 counters:2 um:zero minimum:1000 name:PM_IOPS_CMPL_GRP125 : (Group 125 pm_mrk_dsource6) Internal operations completed
+event:0X07D3 counters:3 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L275_MOD_CYC_GRP125 : (Group 125 pm_mrk_dsource6) Marked load latency from L2.75 modified
+
+#Group 126 pm_mrk_dsource7, Marked data from
+event:0X07E0 counters:0 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L375_MOD_GRP126 : (Group 126 pm_mrk_dsource7) Marked data loaded from L3.75 modified
+event:0X07E1 counters:1 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L375_SHR_CYC_GRP126 : (Group 126 pm_mrk_dsource7) Marked load latency from L3.75 shared
+event:0X07E2 counters:2 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L375_SHR_GRP126 : (Group 126 pm_mrk_dsource7) Marked data loaded from L3.75 shared
+event:0X07E3 counters:3 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L375_MOD_CYC_GRP126 : (Group 126 pm_mrk_dsource7) Marked load latency from L3.75 modified
+
+#Group 127 pm_mrk_dtlbref, Marked data TLB references
+event:0X07F0 counters:0 um:zero minimum:1000 name:PM_MRK_DTLB_REF_4K_GRP127 : (Group 127 pm_mrk_dtlbref) Marked Data TLB reference for 4K page
+event:0X07F1 counters:1 um:zero minimum:1000 name:PM_MRK_DTLB_REF_64K_GRP127 : (Group 127 pm_mrk_dtlbref) Marked Data TLB reference for 64K page
+event:0X07F2 counters:2 um:zero minimum:1000 name:PM_MRK_DTLB_REF_16M_GRP127 : (Group 127 pm_mrk_dtlbref) Marked Data TLB reference for 16M page
+event:0X07F3 counters:3 um:zero minimum:1000 name:PM_MRK_DTLB_REF_16G_GRP127 : (Group 127 pm_mrk_dtlbref) Marked Data TLB reference for 16G page
+
+#Group 128 pm_mrk_dtlbmiss, Marked data TLB misses
+event:0X0800 counters:0 um:zero minimum:1000 name:PM_MRK_DTLB_MISS_4K_GRP128 : (Group 128 pm_mrk_dtlbmiss) Marked Data TLB misses for 4K page
+event:0X0801 counters:1 um:zero minimum:1000 name:PM_MRK_DTLB_MISS_64K_GRP128 : (Group 128 pm_mrk_dtlbmiss) Marked Data TLB misses for 64K page
+event:0X0802 counters:2 um:zero minimum:1000 name:PM_MRK_DTLB_MISS_16M_GRP128 : (Group 128 pm_mrk_dtlbmiss) Marked Data TLB misses for 16M page
+event:0X0803 counters:3 um:zero minimum:1000 name:PM_MRK_DTLB_MISS_16G_GRP128 : (Group 128 pm_mrk_dtlbmiss) Marked Data TLB misses for 16G page
+
+#Group 129 pm_mrk_dtlb_dslb, Marked data TLB references and misses and marked data SLB misses
+event:0X0810 counters:0 um:zero minimum:1000 name:PM_MRK_DTLB_REF_GRP129 : (Group 129 pm_mrk_dtlb_dslb) Marked Data TLB reference
+event:0X0811 counters:1 um:zero minimum:1000 name:PM_MRK_DTLB_MISS_GRP129 : (Group 129 pm_mrk_dtlb_dslb) Marked Data TLB misses
+event:0X0812 counters:2 um:zero minimum:1000 name:PM_MRK_DSLB_MISS_GRP129 : (Group 129 pm_mrk_dtlb_dslb) Marked Data SLB misses
+event:0X0813 counters:3 um:zero minimum:10000 name:PM_CYC_GRP129 : (Group 129 pm_mrk_dtlb_dslb) Processor cycles
+
+#Group 130 pm_mrk_lbref, Marked TLB and SLB references
+event:0X0820 counters:0 um:zero minimum:1000 name:PM_MRK_DTLB_REF_4K_GRP130 : (Group 130 pm_mrk_lbref) Marked Data TLB reference for 4K page
+event:0X0821 counters:1 um:zero minimum:1000 name:PM_IOPS_CMPL_GRP130 : (Group 130 pm_mrk_lbref) Internal operations completed
+event:0X0822 counters:2 um:zero minimum:1000 name:PM_MRK_DTLB_REF_16M_GRP130 : (Group 130 pm_mrk_lbref) Marked Data TLB reference for 16M page
+event:0X0823 counters:3 um:zero minimum:1000 name:PM_MRK_DSLB_MISS_GRP130 : (Group 130 pm_mrk_lbref) Marked Data SLB misses
+
+#Group 131 pm_mrk_lsmiss, Marked load and store miss
+event:0X0830 counters:0 um:zero minimum:1000 name:PM_MRK_LD_MISS_L1_GRP131 : (Group 131 pm_mrk_lsmiss) Marked L1 D cache load misses
+event:0X0831 counters:1 um:zero minimum:1000 name:PM_IOPS_CMPL_GRP131 : (Group 131 pm_mrk_lsmiss) Internal operations completed
+event:0X0832 counters:2 um:zero minimum:1000 name:PM_MRK_ST_CMPL_INT_GRP131 : (Group 131 pm_mrk_lsmiss) Marked store completed with intervention
+event:0X0833 counters:3 um:zero minimum:1000 name:PM_MRK_CRU_FIN_GRP131 : (Group 131 pm_mrk_lsmiss) Marked instruction CRU processing finished
+
+#Group 132 pm_mrk_ulsflush, Mark unaligned load and store flushes
+event:0X0840 counters:0 um:zero minimum:1000 name:PM_MRK_ST_CMPL_GRP132 : (Group 132 pm_mrk_ulsflush) Marked store instruction completed
+event:0X0841 counters:1 um:zero minimum:1000 name:PM_MRK_ST_MISS_L1_GRP132 : (Group 132 pm_mrk_ulsflush) Marked L1 D cache store misses
+event:0X0842 counters:2 um:zero minimum:1000 name:PM_MRK_LSU_FLUSH_UST_GRP132 : (Group 132 pm_mrk_ulsflush) Marked unaligned store flushes
+event:0X0843 counters:3 um:zero minimum:1000 name:PM_MRK_LSU_FLUSH_ULD_GRP132 : (Group 132 pm_mrk_ulsflush) Marked unaligned load flushes
+
+#Group 133 pm_mrk_misc, Misc marked instructions
+event:0X0850 counters:0 um:zero minimum:1000 name:PM_MRK_STCX_FAIL_GRP133 : (Group 133 pm_mrk_misc) Marked STCX failed
+event:0X0851 counters:1 um:zero minimum:1000 name:PM_MRK_ST_GPS_GRP133 : (Group 133 pm_mrk_misc) Marked store sent to GPS
+event:0X0852 counters:2 um:zero minimum:1000 name:PM_MRK_FPU_FIN_GRP133 : (Group 133 pm_mrk_misc) Marked instruction FPU processing finished
+event:0X0853 counters:3 um:zero minimum:1000 name:PM_MRK_GRP_TIMEO_GRP133 : (Group 133 pm_mrk_misc) Marked group completion timeout
+
+#Group 134 pm_lsref_L1, Load/Store operations and L1 activity
+event:0X0860 counters:0 um:zero minimum:1000 name:PM_DATA_FROM_L2_GRP134 : (Group 134 pm_lsref_L1) Data loaded from L2
+event:0X0861 counters:1 um:zero minimum:1000 name:PM_INST_FROM_L1_GRP134 : (Group 134 pm_lsref_L1) Instruction fetched from L1
+event:0X0862 counters:2 um:zero minimum:1000 name:PM_ST_REF_L1_GRP134 : (Group 134 pm_lsref_L1) L1 D cache store references
+event:0X0863 counters:3 um:zero minimum:1000 name:PM_LD_REF_L1_GRP134 : (Group 134 pm_lsref_L1) L1 D cache load references
+
+#Group 135 pm_lsref_L2L3, Load/Store operations and L2, L3 activity
+event:0X0870 counters:0 um:zero minimum:1000 name:PM_DATA_FROM_L3_GRP135 : (Group 135 pm_lsref_L2L3) Data loaded from L3
+event:0X0871 counters:1 um:zero minimum:1000 name:PM_DATA_FROM_LMEM_GRP135 : (Group 135 pm_lsref_L2L3) Data loaded from local memory
+event:0X0872 counters:2 um:zero minimum:1000 name:PM_ST_REF_L1_GRP135 : (Group 135 pm_lsref_L2L3) L1 D cache store references
+event:0X0873 counters:3 um:zero minimum:1000 name:PM_LD_REF_L1_GRP135 : (Group 135 pm_lsref_L2L3) L1 D cache load references
+
+#Group 136 pm_lsref_tlbmiss, Load/Store operations and TLB misses
+event:0X0880 counters:0 um:zero minimum:1000 name:PM_ITLB_MISS_GRP136 : (Group 136 pm_lsref_tlbmiss) Instruction TLB misses
+event:0X0881 counters:1 um:zero minimum:1000 name:PM_DTLB_MISS_GRP136 : (Group 136 pm_lsref_tlbmiss) Data TLB misses
+event:0X0882 counters:2 um:zero minimum:1000 name:PM_ST_REF_L1_GRP136 : (Group 136 pm_lsref_tlbmiss) L1 D cache store references
+event:0X0883 counters:3 um:zero minimum:1000 name:PM_LD_REF_L1_GRP136 : (Group 136 pm_lsref_tlbmiss) L1 D cache load references
+
+#Group 137 pm_Dmiss, Data cache misses
+event:0X0890 counters:0 um:zero minimum:1000 name:PM_DATA_FROM_L3_GRP137 : (Group 137 pm_Dmiss) Data loaded from L3
+event:0X0891 counters:1 um:zero minimum:1000 name:PM_DATA_FROM_LMEM_GRP137 : (Group 137 pm_Dmiss) Data loaded from local memory
+event:0X0892 counters:2 um:zero minimum:1000 name:PM_LD_MISS_L1_GRP137 : (Group 137 pm_Dmiss) L1 D cache load misses
+event:0X0893 counters:3 um:zero minimum:1000 name:PM_ST_MISS_L1_GRP137 : (Group 137 pm_Dmiss) L1 D cache store misses
+
+#Group 138 pm_prefetchX, Prefetch events
+event:0X08A0 counters:0 um:zero minimum:10000 name:PM_CYC_GRP138 : (Group 138 pm_prefetchX) Processor cycles
+event:0X08A1 counters:1 um:zero minimum:1000 name:PM_IC_PREF_REQ_GRP138 : (Group 138 pm_prefetchX) Instruction prefetch requests
+event:0X08A2 counters:2 um:zero minimum:1000 name:PM_L1_PREF_GRP138 : (Group 138 pm_prefetchX) L1 cache data prefetches
+event:0X08A3 counters:3 um:zero minimum:1000 name:PM_L2_PREF_GRP138 : (Group 138 pm_prefetchX) L2 cache prefetches
+
+#Group 139 pm_branchX, Branch operations
+event:0X08B0 counters:0 um:zero minimum:1000 name:PM_BR_UNCOND_GRP139 : (Group 139 pm_branchX) Unconditional branch
+event:0X08B1 counters:1 um:zero minimum:1000 name:PM_BR_PRED_TA_GRP139 : (Group 139 pm_branchX) A conditional branch was predicted, target prediction
+event:0X08B2 counters:2 um:zero minimum:1000 name:PM_BR_PRED_CR_GRP139 : (Group 139 pm_branchX) A conditional branch was predicted, CR prediction
+event:0X08B3 counters:3 um:zero minimum:1000 name:PM_BR_ISSUED_GRP139 : (Group 139 pm_branchX) Branches issued
+
+#Group 140 pm_fpuX1, Floating point events by unit
+event:0X08C0 counters:0 um:zero minimum:1000 name:PM_FPU0_STALL3_GRP140 : (Group 140 pm_fpuX1) FPU0 stalled in pipe3
+event:0X08C1 counters:1 um:zero minimum:1000 name:PM_FPU1_STALL3_GRP140 : (Group 140 pm_fpuX1) FPU1 stalled in pipe3
+event:0X08C2 counters:2 um:zero minimum:1000 name:PM_FPU0_FIN_GRP140 : (Group 140 pm_fpuX1) FPU0 produced a result
+event:0X08C3 counters:3 um:zero minimum:1000 name:PM_FPU0_FPSCR_GRP140 : (Group 140 pm_fpuX1) FPU0 executed FPSCR instruction
+
+#Group 141 pm_fpuX2, Floating point events by unit
+event:0X08D0 counters:0 um:zero minimum:1000 name:PM_FPU0_FMA_GRP141 : (Group 141 pm_fpuX2) FPU0 executed multiply-add instruction
+event:0X08D1 counters:1 um:zero minimum:1000 name:PM_FPU1_FMA_GRP141 : (Group 141 pm_fpuX2) FPU1 executed multiply-add instruction
+event:0X08D2 counters:2 um:zero minimum:1000 name:PM_FPU0_FRSP_FCONV_GRP141 : (Group 141 pm_fpuX2) FPU0 executed FRSP or FCONV instructions
+event:0X08D3 counters:3 um:zero minimum:1000 name:PM_FPU1_FRSP_FCONV_GRP141 : (Group 141 pm_fpuX2) FPU1 executed FRSP or FCONV instructions
+
+#Group 142 pm_fpuX3, Floating point events by unit
+event:0X08E0 counters:0 um:zero minimum:1000 name:PM_FPU0_1FLOP_GRP142 : (Group 142 pm_fpuX3) FPU0 executed add, mult, sub, cmp or sel instruction
+event:0X08E1 counters:1 um:zero minimum:1000 name:PM_FPU1_1FLOP_GRP142 : (Group 142 pm_fpuX3) FPU1 executed add, mult, sub, cmp or sel instruction
+event:0X08E2 counters:2 um:zero minimum:1000 name:PM_FPU0_FIN_GRP142 : (Group 142 pm_fpuX3) FPU0 produced a result
+event:0X08E3 counters:3 um:zero minimum:1000 name:PM_FPU1_FIN_GRP142 : (Group 142 pm_fpuX3) FPU1 produced a result
+
+#Group 143 pm_fpuX4, Floating point and L1 events
+event:0X08F0 counters:0 um:zero minimum:1000 name:PM_FPU_1FLOP_GRP143 : (Group 143 pm_fpuX4) FPU executed one flop instruction
+event:0X08F1 counters:1 um:zero minimum:1000 name:PM_FPU_FMA_GRP143 : (Group 143 pm_fpuX4) FPU executed multiply-add instruction
+event:0X08F2 counters:2 um:zero minimum:1000 name:PM_ST_REF_L1_GRP143 : (Group 143 pm_fpuX4) L1 D cache store references
+event:0X08F3 counters:3 um:zero minimum:1000 name:PM_LD_REF_L1_GRP143 : (Group 143 pm_fpuX4) L1 D cache load references
+
+#Group 144 pm_fpuX5, Floating point events
+event:0X0900 counters:0 um:zero minimum:1000 name:PM_FPU_SINGLE_GRP144 : (Group 144 pm_fpuX5) FPU executed single precision instruction
+event:0X0901 counters:1 um:zero minimum:1000 name:PM_FPU_STF_GRP144 : (Group 144 pm_fpuX5) FPU executed store instruction
+event:0X0902 counters:2 um:zero minimum:1000 name:PM_FPU0_FIN_GRP144 : (Group 144 pm_fpuX5) FPU0 produced a result
+event:0X0903 counters:3 um:zero minimum:1000 name:PM_FPU1_FIN_GRP144 : (Group 144 pm_fpuX5) FPU1 produced a result
+
+#Group 145 pm_fpuX6, Floating point events
+event:0X0910 counters:0 um:zero minimum:1000 name:PM_FPU_FDIV_GRP145 : (Group 145 pm_fpuX6) FPU executed FDIV instruction
+event:0X0911 counters:1 um:zero minimum:1000 name:PM_FPU_FSQRT_GRP145 : (Group 145 pm_fpuX6) FPU executed FSQRT instruction
+event:0X0912 counters:2 um:zero minimum:1000 name:PM_FPU_FRSP_FCONV_GRP145 : (Group 145 pm_fpuX6) FPU executed FRSP or FCONV instructions
+event:0X0913 counters:3 um:zero minimum:1000 name:PM_FPU_FIN_GRP145 : (Group 145 pm_fpuX6) FPU produced a result
+
+#Group 146 pm_fpuX7, Floating point events
+event:0X0920 counters:0 um:zero minimum:1000 name:PM_FPU_1FLOP_GRP146 : (Group 146 pm_fpuX7) FPU executed one flop instruction
+event:0X0921 counters:1 um:zero minimum:1000 name:PM_FPU_FMA_GRP146 : (Group 146 pm_fpuX7) FPU executed multiply-add instruction
+event:0X0922 counters:2 um:zero minimum:1000 name:PM_FPU_STF_GRP146 : (Group 146 pm_fpuX7) FPU executed store instruction
+event:0X0923 counters:3 um:zero minimum:1000 name:PM_FPU_FIN_GRP146 : (Group 146 pm_fpuX7) FPU produced a result
+
+#Group 147 pm_hpmcount8, HPM group for set 9
+event:0X0930 counters:0 um:zero minimum:10000 name:PM_CYC_GRP147 : (Group 147 pm_hpmcount8) Processor cycles
+event:0X0931 counters:1 um:zero minimum:1000 name:PM_MRK_FXU_FIN_GRP147 : (Group 147 pm_hpmcount8) Marked instruction FXU processing finished
+event:0X0932 counters:2 um:zero minimum:10000 name:PM_CYC_GRP147 : (Group 147 pm_hpmcount8) Processor cycles
+event:0X0933 counters:3 um:zero minimum:1000 name:PM_FPU_FIN_GRP147 : (Group 147 pm_hpmcount8) FPU produced a result
+
+#Group 148 pm_hpmcount2, HPM group for set 2
+event:0X0940 counters:0 um:zero minimum:10000 name:PM_INST_CMPL_GRP148 : (Group 148 pm_hpmcount2) Instructions completed
+event:0X0941 counters:1 um:zero minimum:1000 name:PM_FPU_STF_GRP148 : (Group 148 pm_hpmcount2) FPU executed store instruction
+event:0X0942 counters:2 um:zero minimum:1000 name:PM_INST_DISP_GRP148 : (Group 148 pm_hpmcount2) Instructions dispatched
+event:0X0943 counters:3 um:zero minimum:1000 name:PM_LSU_LDF_GRP148 : (Group 148 pm_hpmcount2) LSU executed Floating Point load instruction
+
+#Group 149 pm_hpmcount3, HPM group for set 3
+event:0X0950 counters:0 um:zero minimum:10000 name:PM_CYC_GRP149 : (Group 149 pm_hpmcount3) Processor cycles
+event:0X0951 counters:1 um:zero minimum:1000 name:PM_INST_DISP_ATTEMPT_GRP149 : (Group 149 pm_hpmcount3) Instructions dispatch attempted
+event:0X0952 counters:2 um:zero minimum:1000 name:PM_LD_MISS_L1_GRP149 : (Group 149 pm_hpmcount3) L1 D cache load misses
+event:0X0953 counters:3 um:zero minimum:1000 name:PM_ST_MISS_L1_GRP149 : (Group 149 pm_hpmcount3) L1 D cache store misses
+
+#Group 150 pm_hpmcount4, HPM group for set 7
+event:0X0960 counters:0 um:zero minimum:1000 name:PM_TLB_MISS_GRP150 : (Group 150 pm_hpmcount4) TLB misses
+event:0X0961 counters:1 um:zero minimum:10000 name:PM_CYC_GRP150 : (Group 150 pm_hpmcount4) Processor cycles
+event:0X0962 counters:2 um:zero minimum:1000 name:PM_ST_REF_L1_GRP150 : (Group 150 pm_hpmcount4) L1 D cache store references
+event:0X0963 counters:3 um:zero minimum:1000 name:PM_LD_REF_L1_GRP150 : (Group 150 pm_hpmcount4) L1 D cache load references
+
+#Group 151 pm_flop, Floating point operations
+event:0X0970 counters:0 um:zero minimum:1000 name:PM_FPU_FDIV_GRP151 : (Group 151 pm_flop) FPU executed FDIV instruction
+event:0X0971 counters:1 um:zero minimum:1000 name:PM_FPU_FMA_GRP151 : (Group 151 pm_flop) FPU executed multiply-add instruction
+event:0X0972 counters:2 um:zero minimum:1000 name:PM_FPU_FSQRT_GRP151 : (Group 151 pm_flop) FPU executed FSQRT instruction
+event:0X0973 counters:3 um:zero minimum:1000 name:PM_FPU_1FLOP_GRP151 : (Group 151 pm_flop) FPU executed one flop instruction
+
+#Group 152 pm_eprof1, Group for use with eprof
+event:0X0980 counters:0 um:zero minimum:10000 name:PM_INST_CMPL_GRP152 : (Group 152 pm_eprof1) Instructions completed
+event:0X0981 counters:1 um:zero minimum:10000 name:PM_CYC_GRP152 : (Group 152 pm_eprof1) Processor cycles
+event:0X0982 counters:2 um:zero minimum:1000 name:PM_LD_MISS_L1_GRP152 : (Group 152 pm_eprof1) L1 D cache load misses
+event:0X0983 counters:3 um:zero minimum:1000 name:PM_DC_INV_L2_GRP152 : (Group 152 pm_eprof1) L1 D cache entries invalidated from L2
+
+#Group 153 pm_eprof2, Group for use with eprof
+event:0X0990 counters:0 um:zero minimum:10000 name:PM_INST_CMPL_GRP153 : (Group 153 pm_eprof2) Instructions completed
+event:0X0991 counters:1 um:zero minimum:1000 name:PM_ST_REF_L1_GRP153 : (Group 153 pm_eprof2) L1 D cache store references
+event:0X0992 counters:2 um:zero minimum:1000 name:PM_INST_DISP_GRP153 : (Group 153 pm_eprof2) Instructions dispatched
+event:0X0993 counters:3 um:zero minimum:1000 name:PM_LD_REF_L1_GRP153 : (Group 153 pm_eprof2) L1 D cache load references
+
+#Group 154 pm_flip, Group for flips
+event:0X09A0 counters:0 um:zero minimum:10000 name:PM_CYC_GRP154 : (Group 154 pm_flip) Processor cycles
+event:0X09A1 counters:1 um:zero minimum:1000 name:PM_FPU_FMA_GRP154 : (Group 154 pm_flip) FPU executed multiply-add instruction
+event:0X09A2 counters:2 um:zero minimum:1000 name:PM_FPU_STF_GRP154 : (Group 154 pm_flip) FPU executed store instruction
+event:0X09A3 counters:3 um:zero minimum:1000 name:PM_FPU_FIN_GRP154 : (Group 154 pm_flip) FPU produced a result
+
+#Group 155 pm_hpmcount5, HPM group for set 5
+event:0X09B0 counters:0 um:zero minimum:10000 name:PM_CYC_GRP155 : (Group 155 pm_hpmcount5) Processor cycles
+event:0X09B1 counters:1 um:zero minimum:1000 name:PM_DTLB_MISS_GRP155 : (Group 155 pm_hpmcount5) Data TLB misses
+event:0X09B2 counters:2 um:zero minimum:1000 name:PM_LD_MISS_L1_GRP155 : (Group 155 pm_hpmcount5) L1 D cache load misses
+event:0X09B3 counters:3 um:zero minimum:1000 name:PM_LD_REF_L1_GRP155 : (Group 155 pm_hpmcount5) L1 D cache load references
+
+#Group 156 pm_hpmcount6, HPM group for set 6
+event:0X09C0 counters:0 um:zero minimum:10000 name:PM_CYC_GRP156 : (Group 156 pm_hpmcount6) Processor cycles
+event:0X09C1 counters:1 um:zero minimum:10000 name:PM_INST_CMPL_GRP156 : (Group 156 pm_hpmcount6) Instructions completed
+event:0X09C2 counters:2 um:zero minimum:1000 name:PM_ST_REF_L1_GRP156 : (Group 156 pm_hpmcount6) L1 D cache store references
+event:0X09C3 counters:3 um:zero minimum:1000 name:PM_ST_MISS_L1_GRP156 : (Group 156 pm_hpmcount6) L1 D cache store misses
+
+#Group 157 pm_hpmcount7, HPM group for set 8
+event:0X09D0 counters:0 um:zero minimum:10000 name:PM_INST_CMPL_GRP157 : (Group 157 pm_hpmcount7) Instructions completed
+event:0X09D1 counters:1 um:zero minimum:1000 name:PM_DATA_FROM_LMEM_GRP157 : (Group 157 pm_hpmcount7) Data loaded from local memory
+event:0X09D2 counters:2 um:zero minimum:10000 name:PM_CYC_GRP157 : (Group 157 pm_hpmcount7) Processor cycles
+event:0X09D3 counters:3 um:zero minimum:1000 name:PM_DATA_FROM_RMEM_GRP157 : (Group 157 pm_hpmcount7) Data loaded from remote memory
+
+#Group 158 pm_ep_threshold, Thresholding
+event:0X09E0 counters:0 um:zero minimum:1000 name:PM_MRK_GRP_DISP_GRP158 : (Group 158 pm_ep_threshold) Marked group dispatched
+event:0X09E1 counters:1 um:zero minimum:10000 name:PM_INST_CMPL_GRP158 : (Group 158 pm_ep_threshold) Instructions completed
+event:0X09E2 counters:2 um:zero minimum:1000 name:PM_THRESH_TIMEO_GRP158 : (Group 158 pm_ep_threshold) Threshold timeout
+event:0X09E3 counters:3 um:zero minimum:1000 name:PM_MRK_LSU_FIN_GRP158 : (Group 158 pm_ep_threshold) Marked instruction LSU processing finished
+
+#Group 159 pm_ep_mrk_grp1, Marked group events
+event:0X09F0 counters:0 um:zero minimum:1000 name:PM_MRK_GRP_DISP_GRP159 : (Group 159 pm_ep_mrk_grp1) Marked group dispatched
+event:0X09F1 counters:1 um:zero minimum:10000 name:PM_INST_CMPL_GRP159 : (Group 159 pm_ep_mrk_grp1) Instructions completed
+event:0X09F2 counters:2 um:zero minimum:1000 name:PM_MRK_INST_FIN_GRP159 : (Group 159 pm_ep_mrk_grp1) Marked instruction finished
+event:0X09F3 counters:3 um:zero minimum:1000 name:PM_MRK_GRP_CMPL_GRP159 : (Group 159 pm_ep_mrk_grp1) Marked group completed
+
+#Group 160 pm_ep_mrk_grp2, Marked group events
+event:0X0A00 counters:0 um:zero minimum:1000 name:PM_MRK_GRP_ISSUED_GRP160 : (Group 160 pm_ep_mrk_grp2) Marked group issued
+event:0X0A01 counters:1 um:zero minimum:10000 name:PM_INST_CMPL_GRP160 : (Group 160 pm_ep_mrk_grp2) Instructions completed
+event:0X0A02 counters:2 um:zero minimum:1000 name:PM_MRK_L1_RELOAD_VALID_GRP160 : (Group 160 pm_ep_mrk_grp2) Marked L1 reload data source valid
+event:0X0A03 counters:3 um:zero minimum:1000 name:PM_MRK_GRP_IC_MISS_GRP160 : (Group 160 pm_ep_mrk_grp2) Group experienced marked I cache miss
+
+#Group 161 pm_ep_mrk_dsource1, Marked data from
+event:0X0A10 counters:0 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L2_GRP161 : (Group 161 pm_ep_mrk_dsource1) Marked data loaded from L2
+event:0X0A11 counters:1 um:zero minimum:10000 name:PM_INST_CMPL_GRP161 : (Group 161 pm_ep_mrk_dsource1) Instructions completed
+event:0X0A12 counters:2 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L25_MOD_GRP161 : (Group 161 pm_ep_mrk_dsource1) Marked data loaded from L2.5 modified
+event:0X0A13 counters:3 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L25_MOD_CYC_GRP161 : (Group 161 pm_ep_mrk_dsource1) Marked load latency from L2.5 modified
+
+#Group 162 pm_ep_mrk_dsource2, Marked data from
+event:0X0A20 counters:0 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L25_SHR_GRP162 : (Group 162 pm_ep_mrk_dsource2) Marked data loaded from L2.5 shared
+event:0X0A21 counters:1 um:zero minimum:10000 name:PM_INST_CMPL_GRP162 : (Group 162 pm_ep_mrk_dsource2) Instructions completed
+event:0X0A22 counters:2 um:zero minimum:1000 name:PM_MRK_IMR_RELOAD_GRP162 : (Group 162 pm_ep_mrk_dsource2) Marked IMR reloaded
+event:0X0A23 counters:3 um:zero minimum:1000 name:PM_FPU_FIN_GRP162 : (Group 162 pm_ep_mrk_dsource2) FPU produced a result
+
+#Group 163 pm_ep_mrk_dsource3, Marked data from
+event:0X0A30 counters:0 um:zero minimum:10000 name:PM_INST_CMPL_GRP163 : (Group 163 pm_ep_mrk_dsource3) Instructions completed
+event:0X0A31 counters:1 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L3_CYC_GRP163 : (Group 163 pm_ep_mrk_dsource3) Marked load latency from L3
+event:0X0A32 counters:2 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L35_MOD_GRP163 : (Group 163 pm_ep_mrk_dsource3) Marked data loaded from L3.5 modified
+event:0X0A33 counters:3 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L35_MOD_CYC_GRP163 : (Group 163 pm_ep_mrk_dsource3) Marked load latency from L3.5 modified
+
+#Group 164 pm_ep_mrk_dsource4, Marked data from
+event:0X0A40 counters:0 um:zero minimum:10000 name:PM_INST_CMPL_GRP164 : (Group 164 pm_ep_mrk_dsource4) Instructions completed
+event:0X0A41 counters:1 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L275_SHR_CYC_GRP164 : (Group 164 pm_ep_mrk_dsource4) Marked load latency from L2.75 shared
+event:0X0A42 counters:2 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L275_SHR_GRP164 : (Group 164 pm_ep_mrk_dsource4) Marked data loaded from L2.75 shared
+event:0X0A43 counters:3 um:zero minimum:1000 name:PM_MRK_DATA_FROM_RMEM_CYC_GRP164 : (Group 164 pm_ep_mrk_dsource4) Marked load latency from remote memory
+
+#Group 165 pm_ep_mrk_dsource5, Marked data from
+event:0X0A50 counters:0 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L35_SHR_GRP165 : (Group 165 pm_ep_mrk_dsource5) Marked data loaded from L3.5 shared
+event:0X0A51 counters:1 um:zero minimum:10000 name:PM_INST_CMPL_GRP165 : (Group 165 pm_ep_mrk_dsource5) Instructions completed
+event:0X0A52 counters:2 um:zero minimum:1000 name:PM_MRK_DATA_FROM_LMEM_GRP165 : (Group 165 pm_ep_mrk_dsource5) Marked data loaded from local memory
+event:0X0A53 counters:3 um:zero minimum:1000 name:PM_MRK_DATA_FROM_LMEM_CYC_GRP165 : (Group 165 pm_ep_mrk_dsource5) Marked load latency from local memory
+
+#Group 166 pm_ep_mrk_dsource6, Marked data from
+event:0X0A60 counters:0 um:zero minimum:10000 name:PM_INST_CMPL_GRP166 : (Group 166 pm_ep_mrk_dsource6) Instructions completed
+event:0X0A61 counters:1 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L275_SHR_CYC_GRP166 : (Group 166 pm_ep_mrk_dsource6) Marked load latency from L2.75 shared
+event:0X0A62 counters:2 um:zero minimum:1000 name:PM_IOPS_CMPL_GRP166 : (Group 166 pm_ep_mrk_dsource6) Internal operations completed
+event:0X0A63 counters:3 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L275_MOD_CYC_GRP166 : (Group 166 pm_ep_mrk_dsource6) Marked load latency from L2.75 modified
+
+#Group 167 pm_ep_mrk_dsource7, Marked data from
+event:0X0A70 counters:0 um:zero minimum:10000 name:PM_INST_CMPL_GRP167 : (Group 167 pm_ep_mrk_dsource7) Instructions completed
+event:0X0A71 counters:1 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L375_SHR_CYC_GRP167 : (Group 167 pm_ep_mrk_dsource7) Marked load latency from L3.75 shared
+event:0X0A72 counters:2 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L375_SHR_GRP167 : (Group 167 pm_ep_mrk_dsource7) Marked data loaded from L3.75 shared
+event:0X0A73 counters:3 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L375_MOD_CYC_GRP167 : (Group 167 pm_ep_mrk_dsource7) Marked load latency from L3.75 modified
+
+#Group 168 pm_ep_mrk_lbmiss, Marked TLB and SLB misses
+event:0X0A80 counters:0 um:zero minimum:10000 name:PM_INST_CMPL_GRP168 : (Group 168 pm_ep_mrk_lbmiss) Instructions completed
+event:0X0A81 counters:1 um:zero minimum:1000 name:PM_MRK_DTLB_MISS_64K_GRP168 : (Group 168 pm_ep_mrk_lbmiss) Marked Data TLB misses for 64K page
+event:0X0A82 counters:2 um:zero minimum:1000 name:PM_MRK_DTLB_MISS_16M_GRP168 : (Group 168 pm_ep_mrk_lbmiss) Marked Data TLB misses for 16M page
+event:0X0A83 counters:3 um:zero minimum:1000 name:PM_MRK_DTLB_MISS_16G_GRP168 : (Group 168 pm_ep_mrk_lbmiss) Marked Data TLB misses for 16G page
+
+#Group 169 pm_ep_mrk_dtlbref, Marked data TLB references
+event:0X0A90 counters:0 um:zero minimum:10000 name:PM_INST_CMPL_GRP169 : (Group 169 pm_ep_mrk_dtlbref) Instructions completed
+event:0X0A91 counters:1 um:zero minimum:1000 name:PM_MRK_DTLB_REF_64K_GRP169 : (Group 169 pm_ep_mrk_dtlbref) Marked Data TLB reference for 64K page
+event:0X0A92 counters:2 um:zero minimum:1000 name:PM_MRK_DTLB_REF_16M_GRP169 : (Group 169 pm_ep_mrk_dtlbref) Marked Data TLB reference for 16M page
+event:0X0A93 counters:3 um:zero minimum:1000 name:PM_MRK_DTLB_REF_16G_GRP169 : (Group 169 pm_ep_mrk_dtlbref) Marked Data TLB reference for 16G page
+
+#Group 170 pm_ep_mrk_dtlbmiss, Marked data TLB misses
+event:0X0AA0 counters:0 um:zero minimum:10000 name:PM_INST_CMPL_GRP170 : (Group 170 pm_ep_mrk_dtlbmiss) Instructions completed
+event:0X0AA1 counters:1 um:zero minimum:1000 name:PM_MRK_DTLB_MISS_64K_GRP170 : (Group 170 pm_ep_mrk_dtlbmiss) Marked Data TLB misses for 64K page
+event:0X0AA2 counters:2 um:zero minimum:1000 name:PM_MRK_DTLB_MISS_16M_GRP170 : (Group 170 pm_ep_mrk_dtlbmiss) Marked Data TLB misses for 16M page
+event:0X0AA3 counters:3 um:zero minimum:1000 name:PM_MRK_DTLB_MISS_16G_GRP170 : (Group 170 pm_ep_mrk_dtlbmiss) Marked Data TLB misses for 16G page
+
+#Group 171 pm_ep_mrk_lbref, Marked TLB and SLB references
+event:0X0AB0 counters:0 um:zero minimum:1000 name:PM_MRK_DTLB_REF_4K_GRP171 : (Group 171 pm_ep_mrk_lbref) Marked Data TLB reference for 4K page
+event:0X0AB1 counters:1 um:zero minimum:10000 name:PM_INST_CMPL_GRP171 : (Group 171 pm_ep_mrk_lbref) Instructions completed
+event:0X0AB2 counters:2 um:zero minimum:1000 name:PM_MRK_DTLB_REF_16M_GRP171 : (Group 171 pm_ep_mrk_lbref) Marked Data TLB reference for 16M page
+event:0X0AB3 counters:3 um:zero minimum:1000 name:PM_MRK_DSLB_MISS_GRP171 : (Group 171 pm_ep_mrk_lbref) Marked Data SLB misses
+
+#Group 172 pm_ep_mrk_lsmiss, Marked load and store miss
+event:0X0AC0 counters:0 um:zero minimum:1000 name:PM_MRK_LD_MISS_L1_GRP172 : (Group 172 pm_ep_mrk_lsmiss) Marked L1 D cache load misses
+event:0X0AC1 counters:1 um:zero minimum:10000 name:PM_INST_CMPL_GRP172 : (Group 172 pm_ep_mrk_lsmiss) Instructions completed
+event:0X0AC2 counters:2 um:zero minimum:1000 name:PM_MRK_ST_CMPL_INT_GRP172 : (Group 172 pm_ep_mrk_lsmiss) Marked store completed with intervention
+event:0X0AC3 counters:3 um:zero minimum:1000 name:PM_MRK_CRU_FIN_GRP172 : (Group 172 pm_ep_mrk_lsmiss) Marked instruction CRU processing finished
+
+#Group 173 pm_ep_mrk_ulsflush, Mark unaligned load and store flushes
+event:0X0AD0 counters:0 um:zero minimum:1000 name:PM_MRK_ST_CMPL_GRP173 : (Group 173 pm_ep_mrk_ulsflush) Marked store instruction completed
+event:0X0AD1 counters:1 um:zero minimum:10000 name:PM_INST_CMPL_GRP173 : (Group 173 pm_ep_mrk_ulsflush) Instructions completed
+event:0X0AD2 counters:2 um:zero minimum:1000 name:PM_MRK_LSU_FLUSH_UST_GRP173 : (Group 173 pm_ep_mrk_ulsflush) Marked unaligned store flushes
+event:0X0AD3 counters:3 um:zero minimum:1000 name:PM_MRK_LSU_FLUSH_ULD_GRP173 : (Group 173 pm_ep_mrk_ulsflush) Marked unaligned load flushes
+
+#Group 174 pm_ep_mrk_misc1, Misc marked instructions
+event:0X0AE0 counters:0 um:zero minimum:10000 name:PM_INST_CMPL_GRP174 : (Group 174 pm_ep_mrk_misc1) Instructions completed
+event:0X0AE1 counters:1 um:zero minimum:1000 name:PM_MRK_ST_GPS_GRP174 : (Group 174 pm_ep_mrk_misc1) Marked store sent to GPS
+event:0X0AE2 counters:2 um:zero minimum:1000 name:PM_MRK_FPU_FIN_GRP174 : (Group 174 pm_ep_mrk_misc1) Marked instruction FPU processing finished
+event:0X0AE3 counters:3 um:zero minimum:1000 name:PM_MRK_GRP_TIMEO_GRP174 : (Group 174 pm_ep_mrk_misc1) Marked group completion timeout
+
+#Group 175 pm_ep_mrk_misc2, Misc marked instructions
+event:0X0AF0 counters:0 um:zero minimum:10000 name:PM_INST_CMPL_GRP175 : (Group 175 pm_ep_mrk_misc2) Instructions completed
+event:0X0AF1 counters:1 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L25_SHR_CYC_GRP175 : (Group 175 pm_ep_mrk_misc2) Marked load latency from L2.5 shared
+event:0X0AF2 counters:2 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L3_GRP175 : (Group 175 pm_ep_mrk_misc2) Marked data loaded from L3
+event:0X0AF3 counters:3 um:zero minimum:1000 name:PM_MRK_IMR_RELOAD_GRP175 : (Group 175 pm_ep_mrk_misc2) Marked IMR reloaded
+
+#Group 176 pm_ep_mrk_misc3, Misc marked instructions
+event:0X0B00 counters:0 um:zero minimum:10000 name:PM_INST_CMPL_GRP176 : (Group 176 pm_ep_mrk_misc3) Instructions completed
+event:0X0B01 counters:1 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L35_SHR_CYC_GRP176 : (Group 176 pm_ep_mrk_misc3) Marked load latency from L3.5 shared
+event:0X0B02 counters:2 um:zero minimum:1000 name:PM_MRK_DTLB_MISS_GRP176 : (Group 176 pm_ep_mrk_misc3) Marked Data TLB misses
+event:0X0B03 counters:3 um:zero minimum:1000 name:PM_MRK_DATA_FROM_RMEM_GRP176 : (Group 176 pm_ep_mrk_misc3) Marked data loaded from remote memory
+
+#Group 177 pm_ep_mrk_misc4, Misc marked instructions
+event:0X0B10 counters:0 um:zero minimum:1000 name:PM_MRK_DTLB_MISS_4K_GRP177 : (Group 177 pm_ep_mrk_misc4) Marked Data TLB misses for 4K page
+event:0X0B11 counters:1 um:zero minimum:10000 name:PM_INST_CMPL_GRP177 : (Group 177 pm_ep_mrk_misc4) Instructions completed
+event:0X0B12 counters:2 um:zero minimum:1000 name:PM_MRK_DTLB_REF_GRP177 : (Group 177 pm_ep_mrk_misc4) Marked Data TLB reference
+event:0X0B13 counters:3 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L275_MOD_GRP177 : (Group 177 pm_ep_mrk_misc4) Marked data loaded from L2.75 modified
+
+#Group 178 pm_ep_mrk_misc5, Misc marked instructions
+event:0X0B20 counters:0 um:zero minimum:1000 name:PM_MRK_DTLB_REF_4K_GRP178 : (Group 178 pm_ep_mrk_misc5) Marked Data TLB reference for 4K page
+event:0X0B21 counters:1 um:zero minimum:10000 name:PM_INST_CMPL_GRP178 : (Group 178 pm_ep_mrk_misc5) Instructions completed
+event:0X0B22 counters:2 um:zero minimum:1000 name:PM_IOPS_CMPL_GRP178 : (Group 178 pm_ep_mrk_misc5) Internal operations completed
+event:0X0B23 counters:3 um:zero minimum:1000 name:PM_MRK_LSU0_FLUSH_SRQ_GRP178 : (Group 178 pm_ep_mrk_misc5) LSU0 marked SRQ lhs flushes
+
+#Group 179 pm_ep_mrk_misc6, Misc marked instructions
+event:0X0B30 counters:0 um:zero minimum:1000 name:PM_MRK_DTLB_MISS_4K_GRP179 : (Group 179 pm_ep_mrk_misc6) Marked Data TLB misses for 4K page
+event:0X0B31 counters:1 um:zero minimum:10000 name:PM_INST_CMPL_GRP179 : (Group 179 pm_ep_mrk_misc6) Instructions completed
+event:0X0B32 counters:2 um:zero minimum:1000 name:PM_MRK_LSU1_FLUSH_ULD_GRP179 : (Group 179 pm_ep_mrk_misc6) LSU1 marked unaligned load flushes
+event:0X0B33 counters:3 um:zero minimum:1000 name:PM_MRK_LSU1_FLUSH_UST_GRP179 : (Group 179 pm_ep_mrk_misc6) LSU1 marked unaligned store flushes
+
+#Group 180 pm_ep_mrk_misc7, Misc marked instructions
+event:0X0B40 counters:0 um:zero minimum:10000 name:PM_INST_CMPL_GRP180 : (Group 180 pm_ep_mrk_misc7) Instructions completed
+event:0X0B41 counters:1 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L2_CYC_GRP180 : (Group 180 pm_ep_mrk_misc7) Marked load latency from L2
+event:0X0B42 counters:2 um:zero minimum:1000 name:PM_MRK_LSU0_FLUSH_ULD_GRP180 : (Group 180 pm_ep_mrk_misc7) LSU0 marked unaligned load flushes
+event:0X0B43 counters:3 um:zero minimum:1000 name:PM_MRK_LSU0_FLUSH_UST_GRP180 : (Group 180 pm_ep_mrk_misc7) LSU0 marked unaligned store flushes
+
+#Group 181 pm_ep_mrk_misc8, Misc marked instructions
+event:0X0B50 counters:0 um:zero minimum:10000 name:PM_INST_CMPL_GRP181 : (Group 181 pm_ep_mrk_misc8) Instructions completed
+event:0X0B51 counters:1 um:zero minimum:1000 name:PM_MRK_BRU_FIN_GRP181 : (Group 181 pm_ep_mrk_misc8) Marked instruction BRU processing finished
+event:0X0B52 counters:2 um:zero minimum:1000 name:PM_MRK_LSU0_FLUSH_LRQ_GRP181 : (Group 181 pm_ep_mrk_misc8) LSU0 marked LRQ flushes
+event:0X0B53 counters:3 um:zero minimum:1000 name:PM_MRK_LSU0_FLUSH_SRQ_GRP181 : (Group 181 pm_ep_mrk_misc8) LSU0 marked SRQ lhs flushes
+
+#Group 182 pm_ep_mrk_misc9, Misc marked instructions
+event:0X0B60 counters:0 um:zero minimum:10000 name:PM_INST_CMPL_GRP182 : (Group 182 pm_ep_mrk_misc9) Instructions completed
+event:0X0B61 counters:1 um:zero minimum:1000 name:PM_MRK_LSU1_FLUSH_LRQ_GRP182 : (Group 182 pm_ep_mrk_misc9) LSU1 marked LRQ flushes
+event:0X0B62 counters:2 um:zero minimum:1000 name:PM_MRK_LSU1_FLUSH_SRQ_GRP182 : (Group 182 pm_ep_mrk_misc9) LSU1 marked SRQ lhs flushes
+event:0X0B63 counters:3 um:zero minimum:1000 name:PM_MRK_STCX_FAIL_GRP182 : (Group 182 pm_ep_mrk_misc9) Marked STCX failed
+
+#Group 183 pm_ep_mrk_misc10, Misc marked instructions
+event:0X0B70 counters:0 um:zero minimum:10000 name:PM_INST_CMPL_GRP183 : (Group 183 pm_ep_mrk_misc10) Instructions completed
+event:0X0B71 counters:1 um:zero minimum:1000 name:PM_MRK_LD_MISS_L1_LSU0_GRP183 : (Group 183 pm_ep_mrk_misc10) LSU0 marked L1 D cache load misses
+event:0X0B72 counters:2 um:zero minimum:1000 name:PM_MRK_LD_MISS_L1_LSU1_GRP183 : (Group 183 pm_ep_mrk_misc10) LSU1 marked L1 D cache load misses
+event:0X0B73 counters:3 um:zero minimum:1000 name:PM_MRK_ST_MISS_L1_GRP183 : (Group 183 pm_ep_mrk_misc10) Marked L1 D cache store misses
+
+#Group 184 pm_ep_mrk_misc11, Misc marked instructions
+event:0X0B80 counters:0 um:zero minimum:10000 name:PM_INST_CMPL_GRP184 : (Group 184 pm_ep_mrk_misc11) Instructions completed
+event:0X0B81 counters:1 um:zero minimum:1000 name:PM_MRK_BRU_FIN_GRP184 : (Group 184 pm_ep_mrk_misc11) Marked instruction BRU processing finished
+event:0X0B82 counters:2 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L25_MOD_GRP184 : (Group 184 pm_ep_mrk_misc11) Marked data loaded from L2.5 modified
+event:0X0B83 counters:3 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L375_MOD_GRP184 : (Group 184 pm_ep_mrk_misc11) Marked data loaded from L3.75 modified
+
+#Group 185 pm_ep_mrk_misc12, Misc marked instructions
+event:0X0B90 counters:0 um:zero minimum:10000 name:PM_INST_CMPL_GRP185 : (Group 185 pm_ep_mrk_misc12) Instructions completed
+event:0X0B91 counters:1 um:zero minimum:1000 name:PM_MRK_LSU_FLUSH_UST_GRP185 : (Group 185 pm_ep_mrk_misc12) Marked unaligned store flushes
+event:0X0B92 counters:2 um:zero minimum:1000 name:PM_MRK_LSU_FLUSH_LRQ_GRP185 : (Group 185 pm_ep_mrk_misc12) Marked LRQ flushes
+event:0X0B93 counters:3 um:zero minimum:1000 name:PM_MRK_LSU_FLUSH_SRQ_GRP185 : (Group 185 pm_ep_mrk_misc12) Marked SRQ lhs flushes
+
+#Group 186 pm_ep_mrk_misc13, Misc marked instructions
+event:0X0BA0 counters:0 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L2_GRP186 : (Group 186 pm_ep_mrk_misc13) Marked data loaded from L2
+event:0X0BA1 counters:1 um:zero minimum:10000 name:PM_INST_CMPL_GRP186 : (Group 186 pm_ep_mrk_misc13) Instructions completed
+event:0X0BA2 counters:2 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L2MISS_GRP186 : (Group 186 pm_ep_mrk_misc13) Marked data loaded missed L2
+event:0X0BA3 counters:3 um:zero minimum:1000 name:PM_MRK_LSU_SRQ_INST_VALID_GRP186 : (Group 186 pm_ep_mrk_misc13) Marked instruction valid in SRQ
+
+#Group 187 pm_ep_mrk_misc14, Misc marked instructions
+event:0X0BB0 counters:0 um:zero minimum:10000 name:PM_INST_CMPL_GRP187 : (Group 187 pm_ep_mrk_misc14) Instructions completed
+event:0X0BB1 counters:1 um:zero minimum:1000 name:PM_MRK_FXU_FIN_GRP187 : (Group 187 pm_ep_mrk_misc14) Marked instruction FXU processing finished
+event:0X0BB2 counters:2 um:zero minimum:1000 name:PM_MRK_FPU_FIN_GRP187 : (Group 187 pm_ep_mrk_misc14) Marked instruction FPU processing finished
+event:0X0BB3 counters:3 um:zero minimum:1000 name:PM_MRK_LSU_FIN_GRP187 : (Group 187 pm_ep_mrk_misc14) Marked instruction LSU processing finished
+
+#Group 188 pm_ep_mrk_misc15, Misc marked instructions
+event:0X0BC0 counters:0 um:zero minimum:10000 name:PM_INST_CMPL_GRP188 : (Group 188 pm_ep_mrk_misc15) Instructions completed
+event:0X0BC1 counters:1 um:zero minimum:1000 name:PM_MRK_GRP_BR_REDIR_GRP188 : (Group 188 pm_ep_mrk_misc15) Group experienced marked branch redirect
+event:0X0BC2 counters:2 um:zero minimum:1000 name:PM_MRK_INST_FIN_GRP188 : (Group 188 pm_ep_mrk_misc15) Marked instruction finished
+event:0X0BC3 counters:3 um:zero minimum:1000 name:PM_MRK_GRP_CMPL_GRP188 : (Group 188 pm_ep_mrk_misc15) Marked group completed
diff --git a/events/ppc64/power5++/unit_masks b/events/ppc64/power5++/unit_masks
new file mode 100644
index 0000000..2d57319
--- /dev/null
+++ b/events/ppc64/power5++/unit_masks
@@ -0,0 +1,4 @@
+# ppc64 Power5++ possible unit masks
+#
+name:zero type:mandatory default:0x0
+ 0x0 No unit mask
diff --git a/events/ppc64/power5+/event_mappings b/events/ppc64/power5+/event_mappings
new file mode 100644
index 0000000..735d2d1
--- /dev/null
+++ b/events/ppc64/power5+/event_mappings
@@ -0,0 +1,1232 @@
+#Mapping of event groups to MMCR values
+
+#Group Default
+event:0X001 mmcr0:0X00000000 mmcr1:0X000000000A02121E mmcra:0X00000000
+
+#Group 0 with random sampling
+event:0X002 mmcr0:0X00000000 mmcr1:0X4000000002341E36 mmcra:0X00000001
+
+
+#Group 1 pm_utilization, CPI and utilization data
+event:0X010 mmcr0:0X00000000 mmcr1:0X000000000A12121E mmcra:0X00000000
+event:0X011 mmcr0:0X00000000 mmcr1:0X000000000A12121E mmcra:0X00000000
+event:0X012 mmcr0:0X00000000 mmcr1:0X000000000A12121E mmcra:0X00000000
+event:0X013 mmcr0:0X00000000 mmcr1:0X000000000A12121E mmcra:0X00000000
+event:0X014 mmcr0:0X00000000 mmcr1:0X000000000A12121E mmcra:0X00000000
+event:0X015 mmcr0:0X00000000 mmcr1:0X000000000A12121E mmcra:0X00000000
+
+#Group 2 pm_completion, Completion and cycle counts
+event:0X020 mmcr0:0X00000000 mmcr1:0X000000002608261E mmcra:0X00000000
+event:0X021 mmcr0:0X00000000 mmcr1:0X000000002608261E mmcra:0X00000000
+event:0X022 mmcr0:0X00000000 mmcr1:0X000000002608261E mmcra:0X00000000
+event:0X023 mmcr0:0X00000000 mmcr1:0X000000002608261E mmcra:0X00000000
+event:0X024 mmcr0:0X00000000 mmcr1:0X000000002608261E mmcra:0X00000000
+event:0X025 mmcr0:0X00000000 mmcr1:0X000000002608261E mmcra:0X00000000
+
+#Group 3 pm_group_dispatch, Group dispatch events
+event:0X030 mmcr0:0X00000000 mmcr1:0X4000000EC6C8C212 mmcra:0X00000000
+event:0X031 mmcr0:0X00000000 mmcr1:0X4000000EC6C8C212 mmcra:0X00000000
+event:0X032 mmcr0:0X00000000 mmcr1:0X4000000EC6C8C212 mmcra:0X00000000
+event:0X033 mmcr0:0X00000000 mmcr1:0X4000000EC6C8C212 mmcra:0X00000000
+event:0X034 mmcr0:0X00000000 mmcr1:0X4000000EC6C8C212 mmcra:0X00000000
+event:0X035 mmcr0:0X00000000 mmcr1:0X4000000EC6C8C212 mmcra:0X00000000
+
+#Group 4 pm_clb1, CLB fullness
+event:0X040 mmcr0:0X00000000 mmcr1:0X015B000180848C4C mmcra:0X00000001
+event:0X041 mmcr0:0X00000000 mmcr1:0X015B000180848C4C mmcra:0X00000001
+event:0X042 mmcr0:0X00000000 mmcr1:0X015B000180848C4C mmcra:0X00000001
+event:0X043 mmcr0:0X00000000 mmcr1:0X015B000180848C4C mmcra:0X00000001
+event:0X044 mmcr0:0X00000000 mmcr1:0X015B000180848C4C mmcra:0X00000001
+event:0X045 mmcr0:0X00000000 mmcr1:0X015B000180848C4C mmcra:0X00000001
+
+#Group 5 pm_clb2, CLB fullness
+event:0X050 mmcr0:0X00000000 mmcr1:0X014300028A8CCC02 mmcra:0X00000001
+event:0X051 mmcr0:0X00000000 mmcr1:0X014300028A8CCC02 mmcra:0X00000001
+event:0X052 mmcr0:0X00000000 mmcr1:0X014300028A8CCC02 mmcra:0X00000001
+event:0X053 mmcr0:0X00000000 mmcr1:0X014300028A8CCC02 mmcra:0X00000001
+event:0X054 mmcr0:0X00000000 mmcr1:0X014300028A8CCC02 mmcra:0X00000001
+event:0X055 mmcr0:0X00000000 mmcr1:0X014300028A8CCC02 mmcra:0X00000001
+
+#Group 6 pm_gct_empty, GCT empty reasons
+event:0X060 mmcr0:0X00000000 mmcr1:0X4000000008380838 mmcra:0X00000000
+event:0X061 mmcr0:0X00000000 mmcr1:0X4000000008380838 mmcra:0X00000000
+event:0X062 mmcr0:0X00000000 mmcr1:0X4000000008380838 mmcra:0X00000000
+event:0X063 mmcr0:0X00000000 mmcr1:0X4000000008380838 mmcra:0X00000000
+event:0X064 mmcr0:0X00000000 mmcr1:0X4000000008380838 mmcra:0X00000000
+event:0X065 mmcr0:0X00000000 mmcr1:0X4000000008380838 mmcra:0X00000000
+
+#Group 7 pm_gct_usage, GCT Usage
+event:0X070 mmcr0:0X00000000 mmcr1:0X000000003E3E3E3E mmcra:0X00000000
+event:0X071 mmcr0:0X00000000 mmcr1:0X000000003E3E3E3E mmcra:0X00000000
+event:0X072 mmcr0:0X00000000 mmcr1:0X000000003E3E3E3E mmcra:0X00000000
+event:0X073 mmcr0:0X00000000 mmcr1:0X000000003E3E3E3E mmcra:0X00000000
+event:0X074 mmcr0:0X00000000 mmcr1:0X000000003E3E3E3E mmcra:0X00000000
+event:0X075 mmcr0:0X00000000 mmcr1:0X000000003E3E3E3E mmcra:0X00000000
+
+#Group 8 pm_lsu1, LSU LRQ and LMQ events
+event:0X080 mmcr0:0X00000000 mmcr1:0X020F000FCECCCCCA mmcra:0X00000000
+event:0X081 mmcr0:0X00000000 mmcr1:0X020F000FCECCCCCA mmcra:0X00000000
+event:0X082 mmcr0:0X00000000 mmcr1:0X020F000FCECCCCCA mmcra:0X00000000
+event:0X083 mmcr0:0X00000000 mmcr1:0X020F000FCECCCCCA mmcra:0X00000000
+event:0X084 mmcr0:0X00000000 mmcr1:0X020F000FCECCCCCA mmcra:0X00000000
+event:0X085 mmcr0:0X00000000 mmcr1:0X020F000FCECCCCCA mmcra:0X00000000
+
+#Group 9 pm_lsu2, LSU SRQ events
+event:0X090 mmcr0:0X00000000 mmcr1:0X400E000ECECCCA86 mmcra:0X00000000
+event:0X091 mmcr0:0X00000000 mmcr1:0X400E000ECECCCA86 mmcra:0X00000000
+event:0X092 mmcr0:0X00000000 mmcr1:0X400E000ECECCCA86 mmcra:0X00000000
+event:0X093 mmcr0:0X00000000 mmcr1:0X400E000ECECCCA86 mmcra:0X00000000
+event:0X094 mmcr0:0X00000000 mmcr1:0X400E000ECECCCA86 mmcra:0X00000000
+event:0X095 mmcr0:0X00000000 mmcr1:0X400E000ECECCCA86 mmcra:0X00000000
+
+#Group 10 pm_lsu3, LSU SRQ and LMQ events
+event:0X0A0 mmcr0:0X00000000 mmcr1:0X030F0004EA102A2A mmcra:0X00000000
+event:0X0A1 mmcr0:0X00000000 mmcr1:0X030F0004EA102A2A mmcra:0X00000000
+event:0X0A2 mmcr0:0X00000000 mmcr1:0X030F0004EA102A2A mmcra:0X00000000
+event:0X0A3 mmcr0:0X00000000 mmcr1:0X030F0004EA102A2A mmcra:0X00000000
+event:0X0A4 mmcr0:0X00000000 mmcr1:0X030F0004EA102A2A mmcra:0X00000000
+event:0X0A5 mmcr0:0X00000000 mmcr1:0X030F0004EA102A2A mmcra:0X00000000
+
+#Group 11 pm_lsu4, LSU SRQ and LMQ events
+event:0X0B0 mmcr0:0X00000000 mmcr1:0X40030000EEA62A2A mmcra:0X00000000
+event:0X0B1 mmcr0:0X00000000 mmcr1:0X40030000EEA62A2A mmcra:0X00000000
+event:0X0B2 mmcr0:0X00000000 mmcr1:0X40030000EEA62A2A mmcra:0X00000000
+event:0X0B3 mmcr0:0X00000000 mmcr1:0X40030000EEA62A2A mmcra:0X00000000
+event:0X0B4 mmcr0:0X00000000 mmcr1:0X40030000EEA62A2A mmcra:0X00000000
+event:0X0B5 mmcr0:0X00000000 mmcr1:0X40030000EEA62A2A mmcra:0X00000000
+
+#Group 12 pm_prefetch1, Prefetch stream allocation
+event:0X0C0 mmcr0:0X00000000 mmcr1:0X8432000D3AC884CE mmcra:0X00000000
+event:0X0C1 mmcr0:0X00000000 mmcr1:0X8432000D3AC884CE mmcra:0X00000000
+event:0X0C2 mmcr0:0X00000000 mmcr1:0X8432000D3AC884CE mmcra:0X00000000
+event:0X0C3 mmcr0:0X00000000 mmcr1:0X8432000D3AC884CE mmcra:0X00000000
+event:0X0C4 mmcr0:0X00000000 mmcr1:0X8432000D3AC884CE mmcra:0X00000000
+event:0X0C5 mmcr0:0X00000000 mmcr1:0X8432000D3AC884CE mmcra:0X00000000
+
+#Group 13 pm_prefetch2, Prefetch events
+event:0X0D0 mmcr0:0X00000000 mmcr1:0X8103000602CACE8E mmcra:0X00000001
+event:0X0D1 mmcr0:0X00000000 mmcr1:0X8103000602CACE8E mmcra:0X00000001
+event:0X0D2 mmcr0:0X00000000 mmcr1:0X8103000602CACE8E mmcra:0X00000001
+event:0X0D3 mmcr0:0X00000000 mmcr1:0X8103000602CACE8E mmcra:0X00000001
+event:0X0D4 mmcr0:0X00000000 mmcr1:0X8103000602CACE8E mmcra:0X00000001
+event:0X0D5 mmcr0:0X00000000 mmcr1:0X8103000602CACE8E mmcra:0X00000001
+
+#Group 14 pm_prefetch3, L2 prefetch and misc events
+event:0X0E0 mmcr0:0X00000000 mmcr1:0X047C000482108602 mmcra:0X00000001
+event:0X0E1 mmcr0:0X00000000 mmcr1:0X047C000482108602 mmcra:0X00000001
+event:0X0E2 mmcr0:0X00000000 mmcr1:0X047C000482108602 mmcra:0X00000001
+event:0X0E3 mmcr0:0X00000000 mmcr1:0X047C000482108602 mmcra:0X00000001
+event:0X0E4 mmcr0:0X00000000 mmcr1:0X047C000482108602 mmcra:0X00000001
+event:0X0E5 mmcr0:0X00000000 mmcr1:0X047C000482108602 mmcra:0X00000001
+
+#Group 15 pm_prefetch4, Misc prefetch and reject events
+event:0X0F0 mmcr0:0X00000000 mmcr1:0X0CF200028088CC86 mmcra:0X00000000
+event:0X0F1 mmcr0:0X00000000 mmcr1:0X0CF200028088CC86 mmcra:0X00000000
+event:0X0F2 mmcr0:0X00000000 mmcr1:0X0CF200028088CC86 mmcra:0X00000000
+event:0X0F3 mmcr0:0X00000000 mmcr1:0X0CF200028088CC86 mmcra:0X00000000
+event:0X0F4 mmcr0:0X00000000 mmcr1:0X0CF200028088CC86 mmcra:0X00000000
+event:0X0F5 mmcr0:0X00000000 mmcr1:0X0CF200028088CC86 mmcra:0X00000000
+
+#Group 16 pm_lsu_reject1, LSU reject events
+event:0X100 mmcr0:0X00000000 mmcr1:0XC8E000022010C610 mmcra:0X00000001
+event:0X101 mmcr0:0X00000000 mmcr1:0XC8E000022010C610 mmcra:0X00000001
+event:0X102 mmcr0:0X00000000 mmcr1:0XC8E000022010C610 mmcra:0X00000001
+event:0X103 mmcr0:0X00000000 mmcr1:0XC8E000022010C610 mmcra:0X00000001
+event:0X104 mmcr0:0X00000000 mmcr1:0XC8E000022010C610 mmcra:0X00000001
+event:0X105 mmcr0:0X00000000 mmcr1:0XC8E000022010C610 mmcra:0X00000001
+
+#Group 17 pm_lsu_reject2, LSU rejects due to reload CDF or tag update collision
+event:0X110 mmcr0:0X00000000 mmcr1:0X88C00001848C02CE mmcra:0X00000001
+event:0X111 mmcr0:0X00000000 mmcr1:0X88C00001848C02CE mmcra:0X00000001
+event:0X112 mmcr0:0X00000000 mmcr1:0X88C00001848C02CE mmcra:0X00000001
+event:0X113 mmcr0:0X00000000 mmcr1:0X88C00001848C02CE mmcra:0X00000001
+event:0X114 mmcr0:0X00000000 mmcr1:0X88C00001848C02CE mmcra:0X00000001
+event:0X115 mmcr0:0X00000000 mmcr1:0X88C00001848C02CE mmcra:0X00000001
+
+#Group 18 pm_lsu_reject3, LSU rejects due to ERAT, held instuctions
+event:0X120 mmcr0:0X00000000 mmcr1:0X48C00003868EC0C8 mmcra:0X00000000
+event:0X121 mmcr0:0X00000000 mmcr1:0X48C00003868EC0C8 mmcra:0X00000000
+event:0X122 mmcr0:0X00000000 mmcr1:0X48C00003868EC0C8 mmcra:0X00000000
+event:0X123 mmcr0:0X00000000 mmcr1:0X48C00003868EC0C8 mmcra:0X00000000
+event:0X124 mmcr0:0X00000000 mmcr1:0X48C00003868EC0C8 mmcra:0X00000000
+event:0X125 mmcr0:0X00000000 mmcr1:0X48C00003868EC0C8 mmcra:0X00000000
+
+#Group 19 pm_lsu_reject4, LSU0/1 reject LMQ full
+event:0X130 mmcr0:0X00000000 mmcr1:0X88C00001828A02C8 mmcra:0X00000001
+event:0X131 mmcr0:0X00000000 mmcr1:0X88C00001828A02C8 mmcra:0X00000001
+event:0X132 mmcr0:0X00000000 mmcr1:0X88C00001828A02C8 mmcra:0X00000001
+event:0X133 mmcr0:0X00000000 mmcr1:0X88C00001828A02C8 mmcra:0X00000001
+event:0X134 mmcr0:0X00000000 mmcr1:0X88C00001828A02C8 mmcra:0X00000001
+event:0X135 mmcr0:0X00000000 mmcr1:0X88C00001828A02C8 mmcra:0X00000001
+
+#Group 20 pm_lsu_reject5, LSU misc reject and flush events
+event:0X140 mmcr0:0X00000000 mmcr1:0X48C0000010208A8E mmcra:0X00000000
+event:0X141 mmcr0:0X00000000 mmcr1:0X48C0000010208A8E mmcra:0X00000000
+event:0X142 mmcr0:0X00000000 mmcr1:0X48C0000010208A8E mmcra:0X00000000
+event:0X143 mmcr0:0X00000000 mmcr1:0X48C0000010208A8E mmcra:0X00000000
+event:0X144 mmcr0:0X00000000 mmcr1:0X48C0000010208A8E mmcra:0X00000000
+event:0X145 mmcr0:0X00000000 mmcr1:0X48C0000010208A8E mmcra:0X00000000
+
+#Group 21 pm_flush1, Misc flush events
+event:0X150 mmcr0:0X00000000 mmcr1:0XC0F000020210C68E mmcra:0X00000001
+event:0X151 mmcr0:0X00000000 mmcr1:0XC0F000020210C68E mmcra:0X00000001
+event:0X152 mmcr0:0X00000000 mmcr1:0XC0F000020210C68E mmcra:0X00000001
+event:0X153 mmcr0:0X00000000 mmcr1:0XC0F000020210C68E mmcra:0X00000001
+event:0X154 mmcr0:0X00000000 mmcr1:0XC0F000020210C68E mmcra:0X00000001
+event:0X155 mmcr0:0X00000000 mmcr1:0XC0F000020210C68E mmcra:0X00000001
+
+#Group 22 pm_flush2, Flushes due to scoreboard and sync
+event:0X160 mmcr0:0X00000000 mmcr1:0XC08000038002C4C2 mmcra:0X00000001
+event:0X161 mmcr0:0X00000000 mmcr1:0XC08000038002C4C2 mmcra:0X00000001
+event:0X162 mmcr0:0X00000000 mmcr1:0XC08000038002C4C2 mmcra:0X00000001
+event:0X163 mmcr0:0X00000000 mmcr1:0XC08000038002C4C2 mmcra:0X00000001
+event:0X164 mmcr0:0X00000000 mmcr1:0XC08000038002C4C2 mmcra:0X00000001
+event:0X165 mmcr0:0X00000000 mmcr1:0XC08000038002C4C2 mmcra:0X00000001
+
+#Group 23 pm_lsu_flush_srq_lrq, LSU flush by SRQ and LRQ events
+event:0X170 mmcr0:0X00000000 mmcr1:0X40C000002020028A mmcra:0X00000001
+event:0X171 mmcr0:0X00000000 mmcr1:0X40C000002020028A mmcra:0X00000001
+event:0X172 mmcr0:0X00000000 mmcr1:0X40C000002020028A mmcra:0X00000001
+event:0X173 mmcr0:0X00000000 mmcr1:0X40C000002020028A mmcra:0X00000001
+event:0X174 mmcr0:0X00000000 mmcr1:0X40C000002020028A mmcra:0X00000001
+event:0X175 mmcr0:0X00000000 mmcr1:0X40C000002020028A mmcra:0X00000001
+
+#Group 24 pm_lsu_flush_lrq, LSU0/1 flush due to LRQ
+event:0X180 mmcr0:0X00000000 mmcr1:0X40C00000848C8A02 mmcra:0X00000001
+event:0X181 mmcr0:0X00000000 mmcr1:0X40C00000848C8A02 mmcra:0X00000001
+event:0X182 mmcr0:0X00000000 mmcr1:0X40C00000848C8A02 mmcra:0X00000001
+event:0X183 mmcr0:0X00000000 mmcr1:0X40C00000848C8A02 mmcra:0X00000001
+event:0X184 mmcr0:0X00000000 mmcr1:0X40C00000848C8A02 mmcra:0X00000001
+event:0X185 mmcr0:0X00000000 mmcr1:0X40C00000848C8A02 mmcra:0X00000001
+
+#Group 25 pm_lsu_flush_srq, LSU0/1 flush due to SRQ
+event:0X190 mmcr0:0X00000000 mmcr1:0X40C00000868E028A mmcra:0X00000001
+event:0X191 mmcr0:0X00000000 mmcr1:0X40C00000868E028A mmcra:0X00000001
+event:0X192 mmcr0:0X00000000 mmcr1:0X40C00000868E028A mmcra:0X00000001
+event:0X193 mmcr0:0X00000000 mmcr1:0X40C00000868E028A mmcra:0X00000001
+event:0X194 mmcr0:0X00000000 mmcr1:0X40C00000868E028A mmcra:0X00000001
+event:0X195 mmcr0:0X00000000 mmcr1:0X40C00000868E028A mmcra:0X00000001
+
+#Group 26 pm_lsu_flush_unaligned, LSU flush due to unaligned data
+event:0X1A0 mmcr0:0X00000000 mmcr1:0X80C000021010C802 mmcra:0X00000001
+event:0X1A1 mmcr0:0X00000000 mmcr1:0X80C000021010C802 mmcra:0X00000001
+event:0X1A2 mmcr0:0X00000000 mmcr1:0X80C000021010C802 mmcra:0X00000001
+event:0X1A3 mmcr0:0X00000000 mmcr1:0X80C000021010C802 mmcra:0X00000001
+event:0X1A4 mmcr0:0X00000000 mmcr1:0X80C000021010C802 mmcra:0X00000001
+event:0X1A5 mmcr0:0X00000000 mmcr1:0X80C000021010C802 mmcra:0X00000001
+
+#Group 27 pm_lsu_flush_uld, LSU0/1 flush due to unaligned load
+event:0X1B0 mmcr0:0X00000000 mmcr1:0X40C0000080888A02 mmcra:0X00000001
+event:0X1B1 mmcr0:0X00000000 mmcr1:0X40C0000080888A02 mmcra:0X00000001
+event:0X1B2 mmcr0:0X00000000 mmcr1:0X40C0000080888A02 mmcra:0X00000001
+event:0X1B3 mmcr0:0X00000000 mmcr1:0X40C0000080888A02 mmcra:0X00000001
+event:0X1B4 mmcr0:0X00000000 mmcr1:0X40C0000080888A02 mmcra:0X00000001
+event:0X1B5 mmcr0:0X00000000 mmcr1:0X40C0000080888A02 mmcra:0X00000001
+
+#Group 28 pm_lsu_flush_ust, LSU0/1 flush due to unaligned store
+event:0X1C0 mmcr0:0X00000000 mmcr1:0X40C00000828A028A mmcra:0X00000001
+event:0X1C1 mmcr0:0X00000000 mmcr1:0X40C00000828A028A mmcra:0X00000001
+event:0X1C2 mmcr0:0X00000000 mmcr1:0X40C00000828A028A mmcra:0X00000001
+event:0X1C3 mmcr0:0X00000000 mmcr1:0X40C00000828A028A mmcra:0X00000001
+event:0X1C4 mmcr0:0X00000000 mmcr1:0X40C00000828A028A mmcra:0X00000001
+event:0X1C5 mmcr0:0X00000000 mmcr1:0X40C00000828A028A mmcra:0X00000001
+
+#Group 29 pm_lsu_flush_full, LSU flush due to LRQ/SRQ full
+event:0X1D0 mmcr0:0X00000000 mmcr1:0XC0200009CE0210C0 mmcra:0X00000001
+event:0X1D1 mmcr0:0X00000000 mmcr1:0XC0200009CE0210C0 mmcra:0X00000001
+event:0X1D2 mmcr0:0X00000000 mmcr1:0XC0200009CE0210C0 mmcra:0X00000001
+event:0X1D3 mmcr0:0X00000000 mmcr1:0XC0200009CE0210C0 mmcra:0X00000001
+event:0X1D4 mmcr0:0X00000000 mmcr1:0XC0200009CE0210C0 mmcra:0X00000001
+event:0X1D5 mmcr0:0X00000000 mmcr1:0XC0200009CE0210C0 mmcra:0X00000001
+
+#Group 30 pm_lsu_stall1, LSU Stalls
+event:0X1E0 mmcr0:0X00000000 mmcr1:0X4000000028300234 mmcra:0X00000001
+event:0X1E1 mmcr0:0X00000000 mmcr1:0X4000000028300234 mmcra:0X00000001
+event:0X1E2 mmcr0:0X00000000 mmcr1:0X4000000028300234 mmcra:0X00000001
+event:0X1E3 mmcr0:0X00000000 mmcr1:0X4000000028300234 mmcra:0X00000001
+event:0X1E4 mmcr0:0X00000000 mmcr1:0X4000000028300234 mmcra:0X00000001
+event:0X1E5 mmcr0:0X00000000 mmcr1:0X4000000028300234 mmcra:0X00000001
+
+#Group 31 pm_lsu_stall2, LSU Stalls
+event:0X1F0 mmcr0:0X00000000 mmcr1:0X4000000002341E36 mmcra:0X00000001
+event:0X1F1 mmcr0:0X00000000 mmcr1:0X4000000002341E36 mmcra:0X00000001
+event:0X1F2 mmcr0:0X00000000 mmcr1:0X4000000002341E36 mmcra:0X00000001
+event:0X1F3 mmcr0:0X00000000 mmcr1:0X4000000002341E36 mmcra:0X00000001
+event:0X1F4 mmcr0:0X00000000 mmcr1:0X4000000002341E36 mmcra:0X00000001
+event:0X1F5 mmcr0:0X00000000 mmcr1:0X4000000002341E36 mmcra:0X00000001
+
+#Group 32 pm_fxu_stall, FXU Stalls
+event:0X200 mmcr0:0X00000000 mmcr1:0X4000000822320232 mmcra:0X00000001
+event:0X201 mmcr0:0X00000000 mmcr1:0X4000000822320232 mmcra:0X00000001
+event:0X202 mmcr0:0X00000000 mmcr1:0X4000000822320232 mmcra:0X00000001
+event:0X203 mmcr0:0X00000000 mmcr1:0X4000000822320232 mmcra:0X00000001
+event:0X204 mmcr0:0X00000000 mmcr1:0X4000000822320232 mmcra:0X00000001
+event:0X205 mmcr0:0X00000000 mmcr1:0X4000000822320232 mmcra:0X00000001
+
+#Group 33 pm_fpu_stall, FPU Stalls
+event:0X210 mmcr0:0X00000000 mmcr1:0X4000000020360230 mmcra:0X00000001
+event:0X211 mmcr0:0X00000000 mmcr1:0X4000000020360230 mmcra:0X00000001
+event:0X212 mmcr0:0X00000000 mmcr1:0X4000000020360230 mmcra:0X00000001
+event:0X213 mmcr0:0X00000000 mmcr1:0X4000000020360230 mmcra:0X00000001
+event:0X214 mmcr0:0X00000000 mmcr1:0X4000000020360230 mmcra:0X00000001
+event:0X215 mmcr0:0X00000000 mmcr1:0X4000000020360230 mmcra:0X00000001
+
+#Group 34 pm_queue_full, BRQ LRQ LMQ queue full
+event:0X220 mmcr0:0X00000000 mmcr1:0X400B0009CE8A84CE mmcra:0X00000000
+event:0X221 mmcr0:0X00000000 mmcr1:0X400B0009CE8A84CE mmcra:0X00000000
+event:0X222 mmcr0:0X00000000 mmcr1:0X400B0009CE8A84CE mmcra:0X00000000
+event:0X223 mmcr0:0X00000000 mmcr1:0X400B0009CE8A84CE mmcra:0X00000000
+event:0X224 mmcr0:0X00000000 mmcr1:0X400B0009CE8A84CE mmcra:0X00000000
+event:0X225 mmcr0:0X00000000 mmcr1:0X400B0009CE8A84CE mmcra:0X00000000
+
+#Group 35 pm_issueq_full, FPU FX full
+event:0X230 mmcr0:0X00000000 mmcr1:0X40000000868E8088 mmcra:0X00000000
+event:0X231 mmcr0:0X00000000 mmcr1:0X40000000868E8088 mmcra:0X00000000
+event:0X232 mmcr0:0X00000000 mmcr1:0X40000000868E8088 mmcra:0X00000000
+event:0X233 mmcr0:0X00000000 mmcr1:0X40000000868E8088 mmcra:0X00000000
+event:0X234 mmcr0:0X00000000 mmcr1:0X40000000868E8088 mmcra:0X00000000
+event:0X235 mmcr0:0X00000000 mmcr1:0X40000000868E8088 mmcra:0X00000000
+
+#Group 36 pm_mapper_full1, CR CTR GPR mapper full
+event:0X240 mmcr0:0X00000000 mmcr1:0X40000002888CCA82 mmcra:0X00000000
+event:0X241 mmcr0:0X00000000 mmcr1:0X40000002888CCA82 mmcra:0X00000000
+event:0X242 mmcr0:0X00000000 mmcr1:0X40000002888CCA82 mmcra:0X00000000
+event:0X243 mmcr0:0X00000000 mmcr1:0X40000002888CCA82 mmcra:0X00000000
+event:0X244 mmcr0:0X00000000 mmcr1:0X40000002888CCA82 mmcra:0X00000000
+event:0X245 mmcr0:0X00000000 mmcr1:0X40000002888CCA82 mmcra:0X00000000
+
+#Group 37 pm_mapper_full2, FPR XER mapper full
+event:0X250 mmcr0:0X00000000 mmcr1:0X4103000282843602 mmcra:0X00000001
+event:0X251 mmcr0:0X00000000 mmcr1:0X4103000282843602 mmcra:0X00000001
+event:0X252 mmcr0:0X00000000 mmcr1:0X4103000282843602 mmcra:0X00000001
+event:0X253 mmcr0:0X00000000 mmcr1:0X4103000282843602 mmcra:0X00000001
+event:0X254 mmcr0:0X00000000 mmcr1:0X4103000282843602 mmcra:0X00000001
+event:0X255 mmcr0:0X00000000 mmcr1:0X4103000282843602 mmcra:0X00000001
+
+#Group 38 pm_misc_load, Non-cachable loads and stcx events
+event:0X260 mmcr0:0X00000000 mmcr1:0X0438000CC2CA828A mmcra:0X00000001
+event:0X261 mmcr0:0X00000000 mmcr1:0X0438000CC2CA828A mmcra:0X00000001
+event:0X262 mmcr0:0X00000000 mmcr1:0X0438000CC2CA828A mmcra:0X00000001
+event:0X263 mmcr0:0X00000000 mmcr1:0X0438000CC2CA828A mmcra:0X00000001
+event:0X264 mmcr0:0X00000000 mmcr1:0X0438000CC2CA828A mmcra:0X00000001
+event:0X265 mmcr0:0X00000000 mmcr1:0X0438000CC2CA828A mmcra:0X00000001
+
+#Group 39 pm_ic_demand, ICache demand from BR redirect
+event:0X270 mmcr0:0X00000000 mmcr1:0X800C000FC2CAC0C2 mmcra:0X00000000
+event:0X271 mmcr0:0X00000000 mmcr1:0X800C000FC2CAC0C2 mmcra:0X00000000
+event:0X272 mmcr0:0X00000000 mmcr1:0X800C000FC2CAC0C2 mmcra:0X00000000
+event:0X273 mmcr0:0X00000000 mmcr1:0X800C000FC2CAC0C2 mmcra:0X00000000
+event:0X274 mmcr0:0X00000000 mmcr1:0X800C000FC2CAC0C2 mmcra:0X00000000
+event:0X275 mmcr0:0X00000000 mmcr1:0X800C000FC2CAC0C2 mmcra:0X00000000
+
+#Group 40 pm_ic_pref, ICache prefetch
+event:0X280 mmcr0:0X00000000 mmcr1:0X8000000DCECC8E1A mmcra:0X00000000
+event:0X281 mmcr0:0X00000000 mmcr1:0X8000000DCECC8E1A mmcra:0X00000000
+event:0X282 mmcr0:0X00000000 mmcr1:0X8000000DCECC8E1A mmcra:0X00000000
+event:0X283 mmcr0:0X00000000 mmcr1:0X8000000DCECC8E1A mmcra:0X00000000
+event:0X284 mmcr0:0X00000000 mmcr1:0X8000000DCECC8E1A mmcra:0X00000000
+event:0X285 mmcr0:0X00000000 mmcr1:0X8000000DCECC8E1A mmcra:0X00000000
+
+#Group 41 pm_ic_miss, ICache misses
+event:0X290 mmcr0:0X00000000 mmcr1:0X4003000E32CEC802 mmcra:0X00000001
+event:0X291 mmcr0:0X00000000 mmcr1:0X4003000E32CEC802 mmcra:0X00000001
+event:0X292 mmcr0:0X00000000 mmcr1:0X4003000E32CEC802 mmcra:0X00000001
+event:0X293 mmcr0:0X00000000 mmcr1:0X4003000E32CEC802 mmcra:0X00000001
+event:0X294 mmcr0:0X00000000 mmcr1:0X4003000E32CEC802 mmcra:0X00000001
+event:0X295 mmcr0:0X00000000 mmcr1:0X4003000E32CEC802 mmcra:0X00000001
+
+#Group 42 pm_branch_miss, Branch mispredict, TLB and SLB misses
+event:0X2A0 mmcr0:0X00000000 mmcr1:0X808000031010CACC mmcra:0X00000000
+event:0X2A1 mmcr0:0X00000000 mmcr1:0X808000031010CACC mmcra:0X00000000
+event:0X2A2 mmcr0:0X00000000 mmcr1:0X808000031010CACC mmcra:0X00000000
+event:0X2A3 mmcr0:0X00000000 mmcr1:0X808000031010CACC mmcra:0X00000000
+event:0X2A4 mmcr0:0X00000000 mmcr1:0X808000031010CACC mmcra:0X00000000
+event:0X2A5 mmcr0:0X00000000 mmcr1:0X808000031010CACC mmcra:0X00000000
+
+#Group 43 pm_branch1, Branch operations
+event:0X2B0 mmcr0:0X00000000 mmcr1:0X8000000F0E0E0E0E mmcra:0X00000000
+event:0X2B1 mmcr0:0X00000000 mmcr1:0X8000000F0E0E0E0E mmcra:0X00000000
+event:0X2B2 mmcr0:0X00000000 mmcr1:0X8000000F0E0E0E0E mmcra:0X00000000
+event:0X2B3 mmcr0:0X00000000 mmcr1:0X8000000F0E0E0E0E mmcra:0X00000000
+event:0X2B4 mmcr0:0X00000000 mmcr1:0X8000000F0E0E0E0E mmcra:0X00000000
+event:0X2B5 mmcr0:0X00000000 mmcr1:0X8000000F0E0E0E0E mmcra:0X00000000
+
+#Group 44 pm_branch2, Branch operations
+event:0X2C0 mmcr0:0X00000000 mmcr1:0X4000000CCACC8C02 mmcra:0X00000001
+event:0X2C1 mmcr0:0X00000000 mmcr1:0X4000000CCACC8C02 mmcra:0X00000001
+event:0X2C2 mmcr0:0X00000000 mmcr1:0X4000000CCACC8C02 mmcra:0X00000001
+event:0X2C3 mmcr0:0X00000000 mmcr1:0X4000000CCACC8C02 mmcra:0X00000001
+event:0X2C4 mmcr0:0X00000000 mmcr1:0X4000000CCACC8C02 mmcra:0X00000001
+event:0X2C5 mmcr0:0X00000000 mmcr1:0X4000000CCACC8C02 mmcra:0X00000001
+
+#Group 45 pm_L1_tlbmiss, L1 load and TLB misses
+event:0X2D0 mmcr0:0X00000000 mmcr1:0X00B000008E881020 mmcra:0X00000000
+event:0X2D1 mmcr0:0X00000000 mmcr1:0X00B000008E881020 mmcra:0X00000000
+event:0X2D2 mmcr0:0X00000000 mmcr1:0X00B000008E881020 mmcra:0X00000000
+event:0X2D3 mmcr0:0X00000000 mmcr1:0X00B000008E881020 mmcra:0X00000000
+event:0X2D4 mmcr0:0X00000000 mmcr1:0X00B000008E881020 mmcra:0X00000000
+event:0X2D5 mmcr0:0X00000000 mmcr1:0X00B000008E881020 mmcra:0X00000000
+
+#Group 46 pm_L1_DERAT_miss, L1 store and DERAT misses
+event:0X2E0 mmcr0:0X00000000 mmcr1:0X00B300080E202086 mmcra:0X00000000
+event:0X2E1 mmcr0:0X00000000 mmcr1:0X00B300080E202086 mmcra:0X00000000
+event:0X2E2 mmcr0:0X00000000 mmcr1:0X00B300080E202086 mmcra:0X00000000
+event:0X2E3 mmcr0:0X00000000 mmcr1:0X00B300080E202086 mmcra:0X00000000
+event:0X2E4 mmcr0:0X00000000 mmcr1:0X00B300080E202086 mmcra:0X00000000
+event:0X2E5 mmcr0:0X00000000 mmcr1:0X00B300080E202086 mmcra:0X00000000
+
+#Group 47 pm_L1_slbmiss, L1 load and SLB misses
+event:0X2F0 mmcr0:0X00000000 mmcr1:0X00B000008A82848C mmcra:0X00000000
+event:0X2F1 mmcr0:0X00000000 mmcr1:0X00B000008A82848C mmcra:0X00000000
+event:0X2F2 mmcr0:0X00000000 mmcr1:0X00B000008A82848C mmcra:0X00000000
+event:0X2F3 mmcr0:0X00000000 mmcr1:0X00B000008A82848C mmcra:0X00000000
+event:0X2F4 mmcr0:0X00000000 mmcr1:0X00B000008A82848C mmcra:0X00000000
+event:0X2F5 mmcr0:0X00000000 mmcr1:0X00B000008A82848C mmcra:0X00000000
+
+#Group 48 pm_dtlbref, Data TLB references
+event:0X300 mmcr0:0X00000000 mmcr1:0X000C000F0C0C0C0C mmcra:0X00000000
+event:0X301 mmcr0:0X00000000 mmcr1:0X000C000F0C0C0C0C mmcra:0X00000000
+event:0X302 mmcr0:0X00000000 mmcr1:0X000C000F0C0C0C0C mmcra:0X00000000
+event:0X303 mmcr0:0X00000000 mmcr1:0X000C000F0C0C0C0C mmcra:0X00000000
+event:0X304 mmcr0:0X00000000 mmcr1:0X000C000F0C0C0C0C mmcra:0X00000000
+event:0X305 mmcr0:0X00000000 mmcr1:0X000C000F0C0C0C0C mmcra:0X00000000
+
+#Group 49 pm_dtlbmiss, Data TLB misses
+event:0X310 mmcr0:0X00000000 mmcr1:0X000C000F1A1A1A1A mmcra:0X00000000
+event:0X311 mmcr0:0X00000000 mmcr1:0X000C000F1A1A1A1A mmcra:0X00000000
+event:0X312 mmcr0:0X00000000 mmcr1:0X000C000F1A1A1A1A mmcra:0X00000000
+event:0X313 mmcr0:0X00000000 mmcr1:0X000C000F1A1A1A1A mmcra:0X00000000
+event:0X314 mmcr0:0X00000000 mmcr1:0X000C000F1A1A1A1A mmcra:0X00000000
+event:0X315 mmcr0:0X00000000 mmcr1:0X000C000F1A1A1A1A mmcra:0X00000000
+
+#Group 50 pm_dtlb, Data TLB references and misses
+event:0X320 mmcr0:0X00000000 mmcr1:0X008C0008C8881E1E mmcra:0X00000000
+event:0X321 mmcr0:0X00000000 mmcr1:0X008C0008C8881E1E mmcra:0X00000000
+event:0X322 mmcr0:0X00000000 mmcr1:0X008C0008C8881E1E mmcra:0X00000000
+event:0X323 mmcr0:0X00000000 mmcr1:0X008C0008C8881E1E mmcra:0X00000000
+event:0X324 mmcr0:0X00000000 mmcr1:0X008C0008C8881E1E mmcra:0X00000000
+event:0X325 mmcr0:0X00000000 mmcr1:0X008C0008C8881E1E mmcra:0X00000000
+
+#Group 51 pm_L1_refmiss, L1 load references and misses and store references and misses
+event:0X330 mmcr0:0X00000000 mmcr1:0X0030000050501086 mmcra:0X00000000
+event:0X331 mmcr0:0X00000000 mmcr1:0X0030000050501086 mmcra:0X00000000
+event:0X332 mmcr0:0X00000000 mmcr1:0X0030000050501086 mmcra:0X00000000
+event:0X333 mmcr0:0X00000000 mmcr1:0X0030000050501086 mmcra:0X00000000
+event:0X334 mmcr0:0X00000000 mmcr1:0X0030000050501086 mmcra:0X00000000
+event:0X335 mmcr0:0X00000000 mmcr1:0X0030000050501086 mmcra:0X00000000
+
+#Group 52 pm_dsource1, L3 cache and memory data access
+event:0X340 mmcr0:0X00000000 mmcr1:0X4003000C1C0E8E02 mmcra:0X00000001
+event:0X341 mmcr0:0X00000000 mmcr1:0X4003000C1C0E8E02 mmcra:0X00000001
+event:0X342 mmcr0:0X00000000 mmcr1:0X4003000C1C0E8E02 mmcra:0X00000001
+event:0X343 mmcr0:0X00000000 mmcr1:0X4003000C1C0E8E02 mmcra:0X00000001
+event:0X344 mmcr0:0X00000000 mmcr1:0X4003000C1C0E8E02 mmcra:0X00000001
+event:0X345 mmcr0:0X00000000 mmcr1:0X4003000C1C0E8E02 mmcra:0X00000001
+
+#Group 53 pm_dsource2, L3 cache and memory data access
+event:0X350 mmcr0:0X00000000 mmcr1:0X0003000F1C0E360E mmcra:0X00000000
+event:0X351 mmcr0:0X00000000 mmcr1:0X0003000F1C0E360E mmcra:0X00000000
+event:0X352 mmcr0:0X00000000 mmcr1:0X0003000F1C0E360E mmcra:0X00000000
+event:0X353 mmcr0:0X00000000 mmcr1:0X0003000F1C0E360E mmcra:0X00000000
+event:0X354 mmcr0:0X00000000 mmcr1:0X0003000F1C0E360E mmcra:0X00000000
+event:0X355 mmcr0:0X00000000 mmcr1:0X0003000F1C0E360E mmcra:0X00000000
+
+#Group 54 pm_dsource_L2, L2 cache data access
+event:0X360 mmcr0:0X00000000 mmcr1:0X0003000F2E2E2E2E mmcra:0X00000000
+event:0X361 mmcr0:0X00000000 mmcr1:0X0003000F2E2E2E2E mmcra:0X00000000
+event:0X362 mmcr0:0X00000000 mmcr1:0X0003000F2E2E2E2E mmcra:0X00000000
+event:0X363 mmcr0:0X00000000 mmcr1:0X0003000F2E2E2E2E mmcra:0X00000000
+event:0X364 mmcr0:0X00000000 mmcr1:0X0003000F2E2E2E2E mmcra:0X00000000
+event:0X365 mmcr0:0X00000000 mmcr1:0X0003000F2E2E2E2E mmcra:0X00000000
+
+#Group 55 pm_dsource_L3, L3 cache data access
+event:0X370 mmcr0:0X00000000 mmcr1:0X0003000F3C3C3C3C mmcra:0X00000000
+event:0X371 mmcr0:0X00000000 mmcr1:0X0003000F3C3C3C3C mmcra:0X00000000
+event:0X372 mmcr0:0X00000000 mmcr1:0X0003000F3C3C3C3C mmcra:0X00000000
+event:0X373 mmcr0:0X00000000 mmcr1:0X0003000F3C3C3C3C mmcra:0X00000000
+event:0X374 mmcr0:0X00000000 mmcr1:0X0003000F3C3C3C3C mmcra:0X00000000
+event:0X375 mmcr0:0X00000000 mmcr1:0X0003000F3C3C3C3C mmcra:0X00000000
+
+#Group 56 pm_isource1, Instruction source information
+event:0X380 mmcr0:0X00000000 mmcr1:0X8000000F1A1A1A0C mmcra:0X00000000
+event:0X381 mmcr0:0X00000000 mmcr1:0X8000000F1A1A1A0C mmcra:0X00000000
+event:0X382 mmcr0:0X00000000 mmcr1:0X8000000F1A1A1A0C mmcra:0X00000000
+event:0X383 mmcr0:0X00000000 mmcr1:0X8000000F1A1A1A0C mmcra:0X00000000
+event:0X384 mmcr0:0X00000000 mmcr1:0X8000000F1A1A1A0C mmcra:0X00000000
+event:0X385 mmcr0:0X00000000 mmcr1:0X8000000F1A1A1A0C mmcra:0X00000000
+
+#Group 57 pm_isource2, Instruction source information
+event:0X390 mmcr0:0X00000000 mmcr1:0X8000000D0C0C021A mmcra:0X00000001
+event:0X391 mmcr0:0X00000000 mmcr1:0X8000000D0C0C021A mmcra:0X00000001
+event:0X392 mmcr0:0X00000000 mmcr1:0X8000000D0C0C021A mmcra:0X00000001
+event:0X393 mmcr0:0X00000000 mmcr1:0X8000000D0C0C021A mmcra:0X00000001
+event:0X394 mmcr0:0X00000000 mmcr1:0X8000000D0C0C021A mmcra:0X00000001
+event:0X395 mmcr0:0X00000000 mmcr1:0X8000000D0C0C021A mmcra:0X00000001
+
+#Group 58 pm_isource_L2, L2 instruction source information
+event:0X3A0 mmcr0:0X00000000 mmcr1:0X8000000F2C2C2C2C mmcra:0X00000000
+event:0X3A1 mmcr0:0X00000000 mmcr1:0X8000000F2C2C2C2C mmcra:0X00000000
+event:0X3A2 mmcr0:0X00000000 mmcr1:0X8000000F2C2C2C2C mmcra:0X00000000
+event:0X3A3 mmcr0:0X00000000 mmcr1:0X8000000F2C2C2C2C mmcra:0X00000000
+event:0X3A4 mmcr0:0X00000000 mmcr1:0X8000000F2C2C2C2C mmcra:0X00000000
+event:0X3A5 mmcr0:0X00000000 mmcr1:0X8000000F2C2C2C2C mmcra:0X00000000
+
+#Group 59 pm_isource_L3, L3 instruction source information
+event:0X3B0 mmcr0:0X00000000 mmcr1:0X8000000F3A3A3A3A mmcra:0X00000000
+event:0X3B1 mmcr0:0X00000000 mmcr1:0X8000000F3A3A3A3A mmcra:0X00000000
+event:0X3B2 mmcr0:0X00000000 mmcr1:0X8000000F3A3A3A3A mmcra:0X00000000
+event:0X3B3 mmcr0:0X00000000 mmcr1:0X8000000F3A3A3A3A mmcra:0X00000000
+event:0X3B4 mmcr0:0X00000000 mmcr1:0X8000000F3A3A3A3A mmcra:0X00000000
+event:0X3B5 mmcr0:0X00000000 mmcr1:0X8000000F3A3A3A3A mmcra:0X00000000
+
+#Group 60 pm_pteg_source1, PTEG source information
+event:0X3C0 mmcr0:0X00000000 mmcr1:0X0002000F2E2E2E2E mmcra:0X00000000
+event:0X3C1 mmcr0:0X00000000 mmcr1:0X0002000F2E2E2E2E mmcra:0X00000000
+event:0X3C2 mmcr0:0X00000000 mmcr1:0X0002000F2E2E2E2E mmcra:0X00000000
+event:0X3C3 mmcr0:0X00000000 mmcr1:0X0002000F2E2E2E2E mmcra:0X00000000
+event:0X3C4 mmcr0:0X00000000 mmcr1:0X0002000F2E2E2E2E mmcra:0X00000000
+event:0X3C5 mmcr0:0X00000000 mmcr1:0X0002000F2E2E2E2E mmcra:0X00000000
+
+#Group 61 pm_pteg_source2, PTEG source information
+event:0X3D0 mmcr0:0X00000000 mmcr1:0X0002000F3C3C3C3C mmcra:0X00000000
+event:0X3D1 mmcr0:0X00000000 mmcr1:0X0002000F3C3C3C3C mmcra:0X00000000
+event:0X3D2 mmcr0:0X00000000 mmcr1:0X0002000F3C3C3C3C mmcra:0X00000000
+event:0X3D3 mmcr0:0X00000000 mmcr1:0X0002000F3C3C3C3C mmcra:0X00000000
+event:0X3D4 mmcr0:0X00000000 mmcr1:0X0002000F3C3C3C3C mmcra:0X00000000
+event:0X3D5 mmcr0:0X00000000 mmcr1:0X0002000F3C3C3C3C mmcra:0X00000000
+
+#Group 62 pm_pteg_source3, PTEG source information
+event:0X3E0 mmcr0:0X00000000 mmcr1:0X0002000F0E0E360E mmcra:0X00000000
+event:0X3E1 mmcr0:0X00000000 mmcr1:0X0002000F0E0E360E mmcra:0X00000000
+event:0X3E2 mmcr0:0X00000000 mmcr1:0X0002000F0E0E360E mmcra:0X00000000
+event:0X3E3 mmcr0:0X00000000 mmcr1:0X0002000F0E0E360E mmcra:0X00000000
+event:0X3E4 mmcr0:0X00000000 mmcr1:0X0002000F0E0E360E mmcra:0X00000000
+event:0X3E5 mmcr0:0X00000000 mmcr1:0X0002000F0E0E360E mmcra:0X00000000
+
+#Group 63 pm_pteg_source4, L3 PTEG and group disptach events
+event:0X3F0 mmcr0:0X00000000 mmcr1:0X003200081C04048E mmcra:0X00000000
+event:0X3F1 mmcr0:0X00000000 mmcr1:0X003200081C04048E mmcra:0X00000000
+event:0X3F2 mmcr0:0X00000000 mmcr1:0X003200081C04048E mmcra:0X00000000
+event:0X3F3 mmcr0:0X00000000 mmcr1:0X003200081C04048E mmcra:0X00000000
+event:0X3F4 mmcr0:0X00000000 mmcr1:0X003200081C04048E mmcra:0X00000000
+event:0X3F5 mmcr0:0X00000000 mmcr1:0X003200081C04048E mmcra:0X00000000
+
+#Group 64 pm_L2SA_ld, L2 slice A load events
+event:0X400 mmcr0:0X00000000 mmcr1:0X3055400580C080C0 mmcra:0X00000000
+event:0X401 mmcr0:0X00000000 mmcr1:0X3055400580C080C0 mmcra:0X00000000
+event:0X402 mmcr0:0X00000000 mmcr1:0X3055400580C080C0 mmcra:0X00000000
+event:0X403 mmcr0:0X00000000 mmcr1:0X3055400580C080C0 mmcra:0X00000000
+event:0X404 mmcr0:0X00000000 mmcr1:0X3055400580C080C0 mmcra:0X00000000
+event:0X405 mmcr0:0X00000000 mmcr1:0X3055400580C080C0 mmcra:0X00000000
+
+#Group 65 pm_L2SA_st, L2 slice A store events
+event:0X410 mmcr0:0X00000000 mmcr1:0X3055800580C080C0 mmcra:0X00000000
+event:0X411 mmcr0:0X00000000 mmcr1:0X3055800580C080C0 mmcra:0X00000000
+event:0X412 mmcr0:0X00000000 mmcr1:0X3055800580C080C0 mmcra:0X00000000
+event:0X413 mmcr0:0X00000000 mmcr1:0X3055800580C080C0 mmcra:0X00000000
+event:0X414 mmcr0:0X00000000 mmcr1:0X3055800580C080C0 mmcra:0X00000000
+event:0X415 mmcr0:0X00000000 mmcr1:0X3055800580C080C0 mmcra:0X00000000
+
+#Group 66 pm_L2SA_st2, L2 slice A store events
+event:0X420 mmcr0:0X00000000 mmcr1:0X3055C00580C080C0 mmcra:0X00000000
+event:0X421 mmcr0:0X00000000 mmcr1:0X3055C00580C080C0 mmcra:0X00000000
+event:0X422 mmcr0:0X00000000 mmcr1:0X3055C00580C080C0 mmcra:0X00000000
+event:0X423 mmcr0:0X00000000 mmcr1:0X3055C00580C080C0 mmcra:0X00000000
+event:0X424 mmcr0:0X00000000 mmcr1:0X3055C00580C080C0 mmcra:0X00000000
+event:0X425 mmcr0:0X00000000 mmcr1:0X3055C00580C080C0 mmcra:0X00000000
+
+#Group 67 pm_L2SB_ld, L2 slice B load events
+event:0X430 mmcr0:0X00000000 mmcr1:0X3055400582C282C2 mmcra:0X00000000
+event:0X431 mmcr0:0X00000000 mmcr1:0X3055400582C282C2 mmcra:0X00000000
+event:0X432 mmcr0:0X00000000 mmcr1:0X3055400582C282C2 mmcra:0X00000000
+event:0X433 mmcr0:0X00000000 mmcr1:0X3055400582C282C2 mmcra:0X00000000
+event:0X434 mmcr0:0X00000000 mmcr1:0X3055400582C282C2 mmcra:0X00000000
+event:0X435 mmcr0:0X00000000 mmcr1:0X3055400582C282C2 mmcra:0X00000000
+
+#Group 68 pm_L2SB_st, L2 slice B store events
+event:0X440 mmcr0:0X00000000 mmcr1:0X3055800582C482C2 mmcra:0X00000000
+event:0X441 mmcr0:0X00000000 mmcr1:0X3055800582C482C2 mmcra:0X00000000
+event:0X442 mmcr0:0X00000000 mmcr1:0X3055800582C482C2 mmcra:0X00000000
+event:0X443 mmcr0:0X00000000 mmcr1:0X3055800582C482C2 mmcra:0X00000000
+event:0X444 mmcr0:0X00000000 mmcr1:0X3055800582C482C2 mmcra:0X00000000
+event:0X445 mmcr0:0X00000000 mmcr1:0X3055800582C482C2 mmcra:0X00000000
+
+#Group 69 pm_L2SB_st2, L2 slice B store events
+event:0X450 mmcr0:0X00000000 mmcr1:0X3055C00582C282C2 mmcra:0X00000000
+event:0X451 mmcr0:0X00000000 mmcr1:0X3055C00582C282C2 mmcra:0X00000000
+event:0X452 mmcr0:0X00000000 mmcr1:0X3055C00582C282C2 mmcra:0X00000000
+event:0X453 mmcr0:0X00000000 mmcr1:0X3055C00582C282C2 mmcra:0X00000000
+event:0X454 mmcr0:0X00000000 mmcr1:0X3055C00582C282C2 mmcra:0X00000000
+event:0X455 mmcr0:0X00000000 mmcr1:0X3055C00582C282C2 mmcra:0X00000000
+
+#Group 70 pm_L2SB_ld, L2 slice C load events
+event:0X460 mmcr0:0X00000000 mmcr1:0X3055400584C484C4 mmcra:0X00000000
+event:0X461 mmcr0:0X00000000 mmcr1:0X3055400584C484C4 mmcra:0X00000000
+event:0X462 mmcr0:0X00000000 mmcr1:0X3055400584C484C4 mmcra:0X00000000
+event:0X463 mmcr0:0X00000000 mmcr1:0X3055400584C484C4 mmcra:0X00000000
+event:0X464 mmcr0:0X00000000 mmcr1:0X3055400584C484C4 mmcra:0X00000000
+event:0X465 mmcr0:0X00000000 mmcr1:0X3055400584C484C4 mmcra:0X00000000
+
+#Group 71 pm_L2SB_st, L2 slice C store events
+event:0X470 mmcr0:0X00000000 mmcr1:0X3055800584C284C4 mmcra:0X00000000
+event:0X471 mmcr0:0X00000000 mmcr1:0X3055800584C284C4 mmcra:0X00000000
+event:0X472 mmcr0:0X00000000 mmcr1:0X3055800584C284C4 mmcra:0X00000000
+event:0X473 mmcr0:0X00000000 mmcr1:0X3055800584C284C4 mmcra:0X00000000
+event:0X474 mmcr0:0X00000000 mmcr1:0X3055800584C284C4 mmcra:0X00000000
+event:0X475 mmcr0:0X00000000 mmcr1:0X3055800584C284C4 mmcra:0X00000000
+
+#Group 72 pm_L2SB_st2, L2 slice C store events
+event:0X480 mmcr0:0X00000000 mmcr1:0X3055C00584C484C4 mmcra:0X00000000
+event:0X481 mmcr0:0X00000000 mmcr1:0X3055C00584C484C4 mmcra:0X00000000
+event:0X482 mmcr0:0X00000000 mmcr1:0X3055C00584C484C4 mmcra:0X00000000
+event:0X483 mmcr0:0X00000000 mmcr1:0X3055C00584C484C4 mmcra:0X00000000
+event:0X484 mmcr0:0X00000000 mmcr1:0X3055C00584C484C4 mmcra:0X00000000
+event:0X485 mmcr0:0X00000000 mmcr1:0X3055C00584C484C4 mmcra:0X00000000
+
+#Group 73 pm_L3SA_trans, L3 slice A state transistions
+event:0X490 mmcr0:0X00000000 mmcr1:0X3015000AC602C686 mmcra:0X00000001
+event:0X491 mmcr0:0X00000000 mmcr1:0X3015000AC602C686 mmcra:0X00000001
+event:0X492 mmcr0:0X00000000 mmcr1:0X3015000AC602C686 mmcra:0X00000001
+event:0X493 mmcr0:0X00000000 mmcr1:0X3015000AC602C686 mmcra:0X00000001
+event:0X494 mmcr0:0X00000000 mmcr1:0X3015000AC602C686 mmcra:0X00000001
+event:0X495 mmcr0:0X00000000 mmcr1:0X3015000AC602C686 mmcra:0X00000001
+
+#Group 74 pm_L3SB_trans, L3 slice B state transistions
+event:0X4A0 mmcr0:0X00000000 mmcr1:0X3015000602C8C888 mmcra:0X00000001
+event:0X4A1 mmcr0:0X00000000 mmcr1:0X3015000602C8C888 mmcra:0X00000001
+event:0X4A2 mmcr0:0X00000000 mmcr1:0X3015000602C8C888 mmcra:0X00000001
+event:0X4A3 mmcr0:0X00000000 mmcr1:0X3015000602C8C888 mmcra:0X00000001
+event:0X4A4 mmcr0:0X00000000 mmcr1:0X3015000602C8C888 mmcra:0X00000001
+event:0X4A5 mmcr0:0X00000000 mmcr1:0X3015000602C8C888 mmcra:0X00000001
+
+#Group 75 pm_L3SC_trans, L3 slice C state transistions
+event:0X4B0 mmcr0:0X00000000 mmcr1:0X3015000602CACA8A mmcra:0X00000001
+event:0X4B1 mmcr0:0X00000000 mmcr1:0X3015000602CACA8A mmcra:0X00000001
+event:0X4B2 mmcr0:0X00000000 mmcr1:0X3015000602CACA8A mmcra:0X00000001
+event:0X4B3 mmcr0:0X00000000 mmcr1:0X3015000602CACA8A mmcra:0X00000001
+event:0X4B4 mmcr0:0X00000000 mmcr1:0X3015000602CACA8A mmcra:0X00000001
+event:0X4B5 mmcr0:0X00000000 mmcr1:0X3015000602CACA8A mmcra:0X00000001
+
+#Group 76 pm_L2SA_trans, L2 slice A state transistions
+event:0X4C0 mmcr0:0X00000000 mmcr1:0X3055000AC080C080 mmcra:0X00000000
+event:0X4C1 mmcr0:0X00000000 mmcr1:0X3055000AC080C080 mmcra:0X00000000
+event:0X4C2 mmcr0:0X00000000 mmcr1:0X3055000AC080C080 mmcra:0X00000000
+event:0X4C3 mmcr0:0X00000000 mmcr1:0X3055000AC080C080 mmcra:0X00000000
+event:0X4C4 mmcr0:0X00000000 mmcr1:0X3055000AC080C080 mmcra:0X00000000
+event:0X4C5 mmcr0:0X00000000 mmcr1:0X3055000AC080C080 mmcra:0X00000000
+
+#Group 77 pm_L2SB_trans, L2 slice B state transistions
+event:0X4D0 mmcr0:0X00000000 mmcr1:0X3055000AC282C282 mmcra:0X00000000
+event:0X4D1 mmcr0:0X00000000 mmcr1:0X3055000AC282C282 mmcra:0X00000000
+event:0X4D2 mmcr0:0X00000000 mmcr1:0X3055000AC282C282 mmcra:0X00000000
+event:0X4D3 mmcr0:0X00000000 mmcr1:0X3055000AC282C282 mmcra:0X00000000
+event:0X4D4 mmcr0:0X00000000 mmcr1:0X3055000AC282C282 mmcra:0X00000000
+event:0X4D5 mmcr0:0X00000000 mmcr1:0X3055000AC282C282 mmcra:0X00000000
+
+#Group 78 pm_L2SC_trans, L2 slice C state transistions
+event:0X4E0 mmcr0:0X00000000 mmcr1:0X3055000AC484C484 mmcra:0X00000000
+event:0X4E1 mmcr0:0X00000000 mmcr1:0X3055000AC484C484 mmcra:0X00000000
+event:0X4E2 mmcr0:0X00000000 mmcr1:0X3055000AC484C484 mmcra:0X00000000
+event:0X4E3 mmcr0:0X00000000 mmcr1:0X3055000AC484C484 mmcra:0X00000000
+event:0X4E4 mmcr0:0X00000000 mmcr1:0X3055000AC484C484 mmcra:0X00000000
+event:0X4E5 mmcr0:0X00000000 mmcr1:0X3055000AC484C484 mmcra:0X00000000
+
+#Group 79 pm_L3SAB_retry, L3 slice A/B snoop retry and all CI/CO busy
+event:0X4F0 mmcr0:0X00000000 mmcr1:0X3005100FC6C8C6C8 mmcra:0X00000000
+event:0X4F1 mmcr0:0X00000000 mmcr1:0X3005100FC6C8C6C8 mmcra:0X00000000
+event:0X4F2 mmcr0:0X00000000 mmcr1:0X3005100FC6C8C6C8 mmcra:0X00000000
+event:0X4F3 mmcr0:0X00000000 mmcr1:0X3005100FC6C8C6C8 mmcra:0X00000000
+event:0X4F4 mmcr0:0X00000000 mmcr1:0X3005100FC6C8C6C8 mmcra:0X00000000
+event:0X4F5 mmcr0:0X00000000 mmcr1:0X3005100FC6C8C6C8 mmcra:0X00000000
+
+#Group 80 pm_L3SAB_hit, L3 slice A/B hit and reference
+event:0X500 mmcr0:0X00000000 mmcr1:0X3050100086888688 mmcra:0X00000000
+event:0X501 mmcr0:0X00000000 mmcr1:0X3050100086888688 mmcra:0X00000000
+event:0X502 mmcr0:0X00000000 mmcr1:0X3050100086888688 mmcra:0X00000000
+event:0X503 mmcr0:0X00000000 mmcr1:0X3050100086888688 mmcra:0X00000000
+event:0X504 mmcr0:0X00000000 mmcr1:0X3050100086888688 mmcra:0X00000000
+event:0X505 mmcr0:0X00000000 mmcr1:0X3050100086888688 mmcra:0X00000000
+
+#Group 81 pm_L3SC_retry_hit, L3 slice C hit & snoop retry
+event:0X510 mmcr0:0X00000000 mmcr1:0X3055100ACA8ACA8A mmcra:0X00000000
+event:0X511 mmcr0:0X00000000 mmcr1:0X3055100ACA8ACA8A mmcra:0X00000000
+event:0X512 mmcr0:0X00000000 mmcr1:0X3055100ACA8ACA8A mmcra:0X00000000
+event:0X513 mmcr0:0X00000000 mmcr1:0X3055100ACA8ACA8A mmcra:0X00000000
+event:0X514 mmcr0:0X00000000 mmcr1:0X3055100ACA8ACA8A mmcra:0X00000000
+event:0X515 mmcr0:0X00000000 mmcr1:0X3055100ACA8ACA8A mmcra:0X00000000
+
+#Group 82 pm_fpu1, Floating Point events
+event:0X520 mmcr0:0X00000000 mmcr1:0X0000000010101020 mmcra:0X00000000
+event:0X521 mmcr0:0X00000000 mmcr1:0X0000000010101020 mmcra:0X00000000
+event:0X522 mmcr0:0X00000000 mmcr1:0X0000000010101020 mmcra:0X00000000
+event:0X523 mmcr0:0X00000000 mmcr1:0X0000000010101020 mmcra:0X00000000
+event:0X524 mmcr0:0X00000000 mmcr1:0X0000000010101020 mmcra:0X00000000
+event:0X525 mmcr0:0X00000000 mmcr1:0X0000000010101020 mmcra:0X00000000
+
+#Group 83 pm_fpu2, Floating Point events
+event:0X530 mmcr0:0X00000000 mmcr1:0X0000000020202010 mmcra:0X00000000
+event:0X531 mmcr0:0X00000000 mmcr1:0X0000000020202010 mmcra:0X00000000
+event:0X532 mmcr0:0X00000000 mmcr1:0X0000000020202010 mmcra:0X00000000
+event:0X533 mmcr0:0X00000000 mmcr1:0X0000000020202010 mmcra:0X00000000
+event:0X534 mmcr0:0X00000000 mmcr1:0X0000000020202010 mmcra:0X00000000
+event:0X535 mmcr0:0X00000000 mmcr1:0X0000000020202010 mmcra:0X00000000
+
+#Group 84 pm_fpu3, Floating point events
+event:0X540 mmcr0:0X00000000 mmcr1:0X0000000C1010868E mmcra:0X00000000
+event:0X541 mmcr0:0X00000000 mmcr1:0X0000000C1010868E mmcra:0X00000000
+event:0X542 mmcr0:0X00000000 mmcr1:0X0000000C1010868E mmcra:0X00000000
+event:0X543 mmcr0:0X00000000 mmcr1:0X0000000C1010868E mmcra:0X00000000
+event:0X544 mmcr0:0X00000000 mmcr1:0X0000000C1010868E mmcra:0X00000000
+event:0X545 mmcr0:0X00000000 mmcr1:0X0000000C1010868E mmcra:0X00000000
+
+#Group 85 pm_fpu4, Floating point events
+event:0X550 mmcr0:0X00000000 mmcr1:0X0430000C20200220 mmcra:0X00000001
+event:0X551 mmcr0:0X00000000 mmcr1:0X0430000C20200220 mmcra:0X00000001
+event:0X552 mmcr0:0X00000000 mmcr1:0X0430000C20200220 mmcra:0X00000001
+event:0X553 mmcr0:0X00000000 mmcr1:0X0430000C20200220 mmcra:0X00000001
+event:0X554 mmcr0:0X00000000 mmcr1:0X0430000C20200220 mmcra:0X00000001
+event:0X555 mmcr0:0X00000000 mmcr1:0X0430000C20200220 mmcra:0X00000001
+
+#Group 86 pm_fpu5, Floating point events by unit
+event:0X560 mmcr0:0X00000000 mmcr1:0X00000000848C848C mmcra:0X00000000
+event:0X561 mmcr0:0X00000000 mmcr1:0X00000000848C848C mmcra:0X00000000
+event:0X562 mmcr0:0X00000000 mmcr1:0X00000000848C848C mmcra:0X00000000
+event:0X563 mmcr0:0X00000000 mmcr1:0X00000000848C848C mmcra:0X00000000
+event:0X564 mmcr0:0X00000000 mmcr1:0X00000000848C848C mmcra:0X00000000
+event:0X565 mmcr0:0X00000000 mmcr1:0X00000000848C848C mmcra:0X00000000
+
+#Group 87 pm_fpu6, Floating point events by unit
+event:0X570 mmcr0:0X00000000 mmcr1:0X0000000CC0C88088 mmcra:0X00000000
+event:0X571 mmcr0:0X00000000 mmcr1:0X0000000CC0C88088 mmcra:0X00000000
+event:0X572 mmcr0:0X00000000 mmcr1:0X0000000CC0C88088 mmcra:0X00000000
+event:0X573 mmcr0:0X00000000 mmcr1:0X0000000CC0C88088 mmcra:0X00000000
+event:0X574 mmcr0:0X00000000 mmcr1:0X0000000CC0C88088 mmcra:0X00000000
+event:0X575 mmcr0:0X00000000 mmcr1:0X0000000CC0C88088 mmcra:0X00000000
+
+#Group 88 pm_fpu7, Floating point events by unit
+event:0X580 mmcr0:0X00000000 mmcr1:0X000000008088828A mmcra:0X00000000
+event:0X581 mmcr0:0X00000000 mmcr1:0X000000008088828A mmcra:0X00000000
+event:0X582 mmcr0:0X00000000 mmcr1:0X000000008088828A mmcra:0X00000000
+event:0X583 mmcr0:0X00000000 mmcr1:0X000000008088828A mmcra:0X00000000
+event:0X584 mmcr0:0X00000000 mmcr1:0X000000008088828A mmcra:0X00000000
+event:0X585 mmcr0:0X00000000 mmcr1:0X000000008088828A mmcra:0X00000000
+
+#Group 89 pm_fpu8, Floating point events by unit
+event:0X590 mmcr0:0X00000000 mmcr1:0X0000000DC2CA02C0 mmcra:0X00000001
+event:0X591 mmcr0:0X00000000 mmcr1:0X0000000DC2CA02C0 mmcra:0X00000001
+event:0X592 mmcr0:0X00000000 mmcr1:0X0000000DC2CA02C0 mmcra:0X00000001
+event:0X593 mmcr0:0X00000000 mmcr1:0X0000000DC2CA02C0 mmcra:0X00000001
+event:0X594 mmcr0:0X00000000 mmcr1:0X0000000DC2CA02C0 mmcra:0X00000001
+event:0X595 mmcr0:0X00000000 mmcr1:0X0000000DC2CA02C0 mmcra:0X00000001
+
+#Group 90 pm_fpu9, Floating point events by unit
+event:0X5A0 mmcr0:0X00000000 mmcr1:0X0430000CC6CE8088 mmcra:0X00000000
+event:0X5A1 mmcr0:0X00000000 mmcr1:0X0430000CC6CE8088 mmcra:0X00000000
+event:0X5A2 mmcr0:0X00000000 mmcr1:0X0430000CC6CE8088 mmcra:0X00000000
+event:0X5A3 mmcr0:0X00000000 mmcr1:0X0430000CC6CE8088 mmcra:0X00000000
+event:0X5A4 mmcr0:0X00000000 mmcr1:0X0430000CC6CE8088 mmcra:0X00000000
+event:0X5A5 mmcr0:0X00000000 mmcr1:0X0430000CC6CE8088 mmcra:0X00000000
+
+#Group 91 pm_fpu10, Floating point events by unit
+event:0X5B0 mmcr0:0X00000000 mmcr1:0X00000000828A028A mmcra:0X00000001
+event:0X5B1 mmcr0:0X00000000 mmcr1:0X00000000828A028A mmcra:0X00000001
+event:0X5B2 mmcr0:0X00000000 mmcr1:0X00000000828A028A mmcra:0X00000001
+event:0X5B3 mmcr0:0X00000000 mmcr1:0X00000000828A028A mmcra:0X00000001
+event:0X5B4 mmcr0:0X00000000 mmcr1:0X00000000828A028A mmcra:0X00000001
+event:0X5B5 mmcr0:0X00000000 mmcr1:0X00000000828A028A mmcra:0X00000001
+
+#Group 92 pm_fpu11, Floating point events by unit
+event:0X5C0 mmcr0:0X00000000 mmcr1:0X00000000868E8602 mmcra:0X00000001
+event:0X5C1 mmcr0:0X00000000 mmcr1:0X00000000868E8602 mmcra:0X00000001
+event:0X5C2 mmcr0:0X00000000 mmcr1:0X00000000868E8602 mmcra:0X00000001
+event:0X5C3 mmcr0:0X00000000 mmcr1:0X00000000868E8602 mmcra:0X00000001
+event:0X5C4 mmcr0:0X00000000 mmcr1:0X00000000868E8602 mmcra:0X00000001
+event:0X5C5 mmcr0:0X00000000 mmcr1:0X00000000868E8602 mmcra:0X00000001
+
+#Group 93 pm_fpu12, Floating point events by unit
+event:0X5D0 mmcr0:0X00000000 mmcr1:0X0430000CC4CC8002 mmcra:0X00000001
+event:0X5D1 mmcr0:0X00000000 mmcr1:0X0430000CC4CC8002 mmcra:0X00000001
+event:0X5D2 mmcr0:0X00000000 mmcr1:0X0430000CC4CC8002 mmcra:0X00000001
+event:0X5D3 mmcr0:0X00000000 mmcr1:0X0430000CC4CC8002 mmcra:0X00000001
+event:0X5D4 mmcr0:0X00000000 mmcr1:0X0430000CC4CC8002 mmcra:0X00000001
+event:0X5D5 mmcr0:0X00000000 mmcr1:0X0430000CC4CC8002 mmcra:0X00000001
+
+#Group 94 pm_fxu1, Fixed Point events
+event:0X5E0 mmcr0:0X00000000 mmcr1:0X0000000024242424 mmcra:0X00000000
+event:0X5E1 mmcr0:0X00000000 mmcr1:0X0000000024242424 mmcra:0X00000000
+event:0X5E2 mmcr0:0X00000000 mmcr1:0X0000000024242424 mmcra:0X00000000
+event:0X5E3 mmcr0:0X00000000 mmcr1:0X0000000024242424 mmcra:0X00000000
+event:0X5E4 mmcr0:0X00000000 mmcr1:0X0000000024242424 mmcra:0X00000000
+event:0X5E5 mmcr0:0X00000000 mmcr1:0X0000000024242424 mmcra:0X00000000
+
+#Group 95 pm_fxu2, Fixed Point events
+event:0X5F0 mmcr0:0X00000000 mmcr1:0X4000000604221020 mmcra:0X00000001
+event:0X5F1 mmcr0:0X00000000 mmcr1:0X4000000604221020 mmcra:0X00000001
+event:0X5F2 mmcr0:0X00000000 mmcr1:0X4000000604221020 mmcra:0X00000001
+event:0X5F3 mmcr0:0X00000000 mmcr1:0X4000000604221020 mmcra:0X00000001
+event:0X5F4 mmcr0:0X00000000 mmcr1:0X4000000604221020 mmcra:0X00000001
+event:0X5F5 mmcr0:0X00000000 mmcr1:0X4000000604221020 mmcra:0X00000001
+
+#Group 96 pm_fxu3, Fixed Point events
+event:0X600 mmcr0:0X00000000 mmcr1:0X404000038688C4CC mmcra:0X00000000
+event:0X601 mmcr0:0X00000000 mmcr1:0X404000038688C4CC mmcra:0X00000000
+event:0X602 mmcr0:0X00000000 mmcr1:0X404000038688C4CC mmcra:0X00000000
+event:0X603 mmcr0:0X00000000 mmcr1:0X404000038688C4CC mmcra:0X00000000
+event:0X604 mmcr0:0X00000000 mmcr1:0X404000038688C4CC mmcra:0X00000000
+event:0X605 mmcr0:0X00000000 mmcr1:0X404000038688C4CC mmcra:0X00000000
+
+#Group 97 pm_smt_priorities1, Thread priority events
+event:0X610 mmcr0:0X00000000 mmcr1:0X0005000FC6CCC6C8 mmcra:0X00000000
+event:0X611 mmcr0:0X00000000 mmcr1:0X0005000FC6CCC6C8 mmcra:0X00000000
+event:0X612 mmcr0:0X00000000 mmcr1:0X0005000FC6CCC6C8 mmcra:0X00000000
+event:0X613 mmcr0:0X00000000 mmcr1:0X0005000FC6CCC6C8 mmcra:0X00000000
+event:0X614 mmcr0:0X00000000 mmcr1:0X0005000FC6CCC6C8 mmcra:0X00000000
+event:0X615 mmcr0:0X00000000 mmcr1:0X0005000FC6CCC6C8 mmcra:0X00000000
+
+#Group 98 pm_smt_priorities2, Thread priority events
+event:0X620 mmcr0:0X00000000 mmcr1:0X0005000FC4CACACC mmcra:0X00000000
+event:0X621 mmcr0:0X00000000 mmcr1:0X0005000FC4CACACC mmcra:0X00000000
+event:0X622 mmcr0:0X00000000 mmcr1:0X0005000FC4CACACC mmcra:0X00000000
+event:0X623 mmcr0:0X00000000 mmcr1:0X0005000FC4CACACC mmcra:0X00000000
+event:0X624 mmcr0:0X00000000 mmcr1:0X0005000FC4CACACC mmcra:0X00000000
+event:0X625 mmcr0:0X00000000 mmcr1:0X0005000FC4CACACC mmcra:0X00000000
+
+#Group 99 pm_smt_priorities3, Thread priority events
+event:0X630 mmcr0:0X00000000 mmcr1:0X0005000FC2C8C4C2 mmcra:0X00000000
+event:0X631 mmcr0:0X00000000 mmcr1:0X0005000FC2C8C4C2 mmcra:0X00000000
+event:0X632 mmcr0:0X00000000 mmcr1:0X0005000FC2C8C4C2 mmcra:0X00000000
+event:0X633 mmcr0:0X00000000 mmcr1:0X0005000FC2C8C4C2 mmcra:0X00000000
+event:0X634 mmcr0:0X00000000 mmcr1:0X0005000FC2C8C4C2 mmcra:0X00000000
+event:0X635 mmcr0:0X00000000 mmcr1:0X0005000FC2C8C4C2 mmcra:0X00000000
+
+#Group 100 pm_smt_priorities4, Thread priority events
+event:0X640 mmcr0:0X00000000 mmcr1:0X0005000AC016C002 mmcra:0X00000001
+event:0X641 mmcr0:0X00000000 mmcr1:0X0005000AC016C002 mmcra:0X00000001
+event:0X642 mmcr0:0X00000000 mmcr1:0X0005000AC016C002 mmcra:0X00000001
+event:0X643 mmcr0:0X00000000 mmcr1:0X0005000AC016C002 mmcra:0X00000001
+event:0X644 mmcr0:0X00000000 mmcr1:0X0005000AC016C002 mmcra:0X00000001
+event:0X645 mmcr0:0X00000000 mmcr1:0X0005000AC016C002 mmcra:0X00000001
+
+#Group 101 pm_smt_both, Thread common events
+event:0X650 mmcr0:0X00000000 mmcr1:0X0010000016260208 mmcra:0X00000001
+event:0X651 mmcr0:0X00000000 mmcr1:0X0010000016260208 mmcra:0X00000001
+event:0X652 mmcr0:0X00000000 mmcr1:0X0010000016260208 mmcra:0X00000001
+event:0X653 mmcr0:0X00000000 mmcr1:0X0010000016260208 mmcra:0X00000001
+event:0X654 mmcr0:0X00000000 mmcr1:0X0010000016260208 mmcra:0X00000001
+event:0X655 mmcr0:0X00000000 mmcr1:0X0010000016260208 mmcra:0X00000001
+
+#Group 102 pm_smt_selection, Thread selection
+event:0X660 mmcr0:0X00000000 mmcr1:0X0090000086028082 mmcra:0X00000001
+event:0X661 mmcr0:0X00000000 mmcr1:0X0090000086028082 mmcra:0X00000001
+event:0X662 mmcr0:0X00000000 mmcr1:0X0090000086028082 mmcra:0X00000001
+event:0X663 mmcr0:0X00000000 mmcr1:0X0090000086028082 mmcra:0X00000001
+event:0X664 mmcr0:0X00000000 mmcr1:0X0090000086028082 mmcra:0X00000001
+event:0X665 mmcr0:0X00000000 mmcr1:0X0090000086028082 mmcra:0X00000001
+
+#Group 103 pm_smt_selectover1, Thread selection overide
+event:0X670 mmcr0:0X00000000 mmcr1:0X0050000002808488 mmcra:0X00000001
+event:0X671 mmcr0:0X00000000 mmcr1:0X0050000002808488 mmcra:0X00000001
+event:0X672 mmcr0:0X00000000 mmcr1:0X0050000002808488 mmcra:0X00000001
+event:0X673 mmcr0:0X00000000 mmcr1:0X0050000002808488 mmcra:0X00000001
+event:0X674 mmcr0:0X00000000 mmcr1:0X0050000002808488 mmcra:0X00000001
+event:0X675 mmcr0:0X00000000 mmcr1:0X0050000002808488 mmcra:0X00000001
+
+#Group 104 pm_smt_selectover2, Thread selection overide
+event:0X680 mmcr0:0X00000000 mmcr1:0X00100000021E8A86 mmcra:0X00000001
+event:0X681 mmcr0:0X00000000 mmcr1:0X00100000021E8A86 mmcra:0X00000001
+event:0X682 mmcr0:0X00000000 mmcr1:0X00100000021E8A86 mmcra:0X00000001
+event:0X683 mmcr0:0X00000000 mmcr1:0X00100000021E8A86 mmcra:0X00000001
+event:0X684 mmcr0:0X00000000 mmcr1:0X00100000021E8A86 mmcra:0X00000001
+event:0X685 mmcr0:0X00000000 mmcr1:0X00100000021E8A86 mmcra:0X00000001
+
+#Group 105 pm_fabric1, Fabric events
+event:0X690 mmcr0:0X00000000 mmcr1:0X305500058ECE8ECE mmcra:0X00000000
+event:0X691 mmcr0:0X00000000 mmcr1:0X305500058ECE8ECE mmcra:0X00000000
+event:0X692 mmcr0:0X00000000 mmcr1:0X305500058ECE8ECE mmcra:0X00000000
+event:0X693 mmcr0:0X00000000 mmcr1:0X305500058ECE8ECE mmcra:0X00000000
+event:0X694 mmcr0:0X00000000 mmcr1:0X305500058ECE8ECE mmcra:0X00000000
+event:0X695 mmcr0:0X00000000 mmcr1:0X305500058ECE8ECE mmcra:0X00000000
+
+#Group 106 pm_fabric2, Fabric data movement
+event:0X6A0 mmcr0:0X00000000 mmcr1:0X305500858ECE8ECE mmcra:0X00000000
+event:0X6A1 mmcr0:0X00000000 mmcr1:0X305500858ECE8ECE mmcra:0X00000000
+event:0X6A2 mmcr0:0X00000000 mmcr1:0X305500858ECE8ECE mmcra:0X00000000
+event:0X6A3 mmcr0:0X00000000 mmcr1:0X305500858ECE8ECE mmcra:0X00000000
+event:0X6A4 mmcr0:0X00000000 mmcr1:0X305500858ECE8ECE mmcra:0X00000000
+event:0X6A5 mmcr0:0X00000000 mmcr1:0X305500858ECE8ECE mmcra:0X00000000
+
+#Group 107 pm_fabric3, Fabric data movement
+event:0X6B0 mmcr0:0X00000000 mmcr1:0X305501858ECE8ECE mmcra:0X00000000
+event:0X6B1 mmcr0:0X00000000 mmcr1:0X305501858ECE8ECE mmcra:0X00000000
+event:0X6B2 mmcr0:0X00000000 mmcr1:0X305501858ECE8ECE mmcra:0X00000000
+event:0X6B3 mmcr0:0X00000000 mmcr1:0X305501858ECE8ECE mmcra:0X00000000
+event:0X6B4 mmcr0:0X00000000 mmcr1:0X305501858ECE8ECE mmcra:0X00000000
+event:0X6B5 mmcr0:0X00000000 mmcr1:0X305501858ECE8ECE mmcra:0X00000000
+
+#Group 108 pm_fabric4, Fabric data movement
+event:0X6C0 mmcr0:0X00000000 mmcr1:0X705401068ECEC68E mmcra:0X00000000
+event:0X6C1 mmcr0:0X00000000 mmcr1:0X705401068ECEC68E mmcra:0X00000000
+event:0X6C2 mmcr0:0X00000000 mmcr1:0X705401068ECEC68E mmcra:0X00000000
+event:0X6C3 mmcr0:0X00000000 mmcr1:0X705401068ECEC68E mmcra:0X00000000
+event:0X6C4 mmcr0:0X00000000 mmcr1:0X705401068ECEC68E mmcra:0X00000000
+event:0X6C5 mmcr0:0X00000000 mmcr1:0X705401068ECEC68E mmcra:0X00000000
+
+#Group 109 pm_snoop1, Snoop retry
+event:0X6D0 mmcr0:0X00000000 mmcr1:0X305500058CCC8CCC mmcra:0X00000000
+event:0X6D1 mmcr0:0X00000000 mmcr1:0X305500058CCC8CCC mmcra:0X00000000
+event:0X6D2 mmcr0:0X00000000 mmcr1:0X305500058CCC8CCC mmcra:0X00000000
+event:0X6D3 mmcr0:0X00000000 mmcr1:0X305500058CCC8CCC mmcra:0X00000000
+event:0X6D4 mmcr0:0X00000000 mmcr1:0X305500058CCC8CCC mmcra:0X00000000
+event:0X6D5 mmcr0:0X00000000 mmcr1:0X305500058CCC8CCC mmcra:0X00000000
+
+#Group 110 pm_snoop2, Snoop read retry
+event:0X6E0 mmcr0:0X00000000 mmcr1:0X30540A048CCC8C02 mmcra:0X00000001
+event:0X6E1 mmcr0:0X00000000 mmcr1:0X30540A048CCC8C02 mmcra:0X00000001
+event:0X6E2 mmcr0:0X00000000 mmcr1:0X30540A048CCC8C02 mmcra:0X00000001
+event:0X6E3 mmcr0:0X00000000 mmcr1:0X30540A048CCC8C02 mmcra:0X00000001
+event:0X6E4 mmcr0:0X00000000 mmcr1:0X30540A048CCC8C02 mmcra:0X00000001
+event:0X6E5 mmcr0:0X00000000 mmcr1:0X30540A048CCC8C02 mmcra:0X00000001
+
+#Group 111 pm_snoop3, Snoop write retry
+event:0X6F0 mmcr0:0X00000000 mmcr1:0X30550C058CCC8CCC mmcra:0X00000000
+event:0X6F1 mmcr0:0X00000000 mmcr1:0X30550C058CCC8CCC mmcra:0X00000000
+event:0X6F2 mmcr0:0X00000000 mmcr1:0X30550C058CCC8CCC mmcra:0X00000000
+event:0X6F3 mmcr0:0X00000000 mmcr1:0X30550C058CCC8CCC mmcra:0X00000000
+event:0X6F4 mmcr0:0X00000000 mmcr1:0X30550C058CCC8CCC mmcra:0X00000000
+event:0X6F5 mmcr0:0X00000000 mmcr1:0X30550C058CCC8CCC mmcra:0X00000000
+
+#Group 112 pm_snoop4, Snoop partial write retry
+event:0X700 mmcr0:0X00000000 mmcr1:0X30550E058CCC8CCC mmcra:0X00000000
+event:0X701 mmcr0:0X00000000 mmcr1:0X30550E058CCC8CCC mmcra:0X00000000
+event:0X702 mmcr0:0X00000000 mmcr1:0X30550E058CCC8CCC mmcra:0X00000000
+event:0X703 mmcr0:0X00000000 mmcr1:0X30550E058CCC8CCC mmcra:0X00000000
+event:0X704 mmcr0:0X00000000 mmcr1:0X30550E058CCC8CCC mmcra:0X00000000
+event:0X705 mmcr0:0X00000000 mmcr1:0X30550E058CCC8CCC mmcra:0X00000000
+
+#Group 113 pm_mem_rq, Memory read queue dispatch
+event:0X710 mmcr0:0X00000000 mmcr1:0X705402058CCC8CCE mmcra:0X00000000
+event:0X711 mmcr0:0X00000000 mmcr1:0X705402058CCC8CCE mmcra:0X00000000
+event:0X712 mmcr0:0X00000000 mmcr1:0X705402058CCC8CCE mmcra:0X00000000
+event:0X713 mmcr0:0X00000000 mmcr1:0X705402058CCC8CCE mmcra:0X00000000
+event:0X714 mmcr0:0X00000000 mmcr1:0X705402058CCC8CCE mmcra:0X00000000
+event:0X715 mmcr0:0X00000000 mmcr1:0X705402058CCC8CCE mmcra:0X00000000
+
+#Group 114 pm_mem_read, Memory read complete and cancel
+event:0X720 mmcr0:0X00000000 mmcr1:0X305404048CCC8C06 mmcra:0X00000000
+event:0X721 mmcr0:0X00000000 mmcr1:0X305404048CCC8C06 mmcra:0X00000000
+event:0X722 mmcr0:0X00000000 mmcr1:0X305404048CCC8C06 mmcra:0X00000000
+event:0X723 mmcr0:0X00000000 mmcr1:0X305404048CCC8C06 mmcra:0X00000000
+event:0X724 mmcr0:0X00000000 mmcr1:0X305404048CCC8C06 mmcra:0X00000000
+event:0X725 mmcr0:0X00000000 mmcr1:0X305404048CCC8C06 mmcra:0X00000000
+
+#Group 115 pm_mem_wq, Memory write queue dispatch
+event:0X730 mmcr0:0X00000000 mmcr1:0X305506058CCC8CCC mmcra:0X00000000
+event:0X731 mmcr0:0X00000000 mmcr1:0X305506058CCC8CCC mmcra:0X00000000
+event:0X732 mmcr0:0X00000000 mmcr1:0X305506058CCC8CCC mmcra:0X00000000
+event:0X733 mmcr0:0X00000000 mmcr1:0X305506058CCC8CCC mmcra:0X00000000
+event:0X734 mmcr0:0X00000000 mmcr1:0X305506058CCC8CCC mmcra:0X00000000
+event:0X735 mmcr0:0X00000000 mmcr1:0X305506058CCC8CCC mmcra:0X00000000
+
+#Group 116 pm_mem_pwq, Memory partial write queue
+event:0X740 mmcr0:0X00000000 mmcr1:0X305508058CCC8CCC mmcra:0X00000000
+event:0X741 mmcr0:0X00000000 mmcr1:0X305508058CCC8CCC mmcra:0X00000000
+event:0X742 mmcr0:0X00000000 mmcr1:0X305508058CCC8CCC mmcra:0X00000000
+event:0X743 mmcr0:0X00000000 mmcr1:0X305508058CCC8CCC mmcra:0X00000000
+event:0X744 mmcr0:0X00000000 mmcr1:0X305508058CCC8CCC mmcra:0X00000000
+event:0X745 mmcr0:0X00000000 mmcr1:0X305508058CCC8CCC mmcra:0X00000000
+
+#Group 117 pm_threshold, Thresholding
+event:0X750 mmcr0:0X00000000 mmcr1:0X0008000404C41628 mmcra:0X00000001
+event:0X751 mmcr0:0X00000000 mmcr1:0X0008000404C41628 mmcra:0X00000001
+event:0X752 mmcr0:0X00000000 mmcr1:0X0008000404C41628 mmcra:0X00000001
+event:0X753 mmcr0:0X00000000 mmcr1:0X0008000404C41628 mmcra:0X00000001
+event:0X754 mmcr0:0X00000000 mmcr1:0X0008000404C41628 mmcra:0X00000001
+event:0X755 mmcr0:0X00000000 mmcr1:0X0008000404C41628 mmcra:0X00000001
+
+#Group 118 pm_mrk_grp1, Marked group events
+event:0X760 mmcr0:0X00000000 mmcr1:0X0008000404C60A26 mmcra:0X00000001
+event:0X761 mmcr0:0X00000000 mmcr1:0X0008000404C60A26 mmcra:0X00000001
+event:0X762 mmcr0:0X00000000 mmcr1:0X0008000404C60A26 mmcra:0X00000001
+event:0X763 mmcr0:0X00000000 mmcr1:0X0008000404C60A26 mmcra:0X00000001
+event:0X764 mmcr0:0X00000000 mmcr1:0X0008000404C60A26 mmcra:0X00000001
+event:0X765 mmcr0:0X00000000 mmcr1:0X0008000404C60A26 mmcra:0X00000001
+
+#Group 119 pm_mrk_grp2, Marked group events
+event:0X770 mmcr0:0X00000000 mmcr1:0X410300032A0AC822 mmcra:0X00000001
+event:0X771 mmcr0:0X00000000 mmcr1:0X410300032A0AC822 mmcra:0X00000001
+event:0X772 mmcr0:0X00000000 mmcr1:0X410300032A0AC822 mmcra:0X00000001
+event:0X773 mmcr0:0X00000000 mmcr1:0X410300032A0AC822 mmcra:0X00000001
+event:0X774 mmcr0:0X00000000 mmcr1:0X410300032A0AC822 mmcra:0X00000001
+event:0X775 mmcr0:0X00000000 mmcr1:0X410300032A0AC822 mmcra:0X00000001
+
+#Group 120 pm_mrk_dsource1, Marked data from
+event:0X780 mmcr0:0X00000000 mmcr1:0X010B000F0E404444 mmcra:0X00000001
+event:0X781 mmcr0:0X00000000 mmcr1:0X010B000F0E404444 mmcra:0X00000001
+event:0X782 mmcr0:0X00000000 mmcr1:0X010B000F0E404444 mmcra:0X00000001
+event:0X783 mmcr0:0X00000000 mmcr1:0X010B000F0E404444 mmcra:0X00000001
+event:0X784 mmcr0:0X00000000 mmcr1:0X010B000F0E404444 mmcra:0X00000001
+event:0X785 mmcr0:0X00000000 mmcr1:0X010B000F0E404444 mmcra:0X00000001
+
+#Group 121 pm_mrk_dsource2, Marked data from
+event:0X790 mmcr0:0X00000000 mmcr1:0X010B000C2E440210 mmcra:0X00000001
+event:0X791 mmcr0:0X00000000 mmcr1:0X010B000C2E440210 mmcra:0X00000001
+event:0X792 mmcr0:0X00000000 mmcr1:0X010B000C2E440210 mmcra:0X00000001
+event:0X793 mmcr0:0X00000000 mmcr1:0X010B000C2E440210 mmcra:0X00000001
+event:0X794 mmcr0:0X00000000 mmcr1:0X010B000C2E440210 mmcra:0X00000001
+event:0X795 mmcr0:0X00000000 mmcr1:0X010B000C2E440210 mmcra:0X00000001
+
+#Group 122 pm_mrk_dsource3, Marked data from
+event:0X7A0 mmcr0:0X00000000 mmcr1:0X010B000F1C484C4C mmcra:0X00000001
+event:0X7A1 mmcr0:0X00000000 mmcr1:0X010B000F1C484C4C mmcra:0X00000001
+event:0X7A2 mmcr0:0X00000000 mmcr1:0X010B000F1C484C4C mmcra:0X00000001
+event:0X7A3 mmcr0:0X00000000 mmcr1:0X010B000F1C484C4C mmcra:0X00000001
+event:0X7A4 mmcr0:0X00000000 mmcr1:0X010B000F1C484C4C mmcra:0X00000001
+event:0X7A5 mmcr0:0X00000000 mmcr1:0X010B000F1C484C4C mmcra:0X00000001
+
+#Group 123 pm_mrk_dsource4, Marked data from
+event:0X7B0 mmcr0:0X00000000 mmcr1:0X010B000F42462E42 mmcra:0X00000001
+event:0X7B1 mmcr0:0X00000000 mmcr1:0X010B000F42462E42 mmcra:0X00000001
+event:0X7B2 mmcr0:0X00000000 mmcr1:0X010B000F42462E42 mmcra:0X00000001
+event:0X7B3 mmcr0:0X00000000 mmcr1:0X010B000F42462E42 mmcra:0X00000001
+event:0X7B4 mmcr0:0X00000000 mmcr1:0X010B000F42462E42 mmcra:0X00000001
+event:0X7B5 mmcr0:0X00000000 mmcr1:0X010B000F42462E42 mmcra:0X00000001
+
+#Group 124 pm_mrk_dsource5, Marked data from
+event:0X7C0 mmcr0:0X00000000 mmcr1:0X010B000F3C4C4040 mmcra:0X00000001
+event:0X7C1 mmcr0:0X00000000 mmcr1:0X010B000F3C4C4040 mmcra:0X00000001
+event:0X7C2 mmcr0:0X00000000 mmcr1:0X010B000F3C4C4040 mmcra:0X00000001
+event:0X7C3 mmcr0:0X00000000 mmcr1:0X010B000F3C4C4040 mmcra:0X00000001
+event:0X7C4 mmcr0:0X00000000 mmcr1:0X010B000F3C4C4040 mmcra:0X00000001
+event:0X7C5 mmcr0:0X00000000 mmcr1:0X010B000F3C4C4040 mmcra:0X00000001
+
+#Group 125 pm_mrk_dsource6, Marked data from
+event:0X7D0 mmcr0:0X00000000 mmcr1:0X010B000D46460246 mmcra:0X00000001
+event:0X7D1 mmcr0:0X00000000 mmcr1:0X010B000D46460246 mmcra:0X00000001
+event:0X7D2 mmcr0:0X00000000 mmcr1:0X010B000D46460246 mmcra:0X00000001
+event:0X7D3 mmcr0:0X00000000 mmcr1:0X010B000D46460246 mmcra:0X00000001
+event:0X7D4 mmcr0:0X00000000 mmcr1:0X010B000D46460246 mmcra:0X00000001
+event:0X7D5 mmcr0:0X00000000 mmcr1:0X010B000D46460246 mmcra:0X00000001
+
+#Group 126 pm_mrk_dsource7, Marked data from
+event:0X7E0 mmcr0:0X00000000 mmcr1:0X010B000F4E4E3C4E mmcra:0X00000001
+event:0X7E1 mmcr0:0X00000000 mmcr1:0X010B000F4E4E3C4E mmcra:0X00000001
+event:0X7E2 mmcr0:0X00000000 mmcr1:0X010B000F4E4E3C4E mmcra:0X00000001
+event:0X7E3 mmcr0:0X00000000 mmcr1:0X010B000F4E4E3C4E mmcra:0X00000001
+event:0X7E4 mmcr0:0X00000000 mmcr1:0X010B000F4E4E3C4E mmcra:0X00000001
+event:0X7E5 mmcr0:0X00000000 mmcr1:0X010B000F4E4E3C4E mmcra:0X00000001
+
+#Group 127 pm_mrk_dtlbref, Marked data TLB references
+event:0X7F0 mmcr0:0X00000000 mmcr1:0X020C000F0C0C0C0C mmcra:0X00000001
+event:0X7F1 mmcr0:0X00000000 mmcr1:0X020C000F0C0C0C0C mmcra:0X00000001
+event:0X7F2 mmcr0:0X00000000 mmcr1:0X020C000F0C0C0C0C mmcra:0X00000001
+event:0X7F3 mmcr0:0X00000000 mmcr1:0X020C000F0C0C0C0C mmcra:0X00000001
+event:0X7F4 mmcr0:0X00000000 mmcr1:0X020C000F0C0C0C0C mmcra:0X00000001
+event:0X7F5 mmcr0:0X00000000 mmcr1:0X020C000F0C0C0C0C mmcra:0X00000001
+
+#Group 128 pm_mrk_dtlbmiss, Marked data TLB misses
+event:0X800 mmcr0:0X00000000 mmcr1:0X020C000F1A1A1A1A mmcra:0X00000001
+event:0X801 mmcr0:0X00000000 mmcr1:0X020C000F1A1A1A1A mmcra:0X00000001
+event:0X802 mmcr0:0X00000000 mmcr1:0X020C000F1A1A1A1A mmcra:0X00000001
+event:0X803 mmcr0:0X00000000 mmcr1:0X020C000F1A1A1A1A mmcra:0X00000001
+event:0X804 mmcr0:0X00000000 mmcr1:0X020C000F1A1A1A1A mmcra:0X00000001
+event:0X805 mmcr0:0X00000000 mmcr1:0X020C000F1A1A1A1A mmcra:0X00000001
+
+#Group 129 pm_mrk_dtlb_dslb, Marked data TLB references and misses and marked data SLB misses
+event:0X810 mmcr0:0X00000000 mmcr1:0X063C0008C8AC8E1E mmcra:0X00000001
+event:0X811 mmcr0:0X00000000 mmcr1:0X063C0008C8AC8E1E mmcra:0X00000001
+event:0X812 mmcr0:0X00000000 mmcr1:0X063C0008C8AC8E1E mmcra:0X00000001
+event:0X813 mmcr0:0X00000000 mmcr1:0X063C0008C8AC8E1E mmcra:0X00000001
+event:0X814 mmcr0:0X00000000 mmcr1:0X063C0008C8AC8E1E mmcra:0X00000001
+event:0X815 mmcr0:0X00000000 mmcr1:0X063C0008C8AC8E1E mmcra:0X00000001
+
+#Group 130 pm_mrk_lbref, Marked TLB and SLB references
+event:0X820 mmcr0:0X00000000 mmcr1:0X063C000A0C020C8E mmcra:0X00000001
+event:0X821 mmcr0:0X00000000 mmcr1:0X063C000A0C020C8E mmcra:0X00000001
+event:0X822 mmcr0:0X00000000 mmcr1:0X063C000A0C020C8E mmcra:0X00000001
+event:0X823 mmcr0:0X00000000 mmcr1:0X063C000A0C020C8E mmcra:0X00000001
+event:0X824 mmcr0:0X00000000 mmcr1:0X063C000A0C020C8E mmcra:0X00000001
+event:0X825 mmcr0:0X00000000 mmcr1:0X063C000A0C020C8E mmcra:0X00000001
+
+#Group 131 pm_mrk_lsmiss, Marked load and store miss
+event:0X830 mmcr0:0X00000000 mmcr1:0X000800081002060A mmcra:0X00000001
+event:0X831 mmcr0:0X00000000 mmcr1:0X000800081002060A mmcra:0X00000001
+event:0X832 mmcr0:0X00000000 mmcr1:0X000800081002060A mmcra:0X00000001
+event:0X833 mmcr0:0X00000000 mmcr1:0X000800081002060A mmcra:0X00000001
+event:0X834 mmcr0:0X00000000 mmcr1:0X000800081002060A mmcra:0X00000001
+event:0X835 mmcr0:0X00000000 mmcr1:0X000800081002060A mmcra:0X00000001
+
+#Group 132 pm_mrk_ulsflush, Mark unaligned load and store flushes
+event:0X840 mmcr0:0X00000000 mmcr1:0X0028000406C62020 mmcra:0X00000001
+event:0X841 mmcr0:0X00000000 mmcr1:0X0028000406C62020 mmcra:0X00000001
+event:0X842 mmcr0:0X00000000 mmcr1:0X0028000406C62020 mmcra:0X00000001
+event:0X843 mmcr0:0X00000000 mmcr1:0X0028000406C62020 mmcra:0X00000001
+event:0X844 mmcr0:0X00000000 mmcr1:0X0028000406C62020 mmcra:0X00000001
+event:0X845 mmcr0:0X00000000 mmcr1:0X0028000406C62020 mmcra:0X00000001
+
+#Group 133 pm_mrk_misc, Misc marked instructions
+event:0X850 mmcr0:0X00000000 mmcr1:0X00080008CC062816 mmcra:0X00000001
+event:0X851 mmcr0:0X00000000 mmcr1:0X00080008CC062816 mmcra:0X00000001
+event:0X852 mmcr0:0X00000000 mmcr1:0X00080008CC062816 mmcra:0X00000001
+event:0X853 mmcr0:0X00000000 mmcr1:0X00080008CC062816 mmcra:0X00000001
+event:0X854 mmcr0:0X00000000 mmcr1:0X00080008CC062816 mmcra:0X00000001
+event:0X855 mmcr0:0X00000000 mmcr1:0X00080008CC062816 mmcra:0X00000001
+
+#Group 134 pm_lsref_L1, Load/Store operations and L1 activity
+event:0X860 mmcr0:0X00000000 mmcr1:0X8033000C0E1A2020 mmcra:0X00000000
+event:0X861 mmcr0:0X00000000 mmcr1:0X8033000C0E1A2020 mmcra:0X00000000
+event:0X862 mmcr0:0X00000000 mmcr1:0X8033000C0E1A2020 mmcra:0X00000000
+event:0X863 mmcr0:0X00000000 mmcr1:0X8033000C0E1A2020 mmcra:0X00000000
+event:0X864 mmcr0:0X00000000 mmcr1:0X8033000C0E1A2020 mmcra:0X00000000
+event:0X865 mmcr0:0X00000000 mmcr1:0X8033000C0E1A2020 mmcra:0X00000000
+
+#Group 135 pm_lsref_L2L3, Load/Store operations and L2,L3 activity
+event:0X870 mmcr0:0X00000000 mmcr1:0X0033000C1C0E2020 mmcra:0X00000000
+event:0X871 mmcr0:0X00000000 mmcr1:0X0033000C1C0E2020 mmcra:0X00000000
+event:0X872 mmcr0:0X00000000 mmcr1:0X0033000C1C0E2020 mmcra:0X00000000
+event:0X873 mmcr0:0X00000000 mmcr1:0X0033000C1C0E2020 mmcra:0X00000000
+event:0X874 mmcr0:0X00000000 mmcr1:0X0033000C1C0E2020 mmcra:0X00000000
+event:0X875 mmcr0:0X00000000 mmcr1:0X0033000C1C0E2020 mmcra:0X00000000
+
+#Group 136 pm_lsref_tlbmiss, Load/Store operations and TLB misses
+event:0X880 mmcr0:0X00000000 mmcr1:0X00B0000080882020 mmcra:0X00000000
+event:0X881 mmcr0:0X00000000 mmcr1:0X00B0000080882020 mmcra:0X00000000
+event:0X882 mmcr0:0X00000000 mmcr1:0X00B0000080882020 mmcra:0X00000000
+event:0X883 mmcr0:0X00000000 mmcr1:0X00B0000080882020 mmcra:0X00000000
+event:0X884 mmcr0:0X00000000 mmcr1:0X00B0000080882020 mmcra:0X00000000
+event:0X885 mmcr0:0X00000000 mmcr1:0X00B0000080882020 mmcra:0X00000000
+
+#Group 137 pm_Dmiss, Data cache misses
+event:0X890 mmcr0:0X00000000 mmcr1:0X0033000C1C0E1086 mmcra:0X00000000
+event:0X891 mmcr0:0X00000000 mmcr1:0X0033000C1C0E1086 mmcra:0X00000000
+event:0X892 mmcr0:0X00000000 mmcr1:0X0033000C1C0E1086 mmcra:0X00000000
+event:0X893 mmcr0:0X00000000 mmcr1:0X0033000C1C0E1086 mmcra:0X00000000
+event:0X894 mmcr0:0X00000000 mmcr1:0X0033000C1C0E1086 mmcra:0X00000000
+event:0X895 mmcr0:0X00000000 mmcr1:0X0033000C1C0E1086 mmcra:0X00000000
+
+#Group 138 pm_prefetchX, Prefetch events
+event:0X8A0 mmcr0:0X00000000 mmcr1:0X853300061ECCCE86 mmcra:0X00000000
+event:0X8A1 mmcr0:0X00000000 mmcr1:0X853300061ECCCE86 mmcra:0X00000000
+event:0X8A2 mmcr0:0X00000000 mmcr1:0X853300061ECCCE86 mmcra:0X00000000
+event:0X8A3 mmcr0:0X00000000 mmcr1:0X853300061ECCCE86 mmcra:0X00000000
+event:0X8A4 mmcr0:0X00000000 mmcr1:0X853300061ECCCE86 mmcra:0X00000000
+event:0X8A5 mmcr0:0X00000000 mmcr1:0X853300061ECCCE86 mmcra:0X00000000
+
+#Group 139 pm_branchX, Branch operations
+event:0X8B0 mmcr0:0X00000000 mmcr1:0X8000000F0E0E0EC8 mmcra:0X00000000
+event:0X8B1 mmcr0:0X00000000 mmcr1:0X8000000F0E0E0EC8 mmcra:0X00000000
+event:0X8B2 mmcr0:0X00000000 mmcr1:0X8000000F0E0E0EC8 mmcra:0X00000000
+event:0X8B3 mmcr0:0X00000000 mmcr1:0X8000000F0E0E0EC8 mmcra:0X00000000
+event:0X8B4 mmcr0:0X00000000 mmcr1:0X8000000F0E0E0EC8 mmcra:0X00000000
+event:0X8B5 mmcr0:0X00000000 mmcr1:0X8000000F0E0E0EC8 mmcra:0X00000000
+
+#Group 140 pm_fpuX1, Floating point events by unit
+event:0X8C0 mmcr0:0X00000000 mmcr1:0X0000000DC2CA86C0 mmcra:0X00000000
+event:0X8C1 mmcr0:0X00000000 mmcr1:0X0000000DC2CA86C0 mmcra:0X00000000
+event:0X8C2 mmcr0:0X00000000 mmcr1:0X0000000DC2CA86C0 mmcra:0X00000000
+event:0X8C3 mmcr0:0X00000000 mmcr1:0X0000000DC2CA86C0 mmcra:0X00000000
+event:0X8C4 mmcr0:0X00000000 mmcr1:0X0000000DC2CA86C0 mmcra:0X00000000
+event:0X8C5 mmcr0:0X00000000 mmcr1:0X0000000DC2CA86C0 mmcra:0X00000000
+
+#Group 141 pm_fpuX2, Floating point events by unit
+event:0X8D0 mmcr0:0X00000000 mmcr1:0X00000000828A828A mmcra:0X00000000
+event:0X8D1 mmcr0:0X00000000 mmcr1:0X00000000828A828A mmcra:0X00000000
+event:0X8D2 mmcr0:0X00000000 mmcr1:0X00000000828A828A mmcra:0X00000000
+event:0X8D3 mmcr0:0X00000000 mmcr1:0X00000000828A828A mmcra:0X00000000
+event:0X8D4 mmcr0:0X00000000 mmcr1:0X00000000828A828A mmcra:0X00000000
+event:0X8D5 mmcr0:0X00000000 mmcr1:0X00000000828A828A mmcra:0X00000000
+
+#Group 142 pm_fpuX3, Floating point events by unit
+event:0X8E0 mmcr0:0X00000000 mmcr1:0X00000000868E868E mmcra:0X00000000
+event:0X8E1 mmcr0:0X00000000 mmcr1:0X00000000868E868E mmcra:0X00000000
+event:0X8E2 mmcr0:0X00000000 mmcr1:0X00000000868E868E mmcra:0X00000000
+event:0X8E3 mmcr0:0X00000000 mmcr1:0X00000000868E868E mmcra:0X00000000
+event:0X8E4 mmcr0:0X00000000 mmcr1:0X00000000868E868E mmcra:0X00000000
+event:0X8E5 mmcr0:0X00000000 mmcr1:0X00000000868E868E mmcra:0X00000000
+
+#Group 143 pm_fpuX4, Floating point and L1 events
+event:0X8F0 mmcr0:0X00000000 mmcr1:0X0030000020102020 mmcra:0X00000000
+event:0X8F1 mmcr0:0X00000000 mmcr1:0X0030000020102020 mmcra:0X00000000
+event:0X8F2 mmcr0:0X00000000 mmcr1:0X0030000020102020 mmcra:0X00000000
+event:0X8F3 mmcr0:0X00000000 mmcr1:0X0030000020102020 mmcra:0X00000000
+event:0X8F4 mmcr0:0X00000000 mmcr1:0X0030000020102020 mmcra:0X00000000
+event:0X8F5 mmcr0:0X00000000 mmcr1:0X0030000020102020 mmcra:0X00000000
+
+#Group 144 pm_fpuX5, Floating point events
+event:0X900 mmcr0:0X00000000 mmcr1:0X0000000C2020868E mmcra:0X00000000
+event:0X901 mmcr0:0X00000000 mmcr1:0X0000000C2020868E mmcra:0X00000000
+event:0X902 mmcr0:0X00000000 mmcr1:0X0000000C2020868E mmcra:0X00000000
+event:0X903 mmcr0:0X00000000 mmcr1:0X0000000C2020868E mmcra:0X00000000
+event:0X904 mmcr0:0X00000000 mmcr1:0X0000000C2020868E mmcra:0X00000000
+event:0X905 mmcr0:0X00000000 mmcr1:0X0000000C2020868E mmcra:0X00000000
+
+#Group 145 pm_fpuX6, Floating point events
+event:0X910 mmcr0:0X00000000 mmcr1:0X0000000010202010 mmcra:0X00000000
+event:0X911 mmcr0:0X00000000 mmcr1:0X0000000010202010 mmcra:0X00000000
+event:0X912 mmcr0:0X00000000 mmcr1:0X0000000010202010 mmcra:0X00000000
+event:0X913 mmcr0:0X00000000 mmcr1:0X0000000010202010 mmcra:0X00000000
+event:0X914 mmcr0:0X00000000 mmcr1:0X0000000010202010 mmcra:0X00000000
+event:0X915 mmcr0:0X00000000 mmcr1:0X0000000010202010 mmcra:0X00000000
+
+#Group 146 pm_fpuX7, Floating point events
+event:0X920 mmcr0:0X00000000 mmcr1:0X0000000220105010 mmcra:0X00000000
+event:0X921 mmcr0:0X00000000 mmcr1:0X0000000220105010 mmcra:0X00000000
+event:0X922 mmcr0:0X00000000 mmcr1:0X0000000220105010 mmcra:0X00000000
+event:0X923 mmcr0:0X00000000 mmcr1:0X0000000220105010 mmcra:0X00000000
+event:0X924 mmcr0:0X00000000 mmcr1:0X0000000220105010 mmcra:0X00000000
+event:0X925 mmcr0:0X00000000 mmcr1:0X0000000220105010 mmcra:0X00000000
+
+#Group 147 pm_hpmcount1, HPM group for set 1
+event:0X930 mmcr0:0X00000000 mmcr1:0X000000001E281E10 mmcra:0X00000000
+event:0X931 mmcr0:0X00000000 mmcr1:0X000000001E281E10 mmcra:0X00000000
+event:0X932 mmcr0:0X00000000 mmcr1:0X000000001E281E10 mmcra:0X00000000
+event:0X933 mmcr0:0X00000000 mmcr1:0X000000001E281E10 mmcra:0X00000000
+event:0X934 mmcr0:0X00000000 mmcr1:0X000000001E281E10 mmcra:0X00000000
+event:0X935 mmcr0:0X00000000 mmcr1:0X000000001E281E10 mmcra:0X00000000
+
+#Group 148 pm_hpmcount2, HPM group for set 2
+event:0X940 mmcr0:0X00000000 mmcr1:0X043000041E201220 mmcra:0X00000000
+event:0X941 mmcr0:0X00000000 mmcr1:0X043000041E201220 mmcra:0X00000000
+event:0X942 mmcr0:0X00000000 mmcr1:0X043000041E201220 mmcra:0X00000000
+event:0X943 mmcr0:0X00000000 mmcr1:0X043000041E201220 mmcra:0X00000000
+event:0X944 mmcr0:0X00000000 mmcr1:0X043000041E201220 mmcra:0X00000000
+event:0X945 mmcr0:0X00000000 mmcr1:0X043000041E201220 mmcra:0X00000000
+
+#Group 149 pm_hpmcount3, HPM group for set 3
+event:0X950 mmcr0:0X00000000 mmcr1:0X403000041EC01086 mmcra:0X00000000
+event:0X951 mmcr0:0X00000000 mmcr1:0X403000041EC01086 mmcra:0X00000000
+event:0X952 mmcr0:0X00000000 mmcr1:0X403000041EC01086 mmcra:0X00000000
+event:0X953 mmcr0:0X00000000 mmcr1:0X403000041EC01086 mmcra:0X00000000
+event:0X954 mmcr0:0X00000000 mmcr1:0X403000041EC01086 mmcra:0X00000000
+event:0X955 mmcr0:0X00000000 mmcr1:0X403000041EC01086 mmcra:0X00000000
+
+#Group 150 pm_hpmcount4, HPM group for set 7
+event:0X960 mmcr0:0X00000000 mmcr1:0X00B00000101E2020 mmcra:0X00000000
+event:0X961 mmcr0:0X00000000 mmcr1:0X00B00000101E2020 mmcra:0X00000000
+event:0X962 mmcr0:0X00000000 mmcr1:0X00B00000101E2020 mmcra:0X00000000
+event:0X963 mmcr0:0X00000000 mmcr1:0X00B00000101E2020 mmcra:0X00000000
+event:0X964 mmcr0:0X00000000 mmcr1:0X00B00000101E2020 mmcra:0X00000000
+event:0X965 mmcr0:0X00000000 mmcr1:0X00B00000101E2020 mmcra:0X00000000
+
+#Group 151 pm_flop, Floating point operations
+event:0X970 mmcr0:0X00000000 mmcr1:0X0000000010105050 mmcra:0X00000000
+event:0X971 mmcr0:0X00000000 mmcr1:0X0000000010105050 mmcra:0X00000000
+event:0X972 mmcr0:0X00000000 mmcr1:0X0000000010105050 mmcra:0X00000000
+event:0X973 mmcr0:0X00000000 mmcr1:0X0000000010105050 mmcra:0X00000000
+event:0X974 mmcr0:0X00000000 mmcr1:0X0000000010105050 mmcra:0X00000000
+event:0X975 mmcr0:0X00000000 mmcr1:0X0000000010105050 mmcra:0X00000000
+
+#Group 152 pm_eprof1, Group for use with eprof
+event:0X980 mmcr0:0X00000000 mmcr1:0X00300000121E108E mmcra:0X00000000
+event:0X981 mmcr0:0X00000000 mmcr1:0X00300000121E108E mmcra:0X00000000
+event:0X982 mmcr0:0X00000000 mmcr1:0X00300000121E108E mmcra:0X00000000
+event:0X983 mmcr0:0X00000000 mmcr1:0X00300000121E108E mmcra:0X00000000
+event:0X984 mmcr0:0X00000000 mmcr1:0X00300000121E108E mmcra:0X00000000
+event:0X985 mmcr0:0X00000000 mmcr1:0X00300000121E108E mmcra:0X00000000
+
+#Group 153 pm_eprof2, Group for use with eprof
+event:0X990 mmcr0:0X00000000 mmcr1:0X0030000012501220 mmcra:0X00000000
+event:0X991 mmcr0:0X00000000 mmcr1:0X0030000012501220 mmcra:0X00000000
+event:0X992 mmcr0:0X00000000 mmcr1:0X0030000012501220 mmcra:0X00000000
+event:0X993 mmcr0:0X00000000 mmcr1:0X0030000012501220 mmcra:0X00000000
+event:0X994 mmcr0:0X00000000 mmcr1:0X0030000012501220 mmcra:0X00000000
+event:0X995 mmcr0:0X00000000 mmcr1:0X0030000012501220 mmcra:0X00000000
diff --git a/events/ppc64/power5+/events b/events/ppc64/power5+/events
new file mode 100644
index 0000000..0624c39
--- /dev/null
+++ b/events/ppc64/power5+/events
@@ -0,0 +1,1242 @@
+#PPC64 Power5+ events
+#
+# Within each group the event names must be unique. Each event in a group is
+# assigned to a unique counter. The groups are from the groups defined in the
+# Performance Monitor Unit user guide for this processor.
+#
+# Only events within the same group can be selected simultaneously.
+# Each event is given a unique event number. The event number is used by the
+# OProfile code to resolve event names for the post-processing. This is done
+# to preserve compatibility with the rest of the OProfile code. The event
+# numbers are formatted as follows: <group_num>concat(<counter for the event>).
+
+#Group Default
+event:0X001 counters:3 um:zero minimum:10000 name:CYCLES : Processor Cycles using continuous sampling
+
+#Group 0 with random sampling
+event:0X002 counters:2 um:zero minimum:10000 name:CYCLES_RND_SMPL : Processor Cycles with random sampling
+
+
+#Group 1 pm_utilization, CPI and utilization data
+event:0X010 counters:0 um:zero minimum:10000 name:PM_RUN_CYC_GRP1 : (Group 1 pm_utilization) Run cycles
+event:0X011 counters:1 um:zero minimum:10000 name:PM_INST_CMPL_GRP1 : (Group 1 pm_utilization) Instructions completed
+event:0X012 counters:2 um:zero minimum:1000 name:PM_INST_DISP_GRP1 : (Group 1 pm_utilization) Instructions dispatched
+event:0X013 counters:3 um:zero minimum:10000 name:PM_CYC_GRP1 : (Group 1 pm_utilization) Processor cycles
+event:0X014 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP1 : (Group 1 pm_utilization) Run instructions completed
+event:0X015 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP1 : (Group 1 pm_utilization) Run cycles
+
+#Group 2 pm_completion, Completion and cycle counts
+event:0X020 counters:0 um:zero minimum:1000 name:PM_1PLUS_PPC_CMPL_GRP2 : (Group 2 pm_completion) One or more PPC instruction completed
+event:0X021 counters:1 um:zero minimum:1000 name:PM_GCT_EMPTY_CYC_GRP2 : (Group 2 pm_completion) Cycles GCT empty
+event:0X022 counters:2 um:zero minimum:1000 name:PM_GRP_CMPL_GRP2 : (Group 2 pm_completion) Group completed
+event:0X023 counters:3 um:zero minimum:10000 name:PM_CYC_GRP2 : (Group 2 pm_completion) Processor cycles
+event:0X024 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP2 : (Group 2 pm_completion) Run instructions completed
+event:0X025 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP2 : (Group 2 pm_completion) Run cycles
+
+#Group 3 pm_group_dispatch, Group dispatch events
+event:0X030 counters:0 um:zero minimum:1000 name:PM_GRP_DISP_VALID_GRP3 : (Group 3 pm_group_dispatch) Group dispatch valid
+event:0X031 counters:1 um:zero minimum:1000 name:PM_GRP_DISP_REJECT_GRP3 : (Group 3 pm_group_dispatch) Group dispatch rejected
+event:0X032 counters:2 um:zero minimum:1000 name:PM_GRP_DISP_BLK_SB_CYC_GRP3 : (Group 3 pm_group_dispatch) Cycles group dispatch blocked by scoreboard
+event:0X033 counters:3 um:zero minimum:1000 name:PM_INST_DISP_GRP3 : (Group 3 pm_group_dispatch) Instructions dispatched
+event:0X034 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP3 : (Group 3 pm_group_dispatch) Run instructions completed
+event:0X035 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP3 : (Group 3 pm_group_dispatch) Run cycles
+
+#Group 4 pm_clb1, CLB fullness
+event:0X040 counters:0 um:zero minimum:1000 name:PM_0INST_CLB_CYC_GRP4 : (Group 4 pm_clb1) Cycles no instructions in CLB
+event:0X041 counters:1 um:zero minimum:1000 name:PM_2INST_CLB_CYC_GRP4 : (Group 4 pm_clb1) Cycles 2 instructions in CLB
+event:0X042 counters:2 um:zero minimum:1000 name:PM_CLB_EMPTY_CYC_GRP4 : (Group 4 pm_clb1) Cycles CLB empty
+event:0X043 counters:3 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L35_MOD_CYC_GRP4 : (Group 4 pm_clb1) Marked load latency from L3.5 modified
+event:0X044 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP4 : (Group 4 pm_clb1) Run instructions completed
+event:0X045 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP4 : (Group 4 pm_clb1) Run cycles
+
+#Group 5 pm_clb2, CLB fullness
+event:0X050 counters:0 um:zero minimum:1000 name:PM_5INST_CLB_CYC_GRP5 : (Group 5 pm_clb2) Cycles 5 instructions in CLB
+event:0X051 counters:1 um:zero minimum:1000 name:PM_6INST_CLB_CYC_GRP5 : (Group 5 pm_clb2) Cycles 6 instructions in CLB
+event:0X052 counters:2 um:zero minimum:1000 name:PM_MRK_LSU_SRQ_INST_VALID_GRP5 : (Group 5 pm_clb2) Marked instruction valid in SRQ
+event:0X053 counters:3 um:zero minimum:1000 name:PM_IOPS_CMPL_GRP5 : (Group 5 pm_clb2) IOPS instructions completed
+event:0X054 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP5 : (Group 5 pm_clb2) Run instructions completed
+event:0X055 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP5 : (Group 5 pm_clb2) Run cycles
+
+#Group 6 pm_gct_empty, GCT empty reasons
+event:0X060 counters:0 um:zero minimum:1000 name:PM_GCT_NOSLOT_CYC_GRP6 : (Group 6 pm_gct_empty) Cycles no GCT slot allocated
+event:0X061 counters:1 um:zero minimum:1000 name:PM_GCT_NOSLOT_IC_MISS_GRP6 : (Group 6 pm_gct_empty) No slot in GCT caused by I cache miss
+event:0X062 counters:2 um:zero minimum:1000 name:PM_GCT_NOSLOT_SRQ_FULL_GRP6 : (Group 6 pm_gct_empty) No slot in GCT caused by SRQ full
+event:0X063 counters:3 um:zero minimum:1000 name:PM_GCT_NOSLOT_BR_MPRED_GRP6 : (Group 6 pm_gct_empty) No slot in GCT caused by branch mispredict
+event:0X064 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP6 : (Group 6 pm_gct_empty) Run instructions completed
+event:0X065 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP6 : (Group 6 pm_gct_empty) Run cycles
+
+#Group 7 pm_gct_usage, GCT Usage
+event:0X070 counters:0 um:zero minimum:1000 name:PM_GCT_USAGE_00to59_CYC_GRP7 : (Group 7 pm_gct_usage) Cycles GCT less than 60% full
+event:0X071 counters:1 um:zero minimum:1000 name:PM_GCT_USAGE_60to79_CYC_GRP7 : (Group 7 pm_gct_usage) Cycles GCT 60-79% full
+event:0X072 counters:2 um:zero minimum:1000 name:PM_GCT_USAGE_80to99_CYC_GRP7 : (Group 7 pm_gct_usage) Cycles GCT 80-99% full
+event:0X073 counters:3 um:zero minimum:1000 name:PM_GCT_FULL_CYC_GRP7 : (Group 7 pm_gct_usage) Cycles GCT full
+event:0X074 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP7 : (Group 7 pm_gct_usage) Run instructions completed
+event:0X075 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP7 : (Group 7 pm_gct_usage) Run cycles
+
+#Group 8 pm_lsu1, LSU LRQ and LMQ events
+event:0X080 counters:0 um:zero minimum:1000 name:PM_LSU_LRQ_S0_ALLOC_GRP8 : (Group 8 pm_lsu1) LRQ slot 0 allocated
+event:0X081 counters:1 um:zero minimum:1000 name:PM_LSU_LRQ_S0_VALID_GRP8 : (Group 8 pm_lsu1) LRQ slot 0 valid
+event:0X082 counters:2 um:zero minimum:1000 name:PM_LSU_LMQ_S0_ALLOC_GRP8 : (Group 8 pm_lsu1) LMQ slot 0 allocated
+event:0X083 counters:3 um:zero minimum:1000 name:PM_LSU_LMQ_S0_VALID_GRP8 : (Group 8 pm_lsu1) LMQ slot 0 valid
+event:0X084 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP8 : (Group 8 pm_lsu1) Run instructions completed
+event:0X085 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP8 : (Group 8 pm_lsu1) Run cycles
+
+#Group 9 pm_lsu2, LSU SRQ events
+event:0X090 counters:0 um:zero minimum:1000 name:PM_LSU_SRQ_S0_ALLOC_GRP9 : (Group 9 pm_lsu2) SRQ slot 0 allocated
+event:0X091 counters:1 um:zero minimum:1000 name:PM_LSU_SRQ_S0_VALID_GRP9 : (Group 9 pm_lsu2) SRQ slot 0 valid
+event:0X092 counters:2 um:zero minimum:1000 name:PM_LSU_SRQ_SYNC_CYC_GRP9 : (Group 9 pm_lsu2) SRQ sync duration
+event:0X093 counters:3 um:zero minimum:1000 name:PM_LSU_SRQ_FULL_CYC_GRP9 : (Group 9 pm_lsu2) Cycles SRQ full
+event:0X094 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP9 : (Group 9 pm_lsu2) Run instructions completed
+event:0X095 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP9 : (Group 9 pm_lsu2) Run cycles
+
+#Group 10 pm_lsu3, LSU SRQ and LMQ events
+event:0X0A0 counters:0 um:zero minimum:1000 name:PM_LSU_LMQ_LHR_MERGE_GRP10 : (Group 10 pm_lsu3) LMQ LHR merges
+event:0X0A1 counters:1 um:zero minimum:1000 name:PM_LSU_SRQ_STFWD_GRP10 : (Group 10 pm_lsu3) SRQ store forwarded
+event:0X0A2 counters:2 um:zero minimum:1000 name:PM_LSU_LMQ_SRQ_EMPTY_CYC_GRP10 : (Group 10 pm_lsu3) Cycles LMQ and SRQ empty
+event:0X0A3 counters:3 um:zero minimum:1000 name:PM_LSU_SRQ_EMPTY_CYC_GRP10 : (Group 10 pm_lsu3) Cycles SRQ empty
+event:0X0A4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP10 : (Group 10 pm_lsu3) Run instructions completed
+event:0X0A5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP10 : (Group 10 pm_lsu3) Run cycles
+
+#Group 11 pm_lsu4, LSU SRQ and LMQ events
+event:0X0B0 counters:0 um:zero minimum:1000 name:PM_LSU_LMQ_FULL_CYC_GRP11 : (Group 11 pm_lsu4) Cycles LMQ full
+event:0X0B1 counters:1 um:zero minimum:1000 name:PM_LSU_SRQ_FULL_CYC_GRP11 : (Group 11 pm_lsu4) Cycles SRQ full
+event:0X0B2 counters:2 um:zero minimum:1000 name:PM_LSU_LMQ_SRQ_EMPTY_CYC_GRP11 : (Group 11 pm_lsu4) Cycles LMQ and SRQ empty
+event:0X0B3 counters:3 um:zero minimum:1000 name:PM_LSU_SRQ_EMPTY_CYC_GRP11 : (Group 11 pm_lsu4) Cycles SRQ empty
+event:0X0B4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP11 : (Group 11 pm_lsu4) Run instructions completed
+event:0X0B5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP11 : (Group 11 pm_lsu4) Run cycles
+
+#Group 12 pm_prefetch1, Prefetch stream allocation
+event:0X0C0 counters:0 um:zero minimum:1000 name:PM_INST_FROM_L2MISS_GRP12 : (Group 12 pm_prefetch1) Instructions fetched missed L2
+event:0X0C1 counters:1 um:zero minimum:1000 name:PM_INST_FETCH_CYC_GRP12 : (Group 12 pm_prefetch1) Cycles at least 1 instruction fetched
+event:0X0C2 counters:2 um:zero minimum:1000 name:PM_DC_OUT_OF_STREAMS_GRP12 : (Group 12 pm_prefetch1) LSU Data prefetch out of streams
+event:0X0C3 counters:3 um:zero minimum:1000 name:PM_DC_PREF_STREAM_ALLOC_GRP12 : (Group 12 pm_prefetch1) D cache new prefetch stream allocated
+event:0X0C4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP12 : (Group 12 pm_prefetch1) Run instructions completed
+event:0X0C5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP12 : (Group 12 pm_prefetch1) Run cycles
+
+#Group 13 pm_prefetch2, Prefetch events
+event:0X0D0 counters:0 um:zero minimum:1000 name:PM_IOPS_CMPL_GRP13 : (Group 13 pm_prefetch2) IOPS instructions completed
+event:0X0D1 counters:1 um:zero minimum:1000 name:PM_CLB_FULL_CYC_GRP13 : (Group 13 pm_prefetch2) Cycles CLB full
+event:0X0D2 counters:2 um:zero minimum:1000 name:PM_L1_PREF_GRP13 : (Group 13 pm_prefetch2) L1 cache data prefetches
+event:0X0D3 counters:3 um:zero minimum:1000 name:PM_IC_PREF_INSTALL_GRP13 : (Group 13 pm_prefetch2) Instruction prefetched installed in prefetch
+event:0X0D4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP13 : (Group 13 pm_prefetch2) Run instructions completed
+event:0X0D5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP13 : (Group 13 pm_prefetch2) Run cycles
+
+#Group 14 pm_prefetch3, L2 prefetch and misc events
+event:0X0E0 counters:0 um:zero minimum:1000 name:PM_1INST_CLB_CYC_GRP14 : (Group 14 pm_prefetch3) Cycles 1 instruction in CLB
+event:0X0E1 counters:1 um:zero minimum:1000 name:PM_LSU_BUSY_REJECT_GRP14 : (Group 14 pm_prefetch3) LSU busy due to reject
+event:0X0E2 counters:2 um:zero minimum:1000 name:PM_L2_PREF_GRP14 : (Group 14 pm_prefetch3) L2 cache prefetches
+event:0X0E3 counters:3 um:zero minimum:1000 name:PM_IOPS_CMPL_GRP14 : (Group 14 pm_prefetch3) IOPS instructions completed
+event:0X0E4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP14 : (Group 14 pm_prefetch3) Run instructions completed
+event:0X0E5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP14 : (Group 14 pm_prefetch3) Run cycles
+
+#Group 15 pm_prefetch4, Misc prefetch and reject events
+event:0X0F0 counters:0 um:zero minimum:1000 name:PM_LSU0_REJECT_SRQ_LHS_GRP15 : (Group 15 pm_prefetch4) LSU0 SRQ rejects
+event:0X0F1 counters:1 um:zero minimum:1000 name:PM_LSU1_REJECT_SRQ_LHS_GRP15 : (Group 15 pm_prefetch4) LSU1 SRQ rejects
+event:0X0F2 counters:2 um:zero minimum:1000 name:PM_DC_PREF_DST_GRP15 : (Group 15 pm_prefetch4) DST (Data Stream Touch) stream start
+event:0X0F3 counters:3 um:zero minimum:1000 name:PM_L2_PREF_GRP15 : (Group 15 pm_prefetch4) L2 cache prefetches
+event:0X0F4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP15 : (Group 15 pm_prefetch4) Run instructions completed
+event:0X0F5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP15 : (Group 15 pm_prefetch4) Run cycles
+
+#Group 16 pm_lsu_reject1, LSU reject events
+event:0X100 counters:0 um:zero minimum:1000 name:PM_LSU_REJECT_ERAT_MISS_GRP16 : (Group 16 pm_lsu_reject1) LSU reject due to ERAT miss
+event:0X101 counters:1 um:zero minimum:1000 name:PM_LSU_REJECT_LMQ_FULL_GRP16 : (Group 16 pm_lsu_reject1) LSU reject due to LMQ full or missed data coming
+event:0X102 counters:2 um:zero minimum:1000 name:PM_FLUSH_IMBAL_GRP16 : (Group 16 pm_lsu_reject1) Flush caused by thread GCT imbalance
+event:0X103 counters:3 um:zero minimum:1000 name:PM_MRK_LSU_FLUSH_SRQ_GRP16 : (Group 16 pm_lsu_reject1) Marked SRQ flushes
+event:0X104 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP16 : (Group 16 pm_lsu_reject1) Run instructions completed
+event:0X105 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP16 : (Group 16 pm_lsu_reject1) Run cycles
+
+#Group 17 pm_lsu_reject2, LSU rejects due to reload CDF or tag update collision
+event:0X110 counters:0 um:zero minimum:1000 name:PM_LSU0_REJECT_RELOAD_CDF_GRP17 : (Group 17 pm_lsu_reject2) LSU0 reject due to reload CDF or tag update collision
+event:0X111 counters:1 um:zero minimum:1000 name:PM_LSU1_REJECT_RELOAD_CDF_GRP17 : (Group 17 pm_lsu_reject2) LSU1 reject due to reload CDF or tag update collision
+event:0X112 counters:2 um:zero minimum:1000 name:PM_IOPS_CMPL_GRP17 : (Group 17 pm_lsu_reject2) IOPS instructions completed
+event:0X113 counters:3 um:zero minimum:1000 name:PM_L1_WRITE_CYC_GRP17 : (Group 17 pm_lsu_reject2) Cycles writing to instruction L1
+event:0X114 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP17 : (Group 17 pm_lsu_reject2) Run instructions completed
+event:0X115 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP17 : (Group 17 pm_lsu_reject2) Run cycles
+
+#Group 18 pm_lsu_reject3, LSU rejects due to ERAT, held instuctions
+event:0X120 counters:0 um:zero minimum:1000 name:PM_LSU0_REJECT_ERAT_MISS_GRP18 : (Group 18 pm_lsu_reject3) LSU0 reject due to ERAT miss
+event:0X121 counters:1 um:zero minimum:1000 name:PM_LSU1_REJECT_ERAT_MISS_GRP18 : (Group 18 pm_lsu_reject3) LSU1 reject due to ERAT miss
+event:0X122 counters:2 um:zero minimum:1000 name:PM_LWSYNC_HELD_GRP18 : (Group 18 pm_lsu_reject3) LWSYNC held at dispatch
+event:0X123 counters:3 um:zero minimum:1000 name:PM_TLBIE_HELD_GRP18 : (Group 18 pm_lsu_reject3) TLBIE held at dispatch
+event:0X124 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP18 : (Group 18 pm_lsu_reject3) Run instructions completed
+event:0X125 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP18 : (Group 18 pm_lsu_reject3) Run cycles
+
+#Group 19 pm_lsu_reject4, LSU0/1 reject LMQ full
+event:0X130 counters:0 um:zero minimum:1000 name:PM_LSU0_REJECT_LMQ_FULL_GRP19 : (Group 19 pm_lsu_reject4) LSU0 reject due to LMQ full or missed data coming
+event:0X131 counters:1 um:zero minimum:1000 name:PM_LSU1_REJECT_LMQ_FULL_GRP19 : (Group 19 pm_lsu_reject4) LSU1 reject due to LMQ full or missed data coming
+event:0X132 counters:2 um:zero minimum:1000 name:PM_IOPS_CMPL_GRP19 : (Group 19 pm_lsu_reject4) IOPS instructions completed
+event:0X133 counters:3 um:zero minimum:1000 name:PM_BR_ISSUED_GRP19 : (Group 19 pm_lsu_reject4) Branches issued
+event:0X134 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP19 : (Group 19 pm_lsu_reject4) Run instructions completed
+event:0X135 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP19 : (Group 19 pm_lsu_reject4) Run cycles
+
+#Group 20 pm_lsu_reject5, LSU misc reject and flush events
+event:0X140 counters:0 um:zero minimum:1000 name:PM_LSU_REJECT_SRQ_LHS_GRP20 : (Group 20 pm_lsu_reject5) LSU SRQ rejects
+event:0X141 counters:1 um:zero minimum:1000 name:PM_LSU_REJECT_RELOAD_CDF_GRP20 : (Group 20 pm_lsu_reject5) LSU reject due to reload CDF or tag update collision
+event:0X142 counters:2 um:zero minimum:1000 name:PM_LSU_FLUSH_GRP20 : (Group 20 pm_lsu_reject5) Flush initiated by LSU
+event:0X143 counters:3 um:zero minimum:1000 name:PM_FLUSH_GRP20 : (Group 20 pm_lsu_reject5) Flushes
+event:0X144 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP20 : (Group 20 pm_lsu_reject5) Run instructions completed
+event:0X145 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP20 : (Group 20 pm_lsu_reject5) Run cycles
+
+#Group 21 pm_flush1, Misc flush events
+event:0X150 counters:0 um:zero minimum:1000 name:PM_IOPS_CMPL_GRP21 : (Group 21 pm_flush1) IOPS instructions completed
+event:0X151 counters:1 um:zero minimum:1000 name:PM_LSU_FLUSH_UST_GRP21 : (Group 21 pm_flush1) SRQ unaligned store flushes
+event:0X152 counters:2 um:zero minimum:1000 name:PM_FLUSH_IMBAL_GRP21 : (Group 21 pm_flush1) Flush caused by thread GCT imbalance
+event:0X153 counters:3 um:zero minimum:1000 name:PM_DC_INV_L2_GRP21 : (Group 21 pm_flush1) L1 D cache entries invalidated from L2
+event:0X154 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP21 : (Group 21 pm_flush1) Run instructions completed
+event:0X155 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP21 : (Group 21 pm_flush1) Run cycles
+
+#Group 22 pm_flush2, Flushes due to scoreboard and sync
+event:0X160 counters:0 um:zero minimum:1000 name:PM_ITLB_MISS_GRP22 : (Group 22 pm_flush2) Instruction TLB misses
+event:0X161 counters:1 um:zero minimum:1000 name:PM_IOPS_CMPL_GRP22 : (Group 22 pm_flush2) IOPS instructions completed
+event:0X162 counters:2 um:zero minimum:1000 name:PM_FLUSH_SB_GRP22 : (Group 22 pm_flush2) Flush caused by scoreboard operation
+event:0X163 counters:3 um:zero minimum:1000 name:PM_FLUSH_SYNC_GRP22 : (Group 22 pm_flush2) Flush caused by sync
+event:0X164 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP22 : (Group 22 pm_flush2) Run instructions completed
+event:0X165 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP22 : (Group 22 pm_flush2) Run cycles
+
+#Group 23 pm_lsu_flush_srq_lrq, LSU flush by SRQ and LRQ events
+event:0X170 counters:0 um:zero minimum:1000 name:PM_LSU_FLUSH_SRQ_GRP23 : (Group 23 pm_lsu_flush_srq_lrq) SRQ flushes
+event:0X171 counters:1 um:zero minimum:1000 name:PM_LSU_FLUSH_LRQ_GRP23 : (Group 23 pm_lsu_flush_srq_lrq) LRQ flushes
+event:0X172 counters:2 um:zero minimum:1000 name:PM_IOPS_CMPL_GRP23 : (Group 23 pm_lsu_flush_srq_lrq) IOPS instructions completed
+event:0X173 counters:3 um:zero minimum:1000 name:PM_LSU_FLUSH_GRP23 : (Group 23 pm_lsu_flush_srq_lrq) Flush initiated by LSU
+event:0X174 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP23 : (Group 23 pm_lsu_flush_srq_lrq) Run instructions completed
+event:0X175 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP23 : (Group 23 pm_lsu_flush_srq_lrq) Run cycles
+
+#Group 24 pm_lsu_flush_lrq, LSU0/1 flush due to LRQ
+event:0X180 counters:0 um:zero minimum:1000 name:PM_LSU0_FLUSH_LRQ_GRP24 : (Group 24 pm_lsu_flush_lrq) LSU0 LRQ flushes
+event:0X181 counters:1 um:zero minimum:1000 name:PM_LSU1_FLUSH_LRQ_GRP24 : (Group 24 pm_lsu_flush_lrq) LSU1 LRQ flushes
+event:0X182 counters:2 um:zero minimum:1000 name:PM_LSU_FLUSH_GRP24 : (Group 24 pm_lsu_flush_lrq) Flush initiated by LSU
+event:0X183 counters:3 um:zero minimum:1000 name:PM_IOPS_CMPL_GRP24 : (Group 24 pm_lsu_flush_lrq) IOPS instructions completed
+event:0X184 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP24 : (Group 24 pm_lsu_flush_lrq) Run instructions completed
+event:0X185 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP24 : (Group 24 pm_lsu_flush_lrq) Run cycles
+
+#Group 25 pm_lsu_flush_srq, LSU0/1 flush due to SRQ
+event:0X190 counters:0 um:zero minimum:1000 name:PM_LSU0_FLUSH_SRQ_GRP25 : (Group 25 pm_lsu_flush_srq) LSU0 SRQ flushes
+event:0X191 counters:1 um:zero minimum:1000 name:PM_LSU1_FLUSH_SRQ_GRP25 : (Group 25 pm_lsu_flush_srq) LSU1 SRQ flushes
+event:0X192 counters:2 um:zero minimum:1000 name:PM_IOPS_CMPL_GRP25 : (Group 25 pm_lsu_flush_srq) IOPS instructions completed
+event:0X193 counters:3 um:zero minimum:1000 name:PM_LSU_FLUSH_GRP25 : (Group 25 pm_lsu_flush_srq) Flush initiated by LSU
+event:0X194 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP25 : (Group 25 pm_lsu_flush_srq) Run instructions completed
+event:0X195 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP25 : (Group 25 pm_lsu_flush_srq) Run cycles
+
+#Group 26 pm_lsu_flush_unaligned, LSU flush due to unaligned data
+event:0X1A0 counters:0 um:zero minimum:1000 name:PM_LSU_FLUSH_ULD_GRP26 : (Group 26 pm_lsu_flush_unaligned) LRQ unaligned load flushes
+event:0X1A1 counters:1 um:zero minimum:1000 name:PM_LSU_FLUSH_UST_GRP26 : (Group 26 pm_lsu_flush_unaligned) SRQ unaligned store flushes
+event:0X1A2 counters:2 um:zero minimum:1000 name:PM_BR_ISSUED_GRP26 : (Group 26 pm_lsu_flush_unaligned) Branches issued
+event:0X1A3 counters:3 um:zero minimum:1000 name:PM_IOPS_CMPL_GRP26 : (Group 26 pm_lsu_flush_unaligned) IOPS instructions completed
+event:0X1A4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP26 : (Group 26 pm_lsu_flush_unaligned) Run instructions completed
+event:0X1A5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP26 : (Group 26 pm_lsu_flush_unaligned) Run cycles
+
+#Group 27 pm_lsu_flush_uld, LSU0/1 flush due to unaligned load
+event:0X1B0 counters:0 um:zero minimum:1000 name:PM_LSU0_FLUSH_ULD_GRP27 : (Group 27 pm_lsu_flush_uld) LSU0 unaligned load flushes
+event:0X1B1 counters:1 um:zero minimum:1000 name:PM_LSU1_FLUSH_ULD_GRP27 : (Group 27 pm_lsu_flush_uld) LSU1 unaligned load flushes
+event:0X1B2 counters:2 um:zero minimum:1000 name:PM_LSU_FLUSH_GRP27 : (Group 27 pm_lsu_flush_uld) Flush initiated by LSU
+event:0X1B3 counters:3 um:zero minimum:1000 name:PM_IOPS_CMPL_GRP27 : (Group 27 pm_lsu_flush_uld) IOPS instructions completed
+event:0X1B4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP27 : (Group 27 pm_lsu_flush_uld) Run instructions completed
+event:0X1B5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP27 : (Group 27 pm_lsu_flush_uld) Run cycles
+
+#Group 28 pm_lsu_flush_ust, LSU0/1 flush due to unaligned store
+event:0X1C0 counters:0 um:zero minimum:1000 name:PM_LSU0_FLUSH_UST_GRP28 : (Group 28 pm_lsu_flush_ust) LSU0 unaligned store flushes
+event:0X1C1 counters:1 um:zero minimum:1000 name:PM_LSU1_FLUSH_UST_GRP28 : (Group 28 pm_lsu_flush_ust) LSU1 unaligned store flushes
+event:0X1C2 counters:2 um:zero minimum:1000 name:PM_IOPS_CMPL_GRP28 : (Group 28 pm_lsu_flush_ust) IOPS instructions completed
+event:0X1C3 counters:3 um:zero minimum:1000 name:PM_LSU_FLUSH_GRP28 : (Group 28 pm_lsu_flush_ust) Flush initiated by LSU
+event:0X1C4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP28 : (Group 28 pm_lsu_flush_ust) Run instructions completed
+event:0X1C5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP28 : (Group 28 pm_lsu_flush_ust) Run cycles
+
+#Group 29 pm_lsu_flush_full, LSU flush due to LRQ/SRQ full
+event:0X1D0 counters:0 um:zero minimum:1000 name:PM_LSU_FLUSH_LRQ_FULL_GRP29 : (Group 29 pm_lsu_flush_full) Flush caused by LRQ full
+event:0X1D1 counters:1 um:zero minimum:1000 name:PM_IOPS_CMPL_GRP29 : (Group 29 pm_lsu_flush_full) IOPS instructions completed
+event:0X1D2 counters:2 um:zero minimum:1000 name:PM_MRK_LSU_FLUSH_LRQ_GRP29 : (Group 29 pm_lsu_flush_full) Marked LRQ flushes
+event:0X1D3 counters:3 um:zero minimum:1000 name:PM_LSU_FLUSH_SRQ_FULL_GRP29 : (Group 29 pm_lsu_flush_full) Flush caused by SRQ full
+event:0X1D4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP29 : (Group 29 pm_lsu_flush_full) Run instructions completed
+event:0X1D5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP29 : (Group 29 pm_lsu_flush_full) Run cycles
+
+#Group 30 pm_lsu_stall1, LSU Stalls
+event:0X1E0 counters:0 um:zero minimum:1000 name:PM_GRP_MRK_GRP30 : (Group 30 pm_lsu_stall1) Group marked in IDU
+event:0X1E1 counters:1 um:zero minimum:1000 name:PM_CMPLU_STALL_LSU_GRP30 : (Group 30 pm_lsu_stall1) Completion stall caused by LSU instruction
+event:0X1E2 counters:2 um:zero minimum:1000 name:PM_IOPS_CMPL_GRP30 : (Group 30 pm_lsu_stall1) IOPS instructions completed
+event:0X1E3 counters:3 um:zero minimum:1000 name:PM_CMPLU_STALL_REJECT_GRP30 : (Group 30 pm_lsu_stall1) Completion stall caused by reject
+event:0X1E4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP30 : (Group 30 pm_lsu_stall1) Run instructions completed
+event:0X1E5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP30 : (Group 30 pm_lsu_stall1) Run cycles
+
+#Group 31 pm_lsu_stall2, LSU Stalls
+event:0X1F0 counters:0 um:zero minimum:1000 name:PM_IOPS_CMPL_GRP31 : (Group 31 pm_lsu_stall2) IOPS instructions completed
+event:0X1F1 counters:1 um:zero minimum:1000 name:PM_CMPLU_STALL_DCACHE_MISS_GRP31 : (Group 31 pm_lsu_stall2) Completion stall caused by D cache miss
+event:0X1F2 counters:2 um:zero minimum:10000 name:PM_CYC_GRP31 : (Group 31 pm_lsu_stall2) Processor cycles
+event:0X1F3 counters:3 um:zero minimum:1000 name:PM_CMPLU_STALL_ERAT_MISS_GRP31 : (Group 31 pm_lsu_stall2) Completion stall caused by ERAT miss
+event:0X1F4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP31 : (Group 31 pm_lsu_stall2) Run instructions completed
+event:0X1F5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP31 : (Group 31 pm_lsu_stall2) Run cycles
+
+#Group 32 pm_fxu_stall, FXU Stalls
+event:0X200 counters:0 um:zero minimum:1000 name:PM_GRP_IC_MISS_BR_REDIR_NONSPEC_GRP32 : (Group 32 pm_fxu_stall) Group experienced non-speculative I cache miss or branch redirect
+event:0X201 counters:1 um:zero minimum:1000 name:PM_CMPLU_STALL_FXU_GRP32 : (Group 32 pm_fxu_stall) Completion stall caused by FXU instruction
+event:0X202 counters:2 um:zero minimum:1000 name:PM_IOPS_CMPL_GRP32 : (Group 32 pm_fxu_stall) IOPS instructions completed
+event:0X203 counters:3 um:zero minimum:1000 name:PM_CMPLU_STALL_DIV_GRP32 : (Group 32 pm_fxu_stall) Completion stall caused by DIV instruction
+event:0X204 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP32 : (Group 32 pm_fxu_stall) Run instructions completed
+event:0X205 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP32 : (Group 32 pm_fxu_stall) Run cycles
+
+#Group 33 pm_fpu_stall, FPU Stalls
+event:0X210 counters:0 um:zero minimum:1000 name:PM_FPU_FULL_CYC_GRP33 : (Group 33 pm_fpu_stall) Cycles FPU issue queue full
+event:0X211 counters:1 um:zero minimum:1000 name:PM_CMPLU_STALL_FDIV_GRP33 : (Group 33 pm_fpu_stall) Completion stall caused by FDIV or FQRT instruction
+event:0X212 counters:2 um:zero minimum:1000 name:PM_IOPS_CMPL_GRP33 : (Group 33 pm_fpu_stall) IOPS instructions completed
+event:0X213 counters:3 um:zero minimum:1000 name:PM_CMPLU_STALL_FPU_GRP33 : (Group 33 pm_fpu_stall) Completion stall caused by FPU instruction
+event:0X214 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP33 : (Group 33 pm_fpu_stall) Run instructions completed
+event:0X215 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP33 : (Group 33 pm_fpu_stall) Run cycles
+
+#Group 34 pm_queue_full, BRQ LRQ LMQ queue full
+event:0X220 counters:0 um:zero minimum:1000 name:PM_LARX_LSU0_GRP34 : (Group 34 pm_queue_full) Larx executed on LSU0
+event:0X221 counters:1 um:zero minimum:1000 name:PM_BRQ_FULL_CYC_GRP34 : (Group 34 pm_queue_full) Cycles branch queue full
+event:0X222 counters:2 um:zero minimum:1000 name:PM_LSU_LRQ_FULL_CYC_GRP34 : (Group 34 pm_queue_full) Cycles LRQ full
+event:0X223 counters:3 um:zero minimum:1000 name:PM_LSU_LMQ_FULL_CYC_GRP34 : (Group 34 pm_queue_full) Cycles LMQ full
+event:0X224 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP34 : (Group 34 pm_queue_full) Run instructions completed
+event:0X225 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP34 : (Group 34 pm_queue_full) Run cycles
+
+#Group 35 pm_issueq_full, FPU FX full
+event:0X230 counters:0 um:zero minimum:1000 name:PM_FPU0_FULL_CYC_GRP35 : (Group 35 pm_issueq_full) Cycles FPU0 issue queue full
+event:0X231 counters:1 um:zero minimum:1000 name:PM_FPU1_FULL_CYC_GRP35 : (Group 35 pm_issueq_full) Cycles FPU1 issue queue full
+event:0X232 counters:2 um:zero minimum:1000 name:PM_FXLS0_FULL_CYC_GRP35 : (Group 35 pm_issueq_full) Cycles FXU0/LS0 queue full
+event:0X233 counters:3 um:zero minimum:1000 name:PM_FXLS1_FULL_CYC_GRP35 : (Group 35 pm_issueq_full) Cycles FXU1/LS1 queue full
+event:0X234 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP35 : (Group 35 pm_issueq_full) Run instructions completed
+event:0X235 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP35 : (Group 35 pm_issueq_full) Run cycles
+
+#Group 36 pm_mapper_full1, CR CTR GPR mapper full
+event:0X240 counters:0 um:zero minimum:1000 name:PM_CR_MAP_FULL_CYC_GRP36 : (Group 36 pm_mapper_full1) Cycles CR logical operation mapper full
+event:0X241 counters:1 um:zero minimum:1000 name:PM_LR_CTR_MAP_FULL_CYC_GRP36 : (Group 36 pm_mapper_full1) Cycles LR/CTR mapper full
+event:0X242 counters:2 um:zero minimum:1000 name:PM_GPR_MAP_FULL_CYC_GRP36 : (Group 36 pm_mapper_full1) Cycles GPR mapper full
+event:0X243 counters:3 um:zero minimum:1000 name:PM_CRQ_FULL_CYC_GRP36 : (Group 36 pm_mapper_full1) Cycles CR issue queue full
+event:0X244 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP36 : (Group 36 pm_mapper_full1) Run instructions completed
+event:0X245 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP36 : (Group 36 pm_mapper_full1) Run cycles
+
+#Group 37 pm_mapper_full2, FPR XER mapper full
+event:0X250 counters:0 um:zero minimum:1000 name:PM_FPR_MAP_FULL_CYC_GRP37 : (Group 37 pm_mapper_full2) Cycles FPR mapper full
+event:0X251 counters:1 um:zero minimum:1000 name:PM_XER_MAP_FULL_CYC_GRP37 : (Group 37 pm_mapper_full2) Cycles XER mapper full
+event:0X252 counters:2 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L2MISS_GRP37 : (Group 37 pm_mapper_full2) Marked data loaded missed L2
+event:0X253 counters:3 um:zero minimum:1000 name:PM_IOPS_CMPL_GRP37 : (Group 37 pm_mapper_full2) IOPS instructions completed
+event:0X254 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP37 : (Group 37 pm_mapper_full2) Run instructions completed
+event:0X255 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP37 : (Group 37 pm_mapper_full2) Run cycles
+
+#Group 38 pm_misc_load, Non-cachable loads and stcx events
+event:0X260 counters:0 um:zero minimum:1000 name:PM_STCX_FAIL_GRP38 : (Group 38 pm_misc_load) STCX failed
+event:0X261 counters:1 um:zero minimum:1000 name:PM_STCX_PASS_GRP38 : (Group 38 pm_misc_load) Stcx passes
+event:0X262 counters:2 um:zero minimum:1000 name:PM_LSU0_NCLD_GRP38 : (Group 38 pm_misc_load) LSU0 non-cacheable loads
+event:0X263 counters:3 um:zero minimum:1000 name:PM_LSU1_NCLD_GRP38 : (Group 38 pm_misc_load) LSU1 non-cacheable loads
+event:0X264 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP38 : (Group 38 pm_misc_load) Run instructions completed
+event:0X265 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP38 : (Group 38 pm_misc_load) Run cycles
+
+#Group 39 pm_ic_demand, ICache demand from BR redirect
+event:0X270 counters:0 um:zero minimum:1000 name:PM_LSU0_BUSY_REJECT_GRP39 : (Group 39 pm_ic_demand) LSU0 busy due to reject
+event:0X271 counters:1 um:zero minimum:1000 name:PM_LSU1_BUSY_REJECT_GRP39 : (Group 39 pm_ic_demand) LSU1 busy due to reject
+event:0X272 counters:2 um:zero minimum:1000 name:PM_IC_DEMAND_L2_BHT_REDIRECT_GRP39 : (Group 39 pm_ic_demand) L2 I cache demand request due to BHT redirect
+event:0X273 counters:3 um:zero minimum:1000 name:PM_IC_DEMAND_L2_BR_REDIRECT_GRP39 : (Group 39 pm_ic_demand) L2 I cache demand request due to branch redirect
+event:0X274 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP39 : (Group 39 pm_ic_demand) Run instructions completed
+event:0X275 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP39 : (Group 39 pm_ic_demand) Run cycles
+
+#Group 40 pm_ic_pref, ICache prefetch
+event:0X280 counters:0 um:zero minimum:1000 name:PM_IERAT_XLATE_WR_GRP40 : (Group 40 pm_ic_pref) Translation written to ierat
+event:0X281 counters:1 um:zero minimum:1000 name:PM_IC_PREF_REQ_GRP40 : (Group 40 pm_ic_pref) Instruction prefetch requests
+event:0X282 counters:2 um:zero minimum:1000 name:PM_IC_PREF_INSTALL_GRP40 : (Group 40 pm_ic_pref) Instruction prefetched installed in prefetch
+event:0X283 counters:3 um:zero minimum:1000 name:PM_0INST_FETCH_GRP40 : (Group 40 pm_ic_pref) No instructions fetched
+event:0X284 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP40 : (Group 40 pm_ic_pref) Run instructions completed
+event:0X285 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP40 : (Group 40 pm_ic_pref) Run cycles
+
+#Group 41 pm_ic_miss, ICache misses
+event:0X290 counters:0 um:zero minimum:1000 name:PM_GRP_IC_MISS_NONSPEC_GRP41 : (Group 41 pm_ic_miss) Group experienced non-speculative I cache miss
+event:0X291 counters:1 um:zero minimum:1000 name:PM_GRP_IC_MISS_GRP41 : (Group 41 pm_ic_miss) Group experienced I cache miss
+event:0X292 counters:2 um:zero minimum:1000 name:PM_L1_DCACHE_RELOAD_VALID_GRP41 : (Group 41 pm_ic_miss) L1 reload data source valid
+event:0X293 counters:3 um:zero minimum:1000 name:PM_IOPS_CMPL_GRP41 : (Group 41 pm_ic_miss) IOPS instructions completed
+event:0X294 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP41 : (Group 41 pm_ic_miss) Run instructions completed
+event:0X295 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP41 : (Group 41 pm_ic_miss) Run cycles
+
+#Group 42 pm_branch_miss, Branch mispredict, TLB and SLB misses
+event:0X2A0 counters:0 um:zero minimum:1000 name:PM_TLB_MISS_GRP42 : (Group 42 pm_branch_miss) TLB misses
+event:0X2A1 counters:1 um:zero minimum:1000 name:PM_SLB_MISS_GRP42 : (Group 42 pm_branch_miss) SLB misses
+event:0X2A2 counters:2 um:zero minimum:1000 name:PM_BR_MPRED_CR_GRP42 : (Group 42 pm_branch_miss) Branch mispredictions due to CR bit setting
+event:0X2A3 counters:3 um:zero minimum:1000 name:PM_BR_MPRED_TA_GRP42 : (Group 42 pm_branch_miss) Branch mispredictions due to target address
+event:0X2A4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP42 : (Group 42 pm_branch_miss) Run instructions completed
+event:0X2A5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP42 : (Group 42 pm_branch_miss) Run cycles
+
+#Group 43 pm_branch1, Branch operations
+event:0X2B0 counters:0 um:zero minimum:1000 name:PM_BR_UNCOND_GRP43 : (Group 43 pm_branch1) Unconditional branch
+event:0X2B1 counters:1 um:zero minimum:1000 name:PM_BR_PRED_TA_GRP43 : (Group 43 pm_branch1) A conditional branch was predicted, target prediction
+event:0X2B2 counters:2 um:zero minimum:1000 name:PM_BR_PRED_CR_GRP43 : (Group 43 pm_branch1) A conditional branch was predicted, CR prediction
+event:0X2B3 counters:3 um:zero minimum:1000 name:PM_BR_PRED_CR_TA_GRP43 : (Group 43 pm_branch1) A conditional branch was predicted, CR and target prediction
+event:0X2B4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP43 : (Group 43 pm_branch1) Run instructions completed
+event:0X2B5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP43 : (Group 43 pm_branch1) Run cycles
+
+#Group 44 pm_branch2, Branch operations
+event:0X2C0 counters:0 um:zero minimum:1000 name:PM_GRP_BR_REDIR_NONSPEC_GRP44 : (Group 44 pm_branch2) Group experienced non-speculative branch redirect
+event:0X2C1 counters:1 um:zero minimum:1000 name:PM_GRP_BR_REDIR_GRP44 : (Group 44 pm_branch2) Group experienced branch redirect
+event:0X2C2 counters:2 um:zero minimum:1000 name:PM_FLUSH_BR_MPRED_GRP44 : (Group 44 pm_branch2) Flush caused by branch mispredict
+event:0X2C3 counters:3 um:zero minimum:1000 name:PM_IOPS_CMPL_GRP44 : (Group 44 pm_branch2) IOPS instructions completed
+event:0X2C4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP44 : (Group 44 pm_branch2) Run instructions completed
+event:0X2C5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP44 : (Group 44 pm_branch2) Run cycles
+
+#Group 45 pm_L1_tlbmiss, L1 load and TLB misses
+event:0X2D0 counters:0 um:zero minimum:1000 name:PM_DATA_TABLEWALK_CYC_GRP45 : (Group 45 pm_L1_tlbmiss) Cycles doing data tablewalks
+event:0X2D1 counters:1 um:zero minimum:1000 name:PM_DTLB_MISS_GRP45 : (Group 45 pm_L1_tlbmiss) Data TLB misses
+event:0X2D2 counters:2 um:zero minimum:1000 name:PM_LD_MISS_L1_GRP45 : (Group 45 pm_L1_tlbmiss) L1 D cache load misses
+event:0X2D3 counters:3 um:zero minimum:1000 name:PM_LD_REF_L1_GRP45 : (Group 45 pm_L1_tlbmiss) L1 D cache load references
+event:0X2D4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP45 : (Group 45 pm_L1_tlbmiss) Run instructions completed
+event:0X2D5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP45 : (Group 45 pm_L1_tlbmiss) Run cycles
+
+#Group 46 pm_L1_DERAT_miss, L1 store and DERAT misses
+event:0X2E0 counters:0 um:zero minimum:1000 name:PM_DATA_FROM_L2_GRP46 : (Group 46 pm_L1_DERAT_miss) Data loaded from L2
+event:0X2E1 counters:1 um:zero minimum:1000 name:PM_LSU_DERAT_MISS_GRP46 : (Group 46 pm_L1_DERAT_miss) DERAT misses
+event:0X2E2 counters:2 um:zero minimum:1000 name:PM_ST_REF_L1_GRP46 : (Group 46 pm_L1_DERAT_miss) L1 D cache store references
+event:0X2E3 counters:3 um:zero minimum:1000 name:PM_ST_MISS_L1_GRP46 : (Group 46 pm_L1_DERAT_miss) L1 D cache store misses
+event:0X2E4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP46 : (Group 46 pm_L1_DERAT_miss) Run instructions completed
+event:0X2E5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP46 : (Group 46 pm_L1_DERAT_miss) Run cycles
+
+#Group 47 pm_L1_slbmiss, L1 load and SLB misses
+event:0X2F0 counters:0 um:zero minimum:1000 name:PM_DSLB_MISS_GRP47 : (Group 47 pm_L1_slbmiss) Data SLB misses
+event:0X2F1 counters:1 um:zero minimum:1000 name:PM_ISLB_MISS_GRP47 : (Group 47 pm_L1_slbmiss) Instruction SLB misses
+event:0X2F2 counters:2 um:zero minimum:1000 name:PM_LD_MISS_L1_LSU0_GRP47 : (Group 47 pm_L1_slbmiss) LSU0 L1 D cache load misses
+event:0X2F3 counters:3 um:zero minimum:1000 name:PM_LD_MISS_L1_LSU1_GRP47 : (Group 47 pm_L1_slbmiss) LSU1 L1 D cache load misses
+event:0X2F4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP47 : (Group 47 pm_L1_slbmiss) Run instructions completed
+event:0X2F5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP47 : (Group 47 pm_L1_slbmiss) Run cycles
+
+#Group 48 pm_dtlbref, Data TLB references
+event:0X300 counters:0 um:zero minimum:1000 name:PM_DTLB_REF_4K_GRP48 : (Group 48 pm_dtlbref) Data TLB reference for 4K page
+event:0X301 counters:1 um:zero minimum:1000 name:PM_DTLB_REF_64K_GRP48 : (Group 48 pm_dtlbref) Data TLB reference for 64K page
+event:0X302 counters:2 um:zero minimum:1000 name:PM_DTLB_REF_16M_GRP48 : (Group 48 pm_dtlbref) Data TLB reference for 16M page
+event:0X303 counters:3 um:zero minimum:1000 name:PM_DTLB_REF_16G_GRP48 : (Group 48 pm_dtlbref) Data TLB reference for 16G page
+event:0X304 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP48 : (Group 48 pm_dtlbref) Run instructions completed
+event:0X305 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP48 : (Group 48 pm_dtlbref) Run cycles
+
+#Group 49 pm_dtlbmiss, Data TLB misses
+event:0X310 counters:0 um:zero minimum:1000 name:PM_DTLB_MISS_4K_GRP49 : (Group 49 pm_dtlbmiss) Data TLB miss for 4K page
+event:0X311 counters:1 um:zero minimum:1000 name:PM_DTLB_MISS_64K_GRP49 : (Group 49 pm_dtlbmiss) Data TLB miss for 64K page
+event:0X312 counters:2 um:zero minimum:1000 name:PM_DTLB_MISS_16M_GRP49 : (Group 49 pm_dtlbmiss) Data TLB miss for 16M page
+event:0X313 counters:3 um:zero minimum:1000 name:PM_DTLB_MISS_16G_GRP49 : (Group 49 pm_dtlbmiss) Data TLB miss for 16G page
+event:0X314 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP49 : (Group 49 pm_dtlbmiss) Run instructions completed
+event:0X315 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP49 : (Group 49 pm_dtlbmiss) Run cycles
+
+#Group 50 pm_dtlb, Data TLB references and misses
+event:0X320 counters:0 um:zero minimum:1000 name:PM_DTLB_REF_GRP50 : (Group 50 pm_dtlb) Data TLB references
+event:0X321 counters:1 um:zero minimum:1000 name:PM_DTLB_MISS_GRP50 : (Group 50 pm_dtlb) Data TLB misses
+event:0X322 counters:2 um:zero minimum:10000 name:PM_CYC_GRP50 : (Group 50 pm_dtlb) Processor cycles
+event:0X323 counters:3 um:zero minimum:10000 name:PM_CYC_GRP50 : (Group 50 pm_dtlb) Processor cycles
+event:0X324 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP50 : (Group 50 pm_dtlb) Run instructions completed
+event:0X325 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP50 : (Group 50 pm_dtlb) Run cycles
+
+#Group 51 pm_L1_refmiss, L1 load references and misses and store references and misses
+event:0X330 counters:0 um:zero minimum:1000 name:PM_LD_REF_L1_GRP51 : (Group 51 pm_L1_refmiss) L1 D cache load references
+event:0X331 counters:1 um:zero minimum:1000 name:PM_ST_REF_L1_GRP51 : (Group 51 pm_L1_refmiss) L1 D cache store references
+event:0X332 counters:2 um:zero minimum:1000 name:PM_LD_MISS_L1_GRP51 : (Group 51 pm_L1_refmiss) L1 D cache load misses
+event:0X333 counters:3 um:zero minimum:1000 name:PM_ST_MISS_L1_GRP51 : (Group 51 pm_L1_refmiss) L1 D cache store misses
+event:0X334 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP51 : (Group 51 pm_L1_refmiss) Run instructions completed
+event:0X335 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP51 : (Group 51 pm_L1_refmiss) Run cycles
+
+#Group 52 pm_dsource1, L3 cache and memory data access
+event:0X340 counters:0 um:zero minimum:1000 name:PM_DATA_FROM_L3_GRP52 : (Group 52 pm_dsource1) Data loaded from L3
+event:0X341 counters:1 um:zero minimum:1000 name:PM_DATA_FROM_LMEM_GRP52 : (Group 52 pm_dsource1) Data loaded from local memory
+event:0X342 counters:2 um:zero minimum:1000 name:PM_FLUSH_GRP52 : (Group 52 pm_dsource1) Flushes
+event:0X343 counters:3 um:zero minimum:1000 name:PM_IOPS_CMPL_GRP52 : (Group 52 pm_dsource1) IOPS instructions completed
+event:0X344 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP52 : (Group 52 pm_dsource1) Run instructions completed
+event:0X345 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP52 : (Group 52 pm_dsource1) Run cycles
+
+#Group 53 pm_dsource2, L3 cache and memory data access
+event:0X350 counters:0 um:zero minimum:1000 name:PM_DATA_FROM_L3_GRP53 : (Group 53 pm_dsource2) Data loaded from L3
+event:0X351 counters:1 um:zero minimum:1000 name:PM_DATA_FROM_LMEM_GRP53 : (Group 53 pm_dsource2) Data loaded from local memory
+event:0X352 counters:2 um:zero minimum:1000 name:PM_DATA_FROM_L2MISS_GRP53 : (Group 53 pm_dsource2) Data loaded missed L2
+event:0X353 counters:3 um:zero minimum:1000 name:PM_DATA_FROM_RMEM_GRP53 : (Group 53 pm_dsource2) Data loaded from remote memory
+event:0X354 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP53 : (Group 53 pm_dsource2) Run instructions completed
+event:0X355 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP53 : (Group 53 pm_dsource2) Run cycles
+
+#Group 54 pm_dsource_L2, L2 cache data access
+event:0X360 counters:0 um:zero minimum:1000 name:PM_DATA_FROM_L25_SHR_GRP54 : (Group 54 pm_dsource_L2) Data loaded from L2.5 shared
+event:0X361 counters:1 um:zero minimum:1000 name:PM_DATA_FROM_L25_MOD_GRP54 : (Group 54 pm_dsource_L2) Data loaded from L2.5 modified
+event:0X362 counters:2 um:zero minimum:1000 name:PM_DATA_FROM_L275_SHR_GRP54 : (Group 54 pm_dsource_L2) Data loaded from L2.75 shared
+event:0X363 counters:3 um:zero minimum:1000 name:PM_DATA_FROM_L275_MOD_GRP54 : (Group 54 pm_dsource_L2) Data loaded from L2.75 modified
+event:0X364 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP54 : (Group 54 pm_dsource_L2) Run instructions completed
+event:0X365 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP54 : (Group 54 pm_dsource_L2) Run cycles
+
+#Group 55 pm_dsource_L3, L3 cache data access
+event:0X370 counters:0 um:zero minimum:1000 name:PM_DATA_FROM_L35_SHR_GRP55 : (Group 55 pm_dsource_L3) Data loaded from L3.5 shared
+event:0X371 counters:1 um:zero minimum:1000 name:PM_DATA_FROM_L35_MOD_GRP55 : (Group 55 pm_dsource_L3) Data loaded from L3.5 modified
+event:0X372 counters:2 um:zero minimum:1000 name:PM_DATA_FROM_L375_SHR_GRP55 : (Group 55 pm_dsource_L3) Data loaded from L3.75 shared
+event:0X373 counters:3 um:zero minimum:1000 name:PM_DATA_FROM_L375_MOD_GRP55 : (Group 55 pm_dsource_L3) Data loaded from L3.75 modified
+event:0X374 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP55 : (Group 55 pm_dsource_L3) Run instructions completed
+event:0X375 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP55 : (Group 55 pm_dsource_L3) Run cycles
+
+#Group 56 pm_isource1, Instruction source information
+event:0X380 counters:0 um:zero minimum:1000 name:PM_INST_FROM_L3_GRP56 : (Group 56 pm_isource1) Instruction fetched from L3
+event:0X381 counters:1 um:zero minimum:1000 name:PM_INST_FROM_L1_GRP56 : (Group 56 pm_isource1) Instruction fetched from L1
+event:0X382 counters:2 um:zero minimum:1000 name:PM_INST_FROM_PREF_GRP56 : (Group 56 pm_isource1) Instructions fetched from prefetch
+event:0X383 counters:3 um:zero minimum:1000 name:PM_INST_FROM_RMEM_GRP56 : (Group 56 pm_isource1) Instruction fetched from remote memory
+event:0X384 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP56 : (Group 56 pm_isource1) Run instructions completed
+event:0X385 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP56 : (Group 56 pm_isource1) Run cycles
+
+#Group 57 pm_isource2, Instruction source information
+event:0X390 counters:0 um:zero minimum:1000 name:PM_INST_FROM_L2_GRP57 : (Group 57 pm_isource2) Instructions fetched from L2
+event:0X391 counters:1 um:zero minimum:1000 name:PM_INST_FROM_LMEM_GRP57 : (Group 57 pm_isource2) Instruction fetched from local memory
+event:0X392 counters:2 um:zero minimum:1000 name:PM_IOPS_CMPL_GRP57 : (Group 57 pm_isource2) IOPS instructions completed
+event:0X393 counters:3 um:zero minimum:1000 name:PM_0INST_FETCH_GRP57 : (Group 57 pm_isource2) No instructions fetched
+event:0X394 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP57 : (Group 57 pm_isource2) Run instructions completed
+event:0X395 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP57 : (Group 57 pm_isource2) Run cycles
+
+#Group 58 pm_isource_L2, L2 instruction source information
+event:0X3A0 counters:0 um:zero minimum:1000 name:PM_INST_FROM_L25_SHR_GRP58 : (Group 58 pm_isource_L2) Instruction fetched from L2.5 shared
+event:0X3A1 counters:1 um:zero minimum:1000 name:PM_INST_FROM_L25_MOD_GRP58 : (Group 58 pm_isource_L2) Instruction fetched from L2.5 modified
+event:0X3A2 counters:2 um:zero minimum:1000 name:PM_INST_FROM_L275_SHR_GRP58 : (Group 58 pm_isource_L2) Instruction fetched from L2.75 shared
+event:0X3A3 counters:3 um:zero minimum:1000 name:PM_INST_FROM_L275_MOD_GRP58 : (Group 58 pm_isource_L2) Instruction fetched from L2.75 modified
+event:0X3A4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP58 : (Group 58 pm_isource_L2) Run instructions completed
+event:0X3A5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP58 : (Group 58 pm_isource_L2) Run cycles
+
+#Group 59 pm_isource_L3, L3 instruction source information
+event:0X3B0 counters:0 um:zero minimum:1000 name:PM_INST_FROM_L2MISS_GRP59 : (Group 59 pm_isource_L3) Instructions fetched missed L2
+event:0X3B1 counters:1 um:zero minimum:1000 name:PM_INST_FROM_L35_MOD_GRP59 : (Group 59 pm_isource_L3) Instruction fetched from L3.5 modified
+event:0X3B2 counters:2 um:zero minimum:1000 name:PM_INST_FROM_L375_SHR_GRP59 : (Group 59 pm_isource_L3) Instruction fetched from L3.75 shared
+event:0X3B3 counters:3 um:zero minimum:1000 name:PM_INST_FROM_L375_MOD_GRP59 : (Group 59 pm_isource_L3) Instruction fetched from L3.75 modified
+event:0X3B4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP59 : (Group 59 pm_isource_L3) Run instructions completed
+event:0X3B5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP59 : (Group 59 pm_isource_L3) Run cycles
+
+#Group 60 pm_pteg_source1, PTEG source information
+event:0X3C0 counters:0 um:zero minimum:1000 name:PM_PTEG_FROM_L25_SHR_GRP60 : (Group 60 pm_pteg_source1) PTEG loaded from L2.5 shared
+event:0X3C1 counters:1 um:zero minimum:1000 name:PM_PTEG_FROM_L25_MOD_GRP60 : (Group 60 pm_pteg_source1) PTEG loaded from L2.5 modified
+event:0X3C2 counters:2 um:zero minimum:1000 name:PM_PTEG_FROM_L275_SHR_GRP60 : (Group 60 pm_pteg_source1) PTEG loaded from L2.75 shared
+event:0X3C3 counters:3 um:zero minimum:1000 name:PM_PTEG_FROM_L275_MOD_GRP60 : (Group 60 pm_pteg_source1) PTEG loaded from L2.75 modified
+event:0X3C4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP60 : (Group 60 pm_pteg_source1) Run instructions completed
+event:0X3C5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP60 : (Group 60 pm_pteg_source1) Run cycles
+
+#Group 61 pm_pteg_source2, PTEG source information
+event:0X3D0 counters:0 um:zero minimum:1000 name:PM_PTEG_FROM_L35_SHR_GRP61 : (Group 61 pm_pteg_source2) PTEG loaded from L3.5 shared
+event:0X3D1 counters:1 um:zero minimum:1000 name:PM_PTEG_FROM_L35_MOD_GRP61 : (Group 61 pm_pteg_source2) PTEG loaded from L3.5 modified
+event:0X3D2 counters:2 um:zero minimum:1000 name:PM_PTEG_FROM_L375_SHR_GRP61 : (Group 61 pm_pteg_source2) PTEG loaded from L3.75 shared
+event:0X3D3 counters:3 um:zero minimum:1000 name:PM_PTEG_FROM_L375_MOD_GRP61 : (Group 61 pm_pteg_source2) PTEG loaded from L3.75 modified
+event:0X3D4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP61 : (Group 61 pm_pteg_source2) Run instructions completed
+event:0X3D5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP61 : (Group 61 pm_pteg_source2) Run cycles
+
+#Group 62 pm_pteg_source3, PTEG source information
+event:0X3E0 counters:0 um:zero minimum:1000 name:PM_PTEG_FROM_L2_GRP62 : (Group 62 pm_pteg_source3) PTEG loaded from L2
+event:0X3E1 counters:1 um:zero minimum:1000 name:PM_PTEG_FROM_LMEM_GRP62 : (Group 62 pm_pteg_source3) PTEG loaded from local memory
+event:0X3E2 counters:2 um:zero minimum:1000 name:PM_PTEG_FROM_L2MISS_GRP62 : (Group 62 pm_pteg_source3) PTEG loaded from L2 miss
+event:0X3E3 counters:3 um:zero minimum:1000 name:PM_PTEG_FROM_RMEM_GRP62 : (Group 62 pm_pteg_source3) PTEG loaded from remote memory
+event:0X3E4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP62 : (Group 62 pm_pteg_source3) Run instructions completed
+event:0X3E5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP62 : (Group 62 pm_pteg_source3) Run cycles
+
+#Group 63 pm_pteg_source4, L3 PTEG and group disptach events
+event:0X3F0 counters:0 um:zero minimum:1000 name:PM_PTEG_FROM_L3_GRP63 : (Group 63 pm_pteg_source4) PTEG loaded from L3
+event:0X3F1 counters:1 um:zero minimum:1000 name:PM_GRP_DISP_GRP63 : (Group 63 pm_pteg_source4) Group dispatches
+event:0X3F2 counters:2 um:zero minimum:1000 name:PM_GRP_DISP_SUCCESS_GRP63 : (Group 63 pm_pteg_source4) Group dispatch success
+event:0X3F3 counters:3 um:zero minimum:1000 name:PM_DC_INV_L2_GRP63 : (Group 63 pm_pteg_source4) L1 D cache entries invalidated from L2
+event:0X3F4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP63 : (Group 63 pm_pteg_source4) Run instructions completed
+event:0X3F5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP63 : (Group 63 pm_pteg_source4) Run cycles
+
+#Group 64 pm_L2SA_ld, L2 slice A load events
+event:0X400 counters:0 um:zero minimum:1000 name:PM_L2SA_RCLD_DISP_GRP64 : (Group 64 pm_L2SA_ld) L2 Slice A RC load dispatch attempt
+event:0X401 counters:1 um:zero minimum:1000 name:PM_L2SA_RCLD_DISP_FAIL_RC_FULL_GRP64 : (Group 64 pm_L2SA_ld) L2 Slice A RC load dispatch attempt failed due to all RC full
+event:0X402 counters:2 um:zero minimum:1000 name:PM_L2SA_RCLD_DISP_FAIL_ADDR_GRP64 : (Group 64 pm_L2SA_ld) L2 Slice A RC load dispatch attempt failed due to address collision with RC/CO/SN/SQ
+event:0X403 counters:3 um:zero minimum:1000 name:PM_L2SA_RCLD_DISP_FAIL_OTHER_GRP64 : (Group 64 pm_L2SA_ld) L2 Slice A RC load dispatch attempt failed due to other reasons
+event:0X404 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP64 : (Group 64 pm_L2SA_ld) Run instructions completed
+event:0X405 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP64 : (Group 64 pm_L2SA_ld) Run cycles
+
+#Group 65 pm_L2SA_st, L2 slice A store events
+event:0X410 counters:0 um:zero minimum:1000 name:PM_L2SA_RCST_DISP_GRP65 : (Group 65 pm_L2SA_st) L2 Slice A RC store dispatch attempt
+event:0X411 counters:1 um:zero minimum:1000 name:PM_L2SA_RCST_DISP_FAIL_RC_FULL_GRP65 : (Group 65 pm_L2SA_st) L2 Slice A RC store dispatch attempt failed due to all RC full
+event:0X412 counters:2 um:zero minimum:1000 name:PM_L2SA_RCST_DISP_FAIL_ADDR_GRP65 : (Group 65 pm_L2SA_st) L2 Slice A RC store dispatch attempt failed due to address collision with RC/CO/SN/SQ
+event:0X413 counters:3 um:zero minimum:1000 name:PM_L2SA_RCST_DISP_FAIL_OTHER_GRP65 : (Group 65 pm_L2SA_st) L2 Slice A RC store dispatch attempt failed due to other reasons
+event:0X414 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP65 : (Group 65 pm_L2SA_st) Run instructions completed
+event:0X415 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP65 : (Group 65 pm_L2SA_st) Run cycles
+
+#Group 66 pm_L2SA_st2, L2 slice A store events
+event:0X420 counters:0 um:zero minimum:1000 name:PM_L2SA_RC_DISP_FAIL_CO_BUSY_GRP66 : (Group 66 pm_L2SA_st2) L2 Slice A RC dispatch attempt failed due to RC/CO pair chosen was miss and CO already busy
+event:0X421 counters:1 um:zero minimum:1000 name:PM_L2SA_ST_REQ_GRP66 : (Group 66 pm_L2SA_st2) L2 slice A store requests
+event:0X422 counters:2 um:zero minimum:1000 name:PM_L2SA_RC_DISP_FAIL_CO_BUSY_ALL_GRP66 : (Group 66 pm_L2SA_st2) L2 Slice A RC dispatch attempt failed due to all CO busy
+event:0X423 counters:3 um:zero minimum:1000 name:PM_L2SA_ST_HIT_GRP66 : (Group 66 pm_L2SA_st2) L2 slice A store hits
+event:0X424 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP66 : (Group 66 pm_L2SA_st2) Run instructions completed
+event:0X425 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP66 : (Group 66 pm_L2SA_st2) Run cycles
+
+#Group 67 pm_L2SB_ld, L2 slice B load events
+event:0X430 counters:0 um:zero minimum:1000 name:PM_L2SB_RCLD_DISP_GRP67 : (Group 67 pm_L2SB_ld) L2 Slice B RC load dispatch attempt
+event:0X431 counters:1 um:zero minimum:1000 name:PM_L2SB_RCLD_DISP_FAIL_RC_FULL_GRP67 : (Group 67 pm_L2SB_ld) L2 Slice B RC load dispatch attempt failed due to all RC full
+event:0X432 counters:2 um:zero minimum:1000 name:PM_L2SB_RCLD_DISP_FAIL_ADDR_GRP67 : (Group 67 pm_L2SB_ld) L2 Slice B RC load dispatch attempt failed due to address collision with RC/CO/SN/SQ
+event:0X433 counters:3 um:zero minimum:1000 name:PM_L2SB_RCLD_DISP_FAIL_OTHER_GRP67 : (Group 67 pm_L2SB_ld) L2 Slice B RC load dispatch attempt failed due to other reasons
+event:0X434 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP67 : (Group 67 pm_L2SB_ld) Run instructions completed
+event:0X435 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP67 : (Group 67 pm_L2SB_ld) Run cycles
+
+#Group 68 pm_L2SB_st, L2 slice B store events
+event:0X440 counters:0 um:zero minimum:1000 name:PM_L2SB_RCST_DISP_GRP68 : (Group 68 pm_L2SB_st) L2 Slice B RC store dispatch attempt
+event:0X441 counters:1 um:zero minimum:1000 name:PM_L2SB_RCST_DISP_FAIL_RC_FULL_GRP68 : (Group 68 pm_L2SB_st) L2 Slice B RC store dispatch attempt failed due to all RC full
+event:0X442 counters:2 um:zero minimum:1000 name:PM_L2SB_RCST_DISP_FAIL_ADDR_GRP68 : (Group 68 pm_L2SB_st) L2 Slice B RC store dispatch attempt failed due to address collision with RC/CO/SN/SQ
+event:0X443 counters:3 um:zero minimum:1000 name:PM_L2SB_RCST_DISP_FAIL_OTHER_GRP68 : (Group 68 pm_L2SB_st) L2 Slice B RC store dispatch attempt failed due to other reasons
+event:0X444 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP68 : (Group 68 pm_L2SB_st) Run instructions completed
+event:0X445 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP68 : (Group 68 pm_L2SB_st) Run cycles
+
+#Group 69 pm_L2SB_st2, L2 slice B store events
+event:0X450 counters:0 um:zero minimum:1000 name:PM_L2SB_RC_DISP_FAIL_CO_BUSY_GRP69 : (Group 69 pm_L2SB_st2) L2 Slice B RC dispatch attempt failed due to RC/CO pair chosen was miss and CO already busy
+event:0X451 counters:1 um:zero minimum:1000 name:PM_L2SB_ST_REQ_GRP69 : (Group 69 pm_L2SB_st2) L2 slice B store requests
+event:0X452 counters:2 um:zero minimum:1000 name:PM_L2SB_RC_DISP_FAIL_CO_BUSY_ALL_GRP69 : (Group 69 pm_L2SB_st2) L2 Slice B RC dispatch attempt failed due to all CO busy
+event:0X453 counters:3 um:zero minimum:1000 name:PM_L2SB_ST_HIT_GRP69 : (Group 69 pm_L2SB_st2) L2 slice B store hits
+event:0X454 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP69 : (Group 69 pm_L2SB_st2) Run instructions completed
+event:0X455 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP69 : (Group 69 pm_L2SB_st2) Run cycles
+
+#Group 70 pm_L2SB_ld, L2 slice C load events
+event:0X460 counters:0 um:zero minimum:1000 name:PM_L2SC_RCLD_DISP_GRP70 : (Group 70 pm_L2SB_ld) L2 Slice C RC load dispatch attempt
+event:0X461 counters:1 um:zero minimum:1000 name:PM_L2SC_RCLD_DISP_FAIL_RC_FULL_GRP70 : (Group 70 pm_L2SB_ld) L2 Slice C RC load dispatch attempt failed due to all RC full
+event:0X462 counters:2 um:zero minimum:1000 name:PM_L2SC_RCLD_DISP_FAIL_ADDR_GRP70 : (Group 70 pm_L2SB_ld) L2 Slice C RC load dispatch attempt failed due to address collision with RC/CO/SN/SQ
+event:0X463 counters:3 um:zero minimum:1000 name:PM_L2SC_RCLD_DISP_FAIL_OTHER_GRP70 : (Group 70 pm_L2SB_ld) L2 Slice C RC load dispatch attempt failed due to other reasons
+event:0X464 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP70 : (Group 70 pm_L2SB_ld) Run instructions completed
+event:0X465 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP70 : (Group 70 pm_L2SB_ld) Run cycles
+
+#Group 71 pm_L2SB_st, L2 slice C store events
+event:0X470 counters:0 um:zero minimum:1000 name:PM_L2SC_RCST_DISP_GRP71 : (Group 71 pm_L2SB_st) L2 Slice C RC store dispatch attempt
+event:0X471 counters:1 um:zero minimum:1000 name:PM_L2SC_RCST_DISP_FAIL_RC_FULL_GRP71 : (Group 71 pm_L2SB_st) L2 Slice C RC store dispatch attempt failed due to all RC full
+event:0X472 counters:2 um:zero minimum:1000 name:PM_L2SC_RCST_DISP_FAIL_ADDR_GRP71 : (Group 71 pm_L2SB_st) L2 Slice C RC store dispatch attempt failed due to address collision with RC/CO/SN/SQ
+event:0X473 counters:3 um:zero minimum:1000 name:PM_L2SC_RCST_DISP_FAIL_OTHER_GRP71 : (Group 71 pm_L2SB_st) L2 Slice C RC store dispatch attempt failed due to other reasons
+event:0X474 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP71 : (Group 71 pm_L2SB_st) Run instructions completed
+event:0X475 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP71 : (Group 71 pm_L2SB_st) Run cycles
+
+#Group 72 pm_L2SB_st2, L2 slice C store events
+event:0X480 counters:0 um:zero minimum:1000 name:PM_L2SC_RC_DISP_FAIL_CO_BUSY_GRP72 : (Group 72 pm_L2SB_st2) L2 Slice C RC dispatch attempt failed due to RC/CO pair chosen was miss and CO already busy
+event:0X481 counters:1 um:zero minimum:1000 name:PM_L2SC_ST_REQ_GRP72 : (Group 72 pm_L2SB_st2) L2 slice C store requests
+event:0X482 counters:2 um:zero minimum:1000 name:PM_L2SC_RC_DISP_FAIL_CO_BUSY_ALL_GRP72 : (Group 72 pm_L2SB_st2) L2 Slice C RC dispatch attempt failed due to all CO busy
+event:0X483 counters:3 um:zero minimum:1000 name:PM_L2SC_ST_HIT_GRP72 : (Group 72 pm_L2SB_st2) L2 slice C store hits
+event:0X484 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP72 : (Group 72 pm_L2SB_st2) Run instructions completed
+event:0X485 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP72 : (Group 72 pm_L2SB_st2) Run cycles
+
+#Group 73 pm_L3SA_trans, L3 slice A state transistions
+event:0X490 counters:0 um:zero minimum:1000 name:PM_L3SA_MOD_TAG_GRP73 : (Group 73 pm_L3SA_trans) L3 slice A transition from modified to TAG
+event:0X491 counters:1 um:zero minimum:1000 name:PM_IOPS_CMPL_GRP73 : (Group 73 pm_L3SA_trans) IOPS instructions completed
+event:0X492 counters:2 um:zero minimum:1000 name:PM_L3SA_MOD_INV_GRP73 : (Group 73 pm_L3SA_trans) L3 slice A transition from modified to invalid
+event:0X493 counters:3 um:zero minimum:1000 name:PM_L3SA_SHR_INV_GRP73 : (Group 73 pm_L3SA_trans) L3 slice A transition from shared to invalid
+event:0X494 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP73 : (Group 73 pm_L3SA_trans) Run instructions completed
+event:0X495 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP73 : (Group 73 pm_L3SA_trans) Run cycles
+
+#Group 74 pm_L3SB_trans, L3 slice B state transistions
+event:0X4A0 counters:0 um:zero minimum:1000 name:PM_IOPS_CMPL_GRP74 : (Group 74 pm_L3SB_trans) IOPS instructions completed
+event:0X4A1 counters:1 um:zero minimum:1000 name:PM_L3SB_MOD_TAG_GRP74 : (Group 74 pm_L3SB_trans) L3 slice B transition from modified to TAG
+event:0X4A2 counters:2 um:zero minimum:1000 name:PM_L3SB_MOD_INV_GRP74 : (Group 74 pm_L3SB_trans) L3 slice B transition from modified to invalid
+event:0X4A3 counters:3 um:zero minimum:1000 name:PM_L3SB_SHR_INV_GRP74 : (Group 74 pm_L3SB_trans) L3 slice B transition from shared to invalid
+event:0X4A4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP74 : (Group 74 pm_L3SB_trans) Run instructions completed
+event:0X4A5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP74 : (Group 74 pm_L3SB_trans) Run cycles
+
+#Group 75 pm_L3SC_trans, L3 slice C state transistions
+event:0X4B0 counters:0 um:zero minimum:1000 name:PM_IOPS_CMPL_GRP75 : (Group 75 pm_L3SC_trans) IOPS instructions completed
+event:0X4B1 counters:1 um:zero minimum:1000 name:PM_L3SC_MOD_TAG_GRP75 : (Group 75 pm_L3SC_trans) L3 slice C transition from modified to TAG
+event:0X4B2 counters:2 um:zero minimum:1000 name:PM_L3SC_MOD_INV_GRP75 : (Group 75 pm_L3SC_trans) L3 slice C transition from modified to invalid
+event:0X4B3 counters:3 um:zero minimum:1000 name:PM_L3SC_SHR_INV_GRP75 : (Group 75 pm_L3SC_trans) L3 slice C transition from shared to invalid
+event:0X4B4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP75 : (Group 75 pm_L3SC_trans) Run instructions completed
+event:0X4B5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP75 : (Group 75 pm_L3SC_trans) Run cycles
+
+#Group 76 pm_L2SA_trans, L2 slice A state transistions
+event:0X4C0 counters:0 um:zero minimum:1000 name:PM_L2SA_MOD_TAG_GRP76 : (Group 76 pm_L2SA_trans) L2 slice A transition from modified to tagged
+event:0X4C1 counters:1 um:zero minimum:1000 name:PM_L2SA_SHR_MOD_GRP76 : (Group 76 pm_L2SA_trans) L2 slice A transition from shared to modified
+event:0X4C2 counters:2 um:zero minimum:1000 name:PM_L2SA_MOD_INV_GRP76 : (Group 76 pm_L2SA_trans) L2 slice A transition from modified to invalid
+event:0X4C3 counters:3 um:zero minimum:1000 name:PM_L2SA_SHR_INV_GRP76 : (Group 76 pm_L2SA_trans) L2 slice A transition from shared to invalid
+event:0X4C4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP76 : (Group 76 pm_L2SA_trans) Run instructions completed
+event:0X4C5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP76 : (Group 76 pm_L2SA_trans) Run cycles
+
+#Group 77 pm_L2SB_trans, L2 slice B state transistions
+event:0X4D0 counters:0 um:zero minimum:1000 name:PM_L2SB_MOD_TAG_GRP77 : (Group 77 pm_L2SB_trans) L2 slice B transition from modified to tagged
+event:0X4D1 counters:1 um:zero minimum:1000 name:PM_L2SB_SHR_MOD_GRP77 : (Group 77 pm_L2SB_trans) L2 slice B transition from shared to modified
+event:0X4D2 counters:2 um:zero minimum:1000 name:PM_L2SB_MOD_INV_GRP77 : (Group 77 pm_L2SB_trans) L2 slice B transition from modified to invalid
+event:0X4D3 counters:3 um:zero minimum:1000 name:PM_L2SB_SHR_INV_GRP77 : (Group 77 pm_L2SB_trans) L2 slice B transition from shared to invalid
+event:0X4D4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP77 : (Group 77 pm_L2SB_trans) Run instructions completed
+event:0X4D5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP77 : (Group 77 pm_L2SB_trans) Run cycles
+
+#Group 78 pm_L2SC_trans, L2 slice C state transistions
+event:0X4E0 counters:0 um:zero minimum:1000 name:PM_L2SC_MOD_TAG_GRP78 : (Group 78 pm_L2SC_trans) L2 slice C transition from modified to tagged
+event:0X4E1 counters:1 um:zero minimum:1000 name:PM_L2SC_SHR_MOD_GRP78 : (Group 78 pm_L2SC_trans) L2 slice C transition from shared to modified
+event:0X4E2 counters:2 um:zero minimum:1000 name:PM_L2SC_MOD_INV_GRP78 : (Group 78 pm_L2SC_trans) L2 slice C transition from modified to invalid
+event:0X4E3 counters:3 um:zero minimum:1000 name:PM_L2SC_SHR_INV_GRP78 : (Group 78 pm_L2SC_trans) L2 slice C transition from shared to invalid
+event:0X4E4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP78 : (Group 78 pm_L2SC_trans) Run instructions completed
+event:0X4E5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP78 : (Group 78 pm_L2SC_trans) Run cycles
+
+#Group 79 pm_L3SAB_retry, L3 slice A/B snoop retry and all CI/CO busy
+event:0X4F0 counters:0 um:zero minimum:1000 name:PM_L3SA_ALL_BUSY_GRP79 : (Group 79 pm_L3SAB_retry) L3 slice A active for every cycle all CI/CO machines busy
+event:0X4F1 counters:1 um:zero minimum:1000 name:PM_L3SB_ALL_BUSY_GRP79 : (Group 79 pm_L3SAB_retry) L3 slice B active for every cycle all CI/CO machines busy
+event:0X4F2 counters:2 um:zero minimum:1000 name:PM_L3SA_SNOOP_RETRY_GRP79 : (Group 79 pm_L3SAB_retry) L3 slice A snoop retries
+event:0X4F3 counters:3 um:zero minimum:1000 name:PM_L3SB_SNOOP_RETRY_GRP79 : (Group 79 pm_L3SAB_retry) L3 slice B snoop retries
+event:0X4F4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP79 : (Group 79 pm_L3SAB_retry) Run instructions completed
+event:0X4F5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP79 : (Group 79 pm_L3SAB_retry) Run cycles
+
+#Group 80 pm_L3SAB_hit, L3 slice A/B hit and reference
+event:0X500 counters:0 um:zero minimum:1000 name:PM_L3SA_REF_GRP80 : (Group 80 pm_L3SAB_hit) L3 slice A references
+event:0X501 counters:1 um:zero minimum:1000 name:PM_L3SB_REF_GRP80 : (Group 80 pm_L3SAB_hit) L3 slice B references
+event:0X502 counters:2 um:zero minimum:1000 name:PM_L3SA_HIT_GRP80 : (Group 80 pm_L3SAB_hit) L3 slice A hits
+event:0X503 counters:3 um:zero minimum:1000 name:PM_L3SB_HIT_GRP80 : (Group 80 pm_L3SAB_hit) L3 slice B hits
+event:0X504 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP80 : (Group 80 pm_L3SAB_hit) Run instructions completed
+event:0X505 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP80 : (Group 80 pm_L3SAB_hit) Run cycles
+
+#Group 81 pm_L3SC_retry_hit, L3 slice C hit & snoop retry
+event:0X510 counters:0 um:zero minimum:1000 name:PM_L3SC_ALL_BUSY_GRP81 : (Group 81 pm_L3SC_retry_hit) L3 slice C active for every cycle all CI/CO machines busy
+event:0X511 counters:1 um:zero minimum:1000 name:PM_L3SC_REF_GRP81 : (Group 81 pm_L3SC_retry_hit) L3 slice C references
+event:0X512 counters:2 um:zero minimum:1000 name:PM_L3SC_SNOOP_RETRY_GRP81 : (Group 81 pm_L3SC_retry_hit) L3 slice C snoop retries
+event:0X513 counters:3 um:zero minimum:1000 name:PM_L3SC_HIT_GRP81 : (Group 81 pm_L3SC_retry_hit) L3 Slice C hits
+event:0X514 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP81 : (Group 81 pm_L3SC_retry_hit) Run instructions completed
+event:0X515 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP81 : (Group 81 pm_L3SC_retry_hit) Run cycles
+
+#Group 82 pm_fpu1, Floating Point events
+event:0X520 counters:0 um:zero minimum:1000 name:PM_FPU_FDIV_GRP82 : (Group 82 pm_fpu1) FPU executed FDIV instruction
+event:0X521 counters:1 um:zero minimum:1000 name:PM_FPU_FMA_GRP82 : (Group 82 pm_fpu1) FPU executed multiply-add instruction
+event:0X522 counters:2 um:zero minimum:1000 name:PM_FPU_FMOV_FEST_GRP82 : (Group 82 pm_fpu1) FPU executing FMOV or FEST instructions
+event:0X523 counters:3 um:zero minimum:1000 name:PM_FPU_FEST_GRP82 : (Group 82 pm_fpu1) FPU executed FEST instruction
+event:0X524 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP82 : (Group 82 pm_fpu1) Run instructions completed
+event:0X525 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP82 : (Group 82 pm_fpu1) Run cycles
+
+#Group 83 pm_fpu2, Floating Point events
+event:0X530 counters:0 um:zero minimum:1000 name:PM_FPU_1FLOP_GRP83 : (Group 83 pm_fpu2) FPU executed one flop instruction
+event:0X531 counters:1 um:zero minimum:1000 name:PM_FPU_FSQRT_GRP83 : (Group 83 pm_fpu2) FPU executed FSQRT instruction
+event:0X532 counters:2 um:zero minimum:1000 name:PM_FPU_FRSP_FCONV_GRP83 : (Group 83 pm_fpu2) FPU executed FRSP or FCONV instructions
+event:0X533 counters:3 um:zero minimum:1000 name:PM_FPU_FIN_GRP83 : (Group 83 pm_fpu2) FPU produced a result
+event:0X534 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP83 : (Group 83 pm_fpu2) Run instructions completed
+event:0X535 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP83 : (Group 83 pm_fpu2) Run cycles
+
+#Group 84 pm_fpu3, Floating point events
+event:0X540 counters:0 um:zero minimum:1000 name:PM_FPU_DENORM_GRP84 : (Group 84 pm_fpu3) FPU received denormalized data
+event:0X541 counters:1 um:zero minimum:1000 name:PM_FPU_STALL3_GRP84 : (Group 84 pm_fpu3) FPU stalled in pipe3
+event:0X542 counters:2 um:zero minimum:1000 name:PM_FPU0_FIN_GRP84 : (Group 84 pm_fpu3) FPU0 produced a result
+event:0X543 counters:3 um:zero minimum:1000 name:PM_FPU1_FIN_GRP84 : (Group 84 pm_fpu3) FPU1 produced a result
+event:0X544 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP84 : (Group 84 pm_fpu3) Run instructions completed
+event:0X545 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP84 : (Group 84 pm_fpu3) Run cycles
+
+#Group 85 pm_fpu4, Floating point events
+event:0X550 counters:0 um:zero minimum:1000 name:PM_FPU_SINGLE_GRP85 : (Group 85 pm_fpu4) FPU executed single precision instruction
+event:0X551 counters:1 um:zero minimum:1000 name:PM_FPU_STF_GRP85 : (Group 85 pm_fpu4) FPU executed store instruction
+event:0X552 counters:2 um:zero minimum:1000 name:PM_IOPS_CMPL_GRP85 : (Group 85 pm_fpu4) IOPS instructions completed
+event:0X553 counters:3 um:zero minimum:1000 name:PM_LSU_LDF_GRP85 : (Group 85 pm_fpu4) LSU executed Floating Point load instruction
+event:0X554 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP85 : (Group 85 pm_fpu4) Run instructions completed
+event:0X555 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP85 : (Group 85 pm_fpu4) Run cycles
+
+#Group 86 pm_fpu5, Floating point events by unit
+event:0X560 counters:0 um:zero minimum:1000 name:PM_FPU0_FSQRT_GRP86 : (Group 86 pm_fpu5) FPU0 executed FSQRT instruction
+event:0X561 counters:1 um:zero minimum:1000 name:PM_FPU1_FSQRT_GRP86 : (Group 86 pm_fpu5) FPU1 executed FSQRT instruction
+event:0X562 counters:2 um:zero minimum:1000 name:PM_FPU0_FEST_GRP86 : (Group 86 pm_fpu5) FPU0 executed FEST instruction
+event:0X563 counters:3 um:zero minimum:1000 name:PM_FPU1_FEST_GRP86 : (Group 86 pm_fpu5) FPU1 executed FEST instruction
+event:0X564 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP86 : (Group 86 pm_fpu5) Run instructions completed
+event:0X565 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP86 : (Group 86 pm_fpu5) Run cycles
+
+#Group 87 pm_fpu6, Floating point events by unit
+event:0X570 counters:0 um:zero minimum:1000 name:PM_FPU0_DENORM_GRP87 : (Group 87 pm_fpu6) FPU0 received denormalized data
+event:0X571 counters:1 um:zero minimum:1000 name:PM_FPU1_DENORM_GRP87 : (Group 87 pm_fpu6) FPU1 received denormalized data
+event:0X572 counters:2 um:zero minimum:1000 name:PM_FPU0_FMOV_FEST_GRP87 : (Group 87 pm_fpu6) FPU0 executed FMOV or FEST instructions
+event:0X573 counters:3 um:zero minimum:1000 name:PM_FPU1_FMOV_FEST_GRP87 : (Group 87 pm_fpu6) FPU1 executing FMOV or FEST instructions
+event:0X574 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP87 : (Group 87 pm_fpu6) Run instructions completed
+event:0X575 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP87 : (Group 87 pm_fpu6) Run cycles
+
+#Group 88 pm_fpu7, Floating point events by unit
+event:0X580 counters:0 um:zero minimum:1000 name:PM_FPU0_FDIV_GRP88 : (Group 88 pm_fpu7) FPU0 executed FDIV instruction
+event:0X581 counters:1 um:zero minimum:1000 name:PM_FPU1_FDIV_GRP88 : (Group 88 pm_fpu7) FPU1 executed FDIV instruction
+event:0X582 counters:2 um:zero minimum:1000 name:PM_FPU0_FRSP_FCONV_GRP88 : (Group 88 pm_fpu7) FPU0 executed FRSP or FCONV instructions
+event:0X583 counters:3 um:zero minimum:1000 name:PM_FPU1_FRSP_FCONV_GRP88 : (Group 88 pm_fpu7) FPU1 executed FRSP or FCONV instructions
+event:0X584 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP88 : (Group 88 pm_fpu7) Run instructions completed
+event:0X585 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP88 : (Group 88 pm_fpu7) Run cycles
+
+#Group 89 pm_fpu8, Floating point events by unit
+event:0X590 counters:0 um:zero minimum:1000 name:PM_FPU0_STALL3_GRP89 : (Group 89 pm_fpu8) FPU0 stalled in pipe3
+event:0X591 counters:1 um:zero minimum:1000 name:PM_FPU1_STALL3_GRP89 : (Group 89 pm_fpu8) FPU1 stalled in pipe3
+event:0X592 counters:2 um:zero minimum:1000 name:PM_IOPS_CMPL_GRP89 : (Group 89 pm_fpu8) IOPS instructions completed
+event:0X593 counters:3 um:zero minimum:1000 name:PM_FPU0_FPSCR_GRP89 : (Group 89 pm_fpu8) FPU0 executed FPSCR instruction
+event:0X594 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP89 : (Group 89 pm_fpu8) Run instructions completed
+event:0X595 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP89 : (Group 89 pm_fpu8) Run cycles
+
+#Group 90 pm_fpu9, Floating point events by unit
+event:0X5A0 counters:0 um:zero minimum:1000 name:PM_FPU0_SINGLE_GRP90 : (Group 90 pm_fpu9) FPU0 executed single precision instruction
+event:0X5A1 counters:1 um:zero minimum:1000 name:PM_FPU1_SINGLE_GRP90 : (Group 90 pm_fpu9) FPU1 executed single precision instruction
+event:0X5A2 counters:2 um:zero minimum:1000 name:PM_LSU0_LDF_GRP90 : (Group 90 pm_fpu9) LSU0 executed Floating Point load instruction
+event:0X5A3 counters:3 um:zero minimum:1000 name:PM_LSU1_LDF_GRP90 : (Group 90 pm_fpu9) LSU1 executed Floating Point load instruction
+event:0X5A4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP90 : (Group 90 pm_fpu9) Run instructions completed
+event:0X5A5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP90 : (Group 90 pm_fpu9) Run cycles
+
+#Group 91 pm_fpu10, Floating point events by unit
+event:0X5B0 counters:0 um:zero minimum:1000 name:PM_FPU0_FMA_GRP91 : (Group 91 pm_fpu10) FPU0 executed multiply-add instruction
+event:0X5B1 counters:1 um:zero minimum:1000 name:PM_FPU1_FMA_GRP91 : (Group 91 pm_fpu10) FPU1 executed multiply-add instruction
+event:0X5B2 counters:2 um:zero minimum:1000 name:PM_IOPS_CMPL_GRP91 : (Group 91 pm_fpu10) IOPS instructions completed
+event:0X5B3 counters:3 um:zero minimum:1000 name:PM_FPU1_FRSP_FCONV_GRP91 : (Group 91 pm_fpu10) FPU1 executed FRSP or FCONV instructions
+event:0X5B4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP91 : (Group 91 pm_fpu10) Run instructions completed
+event:0X5B5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP91 : (Group 91 pm_fpu10) Run cycles
+
+#Group 92 pm_fpu11, Floating point events by unit
+event:0X5C0 counters:0 um:zero minimum:1000 name:PM_FPU0_1FLOP_GRP92 : (Group 92 pm_fpu11) FPU0 executed add, mult, sub, cmp or sel instruction
+event:0X5C1 counters:1 um:zero minimum:1000 name:PM_FPU1_1FLOP_GRP92 : (Group 92 pm_fpu11) FPU1 executed add, mult, sub, cmp or sel instruction
+event:0X5C2 counters:2 um:zero minimum:1000 name:PM_FPU0_FIN_GRP92 : (Group 92 pm_fpu11) FPU0 produced a result
+event:0X5C3 counters:3 um:zero minimum:1000 name:PM_IOPS_CMPL_GRP92 : (Group 92 pm_fpu11) IOPS instructions completed
+event:0X5C4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP92 : (Group 92 pm_fpu11) Run instructions completed
+event:0X5C5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP92 : (Group 92 pm_fpu11) Run cycles
+
+#Group 93 pm_fpu12, Floating point events by unit
+event:0X5D0 counters:0 um:zero minimum:1000 name:PM_FPU0_STF_GRP93 : (Group 93 pm_fpu12) FPU0 executed store instruction
+event:0X5D1 counters:1 um:zero minimum:1000 name:PM_FPU1_STF_GRP93 : (Group 93 pm_fpu12) FPU1 executed store instruction
+event:0X5D2 counters:2 um:zero minimum:1000 name:PM_LSU0_LDF_GRP93 : (Group 93 pm_fpu12) LSU0 executed Floating Point load instruction
+event:0X5D3 counters:3 um:zero minimum:1000 name:PM_IOPS_CMPL_GRP93 : (Group 93 pm_fpu12) IOPS instructions completed
+event:0X5D4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP93 : (Group 93 pm_fpu12) Run instructions completed
+event:0X5D5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP93 : (Group 93 pm_fpu12) Run cycles
+
+#Group 94 pm_fxu1, Fixed Point events
+event:0X5E0 counters:0 um:zero minimum:1000 name:PM_FXU_IDLE_GRP94 : (Group 94 pm_fxu1) FXU idle
+event:0X5E1 counters:1 um:zero minimum:1000 name:PM_FXU_BUSY_GRP94 : (Group 94 pm_fxu1) FXU busy
+event:0X5E2 counters:2 um:zero minimum:1000 name:PM_FXU0_BUSY_FXU1_IDLE_GRP94 : (Group 94 pm_fxu1) FXU0 busy FXU1 idle
+event:0X5E3 counters:3 um:zero minimum:1000 name:PM_FXU1_BUSY_FXU0_IDLE_GRP94 : (Group 94 pm_fxu1) FXU1 busy FXU0 idle
+event:0X5E4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP94 : (Group 94 pm_fxu1) Run instructions completed
+event:0X5E5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP94 : (Group 94 pm_fxu1) Run cycles
+
+#Group 95 pm_fxu2, Fixed Point events
+event:0X5F0 counters:0 um:zero minimum:1000 name:PM_MRK_GRP_DISP_GRP95 : (Group 95 pm_fxu2) Marked group dispatched
+event:0X5F1 counters:1 um:zero minimum:1000 name:PM_MRK_GRP_BR_REDIR_GRP95 : (Group 95 pm_fxu2) Group experienced marked branch redirect
+event:0X5F2 counters:2 um:zero minimum:1000 name:PM_FXU_FIN_GRP95 : (Group 95 pm_fxu2) FXU produced a result
+event:0X5F3 counters:3 um:zero minimum:1000 name:PM_FXLS_FULL_CYC_GRP95 : (Group 95 pm_fxu2) Cycles FXLS queue is full
+event:0X5F4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP95 : (Group 95 pm_fxu2) Run instructions completed
+event:0X5F5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP95 : (Group 95 pm_fxu2) Run cycles
+
+#Group 96 pm_fxu3, Fixed Point events
+event:0X600 counters:0 um:zero minimum:1000 name:PM_3INST_CLB_CYC_GRP96 : (Group 96 pm_fxu3) Cycles 3 instructions in CLB
+event:0X601 counters:1 um:zero minimum:1000 name:PM_4INST_CLB_CYC_GRP96 : (Group 96 pm_fxu3) Cycles 4 instructions in CLB
+event:0X602 counters:2 um:zero minimum:1000 name:PM_FXU0_FIN_GRP96 : (Group 96 pm_fxu3) FXU0 produced a result
+event:0X603 counters:3 um:zero minimum:1000 name:PM_FXU1_FIN_GRP96 : (Group 96 pm_fxu3) FXU1 produced a result
+event:0X604 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP96 : (Group 96 pm_fxu3) Run instructions completed
+event:0X605 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP96 : (Group 96 pm_fxu3) Run cycles
+
+#Group 97 pm_smt_priorities1, Thread priority events
+event:0X610 counters:0 um:zero minimum:1000 name:PM_THRD_PRIO_4_CYC_GRP97 : (Group 97 pm_smt_priorities1) Cycles thread running at priority level 4
+event:0X611 counters:1 um:zero minimum:1000 name:PM_THRD_PRIO_7_CYC_GRP97 : (Group 97 pm_smt_priorities1) Cycles thread running at priority level 7
+event:0X612 counters:2 um:zero minimum:1000 name:PM_THRD_PRIO_DIFF_0_CYC_GRP97 : (Group 97 pm_smt_priorities1) Cycles no thread priority difference
+event:0X613 counters:3 um:zero minimum:1000 name:PM_THRD_PRIO_DIFF_1or2_CYC_GRP97 : (Group 97 pm_smt_priorities1) Cycles thread priority difference is 1 or 2
+event:0X614 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP97 : (Group 97 pm_smt_priorities1) Run instructions completed
+event:0X615 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP97 : (Group 97 pm_smt_priorities1) Run cycles
+
+#Group 98 pm_smt_priorities2, Thread priority events
+event:0X620 counters:0 um:zero minimum:1000 name:PM_THRD_PRIO_3_CYC_GRP98 : (Group 98 pm_smt_priorities2) Cycles thread running at priority level 3
+event:0X621 counters:1 um:zero minimum:1000 name:PM_THRD_PRIO_6_CYC_GRP98 : (Group 98 pm_smt_priorities2) Cycles thread running at priority level 6
+event:0X622 counters:2 um:zero minimum:1000 name:PM_THRD_PRIO_DIFF_3or4_CYC_GRP98 : (Group 98 pm_smt_priorities2) Cycles thread priority difference is 3 or 4
+event:0X623 counters:3 um:zero minimum:1000 name:PM_THRD_PRIO_DIFF_5or6_CYC_GRP98 : (Group 98 pm_smt_priorities2) Cycles thread priority difference is 5 or 6
+event:0X624 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP98 : (Group 98 pm_smt_priorities2) Run instructions completed
+event:0X625 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP98 : (Group 98 pm_smt_priorities2) Run cycles
+
+#Group 99 pm_smt_priorities3, Thread priority events
+event:0X630 counters:0 um:zero minimum:1000 name:PM_THRD_PRIO_2_CYC_GRP99 : (Group 99 pm_smt_priorities3) Cycles thread running at priority level 2
+event:0X631 counters:1 um:zero minimum:1000 name:PM_THRD_PRIO_5_CYC_GRP99 : (Group 99 pm_smt_priorities3) Cycles thread running at priority level 5
+event:0X632 counters:2 um:zero minimum:1000 name:PM_THRD_PRIO_DIFF_minus1or2_CYC_GRP99 : (Group 99 pm_smt_priorities3) Cycles thread priority difference is -1 or -2
+event:0X633 counters:3 um:zero minimum:1000 name:PM_THRD_PRIO_DIFF_minus3or4_CYC_GRP99 : (Group 99 pm_smt_priorities3) Cycles thread priority difference is -3 or -4
+event:0X634 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP99 : (Group 99 pm_smt_priorities3) Run instructions completed
+event:0X635 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP99 : (Group 99 pm_smt_priorities3) Run cycles
+
+#Group 100 pm_smt_priorities4, Thread priority events
+event:0X640 counters:0 um:zero minimum:1000 name:PM_THRD_PRIO_1_CYC_GRP100 : (Group 100 pm_smt_priorities4) Cycles thread running at priority level 1
+event:0X641 counters:1 um:zero minimum:1000 name:PM_HV_CYC_GRP100 : (Group 100 pm_smt_priorities4) Hypervisor Cycles
+event:0X642 counters:2 um:zero minimum:1000 name:PM_THRD_PRIO_DIFF_minus5or6_CYC_GRP100 : (Group 100 pm_smt_priorities4) Cycles thread priority difference is -5 or -6
+event:0X643 counters:3 um:zero minimum:1000 name:PM_IOPS_CMPL_GRP100 : (Group 100 pm_smt_priorities4) IOPS instructions completed
+event:0X644 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP100 : (Group 100 pm_smt_priorities4) Run instructions completed
+event:0X645 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP100 : (Group 100 pm_smt_priorities4) Run cycles
+
+#Group 101 pm_smt_both, Thread common events
+event:0X650 counters:0 um:zero minimum:1000 name:PM_THRD_ONE_RUN_CYC_GRP101 : (Group 101 pm_smt_both) One of the threads in run cycles
+event:0X651 counters:1 um:zero minimum:1000 name:PM_THRD_GRP_CMPL_BOTH_CYC_GRP101 : (Group 101 pm_smt_both) Cycles group completed by both threads
+event:0X652 counters:2 um:zero minimum:1000 name:PM_IOPS_CMPL_GRP101 : (Group 101 pm_smt_both) IOPS instructions completed
+event:0X653 counters:3 um:zero minimum:1000 name:PM_THRD_L2MISS_BOTH_CYC_GRP101 : (Group 101 pm_smt_both) Cycles both threads in L2 misses
+event:0X654 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP101 : (Group 101 pm_smt_both) Run instructions completed
+event:0X655 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP101 : (Group 101 pm_smt_both) Run cycles
+
+#Group 102 pm_smt_selection, Thread selection
+event:0X660 counters:0 um:zero minimum:1000 name:PM_SNOOP_TLBIE_GRP102 : (Group 102 pm_smt_selection) Snoop TLBIE
+event:0X661 counters:1 um:zero minimum:1000 name:PM_IOPS_CMPL_GRP102 : (Group 102 pm_smt_selection) IOPS instructions completed
+event:0X662 counters:2 um:zero minimum:1000 name:PM_THRD_SEL_T0_GRP102 : (Group 102 pm_smt_selection) Decode selected thread 0
+event:0X663 counters:3 um:zero minimum:1000 name:PM_THRD_SEL_T1_GRP102 : (Group 102 pm_smt_selection) Decode selected thread 1
+event:0X664 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP102 : (Group 102 pm_smt_selection) Run instructions completed
+event:0X665 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP102 : (Group 102 pm_smt_selection) Run cycles
+
+#Group 103 pm_smt_selectover1, Thread selection overide
+event:0X670 counters:0 um:zero minimum:1000 name:PM_IOPS_CMPL_GRP103 : (Group 103 pm_smt_selectover1) IOPS instructions completed
+event:0X671 counters:1 um:zero minimum:1000 name:PM_0INST_CLB_CYC_GRP103 : (Group 103 pm_smt_selectover1) Cycles no instructions in CLB
+event:0X672 counters:2 um:zero minimum:1000 name:PM_THRD_SEL_OVER_CLB_EMPTY_GRP103 : (Group 103 pm_smt_selectover1) Thread selection overides caused by CLB empty
+event:0X673 counters:3 um:zero minimum:1000 name:PM_THRD_SEL_OVER_GCT_IMBAL_GRP103 : (Group 103 pm_smt_selectover1) Thread selection overides caused by GCT imbalance
+event:0X674 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP103 : (Group 103 pm_smt_selectover1) Run instructions completed
+event:0X675 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP103 : (Group 103 pm_smt_selectover1) Run cycles
+
+#Group 104 pm_smt_selectover2, Thread selection overide
+event:0X680 counters:0 um:zero minimum:1000 name:PM_IOPS_CMPL_GRP104 : (Group 104 pm_smt_selectover2) IOPS instructions completed
+event:0X681 counters:1 um:zero minimum:10000 name:PM_CYC_GRP104 : (Group 104 pm_smt_selectover2) Processor cycles
+event:0X682 counters:2 um:zero minimum:1000 name:PM_THRD_SEL_OVER_ISU_HOLD_GRP104 : (Group 104 pm_smt_selectover2) Thread selection overides caused by ISU holds
+event:0X683 counters:3 um:zero minimum:1000 name:PM_THRD_SEL_OVER_L2MISS_GRP104 : (Group 104 pm_smt_selectover2) Thread selection overides caused by L2 misses
+event:0X684 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP104 : (Group 104 pm_smt_selectover2) Run instructions completed
+event:0X685 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP104 : (Group 104 pm_smt_selectover2) Run cycles
+
+#Group 105 pm_fabric1, Fabric events
+event:0X690 counters:0 um:zero minimum:1000 name:PM_FAB_CMD_ISSUED_GRP105 : (Group 105 pm_fabric1) Fabric command issued
+event:0X691 counters:1 um:zero minimum:1000 name:PM_FAB_DCLAIM_ISSUED_GRP105 : (Group 105 pm_fabric1) dclaim issued
+event:0X692 counters:2 um:zero minimum:1000 name:PM_FAB_CMD_RETRIED_GRP105 : (Group 105 pm_fabric1) Fabric command retried
+event:0X693 counters:3 um:zero minimum:1000 name:PM_FAB_DCLAIM_RETRIED_GRP105 : (Group 105 pm_fabric1) dclaim retried
+event:0X694 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP105 : (Group 105 pm_fabric1) Run instructions completed
+event:0X695 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP105 : (Group 105 pm_fabric1) Run cycles
+
+#Group 106 pm_fabric2, Fabric data movement
+event:0X6A0 counters:0 um:zero minimum:1000 name:PM_FAB_P1toM1_SIDECAR_EMPTY_GRP106 : (Group 106 pm_fabric2) P1 to M1 sidecar empty
+event:0X6A1 counters:1 um:zero minimum:1000 name:PM_FAB_HOLDtoVN_EMPTY_GRP106 : (Group 106 pm_fabric2) Hold buffer to VN empty
+event:0X6A2 counters:2 um:zero minimum:1000 name:PM_FAB_P1toVNorNN_SIDECAR_EMPTY_GRP106 : (Group 106 pm_fabric2) P1 to VN/NN sidecar empty
+event:0X6A3 counters:3 um:zero minimum:1000 name:PM_FAB_VBYPASS_EMPTY_GRP106 : (Group 106 pm_fabric2) Vertical bypass buffer empty
+event:0X6A4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP106 : (Group 106 pm_fabric2) Run instructions completed
+event:0X6A5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP106 : (Group 106 pm_fabric2) Run cycles
+
+#Group 107 pm_fabric3, Fabric data movement
+event:0X6B0 counters:0 um:zero minimum:1000 name:PM_FAB_PNtoNN_DIRECT_GRP107 : (Group 107 pm_fabric3) PN to NN beat went straight to its destination
+event:0X6B1 counters:1 um:zero minimum:1000 name:PM_FAB_PNtoVN_DIRECT_GRP107 : (Group 107 pm_fabric3) PN to VN beat went straight to its destination
+event:0X6B2 counters:2 um:zero minimum:1000 name:PM_FAB_PNtoNN_SIDECAR_GRP107 : (Group 107 pm_fabric3) PN to NN beat went to sidecar first
+event:0X6B3 counters:3 um:zero minimum:1000 name:PM_FAB_PNtoVN_SIDECAR_GRP107 : (Group 107 pm_fabric3) PN to VN beat went to sidecar first
+event:0X6B4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP107 : (Group 107 pm_fabric3) Run instructions completed
+event:0X6B5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP107 : (Group 107 pm_fabric3) Run cycles
+
+#Group 108 pm_fabric4, Fabric data movement
+event:0X6C0 counters:0 um:zero minimum:1000 name:PM_FAB_M1toP1_SIDECAR_EMPTY_GRP108 : (Group 108 pm_fabric4) M1 to P1 sidecar empty
+event:0X6C1 counters:1 um:zero minimum:1000 name:PM_FAB_HOLDtoNN_EMPTY_GRP108 : (Group 108 pm_fabric4) Hold buffer to NN empty
+event:0X6C2 counters:2 um:zero minimum:1000 name:PM_EE_OFF_GRP108 : (Group 108 pm_fabric4) Cycles MSR(EE) bit off
+event:0X6C3 counters:3 um:zero minimum:1000 name:PM_FAB_M1toVNorNN_SIDECAR_EMPTY_GRP108 : (Group 108 pm_fabric4) M1 to VN/NN sidecar empty
+event:0X6C4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP108 : (Group 108 pm_fabric4) Run instructions completed
+event:0X6C5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP108 : (Group 108 pm_fabric4) Run cycles
+
+#Group 109 pm_snoop1, Snoop retry
+event:0X6D0 counters:0 um:zero minimum:1000 name:PM_SNOOP_RD_RETRY_QFULL_GRP109 : (Group 109 pm_snoop1) Snoop read retry due to read queue full
+event:0X6D1 counters:1 um:zero minimum:1000 name:PM_SNOOP_DCLAIM_RETRY_QFULL_GRP109 : (Group 109 pm_snoop1) Snoop dclaim/flush retry due to write/dclaim queues full
+event:0X6D2 counters:2 um:zero minimum:1000 name:PM_SNOOP_WR_RETRY_QFULL_GRP109 : (Group 109 pm_snoop1) Snoop read retry due to read queue full
+event:0X6D3 counters:3 um:zero minimum:1000 name:PM_SNOOP_PARTIAL_RTRY_QFULL_GRP109 : (Group 109 pm_snoop1) Snoop partial write retry due to partial-write queues full
+event:0X6D4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP109 : (Group 109 pm_snoop1) Run instructions completed
+event:0X6D5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP109 : (Group 109 pm_snoop1) Run cycles
+
+#Group 110 pm_snoop2, Snoop read retry
+event:0X6E0 counters:0 um:zero minimum:1000 name:PM_SNOOP_RD_RETRY_RQ_GRP110 : (Group 110 pm_snoop2) Snoop read retry due to collision with active read queue
+event:0X6E1 counters:1 um:zero minimum:1000 name:PM_SNOOP_RETRY_1AHEAD_GRP110 : (Group 110 pm_snoop2) Snoop retry due to one ahead collision
+event:0X6E2 counters:2 um:zero minimum:1000 name:PM_SNOOP_RD_RETRY_WQ_GRP110 : (Group 110 pm_snoop2) Snoop read retry due to collision with active write queue
+event:0X6E3 counters:3 um:zero minimum:1000 name:PM_IOPS_CMPL_GRP110 : (Group 110 pm_snoop2) IOPS instructions completed
+event:0X6E4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP110 : (Group 110 pm_snoop2) Run instructions completed
+event:0X6E5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP110 : (Group 110 pm_snoop2) Run cycles
+
+#Group 111 pm_snoop3, Snoop write retry
+event:0X6F0 counters:0 um:zero minimum:1000 name:PM_SNOOP_WR_RETRY_RQ_GRP111 : (Group 111 pm_snoop3) Snoop write/dclaim retry due to collision with active read queue
+event:0X6F1 counters:1 um:zero minimum:1000 name:PM_MEM_HI_PRIO_WR_CMPL_GRP111 : (Group 111 pm_snoop3) High priority write completed
+event:0X6F2 counters:2 um:zero minimum:1000 name:PM_SNOOP_WR_RETRY_WQ_GRP111 : (Group 111 pm_snoop3) Snoop write/dclaim retry due to collision with active write queue
+event:0X6F3 counters:3 um:zero minimum:1000 name:PM_MEM_LO_PRIO_WR_CMPL_GRP111 : (Group 111 pm_snoop3) Low priority write completed
+event:0X6F4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP111 : (Group 111 pm_snoop3) Run instructions completed
+event:0X6F5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP111 : (Group 111 pm_snoop3) Run cycles
+
+#Group 112 pm_snoop4, Snoop partial write retry
+event:0X700 counters:0 um:zero minimum:1000 name:PM_SNOOP_PW_RETRY_RQ_GRP112 : (Group 112 pm_snoop4) Snoop partial-write retry due to collision with active read queue
+event:0X701 counters:1 um:zero minimum:1000 name:PM_MEM_HI_PRIO_PW_CMPL_GRP112 : (Group 112 pm_snoop4) High priority partial-write completed
+event:0X702 counters:2 um:zero minimum:1000 name:PM_SNOOP_PW_RETRY_WQ_PWQ_GRP112 : (Group 112 pm_snoop4) Snoop partial-write retry due to collision with active write or partial-write queue
+event:0X703 counters:3 um:zero minimum:1000 name:PM_MEM_LO_PRIO_PW_CMPL_GRP112 : (Group 112 pm_snoop4) Low priority partial-write completed
+event:0X704 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP112 : (Group 112 pm_snoop4) Run instructions completed
+event:0X705 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP112 : (Group 112 pm_snoop4) Run cycles
+
+#Group 113 pm_mem_rq, Memory read queue dispatch
+event:0X710 counters:0 um:zero minimum:1000 name:PM_MEM_RQ_DISP_GRP113 : (Group 113 pm_mem_rq) Memory read queue dispatched
+event:0X711 counters:1 um:zero minimum:1000 name:PM_MEM_RQ_DISP_BUSY8to15_GRP113 : (Group 113 pm_mem_rq) Memory read queue dispatched with 8-15 queues busy
+event:0X712 counters:2 um:zero minimum:1000 name:PM_MEM_RQ_DISP_BUSY1to7_GRP113 : (Group 113 pm_mem_rq) Memory read queue dispatched with 1-7 queues busy
+event:0X713 counters:3 um:zero minimum:1000 name:PM_EE_OFF_EXT_INT_GRP113 : (Group 113 pm_mem_rq) Cycles MSR(EE) bit off and external interrupt pending
+event:0X714 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP113 : (Group 113 pm_mem_rq) Run instructions completed
+event:0X715 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP113 : (Group 113 pm_mem_rq) Run cycles
+
+#Group 114 pm_mem_read, Memory read complete and cancel
+event:0X720 counters:0 um:zero minimum:1000 name:PM_MEM_READ_CMPL_GRP114 : (Group 114 pm_mem_read) Memory read completed or canceled
+event:0X721 counters:1 um:zero minimum:1000 name:PM_MEM_FAST_PATH_RD_CMPL_GRP114 : (Group 114 pm_mem_read) Fast path memory read completed
+event:0X722 counters:2 um:zero minimum:1000 name:PM_MEM_SPEC_RD_CANCEL_GRP114 : (Group 114 pm_mem_read) Speculative memory read canceled
+event:0X723 counters:3 um:zero minimum:1000 name:PM_EXT_INT_GRP114 : (Group 114 pm_mem_read) External interrupts
+event:0X724 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP114 : (Group 114 pm_mem_read) Run instructions completed
+event:0X725 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP114 : (Group 114 pm_mem_read) Run cycles
+
+#Group 115 pm_mem_wq, Memory write queue dispatch
+event:0X730 counters:0 um:zero minimum:1000 name:PM_MEM_WQ_DISP_WRITE_GRP115 : (Group 115 pm_mem_wq) Memory write queue dispatched due to write
+event:0X731 counters:1 um:zero minimum:1000 name:PM_MEM_WQ_DISP_BUSY1to7_GRP115 : (Group 115 pm_mem_wq) Memory write queue dispatched with 1-7 queues busy
+event:0X732 counters:2 um:zero minimum:1000 name:PM_MEM_WQ_DISP_DCLAIM_GRP115 : (Group 115 pm_mem_wq) Memory write queue dispatched due to dclaim/flush
+event:0X733 counters:3 um:zero minimum:1000 name:PM_MEM_WQ_DISP_BUSY8to15_GRP115 : (Group 115 pm_mem_wq) Memory write queue dispatched with 8-15 queues busy
+event:0X734 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP115 : (Group 115 pm_mem_wq) Run instructions completed
+event:0X735 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP115 : (Group 115 pm_mem_wq) Run cycles
+
+#Group 116 pm_mem_pwq, Memory partial write queue
+event:0X740 counters:0 um:zero minimum:1000 name:PM_MEM_PWQ_DISP_GRP116 : (Group 116 pm_mem_pwq) Memory partial-write queue dispatched
+event:0X741 counters:1 um:zero minimum:1000 name:PM_MEM_PWQ_DISP_BUSY2or3_GRP116 : (Group 116 pm_mem_pwq) Memory partial-write queue dispatched with 2-3 queues busy
+event:0X742 counters:2 um:zero minimum:1000 name:PM_MEM_PW_GATH_GRP116 : (Group 116 pm_mem_pwq) Memory partial-write gathered
+event:0X743 counters:3 um:zero minimum:1000 name:PM_MEM_PW_CMPL_GRP116 : (Group 116 pm_mem_pwq) Memory partial-write completed
+event:0X744 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP116 : (Group 116 pm_mem_pwq) Run instructions completed
+event:0X745 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP116 : (Group 116 pm_mem_pwq) Run cycles
+
+#Group 117 pm_threshold, Thresholding
+event:0X750 counters:0 um:zero minimum:1000 name:PM_MRK_GRP_DISP_GRP117 : (Group 117 pm_threshold) Marked group dispatched
+event:0X751 counters:1 um:zero minimum:1000 name:PM_MRK_IMR_RELOAD_GRP117 : (Group 117 pm_threshold) Marked IMR reloaded
+event:0X752 counters:2 um:zero minimum:1000 name:PM_THRESH_TIMEO_GRP117 : (Group 117 pm_threshold) Threshold timeout
+event:0X753 counters:3 um:zero minimum:1000 name:PM_MRK_LSU_FIN_GRP117 : (Group 117 pm_threshold) Marked instruction LSU processing finished
+event:0X754 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP117 : (Group 117 pm_threshold) Run instructions completed
+event:0X755 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP117 : (Group 117 pm_threshold) Run cycles
+
+#Group 118 pm_mrk_grp1, Marked group events
+event:0X760 counters:0 um:zero minimum:1000 name:PM_MRK_GRP_DISP_GRP118 : (Group 118 pm_mrk_grp1) Marked group dispatched
+event:0X761 counters:1 um:zero minimum:1000 name:PM_MRK_ST_MISS_L1_GRP118 : (Group 118 pm_mrk_grp1) Marked L1 D cache store misses
+event:0X762 counters:2 um:zero minimum:1000 name:PM_MRK_INST_FIN_GRP118 : (Group 118 pm_mrk_grp1) Marked instruction finished
+event:0X763 counters:3 um:zero minimum:1000 name:PM_MRK_GRP_CMPL_GRP118 : (Group 118 pm_mrk_grp1) Marked group completed
+event:0X764 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP118 : (Group 118 pm_mrk_grp1) Run instructions completed
+event:0X765 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP118 : (Group 118 pm_mrk_grp1) Run cycles
+
+#Group 119 pm_mrk_grp2, Marked group events
+event:0X770 counters:0 um:zero minimum:1000 name:PM_MRK_GRP_ISSUED_GRP119 : (Group 119 pm_mrk_grp2) Marked group issued
+event:0X771 counters:1 um:zero minimum:1000 name:PM_MRK_BRU_FIN_GRP119 : (Group 119 pm_mrk_grp2) Marked instruction BRU processing finished
+event:0X772 counters:2 um:zero minimum:1000 name:PM_MRK_L1_RELOAD_VALID_GRP119 : (Group 119 pm_mrk_grp2) Marked L1 reload data source valid
+event:0X773 counters:3 um:zero minimum:1000 name:PM_MRK_GRP_IC_MISS_GRP119 : (Group 119 pm_mrk_grp2) Group experienced marked I cache miss
+event:0X774 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP119 : (Group 119 pm_mrk_grp2) Run instructions completed
+event:0X775 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP119 : (Group 119 pm_mrk_grp2) Run cycles
+
+#Group 120 pm_mrk_dsource1, Marked data from
+event:0X780 counters:0 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L2_GRP120 : (Group 120 pm_mrk_dsource1) Marked data loaded from L2
+event:0X781 counters:1 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L2_CYC_GRP120 : (Group 120 pm_mrk_dsource1) Marked load latency from L2
+event:0X782 counters:2 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L25_MOD_GRP120 : (Group 120 pm_mrk_dsource1) Marked data loaded from L2.5 modified
+event:0X783 counters:3 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L25_MOD_CYC_GRP120 : (Group 120 pm_mrk_dsource1) Marked load latency from L2.5 modified
+event:0X784 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP120 : (Group 120 pm_mrk_dsource1) Run instructions completed
+event:0X785 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP120 : (Group 120 pm_mrk_dsource1) Run cycles
+
+#Group 121 pm_mrk_dsource2, Marked data from
+event:0X790 counters:0 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L25_SHR_GRP121 : (Group 121 pm_mrk_dsource2) Marked data loaded from L2.5 shared
+event:0X791 counters:1 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L25_SHR_CYC_GRP121 : (Group 121 pm_mrk_dsource2) Marked load latency from L2.5 shared
+event:0X792 counters:2 um:zero minimum:1000 name:PM_IOPS_CMPL_GRP121 : (Group 121 pm_mrk_dsource2) IOPS instructions completed
+event:0X793 counters:3 um:zero minimum:1000 name:PM_FPU_FIN_GRP121 : (Group 121 pm_mrk_dsource2) FPU produced a result
+event:0X794 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP121 : (Group 121 pm_mrk_dsource2) Run instructions completed
+event:0X795 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP121 : (Group 121 pm_mrk_dsource2) Run cycles
+
+#Group 122 pm_mrk_dsource3, Marked data from
+event:0X7A0 counters:0 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L3_GRP122 : (Group 122 pm_mrk_dsource3) Marked data loaded from L3
+event:0X7A1 counters:1 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L3_CYC_GRP122 : (Group 122 pm_mrk_dsource3) Marked load latency from L3
+event:0X7A2 counters:2 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L35_MOD_GRP122 : (Group 122 pm_mrk_dsource3) Marked data loaded from L3.5 modified
+event:0X7A3 counters:3 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L35_MOD_CYC_GRP122 : (Group 122 pm_mrk_dsource3) Marked load latency from L3.5 modified
+event:0X7A4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP122 : (Group 122 pm_mrk_dsource3) Run instructions completed
+event:0X7A5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP122 : (Group 122 pm_mrk_dsource3) Run cycles
+
+#Group 123 pm_mrk_dsource4, Marked data from
+event:0X7B0 counters:0 um:zero minimum:1000 name:PM_MRK_DATA_FROM_RMEM_GRP123 : (Group 123 pm_mrk_dsource4) Marked data loaded from remote memory
+event:0X7B1 counters:1 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L275_SHR_CYC_GRP123 : (Group 123 pm_mrk_dsource4) Marked load latency from L2.75 shared
+event:0X7B2 counters:2 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L275_SHR_GRP123 : (Group 123 pm_mrk_dsource4) Marked data loaded from L2.75 shared
+event:0X7B3 counters:3 um:zero minimum:1000 name:PM_MRK_DATA_FROM_RMEM_CYC_GRP123 : (Group 123 pm_mrk_dsource4) Marked load latency from remote memory
+event:0X7B4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP123 : (Group 123 pm_mrk_dsource4) Run instructions completed
+event:0X7B5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP123 : (Group 123 pm_mrk_dsource4) Run cycles
+
+#Group 124 pm_mrk_dsource5, Marked data from
+event:0X7C0 counters:0 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L35_SHR_GRP124 : (Group 124 pm_mrk_dsource5) Marked data loaded from L3.5 shared
+event:0X7C1 counters:1 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L35_SHR_CYC_GRP124 : (Group 124 pm_mrk_dsource5) Marked load latency from L3.5 shared
+event:0X7C2 counters:2 um:zero minimum:1000 name:PM_MRK_DATA_FROM_LMEM_GRP124 : (Group 124 pm_mrk_dsource5) Marked data loaded from local memory
+event:0X7C3 counters:3 um:zero minimum:1000 name:PM_MRK_DATA_FROM_LMEM_CYC_GRP124 : (Group 124 pm_mrk_dsource5) Marked load latency from local memory
+event:0X7C4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP124 : (Group 124 pm_mrk_dsource5) Run instructions completed
+event:0X7C5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP124 : (Group 124 pm_mrk_dsource5) Run cycles
+
+#Group 125 pm_mrk_dsource6, Marked data from
+event:0X7D0 counters:0 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L275_MOD_GRP125 : (Group 125 pm_mrk_dsource6) Marked data loaded from L2.75 modified
+event:0X7D1 counters:1 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L275_SHR_CYC_GRP125 : (Group 125 pm_mrk_dsource6) Marked load latency from L2.75 shared
+event:0X7D2 counters:2 um:zero minimum:1000 name:PM_IOPS_CMPL_GRP125 : (Group 125 pm_mrk_dsource6) IOPS instructions completed
+event:0X7D3 counters:3 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L275_MOD_CYC_GRP125 : (Group 125 pm_mrk_dsource6) Marked load latency from L2.75 modified
+event:0X7D4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP125 : (Group 125 pm_mrk_dsource6) Run instructions completed
+event:0X7D5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP125 : (Group 125 pm_mrk_dsource6) Run cycles
+
+#Group 126 pm_mrk_dsource7, Marked data from
+event:0X7E0 counters:0 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L375_MOD_GRP126 : (Group 126 pm_mrk_dsource7) Marked data loaded from L3.75 modified
+event:0X7E1 counters:1 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L375_SHR_CYC_GRP126 : (Group 126 pm_mrk_dsource7) Marked load latency from L3.75 shared
+event:0X7E2 counters:2 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L375_SHR_GRP126 : (Group 126 pm_mrk_dsource7) Marked data loaded from L3.75 shared
+event:0X7E3 counters:3 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L375_MOD_CYC_GRP126 : (Group 126 pm_mrk_dsource7) Marked load latency from L3.75 modified
+event:0X7E4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP126 : (Group 126 pm_mrk_dsource7) Run instructions completed
+event:0X7E5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP126 : (Group 126 pm_mrk_dsource7) Run cycles
+
+#Group 127 pm_mrk_dtlbref, Marked data TLB references
+event:0X7F0 counters:0 um:zero minimum:1000 name:PM_MRK_DTLB_REF_4K_GRP127 : (Group 127 pm_mrk_dtlbref) Marked Data TLB reference for 4K page
+event:0X7F1 counters:1 um:zero minimum:1000 name:PM_MRK_DTLB_REF_64K_GRP127 : (Group 127 pm_mrk_dtlbref) Marked Data TLB reference for 64K page
+event:0X7F2 counters:2 um:zero minimum:1000 name:PM_MRK_DTLB_REF_16M_GRP127 : (Group 127 pm_mrk_dtlbref) Marked Data TLB reference for 16M page
+event:0X7F3 counters:3 um:zero minimum:1000 name:PM_MRK_DTLB_REF_16G_GRP127 : (Group 127 pm_mrk_dtlbref) Marked Data TLB reference for 16G page
+event:0X7F4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP127 : (Group 127 pm_mrk_dtlbref) Run instructions completed
+event:0X7F5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP127 : (Group 127 pm_mrk_dtlbref) Run cycles
+
+#Group 128 pm_mrk_dtlbmiss, Marked data TLB misses
+event:0X800 counters:0 um:zero minimum:1000 name:PM_MRK_DTLB_MISS_4K_GRP128 : (Group 128 pm_mrk_dtlbmiss) Marked Data TLB misses for 4K page
+event:0X801 counters:1 um:zero minimum:1000 name:PM_MRK_DTLB_MISS_64K_GRP128 : (Group 128 pm_mrk_dtlbmiss) Marked Data TLB misses for 64K page
+event:0X802 counters:2 um:zero minimum:1000 name:PM_MRK_DTLB_MISS_16M_GRP128 : (Group 128 pm_mrk_dtlbmiss) Marked Data TLB misses for 16M page
+event:0X803 counters:3 um:zero minimum:1000 name:PM_MRK_DTLB_MISS_16G_GRP128 : (Group 128 pm_mrk_dtlbmiss) Marked Data TLB misses for 16G page
+event:0X804 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP128 : (Group 128 pm_mrk_dtlbmiss) Run instructions completed
+event:0X805 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP128 : (Group 128 pm_mrk_dtlbmiss) Run cycles
+
+#Group 129 pm_mrk_dtlb_dslb, Marked data TLB references and misses and marked data SLB misses
+event:0X810 counters:0 um:zero minimum:1000 name:PM_MRK_DTLB_REF_GRP129 : (Group 129 pm_mrk_dtlb_dslb) Marked Data TLB reference
+event:0X811 counters:1 um:zero minimum:1000 name:PM_MRK_DTLB_MISS_GRP129 : (Group 129 pm_mrk_dtlb_dslb) Marked Data TLB misses
+event:0X812 counters:2 um:zero minimum:1000 name:PM_MRK_DSLB_MISS_GRP129 : (Group 129 pm_mrk_dtlb_dslb) Marked Data SLB misses
+event:0X813 counters:3 um:zero minimum:10000 name:PM_CYC_GRP129 : (Group 129 pm_mrk_dtlb_dslb) Processor cycles
+event:0X814 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP129 : (Group 129 pm_mrk_dtlb_dslb) Run instructions completed
+event:0X815 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP129 : (Group 129 pm_mrk_dtlb_dslb) Run cycles
+
+#Group 130 pm_mrk_lbref, Marked TLB and SLB references
+event:0X820 counters:0 um:zero minimum:1000 name:PM_MRK_DTLB_REF_4K_GRP130 : (Group 130 pm_mrk_lbref) Marked Data TLB reference for 4K page
+event:0X821 counters:1 um:zero minimum:1000 name:PM_IOPS_CMPL_GRP130 : (Group 130 pm_mrk_lbref) IOPS instructions completed
+event:0X822 counters:2 um:zero minimum:1000 name:PM_MRK_DTLB_REF_16M_GRP130 : (Group 130 pm_mrk_lbref) Marked Data TLB reference for 16M page
+event:0X823 counters:3 um:zero minimum:1000 name:PM_MRK_DSLB_MISS_GRP130 : (Group 130 pm_mrk_lbref) Marked Data SLB misses
+event:0X824 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP130 : (Group 130 pm_mrk_lbref) Run instructions completed
+event:0X825 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP130 : (Group 130 pm_mrk_lbref) Run cycles
+
+#Group 131 pm_mrk_lsmiss, Marked load and store miss
+event:0X830 counters:0 um:zero minimum:1000 name:PM_MRK_LD_MISS_L1_GRP131 : (Group 131 pm_mrk_lsmiss) Marked L1 D cache load misses
+event:0X831 counters:1 um:zero minimum:1000 name:PM_IOPS_CMPL_GRP131 : (Group 131 pm_mrk_lsmiss) IOPS instructions completed
+event:0X832 counters:2 um:zero minimum:1000 name:PM_MRK_ST_CMPL_INT_GRP131 : (Group 131 pm_mrk_lsmiss) Marked store completed with intervention
+event:0X833 counters:3 um:zero minimum:1000 name:PM_MRK_CRU_FIN_GRP131 : (Group 131 pm_mrk_lsmiss) Marked instruction CRU processing finished
+event:0X834 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP131 : (Group 131 pm_mrk_lsmiss) Run instructions completed
+event:0X835 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP131 : (Group 131 pm_mrk_lsmiss) Run cycles
+
+#Group 132 pm_mrk_ulsflush, Mark unaligned load and store flushes
+event:0X840 counters:0 um:zero minimum:1000 name:PM_MRK_ST_CMPL_GRP132 : (Group 132 pm_mrk_ulsflush) Marked store instruction completed
+event:0X841 counters:1 um:zero minimum:1000 name:PM_MRK_ST_MISS_L1_GRP132 : (Group 132 pm_mrk_ulsflush) Marked L1 D cache store misses
+event:0X842 counters:2 um:zero minimum:1000 name:PM_MRK_LSU_FLUSH_UST_GRP132 : (Group 132 pm_mrk_ulsflush) Marked unaligned store flushes
+event:0X843 counters:3 um:zero minimum:1000 name:PM_MRK_LSU_FLUSH_ULD_GRP132 : (Group 132 pm_mrk_ulsflush) Marked unaligned load flushes
+event:0X844 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP132 : (Group 132 pm_mrk_ulsflush) Run instructions completed
+event:0X845 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP132 : (Group 132 pm_mrk_ulsflush) Run cycles
+
+#Group 133 pm_mrk_misc, Misc marked instructions
+event:0X850 counters:0 um:zero minimum:1000 name:PM_MRK_STCX_FAIL_GRP133 : (Group 133 pm_mrk_misc) Marked STCX failed
+event:0X851 counters:1 um:zero minimum:1000 name:PM_MRK_ST_GPS_GRP133 : (Group 133 pm_mrk_misc) Marked store sent to GPS
+event:0X852 counters:2 um:zero minimum:1000 name:PM_MRK_FPU_FIN_GRP133 : (Group 133 pm_mrk_misc) Marked instruction FPU processing finished
+event:0X853 counters:3 um:zero minimum:1000 name:PM_MRK_GRP_TIMEO_GRP133 : (Group 133 pm_mrk_misc) Marked group completion timeout
+event:0X854 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP133 : (Group 133 pm_mrk_misc) Run instructions completed
+event:0X855 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP133 : (Group 133 pm_mrk_misc) Run cycles
+
+#Group 134 pm_lsref_L1, Load/Store operations and L1 activity
+event:0X860 counters:0 um:zero minimum:1000 name:PM_DATA_FROM_L2_GRP134 : (Group 134 pm_lsref_L1) Data loaded from L2
+event:0X861 counters:1 um:zero minimum:1000 name:PM_INST_FROM_L1_GRP134 : (Group 134 pm_lsref_L1) Instruction fetched from L1
+event:0X862 counters:2 um:zero minimum:1000 name:PM_ST_REF_L1_GRP134 : (Group 134 pm_lsref_L1) L1 D cache store references
+event:0X863 counters:3 um:zero minimum:1000 name:PM_LD_REF_L1_GRP134 : (Group 134 pm_lsref_L1) L1 D cache load references
+event:0X864 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP134 : (Group 134 pm_lsref_L1) Run instructions completed
+event:0X865 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP134 : (Group 134 pm_lsref_L1) Run cycles
+
+#Group 135 pm_lsref_L2L3, Load/Store operations and L2,L3 activity
+event:0X870 counters:0 um:zero minimum:1000 name:PM_DATA_FROM_L3_GRP135 : (Group 135 pm_lsref_L2L3) Data loaded from L3
+event:0X871 counters:1 um:zero minimum:1000 name:PM_DATA_FROM_LMEM_GRP135 : (Group 135 pm_lsref_L2L3) Data loaded from local memory
+event:0X872 counters:2 um:zero minimum:1000 name:PM_ST_REF_L1_GRP135 : (Group 135 pm_lsref_L2L3) L1 D cache store references
+event:0X873 counters:3 um:zero minimum:1000 name:PM_LD_REF_L1_GRP135 : (Group 135 pm_lsref_L2L3) L1 D cache load references
+event:0X874 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP135 : (Group 135 pm_lsref_L2L3) Run instructions completed
+event:0X875 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP135 : (Group 135 pm_lsref_L2L3) Run cycles
+
+#Group 136 pm_lsref_tlbmiss, Load/Store operations and TLB misses
+event:0X880 counters:0 um:zero minimum:1000 name:PM_ITLB_MISS_GRP136 : (Group 136 pm_lsref_tlbmiss) Instruction TLB misses
+event:0X881 counters:1 um:zero minimum:1000 name:PM_DTLB_MISS_GRP136 : (Group 136 pm_lsref_tlbmiss) Data TLB misses
+event:0X882 counters:2 um:zero minimum:1000 name:PM_ST_REF_L1_GRP136 : (Group 136 pm_lsref_tlbmiss) L1 D cache store references
+event:0X883 counters:3 um:zero minimum:1000 name:PM_LD_REF_L1_GRP136 : (Group 136 pm_lsref_tlbmiss) L1 D cache load references
+event:0X884 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP136 : (Group 136 pm_lsref_tlbmiss) Run instructions completed
+event:0X885 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP136 : (Group 136 pm_lsref_tlbmiss) Run cycles
+
+#Group 137 pm_Dmiss, Data cache misses
+event:0X890 counters:0 um:zero minimum:1000 name:PM_DATA_FROM_L3_GRP137 : (Group 137 pm_Dmiss) Data loaded from L3
+event:0X891 counters:1 um:zero minimum:1000 name:PM_DATA_FROM_LMEM_GRP137 : (Group 137 pm_Dmiss) Data loaded from local memory
+event:0X892 counters:2 um:zero minimum:1000 name:PM_LD_MISS_L1_GRP137 : (Group 137 pm_Dmiss) L1 D cache load misses
+event:0X893 counters:3 um:zero minimum:1000 name:PM_ST_MISS_L1_GRP137 : (Group 137 pm_Dmiss) L1 D cache store misses
+event:0X894 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP137 : (Group 137 pm_Dmiss) Run instructions completed
+event:0X895 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP137 : (Group 137 pm_Dmiss) Run cycles
+
+#Group 138 pm_prefetchX, Prefetch events
+event:0X8A0 counters:0 um:zero minimum:10000 name:PM_CYC_GRP138 : (Group 138 pm_prefetchX) Processor cycles
+event:0X8A1 counters:1 um:zero minimum:1000 name:PM_IC_PREF_REQ_GRP138 : (Group 138 pm_prefetchX) Instruction prefetch requests
+event:0X8A2 counters:2 um:zero minimum:1000 name:PM_L1_PREF_GRP138 : (Group 138 pm_prefetchX) L1 cache data prefetches
+event:0X8A3 counters:3 um:zero minimum:1000 name:PM_L2_PREF_GRP138 : (Group 138 pm_prefetchX) L2 cache prefetches
+event:0X8A4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP138 : (Group 138 pm_prefetchX) Run instructions completed
+event:0X8A5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP138 : (Group 138 pm_prefetchX) Run cycles
+
+#Group 139 pm_branchX, Branch operations
+event:0X8B0 counters:0 um:zero minimum:1000 name:PM_BR_UNCOND_GRP139 : (Group 139 pm_branchX) Unconditional branch
+event:0X8B1 counters:1 um:zero minimum:1000 name:PM_BR_PRED_TA_GRP139 : (Group 139 pm_branchX) A conditional branch was predicted, target prediction
+event:0X8B2 counters:2 um:zero minimum:1000 name:PM_BR_PRED_CR_GRP139 : (Group 139 pm_branchX) A conditional branch was predicted, CR prediction
+event:0X8B3 counters:3 um:zero minimum:1000 name:PM_BR_ISSUED_GRP139 : (Group 139 pm_branchX) Branches issued
+event:0X8B4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP139 : (Group 139 pm_branchX) Run instructions completed
+event:0X8B5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP139 : (Group 139 pm_branchX) Run cycles
+
+#Group 140 pm_fpuX1, Floating point events by unit
+event:0X8C0 counters:0 um:zero minimum:1000 name:PM_FPU0_STALL3_GRP140 : (Group 140 pm_fpuX1) FPU0 stalled in pipe3
+event:0X8C1 counters:1 um:zero minimum:1000 name:PM_FPU1_STALL3_GRP140 : (Group 140 pm_fpuX1) FPU1 stalled in pipe3
+event:0X8C2 counters:2 um:zero minimum:1000 name:PM_FPU0_FIN_GRP140 : (Group 140 pm_fpuX1) FPU0 produced a result
+event:0X8C3 counters:3 um:zero minimum:1000 name:PM_FPU0_FPSCR_GRP140 : (Group 140 pm_fpuX1) FPU0 executed FPSCR instruction
+event:0X8C4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP140 : (Group 140 pm_fpuX1) Run instructions completed
+event:0X8C5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP140 : (Group 140 pm_fpuX1) Run cycles
+
+#Group 141 pm_fpuX2, Floating point events by unit
+event:0X8D0 counters:0 um:zero minimum:1000 name:PM_FPU0_FMA_GRP141 : (Group 141 pm_fpuX2) FPU0 executed multiply-add instruction
+event:0X8D1 counters:1 um:zero minimum:1000 name:PM_FPU1_FMA_GRP141 : (Group 141 pm_fpuX2) FPU1 executed multiply-add instruction
+event:0X8D2 counters:2 um:zero minimum:1000 name:PM_FPU0_FRSP_FCONV_GRP141 : (Group 141 pm_fpuX2) FPU0 executed FRSP or FCONV instructions
+event:0X8D3 counters:3 um:zero minimum:1000 name:PM_FPU1_FRSP_FCONV_GRP141 : (Group 141 pm_fpuX2) FPU1 executed FRSP or FCONV instructions
+event:0X8D4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP141 : (Group 141 pm_fpuX2) Run instructions completed
+event:0X8D5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP141 : (Group 141 pm_fpuX2) Run cycles
+
+#Group 142 pm_fpuX3, Floating point events by unit
+event:0X8E0 counters:0 um:zero minimum:1000 name:PM_FPU0_1FLOP_GRP142 : (Group 142 pm_fpuX3) FPU0 executed add, mult, sub, cmp or sel instruction
+event:0X8E1 counters:1 um:zero minimum:1000 name:PM_FPU1_1FLOP_GRP142 : (Group 142 pm_fpuX3) FPU1 executed add, mult, sub, cmp or sel instruction
+event:0X8E2 counters:2 um:zero minimum:1000 name:PM_FPU0_FIN_GRP142 : (Group 142 pm_fpuX3) FPU0 produced a result
+event:0X8E3 counters:3 um:zero minimum:1000 name:PM_FPU1_FIN_GRP142 : (Group 142 pm_fpuX3) FPU1 produced a result
+event:0X8E4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP142 : (Group 142 pm_fpuX3) Run instructions completed
+event:0X8E5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP142 : (Group 142 pm_fpuX3) Run cycles
+
+#Group 143 pm_fpuX4, Floating point and L1 events
+event:0X8F0 counters:0 um:zero minimum:1000 name:PM_FPU_1FLOP_GRP143 : (Group 143 pm_fpuX4) FPU executed one flop instruction
+event:0X8F1 counters:1 um:zero minimum:1000 name:PM_FPU_FMA_GRP143 : (Group 143 pm_fpuX4) FPU executed multiply-add instruction
+event:0X8F2 counters:2 um:zero minimum:1000 name:PM_ST_REF_L1_GRP143 : (Group 143 pm_fpuX4) L1 D cache store references
+event:0X8F3 counters:3 um:zero minimum:1000 name:PM_LD_REF_L1_GRP143 : (Group 143 pm_fpuX4) L1 D cache load references
+event:0X8F4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP143 : (Group 143 pm_fpuX4) Run instructions completed
+event:0X8F5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP143 : (Group 143 pm_fpuX4) Run cycles
+
+#Group 144 pm_fpuX5, Floating point events
+event:0X900 counters:0 um:zero minimum:1000 name:PM_FPU_SINGLE_GRP144 : (Group 144 pm_fpuX5) FPU executed single precision instruction
+event:0X901 counters:1 um:zero minimum:1000 name:PM_FPU_STF_GRP144 : (Group 144 pm_fpuX5) FPU executed store instruction
+event:0X902 counters:2 um:zero minimum:1000 name:PM_FPU0_FIN_GRP144 : (Group 144 pm_fpuX5) FPU0 produced a result
+event:0X903 counters:3 um:zero minimum:1000 name:PM_FPU1_FIN_GRP144 : (Group 144 pm_fpuX5) FPU1 produced a result
+event:0X904 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP144 : (Group 144 pm_fpuX5) Run instructions completed
+event:0X905 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP144 : (Group 144 pm_fpuX5) Run cycles
+
+#Group 145 pm_fpuX6, Floating point events
+event:0X910 counters:0 um:zero minimum:1000 name:PM_FPU_FDIV_GRP145 : (Group 145 pm_fpuX6) FPU executed FDIV instruction
+event:0X911 counters:1 um:zero minimum:1000 name:PM_FPU_FSQRT_GRP145 : (Group 145 pm_fpuX6) FPU executed FSQRT instruction
+event:0X912 counters:2 um:zero minimum:1000 name:PM_FPU_FRSP_FCONV_GRP145 : (Group 145 pm_fpuX6) FPU executed FRSP or FCONV instructions
+event:0X913 counters:3 um:zero minimum:1000 name:PM_FPU_FIN_GRP145 : (Group 145 pm_fpuX6) FPU produced a result
+event:0X914 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP145 : (Group 145 pm_fpuX6) Run instructions completed
+event:0X915 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP145 : (Group 145 pm_fpuX6) Run cycles
+
+#Group 146 pm_fpuX7, Floating point events
+event:0X920 counters:0 um:zero minimum:1000 name:PM_FPU_1FLOP_GRP146 : (Group 146 pm_fpuX7) FPU executed one flop instruction
+event:0X921 counters:1 um:zero minimum:1000 name:PM_FPU_FMA_GRP146 : (Group 146 pm_fpuX7) FPU executed multiply-add instruction
+event:0X922 counters:2 um:zero minimum:1000 name:PM_FPU_STF_GRP146 : (Group 146 pm_fpuX7) FPU executed store instruction
+event:0X923 counters:3 um:zero minimum:1000 name:PM_FPU_FIN_GRP146 : (Group 146 pm_fpuX7) FPU produced a result
+event:0X924 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP146 : (Group 146 pm_fpuX7) Run instructions completed
+event:0X925 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP146 : (Group 146 pm_fpuX7) Run cycles
+
+#Group 147 pm_hpmcount1, HPM group for set 1
+event:0X930 counters:0 um:zero minimum:10000 name:PM_CYC_GRP147 : (Group 147 pm_hpmcount1) Processor cycles
+event:0X931 counters:1 um:zero minimum:1000 name:PM_FXU_FIN_GRP147 : (Group 147 pm_hpmcount1) FXU produced a result
+event:0X932 counters:2 um:zero minimum:10000 name:PM_CYC_GRP147 : (Group 147 pm_hpmcount1) Processor cycles
+event:0X933 counters:3 um:zero minimum:1000 name:PM_FPU_FIN_GRP147 : (Group 147 pm_hpmcount1) FPU produced a result
+event:0X934 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP147 : (Group 147 pm_hpmcount1) Run instructions completed
+event:0X935 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP147 : (Group 147 pm_hpmcount1) Run cycles
+
+#Group 148 pm_hpmcount2, HPM group for set 2
+event:0X940 counters:0 um:zero minimum:10000 name:PM_CYC_GRP148 : (Group 148 pm_hpmcount2) Processor cycles
+event:0X941 counters:1 um:zero minimum:1000 name:PM_FPU_STF_GRP148 : (Group 148 pm_hpmcount2) FPU executed store instruction
+event:0X942 counters:2 um:zero minimum:1000 name:PM_INST_DISP_GRP148 : (Group 148 pm_hpmcount2) Instructions dispatched
+event:0X943 counters:3 um:zero minimum:1000 name:PM_LSU_LDF_GRP148 : (Group 148 pm_hpmcount2) LSU executed Floating Point load instruction
+event:0X944 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP148 : (Group 148 pm_hpmcount2) Run instructions completed
+event:0X945 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP148 : (Group 148 pm_hpmcount2) Run cycles
+
+#Group 149 pm_hpmcount3, HPM group for set 3
+event:0X950 counters:0 um:zero minimum:10000 name:PM_CYC_GRP149 : (Group 149 pm_hpmcount3) Processor cycles
+event:0X951 counters:1 um:zero minimum:1000 name:PM_INST_DISP_GRP149 : (Group 149 pm_hpmcount3) Instructions dispatched
+event:0X952 counters:2 um:zero minimum:1000 name:PM_LD_MISS_L1_GRP149 : (Group 149 pm_hpmcount3) L1 D cache load misses
+event:0X953 counters:3 um:zero minimum:1000 name:PM_ST_MISS_L1_GRP149 : (Group 149 pm_hpmcount3) L1 D cache store misses
+event:0X954 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP149 : (Group 149 pm_hpmcount3) Run instructions completed
+event:0X955 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP149 : (Group 149 pm_hpmcount3) Run cycles
+
+#Group 150 pm_hpmcount4, HPM group for set 7
+event:0X960 counters:0 um:zero minimum:1000 name:PM_TLB_MISS_GRP150 : (Group 150 pm_hpmcount4) TLB misses
+event:0X961 counters:1 um:zero minimum:10000 name:PM_CYC_GRP150 : (Group 150 pm_hpmcount4) Processor cycles
+event:0X962 counters:2 um:zero minimum:1000 name:PM_ST_REF_L1_GRP150 : (Group 150 pm_hpmcount4) L1 D cache store references
+event:0X963 counters:3 um:zero minimum:1000 name:PM_LD_REF_L1_GRP150 : (Group 150 pm_hpmcount4) L1 D cache load references
+event:0X964 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP150 : (Group 150 pm_hpmcount4) Run instructions completed
+event:0X965 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP150 : (Group 150 pm_hpmcount4) Run cycles
+
+#Group 151 pm_flop, Floating point operations
+event:0X970 counters:0 um:zero minimum:1000 name:PM_FPU_FDIV_GRP151 : (Group 151 pm_flop) FPU executed FDIV instruction
+event:0X971 counters:1 um:zero minimum:1000 name:PM_FPU_FMA_GRP151 : (Group 151 pm_flop) FPU executed multiply-add instruction
+event:0X972 counters:2 um:zero minimum:1000 name:PM_FPU_FSQRT_GRP151 : (Group 151 pm_flop) FPU executed FSQRT instruction
+event:0X973 counters:3 um:zero minimum:1000 name:PM_FPU_1FLOP_GRP151 : (Group 151 pm_flop) FPU executed one flop instruction
+event:0X974 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP151 : (Group 151 pm_flop) Run instructions completed
+event:0X975 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP151 : (Group 151 pm_flop) Run cycles
+
+#Group 152 pm_eprof1, Group for use with eprof
+event:0X980 counters:0 um:zero minimum:10000 name:PM_INST_CMPL_GRP152 : (Group 152 pm_eprof1) Instructions completed
+event:0X981 counters:1 um:zero minimum:10000 name:PM_CYC_GRP152 : (Group 152 pm_eprof1) Processor cycles
+event:0X982 counters:2 um:zero minimum:1000 name:PM_LD_MISS_L1_GRP152 : (Group 152 pm_eprof1) L1 D cache load misses
+event:0X983 counters:3 um:zero minimum:1000 name:PM_DC_INV_L2_GRP152 : (Group 152 pm_eprof1) L1 D cache entries invalidated from L2
+event:0X984 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP152 : (Group 152 pm_eprof1) Run instructions completed
+event:0X985 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP152 : (Group 152 pm_eprof1) Run cycles
+
+#Group 153 pm_eprof2, Group for use with eprof
+event:0X990 counters:0 um:zero minimum:10000 name:PM_INST_CMPL_GRP153 : (Group 153 pm_eprof2) Instructions completed
+event:0X991 counters:1 um:zero minimum:1000 name:PM_ST_REF_L1_GRP153 : (Group 153 pm_eprof2) L1 D cache store references
+event:0X992 counters:2 um:zero minimum:1000 name:PM_INST_DISP_GRP153 : (Group 153 pm_eprof2) Instructions dispatched
+event:0X993 counters:3 um:zero minimum:1000 name:PM_LD_REF_L1_GRP153 : (Group 153 pm_eprof2) L1 D cache load references
+event:0X994 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP153 : (Group 153 pm_eprof2) Run instructions completed
+event:0X995 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP153 : (Group 153 pm_eprof2) Run cycles
diff --git a/events/ppc64/power5+/unit_masks b/events/ppc64/power5+/unit_masks
new file mode 100644
index 0000000..77921ae
--- /dev/null
+++ b/events/ppc64/power5+/unit_masks
@@ -0,0 +1,4 @@
+# ppc64 Power5+ possible unit masks
+#
+name:zero type:mandatory default:0x0
+ 0x0 No unit mask
diff --git a/events/ppc64/power5/event_mappings b/events/ppc64/power5/event_mappings
new file mode 100644
index 0000000..dd3c779
--- /dev/null
+++ b/events/ppc64/power5/event_mappings
@@ -0,0 +1,1192 @@
+#Mapping of event groups to MMCR values
+
+#Group Default
+event:0X001 mmcr0:0X00000000 mmcr1:0X000000000A02121E mmcra:0X00000000
+
+#Group 0 with random sampling
+event:0X002 mmcr0:0X00000000 mmcr1:0X4000000002341E36 mmcra:0X00000001
+
+
+#Group 1 pm_utilization, CPI and utilization data
+event:0X010 mmcr0:0X00000000 mmcr1:0X000000000A02121E mmcra:0X00000000
+event:0X011 mmcr0:0X00000000 mmcr1:0X000000000A02121E mmcra:0X00000000
+event:0X012 mmcr0:0X00000000 mmcr1:0X000000000A02121E mmcra:0X00000000
+event:0X013 mmcr0:0X00000000 mmcr1:0X000000000A02121E mmcra:0X00000000
+event:0X014 mmcr0:0X00000000 mmcr1:0X000000000A02121E mmcra:0X00000000
+event:0X015 mmcr0:0X00000000 mmcr1:0X000000000A02121E mmcra:0X00000000
+
+#Group 2 pm_completion, Completion and cycle counts
+event:0X020 mmcr0:0X00000000 mmcr1:0X000000002608261E mmcra:0X00000000
+event:0X021 mmcr0:0X00000000 mmcr1:0X000000002608261E mmcra:0X00000000
+event:0X022 mmcr0:0X00000000 mmcr1:0X000000002608261E mmcra:0X00000000
+event:0X023 mmcr0:0X00000000 mmcr1:0X000000002608261E mmcra:0X00000000
+event:0X024 mmcr0:0X00000000 mmcr1:0X000000002608261E mmcra:0X00000000
+event:0X025 mmcr0:0X00000000 mmcr1:0X000000002608261E mmcra:0X00000000
+
+#Group 3 pm_group_dispatch, Group dispatch events
+event:0X030 mmcr0:0X00000000 mmcr1:0X4000000EC6C8C212 mmcra:0X00000000
+event:0X031 mmcr0:0X00000000 mmcr1:0X4000000EC6C8C212 mmcra:0X00000000
+event:0X032 mmcr0:0X00000000 mmcr1:0X4000000EC6C8C212 mmcra:0X00000000
+event:0X033 mmcr0:0X00000000 mmcr1:0X4000000EC6C8C212 mmcra:0X00000000
+event:0X034 mmcr0:0X00000000 mmcr1:0X4000000EC6C8C212 mmcra:0X00000000
+event:0X035 mmcr0:0X00000000 mmcr1:0X4000000EC6C8C212 mmcra:0X00000000
+
+#Group 4 pm_clb1, CLB fullness
+event:0X040 mmcr0:0X00000000 mmcr1:0X015B000180848C4C mmcra:0X00000001
+event:0X041 mmcr0:0X00000000 mmcr1:0X015B000180848C4C mmcra:0X00000001
+event:0X042 mmcr0:0X00000000 mmcr1:0X015B000180848C4C mmcra:0X00000001
+event:0X043 mmcr0:0X00000000 mmcr1:0X015B000180848C4C mmcra:0X00000001
+event:0X044 mmcr0:0X00000000 mmcr1:0X015B000180848C4C mmcra:0X00000001
+event:0X045 mmcr0:0X00000000 mmcr1:0X015B000180848C4C mmcra:0X00000001
+
+#Group 5 pm_clb2, CLB fullness
+event:0X050 mmcr0:0X00000000 mmcr1:0X014300028A8CCC02 mmcra:0X00000001
+event:0X051 mmcr0:0X00000000 mmcr1:0X014300028A8CCC02 mmcra:0X00000001
+event:0X052 mmcr0:0X00000000 mmcr1:0X014300028A8CCC02 mmcra:0X00000001
+event:0X053 mmcr0:0X00000000 mmcr1:0X014300028A8CCC02 mmcra:0X00000001
+event:0X054 mmcr0:0X00000000 mmcr1:0X014300028A8CCC02 mmcra:0X00000001
+event:0X055 mmcr0:0X00000000 mmcr1:0X014300028A8CCC02 mmcra:0X00000001
+
+#Group 6 pm_gct_empty, GCT empty reasons
+event:0X060 mmcr0:0X00000000 mmcr1:0X4000000008380838 mmcra:0X00000000
+event:0X061 mmcr0:0X00000000 mmcr1:0X4000000008380838 mmcra:0X00000000
+event:0X062 mmcr0:0X00000000 mmcr1:0X4000000008380838 mmcra:0X00000000
+event:0X063 mmcr0:0X00000000 mmcr1:0X4000000008380838 mmcra:0X00000000
+event:0X064 mmcr0:0X00000000 mmcr1:0X4000000008380838 mmcra:0X00000000
+event:0X065 mmcr0:0X00000000 mmcr1:0X4000000008380838 mmcra:0X00000000
+
+#Group 7 pm_gct_usage, GCT Usage
+event:0X070 mmcr0:0X00000000 mmcr1:0X000000003E3E3E3E mmcra:0X00000000
+event:0X071 mmcr0:0X00000000 mmcr1:0X000000003E3E3E3E mmcra:0X00000000
+event:0X072 mmcr0:0X00000000 mmcr1:0X000000003E3E3E3E mmcra:0X00000000
+event:0X073 mmcr0:0X00000000 mmcr1:0X000000003E3E3E3E mmcra:0X00000000
+event:0X074 mmcr0:0X00000000 mmcr1:0X000000003E3E3E3E mmcra:0X00000000
+event:0X075 mmcr0:0X00000000 mmcr1:0X000000003E3E3E3E mmcra:0X00000000
+
+#Group 8 pm_lsu1, LSU LRQ and LMQ events
+event:0X080 mmcr0:0X00000000 mmcr1:0X000F000FCCC4CCCA mmcra:0X00000000
+event:0X081 mmcr0:0X00000000 mmcr1:0X000F000FCCC4CCCA mmcra:0X00000000
+event:0X082 mmcr0:0X00000000 mmcr1:0X000F000FCCC4CCCA mmcra:0X00000000
+event:0X083 mmcr0:0X00000000 mmcr1:0X000F000FCCC4CCCA mmcra:0X00000000
+event:0X084 mmcr0:0X00000000 mmcr1:0X000F000FCCC4CCCA mmcra:0X00000000
+event:0X085 mmcr0:0X00000000 mmcr1:0X000F000FCCC4CCCA mmcra:0X00000000
+
+#Group 9 pm_lsu2, LSU SRQ events
+event:0X090 mmcr0:0X00000000 mmcr1:0X400E000ECAC2CA86 mmcra:0X00000000
+event:0X091 mmcr0:0X00000000 mmcr1:0X400E000ECAC2CA86 mmcra:0X00000000
+event:0X092 mmcr0:0X00000000 mmcr1:0X400E000ECAC2CA86 mmcra:0X00000000
+event:0X093 mmcr0:0X00000000 mmcr1:0X400E000ECAC2CA86 mmcra:0X00000000
+event:0X094 mmcr0:0X00000000 mmcr1:0X400E000ECAC2CA86 mmcra:0X00000000
+event:0X095 mmcr0:0X00000000 mmcr1:0X400E000ECAC2CA86 mmcra:0X00000000
+
+#Group 10 pm_lsu3, LSU SRQ and LMQ events
+event:0X0A0 mmcr0:0X00000000 mmcr1:0X010F000A102ACA2A mmcra:0X00000000
+event:0X0A1 mmcr0:0X00000000 mmcr1:0X010F000A102ACA2A mmcra:0X00000000
+event:0X0A2 mmcr0:0X00000000 mmcr1:0X010F000A102ACA2A mmcra:0X00000000
+event:0X0A3 mmcr0:0X00000000 mmcr1:0X010F000A102ACA2A mmcra:0X00000000
+event:0X0A4 mmcr0:0X00000000 mmcr1:0X010F000A102ACA2A mmcra:0X00000000
+event:0X0A5 mmcr0:0X00000000 mmcr1:0X010F000A102ACA2A mmcra:0X00000000
+
+#Group 11 pm_prefetch1, Prefetch stream allocation
+event:0X0B0 mmcr0:0X00000000 mmcr1:0X8432000D36C884CE mmcra:0X00000000
+event:0X0B1 mmcr0:0X00000000 mmcr1:0X8432000D36C884CE mmcra:0X00000000
+event:0X0B2 mmcr0:0X00000000 mmcr1:0X8432000D36C884CE mmcra:0X00000000
+event:0X0B3 mmcr0:0X00000000 mmcr1:0X8432000D36C884CE mmcra:0X00000000
+event:0X0B4 mmcr0:0X00000000 mmcr1:0X8432000D36C884CE mmcra:0X00000000
+event:0X0B5 mmcr0:0X00000000 mmcr1:0X8432000D36C884CE mmcra:0X00000000
+
+#Group 12 pm_prefetch2, Prefetch events
+event:0X0C0 mmcr0:0X00000000 mmcr1:0X8103000602CACE8E mmcra:0X00000001
+event:0X0C1 mmcr0:0X00000000 mmcr1:0X8103000602CACE8E mmcra:0X00000001
+event:0X0C2 mmcr0:0X00000000 mmcr1:0X8103000602CACE8E mmcra:0X00000001
+event:0X0C3 mmcr0:0X00000000 mmcr1:0X8103000602CACE8E mmcra:0X00000001
+event:0X0C4 mmcr0:0X00000000 mmcr1:0X8103000602CACE8E mmcra:0X00000001
+event:0X0C5 mmcr0:0X00000000 mmcr1:0X8103000602CACE8E mmcra:0X00000001
+
+#Group 13 pm_prefetch3, L2 prefetch and misc events
+event:0X0D0 mmcr0:0X00000000 mmcr1:0X047C000820828602 mmcra:0X00000001
+event:0X0D1 mmcr0:0X00000000 mmcr1:0X047C000820828602 mmcra:0X00000001
+event:0X0D2 mmcr0:0X00000000 mmcr1:0X047C000820828602 mmcra:0X00000001
+event:0X0D3 mmcr0:0X00000000 mmcr1:0X047C000820828602 mmcra:0X00000001
+event:0X0D4 mmcr0:0X00000000 mmcr1:0X047C000820828602 mmcra:0X00000001
+event:0X0D5 mmcr0:0X00000000 mmcr1:0X047C000820828602 mmcra:0X00000001
+
+#Group 14 pm_prefetch4, Misc prefetch and reject events
+event:0X0E0 mmcr0:0X00000000 mmcr1:0X063E000EC0C8CC86 mmcra:0X00000000
+event:0X0E1 mmcr0:0X00000000 mmcr1:0X063E000EC0C8CC86 mmcra:0X00000000
+event:0X0E2 mmcr0:0X00000000 mmcr1:0X063E000EC0C8CC86 mmcra:0X00000000
+event:0X0E3 mmcr0:0X00000000 mmcr1:0X063E000EC0C8CC86 mmcra:0X00000000
+event:0X0E4 mmcr0:0X00000000 mmcr1:0X063E000EC0C8CC86 mmcra:0X00000000
+event:0X0E5 mmcr0:0X00000000 mmcr1:0X063E000EC0C8CC86 mmcra:0X00000000
+
+#Group 15 pm_lsu_reject1, LSU reject events
+event:0X0F0 mmcr0:0X00000000 mmcr1:0XC22C000E2010C610 mmcra:0X00000001
+event:0X0F1 mmcr0:0X00000000 mmcr1:0XC22C000E2010C610 mmcra:0X00000001
+event:0X0F2 mmcr0:0X00000000 mmcr1:0XC22C000E2010C610 mmcra:0X00000001
+event:0X0F3 mmcr0:0X00000000 mmcr1:0XC22C000E2010C610 mmcra:0X00000001
+event:0X0F4 mmcr0:0X00000000 mmcr1:0XC22C000E2010C610 mmcra:0X00000001
+event:0X0F5 mmcr0:0X00000000 mmcr1:0XC22C000E2010C610 mmcra:0X00000001
+
+#Group 16 pm_lsu_reject2, LSU rejects due to reload CDF or tag update collision
+event:0X100 mmcr0:0X00000000 mmcr1:0X820C000DC4CC02CE mmcra:0X00000001
+event:0X101 mmcr0:0X00000000 mmcr1:0X820C000DC4CC02CE mmcra:0X00000001
+event:0X102 mmcr0:0X00000000 mmcr1:0X820C000DC4CC02CE mmcra:0X00000001
+event:0X103 mmcr0:0X00000000 mmcr1:0X820C000DC4CC02CE mmcra:0X00000001
+event:0X104 mmcr0:0X00000000 mmcr1:0X820C000DC4CC02CE mmcra:0X00000001
+event:0X105 mmcr0:0X00000000 mmcr1:0X820C000DC4CC02CE mmcra:0X00000001
+
+#Group 17 pm_lsu_reject3, LSU rejects due to ERAT, held instuctions
+event:0X110 mmcr0:0X00000000 mmcr1:0X420C000FC6CEC0C8 mmcra:0X00000000
+event:0X111 mmcr0:0X00000000 mmcr1:0X420C000FC6CEC0C8 mmcra:0X00000000
+event:0X112 mmcr0:0X00000000 mmcr1:0X420C000FC6CEC0C8 mmcra:0X00000000
+event:0X113 mmcr0:0X00000000 mmcr1:0X420C000FC6CEC0C8 mmcra:0X00000000
+event:0X114 mmcr0:0X00000000 mmcr1:0X420C000FC6CEC0C8 mmcra:0X00000000
+event:0X115 mmcr0:0X00000000 mmcr1:0X420C000FC6CEC0C8 mmcra:0X00000000
+
+#Group 18 pm_lsu_reject4, LSU0/1 reject LMQ full
+event:0X120 mmcr0:0X00000000 mmcr1:0X820C000DC2CA02C8 mmcra:0X00000001
+event:0X121 mmcr0:0X00000000 mmcr1:0X820C000DC2CA02C8 mmcra:0X00000001
+event:0X122 mmcr0:0X00000000 mmcr1:0X820C000DC2CA02C8 mmcra:0X00000001
+event:0X123 mmcr0:0X00000000 mmcr1:0X820C000DC2CA02C8 mmcra:0X00000001
+event:0X124 mmcr0:0X00000000 mmcr1:0X820C000DC2CA02C8 mmcra:0X00000001
+event:0X125 mmcr0:0X00000000 mmcr1:0X820C000DC2CA02C8 mmcra:0X00000001
+
+#Group 19 pm_lsu_reject5, LSU misc reject and flush events
+event:0X130 mmcr0:0X00000000 mmcr1:0X420C000C10208A8E mmcra:0X00000000
+event:0X131 mmcr0:0X00000000 mmcr1:0X420C000C10208A8E mmcra:0X00000000
+event:0X132 mmcr0:0X00000000 mmcr1:0X420C000C10208A8E mmcra:0X00000000
+event:0X133 mmcr0:0X00000000 mmcr1:0X420C000C10208A8E mmcra:0X00000000
+event:0X134 mmcr0:0X00000000 mmcr1:0X420C000C10208A8E mmcra:0X00000000
+event:0X135 mmcr0:0X00000000 mmcr1:0X420C000C10208A8E mmcra:0X00000000
+
+#Group 20 pm_flush1, Misc flush events
+event:0X140 mmcr0:0X00000000 mmcr1:0XC0F000020210C68E mmcra:0X00000001
+event:0X141 mmcr0:0X00000000 mmcr1:0XC0F000020210C68E mmcra:0X00000001
+event:0X142 mmcr0:0X00000000 mmcr1:0XC0F000020210C68E mmcra:0X00000001
+event:0X143 mmcr0:0X00000000 mmcr1:0XC0F000020210C68E mmcra:0X00000001
+event:0X144 mmcr0:0X00000000 mmcr1:0XC0F000020210C68E mmcra:0X00000001
+event:0X145 mmcr0:0X00000000 mmcr1:0XC0F000020210C68E mmcra:0X00000001
+
+#Group 21 pm_flush2, Flushes due to scoreboard and sync
+event:0X150 mmcr0:0X00000000 mmcr1:0XC08000038002C4C2 mmcra:0X00000001
+event:0X151 mmcr0:0X00000000 mmcr1:0XC08000038002C4C2 mmcra:0X00000001
+event:0X152 mmcr0:0X00000000 mmcr1:0XC08000038002C4C2 mmcra:0X00000001
+event:0X153 mmcr0:0X00000000 mmcr1:0XC08000038002C4C2 mmcra:0X00000001
+event:0X154 mmcr0:0X00000000 mmcr1:0XC08000038002C4C2 mmcra:0X00000001
+event:0X155 mmcr0:0X00000000 mmcr1:0XC08000038002C4C2 mmcra:0X00000001
+
+#Group 22 pm_lsu_flush_srq_lrq, LSU flush by SRQ and LRQ events
+event:0X160 mmcr0:0X00000000 mmcr1:0X40C000002020028A mmcra:0X00000001
+event:0X161 mmcr0:0X00000000 mmcr1:0X40C000002020028A mmcra:0X00000001
+event:0X162 mmcr0:0X00000000 mmcr1:0X40C000002020028A mmcra:0X00000001
+event:0X163 mmcr0:0X00000000 mmcr1:0X40C000002020028A mmcra:0X00000001
+event:0X164 mmcr0:0X00000000 mmcr1:0X40C000002020028A mmcra:0X00000001
+event:0X165 mmcr0:0X00000000 mmcr1:0X40C000002020028A mmcra:0X00000001
+
+#Group 23 pm_lsu_flush_lrq, LSU0/1 flush due to LRQ
+event:0X170 mmcr0:0X00000000 mmcr1:0X40C00000848C8A02 mmcra:0X00000001
+event:0X171 mmcr0:0X00000000 mmcr1:0X40C00000848C8A02 mmcra:0X00000001
+event:0X172 mmcr0:0X00000000 mmcr1:0X40C00000848C8A02 mmcra:0X00000001
+event:0X173 mmcr0:0X00000000 mmcr1:0X40C00000848C8A02 mmcra:0X00000001
+event:0X174 mmcr0:0X00000000 mmcr1:0X40C00000848C8A02 mmcra:0X00000001
+event:0X175 mmcr0:0X00000000 mmcr1:0X40C00000848C8A02 mmcra:0X00000001
+
+#Group 24 pm_lsu_flush_srq, LSU0/1 flush due to SRQ
+event:0X180 mmcr0:0X00000000 mmcr1:0X40C00000868E028A mmcra:0X00000001
+event:0X181 mmcr0:0X00000000 mmcr1:0X40C00000868E028A mmcra:0X00000001
+event:0X182 mmcr0:0X00000000 mmcr1:0X40C00000868E028A mmcra:0X00000001
+event:0X183 mmcr0:0X00000000 mmcr1:0X40C00000868E028A mmcra:0X00000001
+event:0X184 mmcr0:0X00000000 mmcr1:0X40C00000868E028A mmcra:0X00000001
+event:0X185 mmcr0:0X00000000 mmcr1:0X40C00000868E028A mmcra:0X00000001
+
+#Group 25 pm_lsu_flush_unaligned, LSU flush due to unaligned data
+event:0X190 mmcr0:0X00000000 mmcr1:0X80C000021010C802 mmcra:0X00000001
+event:0X191 mmcr0:0X00000000 mmcr1:0X80C000021010C802 mmcra:0X00000001
+event:0X192 mmcr0:0X00000000 mmcr1:0X80C000021010C802 mmcra:0X00000001
+event:0X193 mmcr0:0X00000000 mmcr1:0X80C000021010C802 mmcra:0X00000001
+event:0X194 mmcr0:0X00000000 mmcr1:0X80C000021010C802 mmcra:0X00000001
+event:0X195 mmcr0:0X00000000 mmcr1:0X80C000021010C802 mmcra:0X00000001
+
+#Group 26 pm_lsu_flush_uld, LSU0/1 flush due to unaligned load
+event:0X1A0 mmcr0:0X00000000 mmcr1:0X40C0000080888A02 mmcra:0X00000001
+event:0X1A1 mmcr0:0X00000000 mmcr1:0X40C0000080888A02 mmcra:0X00000001
+event:0X1A2 mmcr0:0X00000000 mmcr1:0X40C0000080888A02 mmcra:0X00000001
+event:0X1A3 mmcr0:0X00000000 mmcr1:0X40C0000080888A02 mmcra:0X00000001
+event:0X1A4 mmcr0:0X00000000 mmcr1:0X40C0000080888A02 mmcra:0X00000001
+event:0X1A5 mmcr0:0X00000000 mmcr1:0X40C0000080888A02 mmcra:0X00000001
+
+#Group 27 pm_lsu_flush_ust, LSU0/1 flush due to unaligned store
+event:0X1B0 mmcr0:0X00000000 mmcr1:0X40C00000828A028A mmcra:0X00000001
+event:0X1B1 mmcr0:0X00000000 mmcr1:0X40C00000828A028A mmcra:0X00000001
+event:0X1B2 mmcr0:0X00000000 mmcr1:0X40C00000828A028A mmcra:0X00000001
+event:0X1B3 mmcr0:0X00000000 mmcr1:0X40C00000828A028A mmcra:0X00000001
+event:0X1B4 mmcr0:0X00000000 mmcr1:0X40C00000828A028A mmcra:0X00000001
+event:0X1B5 mmcr0:0X00000000 mmcr1:0X40C00000828A028A mmcra:0X00000001
+
+#Group 28 pm_lsu_flush_full, LSU flush due to LRQ/SRQ full
+event:0X1C0 mmcr0:0X00000000 mmcr1:0XC0200009CE0210C0 mmcra:0X00000001
+event:0X1C1 mmcr0:0X00000000 mmcr1:0XC0200009CE0210C0 mmcra:0X00000001
+event:0X1C2 mmcr0:0X00000000 mmcr1:0XC0200009CE0210C0 mmcra:0X00000001
+event:0X1C3 mmcr0:0X00000000 mmcr1:0XC0200009CE0210C0 mmcra:0X00000001
+event:0X1C4 mmcr0:0X00000000 mmcr1:0XC0200009CE0210C0 mmcra:0X00000001
+event:0X1C5 mmcr0:0X00000000 mmcr1:0XC0200009CE0210C0 mmcra:0X00000001
+
+#Group 29 pm_lsu_stall1, LSU Stalls
+event:0X1D0 mmcr0:0X00000000 mmcr1:0X4000000028300234 mmcra:0X00000001
+event:0X1D1 mmcr0:0X00000000 mmcr1:0X4000000028300234 mmcra:0X00000001
+event:0X1D2 mmcr0:0X00000000 mmcr1:0X4000000028300234 mmcra:0X00000001
+event:0X1D3 mmcr0:0X00000000 mmcr1:0X4000000028300234 mmcra:0X00000001
+event:0X1D4 mmcr0:0X00000000 mmcr1:0X4000000028300234 mmcra:0X00000001
+event:0X1D5 mmcr0:0X00000000 mmcr1:0X4000000028300234 mmcra:0X00000001
+
+#Group 30 pm_lsu_stall2, LSU Stalls
+event:0X1E0 mmcr0:0X00000000 mmcr1:0X4000000002341E36 mmcra:0X00000001
+event:0X1E1 mmcr0:0X00000000 mmcr1:0X4000000002341E36 mmcra:0X00000001
+event:0X1E2 mmcr0:0X00000000 mmcr1:0X4000000002341E36 mmcra:0X00000001
+event:0X1E3 mmcr0:0X00000000 mmcr1:0X4000000002341E36 mmcra:0X00000001
+event:0X1E4 mmcr0:0X00000000 mmcr1:0X4000000002341E36 mmcra:0X00000001
+event:0X1E5 mmcr0:0X00000000 mmcr1:0X4000000002341E36 mmcra:0X00000001
+
+#Group 31 pm_fxu_stall, FXU Stalls
+event:0X1F0 mmcr0:0X00000000 mmcr1:0X4000000822320232 mmcra:0X00000001
+event:0X1F1 mmcr0:0X00000000 mmcr1:0X4000000822320232 mmcra:0X00000001
+event:0X1F2 mmcr0:0X00000000 mmcr1:0X4000000822320232 mmcra:0X00000001
+event:0X1F3 mmcr0:0X00000000 mmcr1:0X4000000822320232 mmcra:0X00000001
+event:0X1F4 mmcr0:0X00000000 mmcr1:0X4000000822320232 mmcra:0X00000001
+event:0X1F5 mmcr0:0X00000000 mmcr1:0X4000000822320232 mmcra:0X00000001
+
+#Group 32 pm_fpu_stall, FPU Stalls
+event:0X200 mmcr0:0X00000000 mmcr1:0X4000000020360230 mmcra:0X00000001
+event:0X201 mmcr0:0X00000000 mmcr1:0X4000000020360230 mmcra:0X00000001
+event:0X202 mmcr0:0X00000000 mmcr1:0X4000000020360230 mmcra:0X00000001
+event:0X203 mmcr0:0X00000000 mmcr1:0X4000000020360230 mmcra:0X00000001
+event:0X204 mmcr0:0X00000000 mmcr1:0X4000000020360230 mmcra:0X00000001
+event:0X205 mmcr0:0X00000000 mmcr1:0X4000000020360230 mmcra:0X00000001
+
+#Group 33 pm_queue_full, BRQ LRQ LMQ queue full
+event:0X210 mmcr0:0X00000000 mmcr1:0X400B0009CE8A84CE mmcra:0X00000000
+event:0X211 mmcr0:0X00000000 mmcr1:0X400B0009CE8A84CE mmcra:0X00000000
+event:0X212 mmcr0:0X00000000 mmcr1:0X400B0009CE8A84CE mmcra:0X00000000
+event:0X213 mmcr0:0X00000000 mmcr1:0X400B0009CE8A84CE mmcra:0X00000000
+event:0X214 mmcr0:0X00000000 mmcr1:0X400B0009CE8A84CE mmcra:0X00000000
+event:0X215 mmcr0:0X00000000 mmcr1:0X400B0009CE8A84CE mmcra:0X00000000
+
+#Group 34 pm_issueq_full, FPU FX full
+event:0X220 mmcr0:0X00000000 mmcr1:0X40000000868E8088 mmcra:0X00000000
+event:0X221 mmcr0:0X00000000 mmcr1:0X40000000868E8088 mmcra:0X00000000
+event:0X222 mmcr0:0X00000000 mmcr1:0X40000000868E8088 mmcra:0X00000000
+event:0X223 mmcr0:0X00000000 mmcr1:0X40000000868E8088 mmcra:0X00000000
+event:0X224 mmcr0:0X00000000 mmcr1:0X40000000868E8088 mmcra:0X00000000
+event:0X225 mmcr0:0X00000000 mmcr1:0X40000000868E8088 mmcra:0X00000000
+
+#Group 35 pm_mapper_full1, CR CTR GPR mapper full
+event:0X230 mmcr0:0X00000000 mmcr1:0X40000002888CCA82 mmcra:0X00000000
+event:0X231 mmcr0:0X00000000 mmcr1:0X40000002888CCA82 mmcra:0X00000000
+event:0X232 mmcr0:0X00000000 mmcr1:0X40000002888CCA82 mmcra:0X00000000
+event:0X233 mmcr0:0X00000000 mmcr1:0X40000002888CCA82 mmcra:0X00000000
+event:0X234 mmcr0:0X00000000 mmcr1:0X40000002888CCA82 mmcra:0X00000000
+event:0X235 mmcr0:0X00000000 mmcr1:0X40000002888CCA82 mmcra:0X00000000
+
+#Group 36 pm_mapper_full2, FPR XER mapper full
+event:0X240 mmcr0:0X00000000 mmcr1:0X4103000282843602 mmcra:0X00000001
+event:0X241 mmcr0:0X00000000 mmcr1:0X4103000282843602 mmcra:0X00000001
+event:0X242 mmcr0:0X00000000 mmcr1:0X4103000282843602 mmcra:0X00000001
+event:0X243 mmcr0:0X00000000 mmcr1:0X4103000282843602 mmcra:0X00000001
+event:0X244 mmcr0:0X00000000 mmcr1:0X4103000282843602 mmcra:0X00000001
+event:0X245 mmcr0:0X00000000 mmcr1:0X4103000282843602 mmcra:0X00000001
+
+#Group 37 pm_misc_load, Non-cachable loads and stcx events
+event:0X250 mmcr0:0X00000000 mmcr1:0X0438000CC2CA828A mmcra:0X00000001
+event:0X251 mmcr0:0X00000000 mmcr1:0X0438000CC2CA828A mmcra:0X00000001
+event:0X252 mmcr0:0X00000000 mmcr1:0X0438000CC2CA828A mmcra:0X00000001
+event:0X253 mmcr0:0X00000000 mmcr1:0X0438000CC2CA828A mmcra:0X00000001
+event:0X254 mmcr0:0X00000000 mmcr1:0X0438000CC2CA828A mmcra:0X00000001
+event:0X255 mmcr0:0X00000000 mmcr1:0X0438000CC2CA828A mmcra:0X00000001
+
+#Group 38 pm_ic_demand, ICache demand from BR redirect
+event:0X260 mmcr0:0X00000000 mmcr1:0X800C000FC6CEC0C2 mmcra:0X00000000
+event:0X261 mmcr0:0X00000000 mmcr1:0X800C000FC6CEC0C2 mmcra:0X00000000
+event:0X262 mmcr0:0X00000000 mmcr1:0X800C000FC6CEC0C2 mmcra:0X00000000
+event:0X263 mmcr0:0X00000000 mmcr1:0X800C000FC6CEC0C2 mmcra:0X00000000
+event:0X264 mmcr0:0X00000000 mmcr1:0X800C000FC6CEC0C2 mmcra:0X00000000
+event:0X265 mmcr0:0X00000000 mmcr1:0X800C000FC6CEC0C2 mmcra:0X00000000
+
+#Group 39 pm_ic_pref, ICache prefetch
+event:0X270 mmcr0:0X00000000 mmcr1:0X8000000CCECC8E1A mmcra:0X00000000
+event:0X271 mmcr0:0X00000000 mmcr1:0X8000000CCECC8E1A mmcra:0X00000000
+event:0X272 mmcr0:0X00000000 mmcr1:0X8000000CCECC8E1A mmcra:0X00000000
+event:0X273 mmcr0:0X00000000 mmcr1:0X8000000CCECC8E1A mmcra:0X00000000
+event:0X274 mmcr0:0X00000000 mmcr1:0X8000000CCECC8E1A mmcra:0X00000000
+event:0X275 mmcr0:0X00000000 mmcr1:0X8000000CCECC8E1A mmcra:0X00000000
+
+#Group 40 pm_ic_miss, ICache misses
+event:0X280 mmcr0:0X00000000 mmcr1:0X4003000E32CEC802 mmcra:0X00000001
+event:0X281 mmcr0:0X00000000 mmcr1:0X4003000E32CEC802 mmcra:0X00000001
+event:0X282 mmcr0:0X00000000 mmcr1:0X4003000E32CEC802 mmcra:0X00000001
+event:0X283 mmcr0:0X00000000 mmcr1:0X4003000E32CEC802 mmcra:0X00000001
+event:0X284 mmcr0:0X00000000 mmcr1:0X4003000E32CEC802 mmcra:0X00000001
+event:0X285 mmcr0:0X00000000 mmcr1:0X4003000E32CEC802 mmcra:0X00000001
+
+#Group 41 pm_branch_miss, Branch mispredict, TLB and SLB misses
+event:0X290 mmcr0:0X00000000 mmcr1:0X808000031010CACC mmcra:0X00000000
+event:0X291 mmcr0:0X00000000 mmcr1:0X808000031010CACC mmcra:0X00000000
+event:0X292 mmcr0:0X00000000 mmcr1:0X808000031010CACC mmcra:0X00000000
+event:0X293 mmcr0:0X00000000 mmcr1:0X808000031010CACC mmcra:0X00000000
+event:0X294 mmcr0:0X00000000 mmcr1:0X808000031010CACC mmcra:0X00000000
+event:0X295 mmcr0:0X00000000 mmcr1:0X808000031010CACC mmcra:0X00000000
+
+#Group 42 pm_branch1, Branch operations
+event:0X2A0 mmcr0:0X00000000 mmcr1:0X800000030E0E0E0E mmcra:0X00000000
+event:0X2A1 mmcr0:0X00000000 mmcr1:0X800000030E0E0E0E mmcra:0X00000000
+event:0X2A2 mmcr0:0X00000000 mmcr1:0X800000030E0E0E0E mmcra:0X00000000
+event:0X2A3 mmcr0:0X00000000 mmcr1:0X800000030E0E0E0E mmcra:0X00000000
+event:0X2A4 mmcr0:0X00000000 mmcr1:0X800000030E0E0E0E mmcra:0X00000000
+event:0X2A5 mmcr0:0X00000000 mmcr1:0X800000030E0E0E0E mmcra:0X00000000
+
+#Group 43 pm_branch2, Branch operations
+event:0X2B0 mmcr0:0X00000000 mmcr1:0X4000000CCACC8C02 mmcra:0X00000001
+event:0X2B1 mmcr0:0X00000000 mmcr1:0X4000000CCACC8C02 mmcra:0X00000001
+event:0X2B2 mmcr0:0X00000000 mmcr1:0X4000000CCACC8C02 mmcra:0X00000001
+event:0X2B3 mmcr0:0X00000000 mmcr1:0X4000000CCACC8C02 mmcra:0X00000001
+event:0X2B4 mmcr0:0X00000000 mmcr1:0X4000000CCACC8C02 mmcra:0X00000001
+event:0X2B5 mmcr0:0X00000000 mmcr1:0X4000000CCACC8C02 mmcra:0X00000001
+
+#Group 44 pm_L1_tlbmiss, L1 load and TLB misses
+event:0X2C0 mmcr0:0X00000000 mmcr1:0X00B000008E881020 mmcra:0X00000000
+event:0X2C1 mmcr0:0X00000000 mmcr1:0X00B000008E881020 mmcra:0X00000000
+event:0X2C2 mmcr0:0X00000000 mmcr1:0X00B000008E881020 mmcra:0X00000000
+event:0X2C3 mmcr0:0X00000000 mmcr1:0X00B000008E881020 mmcra:0X00000000
+event:0X2C4 mmcr0:0X00000000 mmcr1:0X00B000008E881020 mmcra:0X00000000
+event:0X2C5 mmcr0:0X00000000 mmcr1:0X00B000008E881020 mmcra:0X00000000
+
+#Group 45 pm_L1_DERAT_miss, L1 store and DERAT misses
+event:0X2D0 mmcr0:0X00000000 mmcr1:0X00B300000E202086 mmcra:0X00000000
+event:0X2D1 mmcr0:0X00000000 mmcr1:0X00B300000E202086 mmcra:0X00000000
+event:0X2D2 mmcr0:0X00000000 mmcr1:0X00B300000E202086 mmcra:0X00000000
+event:0X2D3 mmcr0:0X00000000 mmcr1:0X00B300000E202086 mmcra:0X00000000
+event:0X2D4 mmcr0:0X00000000 mmcr1:0X00B300000E202086 mmcra:0X00000000
+event:0X2D5 mmcr0:0X00000000 mmcr1:0X00B300000E202086 mmcra:0X00000000
+
+#Group 46 pm_L1_slbmiss, L1 load and SLB misses
+event:0X2E0 mmcr0:0X00000000 mmcr1:0X00B000008A82848C mmcra:0X00000000
+event:0X2E1 mmcr0:0X00000000 mmcr1:0X00B000008A82848C mmcra:0X00000000
+event:0X2E2 mmcr0:0X00000000 mmcr1:0X00B000008A82848C mmcra:0X00000000
+event:0X2E3 mmcr0:0X00000000 mmcr1:0X00B000008A82848C mmcra:0X00000000
+event:0X2E4 mmcr0:0X00000000 mmcr1:0X00B000008A82848C mmcra:0X00000000
+event:0X2E5 mmcr0:0X00000000 mmcr1:0X00B000008A82848C mmcra:0X00000000
+
+#Group 47 pm_L1_dtlbmiss_4K, L1 load references and 4K Data TLB references and misses
+event:0X2F0 mmcr0:0X00000000 mmcr1:0X08F0000084808088 mmcra:0X00000000
+event:0X2F1 mmcr0:0X00000000 mmcr1:0X08F0000084808088 mmcra:0X00000000
+event:0X2F2 mmcr0:0X00000000 mmcr1:0X08F0000084808088 mmcra:0X00000000
+event:0X2F3 mmcr0:0X00000000 mmcr1:0X08F0000084808088 mmcra:0X00000000
+event:0X2F4 mmcr0:0X00000000 mmcr1:0X08F0000084808088 mmcra:0X00000000
+event:0X2F5 mmcr0:0X00000000 mmcr1:0X08F0000084808088 mmcra:0X00000000
+
+#Group 48 pm_L1_dtlbmiss_16M, L1 store references and 16M Data TLB references and misses
+event:0X300 mmcr0:0X00000000 mmcr1:0X08F000008C88828A mmcra:0X00000000
+event:0X301 mmcr0:0X00000000 mmcr1:0X08F000008C88828A mmcra:0X00000000
+event:0X302 mmcr0:0X00000000 mmcr1:0X08F000008C88828A mmcra:0X00000000
+event:0X303 mmcr0:0X00000000 mmcr1:0X08F000008C88828A mmcra:0X00000000
+event:0X304 mmcr0:0X00000000 mmcr1:0X08F000008C88828A mmcra:0X00000000
+event:0X305 mmcr0:0X00000000 mmcr1:0X08F000008C88828A mmcra:0X00000000
+
+#Group 49 pm_dsource1, L3 cache and memory data access
+event:0X310 mmcr0:0X00000000 mmcr1:0X400300001C0E8E02 mmcra:0X00000001
+event:0X311 mmcr0:0X00000000 mmcr1:0X400300001C0E8E02 mmcra:0X00000001
+event:0X312 mmcr0:0X00000000 mmcr1:0X400300001C0E8E02 mmcra:0X00000001
+event:0X313 mmcr0:0X00000000 mmcr1:0X400300001C0E8E02 mmcra:0X00000001
+event:0X314 mmcr0:0X00000000 mmcr1:0X400300001C0E8E02 mmcra:0X00000001
+event:0X315 mmcr0:0X00000000 mmcr1:0X400300001C0E8E02 mmcra:0X00000001
+
+#Group 50 pm_dsource2, L3 cache and memory data access
+event:0X320 mmcr0:0X00000000 mmcr1:0X000300031C0E360E mmcra:0X00000000
+event:0X321 mmcr0:0X00000000 mmcr1:0X000300031C0E360E mmcra:0X00000000
+event:0X322 mmcr0:0X00000000 mmcr1:0X000300031C0E360E mmcra:0X00000000
+event:0X323 mmcr0:0X00000000 mmcr1:0X000300031C0E360E mmcra:0X00000000
+event:0X324 mmcr0:0X00000000 mmcr1:0X000300031C0E360E mmcra:0X00000000
+event:0X325 mmcr0:0X00000000 mmcr1:0X000300031C0E360E mmcra:0X00000000
+
+#Group 51 pm_dsource_L2, L2 cache data access
+event:0X330 mmcr0:0X00000000 mmcr1:0X000300032E2E2E2E mmcra:0X00000000
+event:0X331 mmcr0:0X00000000 mmcr1:0X000300032E2E2E2E mmcra:0X00000000
+event:0X332 mmcr0:0X00000000 mmcr1:0X000300032E2E2E2E mmcra:0X00000000
+event:0X333 mmcr0:0X00000000 mmcr1:0X000300032E2E2E2E mmcra:0X00000000
+event:0X334 mmcr0:0X00000000 mmcr1:0X000300032E2E2E2E mmcra:0X00000000
+event:0X335 mmcr0:0X00000000 mmcr1:0X000300032E2E2E2E mmcra:0X00000000
+
+#Group 52 pm_dsource_L3, L3 cache data access
+event:0X340 mmcr0:0X00000000 mmcr1:0X000300033C3C3C3C mmcra:0X00000000
+event:0X341 mmcr0:0X00000000 mmcr1:0X000300033C3C3C3C mmcra:0X00000000
+event:0X342 mmcr0:0X00000000 mmcr1:0X000300033C3C3C3C mmcra:0X00000000
+event:0X343 mmcr0:0X00000000 mmcr1:0X000300033C3C3C3C mmcra:0X00000000
+event:0X344 mmcr0:0X00000000 mmcr1:0X000300033C3C3C3C mmcra:0X00000000
+event:0X345 mmcr0:0X00000000 mmcr1:0X000300033C3C3C3C mmcra:0X00000000
+
+#Group 53 pm_isource1, Instruction source information
+event:0X350 mmcr0:0X00000000 mmcr1:0X8000000C1A1A1A0C mmcra:0X00000000
+event:0X351 mmcr0:0X00000000 mmcr1:0X8000000C1A1A1A0C mmcra:0X00000000
+event:0X352 mmcr0:0X00000000 mmcr1:0X8000000C1A1A1A0C mmcra:0X00000000
+event:0X353 mmcr0:0X00000000 mmcr1:0X8000000C1A1A1A0C mmcra:0X00000000
+event:0X354 mmcr0:0X00000000 mmcr1:0X8000000C1A1A1A0C mmcra:0X00000000
+event:0X355 mmcr0:0X00000000 mmcr1:0X8000000C1A1A1A0C mmcra:0X00000000
+
+#Group 54 pm_isource2, Instruction source information
+event:0X360 mmcr0:0X00000000 mmcr1:0X8000000C0C0C021A mmcra:0X00000001
+event:0X361 mmcr0:0X00000000 mmcr1:0X8000000C0C0C021A mmcra:0X00000001
+event:0X362 mmcr0:0X00000000 mmcr1:0X8000000C0C0C021A mmcra:0X00000001
+event:0X363 mmcr0:0X00000000 mmcr1:0X8000000C0C0C021A mmcra:0X00000001
+event:0X364 mmcr0:0X00000000 mmcr1:0X8000000C0C0C021A mmcra:0X00000001
+event:0X365 mmcr0:0X00000000 mmcr1:0X8000000C0C0C021A mmcra:0X00000001
+
+#Group 55 pm_isource_L2, L2 instruction source information
+event:0X370 mmcr0:0X00000000 mmcr1:0X8000000C2C2C2C2C mmcra:0X00000000
+event:0X371 mmcr0:0X00000000 mmcr1:0X8000000C2C2C2C2C mmcra:0X00000000
+event:0X372 mmcr0:0X00000000 mmcr1:0X8000000C2C2C2C2C mmcra:0X00000000
+event:0X373 mmcr0:0X00000000 mmcr1:0X8000000C2C2C2C2C mmcra:0X00000000
+event:0X374 mmcr0:0X00000000 mmcr1:0X8000000C2C2C2C2C mmcra:0X00000000
+event:0X375 mmcr0:0X00000000 mmcr1:0X8000000C2C2C2C2C mmcra:0X00000000
+
+#Group 56 pm_isource_L3, L3 instruction source information
+event:0X380 mmcr0:0X00000000 mmcr1:0X8000000C3A3A3A3A mmcra:0X00000000
+event:0X381 mmcr0:0X00000000 mmcr1:0X8000000C3A3A3A3A mmcra:0X00000000
+event:0X382 mmcr0:0X00000000 mmcr1:0X8000000C3A3A3A3A mmcra:0X00000000
+event:0X383 mmcr0:0X00000000 mmcr1:0X8000000C3A3A3A3A mmcra:0X00000000
+event:0X384 mmcr0:0X00000000 mmcr1:0X8000000C3A3A3A3A mmcra:0X00000000
+event:0X385 mmcr0:0X00000000 mmcr1:0X8000000C3A3A3A3A mmcra:0X00000000
+
+#Group 57 pm_pteg_source1, PTEG source information
+event:0X390 mmcr0:0X00000000 mmcr1:0X000200032E2E2E2E mmcra:0X00000000
+event:0X391 mmcr0:0X00000000 mmcr1:0X000200032E2E2E2E mmcra:0X00000000
+event:0X392 mmcr0:0X00000000 mmcr1:0X000200032E2E2E2E mmcra:0X00000000
+event:0X393 mmcr0:0X00000000 mmcr1:0X000200032E2E2E2E mmcra:0X00000000
+event:0X394 mmcr0:0X00000000 mmcr1:0X000200032E2E2E2E mmcra:0X00000000
+event:0X395 mmcr0:0X00000000 mmcr1:0X000200032E2E2E2E mmcra:0X00000000
+
+#Group 58 pm_pteg_source2, PTEG source information
+event:0X3A0 mmcr0:0X00000000 mmcr1:0X000200033C3C3C3C mmcra:0X00000000
+event:0X3A1 mmcr0:0X00000000 mmcr1:0X000200033C3C3C3C mmcra:0X00000000
+event:0X3A2 mmcr0:0X00000000 mmcr1:0X000200033C3C3C3C mmcra:0X00000000
+event:0X3A3 mmcr0:0X00000000 mmcr1:0X000200033C3C3C3C mmcra:0X00000000
+event:0X3A4 mmcr0:0X00000000 mmcr1:0X000200033C3C3C3C mmcra:0X00000000
+event:0X3A5 mmcr0:0X00000000 mmcr1:0X000200033C3C3C3C mmcra:0X00000000
+
+#Group 59 pm_pteg_source3, PTEG source information
+event:0X3B0 mmcr0:0X00000000 mmcr1:0X000200030E0E360E mmcra:0X00000000
+event:0X3B1 mmcr0:0X00000000 mmcr1:0X000200030E0E360E mmcra:0X00000000
+event:0X3B2 mmcr0:0X00000000 mmcr1:0X000200030E0E360E mmcra:0X00000000
+event:0X3B3 mmcr0:0X00000000 mmcr1:0X000200030E0E360E mmcra:0X00000000
+event:0X3B4 mmcr0:0X00000000 mmcr1:0X000200030E0E360E mmcra:0X00000000
+event:0X3B5 mmcr0:0X00000000 mmcr1:0X000200030E0E360E mmcra:0X00000000
+
+#Group 60 pm_pteg_source4, L3 PTEG and group disptach events
+event:0X3C0 mmcr0:0X00000000 mmcr1:0X003200001C04048E mmcra:0X00000000
+event:0X3C1 mmcr0:0X00000000 mmcr1:0X003200001C04048E mmcra:0X00000000
+event:0X3C2 mmcr0:0X00000000 mmcr1:0X003200001C04048E mmcra:0X00000000
+event:0X3C3 mmcr0:0X00000000 mmcr1:0X003200001C04048E mmcra:0X00000000
+event:0X3C4 mmcr0:0X00000000 mmcr1:0X003200001C04048E mmcra:0X00000000
+event:0X3C5 mmcr0:0X00000000 mmcr1:0X003200001C04048E mmcra:0X00000000
+
+#Group 61 pm_L2SA_ld, L2 slice A load events
+event:0X3D0 mmcr0:0X00000000 mmcr1:0X3055400580C080C0 mmcra:0X00000000
+event:0X3D1 mmcr0:0X00000000 mmcr1:0X3055400580C080C0 mmcra:0X00000000
+event:0X3D2 mmcr0:0X00000000 mmcr1:0X3055400580C080C0 mmcra:0X00000000
+event:0X3D3 mmcr0:0X00000000 mmcr1:0X3055400580C080C0 mmcra:0X00000000
+event:0X3D4 mmcr0:0X00000000 mmcr1:0X3055400580C080C0 mmcra:0X00000000
+event:0X3D5 mmcr0:0X00000000 mmcr1:0X3055400580C080C0 mmcra:0X00000000
+
+#Group 62 pm_L2SA_st, L2 slice A store events
+event:0X3E0 mmcr0:0X00000000 mmcr1:0X3055800580C080C0 mmcra:0X00000000
+event:0X3E1 mmcr0:0X00000000 mmcr1:0X3055800580C080C0 mmcra:0X00000000
+event:0X3E2 mmcr0:0X00000000 mmcr1:0X3055800580C080C0 mmcra:0X00000000
+event:0X3E3 mmcr0:0X00000000 mmcr1:0X3055800580C080C0 mmcra:0X00000000
+event:0X3E4 mmcr0:0X00000000 mmcr1:0X3055800580C080C0 mmcra:0X00000000
+event:0X3E5 mmcr0:0X00000000 mmcr1:0X3055800580C080C0 mmcra:0X00000000
+
+#Group 63 pm_L2SA_st2, L2 slice A store events
+event:0X3F0 mmcr0:0X00000000 mmcr1:0X3055C00580C080C0 mmcra:0X00000000
+event:0X3F1 mmcr0:0X00000000 mmcr1:0X3055C00580C080C0 mmcra:0X00000000
+event:0X3F2 mmcr0:0X00000000 mmcr1:0X3055C00580C080C0 mmcra:0X00000000
+event:0X3F3 mmcr0:0X00000000 mmcr1:0X3055C00580C080C0 mmcra:0X00000000
+event:0X3F4 mmcr0:0X00000000 mmcr1:0X3055C00580C080C0 mmcra:0X00000000
+event:0X3F5 mmcr0:0X00000000 mmcr1:0X3055C00580C080C0 mmcra:0X00000000
+
+#Group 64 pm_L2SB_ld, L2 slice B load events
+event:0X400 mmcr0:0X00000000 mmcr1:0X3055400582C282C2 mmcra:0X00000000
+event:0X401 mmcr0:0X00000000 mmcr1:0X3055400582C282C2 mmcra:0X00000000
+event:0X402 mmcr0:0X00000000 mmcr1:0X3055400582C282C2 mmcra:0X00000000
+event:0X403 mmcr0:0X00000000 mmcr1:0X3055400582C282C2 mmcra:0X00000000
+event:0X404 mmcr0:0X00000000 mmcr1:0X3055400582C282C2 mmcra:0X00000000
+event:0X405 mmcr0:0X00000000 mmcr1:0X3055400582C282C2 mmcra:0X00000000
+
+#Group 65 pm_L2SB_st, L2 slice B store events
+event:0X410 mmcr0:0X00000000 mmcr1:0X3055800582C282C2 mmcra:0X00000000
+event:0X411 mmcr0:0X00000000 mmcr1:0X3055800582C282C2 mmcra:0X00000000
+event:0X412 mmcr0:0X00000000 mmcr1:0X3055800582C282C2 mmcra:0X00000000
+event:0X413 mmcr0:0X00000000 mmcr1:0X3055800582C282C2 mmcra:0X00000000
+event:0X414 mmcr0:0X00000000 mmcr1:0X3055800582C282C2 mmcra:0X00000000
+event:0X415 mmcr0:0X00000000 mmcr1:0X3055800582C282C2 mmcra:0X00000000
+
+#Group 66 pm_L2SB_st2, L2 slice B store events
+event:0X420 mmcr0:0X00000000 mmcr1:0X3055C00582C282C2 mmcra:0X00000000
+event:0X421 mmcr0:0X00000000 mmcr1:0X3055C00582C282C2 mmcra:0X00000000
+event:0X422 mmcr0:0X00000000 mmcr1:0X3055C00582C282C2 mmcra:0X00000000
+event:0X423 mmcr0:0X00000000 mmcr1:0X3055C00582C282C2 mmcra:0X00000000
+event:0X424 mmcr0:0X00000000 mmcr1:0X3055C00582C282C2 mmcra:0X00000000
+event:0X425 mmcr0:0X00000000 mmcr1:0X3055C00582C282C2 mmcra:0X00000000
+
+#Group 67 pm_L2SB_ld, L2 slice C load events
+event:0X430 mmcr0:0X00000000 mmcr1:0X3055400584C484C4 mmcra:0X00000000
+event:0X431 mmcr0:0X00000000 mmcr1:0X3055400584C484C4 mmcra:0X00000000
+event:0X432 mmcr0:0X00000000 mmcr1:0X3055400584C484C4 mmcra:0X00000000
+event:0X433 mmcr0:0X00000000 mmcr1:0X3055400584C484C4 mmcra:0X00000000
+event:0X434 mmcr0:0X00000000 mmcr1:0X3055400584C484C4 mmcra:0X00000000
+event:0X435 mmcr0:0X00000000 mmcr1:0X3055400584C484C4 mmcra:0X00000000
+
+#Group 68 pm_L2SB_st, L2 slice C store events
+event:0X440 mmcr0:0X00000000 mmcr1:0X3055800584C484C4 mmcra:0X00000000
+event:0X441 mmcr0:0X00000000 mmcr1:0X3055800584C484C4 mmcra:0X00000000
+event:0X442 mmcr0:0X00000000 mmcr1:0X3055800584C484C4 mmcra:0X00000000
+event:0X443 mmcr0:0X00000000 mmcr1:0X3055800584C484C4 mmcra:0X00000000
+event:0X444 mmcr0:0X00000000 mmcr1:0X3055800584C484C4 mmcra:0X00000000
+event:0X445 mmcr0:0X00000000 mmcr1:0X3055800584C484C4 mmcra:0X00000000
+
+#Group 69 pm_L2SB_st2, L2 slice C store events
+event:0X450 mmcr0:0X00000000 mmcr1:0X3055C00584C484C4 mmcra:0X00000000
+event:0X451 mmcr0:0X00000000 mmcr1:0X3055C00584C484C4 mmcra:0X00000000
+event:0X452 mmcr0:0X00000000 mmcr1:0X3055C00584C484C4 mmcra:0X00000000
+event:0X453 mmcr0:0X00000000 mmcr1:0X3055C00584C484C4 mmcra:0X00000000
+event:0X454 mmcr0:0X00000000 mmcr1:0X3055C00584C484C4 mmcra:0X00000000
+event:0X455 mmcr0:0X00000000 mmcr1:0X3055C00584C484C4 mmcra:0X00000000
+
+#Group 70 pm_L3SA_trans, L3 slice A state transistions
+event:0X460 mmcr0:0X00000000 mmcr1:0X3015000AC602C686 mmcra:0X00000001
+event:0X461 mmcr0:0X00000000 mmcr1:0X3015000AC602C686 mmcra:0X00000001
+event:0X462 mmcr0:0X00000000 mmcr1:0X3015000AC602C686 mmcra:0X00000001
+event:0X463 mmcr0:0X00000000 mmcr1:0X3015000AC602C686 mmcra:0X00000001
+event:0X464 mmcr0:0X00000000 mmcr1:0X3015000AC602C686 mmcra:0X00000001
+event:0X465 mmcr0:0X00000000 mmcr1:0X3015000AC602C686 mmcra:0X00000001
+
+#Group 71 pm_L3SB_trans, L3 slice B state transistions
+event:0X470 mmcr0:0X00000000 mmcr1:0X3015000602C8C888 mmcra:0X00000001
+event:0X471 mmcr0:0X00000000 mmcr1:0X3015000602C8C888 mmcra:0X00000001
+event:0X472 mmcr0:0X00000000 mmcr1:0X3015000602C8C888 mmcra:0X00000001
+event:0X473 mmcr0:0X00000000 mmcr1:0X3015000602C8C888 mmcra:0X00000001
+event:0X474 mmcr0:0X00000000 mmcr1:0X3015000602C8C888 mmcra:0X00000001
+event:0X475 mmcr0:0X00000000 mmcr1:0X3015000602C8C888 mmcra:0X00000001
+
+#Group 72 pm_L3SC_trans, L3 slice C state transistions
+event:0X480 mmcr0:0X00000000 mmcr1:0X3015000602CACA8A mmcra:0X00000001
+event:0X481 mmcr0:0X00000000 mmcr1:0X3015000602CACA8A mmcra:0X00000001
+event:0X482 mmcr0:0X00000000 mmcr1:0X3015000602CACA8A mmcra:0X00000001
+event:0X483 mmcr0:0X00000000 mmcr1:0X3015000602CACA8A mmcra:0X00000001
+event:0X484 mmcr0:0X00000000 mmcr1:0X3015000602CACA8A mmcra:0X00000001
+event:0X485 mmcr0:0X00000000 mmcr1:0X3015000602CACA8A mmcra:0X00000001
+
+#Group 73 pm_L2SA_trans, L2 slice A state transistions
+event:0X490 mmcr0:0X00000000 mmcr1:0X3055000AC080C080 mmcra:0X00000000
+event:0X491 mmcr0:0X00000000 mmcr1:0X3055000AC080C080 mmcra:0X00000000
+event:0X492 mmcr0:0X00000000 mmcr1:0X3055000AC080C080 mmcra:0X00000000
+event:0X493 mmcr0:0X00000000 mmcr1:0X3055000AC080C080 mmcra:0X00000000
+event:0X494 mmcr0:0X00000000 mmcr1:0X3055000AC080C080 mmcra:0X00000000
+event:0X495 mmcr0:0X00000000 mmcr1:0X3055000AC080C080 mmcra:0X00000000
+
+#Group 74 pm_L2SB_trans, L2 slice B state transistions
+event:0X4A0 mmcr0:0X00000000 mmcr1:0X3055000AC282C282 mmcra:0X00000000
+event:0X4A1 mmcr0:0X00000000 mmcr1:0X3055000AC282C282 mmcra:0X00000000
+event:0X4A2 mmcr0:0X00000000 mmcr1:0X3055000AC282C282 mmcra:0X00000000
+event:0X4A3 mmcr0:0X00000000 mmcr1:0X3055000AC282C282 mmcra:0X00000000
+event:0X4A4 mmcr0:0X00000000 mmcr1:0X3055000AC282C282 mmcra:0X00000000
+event:0X4A5 mmcr0:0X00000000 mmcr1:0X3055000AC282C282 mmcra:0X00000000
+
+#Group 75 pm_L2SC_trans, L2 slice C state transistions
+event:0X4B0 mmcr0:0X00000000 mmcr1:0X3055000AC484C484 mmcra:0X00000000
+event:0X4B1 mmcr0:0X00000000 mmcr1:0X3055000AC484C484 mmcra:0X00000000
+event:0X4B2 mmcr0:0X00000000 mmcr1:0X3055000AC484C484 mmcra:0X00000000
+event:0X4B3 mmcr0:0X00000000 mmcr1:0X3055000AC484C484 mmcra:0X00000000
+event:0X4B4 mmcr0:0X00000000 mmcr1:0X3055000AC484C484 mmcra:0X00000000
+event:0X4B5 mmcr0:0X00000000 mmcr1:0X3055000AC484C484 mmcra:0X00000000
+
+#Group 76 pm_L3SAB_retry, L3 slice A/B snoop retry and all CI/CO busy
+event:0X4C0 mmcr0:0X00000000 mmcr1:0X3005100FC6C8C6C8 mmcra:0X00000000
+event:0X4C1 mmcr0:0X00000000 mmcr1:0X3005100FC6C8C6C8 mmcra:0X00000000
+event:0X4C2 mmcr0:0X00000000 mmcr1:0X3005100FC6C8C6C8 mmcra:0X00000000
+event:0X4C3 mmcr0:0X00000000 mmcr1:0X3005100FC6C8C6C8 mmcra:0X00000000
+event:0X4C4 mmcr0:0X00000000 mmcr1:0X3005100FC6C8C6C8 mmcra:0X00000000
+event:0X4C5 mmcr0:0X00000000 mmcr1:0X3005100FC6C8C6C8 mmcra:0X00000000
+
+#Group 77 pm_L3SAB_hit, L3 slice A/B hit and reference
+event:0X4D0 mmcr0:0X00000000 mmcr1:0X3050100086888688 mmcra:0X00000000
+event:0X4D1 mmcr0:0X00000000 mmcr1:0X3050100086888688 mmcra:0X00000000
+event:0X4D2 mmcr0:0X00000000 mmcr1:0X3050100086888688 mmcra:0X00000000
+event:0X4D3 mmcr0:0X00000000 mmcr1:0X3050100086888688 mmcra:0X00000000
+event:0X4D4 mmcr0:0X00000000 mmcr1:0X3050100086888688 mmcra:0X00000000
+event:0X4D5 mmcr0:0X00000000 mmcr1:0X3050100086888688 mmcra:0X00000000
+
+#Group 78 pm_L3SC_retry_hit, L3 slice C hit & snoop retry
+event:0X4E0 mmcr0:0X00000000 mmcr1:0X3055100ACA8ACA8A mmcra:0X00000000
+event:0X4E1 mmcr0:0X00000000 mmcr1:0X3055100ACA8ACA8A mmcra:0X00000000
+event:0X4E2 mmcr0:0X00000000 mmcr1:0X3055100ACA8ACA8A mmcra:0X00000000
+event:0X4E3 mmcr0:0X00000000 mmcr1:0X3055100ACA8ACA8A mmcra:0X00000000
+event:0X4E4 mmcr0:0X00000000 mmcr1:0X3055100ACA8ACA8A mmcra:0X00000000
+event:0X4E5 mmcr0:0X00000000 mmcr1:0X3055100ACA8ACA8A mmcra:0X00000000
+
+#Group 79 pm_fpu1, Floating Point events
+event:0X4F0 mmcr0:0X00000000 mmcr1:0X0000000010101020 mmcra:0X00000000
+event:0X4F1 mmcr0:0X00000000 mmcr1:0X0000000010101020 mmcra:0X00000000
+event:0X4F2 mmcr0:0X00000000 mmcr1:0X0000000010101020 mmcra:0X00000000
+event:0X4F3 mmcr0:0X00000000 mmcr1:0X0000000010101020 mmcra:0X00000000
+event:0X4F4 mmcr0:0X00000000 mmcr1:0X0000000010101020 mmcra:0X00000000
+event:0X4F5 mmcr0:0X00000000 mmcr1:0X0000000010101020 mmcra:0X00000000
+
+#Group 80 pm_fpu2, Floating Point events
+event:0X500 mmcr0:0X00000000 mmcr1:0X0000000020202010 mmcra:0X00000000
+event:0X501 mmcr0:0X00000000 mmcr1:0X0000000020202010 mmcra:0X00000000
+event:0X502 mmcr0:0X00000000 mmcr1:0X0000000020202010 mmcra:0X00000000
+event:0X503 mmcr0:0X00000000 mmcr1:0X0000000020202010 mmcra:0X00000000
+event:0X504 mmcr0:0X00000000 mmcr1:0X0000000020202010 mmcra:0X00000000
+event:0X505 mmcr0:0X00000000 mmcr1:0X0000000020202010 mmcra:0X00000000
+
+#Group 81 pm_fpu3, Floating point events
+event:0X510 mmcr0:0X00000000 mmcr1:0X0000000C1010868E mmcra:0X00000000
+event:0X511 mmcr0:0X00000000 mmcr1:0X0000000C1010868E mmcra:0X00000000
+event:0X512 mmcr0:0X00000000 mmcr1:0X0000000C1010868E mmcra:0X00000000
+event:0X513 mmcr0:0X00000000 mmcr1:0X0000000C1010868E mmcra:0X00000000
+event:0X514 mmcr0:0X00000000 mmcr1:0X0000000C1010868E mmcra:0X00000000
+event:0X515 mmcr0:0X00000000 mmcr1:0X0000000C1010868E mmcra:0X00000000
+
+#Group 82 pm_fpu4, Floating point events
+event:0X520 mmcr0:0X00000000 mmcr1:0X0430000C20200220 mmcra:0X00000001
+event:0X521 mmcr0:0X00000000 mmcr1:0X0430000C20200220 mmcra:0X00000001
+event:0X522 mmcr0:0X00000000 mmcr1:0X0430000C20200220 mmcra:0X00000001
+event:0X523 mmcr0:0X00000000 mmcr1:0X0430000C20200220 mmcra:0X00000001
+event:0X524 mmcr0:0X00000000 mmcr1:0X0430000C20200220 mmcra:0X00000001
+event:0X525 mmcr0:0X00000000 mmcr1:0X0430000C20200220 mmcra:0X00000001
+
+#Group 83 pm_fpu5, Floating point events by unit
+event:0X530 mmcr0:0X00000000 mmcr1:0X00000000848C848C mmcra:0X00000000
+event:0X531 mmcr0:0X00000000 mmcr1:0X00000000848C848C mmcra:0X00000000
+event:0X532 mmcr0:0X00000000 mmcr1:0X00000000848C848C mmcra:0X00000000
+event:0X533 mmcr0:0X00000000 mmcr1:0X00000000848C848C mmcra:0X00000000
+event:0X534 mmcr0:0X00000000 mmcr1:0X00000000848C848C mmcra:0X00000000
+event:0X535 mmcr0:0X00000000 mmcr1:0X00000000848C848C mmcra:0X00000000
+
+#Group 84 pm_fpu6, Floating point events by unit
+event:0X540 mmcr0:0X00000000 mmcr1:0X0000000CC0C88088 mmcra:0X00000000
+event:0X541 mmcr0:0X00000000 mmcr1:0X0000000CC0C88088 mmcra:0X00000000
+event:0X542 mmcr0:0X00000000 mmcr1:0X0000000CC0C88088 mmcra:0X00000000
+event:0X543 mmcr0:0X00000000 mmcr1:0X0000000CC0C88088 mmcra:0X00000000
+event:0X544 mmcr0:0X00000000 mmcr1:0X0000000CC0C88088 mmcra:0X00000000
+event:0X545 mmcr0:0X00000000 mmcr1:0X0000000CC0C88088 mmcra:0X00000000
+
+#Group 85 pm_fpu7, Floating point events by unit
+event:0X550 mmcr0:0X00000000 mmcr1:0X000000008088828A mmcra:0X00000000
+event:0X551 mmcr0:0X00000000 mmcr1:0X000000008088828A mmcra:0X00000000
+event:0X552 mmcr0:0X00000000 mmcr1:0X000000008088828A mmcra:0X00000000
+event:0X553 mmcr0:0X00000000 mmcr1:0X000000008088828A mmcra:0X00000000
+event:0X554 mmcr0:0X00000000 mmcr1:0X000000008088828A mmcra:0X00000000
+event:0X555 mmcr0:0X00000000 mmcr1:0X000000008088828A mmcra:0X00000000
+
+#Group 86 pm_fpu8, Floating point events by unit
+event:0X560 mmcr0:0X00000000 mmcr1:0X0000000DC2CA02C0 mmcra:0X00000001
+event:0X561 mmcr0:0X00000000 mmcr1:0X0000000DC2CA02C0 mmcra:0X00000001
+event:0X562 mmcr0:0X00000000 mmcr1:0X0000000DC2CA02C0 mmcra:0X00000001
+event:0X563 mmcr0:0X00000000 mmcr1:0X0000000DC2CA02C0 mmcra:0X00000001
+event:0X564 mmcr0:0X00000000 mmcr1:0X0000000DC2CA02C0 mmcra:0X00000001
+event:0X565 mmcr0:0X00000000 mmcr1:0X0000000DC2CA02C0 mmcra:0X00000001
+
+#Group 87 pm_fpu9, Floating point events by unit
+event:0X570 mmcr0:0X00000000 mmcr1:0X0430000CC6CE8088 mmcra:0X00000000
+event:0X571 mmcr0:0X00000000 mmcr1:0X0430000CC6CE8088 mmcra:0X00000000
+event:0X572 mmcr0:0X00000000 mmcr1:0X0430000CC6CE8088 mmcra:0X00000000
+event:0X573 mmcr0:0X00000000 mmcr1:0X0430000CC6CE8088 mmcra:0X00000000
+event:0X574 mmcr0:0X00000000 mmcr1:0X0430000CC6CE8088 mmcra:0X00000000
+event:0X575 mmcr0:0X00000000 mmcr1:0X0430000CC6CE8088 mmcra:0X00000000
+
+#Group 88 pm_fpu10, Floating point events by unit
+event:0X580 mmcr0:0X00000000 mmcr1:0X00000000828A028A mmcra:0X00000001
+event:0X581 mmcr0:0X00000000 mmcr1:0X00000000828A028A mmcra:0X00000001
+event:0X582 mmcr0:0X00000000 mmcr1:0X00000000828A028A mmcra:0X00000001
+event:0X583 mmcr0:0X00000000 mmcr1:0X00000000828A028A mmcra:0X00000001
+event:0X584 mmcr0:0X00000000 mmcr1:0X00000000828A028A mmcra:0X00000001
+event:0X585 mmcr0:0X00000000 mmcr1:0X00000000828A028A mmcra:0X00000001
+
+#Group 89 pm_fpu11, Floating point events by unit
+event:0X590 mmcr0:0X00000000 mmcr1:0X00000000868E8602 mmcra:0X00000001
+event:0X591 mmcr0:0X00000000 mmcr1:0X00000000868E8602 mmcra:0X00000001
+event:0X592 mmcr0:0X00000000 mmcr1:0X00000000868E8602 mmcra:0X00000001
+event:0X593 mmcr0:0X00000000 mmcr1:0X00000000868E8602 mmcra:0X00000001
+event:0X594 mmcr0:0X00000000 mmcr1:0X00000000868E8602 mmcra:0X00000001
+event:0X595 mmcr0:0X00000000 mmcr1:0X00000000868E8602 mmcra:0X00000001
+
+#Group 90 pm_fpu12, Floating point events by unit
+event:0X5A0 mmcr0:0X00000000 mmcr1:0X0430000CC4CC8002 mmcra:0X00000001
+event:0X5A1 mmcr0:0X00000000 mmcr1:0X0430000CC4CC8002 mmcra:0X00000001
+event:0X5A2 mmcr0:0X00000000 mmcr1:0X0430000CC4CC8002 mmcra:0X00000001
+event:0X5A3 mmcr0:0X00000000 mmcr1:0X0430000CC4CC8002 mmcra:0X00000001
+event:0X5A4 mmcr0:0X00000000 mmcr1:0X0430000CC4CC8002 mmcra:0X00000001
+event:0X5A5 mmcr0:0X00000000 mmcr1:0X0430000CC4CC8002 mmcra:0X00000001
+
+#Group 91 pm_fxu1, Fixed Point events
+event:0X5B0 mmcr0:0X00000000 mmcr1:0X0000000024242424 mmcra:0X00000000
+event:0X5B1 mmcr0:0X00000000 mmcr1:0X0000000024242424 mmcra:0X00000000
+event:0X5B2 mmcr0:0X00000000 mmcr1:0X0000000024242424 mmcra:0X00000000
+event:0X5B3 mmcr0:0X00000000 mmcr1:0X0000000024242424 mmcra:0X00000000
+event:0X5B4 mmcr0:0X00000000 mmcr1:0X0000000024242424 mmcra:0X00000000
+event:0X5B5 mmcr0:0X00000000 mmcr1:0X0000000024242424 mmcra:0X00000000
+
+#Group 92 pm_fxu2, Fixed Point events
+event:0X5C0 mmcr0:0X00000000 mmcr1:0X4000000604221020 mmcra:0X00000001
+event:0X5C1 mmcr0:0X00000000 mmcr1:0X4000000604221020 mmcra:0X00000001
+event:0X5C2 mmcr0:0X00000000 mmcr1:0X4000000604221020 mmcra:0X00000001
+event:0X5C3 mmcr0:0X00000000 mmcr1:0X4000000604221020 mmcra:0X00000001
+event:0X5C4 mmcr0:0X00000000 mmcr1:0X4000000604221020 mmcra:0X00000001
+event:0X5C5 mmcr0:0X00000000 mmcr1:0X4000000604221020 mmcra:0X00000001
+
+#Group 93 pm_fxu3, Fixed Point events
+event:0X5D0 mmcr0:0X00000000 mmcr1:0X404000038688C4CC mmcra:0X00000000
+event:0X5D1 mmcr0:0X00000000 mmcr1:0X404000038688C4CC mmcra:0X00000000
+event:0X5D2 mmcr0:0X00000000 mmcr1:0X404000038688C4CC mmcra:0X00000000
+event:0X5D3 mmcr0:0X00000000 mmcr1:0X404000038688C4CC mmcra:0X00000000
+event:0X5D4 mmcr0:0X00000000 mmcr1:0X404000038688C4CC mmcra:0X00000000
+event:0X5D5 mmcr0:0X00000000 mmcr1:0X404000038688C4CC mmcra:0X00000000
+
+#Group 94 pm_smt_priorities1, Thread priority events
+event:0X5E0 mmcr0:0X00000000 mmcr1:0X0005000FC6CCC6C8 mmcra:0X00000000
+event:0X5E1 mmcr0:0X00000000 mmcr1:0X0005000FC6CCC6C8 mmcra:0X00000000
+event:0X5E2 mmcr0:0X00000000 mmcr1:0X0005000FC6CCC6C8 mmcra:0X00000000
+event:0X5E3 mmcr0:0X00000000 mmcr1:0X0005000FC6CCC6C8 mmcra:0X00000000
+event:0X5E4 mmcr0:0X00000000 mmcr1:0X0005000FC6CCC6C8 mmcra:0X00000000
+event:0X5E5 mmcr0:0X00000000 mmcr1:0X0005000FC6CCC6C8 mmcra:0X00000000
+
+#Group 95 pm_smt_priorities2, Thread priority events
+event:0X5F0 mmcr0:0X00000000 mmcr1:0X0005000FC4CACACC mmcra:0X00000000
+event:0X5F1 mmcr0:0X00000000 mmcr1:0X0005000FC4CACACC mmcra:0X00000000
+event:0X5F2 mmcr0:0X00000000 mmcr1:0X0005000FC4CACACC mmcra:0X00000000
+event:0X5F3 mmcr0:0X00000000 mmcr1:0X0005000FC4CACACC mmcra:0X00000000
+event:0X5F4 mmcr0:0X00000000 mmcr1:0X0005000FC4CACACC mmcra:0X00000000
+event:0X5F5 mmcr0:0X00000000 mmcr1:0X0005000FC4CACACC mmcra:0X00000000
+
+#Group 96 pm_smt_priorities3, Thread priority events
+event:0X600 mmcr0:0X00000000 mmcr1:0X0005000FC2C8C4C2 mmcra:0X00000000
+event:0X601 mmcr0:0X00000000 mmcr1:0X0005000FC2C8C4C2 mmcra:0X00000000
+event:0X602 mmcr0:0X00000000 mmcr1:0X0005000FC2C8C4C2 mmcra:0X00000000
+event:0X603 mmcr0:0X00000000 mmcr1:0X0005000FC2C8C4C2 mmcra:0X00000000
+event:0X604 mmcr0:0X00000000 mmcr1:0X0005000FC2C8C4C2 mmcra:0X00000000
+event:0X605 mmcr0:0X00000000 mmcr1:0X0005000FC2C8C4C2 mmcra:0X00000000
+
+#Group 97 pm_smt_priorities4, Thread priority events
+event:0X610 mmcr0:0X00000000 mmcr1:0X0005000AC016C002 mmcra:0X00000001
+event:0X611 mmcr0:0X00000000 mmcr1:0X0005000AC016C002 mmcra:0X00000001
+event:0X612 mmcr0:0X00000000 mmcr1:0X0005000AC016C002 mmcra:0X00000001
+event:0X613 mmcr0:0X00000000 mmcr1:0X0005000AC016C002 mmcra:0X00000001
+event:0X614 mmcr0:0X00000000 mmcr1:0X0005000AC016C002 mmcra:0X00000001
+event:0X615 mmcr0:0X00000000 mmcr1:0X0005000AC016C002 mmcra:0X00000001
+
+#Group 98 pm_smt_both, Thread common events
+event:0X620 mmcr0:0X00000000 mmcr1:0X0010000016260208 mmcra:0X00000001
+event:0X621 mmcr0:0X00000000 mmcr1:0X0010000016260208 mmcra:0X00000001
+event:0X622 mmcr0:0X00000000 mmcr1:0X0010000016260208 mmcra:0X00000001
+event:0X623 mmcr0:0X00000000 mmcr1:0X0010000016260208 mmcra:0X00000001
+event:0X624 mmcr0:0X00000000 mmcr1:0X0010000016260208 mmcra:0X00000001
+event:0X625 mmcr0:0X00000000 mmcr1:0X0010000016260208 mmcra:0X00000001
+
+#Group 99 pm_smt_selection, Thread selection
+event:0X630 mmcr0:0X00000000 mmcr1:0X0090000086028082 mmcra:0X00000001
+event:0X631 mmcr0:0X00000000 mmcr1:0X0090000086028082 mmcra:0X00000001
+event:0X632 mmcr0:0X00000000 mmcr1:0X0090000086028082 mmcra:0X00000001
+event:0X633 mmcr0:0X00000000 mmcr1:0X0090000086028082 mmcra:0X00000001
+event:0X634 mmcr0:0X00000000 mmcr1:0X0090000086028082 mmcra:0X00000001
+event:0X635 mmcr0:0X00000000 mmcr1:0X0090000086028082 mmcra:0X00000001
+
+#Group 100 pm_smt_selectover1, Thread selection overide
+event:0X640 mmcr0:0X00000000 mmcr1:0X0050000002808488 mmcra:0X00000001
+event:0X641 mmcr0:0X00000000 mmcr1:0X0050000002808488 mmcra:0X00000001
+event:0X642 mmcr0:0X00000000 mmcr1:0X0050000002808488 mmcra:0X00000001
+event:0X643 mmcr0:0X00000000 mmcr1:0X0050000002808488 mmcra:0X00000001
+event:0X644 mmcr0:0X00000000 mmcr1:0X0050000002808488 mmcra:0X00000001
+event:0X645 mmcr0:0X00000000 mmcr1:0X0050000002808488 mmcra:0X00000001
+
+#Group 101 pm_smt_selectover2, Thread selection overide
+event:0X650 mmcr0:0X00000000 mmcr1:0X00100000021E8A86 mmcra:0X00000001
+event:0X651 mmcr0:0X00000000 mmcr1:0X00100000021E8A86 mmcra:0X00000001
+event:0X652 mmcr0:0X00000000 mmcr1:0X00100000021E8A86 mmcra:0X00000001
+event:0X653 mmcr0:0X00000000 mmcr1:0X00100000021E8A86 mmcra:0X00000001
+event:0X654 mmcr0:0X00000000 mmcr1:0X00100000021E8A86 mmcra:0X00000001
+event:0X655 mmcr0:0X00000000 mmcr1:0X00100000021E8A86 mmcra:0X00000001
+
+#Group 102 pm_fabric1, Fabric events
+event:0X660 mmcr0:0X00000000 mmcr1:0X305500058ECE8ECE mmcra:0X00000000
+event:0X661 mmcr0:0X00000000 mmcr1:0X305500058ECE8ECE mmcra:0X00000000
+event:0X662 mmcr0:0X00000000 mmcr1:0X305500058ECE8ECE mmcra:0X00000000
+event:0X663 mmcr0:0X00000000 mmcr1:0X305500058ECE8ECE mmcra:0X00000000
+event:0X664 mmcr0:0X00000000 mmcr1:0X305500058ECE8ECE mmcra:0X00000000
+event:0X665 mmcr0:0X00000000 mmcr1:0X305500058ECE8ECE mmcra:0X00000000
+
+#Group 103 pm_fabric2, Fabric data movement
+event:0X670 mmcr0:0X00000000 mmcr1:0X305500858ECE8ECE mmcra:0X00000000
+event:0X671 mmcr0:0X00000000 mmcr1:0X305500858ECE8ECE mmcra:0X00000000
+event:0X672 mmcr0:0X00000000 mmcr1:0X305500858ECE8ECE mmcra:0X00000000
+event:0X673 mmcr0:0X00000000 mmcr1:0X305500858ECE8ECE mmcra:0X00000000
+event:0X674 mmcr0:0X00000000 mmcr1:0X305500858ECE8ECE mmcra:0X00000000
+event:0X675 mmcr0:0X00000000 mmcr1:0X305500858ECE8ECE mmcra:0X00000000
+
+#Group 104 pm_fabric3, Fabric data movement
+event:0X680 mmcr0:0X00000000 mmcr1:0X305501858ECE8ECE mmcra:0X00000000
+event:0X681 mmcr0:0X00000000 mmcr1:0X305501858ECE8ECE mmcra:0X00000000
+event:0X682 mmcr0:0X00000000 mmcr1:0X305501858ECE8ECE mmcra:0X00000000
+event:0X683 mmcr0:0X00000000 mmcr1:0X305501858ECE8ECE mmcra:0X00000000
+event:0X684 mmcr0:0X00000000 mmcr1:0X305501858ECE8ECE mmcra:0X00000000
+event:0X685 mmcr0:0X00000000 mmcr1:0X305501858ECE8ECE mmcra:0X00000000
+
+#Group 105 pm_fabric4, Fabric data movement
+event:0X690 mmcr0:0X00000000 mmcr1:0X705401068ECEC68E mmcra:0X00000000
+event:0X691 mmcr0:0X00000000 mmcr1:0X705401068ECEC68E mmcra:0X00000000
+event:0X692 mmcr0:0X00000000 mmcr1:0X705401068ECEC68E mmcra:0X00000000
+event:0X693 mmcr0:0X00000000 mmcr1:0X705401068ECEC68E mmcra:0X00000000
+event:0X694 mmcr0:0X00000000 mmcr1:0X705401068ECEC68E mmcra:0X00000000
+event:0X695 mmcr0:0X00000000 mmcr1:0X705401068ECEC68E mmcra:0X00000000
+
+#Group 106 pm_snoop1, Snoop retry
+event:0X6A0 mmcr0:0X00000000 mmcr1:0X305500058CCC8CCC mmcra:0X00000000
+event:0X6A1 mmcr0:0X00000000 mmcr1:0X305500058CCC8CCC mmcra:0X00000000
+event:0X6A2 mmcr0:0X00000000 mmcr1:0X305500058CCC8CCC mmcra:0X00000000
+event:0X6A3 mmcr0:0X00000000 mmcr1:0X305500058CCC8CCC mmcra:0X00000000
+event:0X6A4 mmcr0:0X00000000 mmcr1:0X305500058CCC8CCC mmcra:0X00000000
+event:0X6A5 mmcr0:0X00000000 mmcr1:0X305500058CCC8CCC mmcra:0X00000000
+
+#Group 107 pm_snoop2, Snoop read retry
+event:0X6B0 mmcr0:0X00000000 mmcr1:0X30540A048CCC8C02 mmcra:0X00000001
+event:0X6B1 mmcr0:0X00000000 mmcr1:0X30540A048CCC8C02 mmcra:0X00000001
+event:0X6B2 mmcr0:0X00000000 mmcr1:0X30540A048CCC8C02 mmcra:0X00000001
+event:0X6B3 mmcr0:0X00000000 mmcr1:0X30540A048CCC8C02 mmcra:0X00000001
+event:0X6B4 mmcr0:0X00000000 mmcr1:0X30540A048CCC8C02 mmcra:0X00000001
+event:0X6B5 mmcr0:0X00000000 mmcr1:0X30540A048CCC8C02 mmcra:0X00000001
+
+#Group 108 pm_snoop3, Snoop write retry
+event:0X6C0 mmcr0:0X00000000 mmcr1:0X30550C058CCC8CCC mmcra:0X00000000
+event:0X6C1 mmcr0:0X00000000 mmcr1:0X30550C058CCC8CCC mmcra:0X00000000
+event:0X6C2 mmcr0:0X00000000 mmcr1:0X30550C058CCC8CCC mmcra:0X00000000
+event:0X6C3 mmcr0:0X00000000 mmcr1:0X30550C058CCC8CCC mmcra:0X00000000
+event:0X6C4 mmcr0:0X00000000 mmcr1:0X30550C058CCC8CCC mmcra:0X00000000
+event:0X6C5 mmcr0:0X00000000 mmcr1:0X30550C058CCC8CCC mmcra:0X00000000
+
+#Group 109 pm_snoop4, Snoop partial write retry
+event:0X6D0 mmcr0:0X00000000 mmcr1:0X30550E058CCC8CCC mmcra:0X00000000
+event:0X6D1 mmcr0:0X00000000 mmcr1:0X30550E058CCC8CCC mmcra:0X00000000
+event:0X6D2 mmcr0:0X00000000 mmcr1:0X30550E058CCC8CCC mmcra:0X00000000
+event:0X6D3 mmcr0:0X00000000 mmcr1:0X30550E058CCC8CCC mmcra:0X00000000
+event:0X6D4 mmcr0:0X00000000 mmcr1:0X30550E058CCC8CCC mmcra:0X00000000
+event:0X6D5 mmcr0:0X00000000 mmcr1:0X30550E058CCC8CCC mmcra:0X00000000
+
+#Group 110 pm_mem_rq, Memory read queue dispatch
+event:0X6E0 mmcr0:0X00000000 mmcr1:0X705402058CCC8CCE mmcra:0X00000000
+event:0X6E1 mmcr0:0X00000000 mmcr1:0X705402058CCC8CCE mmcra:0X00000000
+event:0X6E2 mmcr0:0X00000000 mmcr1:0X705402058CCC8CCE mmcra:0X00000000
+event:0X6E3 mmcr0:0X00000000 mmcr1:0X705402058CCC8CCE mmcra:0X00000000
+event:0X6E4 mmcr0:0X00000000 mmcr1:0X705402058CCC8CCE mmcra:0X00000000
+event:0X6E5 mmcr0:0X00000000 mmcr1:0X705402058CCC8CCE mmcra:0X00000000
+
+#Group 111 pm_mem_read, Memory read complete and cancel
+event:0X6F0 mmcr0:0X00000000 mmcr1:0X305404048CCC8C06 mmcra:0X00000000
+event:0X6F1 mmcr0:0X00000000 mmcr1:0X305404048CCC8C06 mmcra:0X00000000
+event:0X6F2 mmcr0:0X00000000 mmcr1:0X305404048CCC8C06 mmcra:0X00000000
+event:0X6F3 mmcr0:0X00000000 mmcr1:0X305404048CCC8C06 mmcra:0X00000000
+event:0X6F4 mmcr0:0X00000000 mmcr1:0X305404048CCC8C06 mmcra:0X00000000
+event:0X6F5 mmcr0:0X00000000 mmcr1:0X305404048CCC8C06 mmcra:0X00000000
+
+#Group 112 pm_mem_wq, Memory write queue dispatch
+event:0X700 mmcr0:0X00000000 mmcr1:0X305506058CCC8CCC mmcra:0X00000000
+event:0X701 mmcr0:0X00000000 mmcr1:0X305506058CCC8CCC mmcra:0X00000000
+event:0X702 mmcr0:0X00000000 mmcr1:0X305506058CCC8CCC mmcra:0X00000000
+event:0X703 mmcr0:0X00000000 mmcr1:0X305506058CCC8CCC mmcra:0X00000000
+event:0X704 mmcr0:0X00000000 mmcr1:0X305506058CCC8CCC mmcra:0X00000000
+event:0X705 mmcr0:0X00000000 mmcr1:0X305506058CCC8CCC mmcra:0X00000000
+
+#Group 113 pm_mem_pwq, Memory partial write queue
+event:0X710 mmcr0:0X00000000 mmcr1:0X305508058CCC8CCC mmcra:0X00000000
+event:0X711 mmcr0:0X00000000 mmcr1:0X305508058CCC8CCC mmcra:0X00000000
+event:0X712 mmcr0:0X00000000 mmcr1:0X305508058CCC8CCC mmcra:0X00000000
+event:0X713 mmcr0:0X00000000 mmcr1:0X305508058CCC8CCC mmcra:0X00000000
+event:0X714 mmcr0:0X00000000 mmcr1:0X305508058CCC8CCC mmcra:0X00000000
+event:0X715 mmcr0:0X00000000 mmcr1:0X305508058CCC8CCC mmcra:0X00000000
+
+#Group 114 pm_threshold, Thresholding
+event:0X720 mmcr0:0X00000000 mmcr1:0X0008000404C41628 mmcra:0X00000001
+event:0X721 mmcr0:0X00000000 mmcr1:0X0008000404C41628 mmcra:0X00000001
+event:0X722 mmcr0:0X00000000 mmcr1:0X0008000404C41628 mmcra:0X00000001
+event:0X723 mmcr0:0X00000000 mmcr1:0X0008000404C41628 mmcra:0X00000001
+event:0X724 mmcr0:0X00000000 mmcr1:0X0008000404C41628 mmcra:0X00000001
+event:0X725 mmcr0:0X00000000 mmcr1:0X0008000404C41628 mmcra:0X00000001
+
+#Group 115 pm_mrk_grp1, Marked group events
+event:0X730 mmcr0:0X00000000 mmcr1:0X0008000404C60A26 mmcra:0X00000001
+event:0X731 mmcr0:0X00000000 mmcr1:0X0008000404C60A26 mmcra:0X00000001
+event:0X732 mmcr0:0X00000000 mmcr1:0X0008000404C60A26 mmcra:0X00000001
+event:0X733 mmcr0:0X00000000 mmcr1:0X0008000404C60A26 mmcra:0X00000001
+event:0X734 mmcr0:0X00000000 mmcr1:0X0008000404C60A26 mmcra:0X00000001
+event:0X735 mmcr0:0X00000000 mmcr1:0X0008000404C60A26 mmcra:0X00000001
+
+#Group 116 pm_mrk_grp2, Marked group events
+event:0X740 mmcr0:0X00000000 mmcr1:0X410300022A0AC822 mmcra:0X00000001
+event:0X741 mmcr0:0X00000000 mmcr1:0X410300022A0AC822 mmcra:0X00000001
+event:0X742 mmcr0:0X00000000 mmcr1:0X410300022A0AC822 mmcra:0X00000001
+event:0X743 mmcr0:0X00000000 mmcr1:0X410300022A0AC822 mmcra:0X00000001
+event:0X744 mmcr0:0X00000000 mmcr1:0X410300022A0AC822 mmcra:0X00000001
+event:0X745 mmcr0:0X00000000 mmcr1:0X410300022A0AC822 mmcra:0X00000001
+
+#Group 117 pm_mrk_dsource1, Marked data from
+event:0X750 mmcr0:0X00000000 mmcr1:0X010B00030E404444 mmcra:0X00000001
+event:0X751 mmcr0:0X00000000 mmcr1:0X010B00030E404444 mmcra:0X00000001
+event:0X752 mmcr0:0X00000000 mmcr1:0X010B00030E404444 mmcra:0X00000001
+event:0X753 mmcr0:0X00000000 mmcr1:0X010B00030E404444 mmcra:0X00000001
+event:0X754 mmcr0:0X00000000 mmcr1:0X010B00030E404444 mmcra:0X00000001
+event:0X755 mmcr0:0X00000000 mmcr1:0X010B00030E404444 mmcra:0X00000001
+
+#Group 118 pm_mrk_dsource2, Marked data from
+event:0X760 mmcr0:0X00000000 mmcr1:0X010B00002E440210 mmcra:0X00000001
+event:0X761 mmcr0:0X00000000 mmcr1:0X010B00002E440210 mmcra:0X00000001
+event:0X762 mmcr0:0X00000000 mmcr1:0X010B00002E440210 mmcra:0X00000001
+event:0X763 mmcr0:0X00000000 mmcr1:0X010B00002E440210 mmcra:0X00000001
+event:0X764 mmcr0:0X00000000 mmcr1:0X010B00002E440210 mmcra:0X00000001
+event:0X765 mmcr0:0X00000000 mmcr1:0X010B00002E440210 mmcra:0X00000001
+
+#Group 119 pm_mrk_dsource3, Marked data from
+event:0X770 mmcr0:0X00000000 mmcr1:0X010B00031C484C4C mmcra:0X00000001
+event:0X771 mmcr0:0X00000000 mmcr1:0X010B00031C484C4C mmcra:0X00000001
+event:0X772 mmcr0:0X00000000 mmcr1:0X010B00031C484C4C mmcra:0X00000001
+event:0X773 mmcr0:0X00000000 mmcr1:0X010B00031C484C4C mmcra:0X00000001
+event:0X774 mmcr0:0X00000000 mmcr1:0X010B00031C484C4C mmcra:0X00000001
+event:0X775 mmcr0:0X00000000 mmcr1:0X010B00031C484C4C mmcra:0X00000001
+
+#Group 120 pm_mrk_dsource4, Marked data from
+event:0X780 mmcr0:0X00000000 mmcr1:0X010B000342462E42 mmcra:0X00000001
+event:0X781 mmcr0:0X00000000 mmcr1:0X010B000342462E42 mmcra:0X00000001
+event:0X782 mmcr0:0X00000000 mmcr1:0X010B000342462E42 mmcra:0X00000001
+event:0X783 mmcr0:0X00000000 mmcr1:0X010B000342462E42 mmcra:0X00000001
+event:0X784 mmcr0:0X00000000 mmcr1:0X010B000342462E42 mmcra:0X00000001
+event:0X785 mmcr0:0X00000000 mmcr1:0X010B000342462E42 mmcra:0X00000001
+
+#Group 121 pm_mrk_dsource5, Marked data from
+event:0X790 mmcr0:0X00000000 mmcr1:0X010B00033C4C4040 mmcra:0X00000001
+event:0X791 mmcr0:0X00000000 mmcr1:0X010B00033C4C4040 mmcra:0X00000001
+event:0X792 mmcr0:0X00000000 mmcr1:0X010B00033C4C4040 mmcra:0X00000001
+event:0X793 mmcr0:0X00000000 mmcr1:0X010B00033C4C4040 mmcra:0X00000001
+event:0X794 mmcr0:0X00000000 mmcr1:0X010B00033C4C4040 mmcra:0X00000001
+event:0X795 mmcr0:0X00000000 mmcr1:0X010B00033C4C4040 mmcra:0X00000001
+
+#Group 122 pm_mrk_dsource6, Marked data from
+event:0X7A0 mmcr0:0X00000000 mmcr1:0X010B000146460246 mmcra:0X00000001
+event:0X7A1 mmcr0:0X00000000 mmcr1:0X010B000146460246 mmcra:0X00000001
+event:0X7A2 mmcr0:0X00000000 mmcr1:0X010B000146460246 mmcra:0X00000001
+event:0X7A3 mmcr0:0X00000000 mmcr1:0X010B000146460246 mmcra:0X00000001
+event:0X7A4 mmcr0:0X00000000 mmcr1:0X010B000146460246 mmcra:0X00000001
+event:0X7A5 mmcr0:0X00000000 mmcr1:0X010B000146460246 mmcra:0X00000001
+
+#Group 123 pm_mrk_dsource7, Marked data from
+event:0X7B0 mmcr0:0X00000000 mmcr1:0X010B00034E4E3C4E mmcra:0X00000001
+event:0X7B1 mmcr0:0X00000000 mmcr1:0X010B00034E4E3C4E mmcra:0X00000001
+event:0X7B2 mmcr0:0X00000000 mmcr1:0X010B00034E4E3C4E mmcra:0X00000001
+event:0X7B3 mmcr0:0X00000000 mmcr1:0X010B00034E4E3C4E mmcra:0X00000001
+event:0X7B4 mmcr0:0X00000000 mmcr1:0X010B00034E4E3C4E mmcra:0X00000001
+event:0X7B5 mmcr0:0X00000000 mmcr1:0X010B00034E4E3C4E mmcra:0X00000001
+
+#Group 124 pm_mrk_lbmiss, Marked TLB and SLB misses
+event:0X7C0 mmcr0:0X00000000 mmcr1:0X0CF00000828A8C8E mmcra:0X00000001
+event:0X7C1 mmcr0:0X00000000 mmcr1:0X0CF00000828A8C8E mmcra:0X00000001
+event:0X7C2 mmcr0:0X00000000 mmcr1:0X0CF00000828A8C8E mmcra:0X00000001
+event:0X7C3 mmcr0:0X00000000 mmcr1:0X0CF00000828A8C8E mmcra:0X00000001
+event:0X7C4 mmcr0:0X00000000 mmcr1:0X0CF00000828A8C8E mmcra:0X00000001
+event:0X7C5 mmcr0:0X00000000 mmcr1:0X0CF00000828A8C8E mmcra:0X00000001
+
+#Group 125 pm_mrk_lbref, Marked TLB and SLB references
+event:0X7D0 mmcr0:0X00000000 mmcr1:0X0CF00000868E028E mmcra:0X00000001
+event:0X7D1 mmcr0:0X00000000 mmcr1:0X0CF00000868E028E mmcra:0X00000001
+event:0X7D2 mmcr0:0X00000000 mmcr1:0X0CF00000868E028E mmcra:0X00000001
+event:0X7D3 mmcr0:0X00000000 mmcr1:0X0CF00000868E028E mmcra:0X00000001
+event:0X7D4 mmcr0:0X00000000 mmcr1:0X0CF00000868E028E mmcra:0X00000001
+event:0X7D5 mmcr0:0X00000000 mmcr1:0X0CF00000868E028E mmcra:0X00000001
+
+#Group 126 pm_mrk_lsmiss, Marked load and store miss
+event:0X7E0 mmcr0:0X00000000 mmcr1:0X000800081002060A mmcra:0X00000001
+event:0X7E1 mmcr0:0X00000000 mmcr1:0X000800081002060A mmcra:0X00000001
+event:0X7E2 mmcr0:0X00000000 mmcr1:0X000800081002060A mmcra:0X00000001
+event:0X7E3 mmcr0:0X00000000 mmcr1:0X000800081002060A mmcra:0X00000001
+event:0X7E4 mmcr0:0X00000000 mmcr1:0X000800081002060A mmcra:0X00000001
+event:0X7E5 mmcr0:0X00000000 mmcr1:0X000800081002060A mmcra:0X00000001
+
+#Group 127 pm_mrk_ulsflush, Mark unaligned load and store flushes
+event:0X7F0 mmcr0:0X00000000 mmcr1:0X0028000406C62020 mmcra:0X00000001
+event:0X7F1 mmcr0:0X00000000 mmcr1:0X0028000406C62020 mmcra:0X00000001
+event:0X7F2 mmcr0:0X00000000 mmcr1:0X0028000406C62020 mmcra:0X00000001
+event:0X7F3 mmcr0:0X00000000 mmcr1:0X0028000406C62020 mmcra:0X00000001
+event:0X7F4 mmcr0:0X00000000 mmcr1:0X0028000406C62020 mmcra:0X00000001
+event:0X7F5 mmcr0:0X00000000 mmcr1:0X0028000406C62020 mmcra:0X00000001
+
+#Group 128 pm_mrk_misc, Misc marked instructions
+event:0X800 mmcr0:0X00000000 mmcr1:0X00080008CC062816 mmcra:0X00000001
+event:0X801 mmcr0:0X00000000 mmcr1:0X00080008CC062816 mmcra:0X00000001
+event:0X802 mmcr0:0X00000000 mmcr1:0X00080008CC062816 mmcra:0X00000001
+event:0X803 mmcr0:0X00000000 mmcr1:0X00080008CC062816 mmcra:0X00000001
+event:0X804 mmcr0:0X00000000 mmcr1:0X00080008CC062816 mmcra:0X00000001
+event:0X805 mmcr0:0X00000000 mmcr1:0X00080008CC062816 mmcra:0X00000001
+
+#Group 129 pm_lsref_L1, Load/Store operations and L1 activity
+event:0X810 mmcr0:0X00000000 mmcr1:0X803300040E1A2020 mmcra:0X00000000
+event:0X811 mmcr0:0X00000000 mmcr1:0X803300040E1A2020 mmcra:0X00000000
+event:0X812 mmcr0:0X00000000 mmcr1:0X803300040E1A2020 mmcra:0X00000000
+event:0X813 mmcr0:0X00000000 mmcr1:0X803300040E1A2020 mmcra:0X00000000
+event:0X814 mmcr0:0X00000000 mmcr1:0X803300040E1A2020 mmcra:0X00000000
+event:0X815 mmcr0:0X00000000 mmcr1:0X803300040E1A2020 mmcra:0X00000000
+
+#Group 130 pm_lsref_L2L3, Load/Store operations and L2,L3 activity
+event:0X820 mmcr0:0X00000000 mmcr1:0X003300001C0E2020 mmcra:0X00000000
+event:0X821 mmcr0:0X00000000 mmcr1:0X003300001C0E2020 mmcra:0X00000000
+event:0X822 mmcr0:0X00000000 mmcr1:0X003300001C0E2020 mmcra:0X00000000
+event:0X823 mmcr0:0X00000000 mmcr1:0X003300001C0E2020 mmcra:0X00000000
+event:0X824 mmcr0:0X00000000 mmcr1:0X003300001C0E2020 mmcra:0X00000000
+event:0X825 mmcr0:0X00000000 mmcr1:0X003300001C0E2020 mmcra:0X00000000
+
+#Group 131 pm_lsref_tlbmiss, Load/Store operations and TLB misses
+event:0X830 mmcr0:0X00000000 mmcr1:0X00B0000080882020 mmcra:0X00000000
+event:0X831 mmcr0:0X00000000 mmcr1:0X00B0000080882020 mmcra:0X00000000
+event:0X832 mmcr0:0X00000000 mmcr1:0X00B0000080882020 mmcra:0X00000000
+event:0X833 mmcr0:0X00000000 mmcr1:0X00B0000080882020 mmcra:0X00000000
+event:0X834 mmcr0:0X00000000 mmcr1:0X00B0000080882020 mmcra:0X00000000
+event:0X835 mmcr0:0X00000000 mmcr1:0X00B0000080882020 mmcra:0X00000000
+
+#Group 132 pm_Dmiss, Data cache misses
+event:0X840 mmcr0:0X00000000 mmcr1:0X003300001C0E1086 mmcra:0X00000000
+event:0X841 mmcr0:0X00000000 mmcr1:0X003300001C0E1086 mmcra:0X00000000
+event:0X842 mmcr0:0X00000000 mmcr1:0X003300001C0E1086 mmcra:0X00000000
+event:0X843 mmcr0:0X00000000 mmcr1:0X003300001C0E1086 mmcra:0X00000000
+event:0X844 mmcr0:0X00000000 mmcr1:0X003300001C0E1086 mmcra:0X00000000
+event:0X845 mmcr0:0X00000000 mmcr1:0X003300001C0E1086 mmcra:0X00000000
+
+#Group 133 pm_prefetchX, Prefetch events
+event:0X850 mmcr0:0X00000000 mmcr1:0X853300061ECCCE86 mmcra:0X00000000
+event:0X851 mmcr0:0X00000000 mmcr1:0X853300061ECCCE86 mmcra:0X00000000
+event:0X852 mmcr0:0X00000000 mmcr1:0X853300061ECCCE86 mmcra:0X00000000
+event:0X853 mmcr0:0X00000000 mmcr1:0X853300061ECCCE86 mmcra:0X00000000
+event:0X854 mmcr0:0X00000000 mmcr1:0X853300061ECCCE86 mmcra:0X00000000
+event:0X855 mmcr0:0X00000000 mmcr1:0X853300061ECCCE86 mmcra:0X00000000
+
+#Group 134 pm_branchX, Branch operations
+event:0X860 mmcr0:0X00000000 mmcr1:0X800000030E0E0EC8 mmcra:0X00000000
+event:0X861 mmcr0:0X00000000 mmcr1:0X800000030E0E0EC8 mmcra:0X00000000
+event:0X862 mmcr0:0X00000000 mmcr1:0X800000030E0E0EC8 mmcra:0X00000000
+event:0X863 mmcr0:0X00000000 mmcr1:0X800000030E0E0EC8 mmcra:0X00000000
+event:0X864 mmcr0:0X00000000 mmcr1:0X800000030E0E0EC8 mmcra:0X00000000
+event:0X865 mmcr0:0X00000000 mmcr1:0X800000030E0E0EC8 mmcra:0X00000000
+
+#Group 135 pm_fpuX1, Floating point events by unit
+event:0X870 mmcr0:0X00000000 mmcr1:0X0000000DC2CA86C0 mmcra:0X00000000
+event:0X871 mmcr0:0X00000000 mmcr1:0X0000000DC2CA86C0 mmcra:0X00000000
+event:0X872 mmcr0:0X00000000 mmcr1:0X0000000DC2CA86C0 mmcra:0X00000000
+event:0X873 mmcr0:0X00000000 mmcr1:0X0000000DC2CA86C0 mmcra:0X00000000
+event:0X874 mmcr0:0X00000000 mmcr1:0X0000000DC2CA86C0 mmcra:0X00000000
+event:0X875 mmcr0:0X00000000 mmcr1:0X0000000DC2CA86C0 mmcra:0X00000000
+
+#Group 136 pm_fpuX2, Floating point events by unit
+event:0X880 mmcr0:0X00000000 mmcr1:0X00000000828A828A mmcra:0X00000000
+event:0X881 mmcr0:0X00000000 mmcr1:0X00000000828A828A mmcra:0X00000000
+event:0X882 mmcr0:0X00000000 mmcr1:0X00000000828A828A mmcra:0X00000000
+event:0X883 mmcr0:0X00000000 mmcr1:0X00000000828A828A mmcra:0X00000000
+event:0X884 mmcr0:0X00000000 mmcr1:0X00000000828A828A mmcra:0X00000000
+event:0X885 mmcr0:0X00000000 mmcr1:0X00000000828A828A mmcra:0X00000000
+
+#Group 137 pm_fpuX3, Floating point events by unit
+event:0X890 mmcr0:0X00000000 mmcr1:0X00000000868E868E mmcra:0X00000000
+event:0X891 mmcr0:0X00000000 mmcr1:0X00000000868E868E mmcra:0X00000000
+event:0X892 mmcr0:0X00000000 mmcr1:0X00000000868E868E mmcra:0X00000000
+event:0X893 mmcr0:0X00000000 mmcr1:0X00000000868E868E mmcra:0X00000000
+event:0X894 mmcr0:0X00000000 mmcr1:0X00000000868E868E mmcra:0X00000000
+event:0X895 mmcr0:0X00000000 mmcr1:0X00000000868E868E mmcra:0X00000000
+
+#Group 138 pm_fpuX4, Floating point and L1 events
+event:0X8A0 mmcr0:0X00000000 mmcr1:0X0030000020102020 mmcra:0X00000000
+event:0X8A1 mmcr0:0X00000000 mmcr1:0X0030000020102020 mmcra:0X00000000
+event:0X8A2 mmcr0:0X00000000 mmcr1:0X0030000020102020 mmcra:0X00000000
+event:0X8A3 mmcr0:0X00000000 mmcr1:0X0030000020102020 mmcra:0X00000000
+event:0X8A4 mmcr0:0X00000000 mmcr1:0X0030000020102020 mmcra:0X00000000
+event:0X8A5 mmcr0:0X00000000 mmcr1:0X0030000020102020 mmcra:0X00000000
+
+#Group 139 pm_fpuX5, Floating point events
+event:0X8B0 mmcr0:0X00000000 mmcr1:0X0000000C2020868E mmcra:0X00000000
+event:0X8B1 mmcr0:0X00000000 mmcr1:0X0000000C2020868E mmcra:0X00000000
+event:0X8B2 mmcr0:0X00000000 mmcr1:0X0000000C2020868E mmcra:0X00000000
+event:0X8B3 mmcr0:0X00000000 mmcr1:0X0000000C2020868E mmcra:0X00000000
+event:0X8B4 mmcr0:0X00000000 mmcr1:0X0000000C2020868E mmcra:0X00000000
+event:0X8B5 mmcr0:0X00000000 mmcr1:0X0000000C2020868E mmcra:0X00000000
+
+#Group 140 pm_fpuX6, Floating point events
+event:0X8C0 mmcr0:0X00000000 mmcr1:0X0000000010202010 mmcra:0X00000000
+event:0X8C1 mmcr0:0X00000000 mmcr1:0X0000000010202010 mmcra:0X00000000
+event:0X8C2 mmcr0:0X00000000 mmcr1:0X0000000010202010 mmcra:0X00000000
+event:0X8C3 mmcr0:0X00000000 mmcr1:0X0000000010202010 mmcra:0X00000000
+event:0X8C4 mmcr0:0X00000000 mmcr1:0X0000000010202010 mmcra:0X00000000
+event:0X8C5 mmcr0:0X00000000 mmcr1:0X0000000010202010 mmcra:0X00000000
+
+#Group 141 pm_hpmcount1, HPM group for set 1
+event:0X8D0 mmcr0:0X00000000 mmcr1:0X00000000201E2810 mmcra:0X00000000
+event:0X8D1 mmcr0:0X00000000 mmcr1:0X00000000201E2810 mmcra:0X00000000
+event:0X8D2 mmcr0:0X00000000 mmcr1:0X00000000201E2810 mmcra:0X00000000
+event:0X8D3 mmcr0:0X00000000 mmcr1:0X00000000201E2810 mmcra:0X00000000
+event:0X8D4 mmcr0:0X00000000 mmcr1:0X00000000201E2810 mmcra:0X00000000
+event:0X8D5 mmcr0:0X00000000 mmcr1:0X00000000201E2810 mmcra:0X00000000
+
+#Group 142 pm_hpmcount2, HPM group for set 2
+event:0X8E0 mmcr0:0X00000000 mmcr1:0X043000041E201220 mmcra:0X00000000
+event:0X8E1 mmcr0:0X00000000 mmcr1:0X043000041E201220 mmcra:0X00000000
+event:0X8E2 mmcr0:0X00000000 mmcr1:0X043000041E201220 mmcra:0X00000000
+event:0X8E3 mmcr0:0X00000000 mmcr1:0X043000041E201220 mmcra:0X00000000
+event:0X8E4 mmcr0:0X00000000 mmcr1:0X043000041E201220 mmcra:0X00000000
+event:0X8E5 mmcr0:0X00000000 mmcr1:0X043000041E201220 mmcra:0X00000000
+
+#Group 143 pm_hpmcount3, HPM group for set 3
+event:0X8F0 mmcr0:0X00000000 mmcr1:0X403000041EC21086 mmcra:0X00000000
+event:0X8F1 mmcr0:0X00000000 mmcr1:0X403000041EC21086 mmcra:0X00000000
+event:0X8F2 mmcr0:0X00000000 mmcr1:0X403000041EC21086 mmcra:0X00000000
+event:0X8F3 mmcr0:0X00000000 mmcr1:0X403000041EC21086 mmcra:0X00000000
+event:0X8F4 mmcr0:0X00000000 mmcr1:0X403000041EC21086 mmcra:0X00000000
+event:0X8F5 mmcr0:0X00000000 mmcr1:0X403000041EC21086 mmcra:0X00000000
+
+#Group 144 pm_hpmcount4, HPM group for set 7
+event:0X900 mmcr0:0X00000000 mmcr1:0X00B00000101E2020 mmcra:0X00000000
+event:0X901 mmcr0:0X00000000 mmcr1:0X00B00000101E2020 mmcra:0X00000000
+event:0X902 mmcr0:0X00000000 mmcr1:0X00B00000101E2020 mmcra:0X00000000
+event:0X903 mmcr0:0X00000000 mmcr1:0X00B00000101E2020 mmcra:0X00000000
+event:0X904 mmcr0:0X00000000 mmcr1:0X00B00000101E2020 mmcra:0X00000000
+event:0X905 mmcr0:0X00000000 mmcr1:0X00B00000101E2020 mmcra:0X00000000
+
+#Group 145 pm_hpmcount5, HPM group for set 9
+event:0X910 mmcr0:0X00000000 mmcr1:0X400000031E2810C4 mmcra:0X00000000
+event:0X911 mmcr0:0X00000000 mmcr1:0X400000031E2810C4 mmcra:0X00000000
+event:0X912 mmcr0:0X00000000 mmcr1:0X400000031E2810C4 mmcra:0X00000000
+event:0X913 mmcr0:0X00000000 mmcr1:0X400000031E2810C4 mmcra:0X00000000
+event:0X914 mmcr0:0X00000000 mmcr1:0X400000031E2810C4 mmcra:0X00000000
+event:0X915 mmcr0:0X00000000 mmcr1:0X400000031E2810C4 mmcra:0X00000000
+
+#Group 146 pm_eprof1, Group for use with eprof
+event:0X920 mmcr0:0X00000000 mmcr1:0X00300000121E108E mmcra:0X00000000
+event:0X921 mmcr0:0X00000000 mmcr1:0X00300000121E108E mmcra:0X00000000
+event:0X922 mmcr0:0X00000000 mmcr1:0X00300000121E108E mmcra:0X00000000
+event:0X923 mmcr0:0X00000000 mmcr1:0X00300000121E108E mmcra:0X00000000
+event:0X924 mmcr0:0X00000000 mmcr1:0X00300000121E108E mmcra:0X00000000
+event:0X925 mmcr0:0X00000000 mmcr1:0X00300000121E108E mmcra:0X00000000
+
+#Group 147 pm_eprof2, Group for use with eprof
+event:0X930 mmcr0:0X00000000 mmcr1:0X0038000810122020 mmcra:0X00000000
+event:0X931 mmcr0:0X00000000 mmcr1:0X0038000810122020 mmcra:0X00000000
+event:0X932 mmcr0:0X00000000 mmcr1:0X0038000810122020 mmcra:0X00000000
+event:0X933 mmcr0:0X00000000 mmcr1:0X0038000810122020 mmcra:0X00000000
+event:0X934 mmcr0:0X00000000 mmcr1:0X0038000810122020 mmcra:0X00000000
+event:0X935 mmcr0:0X00000000 mmcr1:0X0038000810122020 mmcra:0X00000000
+
+#Group 148 pm_eprof3, Group for use with eprof
+event:0X940 mmcr0:0X00000000 mmcr1:0X00380008C6121286 mmcra:0X00000000
+event:0X941 mmcr0:0X00000000 mmcr1:0X00380008C6121286 mmcra:0X00000000
+event:0X942 mmcr0:0X00000000 mmcr1:0X00380008C6121286 mmcra:0X00000000
+event:0X943 mmcr0:0X00000000 mmcr1:0X00380008C6121286 mmcra:0X00000000
+event:0X944 mmcr0:0X00000000 mmcr1:0X00380008C6121286 mmcra:0X00000000
+event:0X945 mmcr0:0X00000000 mmcr1:0X00380008C6121286 mmcra:0X00000000
diff --git a/events/ppc64/power5/events b/events/ppc64/power5/events
new file mode 100644
index 0000000..8f438bd
--- /dev/null
+++ b/events/ppc64/power5/events
@@ -0,0 +1,1202 @@
+#PPC64 POWER5 events
+#
+# Within each group the event names must be unique. Each event in a group is
+# assigned to a unique counter. The groups are from the groups defined in the
+# Performance Monitor Unit user guide for this processor.
+#
+# Only events within the same group can be selected simultaneously.
+# Each event is given a unique event number. The event number is used by the
+# OProfile code to resolve event names for the post-processing. This is done
+# to preserve compatibility with the rest of the OProfile code. The event
+# numbers are formatted as follows: <group_num>concat(<counter for the event>).
+
+#Group Default
+event:0X001 counters:3 um:zero minimum:10000 name:CYCLES : Processor Cycles using continuous sampling
+
+#Group 0 with random sampling
+event:0X002 counters:2 um:zero minimum:10000 name:CYCLES_RND_SMPL : Processor Cycles with random sampling
+
+
+#Group 1 pm_utilization, CPI and utilization data
+event:0X010 counters:0 um:zero minimum:10000 name:PM_RUN_CYC_GRP1 : (Group 1 pm_utilization) Run cycles
+event:0X011 counters:1 um:zero minimum:1000 name:PM_IOPS_CMPL_GRP1 : (Group 1 pm_utilization) IOPS instructions completed
+event:0X012 counters:2 um:zero minimum:1000 name:PM_INST_DISP_GRP1 : (Group 1 pm_utilization) Instructions dispatched
+event:0X013 counters:3 um:zero minimum:10000 name:PM_CYC_GRP1 : (Group 1 pm_utilization) Processor cycles
+event:0X014 counters:4 um:zero minimum:10000 name:PM_INST_CMPL_GRP1 : (Group 1 pm_utilization) Instructions completed
+event:0X015 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP1 : (Group 1 pm_utilization) Run cycles
+
+#Group 2 pm_completion, Completion and cycle counts
+event:0X020 counters:0 um:zero minimum:1000 name:PM_1PLUS_PPC_CMPL_GRP2 : (Group 2 pm_completion) One or more PPC instruction completed
+event:0X021 counters:1 um:zero minimum:1000 name:PM_GCT_EMPTY_CYC_GRP2 : (Group 2 pm_completion) Cycles GCT empty
+event:0X022 counters:2 um:zero minimum:1000 name:PM_GRP_CMPL_GRP2 : (Group 2 pm_completion) Group completed
+event:0X023 counters:3 um:zero minimum:10000 name:PM_CYC_GRP2 : (Group 2 pm_completion) Processor cycles
+event:0X024 counters:4 um:zero minimum:10000 name:PM_INST_CMPL_GRP2 : (Group 2 pm_completion) Instructions completed
+event:0X025 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP2 : (Group 2 pm_completion) Run cycles
+
+#Group 3 pm_group_dispatch, Group dispatch events
+event:0X030 counters:0 um:zero minimum:1000 name:PM_GRP_DISP_VALID_GRP3 : (Group 3 pm_group_dispatch) Group dispatch valid
+event:0X031 counters:1 um:zero minimum:1000 name:PM_GRP_DISP_REJECT_GRP3 : (Group 3 pm_group_dispatch) Group dispatch rejected
+event:0X032 counters:2 um:zero minimum:1000 name:PM_GRP_DISP_BLK_SB_CYC_GRP3 : (Group 3 pm_group_dispatch) Cycles group dispatch blocked by scoreboard
+event:0X033 counters:3 um:zero minimum:1000 name:PM_INST_DISP_GRP3 : (Group 3 pm_group_dispatch) Instructions dispatched
+event:0X034 counters:4 um:zero minimum:10000 name:PM_INST_CMPL_GRP3 : (Group 3 pm_group_dispatch) Instructions completed
+event:0X035 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP3 : (Group 3 pm_group_dispatch) Run cycles
+
+#Group 4 pm_clb1, CLB fullness
+event:0X040 counters:0 um:zero minimum:1000 name:PM_0INST_CLB_CYC_GRP4 : (Group 4 pm_clb1) Cycles no instructions in CLB
+event:0X041 counters:1 um:zero minimum:1000 name:PM_2INST_CLB_CYC_GRP4 : (Group 4 pm_clb1) Cycles 2 instructions in CLB
+event:0X042 counters:2 um:zero minimum:1000 name:PM_CLB_EMPTY_CYC_GRP4 : (Group 4 pm_clb1) Cycles CLB empty
+event:0X043 counters:3 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L35_MOD_CYC_GRP4 : (Group 4 pm_clb1) Marked load latency from L3.5 modified
+event:0X044 counters:4 um:zero minimum:10000 name:PM_INST_CMPL_GRP4 : (Group 4 pm_clb1) Instructions completed
+event:0X045 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP4 : (Group 4 pm_clb1) Run cycles
+
+#Group 5 pm_clb2, CLB fullness
+event:0X050 counters:0 um:zero minimum:1000 name:PM_5INST_CLB_CYC_GRP5 : (Group 5 pm_clb2) Cycles 5 instructions in CLB
+event:0X051 counters:1 um:zero minimum:1000 name:PM_6INST_CLB_CYC_GRP5 : (Group 5 pm_clb2) Cycles 6 instructions in CLB
+event:0X052 counters:2 um:zero minimum:1000 name:PM_MRK_LSU_SRQ_INST_VALID_GRP5 : (Group 5 pm_clb2) Marked instruction valid in SRQ
+event:0X053 counters:3 um:zero minimum:1000 name:PM_IOPS_CMPL_GRP5 : (Group 5 pm_clb2) IOPS instructions completed
+event:0X054 counters:4 um:zero minimum:10000 name:PM_INST_CMPL_GRP5 : (Group 5 pm_clb2) Instructions completed
+event:0X055 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP5 : (Group 5 pm_clb2) Run cycles
+
+#Group 6 pm_gct_empty, GCT empty reasons
+event:0X060 counters:0 um:zero minimum:1000 name:PM_GCT_NOSLOT_CYC_GRP6 : (Group 6 pm_gct_empty) Cycles no GCT slot allocated
+event:0X061 counters:1 um:zero minimum:1000 name:PM_GCT_NOSLOT_IC_MISS_GRP6 : (Group 6 pm_gct_empty) No slot in GCT caused by I cache miss
+event:0X062 counters:2 um:zero minimum:1000 name:PM_GCT_NOSLOT_SRQ_FULL_GRP6 : (Group 6 pm_gct_empty) No slot in GCT caused by SRQ full
+event:0X063 counters:3 um:zero minimum:1000 name:PM_GCT_NOSLOT_BR_MPRED_GRP6 : (Group 6 pm_gct_empty) No slot in GCT caused by branch mispredict
+event:0X064 counters:4 um:zero minimum:10000 name:PM_INST_CMPL_GRP6 : (Group 6 pm_gct_empty) Instructions completed
+event:0X065 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP6 : (Group 6 pm_gct_empty) Run cycles
+
+#Group 7 pm_gct_usage, GCT Usage
+event:0X070 counters:0 um:zero minimum:1000 name:PM_GCT_USAGE_00to59_CYC_GRP7 : (Group 7 pm_gct_usage) Cycles GCT less than 60% full
+event:0X071 counters:1 um:zero minimum:1000 name:PM_GCT_USAGE_60to79_CYC_GRP7 : (Group 7 pm_gct_usage) Cycles GCT 60-79% full
+event:0X072 counters:2 um:zero minimum:1000 name:PM_GCT_USAGE_80to99_CYC_GRP7 : (Group 7 pm_gct_usage) Cycles GCT 80-99% full
+event:0X073 counters:3 um:zero minimum:1000 name:PM_GCT_FULL_CYC_GRP7 : (Group 7 pm_gct_usage) Cycles GCT full
+event:0X074 counters:4 um:zero minimum:10000 name:PM_INST_CMPL_GRP7 : (Group 7 pm_gct_usage) Instructions completed
+event:0X075 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP7 : (Group 7 pm_gct_usage) Run cycles
+
+#Group 8 pm_lsu1, LSU LRQ and LMQ events
+event:0X080 counters:0 um:zero minimum:1000 name:PM_LSU_LRQ_S0_ALLOC_GRP8 : (Group 8 pm_lsu1) LRQ slot 0 allocated
+event:0X081 counters:1 um:zero minimum:1000 name:PM_LSU_LRQ_S0_VALID_GRP8 : (Group 8 pm_lsu1) LRQ slot 0 valid
+event:0X082 counters:2 um:zero minimum:1000 name:PM_LSU_LMQ_S0_ALLOC_GRP8 : (Group 8 pm_lsu1) LMQ slot 0 allocated
+event:0X083 counters:3 um:zero minimum:1000 name:PM_LSU_LMQ_S0_VALID_GRP8 : (Group 8 pm_lsu1) LMQ slot 0 valid
+event:0X084 counters:4 um:zero minimum:10000 name:PM_INST_CMPL_GRP8 : (Group 8 pm_lsu1) Instructions completed
+event:0X085 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP8 : (Group 8 pm_lsu1) Run cycles
+
+#Group 9 pm_lsu2, LSU SRQ events
+event:0X090 counters:0 um:zero minimum:1000 name:PM_LSU_SRQ_S0_ALLOC_GRP9 : (Group 9 pm_lsu2) SRQ slot 0 allocated
+event:0X091 counters:1 um:zero minimum:1000 name:PM_LSU_SRQ_S0_VALID_GRP9 : (Group 9 pm_lsu2) SRQ slot 0 valid
+event:0X092 counters:2 um:zero minimum:1000 name:PM_LSU_SRQ_SYNC_CYC_GRP9 : (Group 9 pm_lsu2) SRQ sync duration
+event:0X093 counters:3 um:zero minimum:1000 name:PM_LSU_SRQ_FULL_CYC_GRP9 : (Group 9 pm_lsu2) Cycles SRQ full
+event:0X094 counters:4 um:zero minimum:10000 name:PM_INST_CMPL_GRP9 : (Group 9 pm_lsu2) Instructions completed
+event:0X095 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP9 : (Group 9 pm_lsu2) Run cycles
+
+#Group 10 pm_lsu3, LSU SRQ and LMQ events
+event:0X0A0 counters:0 um:zero minimum:1000 name:PM_LSU_SRQ_STFWD_GRP10 : (Group 10 pm_lsu3) SRQ store forwarded
+event:0X0A1 counters:1 um:zero minimum:1000 name:PM_LSU_LMQ_SRQ_EMPTY_CYC_GRP10 : (Group 10 pm_lsu3) Cycles LMQ and SRQ empty
+event:0X0A2 counters:2 um:zero minimum:1000 name:PM_LSU_LMQ_LHR_MERGE_GRP10 : (Group 10 pm_lsu3) LMQ LHR merges
+event:0X0A3 counters:3 um:zero minimum:1000 name:PM_LSU_SRQ_EMPTY_CYC_GRP10 : (Group 10 pm_lsu3) Cycles SRQ empty
+event:0X0A4 counters:4 um:zero minimum:10000 name:PM_INST_CMPL_GRP10 : (Group 10 pm_lsu3) Instructions completed
+event:0X0A5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP10 : (Group 10 pm_lsu3) Run cycles
+
+#Group 11 pm_prefetch1, Prefetch stream allocation
+event:0X0B0 counters:0 um:zero minimum:1000 name:PM_INST_FROM_L2MISS_GRP11 : (Group 11 pm_prefetch1) Instructions fetched missed L2
+event:0X0B1 counters:1 um:zero minimum:1000 name:PM_INST_FETCH_CYC_GRP11 : (Group 11 pm_prefetch1) Cycles at least 1 instruction fetched
+event:0X0B2 counters:2 um:zero minimum:1000 name:PM_DC_PREF_STREAM_ALLOC_BLK_GRP11 : (Group 11 pm_prefetch1) D cache out of prefech streams
+event:0X0B3 counters:3 um:zero minimum:1000 name:PM_DC_PREF_STREAM_ALLOC_GRP11 : (Group 11 pm_prefetch1) D cache new prefetch stream allocated
+event:0X0B4 counters:4 um:zero minimum:10000 name:PM_INST_CMPL_GRP11 : (Group 11 pm_prefetch1) Instructions completed
+event:0X0B5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP11 : (Group 11 pm_prefetch1) Run cycles
+
+#Group 12 pm_prefetch2, Prefetch events
+event:0X0C0 counters:0 um:zero minimum:1000 name:PM_IOPS_CMPL_GRP12 : (Group 12 pm_prefetch2) IOPS instructions completed
+event:0X0C1 counters:1 um:zero minimum:1000 name:PM_CLB_FULL_CYC_GRP12 : (Group 12 pm_prefetch2) Cycles CLB full
+event:0X0C2 counters:2 um:zero minimum:1000 name:PM_L1_PREF_GRP12 : (Group 12 pm_prefetch2) L1 cache data prefetches
+event:0X0C3 counters:3 um:zero minimum:1000 name:PM_IC_PREF_INSTALL_GRP12 : (Group 12 pm_prefetch2) Instruction prefetched installed in prefetch
+event:0X0C4 counters:4 um:zero minimum:10000 name:PM_INST_CMPL_GRP12 : (Group 12 pm_prefetch2) Instructions completed
+event:0X0C5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP12 : (Group 12 pm_prefetch2) Run cycles
+
+#Group 13 pm_prefetch3, L2 prefetch and misc events
+event:0X0D0 counters:0 um:zero minimum:1000 name:PM_LSU_BUSY_REJECT_GRP13 : (Group 13 pm_prefetch3) LSU busy due to reject
+event:0X0D1 counters:1 um:zero minimum:1000 name:PM_1INST_CLB_CYC_GRP13 : (Group 13 pm_prefetch3) Cycles 1 instruction in CLB
+event:0X0D2 counters:2 um:zero minimum:1000 name:PM_L2_PREF_GRP13 : (Group 13 pm_prefetch3) L2 cache prefetches
+event:0X0D3 counters:3 um:zero minimum:1000 name:PM_IOPS_CMPL_GRP13 : (Group 13 pm_prefetch3) IOPS instructions completed
+event:0X0D4 counters:4 um:zero minimum:10000 name:PM_INST_CMPL_GRP13 : (Group 13 pm_prefetch3) Instructions completed
+event:0X0D5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP13 : (Group 13 pm_prefetch3) Run cycles
+
+#Group 14 pm_prefetch4, Misc prefetch and reject events
+event:0X0E0 counters:0 um:zero minimum:1000 name:PM_LSU0_REJECT_SRQ_LHS_GRP14 : (Group 14 pm_prefetch4) LSU0 SRQ rejects
+event:0X0E1 counters:1 um:zero minimum:1000 name:PM_LSU1_REJECT_SRQ_LHS_GRP14 : (Group 14 pm_prefetch4) LSU1 SRQ rejects
+event:0X0E2 counters:2 um:zero minimum:1000 name:PM_DC_PREF_DST_GRP14 : (Group 14 pm_prefetch4) DST (Data Stream Touch) stream start
+event:0X0E3 counters:3 um:zero minimum:1000 name:PM_L2_PREF_GRP14 : (Group 14 pm_prefetch4) L2 cache prefetches
+event:0X0E4 counters:4 um:zero minimum:10000 name:PM_INST_CMPL_GRP14 : (Group 14 pm_prefetch4) Instructions completed
+event:0X0E5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP14 : (Group 14 pm_prefetch4) Run cycles
+
+#Group 15 pm_lsu_reject1, LSU reject events
+event:0X0F0 counters:0 um:zero minimum:1000 name:PM_LSU_REJECT_ERAT_MISS_GRP15 : (Group 15 pm_lsu_reject1) LSU reject due to ERAT miss
+event:0X0F1 counters:1 um:zero minimum:1000 name:PM_LSU_REJECT_LMQ_FULL_GRP15 : (Group 15 pm_lsu_reject1) LSU reject due to LMQ full or missed data coming
+event:0X0F2 counters:2 um:zero minimum:1000 name:PM_FLUSH_IMBAL_GRP15 : (Group 15 pm_lsu_reject1) Flush caused by thread GCT imbalance
+event:0X0F3 counters:3 um:zero minimum:1000 name:PM_MRK_LSU_FLUSH_SRQ_GRP15 : (Group 15 pm_lsu_reject1) Marked SRQ flushes
+event:0X0F4 counters:4 um:zero minimum:10000 name:PM_INST_CMPL_GRP15 : (Group 15 pm_lsu_reject1) Instructions completed
+event:0X0F5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP15 : (Group 15 pm_lsu_reject1) Run cycles
+
+#Group 16 pm_lsu_reject2, LSU rejects due to reload CDF or tag update collision
+event:0X100 counters:0 um:zero minimum:1000 name:PM_LSU0_REJECT_RELOAD_CDF_GRP16 : (Group 16 pm_lsu_reject2) LSU0 reject due to reload CDF or tag update collision
+event:0X101 counters:1 um:zero minimum:1000 name:PM_LSU1_REJECT_RELOAD_CDF_GRP16 : (Group 16 pm_lsu_reject2) LSU1 reject due to reload CDF or tag update collision
+event:0X102 counters:2 um:zero minimum:1000 name:PM_IOPS_CMPL_GRP16 : (Group 16 pm_lsu_reject2) IOPS instructions completed
+event:0X103 counters:3 um:zero minimum:1000 name:PM_L1_WRITE_CYC_GRP16 : (Group 16 pm_lsu_reject2) Cycles writing to instruction L1
+event:0X104 counters:4 um:zero minimum:10000 name:PM_INST_CMPL_GRP16 : (Group 16 pm_lsu_reject2) Instructions completed
+event:0X105 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP16 : (Group 16 pm_lsu_reject2) Run cycles
+
+#Group 17 pm_lsu_reject3, LSU rejects due to ERAT, held instuctions
+event:0X110 counters:0 um:zero minimum:1000 name:PM_LSU0_REJECT_ERAT_MISS_GRP17 : (Group 17 pm_lsu_reject3) LSU0 reject due to ERAT miss
+event:0X111 counters:1 um:zero minimum:1000 name:PM_LSU1_REJECT_ERAT_MISS_GRP17 : (Group 17 pm_lsu_reject3) LSU1 reject due to ERAT miss
+event:0X112 counters:2 um:zero minimum:1000 name:PM_LWSYNC_HELD_GRP17 : (Group 17 pm_lsu_reject3) LWSYNC held at dispatch
+event:0X113 counters:3 um:zero minimum:1000 name:PM_TLBIE_HELD_GRP17 : (Group 17 pm_lsu_reject3) TLBIE held at dispatch
+event:0X114 counters:4 um:zero minimum:10000 name:PM_INST_CMPL_GRP17 : (Group 17 pm_lsu_reject3) Instructions completed
+event:0X115 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP17 : (Group 17 pm_lsu_reject3) Run cycles
+
+#Group 18 pm_lsu_reject4, LSU0/1 reject LMQ full
+event:0X120 counters:0 um:zero minimum:1000 name:PM_LSU0_REJECT_LMQ_FULL_GRP18 : (Group 18 pm_lsu_reject4) LSU0 reject due to LMQ full or missed data coming
+event:0X121 counters:1 um:zero minimum:1000 name:PM_LSU1_REJECT_LMQ_FULL_GRP18 : (Group 18 pm_lsu_reject4) LSU1 reject due to LMQ full or missed data coming
+event:0X122 counters:2 um:zero minimum:1000 name:PM_IOPS_CMPL_GRP18 : (Group 18 pm_lsu_reject4) IOPS instructions completed
+event:0X123 counters:3 um:zero minimum:1000 name:PM_BR_ISSUED_GRP18 : (Group 18 pm_lsu_reject4) Branches issued
+event:0X124 counters:4 um:zero minimum:10000 name:PM_INST_CMPL_GRP18 : (Group 18 pm_lsu_reject4) Instructions completed
+event:0X125 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP18 : (Group 18 pm_lsu_reject4) Run cycles
+
+#Group 19 pm_lsu_reject5, LSU misc reject and flush events
+event:0X130 counters:0 um:zero minimum:1000 name:PM_LSU_REJECT_SRQ_LHS_GRP19 : (Group 19 pm_lsu_reject5) LSU SRQ rejects
+event:0X131 counters:1 um:zero minimum:1000 name:PM_LSU_REJECT_RELOAD_CDF_GRP19 : (Group 19 pm_lsu_reject5) LSU reject due to reload CDF or tag update collision
+event:0X132 counters:2 um:zero minimum:1000 name:PM_LSU_FLUSH_GRP19 : (Group 19 pm_lsu_reject5) Flush initiated by LSU
+event:0X133 counters:3 um:zero minimum:1000 name:PM_FLUSH_GRP19 : (Group 19 pm_lsu_reject5) Flushes
+event:0X134 counters:4 um:zero minimum:10000 name:PM_INST_CMPL_GRP19 : (Group 19 pm_lsu_reject5) Instructions completed
+event:0X135 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP19 : (Group 19 pm_lsu_reject5) Run cycles
+
+#Group 20 pm_flush1, Misc flush events
+event:0X140 counters:0 um:zero minimum:1000 name:PM_IOPS_CMPL_GRP20 : (Group 20 pm_flush1) IOPS instructions completed
+event:0X141 counters:1 um:zero minimum:1000 name:PM_LSU_FLUSH_UST_GRP20 : (Group 20 pm_flush1) SRQ unaligned store flushes
+event:0X142 counters:2 um:zero minimum:1000 name:PM_FLUSH_IMBAL_GRP20 : (Group 20 pm_flush1) Flush caused by thread GCT imbalance
+event:0X143 counters:3 um:zero minimum:1000 name:PM_DC_INV_L2_GRP20 : (Group 20 pm_flush1) L1 D cache entries invalidated from L2
+event:0X144 counters:4 um:zero minimum:10000 name:PM_INST_CMPL_GRP20 : (Group 20 pm_flush1) Instructions completed
+event:0X145 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP20 : (Group 20 pm_flush1) Run cycles
+
+#Group 21 pm_flush2, Flushes due to scoreboard and sync
+event:0X150 counters:0 um:zero minimum:1000 name:PM_ITLB_MISS_GRP21 : (Group 21 pm_flush2) Instruction TLB misses
+event:0X151 counters:1 um:zero minimum:1000 name:PM_IOPS_CMPL_GRP21 : (Group 21 pm_flush2) IOPS instructions completed
+event:0X152 counters:2 um:zero minimum:1000 name:PM_FLUSH_SB_GRP21 : (Group 21 pm_flush2) Flush caused by scoreboard operation
+event:0X153 counters:3 um:zero minimum:1000 name:PM_FLUSH_SYNC_GRP21 : (Group 21 pm_flush2) Flush caused by sync
+event:0X154 counters:4 um:zero minimum:10000 name:PM_INST_CMPL_GRP21 : (Group 21 pm_flush2) Instructions completed
+event:0X155 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP21 : (Group 21 pm_flush2) Run cycles
+
+#Group 22 pm_lsu_flush_srq_lrq, LSU flush by SRQ and LRQ events
+event:0X160 counters:0 um:zero minimum:1000 name:PM_LSU_FLUSH_SRQ_GRP22 : (Group 22 pm_lsu_flush_srq_lrq) SRQ flushes
+event:0X161 counters:1 um:zero minimum:1000 name:PM_LSU_FLUSH_LRQ_GRP22 : (Group 22 pm_lsu_flush_srq_lrq) LRQ flushes
+event:0X162 counters:2 um:zero minimum:1000 name:PM_IOPS_CMPL_GRP22 : (Group 22 pm_lsu_flush_srq_lrq) IOPS instructions completed
+event:0X163 counters:3 um:zero minimum:1000 name:PM_LSU_FLUSH_GRP22 : (Group 22 pm_lsu_flush_srq_lrq) Flush initiated by LSU
+event:0X164 counters:4 um:zero minimum:10000 name:PM_INST_CMPL_GRP22 : (Group 22 pm_lsu_flush_srq_lrq) Instructions completed
+event:0X165 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP22 : (Group 22 pm_lsu_flush_srq_lrq) Run cycles
+
+#Group 23 pm_lsu_flush_lrq, LSU0/1 flush due to LRQ
+event:0X170 counters:0 um:zero minimum:1000 name:PM_LSU0_FLUSH_LRQ_GRP23 : (Group 23 pm_lsu_flush_lrq) LSU0 LRQ flushes
+event:0X171 counters:1 um:zero minimum:1000 name:PM_LSU1_FLUSH_LRQ_GRP23 : (Group 23 pm_lsu_flush_lrq) LSU1 LRQ flushes
+event:0X172 counters:2 um:zero minimum:1000 name:PM_LSU_FLUSH_GRP23 : (Group 23 pm_lsu_flush_lrq) Flush initiated by LSU
+event:0X173 counters:3 um:zero minimum:1000 name:PM_IOPS_CMPL_GRP23 : (Group 23 pm_lsu_flush_lrq) IOPS instructions completed
+event:0X174 counters:4 um:zero minimum:10000 name:PM_INST_CMPL_GRP23 : (Group 23 pm_lsu_flush_lrq) Instructions completed
+event:0X175 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP23 : (Group 23 pm_lsu_flush_lrq) Run cycles
+
+#Group 24 pm_lsu_flush_srq, LSU0/1 flush due to SRQ
+event:0X180 counters:0 um:zero minimum:1000 name:PM_LSU0_FLUSH_SRQ_GRP24 : (Group 24 pm_lsu_flush_srq) LSU0 SRQ flushes
+event:0X181 counters:1 um:zero minimum:1000 name:PM_LSU1_FLUSH_SRQ_GRP24 : (Group 24 pm_lsu_flush_srq) LSU1 SRQ flushes
+event:0X182 counters:2 um:zero minimum:1000 name:PM_IOPS_CMPL_GRP24 : (Group 24 pm_lsu_flush_srq) IOPS instructions completed
+event:0X183 counters:3 um:zero minimum:1000 name:PM_LSU_FLUSH_GRP24 : (Group 24 pm_lsu_flush_srq) Flush initiated by LSU
+event:0X184 counters:4 um:zero minimum:10000 name:PM_INST_CMPL_GRP24 : (Group 24 pm_lsu_flush_srq) Instructions completed
+event:0X185 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP24 : (Group 24 pm_lsu_flush_srq) Run cycles
+
+#Group 25 pm_lsu_flush_unaligned, LSU flush due to unaligned data
+event:0X190 counters:0 um:zero minimum:1000 name:PM_LSU_FLUSH_ULD_GRP25 : (Group 25 pm_lsu_flush_unaligned) LRQ unaligned load flushes
+event:0X191 counters:1 um:zero minimum:1000 name:PM_LSU_FLUSH_UST_GRP25 : (Group 25 pm_lsu_flush_unaligned) SRQ unaligned store flushes
+event:0X192 counters:2 um:zero minimum:1000 name:PM_BR_ISSUED_GRP25 : (Group 25 pm_lsu_flush_unaligned) Branches issued
+event:0X193 counters:3 um:zero minimum:1000 name:PM_IOPS_CMPL_GRP25 : (Group 25 pm_lsu_flush_unaligned) IOPS instructions completed
+event:0X194 counters:4 um:zero minimum:10000 name:PM_INST_CMPL_GRP25 : (Group 25 pm_lsu_flush_unaligned) Instructions completed
+event:0X195 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP25 : (Group 25 pm_lsu_flush_unaligned) Run cycles
+
+#Group 26 pm_lsu_flush_uld, LSU0/1 flush due to unaligned load
+event:0X1A0 counters:0 um:zero minimum:1000 name:PM_LSU0_FLUSH_ULD_GRP26 : (Group 26 pm_lsu_flush_uld) LSU0 unaligned load flushes
+event:0X1A1 counters:1 um:zero minimum:1000 name:PM_LSU1_FLUSH_ULD_GRP26 : (Group 26 pm_lsu_flush_uld) LSU1 unaligned load flushes
+event:0X1A2 counters:2 um:zero minimum:1000 name:PM_LSU_FLUSH_GRP26 : (Group 26 pm_lsu_flush_uld) Flush initiated by LSU
+event:0X1A3 counters:3 um:zero minimum:1000 name:PM_IOPS_CMPL_GRP26 : (Group 26 pm_lsu_flush_uld) IOPS instructions completed
+event:0X1A4 counters:4 um:zero minimum:10000 name:PM_INST_CMPL_GRP26 : (Group 26 pm_lsu_flush_uld) Instructions completed
+event:0X1A5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP26 : (Group 26 pm_lsu_flush_uld) Run cycles
+
+#Group 27 pm_lsu_flush_ust, LSU0/1 flush due to unaligned store
+event:0X1B0 counters:0 um:zero minimum:1000 name:PM_LSU0_FLUSH_UST_GRP27 : (Group 27 pm_lsu_flush_ust) LSU0 unaligned store flushes
+event:0X1B1 counters:1 um:zero minimum:1000 name:PM_LSU1_FLUSH_UST_GRP27 : (Group 27 pm_lsu_flush_ust) LSU1 unaligned store flushes
+event:0X1B2 counters:2 um:zero minimum:1000 name:PM_IOPS_CMPL_GRP27 : (Group 27 pm_lsu_flush_ust) IOPS instructions completed
+event:0X1B3 counters:3 um:zero minimum:1000 name:PM_LSU_FLUSH_GRP27 : (Group 27 pm_lsu_flush_ust) Flush initiated by LSU
+event:0X1B4 counters:4 um:zero minimum:10000 name:PM_INST_CMPL_GRP27 : (Group 27 pm_lsu_flush_ust) Instructions completed
+event:0X1B5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP27 : (Group 27 pm_lsu_flush_ust) Run cycles
+
+#Group 28 pm_lsu_flush_full, LSU flush due to LRQ/SRQ full
+event:0X1C0 counters:0 um:zero minimum:1000 name:PM_LSU_FLUSH_LRQ_FULL_GRP28 : (Group 28 pm_lsu_flush_full) Flush caused by LRQ full
+event:0X1C1 counters:1 um:zero minimum:1000 name:PM_IOPS_CMPL_GRP28 : (Group 28 pm_lsu_flush_full) IOPS instructions completed
+event:0X1C2 counters:2 um:zero minimum:1000 name:PM_MRK_LSU_FLUSH_LRQ_GRP28 : (Group 28 pm_lsu_flush_full) Marked LRQ flushes
+event:0X1C3 counters:3 um:zero minimum:1000 name:PM_LSU_FLUSH_SRQ_FULL_GRP28 : (Group 28 pm_lsu_flush_full) Flush caused by SRQ full
+event:0X1C4 counters:4 um:zero minimum:10000 name:PM_INST_CMPL_GRP28 : (Group 28 pm_lsu_flush_full) Instructions completed
+event:0X1C5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP28 : (Group 28 pm_lsu_flush_full) Run cycles
+
+#Group 29 pm_lsu_stall1, LSU Stalls
+event:0X1D0 counters:0 um:zero minimum:1000 name:PM_GRP_MRK_GRP29 : (Group 29 pm_lsu_stall1) Group marked in IDU
+event:0X1D1 counters:1 um:zero minimum:1000 name:PM_CMPLU_STALL_LSU_GRP29 : (Group 29 pm_lsu_stall1) Completion stall caused by LSU instruction
+event:0X1D2 counters:2 um:zero minimum:1000 name:PM_IOPS_CMPL_GRP29 : (Group 29 pm_lsu_stall1) IOPS instructions completed
+event:0X1D3 counters:3 um:zero minimum:1000 name:PM_CMPLU_STALL_REJECT_GRP29 : (Group 29 pm_lsu_stall1) Completion stall caused by reject
+event:0X1D4 counters:4 um:zero minimum:10000 name:PM_INST_CMPL_GRP29 : (Group 29 pm_lsu_stall1) Instructions completed
+event:0X1D5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP29 : (Group 29 pm_lsu_stall1) Run cycles
+
+#Group 30 pm_lsu_stall2, LSU Stalls
+event:0X1E0 counters:0 um:zero minimum:1000 name:PM_IOPS_CMPL_GRP30 : (Group 30 pm_lsu_stall2) IOPS instructions completed
+event:0X1E1 counters:1 um:zero minimum:1000 name:PM_CMPLU_STALL_DCACHE_MISS_GRP30 : (Group 30 pm_lsu_stall2) Completion stall caused by D cache miss
+event:0X1E2 counters:2 um:zero minimum:10000 name:PM_CYC_GRP30 : (Group 30 pm_lsu_stall2) Processor cycles
+event:0X1E3 counters:3 um:zero minimum:1000 name:PM_CMPLU_STALL_ERAT_MISS_GRP30 : (Group 30 pm_lsu_stall2) Completion stall caused by ERAT miss
+event:0X1E4 counters:4 um:zero minimum:10000 name:PM_INST_CMPL_GRP30 : (Group 30 pm_lsu_stall2) Instructions completed
+event:0X1E5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP30 : (Group 30 pm_lsu_stall2) Run cycles
+
+#Group 31 pm_fxu_stall, FXU Stalls
+event:0X1F0 counters:0 um:zero minimum:1000 name:PM_GRP_IC_MISS_BR_REDIR_NONSPEC_GRP31 : (Group 31 pm_fxu_stall) Group experienced non-speculative I cache miss or branch redirect
+event:0X1F1 counters:1 um:zero minimum:1000 name:PM_CMPLU_STALL_FXU_GRP31 : (Group 31 pm_fxu_stall) Completion stall caused by FXU instruction
+event:0X1F2 counters:2 um:zero minimum:1000 name:PM_IOPS_CMPL_GRP31 : (Group 31 pm_fxu_stall) IOPS instructions completed
+event:0X1F3 counters:3 um:zero minimum:1000 name:PM_CMPLU_STALL_DIV_GRP31 : (Group 31 pm_fxu_stall) Completion stall caused by DIV instruction
+event:0X1F4 counters:4 um:zero minimum:10000 name:PM_INST_CMPL_GRP31 : (Group 31 pm_fxu_stall) Instructions completed
+event:0X1F5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP31 : (Group 31 pm_fxu_stall) Run cycles
+
+#Group 32 pm_fpu_stall, FPU Stalls
+event:0X200 counters:0 um:zero minimum:1000 name:PM_FPU_FULL_CYC_GRP32 : (Group 32 pm_fpu_stall) Cycles FPU issue queue full
+event:0X201 counters:1 um:zero minimum:1000 name:PM_CMPLU_STALL_FDIV_GRP32 : (Group 32 pm_fpu_stall) Completion stall caused by FDIV or FQRT instruction
+event:0X202 counters:2 um:zero minimum:1000 name:PM_IOPS_CMPL_GRP32 : (Group 32 pm_fpu_stall) IOPS instructions completed
+event:0X203 counters:3 um:zero minimum:1000 name:PM_CMPLU_STALL_FPU_GRP32 : (Group 32 pm_fpu_stall) Completion stall caused by FPU instruction
+event:0X204 counters:4 um:zero minimum:10000 name:PM_INST_CMPL_GRP32 : (Group 32 pm_fpu_stall) Instructions completed
+event:0X205 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP32 : (Group 32 pm_fpu_stall) Run cycles
+
+#Group 33 pm_queue_full, BRQ LRQ LMQ queue full
+event:0X210 counters:0 um:zero minimum:1000 name:PM_LARX_LSU0_GRP33 : (Group 33 pm_queue_full) Larx executed on LSU0
+event:0X211 counters:1 um:zero minimum:1000 name:PM_BRQ_FULL_CYC_GRP33 : (Group 33 pm_queue_full) Cycles branch queue full
+event:0X212 counters:2 um:zero minimum:1000 name:PM_LSU_LRQ_FULL_CYC_GRP33 : (Group 33 pm_queue_full) Cycles LRQ full
+event:0X213 counters:3 um:zero minimum:1000 name:PM_LSU_LMQ_FULL_CYC_GRP33 : (Group 33 pm_queue_full) Cycles LMQ full
+event:0X214 counters:4 um:zero minimum:10000 name:PM_INST_CMPL_GRP33 : (Group 33 pm_queue_full) Instructions completed
+event:0X215 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP33 : (Group 33 pm_queue_full) Run cycles
+
+#Group 34 pm_issueq_full, FPU FX full
+event:0X220 counters:0 um:zero minimum:1000 name:PM_FPU0_FULL_CYC_GRP34 : (Group 34 pm_issueq_full) Cycles FPU0 issue queue full
+event:0X221 counters:1 um:zero minimum:1000 name:PM_FPU1_FULL_CYC_GRP34 : (Group 34 pm_issueq_full) Cycles FPU1 issue queue full
+event:0X222 counters:2 um:zero minimum:1000 name:PM_FXLS0_FULL_CYC_GRP34 : (Group 34 pm_issueq_full) Cycles FXU0/LS0 queue full
+event:0X223 counters:3 um:zero minimum:1000 name:PM_FXLS1_FULL_CYC_GRP34 : (Group 34 pm_issueq_full) Cycles FXU1/LS1 queue full
+event:0X224 counters:4 um:zero minimum:10000 name:PM_INST_CMPL_GRP34 : (Group 34 pm_issueq_full) Instructions completed
+event:0X225 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP34 : (Group 34 pm_issueq_full) Run cycles
+
+#Group 35 pm_mapper_full1, CR CTR GPR mapper full
+event:0X230 counters:0 um:zero minimum:1000 name:PM_CR_MAP_FULL_CYC_GRP35 : (Group 35 pm_mapper_full1) Cycles CR logical operation mapper full
+event:0X231 counters:1 um:zero minimum:1000 name:PM_LR_CTR_MAP_FULL_CYC_GRP35 : (Group 35 pm_mapper_full1) Cycles LR/CTR mapper full
+event:0X232 counters:2 um:zero minimum:1000 name:PM_GPR_MAP_FULL_CYC_GRP35 : (Group 35 pm_mapper_full1) Cycles GPR mapper full
+event:0X233 counters:3 um:zero minimum:1000 name:PM_CRQ_FULL_CYC_GRP35 : (Group 35 pm_mapper_full1) Cycles CR issue queue full
+event:0X234 counters:4 um:zero minimum:10000 name:PM_INST_CMPL_GRP35 : (Group 35 pm_mapper_full1) Instructions completed
+event:0X235 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP35 : (Group 35 pm_mapper_full1) Run cycles
+
+#Group 36 pm_mapper_full2, FPR XER mapper full
+event:0X240 counters:0 um:zero minimum:1000 name:PM_FPR_MAP_FULL_CYC_GRP36 : (Group 36 pm_mapper_full2) Cycles FPR mapper full
+event:0X241 counters:1 um:zero minimum:1000 name:PM_XER_MAP_FULL_CYC_GRP36 : (Group 36 pm_mapper_full2) Cycles XER mapper full
+event:0X242 counters:2 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L2MISS_GRP36 : (Group 36 pm_mapper_full2) Marked data loaded missed L2
+event:0X243 counters:3 um:zero minimum:1000 name:PM_IOPS_CMPL_GRP36 : (Group 36 pm_mapper_full2) IOPS instructions completed
+event:0X244 counters:4 um:zero minimum:10000 name:PM_INST_CMPL_GRP36 : (Group 36 pm_mapper_full2) Instructions completed
+event:0X245 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP36 : (Group 36 pm_mapper_full2) Run cycles
+
+#Group 37 pm_misc_load, Non-cachable loads and stcx events
+event:0X250 counters:0 um:zero minimum:1000 name:PM_STCX_FAIL_GRP37 : (Group 37 pm_misc_load) STCX failed
+event:0X251 counters:1 um:zero minimum:1000 name:PM_STCX_PASS_GRP37 : (Group 37 pm_misc_load) Stcx passes
+event:0X252 counters:2 um:zero minimum:1000 name:PM_LSU0_NCLD_GRP37 : (Group 37 pm_misc_load) LSU0 non-cacheable loads
+event:0X253 counters:3 um:zero minimum:1000 name:PM_LSU1_NCLD_GRP37 : (Group 37 pm_misc_load) LSU1 non-cacheable loads
+event:0X254 counters:4 um:zero minimum:10000 name:PM_INST_CMPL_GRP37 : (Group 37 pm_misc_load) Instructions completed
+event:0X255 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP37 : (Group 37 pm_misc_load) Run cycles
+
+#Group 38 pm_ic_demand, ICache demand from BR redirect
+event:0X260 counters:0 um:zero minimum:1000 name:PM_LSU0_BUSY_REJECT_GRP38 : (Group 38 pm_ic_demand) LSU0 busy due to reject
+event:0X261 counters:1 um:zero minimum:1000 name:PM_LSU1_BUSY_REJECT_GRP38 : (Group 38 pm_ic_demand) LSU1 busy due to reject
+event:0X262 counters:2 um:zero minimum:1000 name:PM_IC_DEMAND_L2_BHT_REDIRECT_GRP38 : (Group 38 pm_ic_demand) L2 I cache demand request due to BHT redirect
+event:0X263 counters:3 um:zero minimum:1000 name:PM_IC_DEMAND_L2_BR_REDIRECT_GRP38 : (Group 38 pm_ic_demand) L2 I cache demand request due to branch redirect
+event:0X264 counters:4 um:zero minimum:10000 name:PM_INST_CMPL_GRP38 : (Group 38 pm_ic_demand) Instructions completed
+event:0X265 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP38 : (Group 38 pm_ic_demand) Run cycles
+
+#Group 39 pm_ic_pref, ICache prefetch
+event:0X270 counters:0 um:zero minimum:1000 name:PM_IERAT_XLATE_WR_GRP39 : (Group 39 pm_ic_pref) Translation written to ierat
+event:0X271 counters:1 um:zero minimum:1000 name:PM_IC_PREF_REQ_GRP39 : (Group 39 pm_ic_pref) Instruction prefetch requests
+event:0X272 counters:2 um:zero minimum:1000 name:PM_IC_PREF_INSTALL_GRP39 : (Group 39 pm_ic_pref) Instruction prefetched installed in prefetch
+event:0X273 counters:3 um:zero minimum:1000 name:PM_0INST_FETCH_GRP39 : (Group 39 pm_ic_pref) No instructions fetched
+event:0X274 counters:4 um:zero minimum:10000 name:PM_INST_CMPL_GRP39 : (Group 39 pm_ic_pref) Instructions completed
+event:0X275 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP39 : (Group 39 pm_ic_pref) Run cycles
+
+#Group 40 pm_ic_miss, ICache misses
+event:0X280 counters:0 um:zero minimum:1000 name:PM_GRP_IC_MISS_NONSPEC_GRP40 : (Group 40 pm_ic_miss) Group experienced non-speculative I cache miss
+event:0X281 counters:1 um:zero minimum:1000 name:PM_GRP_IC_MISS_GRP40 : (Group 40 pm_ic_miss) Group experienced I cache miss
+event:0X282 counters:2 um:zero minimum:1000 name:PM_L1_DCACHE_RELOAD_VALID_GRP40 : (Group 40 pm_ic_miss) L1 reload data source valid
+event:0X283 counters:3 um:zero minimum:1000 name:PM_IOPS_CMPL_GRP40 : (Group 40 pm_ic_miss) IOPS instructions completed
+event:0X284 counters:4 um:zero minimum:10000 name:PM_INST_CMPL_GRP40 : (Group 40 pm_ic_miss) Instructions completed
+event:0X285 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP40 : (Group 40 pm_ic_miss) Run cycles
+
+#Group 41 pm_branch_miss, Branch mispredict, TLB and SLB misses
+event:0X290 counters:0 um:zero minimum:1000 name:PM_TLB_MISS_GRP41 : (Group 41 pm_branch_miss) TLB misses
+event:0X291 counters:1 um:zero minimum:1000 name:PM_SLB_MISS_GRP41 : (Group 41 pm_branch_miss) SLB misses
+event:0X292 counters:2 um:zero minimum:1000 name:PM_BR_MPRED_CR_GRP41 : (Group 41 pm_branch_miss) Branch mispredictions due to CR bit setting
+event:0X293 counters:3 um:zero minimum:1000 name:PM_BR_MPRED_TA_GRP41 : (Group 41 pm_branch_miss) Branch mispredictions due to target address
+event:0X294 counters:4 um:zero minimum:10000 name:PM_INST_CMPL_GRP41 : (Group 41 pm_branch_miss) Instructions completed
+event:0X295 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP41 : (Group 41 pm_branch_miss) Run cycles
+
+#Group 42 pm_branch1, Branch operations
+event:0X2A0 counters:0 um:zero minimum:1000 name:PM_BR_UNCOND_GRP42 : (Group 42 pm_branch1) Unconditional branch
+event:0X2A1 counters:1 um:zero minimum:1000 name:PM_BR_PRED_TA_GRP42 : (Group 42 pm_branch1) A conditional branch was predicted, target prediction
+event:0X2A2 counters:2 um:zero minimum:1000 name:PM_BR_PRED_CR_GRP42 : (Group 42 pm_branch1) A conditional branch was predicted, CR prediction
+event:0X2A3 counters:3 um:zero minimum:1000 name:PM_BR_PRED_CR_TA_GRP42 : (Group 42 pm_branch1) A conditional branch was predicted, CR and target prediction
+event:0X2A4 counters:4 um:zero minimum:10000 name:PM_INST_CMPL_GRP42 : (Group 42 pm_branch1) Instructions completed
+event:0X2A5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP42 : (Group 42 pm_branch1) Run cycles
+
+#Group 43 pm_branch2, Branch operations
+event:0X2B0 counters:0 um:zero minimum:1000 name:PM_GRP_BR_REDIR_NONSPEC_GRP43 : (Group 43 pm_branch2) Group experienced non-speculative branch redirect
+event:0X2B1 counters:1 um:zero minimum:1000 name:PM_GRP_BR_REDIR_GRP43 : (Group 43 pm_branch2) Group experienced branch redirect
+event:0X2B2 counters:2 um:zero minimum:1000 name:PM_FLUSH_BR_MPRED_GRP43 : (Group 43 pm_branch2) Flush caused by branch mispredict
+event:0X2B3 counters:3 um:zero minimum:1000 name:PM_IOPS_CMPL_GRP43 : (Group 43 pm_branch2) IOPS instructions completed
+event:0X2B4 counters:4 um:zero minimum:10000 name:PM_INST_CMPL_GRP43 : (Group 43 pm_branch2) Instructions completed
+event:0X2B5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP43 : (Group 43 pm_branch2) Run cycles
+
+#Group 44 pm_L1_tlbmiss, L1 load and TLB misses
+event:0X2C0 counters:0 um:zero minimum:1000 name:PM_DATA_TABLEWALK_CYC_GRP44 : (Group 44 pm_L1_tlbmiss) Cycles doing data tablewalks
+event:0X2C1 counters:1 um:zero minimum:1000 name:PM_DTLB_MISS_GRP44 : (Group 44 pm_L1_tlbmiss) Data TLB misses
+event:0X2C2 counters:2 um:zero minimum:1000 name:PM_LD_MISS_L1_GRP44 : (Group 44 pm_L1_tlbmiss) L1 D cache load misses
+event:0X2C3 counters:3 um:zero minimum:1000 name:PM_LD_REF_L1_GRP44 : (Group 44 pm_L1_tlbmiss) L1 D cache load references
+event:0X2C4 counters:4 um:zero minimum:10000 name:PM_INST_CMPL_GRP44 : (Group 44 pm_L1_tlbmiss) Instructions completed
+event:0X2C5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP44 : (Group 44 pm_L1_tlbmiss) Run cycles
+
+#Group 45 pm_L1_DERAT_miss, L1 store and DERAT misses
+event:0X2D0 counters:0 um:zero minimum:1000 name:PM_DATA_FROM_L2_GRP45 : (Group 45 pm_L1_DERAT_miss) Data loaded from L2
+event:0X2D1 counters:1 um:zero minimum:1000 name:PM_LSU_DERAT_MISS_GRP45 : (Group 45 pm_L1_DERAT_miss) DERAT misses
+event:0X2D2 counters:2 um:zero minimum:1000 name:PM_ST_REF_L1_GRP45 : (Group 45 pm_L1_DERAT_miss) L1 D cache store references
+event:0X2D3 counters:3 um:zero minimum:1000 name:PM_ST_MISS_L1_GRP45 : (Group 45 pm_L1_DERAT_miss) L1 D cache store misses
+event:0X2D4 counters:4 um:zero minimum:10000 name:PM_INST_CMPL_GRP45 : (Group 45 pm_L1_DERAT_miss) Instructions completed
+event:0X2D5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP45 : (Group 45 pm_L1_DERAT_miss) Run cycles
+
+#Group 46 pm_L1_slbmiss, L1 load and SLB misses
+event:0X2E0 counters:0 um:zero minimum:1000 name:PM_DSLB_MISS_GRP46 : (Group 46 pm_L1_slbmiss) Data SLB misses
+event:0X2E1 counters:1 um:zero minimum:1000 name:PM_ISLB_MISS_GRP46 : (Group 46 pm_L1_slbmiss) Instruction SLB misses
+event:0X2E2 counters:2 um:zero minimum:1000 name:PM_LD_MISS_L1_LSU0_GRP46 : (Group 46 pm_L1_slbmiss) LSU0 L1 D cache load misses
+event:0X2E3 counters:3 um:zero minimum:1000 name:PM_LD_MISS_L1_LSU1_GRP46 : (Group 46 pm_L1_slbmiss) LSU1 L1 D cache load misses
+event:0X2E4 counters:4 um:zero minimum:10000 name:PM_INST_CMPL_GRP46 : (Group 46 pm_L1_slbmiss) Instructions completed
+event:0X2E5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP46 : (Group 46 pm_L1_slbmiss) Run cycles
+
+#Group 47 pm_L1_dtlbmiss_4K, L1 load references and 4K Data TLB references and misses
+event:0X2F0 counters:0 um:zero minimum:1000 name:PM_DTLB_REF_4K_GRP47 : (Group 47 pm_L1_dtlbmiss_4K) Data TLB reference for 4K page
+event:0X2F1 counters:1 um:zero minimum:1000 name:PM_DTLB_MISS_4K_GRP47 : (Group 47 pm_L1_dtlbmiss_4K) Data TLB miss for 4K page
+event:0X2F2 counters:2 um:zero minimum:1000 name:PM_LD_REF_L1_LSU0_GRP47 : (Group 47 pm_L1_dtlbmiss_4K) LSU0 L1 D cache load references
+event:0X2F3 counters:3 um:zero minimum:1000 name:PM_LD_REF_L1_LSU1_GRP47 : (Group 47 pm_L1_dtlbmiss_4K) LSU1 L1 D cache load references
+event:0X2F4 counters:4 um:zero minimum:10000 name:PM_INST_CMPL_GRP47 : (Group 47 pm_L1_dtlbmiss_4K) Instructions completed
+event:0X2F5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP47 : (Group 47 pm_L1_dtlbmiss_4K) Run cycles
+
+#Group 48 pm_L1_dtlbmiss_16M, L1 store references and 16M Data TLB references and misses
+event:0X300 counters:0 um:zero minimum:1000 name:PM_DTLB_REF_16M_GRP48 : (Group 48 pm_L1_dtlbmiss_16M) Data TLB reference for 16M page
+event:0X301 counters:1 um:zero minimum:1000 name:PM_DTLB_MISS_16M_GRP48 : (Group 48 pm_L1_dtlbmiss_16M) Data TLB miss for 16M page
+event:0X302 counters:2 um:zero minimum:1000 name:PM_ST_REF_L1_LSU0_GRP48 : (Group 48 pm_L1_dtlbmiss_16M) LSU0 L1 D cache store references
+event:0X303 counters:3 um:zero minimum:1000 name:PM_ST_REF_L1_LSU1_GRP48 : (Group 48 pm_L1_dtlbmiss_16M) LSU1 L1 D cache store references
+event:0X304 counters:4 um:zero minimum:10000 name:PM_INST_CMPL_GRP48 : (Group 48 pm_L1_dtlbmiss_16M) Instructions completed
+event:0X305 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP48 : (Group 48 pm_L1_dtlbmiss_16M) Run cycles
+
+#Group 49 pm_dsource1, L3 cache and memory data access
+event:0X310 counters:0 um:zero minimum:1000 name:PM_DATA_FROM_L3_GRP49 : (Group 49 pm_dsource1) Data loaded from L3
+event:0X311 counters:1 um:zero minimum:1000 name:PM_DATA_FROM_LMEM_GRP49 : (Group 49 pm_dsource1) Data loaded from local memory
+event:0X312 counters:2 um:zero minimum:1000 name:PM_FLUSH_GRP49 : (Group 49 pm_dsource1) Flushes
+event:0X313 counters:3 um:zero minimum:1000 name:PM_IOPS_CMPL_GRP49 : (Group 49 pm_dsource1) IOPS instructions completed
+event:0X314 counters:4 um:zero minimum:10000 name:PM_INST_CMPL_GRP49 : (Group 49 pm_dsource1) Instructions completed
+event:0X315 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP49 : (Group 49 pm_dsource1) Run cycles
+
+#Group 50 pm_dsource2, L3 cache and memory data access
+event:0X320 counters:0 um:zero minimum:1000 name:PM_DATA_FROM_L3_GRP50 : (Group 50 pm_dsource2) Data loaded from L3
+event:0X321 counters:1 um:zero minimum:1000 name:PM_DATA_FROM_LMEM_GRP50 : (Group 50 pm_dsource2) Data loaded from local memory
+event:0X322 counters:2 um:zero minimum:1000 name:PM_DATA_FROM_L2MISS_GRP50 : (Group 50 pm_dsource2) Data loaded missed L2
+event:0X323 counters:3 um:zero minimum:1000 name:PM_DATA_FROM_RMEM_GRP50 : (Group 50 pm_dsource2) Data loaded from remote memory
+event:0X324 counters:4 um:zero minimum:10000 name:PM_INST_CMPL_GRP50 : (Group 50 pm_dsource2) Instructions completed
+event:0X325 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP50 : (Group 50 pm_dsource2) Run cycles
+
+#Group 51 pm_dsource_L2, L2 cache data access
+event:0X330 counters:0 um:zero minimum:1000 name:PM_DATA_FROM_L25_SHR_GRP51 : (Group 51 pm_dsource_L2) Data loaded from L2.5 shared
+event:0X331 counters:1 um:zero minimum:1000 name:PM_DATA_FROM_L25_MOD_GRP51 : (Group 51 pm_dsource_L2) Data loaded from L2.5 modified
+event:0X332 counters:2 um:zero minimum:1000 name:PM_DATA_FROM_L275_SHR_GRP51 : (Group 51 pm_dsource_L2) Data loaded from L2.75 shared
+event:0X333 counters:3 um:zero minimum:1000 name:PM_DATA_FROM_L275_MOD_GRP51 : (Group 51 pm_dsource_L2) Data loaded from L2.75 modified
+event:0X334 counters:4 um:zero minimum:10000 name:PM_INST_CMPL_GRP51 : (Group 51 pm_dsource_L2) Instructions completed
+event:0X335 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP51 : (Group 51 pm_dsource_L2) Run cycles
+
+#Group 52 pm_dsource_L3, L3 cache data access
+event:0X340 counters:0 um:zero minimum:1000 name:PM_DATA_FROM_L35_SHR_GRP52 : (Group 52 pm_dsource_L3) Data loaded from L3.5 shared
+event:0X341 counters:1 um:zero minimum:1000 name:PM_DATA_FROM_L35_MOD_GRP52 : (Group 52 pm_dsource_L3) Data loaded from L3.5 modified
+event:0X342 counters:2 um:zero minimum:1000 name:PM_DATA_FROM_L375_SHR_GRP52 : (Group 52 pm_dsource_L3) Data loaded from L3.75 shared
+event:0X343 counters:3 um:zero minimum:1000 name:PM_DATA_FROM_L375_MOD_GRP52 : (Group 52 pm_dsource_L3) Data loaded from L3.75 modified
+event:0X344 counters:4 um:zero minimum:10000 name:PM_INST_CMPL_GRP52 : (Group 52 pm_dsource_L3) Instructions completed
+event:0X345 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP52 : (Group 52 pm_dsource_L3) Run cycles
+
+#Group 53 pm_isource1, Instruction source information
+event:0X350 counters:0 um:zero minimum:1000 name:PM_INST_FROM_L3_GRP53 : (Group 53 pm_isource1) Instruction fetched from L3
+event:0X351 counters:1 um:zero minimum:1000 name:PM_INST_FROM_L1_GRP53 : (Group 53 pm_isource1) Instruction fetched from L1
+event:0X352 counters:2 um:zero minimum:1000 name:PM_INST_FROM_PREF_GRP53 : (Group 53 pm_isource1) Instructions fetched from prefetch
+event:0X353 counters:3 um:zero minimum:1000 name:PM_INST_FROM_RMEM_GRP53 : (Group 53 pm_isource1) Instruction fetched from remote memory
+event:0X354 counters:4 um:zero minimum:10000 name:PM_INST_CMPL_GRP53 : (Group 53 pm_isource1) Instructions completed
+event:0X355 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP53 : (Group 53 pm_isource1) Run cycles
+
+#Group 54 pm_isource2, Instruction source information
+event:0X360 counters:0 um:zero minimum:1000 name:PM_INST_FROM_L2_GRP54 : (Group 54 pm_isource2) Instructions fetched from L2
+event:0X361 counters:1 um:zero minimum:1000 name:PM_INST_FROM_LMEM_GRP54 : (Group 54 pm_isource2) Instruction fetched from local memory
+event:0X362 counters:2 um:zero minimum:1000 name:PM_IOPS_CMPL_GRP54 : (Group 54 pm_isource2) IOPS instructions completed
+event:0X363 counters:3 um:zero minimum:1000 name:PM_0INST_FETCH_GRP54 : (Group 54 pm_isource2) No instructions fetched
+event:0X364 counters:4 um:zero minimum:10000 name:PM_INST_CMPL_GRP54 : (Group 54 pm_isource2) Instructions completed
+event:0X365 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP54 : (Group 54 pm_isource2) Run cycles
+
+#Group 55 pm_isource_L2, L2 instruction source information
+event:0X370 counters:0 um:zero minimum:1000 name:PM_INST_FROM_L25_SHR_GRP55 : (Group 55 pm_isource_L2) Instruction fetched from L2.5 shared
+event:0X371 counters:1 um:zero minimum:1000 name:PM_INST_FROM_L25_MOD_GRP55 : (Group 55 pm_isource_L2) Instruction fetched from L2.5 modified
+event:0X372 counters:2 um:zero minimum:1000 name:PM_INST_FROM_L275_SHR_GRP55 : (Group 55 pm_isource_L2) Instruction fetched from L2.75 shared
+event:0X373 counters:3 um:zero minimum:1000 name:PM_INST_FROM_L275_MOD_GRP55 : (Group 55 pm_isource_L2) Instruction fetched from L2.75 modified
+event:0X374 counters:4 um:zero minimum:10000 name:PM_INST_CMPL_GRP55 : (Group 55 pm_isource_L2) Instructions completed
+event:0X375 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP55 : (Group 55 pm_isource_L2) Run cycles
+
+#Group 56 pm_isource_L3, L3 instruction source information
+event:0X380 counters:0 um:zero minimum:1000 name:PM_INST_FROM_L35_SHR_GRP56 : (Group 56 pm_isource_L3) Instruction fetched from L3.5 shared
+event:0X381 counters:1 um:zero minimum:1000 name:PM_INST_FROM_L35_MOD_GRP56 : (Group 56 pm_isource_L3) Instruction fetched from L3.5 modified
+event:0X382 counters:2 um:zero minimum:1000 name:PM_INST_FROM_L375_SHR_GRP56 : (Group 56 pm_isource_L3) Instruction fetched from L3.75 shared
+event:0X383 counters:3 um:zero minimum:1000 name:PM_INST_FROM_L375_MOD_GRP56 : (Group 56 pm_isource_L3) Instruction fetched from L3.75 modified
+event:0X384 counters:4 um:zero minimum:10000 name:PM_INST_CMPL_GRP56 : (Group 56 pm_isource_L3) Instructions completed
+event:0X385 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP56 : (Group 56 pm_isource_L3) Run cycles
+
+#Group 57 pm_pteg_source1, PTEG source information
+event:0X390 counters:0 um:zero minimum:1000 name:PM_PTEG_FROM_L25_SHR_GRP57 : (Group 57 pm_pteg_source1) PTEG loaded from L2.5 shared
+event:0X391 counters:1 um:zero minimum:1000 name:PM_PTEG_FROM_L25_MOD_GRP57 : (Group 57 pm_pteg_source1) PTEG loaded from L2.5 modified
+event:0X392 counters:2 um:zero minimum:1000 name:PM_PTEG_FROM_L275_SHR_GRP57 : (Group 57 pm_pteg_source1) PTEG loaded from L2.75 shared
+event:0X393 counters:3 um:zero minimum:1000 name:PM_PTEG_FROM_L275_MOD_GRP57 : (Group 57 pm_pteg_source1) PTEG loaded from L2.75 modified
+event:0X394 counters:4 um:zero minimum:10000 name:PM_INST_CMPL_GRP57 : (Group 57 pm_pteg_source1) Instructions completed
+event:0X395 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP57 : (Group 57 pm_pteg_source1) Run cycles
+
+#Group 58 pm_pteg_source2, PTEG source information
+event:0X3A0 counters:0 um:zero minimum:1000 name:PM_PTEG_FROM_L35_SHR_GRP58 : (Group 58 pm_pteg_source2) PTEG loaded from L3.5 shared
+event:0X3A1 counters:1 um:zero minimum:1000 name:PM_PTEG_FROM_L35_MOD_GRP58 : (Group 58 pm_pteg_source2) PTEG loaded from L3.5 modified
+event:0X3A2 counters:2 um:zero minimum:1000 name:PM_PTEG_FROM_L375_SHR_GRP58 : (Group 58 pm_pteg_source2) PTEG loaded from L3.75 shared
+event:0X3A3 counters:3 um:zero minimum:1000 name:PM_PTEG_FROM_L375_MOD_GRP58 : (Group 58 pm_pteg_source2) PTEG loaded from L3.75 modified
+event:0X3A4 counters:4 um:zero minimum:10000 name:PM_INST_CMPL_GRP58 : (Group 58 pm_pteg_source2) Instructions completed
+event:0X3A5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP58 : (Group 58 pm_pteg_source2) Run cycles
+
+#Group 59 pm_pteg_source3, PTEG source information
+event:0X3B0 counters:0 um:zero minimum:1000 name:PM_PTEG_FROM_L2_GRP59 : (Group 59 pm_pteg_source3) PTEG loaded from L2
+event:0X3B1 counters:1 um:zero minimum:1000 name:PM_PTEG_FROM_LMEM_GRP59 : (Group 59 pm_pteg_source3) PTEG loaded from local memory
+event:0X3B2 counters:2 um:zero minimum:1000 name:PM_PTEG_FROM_L2MISS_GRP59 : (Group 59 pm_pteg_source3) PTEG loaded from L2 miss
+event:0X3B3 counters:3 um:zero minimum:1000 name:PM_PTEG_FROM_RMEM_GRP59 : (Group 59 pm_pteg_source3) PTEG loaded from remote memory
+event:0X3B4 counters:4 um:zero minimum:10000 name:PM_INST_CMPL_GRP59 : (Group 59 pm_pteg_source3) Instructions completed
+event:0X3B5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP59 : (Group 59 pm_pteg_source3) Run cycles
+
+#Group 60 pm_pteg_source4, L3 PTEG and group disptach events
+event:0X3C0 counters:0 um:zero minimum:1000 name:PM_PTEG_FROM_L3_GRP60 : (Group 60 pm_pteg_source4) PTEG loaded from L3
+event:0X3C1 counters:1 um:zero minimum:1000 name:PM_GRP_DISP_GRP60 : (Group 60 pm_pteg_source4) Group dispatches
+event:0X3C2 counters:2 um:zero minimum:1000 name:PM_GRP_DISP_SUCCESS_GRP60 : (Group 60 pm_pteg_source4) Group dispatch success
+event:0X3C3 counters:3 um:zero minimum:1000 name:PM_DC_INV_L2_GRP60 : (Group 60 pm_pteg_source4) L1 D cache entries invalidated from L2
+event:0X3C4 counters:4 um:zero minimum:10000 name:PM_INST_CMPL_GRP60 : (Group 60 pm_pteg_source4) Instructions completed
+event:0X3C5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP60 : (Group 60 pm_pteg_source4) Run cycles
+
+#Group 61 pm_L2SA_ld, L2 slice A load events
+event:0X3D0 counters:0 um:zero minimum:1000 name:PM_L2SA_RCLD_DISP_GRP61 : (Group 61 pm_L2SA_ld) L2 Slice A RC load dispatch attempt
+event:0X3D1 counters:1 um:zero minimum:1000 name:PM_L2SA_RCLD_DISP_FAIL_RC_FULL_GRP61 : (Group 61 pm_L2SA_ld) L2 Slice A RC load dispatch attempt failed due to all RC full
+event:0X3D2 counters:2 um:zero minimum:1000 name:PM_L2SA_RCLD_DISP_FAIL_ADDR_GRP61 : (Group 61 pm_L2SA_ld) L2 Slice A RC load dispatch attempt failed due to address collision with RC/CO/SN/SQ
+event:0X3D3 counters:3 um:zero minimum:1000 name:PM_L2SA_RCLD_DISP_FAIL_OTHER_GRP61 : (Group 61 pm_L2SA_ld) L2 Slice A RC load dispatch attempt failed due to other reasons
+event:0X3D4 counters:4 um:zero minimum:10000 name:PM_INST_CMPL_GRP61 : (Group 61 pm_L2SA_ld) Instructions completed
+event:0X3D5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP61 : (Group 61 pm_L2SA_ld) Run cycles
+
+#Group 62 pm_L2SA_st, L2 slice A store events
+event:0X3E0 counters:0 um:zero minimum:1000 name:PM_L2SA_RCST_DISP_GRP62 : (Group 62 pm_L2SA_st) L2 Slice A RC store dispatch attempt
+event:0X3E1 counters:1 um:zero minimum:1000 name:PM_L2SA_RCST_DISP_FAIL_RC_FULL_GRP62 : (Group 62 pm_L2SA_st) L2 Slice A RC store dispatch attempt failed due to all RC full
+event:0X3E2 counters:2 um:zero minimum:1000 name:PM_L2SA_RCST_DISP_FAIL_ADDR_GRP62 : (Group 62 pm_L2SA_st) L2 Slice A RC store dispatch attempt failed due to address collision with RC/CO/SN/SQ
+event:0X3E3 counters:3 um:zero minimum:1000 name:PM_L2SA_RCST_DISP_FAIL_OTHER_GRP62 : (Group 62 pm_L2SA_st) L2 Slice A RC store dispatch attempt failed due to other reasons
+event:0X3E4 counters:4 um:zero minimum:10000 name:PM_INST_CMPL_GRP62 : (Group 62 pm_L2SA_st) Instructions completed
+event:0X3E5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP62 : (Group 62 pm_L2SA_st) Run cycles
+
+#Group 63 pm_L2SA_st2, L2 slice A store events
+event:0X3F0 counters:0 um:zero minimum:1000 name:PM_L2SA_RC_DISP_FAIL_CO_BUSY_GRP63 : (Group 63 pm_L2SA_st2) L2 Slice A RC dispatch attempt failed due to RC/CO pair chosen was miss and CO already busy
+event:0X3F1 counters:1 um:zero minimum:1000 name:PM_L2SA_ST_REQ_GRP63 : (Group 63 pm_L2SA_st2) L2 slice A store requests
+event:0X3F2 counters:2 um:zero minimum:1000 name:PM_L2SA_RC_DISP_FAIL_CO_BUSY_ALL_GRP63 : (Group 63 pm_L2SA_st2) L2 Slice A RC dispatch attempt failed due to all CO busy
+event:0X3F3 counters:3 um:zero minimum:1000 name:PM_L2SA_ST_HIT_GRP63 : (Group 63 pm_L2SA_st2) L2 slice A store hits
+event:0X3F4 counters:4 um:zero minimum:10000 name:PM_INST_CMPL_GRP63 : (Group 63 pm_L2SA_st2) Instructions completed
+event:0X3F5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP63 : (Group 63 pm_L2SA_st2) Run cycles
+
+#Group 64 pm_L2SB_ld, L2 slice B load events
+event:0X400 counters:0 um:zero minimum:1000 name:PM_L2SB_RCLD_DISP_GRP64 : (Group 64 pm_L2SB_ld) L2 Slice B RC load dispatch attempt
+event:0X401 counters:1 um:zero minimum:1000 name:PM_L2SB_RCLD_DISP_FAIL_RC_FULL_GRP64 : (Group 64 pm_L2SB_ld) L2 Slice B RC load dispatch attempt failed due to all RC full
+event:0X402 counters:2 um:zero minimum:1000 name:PM_L2SB_RCLD_DISP_FAIL_ADDR_GRP64 : (Group 64 pm_L2SB_ld) L2 Slice B RC load dispatch attempt failed due to address collision with RC/CO/SN/SQ
+event:0X403 counters:3 um:zero minimum:1000 name:PM_L2SB_RCLD_DISP_FAIL_OTHER_GRP64 : (Group 64 pm_L2SB_ld) L2 Slice B RC load dispatch attempt failed due to other reasons
+event:0X404 counters:4 um:zero minimum:10000 name:PM_INST_CMPL_GRP64 : (Group 64 pm_L2SB_ld) Instructions completed
+event:0X405 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP64 : (Group 64 pm_L2SB_ld) Run cycles
+
+#Group 65 pm_L2SB_st, L2 slice B store events
+event:0X410 counters:0 um:zero minimum:1000 name:PM_L2SB_RCST_DISP_GRP65 : (Group 65 pm_L2SB_st) L2 Slice B RC store dispatch attempt
+event:0X411 counters:1 um:zero minimum:1000 name:PM_L2SB_RCST_DISP_FAIL_RC_FULL_GRP65 : (Group 65 pm_L2SB_st) L2 Slice B RC store dispatch attempt failed due to all RC full
+event:0X412 counters:2 um:zero minimum:1000 name:PM_L2SB_RCST_DISP_FAIL_ADDR_GRP65 : (Group 65 pm_L2SB_st) L2 Slice B RC store dispatch attempt failed due to address collision with RC/CO/SN/SQ
+event:0X413 counters:3 um:zero minimum:1000 name:PM_L2SB_RCST_DISP_FAIL_OTHER_GRP65 : (Group 65 pm_L2SB_st) L2 Slice B RC store dispatch attempt failed due to other reasons
+event:0X414 counters:4 um:zero minimum:10000 name:PM_INST_CMPL_GRP65 : (Group 65 pm_L2SB_st) Instructions completed
+event:0X415 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP65 : (Group 65 pm_L2SB_st) Run cycles
+
+#Group 66 pm_L2SB_st2, L2 slice B store events
+event:0X420 counters:0 um:zero minimum:1000 name:PM_L2SB_RC_DISP_FAIL_CO_BUSY_GRP66 : (Group 66 pm_L2SB_st2) L2 Slice B RC dispatch attempt failed due to RC/CO pair chosen was miss and CO already busy
+event:0X421 counters:1 um:zero minimum:1000 name:PM_L2SB_ST_REQ_GRP66 : (Group 66 pm_L2SB_st2) L2 slice B store requests
+event:0X422 counters:2 um:zero minimum:1000 name:PM_L2SB_RC_DISP_FAIL_CO_BUSY_ALL_GRP66 : (Group 66 pm_L2SB_st2) L2 Slice B RC dispatch attempt failed due to all CO busy
+event:0X423 counters:3 um:zero minimum:1000 name:PM_L2SB_ST_HIT_GRP66 : (Group 66 pm_L2SB_st2) L2 slice B store hits
+event:0X424 counters:4 um:zero minimum:10000 name:PM_INST_CMPL_GRP66 : (Group 66 pm_L2SB_st2) Instructions completed
+event:0X425 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP66 : (Group 66 pm_L2SB_st2) Run cycles
+
+#Group 67 pm_L2SB_ld, L2 slice C load events
+event:0X430 counters:0 um:zero minimum:1000 name:PM_L2SC_RCLD_DISP_GRP67 : (Group 67 pm_L2SB_ld) L2 Slice C RC load dispatch attempt
+event:0X431 counters:1 um:zero minimum:1000 name:PM_L2SC_RCLD_DISP_FAIL_RC_FULL_GRP67 : (Group 67 pm_L2SB_ld) L2 Slice C RC load dispatch attempt failed due to all RC full
+event:0X432 counters:2 um:zero minimum:1000 name:PM_L2SC_RCLD_DISP_FAIL_ADDR_GRP67 : (Group 67 pm_L2SB_ld) L2 Slice C RC load dispatch attempt failed due to address collision with RC/CO/SN/SQ
+event:0X433 counters:3 um:zero minimum:1000 name:PM_L2SC_RCLD_DISP_FAIL_OTHER_GRP67 : (Group 67 pm_L2SB_ld) L2 Slice C RC load dispatch attempt failed due to other reasons
+event:0X434 counters:4 um:zero minimum:10000 name:PM_INST_CMPL_GRP67 : (Group 67 pm_L2SB_ld) Instructions completed
+event:0X435 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP67 : (Group 67 pm_L2SB_ld) Run cycles
+
+#Group 68 pm_L2SB_st, L2 slice C store events
+event:0X440 counters:0 um:zero minimum:1000 name:PM_L2SC_RCST_DISP_GRP68 : (Group 68 pm_L2SB_st) L2 Slice C RC store dispatch attempt
+event:0X441 counters:1 um:zero minimum:1000 name:PM_L2SC_RCST_DISP_FAIL_RC_FULL_GRP68 : (Group 68 pm_L2SB_st) L2 Slice C RC store dispatch attempt failed due to all RC full
+event:0X442 counters:2 um:zero minimum:1000 name:PM_L2SC_RCST_DISP_FAIL_ADDR_GRP68 : (Group 68 pm_L2SB_st) L2 Slice C RC store dispatch attempt failed due to address collision with RC/CO/SN/SQ
+event:0X443 counters:3 um:zero minimum:1000 name:PM_L2SC_RCST_DISP_FAIL_OTHER_GRP68 : (Group 68 pm_L2SB_st) L2 Slice C RC store dispatch attempt failed due to other reasons
+event:0X444 counters:4 um:zero minimum:10000 name:PM_INST_CMPL_GRP68 : (Group 68 pm_L2SB_st) Instructions completed
+event:0X445 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP68 : (Group 68 pm_L2SB_st) Run cycles
+
+#Group 69 pm_L2SB_st2, L2 slice C store events
+event:0X450 counters:0 um:zero minimum:1000 name:PM_L2SC_RC_DISP_FAIL_CO_BUSY_GRP69 : (Group 69 pm_L2SB_st2) L2 Slice C RC dispatch attempt failed due to RC/CO pair chosen was miss and CO already busy
+event:0X451 counters:1 um:zero minimum:1000 name:PM_L2SC_ST_REQ_GRP69 : (Group 69 pm_L2SB_st2) L2 slice C store requests
+event:0X452 counters:2 um:zero minimum:1000 name:PM_L2SC_RC_DISP_FAIL_CO_BUSY_ALL_GRP69 : (Group 69 pm_L2SB_st2) L2 Slice C RC dispatch attempt failed due to all CO busy
+event:0X453 counters:3 um:zero minimum:1000 name:PM_L2SC_ST_HIT_GRP69 : (Group 69 pm_L2SB_st2) L2 slice C store hits
+event:0X454 counters:4 um:zero minimum:10000 name:PM_INST_CMPL_GRP69 : (Group 69 pm_L2SB_st2) Instructions completed
+event:0X455 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP69 : (Group 69 pm_L2SB_st2) Run cycles
+
+#Group 70 pm_L3SA_trans, L3 slice A state transistions
+event:0X460 counters:0 um:zero minimum:1000 name:PM_L3SA_MOD_TAG_GRP70 : (Group 70 pm_L3SA_trans) L3 slice A transition from modified to TAG
+event:0X461 counters:1 um:zero minimum:1000 name:PM_IOPS_CMPL_GRP70 : (Group 70 pm_L3SA_trans) IOPS instructions completed
+event:0X462 counters:2 um:zero minimum:1000 name:PM_L3SA_MOD_INV_GRP70 : (Group 70 pm_L3SA_trans) L3 slice A transition from modified to invalid
+event:0X463 counters:3 um:zero minimum:1000 name:PM_L3SA_SHR_INV_GRP70 : (Group 70 pm_L3SA_trans) L3 slice A transition from shared to invalid
+event:0X464 counters:4 um:zero minimum:10000 name:PM_INST_CMPL_GRP70 : (Group 70 pm_L3SA_trans) Instructions completed
+event:0X465 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP70 : (Group 70 pm_L3SA_trans) Run cycles
+
+#Group 71 pm_L3SB_trans, L3 slice B state transistions
+event:0X470 counters:0 um:zero minimum:1000 name:PM_IOPS_CMPL_GRP71 : (Group 71 pm_L3SB_trans) IOPS instructions completed
+event:0X471 counters:1 um:zero minimum:1000 name:PM_L3SB_MOD_TAG_GRP71 : (Group 71 pm_L3SB_trans) L3 slice B transition from modified to TAG
+event:0X472 counters:2 um:zero minimum:1000 name:PM_L3SB_MOD_INV_GRP71 : (Group 71 pm_L3SB_trans) L3 slice B transition from modified to invalid
+event:0X473 counters:3 um:zero minimum:1000 name:PM_L3SB_SHR_INV_GRP71 : (Group 71 pm_L3SB_trans) L3 slice B transition from shared to invalid
+event:0X474 counters:4 um:zero minimum:10000 name:PM_INST_CMPL_GRP71 : (Group 71 pm_L3SB_trans) Instructions completed
+event:0X475 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP71 : (Group 71 pm_L3SB_trans) Run cycles
+
+#Group 72 pm_L3SC_trans, L3 slice C state transistions
+event:0X480 counters:0 um:zero minimum:1000 name:PM_IOPS_CMPL_GRP72 : (Group 72 pm_L3SC_trans) IOPS instructions completed
+event:0X481 counters:1 um:zero minimum:1000 name:PM_L3SC_MOD_TAG_GRP72 : (Group 72 pm_L3SC_trans) L3 slice C transition from modified to TAG
+event:0X482 counters:2 um:zero minimum:1000 name:PM_L3SC_MOD_INV_GRP72 : (Group 72 pm_L3SC_trans) L3 slice C transition from modified to invalid
+event:0X483 counters:3 um:zero minimum:1000 name:PM_L3SC_SHR_INV_GRP72 : (Group 72 pm_L3SC_trans) L3 slice C transition from shared to invalid
+event:0X484 counters:4 um:zero minimum:10000 name:PM_INST_CMPL_GRP72 : (Group 72 pm_L3SC_trans) Instructions completed
+event:0X485 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP72 : (Group 72 pm_L3SC_trans) Run cycles
+
+#Group 73 pm_L2SA_trans, L2 slice A state transistions
+event:0X490 counters:0 um:zero minimum:1000 name:PM_L2SA_MOD_TAG_GRP73 : (Group 73 pm_L2SA_trans) L2 slice A transition from modified to tagged
+event:0X491 counters:1 um:zero minimum:1000 name:PM_L2SA_SHR_MOD_GRP73 : (Group 73 pm_L2SA_trans) L2 slice A transition from shared to modified
+event:0X492 counters:2 um:zero minimum:1000 name:PM_L2SA_MOD_INV_GRP73 : (Group 73 pm_L2SA_trans) L2 slice A transition from modified to invalid
+event:0X493 counters:3 um:zero minimum:1000 name:PM_L2SA_SHR_INV_GRP73 : (Group 73 pm_L2SA_trans) L2 slice A transition from shared to invalid
+event:0X494 counters:4 um:zero minimum:10000 name:PM_INST_CMPL_GRP73 : (Group 73 pm_L2SA_trans) Instructions completed
+event:0X495 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP73 : (Group 73 pm_L2SA_trans) Run cycles
+
+#Group 74 pm_L2SB_trans, L2 slice B state transistions
+event:0X4A0 counters:0 um:zero minimum:1000 name:PM_L2SB_MOD_TAG_GRP74 : (Group 74 pm_L2SB_trans) L2 slice B transition from modified to tagged
+event:0X4A1 counters:1 um:zero minimum:1000 name:PM_L2SB_SHR_MOD_GRP74 : (Group 74 pm_L2SB_trans) L2 slice B transition from shared to modified
+event:0X4A2 counters:2 um:zero minimum:1000 name:PM_L2SB_MOD_INV_GRP74 : (Group 74 pm_L2SB_trans) L2 slice B transition from modified to invalid
+event:0X4A3 counters:3 um:zero minimum:1000 name:PM_L2SB_SHR_INV_GRP74 : (Group 74 pm_L2SB_trans) L2 slice B transition from shared to invalid
+event:0X4A4 counters:4 um:zero minimum:10000 name:PM_INST_CMPL_GRP74 : (Group 74 pm_L2SB_trans) Instructions completed
+event:0X4A5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP74 : (Group 74 pm_L2SB_trans) Run cycles
+
+#Group 75 pm_L2SC_trans, L2 slice C state transistions
+event:0X4B0 counters:0 um:zero minimum:1000 name:PM_L2SC_MOD_TAG_GRP75 : (Group 75 pm_L2SC_trans) L2 slice C transition from modified to tagged
+event:0X4B1 counters:1 um:zero minimum:1000 name:PM_L2SC_SHR_MOD_GRP75 : (Group 75 pm_L2SC_trans) L2 slice C transition from shared to modified
+event:0X4B2 counters:2 um:zero minimum:1000 name:PM_L2SC_MOD_INV_GRP75 : (Group 75 pm_L2SC_trans) L2 slice C transition from modified to invalid
+event:0X4B3 counters:3 um:zero minimum:1000 name:PM_L2SC_SHR_INV_GRP75 : (Group 75 pm_L2SC_trans) L2 slice C transition from shared to invalid
+event:0X4B4 counters:4 um:zero minimum:10000 name:PM_INST_CMPL_GRP75 : (Group 75 pm_L2SC_trans) Instructions completed
+event:0X4B5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP75 : (Group 75 pm_L2SC_trans) Run cycles
+
+#Group 76 pm_L3SAB_retry, L3 slice A/B snoop retry and all CI/CO busy
+event:0X4C0 counters:0 um:zero minimum:1000 name:PM_L3SA_ALL_BUSY_GRP76 : (Group 76 pm_L3SAB_retry) L3 slice A active for every cycle all CI/CO machines busy
+event:0X4C1 counters:1 um:zero minimum:1000 name:PM_L3SB_ALL_BUSY_GRP76 : (Group 76 pm_L3SAB_retry) L3 slice B active for every cycle all CI/CO machines busy
+event:0X4C2 counters:2 um:zero minimum:1000 name:PM_L3SA_SNOOP_RETRY_GRP76 : (Group 76 pm_L3SAB_retry) L3 slice A snoop retries
+event:0X4C3 counters:3 um:zero minimum:1000 name:PM_L3SB_SNOOP_RETRY_GRP76 : (Group 76 pm_L3SAB_retry) L3 slice B snoop retries
+event:0X4C4 counters:4 um:zero minimum:10000 name:PM_INST_CMPL_GRP76 : (Group 76 pm_L3SAB_retry) Instructions completed
+event:0X4C5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP76 : (Group 76 pm_L3SAB_retry) Run cycles
+
+#Group 77 pm_L3SAB_hit, L3 slice A/B hit and reference
+event:0X4D0 counters:0 um:zero minimum:1000 name:PM_L3SA_REF_GRP77 : (Group 77 pm_L3SAB_hit) L3 slice A references
+event:0X4D1 counters:1 um:zero minimum:1000 name:PM_L3SB_REF_GRP77 : (Group 77 pm_L3SAB_hit) L3 slice B references
+event:0X4D2 counters:2 um:zero minimum:1000 name:PM_L3SA_HIT_GRP77 : (Group 77 pm_L3SAB_hit) L3 slice A hits
+event:0X4D3 counters:3 um:zero minimum:1000 name:PM_L3SB_HIT_GRP77 : (Group 77 pm_L3SAB_hit) L3 slice B hits
+event:0X4D4 counters:4 um:zero minimum:10000 name:PM_INST_CMPL_GRP77 : (Group 77 pm_L3SAB_hit) Instructions completed
+event:0X4D5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP77 : (Group 77 pm_L3SAB_hit) Run cycles
+
+#Group 78 pm_L3SC_retry_hit, L3 slice C hit & snoop retry
+event:0X4E0 counters:0 um:zero minimum:1000 name:PM_L3SC_ALL_BUSY_GRP78 : (Group 78 pm_L3SC_retry_hit) L3 slice C active for every cycle all CI/CO machines busy
+event:0X4E1 counters:1 um:zero minimum:1000 name:PM_L3SC_REF_GRP78 : (Group 78 pm_L3SC_retry_hit) L3 slice C references
+event:0X4E2 counters:2 um:zero minimum:1000 name:PM_L3SC_SNOOP_RETRY_GRP78 : (Group 78 pm_L3SC_retry_hit) L3 slice C snoop retries
+event:0X4E3 counters:3 um:zero minimum:1000 name:PM_L3SC_HIT_GRP78 : (Group 78 pm_L3SC_retry_hit) L3 Slice C hits
+event:0X4E4 counters:4 um:zero minimum:10000 name:PM_INST_CMPL_GRP78 : (Group 78 pm_L3SC_retry_hit) Instructions completed
+event:0X4E5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP78 : (Group 78 pm_L3SC_retry_hit) Run cycles
+
+#Group 79 pm_fpu1, Floating Point events
+event:0X4F0 counters:0 um:zero minimum:1000 name:PM_FPU_FDIV_GRP79 : (Group 79 pm_fpu1) FPU executed FDIV instruction
+event:0X4F1 counters:1 um:zero minimum:1000 name:PM_FPU_FMA_GRP79 : (Group 79 pm_fpu1) FPU executed multiply-add instruction
+event:0X4F2 counters:2 um:zero minimum:1000 name:PM_FPU_FMOV_FEST_GRP79 : (Group 79 pm_fpu1) FPU executing FMOV or FEST instructions
+event:0X4F3 counters:3 um:zero minimum:1000 name:PM_FPU_FEST_GRP79 : (Group 79 pm_fpu1) FPU executed FEST instruction
+event:0X4F4 counters:4 um:zero minimum:10000 name:PM_INST_CMPL_GRP79 : (Group 79 pm_fpu1) Instructions completed
+event:0X4F5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP79 : (Group 79 pm_fpu1) Run cycles
+
+#Group 80 pm_fpu2, Floating Point events
+event:0X500 counters:0 um:zero minimum:1000 name:PM_FPU_1FLOP_GRP80 : (Group 80 pm_fpu2) FPU executed one flop instruction
+event:0X501 counters:1 um:zero minimum:1000 name:PM_FPU_FSQRT_GRP80 : (Group 80 pm_fpu2) FPU executed FSQRT instruction
+event:0X502 counters:2 um:zero minimum:1000 name:PM_FPU_FRSP_FCONV_GRP80 : (Group 80 pm_fpu2) FPU executed FRSP or FCONV instructions
+event:0X503 counters:3 um:zero minimum:1000 name:PM_FPU_FIN_GRP80 : (Group 80 pm_fpu2) FPU produced a result
+event:0X504 counters:4 um:zero minimum:10000 name:PM_INST_CMPL_GRP80 : (Group 80 pm_fpu2) Instructions completed
+event:0X505 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP80 : (Group 80 pm_fpu2) Run cycles
+
+#Group 81 pm_fpu3, Floating point events
+event:0X510 counters:0 um:zero minimum:1000 name:PM_FPU_DENORM_GRP81 : (Group 81 pm_fpu3) FPU received denormalized data
+event:0X511 counters:1 um:zero minimum:1000 name:PM_FPU_STALL3_GRP81 : (Group 81 pm_fpu3) FPU stalled in pipe3
+event:0X512 counters:2 um:zero minimum:1000 name:PM_FPU0_FIN_GRP81 : (Group 81 pm_fpu3) FPU0 produced a result
+event:0X513 counters:3 um:zero minimum:1000 name:PM_FPU1_FIN_GRP81 : (Group 81 pm_fpu3) FPU1 produced a result
+event:0X514 counters:4 um:zero minimum:10000 name:PM_INST_CMPL_GRP81 : (Group 81 pm_fpu3) Instructions completed
+event:0X515 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP81 : (Group 81 pm_fpu3) Run cycles
+
+#Group 82 pm_fpu4, Floating point events
+event:0X520 counters:0 um:zero minimum:1000 name:PM_FPU_SINGLE_GRP82 : (Group 82 pm_fpu4) FPU executed single precision instruction
+event:0X521 counters:1 um:zero minimum:1000 name:PM_FPU_STF_GRP82 : (Group 82 pm_fpu4) FPU executed store instruction
+event:0X522 counters:2 um:zero minimum:1000 name:PM_IOPS_CMPL_GRP82 : (Group 82 pm_fpu4) IOPS instructions completed
+event:0X523 counters:3 um:zero minimum:1000 name:PM_LSU_LDF_GRP82 : (Group 82 pm_fpu4) LSU executed Floating Point load instruction
+event:0X524 counters:4 um:zero minimum:10000 name:PM_INST_CMPL_GRP82 : (Group 82 pm_fpu4) Instructions completed
+event:0X525 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP82 : (Group 82 pm_fpu4) Run cycles
+
+#Group 83 pm_fpu5, Floating point events by unit
+event:0X530 counters:0 um:zero minimum:1000 name:PM_FPU0_FSQRT_GRP83 : (Group 83 pm_fpu5) FPU0 executed FSQRT instruction
+event:0X531 counters:1 um:zero minimum:1000 name:PM_FPU1_FSQRT_GRP83 : (Group 83 pm_fpu5) FPU1 executed FSQRT instruction
+event:0X532 counters:2 um:zero minimum:1000 name:PM_FPU0_FEST_GRP83 : (Group 83 pm_fpu5) FPU0 executed FEST instruction
+event:0X533 counters:3 um:zero minimum:1000 name:PM_FPU1_FEST_GRP83 : (Group 83 pm_fpu5) FPU1 executed FEST instruction
+event:0X534 counters:4 um:zero minimum:10000 name:PM_INST_CMPL_GRP83 : (Group 83 pm_fpu5) Instructions completed
+event:0X535 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP83 : (Group 83 pm_fpu5) Run cycles
+
+#Group 84 pm_fpu6, Floating point events by unit
+event:0X540 counters:0 um:zero minimum:1000 name:PM_FPU0_DENORM_GRP84 : (Group 84 pm_fpu6) FPU0 received denormalized data
+event:0X541 counters:1 um:zero minimum:1000 name:PM_FPU1_DENORM_GRP84 : (Group 84 pm_fpu6) FPU1 received denormalized data
+event:0X542 counters:2 um:zero minimum:1000 name:PM_FPU0_FMOV_FEST_GRP84 : (Group 84 pm_fpu6) FPU0 executed FMOV or FEST instructions
+event:0X543 counters:3 um:zero minimum:1000 name:PM_FPU1_FMOV_FEST_GRP84 : (Group 84 pm_fpu6) FPU1 executing FMOV or FEST instructions
+event:0X544 counters:4 um:zero minimum:10000 name:PM_INST_CMPL_GRP84 : (Group 84 pm_fpu6) Instructions completed
+event:0X545 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP84 : (Group 84 pm_fpu6) Run cycles
+
+#Group 85 pm_fpu7, Floating point events by unit
+event:0X550 counters:0 um:zero minimum:1000 name:PM_FPU0_FDIV_GRP85 : (Group 85 pm_fpu7) FPU0 executed FDIV instruction
+event:0X551 counters:1 um:zero minimum:1000 name:PM_FPU1_FDIV_GRP85 : (Group 85 pm_fpu7) FPU1 executed FDIV instruction
+event:0X552 counters:2 um:zero minimum:1000 name:PM_FPU0_FRSP_FCONV_GRP85 : (Group 85 pm_fpu7) FPU0 executed FRSP or FCONV instructions
+event:0X553 counters:3 um:zero minimum:1000 name:PM_FPU1_FRSP_FCONV_GRP85 : (Group 85 pm_fpu7) FPU1 executed FRSP or FCONV instructions
+event:0X554 counters:4 um:zero minimum:10000 name:PM_INST_CMPL_GRP85 : (Group 85 pm_fpu7) Instructions completed
+event:0X555 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP85 : (Group 85 pm_fpu7) Run cycles
+
+#Group 86 pm_fpu8, Floating point events by unit
+event:0X560 counters:0 um:zero minimum:1000 name:PM_FPU0_STALL3_GRP86 : (Group 86 pm_fpu8) FPU0 stalled in pipe3
+event:0X561 counters:1 um:zero minimum:1000 name:PM_FPU1_STALL3_GRP86 : (Group 86 pm_fpu8) FPU1 stalled in pipe3
+event:0X562 counters:2 um:zero minimum:1000 name:PM_IOPS_CMPL_GRP86 : (Group 86 pm_fpu8) IOPS instructions completed
+event:0X563 counters:3 um:zero minimum:1000 name:PM_FPU0_FPSCR_GRP86 : (Group 86 pm_fpu8) FPU0 executed FPSCR instruction
+event:0X564 counters:4 um:zero minimum:10000 name:PM_INST_CMPL_GRP86 : (Group 86 pm_fpu8) Instructions completed
+event:0X565 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP86 : (Group 86 pm_fpu8) Run cycles
+
+#Group 87 pm_fpu9, Floating point events by unit
+event:0X570 counters:0 um:zero minimum:1000 name:PM_FPU0_SINGLE_GRP87 : (Group 87 pm_fpu9) FPU0 executed single precision instruction
+event:0X571 counters:1 um:zero minimum:1000 name:PM_FPU1_SINGLE_GRP87 : (Group 87 pm_fpu9) FPU1 executed single precision instruction
+event:0X572 counters:2 um:zero minimum:1000 name:PM_LSU0_LDF_GRP87 : (Group 87 pm_fpu9) LSU0 executed Floating Point load instruction
+event:0X573 counters:3 um:zero minimum:1000 name:PM_LSU1_LDF_GRP87 : (Group 87 pm_fpu9) LSU1 executed Floating Point load instruction
+event:0X574 counters:4 um:zero minimum:10000 name:PM_INST_CMPL_GRP87 : (Group 87 pm_fpu9) Instructions completed
+event:0X575 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP87 : (Group 87 pm_fpu9) Run cycles
+
+#Group 88 pm_fpu10, Floating point events by unit
+event:0X580 counters:0 um:zero minimum:1000 name:PM_FPU0_FMA_GRP88 : (Group 88 pm_fpu10) FPU0 executed multiply-add instruction
+event:0X581 counters:1 um:zero minimum:1000 name:PM_FPU1_FMA_GRP88 : (Group 88 pm_fpu10) FPU1 executed multiply-add instruction
+event:0X582 counters:2 um:zero minimum:1000 name:PM_IOPS_CMPL_GRP88 : (Group 88 pm_fpu10) IOPS instructions completed
+event:0X583 counters:3 um:zero minimum:1000 name:PM_FPU1_FRSP_FCONV_GRP88 : (Group 88 pm_fpu10) FPU1 executed FRSP or FCONV instructions
+event:0X584 counters:4 um:zero minimum:10000 name:PM_INST_CMPL_GRP88 : (Group 88 pm_fpu10) Instructions completed
+event:0X585 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP88 : (Group 88 pm_fpu10) Run cycles
+
+#Group 89 pm_fpu11, Floating point events by unit
+event:0X590 counters:0 um:zero minimum:1000 name:PM_FPU0_1FLOP_GRP89 : (Group 89 pm_fpu11) FPU0 executed add, mult, sub, cmp or sel instruction
+event:0X591 counters:1 um:zero minimum:1000 name:PM_FPU1_1FLOP_GRP89 : (Group 89 pm_fpu11) FPU1 executed add, mult, sub, cmp or sel instruction
+event:0X592 counters:2 um:zero minimum:1000 name:PM_FPU0_FIN_GRP89 : (Group 89 pm_fpu11) FPU0 produced a result
+event:0X593 counters:3 um:zero minimum:1000 name:PM_IOPS_CMPL_GRP89 : (Group 89 pm_fpu11) IOPS instructions completed
+event:0X594 counters:4 um:zero minimum:10000 name:PM_INST_CMPL_GRP89 : (Group 89 pm_fpu11) Instructions completed
+event:0X595 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP89 : (Group 89 pm_fpu11) Run cycles
+
+#Group 90 pm_fpu12, Floating point events by unit
+event:0X5A0 counters:0 um:zero minimum:1000 name:PM_FPU0_STF_GRP90 : (Group 90 pm_fpu12) FPU0 executed store instruction
+event:0X5A1 counters:1 um:zero minimum:1000 name:PM_FPU1_STF_GRP90 : (Group 90 pm_fpu12) FPU1 executed store instruction
+event:0X5A2 counters:2 um:zero minimum:1000 name:PM_LSU0_LDF_GRP90 : (Group 90 pm_fpu12) LSU0 executed Floating Point load instruction
+event:0X5A3 counters:3 um:zero minimum:1000 name:PM_IOPS_CMPL_GRP90 : (Group 90 pm_fpu12) IOPS instructions completed
+event:0X5A4 counters:4 um:zero minimum:10000 name:PM_INST_CMPL_GRP90 : (Group 90 pm_fpu12) Instructions completed
+event:0X5A5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP90 : (Group 90 pm_fpu12) Run cycles
+
+#Group 91 pm_fxu1, Fixed Point events
+event:0X5B0 counters:0 um:zero minimum:1000 name:PM_FXU_IDLE_GRP91 : (Group 91 pm_fxu1) FXU idle
+event:0X5B1 counters:1 um:zero minimum:1000 name:PM_FXU_BUSY_GRP91 : (Group 91 pm_fxu1) FXU busy
+event:0X5B2 counters:2 um:zero minimum:1000 name:PM_FXU0_BUSY_FXU1_IDLE_GRP91 : (Group 91 pm_fxu1) FXU0 busy FXU1 idle
+event:0X5B3 counters:3 um:zero minimum:1000 name:PM_FXU1_BUSY_FXU0_IDLE_GRP91 : (Group 91 pm_fxu1) FXU1 busy FXU0 idle
+event:0X5B4 counters:4 um:zero minimum:10000 name:PM_INST_CMPL_GRP91 : (Group 91 pm_fxu1) Instructions completed
+event:0X5B5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP91 : (Group 91 pm_fxu1) Run cycles
+
+#Group 92 pm_fxu2, Fixed Point events
+event:0X5C0 counters:0 um:zero minimum:1000 name:PM_MRK_GRP_DISP_GRP92 : (Group 92 pm_fxu2) Marked group dispatched
+event:0X5C1 counters:1 um:zero minimum:1000 name:PM_MRK_GRP_BR_REDIR_GRP92 : (Group 92 pm_fxu2) Group experienced marked branch redirect
+event:0X5C2 counters:2 um:zero minimum:1000 name:PM_FXU_FIN_GRP92 : (Group 92 pm_fxu2) FXU produced a result
+event:0X5C3 counters:3 um:zero minimum:1000 name:PM_FXLS_FULL_CYC_GRP92 : (Group 92 pm_fxu2) Cycles FXLS queue is full
+event:0X5C4 counters:4 um:zero minimum:10000 name:PM_INST_CMPL_GRP92 : (Group 92 pm_fxu2) Instructions completed
+event:0X5C5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP92 : (Group 92 pm_fxu2) Run cycles
+
+#Group 93 pm_fxu3, Fixed Point events
+event:0X5D0 counters:0 um:zero minimum:1000 name:PM_3INST_CLB_CYC_GRP93 : (Group 93 pm_fxu3) Cycles 3 instructions in CLB
+event:0X5D1 counters:1 um:zero minimum:1000 name:PM_4INST_CLB_CYC_GRP93 : (Group 93 pm_fxu3) Cycles 4 instructions in CLB
+event:0X5D2 counters:2 um:zero minimum:1000 name:PM_FXU0_FIN_GRP93 : (Group 93 pm_fxu3) FXU0 produced a result
+event:0X5D3 counters:3 um:zero minimum:1000 name:PM_FXU1_FIN_GRP93 : (Group 93 pm_fxu3) FXU1 produced a result
+event:0X5D4 counters:4 um:zero minimum:10000 name:PM_INST_CMPL_GRP93 : (Group 93 pm_fxu3) Instructions completed
+event:0X5D5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP93 : (Group 93 pm_fxu3) Run cycles
+
+#Group 94 pm_smt_priorities1, Thread priority events
+event:0X5E0 counters:0 um:zero minimum:1000 name:PM_THRD_PRIO_4_CYC_GRP94 : (Group 94 pm_smt_priorities1) Cycles thread running at priority level 4
+event:0X5E1 counters:1 um:zero minimum:1000 name:PM_THRD_PRIO_7_CYC_GRP94 : (Group 94 pm_smt_priorities1) Cycles thread running at priority level 7
+event:0X5E2 counters:2 um:zero minimum:1000 name:PM_THRD_PRIO_DIFF_0_CYC_GRP94 : (Group 94 pm_smt_priorities1) Cycles no thread priority difference
+event:0X5E3 counters:3 um:zero minimum:1000 name:PM_THRD_PRIO_DIFF_1or2_CYC_GRP94 : (Group 94 pm_smt_priorities1) Cycles thread priority difference is 1 or 2
+event:0X5E4 counters:4 um:zero minimum:10000 name:PM_INST_CMPL_GRP94 : (Group 94 pm_smt_priorities1) Instructions completed
+event:0X5E5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP94 : (Group 94 pm_smt_priorities1) Run cycles
+
+#Group 95 pm_smt_priorities2, Thread priority events
+event:0X5F0 counters:0 um:zero minimum:1000 name:PM_THRD_PRIO_3_CYC_GRP95 : (Group 95 pm_smt_priorities2) Cycles thread running at priority level 3
+event:0X5F1 counters:1 um:zero minimum:1000 name:PM_THRD_PRIO_6_CYC_GRP95 : (Group 95 pm_smt_priorities2) Cycles thread running at priority level 6
+event:0X5F2 counters:2 um:zero minimum:1000 name:PM_THRD_PRIO_DIFF_3or4_CYC_GRP95 : (Group 95 pm_smt_priorities2) Cycles thread priority difference is 3 or 4
+event:0X5F3 counters:3 um:zero minimum:1000 name:PM_THRD_PRIO_DIFF_5or6_CYC_GRP95 : (Group 95 pm_smt_priorities2) Cycles thread priority difference is 5 or 6
+event:0X5F4 counters:4 um:zero minimum:10000 name:PM_INST_CMPL_GRP95 : (Group 95 pm_smt_priorities2) Instructions completed
+event:0X5F5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP95 : (Group 95 pm_smt_priorities2) Run cycles
+
+#Group 96 pm_smt_priorities3, Thread priority events
+event:0X600 counters:0 um:zero minimum:1000 name:PM_THRD_PRIO_2_CYC_GRP96 : (Group 96 pm_smt_priorities3) Cycles thread running at priority level 2
+event:0X601 counters:1 um:zero minimum:1000 name:PM_THRD_PRIO_5_CYC_GRP96 : (Group 96 pm_smt_priorities3) Cycles thread running at priority level 5
+event:0X602 counters:2 um:zero minimum:1000 name:PM_THRD_PRIO_DIFF_minus1or2_CYC_GRP96 : (Group 96 pm_smt_priorities3) Cycles thread priority difference is -1 or -2
+event:0X603 counters:3 um:zero minimum:1000 name:PM_THRD_PRIO_DIFF_minus3or4_CYC_GRP96 : (Group 96 pm_smt_priorities3) Cycles thread priority difference is -3 or -4
+event:0X604 counters:4 um:zero minimum:10000 name:PM_INST_CMPL_GRP96 : (Group 96 pm_smt_priorities3) Instructions completed
+event:0X605 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP96 : (Group 96 pm_smt_priorities3) Run cycles
+
+#Group 97 pm_smt_priorities4, Thread priority events
+event:0X610 counters:0 um:zero minimum:1000 name:PM_THRD_PRIO_1_CYC_GRP97 : (Group 97 pm_smt_priorities4) Cycles thread running at priority level 1
+event:0X611 counters:1 um:zero minimum:1000 name:PM_HV_CYC_GRP97 : (Group 97 pm_smt_priorities4) Hypervisor Cycles
+event:0X612 counters:2 um:zero minimum:1000 name:PM_THRD_PRIO_DIFF_minus5or6_CYC_GRP97 : (Group 97 pm_smt_priorities4) Cycles thread priority difference is -5 or -6
+event:0X613 counters:3 um:zero minimum:1000 name:PM_IOPS_CMPL_GRP97 : (Group 97 pm_smt_priorities4) IOPS instructions completed
+event:0X614 counters:4 um:zero minimum:10000 name:PM_INST_CMPL_GRP97 : (Group 97 pm_smt_priorities4) Instructions completed
+event:0X615 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP97 : (Group 97 pm_smt_priorities4) Run cycles
+
+#Group 98 pm_smt_both, Thread common events
+event:0X620 counters:0 um:zero minimum:1000 name:PM_THRD_ONE_RUN_CYC_GRP98 : (Group 98 pm_smt_both) One of the threads in run cycles
+event:0X621 counters:1 um:zero minimum:1000 name:PM_THRD_GRP_CMPL_BOTH_CYC_GRP98 : (Group 98 pm_smt_both) Cycles group completed by both threads
+event:0X622 counters:2 um:zero minimum:1000 name:PM_IOPS_CMPL_GRP98 : (Group 98 pm_smt_both) IOPS instructions completed
+event:0X623 counters:3 um:zero minimum:1000 name:PM_THRD_L2MISS_BOTH_CYC_GRP98 : (Group 98 pm_smt_both) Cycles both threads in L2 misses
+event:0X624 counters:4 um:zero minimum:10000 name:PM_INST_CMPL_GRP98 : (Group 98 pm_smt_both) Instructions completed
+event:0X625 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP98 : (Group 98 pm_smt_both) Run cycles
+
+#Group 99 pm_smt_selection, Thread selection
+event:0X630 counters:0 um:zero minimum:1000 name:PM_SNOOP_TLBIE_GRP99 : (Group 99 pm_smt_selection) Snoop TLBIE
+event:0X631 counters:1 um:zero minimum:1000 name:PM_IOPS_CMPL_GRP99 : (Group 99 pm_smt_selection) IOPS instructions completed
+event:0X632 counters:2 um:zero minimum:1000 name:PM_THRD_SEL_T0_GRP99 : (Group 99 pm_smt_selection) Decode selected thread 0
+event:0X633 counters:3 um:zero minimum:1000 name:PM_THRD_SEL_T1_GRP99 : (Group 99 pm_smt_selection) Decode selected thread 1
+event:0X634 counters:4 um:zero minimum:10000 name:PM_INST_CMPL_GRP99 : (Group 99 pm_smt_selection) Instructions completed
+event:0X635 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP99 : (Group 99 pm_smt_selection) Run cycles
+
+#Group 100 pm_smt_selectover1, Thread selection overide
+event:0X640 counters:0 um:zero minimum:1000 name:PM_IOPS_CMPL_GRP100 : (Group 100 pm_smt_selectover1) IOPS instructions completed
+event:0X641 counters:1 um:zero minimum:1000 name:PM_0INST_CLB_CYC_GRP100 : (Group 100 pm_smt_selectover1) Cycles no instructions in CLB
+event:0X642 counters:2 um:zero minimum:1000 name:PM_THRD_SEL_OVER_CLB_EMPTY_GRP100 : (Group 100 pm_smt_selectover1) Thread selection overides caused by CLB empty
+event:0X643 counters:3 um:zero minimum:1000 name:PM_THRD_SEL_OVER_GCT_IMBAL_GRP100 : (Group 100 pm_smt_selectover1) Thread selection overides caused by GCT imbalance
+event:0X644 counters:4 um:zero minimum:10000 name:PM_INST_CMPL_GRP100 : (Group 100 pm_smt_selectover1) Instructions completed
+event:0X645 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP100 : (Group 100 pm_smt_selectover1) Run cycles
+
+#Group 101 pm_smt_selectover2, Thread selection overide
+event:0X650 counters:0 um:zero minimum:1000 name:PM_IOPS_CMPL_GRP101 : (Group 101 pm_smt_selectover2) IOPS instructions completed
+event:0X651 counters:1 um:zero minimum:10000 name:PM_CYC_GRP101 : (Group 101 pm_smt_selectover2) Processor cycles
+event:0X652 counters:2 um:zero minimum:1000 name:PM_THRD_SEL_OVER_ISU_HOLD_GRP101 : (Group 101 pm_smt_selectover2) Thread selection overides caused by ISU holds
+event:0X653 counters:3 um:zero minimum:1000 name:PM_THRD_SEL_OVER_L2MISS_GRP101 : (Group 101 pm_smt_selectover2) Thread selection overides caused by L2 misses
+event:0X654 counters:4 um:zero minimum:10000 name:PM_INST_CMPL_GRP101 : (Group 101 pm_smt_selectover2) Instructions completed
+event:0X655 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP101 : (Group 101 pm_smt_selectover2) Run cycles
+
+#Group 102 pm_fabric1, Fabric events
+event:0X660 counters:0 um:zero minimum:1000 name:PM_FAB_CMD_ISSUED_GRP102 : (Group 102 pm_fabric1) Fabric command issued
+event:0X661 counters:1 um:zero minimum:1000 name:PM_FAB_DCLAIM_ISSUED_GRP102 : (Group 102 pm_fabric1) dclaim issued
+event:0X662 counters:2 um:zero minimum:1000 name:PM_FAB_CMD_RETRIED_GRP102 : (Group 102 pm_fabric1) Fabric command retried
+event:0X663 counters:3 um:zero minimum:1000 name:PM_FAB_DCLAIM_RETRIED_GRP102 : (Group 102 pm_fabric1) dclaim retried
+event:0X664 counters:4 um:zero minimum:10000 name:PM_INST_CMPL_GRP102 : (Group 102 pm_fabric1) Instructions completed
+event:0X665 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP102 : (Group 102 pm_fabric1) Run cycles
+
+#Group 103 pm_fabric2, Fabric data movement
+event:0X670 counters:0 um:zero minimum:1000 name:PM_FAB_P1toM1_SIDECAR_EMPTY_GRP103 : (Group 103 pm_fabric2) P1 to M1 sidecar empty
+event:0X671 counters:1 um:zero minimum:1000 name:PM_FAB_HOLDtoVN_EMPTY_GRP103 : (Group 103 pm_fabric2) Hold buffer to VN empty
+event:0X672 counters:2 um:zero minimum:1000 name:PM_FAB_P1toVNorNN_SIDECAR_EMPTY_GRP103 : (Group 103 pm_fabric2) P1 to VN/NN sidecar empty
+event:0X673 counters:3 um:zero minimum:1000 name:PM_FAB_VBYPASS_EMPTY_GRP103 : (Group 103 pm_fabric2) Vertical bypass buffer empty
+event:0X674 counters:4 um:zero minimum:10000 name:PM_INST_CMPL_GRP103 : (Group 103 pm_fabric2) Instructions completed
+event:0X675 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP103 : (Group 103 pm_fabric2) Run cycles
+
+#Group 104 pm_fabric3, Fabric data movement
+event:0X680 counters:0 um:zero minimum:1000 name:PM_FAB_PNtoNN_DIRECT_GRP104 : (Group 104 pm_fabric3) PN to NN beat went straight to its destination
+event:0X681 counters:1 um:zero minimum:1000 name:PM_FAB_PNtoVN_DIRECT_GRP104 : (Group 104 pm_fabric3) PN to VN beat went straight to its destination
+event:0X682 counters:2 um:zero minimum:1000 name:PM_FAB_PNtoNN_SIDECAR_GRP104 : (Group 104 pm_fabric3) PN to NN beat went to sidecar first
+event:0X683 counters:3 um:zero minimum:1000 name:PM_FAB_PNtoVN_SIDECAR_GRP104 : (Group 104 pm_fabric3) PN to VN beat went to sidecar first
+event:0X684 counters:4 um:zero minimum:10000 name:PM_INST_CMPL_GRP104 : (Group 104 pm_fabric3) Instructions completed
+event:0X685 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP104 : (Group 104 pm_fabric3) Run cycles
+
+#Group 105 pm_fabric4, Fabric data movement
+event:0X690 counters:0 um:zero minimum:1000 name:PM_FAB_M1toP1_SIDECAR_EMPTY_GRP105 : (Group 105 pm_fabric4) M1 to P1 sidecar empty
+event:0X691 counters:1 um:zero minimum:1000 name:PM_FAB_HOLDtoNN_EMPTY_GRP105 : (Group 105 pm_fabric4) Hold buffer to NN empty
+event:0X692 counters:2 um:zero minimum:1000 name:PM_EE_OFF_GRP105 : (Group 105 pm_fabric4) Cycles MSR(EE) bit off
+event:0X693 counters:3 um:zero minimum:1000 name:PM_FAB_M1toVNorNN_SIDECAR_EMPTY_GRP105 : (Group 105 pm_fabric4) M1 to VN/NN sidecar empty
+event:0X694 counters:4 um:zero minimum:10000 name:PM_INST_CMPL_GRP105 : (Group 105 pm_fabric4) Instructions completed
+event:0X695 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP105 : (Group 105 pm_fabric4) Run cycles
+
+#Group 106 pm_snoop1, Snoop retry
+event:0X6A0 counters:0 um:zero minimum:1000 name:PM_SNOOP_RD_RETRY_QFULL_GRP106 : (Group 106 pm_snoop1) Snoop read retry due to read queue full
+event:0X6A1 counters:1 um:zero minimum:1000 name:PM_SNOOP_DCLAIM_RETRY_QFULL_GRP106 : (Group 106 pm_snoop1) Snoop dclaim/flush retry due to write/dclaim queues full
+event:0X6A2 counters:2 um:zero minimum:1000 name:PM_SNOOP_WR_RETRY_QFULL_GRP106 : (Group 106 pm_snoop1) Snoop read retry due to read queue full
+event:0X6A3 counters:3 um:zero minimum:1000 name:PM_SNOOP_PARTIAL_RTRY_QFULL_GRP106 : (Group 106 pm_snoop1) Snoop partial write retry due to partial-write queues full
+event:0X6A4 counters:4 um:zero minimum:10000 name:PM_INST_CMPL_GRP106 : (Group 106 pm_snoop1) Instructions completed
+event:0X6A5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP106 : (Group 106 pm_snoop1) Run cycles
+
+#Group 107 pm_snoop2, Snoop read retry
+event:0X6B0 counters:0 um:zero minimum:1000 name:PM_SNOOP_RD_RETRY_RQ_GRP107 : (Group 107 pm_snoop2) Snoop read retry due to collision with active read queue
+event:0X6B1 counters:1 um:zero minimum:1000 name:PM_SNOOP_RETRY_1AHEAD_GRP107 : (Group 107 pm_snoop2) Snoop retry due to one ahead collision
+event:0X6B2 counters:2 um:zero minimum:1000 name:PM_SNOOP_RD_RETRY_WQ_GRP107 : (Group 107 pm_snoop2) Snoop read retry due to collision with active write queue
+event:0X6B3 counters:3 um:zero minimum:1000 name:PM_IOPS_CMPL_GRP107 : (Group 107 pm_snoop2) IOPS instructions completed
+event:0X6B4 counters:4 um:zero minimum:10000 name:PM_INST_CMPL_GRP107 : (Group 107 pm_snoop2) Instructions completed
+event:0X6B5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP107 : (Group 107 pm_snoop2) Run cycles
+
+#Group 108 pm_snoop3, Snoop write retry
+event:0X6C0 counters:0 um:zero minimum:1000 name:PM_SNOOP_WR_RETRY_RQ_GRP108 : (Group 108 pm_snoop3) Snoop write/dclaim retry due to collision with active read queue
+event:0X6C1 counters:1 um:zero minimum:1000 name:PM_MEM_HI_PRIO_WR_CMPL_GRP108 : (Group 108 pm_snoop3) High priority write completed
+event:0X6C2 counters:2 um:zero minimum:1000 name:PM_SNOOP_WR_RETRY_WQ_GRP108 : (Group 108 pm_snoop3) Snoop write/dclaim retry due to collision with active write queue
+event:0X6C3 counters:3 um:zero minimum:1000 name:PM_MEM_LO_PRIO_WR_CMPL_GRP108 : (Group 108 pm_snoop3) Low priority write completed
+event:0X6C4 counters:4 um:zero minimum:10000 name:PM_INST_CMPL_GRP108 : (Group 108 pm_snoop3) Instructions completed
+event:0X6C5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP108 : (Group 108 pm_snoop3) Run cycles
+
+#Group 109 pm_snoop4, Snoop partial write retry
+event:0X6D0 counters:0 um:zero minimum:1000 name:PM_SNOOP_PW_RETRY_RQ_GRP109 : (Group 109 pm_snoop4) Snoop partial-write retry due to collision with active read queue
+event:0X6D1 counters:1 um:zero minimum:1000 name:PM_MEM_HI_PRIO_PW_CMPL_GRP109 : (Group 109 pm_snoop4) High priority partial-write completed
+event:0X6D2 counters:2 um:zero minimum:1000 name:PM_SNOOP_PW_RETRY_WQ_PWQ_GRP109 : (Group 109 pm_snoop4) Snoop partial-write retry due to collision with active write or partial-write queue
+event:0X6D3 counters:3 um:zero minimum:1000 name:PM_MEM_LO_PRIO_PW_CMPL_GRP109 : (Group 109 pm_snoop4) Low priority partial-write completed
+event:0X6D4 counters:4 um:zero minimum:10000 name:PM_INST_CMPL_GRP109 : (Group 109 pm_snoop4) Instructions completed
+event:0X6D5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP109 : (Group 109 pm_snoop4) Run cycles
+
+#Group 110 pm_mem_rq, Memory read queue dispatch
+event:0X6E0 counters:0 um:zero minimum:1000 name:PM_MEM_RQ_DISP_GRP110 : (Group 110 pm_mem_rq) Memory read queue dispatched
+event:0X6E1 counters:1 um:zero minimum:1000 name:PM_MEM_RQ_DISP_BUSY8to15_GRP110 : (Group 110 pm_mem_rq) Memory read queue dispatched with 8-15 queues busy
+event:0X6E2 counters:2 um:zero minimum:1000 name:PM_MEM_RQ_DISP_BUSY1to7_GRP110 : (Group 110 pm_mem_rq) Memory read queue dispatched with 1-7 queues busy
+event:0X6E3 counters:3 um:zero minimum:1000 name:PM_EE_OFF_EXT_INT_GRP110 : (Group 110 pm_mem_rq) Cycles MSR(EE) bit off and external interrupt pending
+event:0X6E4 counters:4 um:zero minimum:10000 name:PM_INST_CMPL_GRP110 : (Group 110 pm_mem_rq) Instructions completed
+event:0X6E5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP110 : (Group 110 pm_mem_rq) Run cycles
+
+#Group 111 pm_mem_read, Memory read complete and cancel
+event:0X6F0 counters:0 um:zero minimum:1000 name:PM_MEM_READ_CMPL_GRP111 : (Group 111 pm_mem_read) Memory read completed or canceled
+event:0X6F1 counters:1 um:zero minimum:1000 name:PM_MEM_FAST_PATH_RD_CMPL_GRP111 : (Group 111 pm_mem_read) Fast path memory read completed
+event:0X6F2 counters:2 um:zero minimum:1000 name:PM_MEM_SPEC_RD_CANCEL_GRP111 : (Group 111 pm_mem_read) Speculative memory read canceled
+event:0X6F3 counters:3 um:zero minimum:1000 name:PM_EXT_INT_GRP111 : (Group 111 pm_mem_read) External interrupts
+event:0X6F4 counters:4 um:zero minimum:10000 name:PM_INST_CMPL_GRP111 : (Group 111 pm_mem_read) Instructions completed
+event:0X6F5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP111 : (Group 111 pm_mem_read) Run cycles
+
+#Group 112 pm_mem_wq, Memory write queue dispatch
+event:0X700 counters:0 um:zero minimum:1000 name:PM_MEM_WQ_DISP_WRITE_GRP112 : (Group 112 pm_mem_wq) Memory write queue dispatched due to write
+event:0X701 counters:1 um:zero minimum:1000 name:PM_MEM_WQ_DISP_BUSY1to7_GRP112 : (Group 112 pm_mem_wq) Memory write queue dispatched with 1-7 queues busy
+event:0X702 counters:2 um:zero minimum:1000 name:PM_MEM_WQ_DISP_DCLAIM_GRP112 : (Group 112 pm_mem_wq) Memory write queue dispatched due to dclaim/flush
+event:0X703 counters:3 um:zero minimum:1000 name:PM_MEM_WQ_DISP_BUSY8to15_GRP112 : (Group 112 pm_mem_wq) Memory write queue dispatched with 8-15 queues busy
+event:0X704 counters:4 um:zero minimum:10000 name:PM_INST_CMPL_GRP112 : (Group 112 pm_mem_wq) Instructions completed
+event:0X705 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP112 : (Group 112 pm_mem_wq) Run cycles
+
+#Group 113 pm_mem_pwq, Memory partial write queue
+event:0X710 counters:0 um:zero minimum:1000 name:PM_MEM_PWQ_DISP_GRP113 : (Group 113 pm_mem_pwq) Memory partial-write queue dispatched
+event:0X711 counters:1 um:zero minimum:1000 name:PM_MEM_PWQ_DISP_BUSY2or3_GRP113 : (Group 113 pm_mem_pwq) Memory partial-write queue dispatched with 2-3 queues busy
+event:0X712 counters:2 um:zero minimum:1000 name:PM_MEM_PW_GATH_GRP113 : (Group 113 pm_mem_pwq) Memory partial-write gathered
+event:0X713 counters:3 um:zero minimum:1000 name:PM_MEM_PW_CMPL_GRP113 : (Group 113 pm_mem_pwq) Memory partial-write completed
+event:0X714 counters:4 um:zero minimum:10000 name:PM_INST_CMPL_GRP113 : (Group 113 pm_mem_pwq) Instructions completed
+event:0X715 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP113 : (Group 113 pm_mem_pwq) Run cycles
+
+#Group 114 pm_threshold, Thresholding
+event:0X720 counters:0 um:zero minimum:1000 name:PM_MRK_GRP_DISP_GRP114 : (Group 114 pm_threshold) Marked group dispatched
+event:0X721 counters:1 um:zero minimum:1000 name:PM_MRK_IMR_RELOAD_GRP114 : (Group 114 pm_threshold) Marked IMR reloaded
+event:0X722 counters:2 um:zero minimum:1000 name:PM_THRESH_TIMEO_GRP114 : (Group 114 pm_threshold) Threshold timeout
+event:0X723 counters:3 um:zero minimum:1000 name:PM_MRK_LSU_FIN_GRP114 : (Group 114 pm_threshold) Marked instruction LSU processing finished
+event:0X724 counters:4 um:zero minimum:10000 name:PM_INST_CMPL_GRP114 : (Group 114 pm_threshold) Instructions completed
+event:0X725 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP114 : (Group 114 pm_threshold) Run cycles
+
+#Group 115 pm_mrk_grp1, Marked group events
+event:0X730 counters:0 um:zero minimum:1000 name:PM_MRK_GRP_DISP_GRP115 : (Group 115 pm_mrk_grp1) Marked group dispatched
+event:0X731 counters:1 um:zero minimum:1000 name:PM_MRK_ST_MISS_L1_GRP115 : (Group 115 pm_mrk_grp1) Marked L1 D cache store misses
+event:0X732 counters:2 um:zero minimum:1000 name:PM_MRK_INST_FIN_GRP115 : (Group 115 pm_mrk_grp1) Marked instruction finished
+event:0X733 counters:3 um:zero minimum:1000 name:PM_MRK_GRP_CMPL_GRP115 : (Group 115 pm_mrk_grp1) Marked group completed
+event:0X734 counters:4 um:zero minimum:10000 name:PM_INST_CMPL_GRP115 : (Group 115 pm_mrk_grp1) Instructions completed
+event:0X735 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP115 : (Group 115 pm_mrk_grp1) Run cycles
+
+#Group 116 pm_mrk_grp2, Marked group events
+event:0X740 counters:0 um:zero minimum:1000 name:PM_MRK_GRP_ISSUED_GRP116 : (Group 116 pm_mrk_grp2) Marked group issued
+event:0X741 counters:1 um:zero minimum:1000 name:PM_MRK_BRU_FIN_GRP116 : (Group 116 pm_mrk_grp2) Marked instruction BRU processing finished
+event:0X742 counters:2 um:zero minimum:1000 name:PM_MRK_L1_RELOAD_VALID_GRP116 : (Group 116 pm_mrk_grp2) Marked L1 reload data source valid
+event:0X743 counters:3 um:zero minimum:1000 name:PM_MRK_GRP_IC_MISS_GRP116 : (Group 116 pm_mrk_grp2) Group experienced marked I cache miss
+event:0X744 counters:4 um:zero minimum:10000 name:PM_INST_CMPL_GRP116 : (Group 116 pm_mrk_grp2) Instructions completed
+event:0X745 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP116 : (Group 116 pm_mrk_grp2) Run cycles
+
+#Group 117 pm_mrk_dsource1, Marked data from
+event:0X750 counters:0 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L2_GRP117 : (Group 117 pm_mrk_dsource1) Marked data loaded from L2
+event:0X751 counters:1 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L2_CYC_GRP117 : (Group 117 pm_mrk_dsource1) Marked load latency from L2
+event:0X752 counters:2 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L25_MOD_GRP117 : (Group 117 pm_mrk_dsource1) Marked data loaded from L2.5 modified
+event:0X753 counters:3 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L25_MOD_CYC_GRP117 : (Group 117 pm_mrk_dsource1) Marked load latency from L2.5 modified
+event:0X754 counters:4 um:zero minimum:10000 name:PM_INST_CMPL_GRP117 : (Group 117 pm_mrk_dsource1) Instructions completed
+event:0X755 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP117 : (Group 117 pm_mrk_dsource1) Run cycles
+
+#Group 118 pm_mrk_dsource2, Marked data from
+event:0X760 counters:0 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L25_SHR_GRP118 : (Group 118 pm_mrk_dsource2) Marked data loaded from L2.5 shared
+event:0X761 counters:1 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L25_SHR_CYC_GRP118 : (Group 118 pm_mrk_dsource2) Marked load latency from L2.5 shared
+event:0X762 counters:2 um:zero minimum:1000 name:PM_IOPS_CMPL_GRP118 : (Group 118 pm_mrk_dsource2) IOPS instructions completed
+event:0X763 counters:3 um:zero minimum:1000 name:PM_FPU_FIN_GRP118 : (Group 118 pm_mrk_dsource2) FPU produced a result
+event:0X764 counters:4 um:zero minimum:10000 name:PM_INST_CMPL_GRP118 : (Group 118 pm_mrk_dsource2) Instructions completed
+event:0X765 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP118 : (Group 118 pm_mrk_dsource2) Run cycles
+
+#Group 119 pm_mrk_dsource3, Marked data from
+event:0X770 counters:0 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L3_GRP119 : (Group 119 pm_mrk_dsource3) Marked data loaded from L3
+event:0X771 counters:1 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L3_CYC_GRP119 : (Group 119 pm_mrk_dsource3) Marked load latency from L3
+event:0X772 counters:2 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L35_MOD_GRP119 : (Group 119 pm_mrk_dsource3) Marked data loaded from L3.5 modified
+event:0X773 counters:3 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L35_MOD_CYC_GRP119 : (Group 119 pm_mrk_dsource3) Marked load latency from L3.5 modified
+event:0X774 counters:4 um:zero minimum:10000 name:PM_INST_CMPL_GRP119 : (Group 119 pm_mrk_dsource3) Instructions completed
+event:0X775 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP119 : (Group 119 pm_mrk_dsource3) Run cycles
+
+#Group 120 pm_mrk_dsource4, Marked data from
+event:0X780 counters:0 um:zero minimum:1000 name:PM_MRK_DATA_FROM_RMEM_GRP120 : (Group 120 pm_mrk_dsource4) Marked data loaded from remote memory
+event:0X781 counters:1 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L275_SHR_CYC_GRP120 : (Group 120 pm_mrk_dsource4) Marked load latency from L2.75 shared
+event:0X782 counters:2 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L275_SHR_GRP120 : (Group 120 pm_mrk_dsource4) Marked data loaded from L2.75 shared
+event:0X783 counters:3 um:zero minimum:1000 name:PM_MRK_DATA_FROM_RMEM_CYC_GRP120 : (Group 120 pm_mrk_dsource4) Marked load latency from remote memory
+event:0X784 counters:4 um:zero minimum:10000 name:PM_INST_CMPL_GRP120 : (Group 120 pm_mrk_dsource4) Instructions completed
+event:0X785 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP120 : (Group 120 pm_mrk_dsource4) Run cycles
+
+#Group 121 pm_mrk_dsource5, Marked data from
+event:0X790 counters:0 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L35_SHR_GRP121 : (Group 121 pm_mrk_dsource5) Marked data loaded from L3.5 shared
+event:0X791 counters:1 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L35_SHR_CYC_GRP121 : (Group 121 pm_mrk_dsource5) Marked load latency from L3.5 shared
+event:0X792 counters:2 um:zero minimum:1000 name:PM_MRK_DATA_FROM_LMEM_GRP121 : (Group 121 pm_mrk_dsource5) Marked data loaded from local memory
+event:0X793 counters:3 um:zero minimum:1000 name:PM_MRK_DATA_FROM_LMEM_CYC_GRP121 : (Group 121 pm_mrk_dsource5) Marked load latency from local memory
+event:0X794 counters:4 um:zero minimum:10000 name:PM_INST_CMPL_GRP121 : (Group 121 pm_mrk_dsource5) Instructions completed
+event:0X795 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP121 : (Group 121 pm_mrk_dsource5) Run cycles
+
+#Group 122 pm_mrk_dsource6, Marked data from
+event:0X7A0 counters:0 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L275_MOD_GRP122 : (Group 122 pm_mrk_dsource6) Marked data loaded from L2.75 modified
+event:0X7A1 counters:1 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L275_SHR_CYC_GRP122 : (Group 122 pm_mrk_dsource6) Marked load latency from L2.75 shared
+event:0X7A2 counters:2 um:zero minimum:1000 name:PM_IOPS_CMPL_GRP122 : (Group 122 pm_mrk_dsource6) IOPS instructions completed
+event:0X7A3 counters:3 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L275_MOD_CYC_GRP122 : (Group 122 pm_mrk_dsource6) Marked load latency from L2.75 modified
+event:0X7A4 counters:4 um:zero minimum:10000 name:PM_INST_CMPL_GRP122 : (Group 122 pm_mrk_dsource6) Instructions completed
+event:0X7A5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP122 : (Group 122 pm_mrk_dsource6) Run cycles
+
+#Group 123 pm_mrk_dsource7, Marked data from
+event:0X7B0 counters:0 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L375_MOD_GRP123 : (Group 123 pm_mrk_dsource7) Marked data loaded from L3.75 modified
+event:0X7B1 counters:1 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L375_SHR_CYC_GRP123 : (Group 123 pm_mrk_dsource7) Marked load latency from L3.75 shared
+event:0X7B2 counters:2 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L375_SHR_GRP123 : (Group 123 pm_mrk_dsource7) Marked data loaded from L3.75 shared
+event:0X7B3 counters:3 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L375_MOD_CYC_GRP123 : (Group 123 pm_mrk_dsource7) Marked load latency from L3.75 modified
+event:0X7B4 counters:4 um:zero minimum:10000 name:PM_INST_CMPL_GRP123 : (Group 123 pm_mrk_dsource7) Instructions completed
+event:0X7B5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP123 : (Group 123 pm_mrk_dsource7) Run cycles
+
+#Group 124 pm_mrk_lbmiss, Marked TLB and SLB misses
+event:0X7C0 counters:0 um:zero minimum:1000 name:PM_MRK_DTLB_MISS_4K_GRP124 : (Group 124 pm_mrk_lbmiss) Marked Data TLB misses for 4K page
+event:0X7C1 counters:1 um:zero minimum:1000 name:PM_MRK_DTLB_MISS_16M_GRP124 : (Group 124 pm_mrk_lbmiss) Marked Data TLB misses for 16M page
+event:0X7C2 counters:2 um:zero minimum:1000 name:PM_MRK_DTLB_MISS_GRP124 : (Group 124 pm_mrk_lbmiss) Marked Data TLB misses
+event:0X7C3 counters:3 um:zero minimum:1000 name:PM_MRK_DSLB_MISS_GRP124 : (Group 124 pm_mrk_lbmiss) Marked Data SLB misses
+event:0X7C4 counters:4 um:zero minimum:10000 name:PM_INST_CMPL_GRP124 : (Group 124 pm_mrk_lbmiss) Instructions completed
+event:0X7C5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP124 : (Group 124 pm_mrk_lbmiss) Run cycles
+
+#Group 125 pm_mrk_lbref, Marked TLB and SLB references
+event:0X7D0 counters:0 um:zero minimum:1000 name:PM_MRK_DTLB_REF_4K_GRP125 : (Group 125 pm_mrk_lbref) Marked Data TLB reference for 4K page
+event:0X7D1 counters:1 um:zero minimum:1000 name:PM_MRK_DTLB_REF_16M_GRP125 : (Group 125 pm_mrk_lbref) Marked Data TLB reference for 16M page
+event:0X7D2 counters:2 um:zero minimum:1000 name:PM_IOPS_CMPL_GRP125 : (Group 125 pm_mrk_lbref) IOPS instructions completed
+event:0X7D3 counters:3 um:zero minimum:1000 name:PM_MRK_DSLB_MISS_GRP125 : (Group 125 pm_mrk_lbref) Marked Data SLB misses
+event:0X7D4 counters:4 um:zero minimum:10000 name:PM_INST_CMPL_GRP125 : (Group 125 pm_mrk_lbref) Instructions completed
+event:0X7D5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP125 : (Group 125 pm_mrk_lbref) Run cycles
+
+#Group 126 pm_mrk_lsmiss, Marked load and store miss
+event:0X7E0 counters:0 um:zero minimum:1000 name:PM_MRK_LD_MISS_L1_GRP126 : (Group 126 pm_mrk_lsmiss) Marked L1 D cache load misses
+event:0X7E1 counters:1 um:zero minimum:1000 name:PM_IOPS_CMPL_GRP126 : (Group 126 pm_mrk_lsmiss) IOPS instructions completed
+event:0X7E2 counters:2 um:zero minimum:1000 name:PM_MRK_ST_CMPL_INT_GRP126 : (Group 126 pm_mrk_lsmiss) Marked store completed with intervention
+event:0X7E3 counters:3 um:zero minimum:1000 name:PM_MRK_CRU_FIN_GRP126 : (Group 126 pm_mrk_lsmiss) Marked instruction CRU processing finished
+event:0X7E4 counters:4 um:zero minimum:10000 name:PM_INST_CMPL_GRP126 : (Group 126 pm_mrk_lsmiss) Instructions completed
+event:0X7E5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP126 : (Group 126 pm_mrk_lsmiss) Run cycles
+
+#Group 127 pm_mrk_ulsflush, Mark unaligned load and store flushes
+event:0X7F0 counters:0 um:zero minimum:1000 name:PM_MRK_ST_CMPL_GRP127 : (Group 127 pm_mrk_ulsflush) Marked store instruction completed
+event:0X7F1 counters:1 um:zero minimum:1000 name:PM_MRK_ST_MISS_L1_GRP127 : (Group 127 pm_mrk_ulsflush) Marked L1 D cache store misses
+event:0X7F2 counters:2 um:zero minimum:1000 name:PM_MRK_LSU_FLUSH_UST_GRP127 : (Group 127 pm_mrk_ulsflush) Marked unaligned store flushes
+event:0X7F3 counters:3 um:zero minimum:1000 name:PM_MRK_LSU_FLUSH_ULD_GRP127 : (Group 127 pm_mrk_ulsflush) Marked unaligned load flushes
+event:0X7F4 counters:4 um:zero minimum:10000 name:PM_INST_CMPL_GRP127 : (Group 127 pm_mrk_ulsflush) Instructions completed
+event:0X7F5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP127 : (Group 127 pm_mrk_ulsflush) Run cycles
+
+#Group 128 pm_mrk_misc, Misc marked instructions
+event:0X800 counters:0 um:zero minimum:1000 name:PM_MRK_STCX_FAIL_GRP128 : (Group 128 pm_mrk_misc) Marked STCX failed
+event:0X801 counters:1 um:zero minimum:1000 name:PM_MRK_ST_GPS_GRP128 : (Group 128 pm_mrk_misc) Marked store sent to GPS
+event:0X802 counters:2 um:zero minimum:1000 name:PM_MRK_FPU_FIN_GRP128 : (Group 128 pm_mrk_misc) Marked instruction FPU processing finished
+event:0X803 counters:3 um:zero minimum:1000 name:PM_MRK_GRP_TIMEO_GRP128 : (Group 128 pm_mrk_misc) Marked group completion timeout
+event:0X804 counters:4 um:zero minimum:10000 name:PM_INST_CMPL_GRP128 : (Group 128 pm_mrk_misc) Instructions completed
+event:0X805 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP128 : (Group 128 pm_mrk_misc) Run cycles
+
+#Group 129 pm_lsref_L1, Load/Store operations and L1 activity
+event:0X810 counters:0 um:zero minimum:1000 name:PM_DATA_FROM_L2_GRP129 : (Group 129 pm_lsref_L1) Data loaded from L2
+event:0X811 counters:1 um:zero minimum:1000 name:PM_INST_FROM_L1_GRP129 : (Group 129 pm_lsref_L1) Instruction fetched from L1
+event:0X812 counters:2 um:zero minimum:1000 name:PM_ST_REF_L1_GRP129 : (Group 129 pm_lsref_L1) L1 D cache store references
+event:0X813 counters:3 um:zero minimum:1000 name:PM_LD_REF_L1_GRP129 : (Group 129 pm_lsref_L1) L1 D cache load references
+event:0X814 counters:4 um:zero minimum:10000 name:PM_INST_CMPL_GRP129 : (Group 129 pm_lsref_L1) Instructions completed
+event:0X815 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP129 : (Group 129 pm_lsref_L1) Run cycles
+
+#Group 130 pm_lsref_L2L3, Load/Store operations and L2,L3 activity
+event:0X820 counters:0 um:zero minimum:1000 name:PM_DATA_FROM_L3_GRP130 : (Group 130 pm_lsref_L2L3) Data loaded from L3
+event:0X821 counters:1 um:zero minimum:1000 name:PM_DATA_FROM_LMEM_GRP130 : (Group 130 pm_lsref_L2L3) Data loaded from local memory
+event:0X822 counters:2 um:zero minimum:1000 name:PM_ST_REF_L1_GRP130 : (Group 130 pm_lsref_L2L3) L1 D cache store references
+event:0X823 counters:3 um:zero minimum:1000 name:PM_LD_REF_L1_GRP130 : (Group 130 pm_lsref_L2L3) L1 D cache load references
+event:0X824 counters:4 um:zero minimum:10000 name:PM_INST_CMPL_GRP130 : (Group 130 pm_lsref_L2L3) Instructions completed
+event:0X825 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP130 : (Group 130 pm_lsref_L2L3) Run cycles
+
+#Group 131 pm_lsref_tlbmiss, Load/Store operations and TLB misses
+event:0X830 counters:0 um:zero minimum:1000 name:PM_ITLB_MISS_GRP131 : (Group 131 pm_lsref_tlbmiss) Instruction TLB misses
+event:0X831 counters:1 um:zero minimum:1000 name:PM_DTLB_MISS_GRP131 : (Group 131 pm_lsref_tlbmiss) Data TLB misses
+event:0X832 counters:2 um:zero minimum:1000 name:PM_ST_REF_L1_GRP131 : (Group 131 pm_lsref_tlbmiss) L1 D cache store references
+event:0X833 counters:3 um:zero minimum:1000 name:PM_LD_REF_L1_GRP131 : (Group 131 pm_lsref_tlbmiss) L1 D cache load references
+event:0X834 counters:4 um:zero minimum:10000 name:PM_INST_CMPL_GRP131 : (Group 131 pm_lsref_tlbmiss) Instructions completed
+event:0X835 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP131 : (Group 131 pm_lsref_tlbmiss) Run cycles
+
+#Group 132 pm_Dmiss, Data cache misses
+event:0X840 counters:0 um:zero minimum:1000 name:PM_DATA_FROM_L3_GRP132 : (Group 132 pm_Dmiss) Data loaded from L3
+event:0X841 counters:1 um:zero minimum:1000 name:PM_DATA_FROM_LMEM_GRP132 : (Group 132 pm_Dmiss) Data loaded from local memory
+event:0X842 counters:2 um:zero minimum:1000 name:PM_LD_MISS_L1_GRP132 : (Group 132 pm_Dmiss) L1 D cache load misses
+event:0X843 counters:3 um:zero minimum:1000 name:PM_ST_MISS_L1_GRP132 : (Group 132 pm_Dmiss) L1 D cache store misses
+event:0X844 counters:4 um:zero minimum:10000 name:PM_INST_CMPL_GRP132 : (Group 132 pm_Dmiss) Instructions completed
+event:0X845 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP132 : (Group 132 pm_Dmiss) Run cycles
+
+#Group 133 pm_prefetchX, Prefetch events
+event:0X850 counters:0 um:zero minimum:10000 name:PM_CYC_GRP133 : (Group 133 pm_prefetchX) Processor cycles
+event:0X851 counters:1 um:zero minimum:1000 name:PM_IC_PREF_REQ_GRP133 : (Group 133 pm_prefetchX) Instruction prefetch requests
+event:0X852 counters:2 um:zero minimum:1000 name:PM_L1_PREF_GRP133 : (Group 133 pm_prefetchX) L1 cache data prefetches
+event:0X853 counters:3 um:zero minimum:1000 name:PM_L2_PREF_GRP133 : (Group 133 pm_prefetchX) L2 cache prefetches
+event:0X854 counters:4 um:zero minimum:10000 name:PM_INST_CMPL_GRP133 : (Group 133 pm_prefetchX) Instructions completed
+event:0X855 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP133 : (Group 133 pm_prefetchX) Run cycles
+
+#Group 134 pm_branchX, Branch operations
+event:0X860 counters:0 um:zero minimum:1000 name:PM_BR_UNCOND_GRP134 : (Group 134 pm_branchX) Unconditional branch
+event:0X861 counters:1 um:zero minimum:1000 name:PM_BR_PRED_TA_GRP134 : (Group 134 pm_branchX) A conditional branch was predicted, target prediction
+event:0X862 counters:2 um:zero minimum:1000 name:PM_BR_PRED_CR_GRP134 : (Group 134 pm_branchX) A conditional branch was predicted, CR prediction
+event:0X863 counters:3 um:zero minimum:1000 name:PM_BR_ISSUED_GRP134 : (Group 134 pm_branchX) Branches issued
+event:0X864 counters:4 um:zero minimum:10000 name:PM_INST_CMPL_GRP134 : (Group 134 pm_branchX) Instructions completed
+event:0X865 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP134 : (Group 134 pm_branchX) Run cycles
+
+#Group 135 pm_fpuX1, Floating point events by unit
+event:0X870 counters:0 um:zero minimum:1000 name:PM_FPU0_STALL3_GRP135 : (Group 135 pm_fpuX1) FPU0 stalled in pipe3
+event:0X871 counters:1 um:zero minimum:1000 name:PM_FPU1_STALL3_GRP135 : (Group 135 pm_fpuX1) FPU1 stalled in pipe3
+event:0X872 counters:2 um:zero minimum:1000 name:PM_FPU0_FIN_GRP135 : (Group 135 pm_fpuX1) FPU0 produced a result
+event:0X873 counters:3 um:zero minimum:1000 name:PM_FPU0_FPSCR_GRP135 : (Group 135 pm_fpuX1) FPU0 executed FPSCR instruction
+event:0X874 counters:4 um:zero minimum:10000 name:PM_INST_CMPL_GRP135 : (Group 135 pm_fpuX1) Instructions completed
+event:0X875 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP135 : (Group 135 pm_fpuX1) Run cycles
+
+#Group 136 pm_fpuX2, Floating point events by unit
+event:0X880 counters:0 um:zero minimum:1000 name:PM_FPU0_FMA_GRP136 : (Group 136 pm_fpuX2) FPU0 executed multiply-add instruction
+event:0X881 counters:1 um:zero minimum:1000 name:PM_FPU1_FMA_GRP136 : (Group 136 pm_fpuX2) FPU1 executed multiply-add instruction
+event:0X882 counters:2 um:zero minimum:1000 name:PM_FPU0_FRSP_FCONV_GRP136 : (Group 136 pm_fpuX2) FPU0 executed FRSP or FCONV instructions
+event:0X883 counters:3 um:zero minimum:1000 name:PM_FPU1_FRSP_FCONV_GRP136 : (Group 136 pm_fpuX2) FPU1 executed FRSP or FCONV instructions
+event:0X884 counters:4 um:zero minimum:10000 name:PM_INST_CMPL_GRP136 : (Group 136 pm_fpuX2) Instructions completed
+event:0X885 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP136 : (Group 136 pm_fpuX2) Run cycles
+
+#Group 137 pm_fpuX3, Floating point events by unit
+event:0X890 counters:0 um:zero minimum:1000 name:PM_FPU0_1FLOP_GRP137 : (Group 137 pm_fpuX3) FPU0 executed add, mult, sub, cmp or sel instruction
+event:0X891 counters:1 um:zero minimum:1000 name:PM_FPU1_1FLOP_GRP137 : (Group 137 pm_fpuX3) FPU1 executed add, mult, sub, cmp or sel instruction
+event:0X892 counters:2 um:zero minimum:1000 name:PM_FPU0_FIN_GRP137 : (Group 137 pm_fpuX3) FPU0 produced a result
+event:0X893 counters:3 um:zero minimum:1000 name:PM_FPU1_FIN_GRP137 : (Group 137 pm_fpuX3) FPU1 produced a result
+event:0X894 counters:4 um:zero minimum:10000 name:PM_INST_CMPL_GRP137 : (Group 137 pm_fpuX3) Instructions completed
+event:0X895 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP137 : (Group 137 pm_fpuX3) Run cycles
+
+#Group 138 pm_fpuX4, Floating point and L1 events
+event:0X8A0 counters:0 um:zero minimum:1000 name:PM_FPU_1FLOP_GRP138 : (Group 138 pm_fpuX4) FPU executed one flop instruction
+event:0X8A1 counters:1 um:zero minimum:1000 name:PM_FPU_FMA_GRP138 : (Group 138 pm_fpuX4) FPU executed multiply-add instruction
+event:0X8A2 counters:2 um:zero minimum:1000 name:PM_ST_REF_L1_GRP138 : (Group 138 pm_fpuX4) L1 D cache store references
+event:0X8A3 counters:3 um:zero minimum:1000 name:PM_LD_REF_L1_GRP138 : (Group 138 pm_fpuX4) L1 D cache load references
+event:0X8A4 counters:4 um:zero minimum:10000 name:PM_INST_CMPL_GRP138 : (Group 138 pm_fpuX4) Instructions completed
+event:0X8A5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP138 : (Group 138 pm_fpuX4) Run cycles
+
+#Group 139 pm_fpuX5, Floating point events
+event:0X8B0 counters:0 um:zero minimum:1000 name:PM_FPU_SINGLE_GRP139 : (Group 139 pm_fpuX5) FPU executed single precision instruction
+event:0X8B1 counters:1 um:zero minimum:1000 name:PM_FPU_STF_GRP139 : (Group 139 pm_fpuX5) FPU executed store instruction
+event:0X8B2 counters:2 um:zero minimum:1000 name:PM_FPU0_FIN_GRP139 : (Group 139 pm_fpuX5) FPU0 produced a result
+event:0X8B3 counters:3 um:zero minimum:1000 name:PM_FPU1_FIN_GRP139 : (Group 139 pm_fpuX5) FPU1 produced a result
+event:0X8B4 counters:4 um:zero minimum:10000 name:PM_INST_CMPL_GRP139 : (Group 139 pm_fpuX5) Instructions completed
+event:0X8B5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP139 : (Group 139 pm_fpuX5) Run cycles
+
+#Group 140 pm_fpuX6, Floating point events
+event:0X8C0 counters:0 um:zero minimum:1000 name:PM_FPU_FDIV_GRP140 : (Group 140 pm_fpuX6) FPU executed FDIV instruction
+event:0X8C1 counters:1 um:zero minimum:1000 name:PM_FPU_FSQRT_GRP140 : (Group 140 pm_fpuX6) FPU executed FSQRT instruction
+event:0X8C2 counters:2 um:zero minimum:1000 name:PM_FPU_FRSP_FCONV_GRP140 : (Group 140 pm_fpuX6) FPU executed FRSP or FCONV instructions
+event:0X8C3 counters:3 um:zero minimum:1000 name:PM_FPU_FIN_GRP140 : (Group 140 pm_fpuX6) FPU produced a result
+event:0X8C4 counters:4 um:zero minimum:10000 name:PM_INST_CMPL_GRP140 : (Group 140 pm_fpuX6) Instructions completed
+event:0X8C5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP140 : (Group 140 pm_fpuX6) Run cycles
+
+#Group 141 pm_hpmcount1, HPM group for set 1
+event:0X8D0 counters:0 um:zero minimum:1000 name:PM_FPU_1FLOP_GRP141 : (Group 141 pm_hpmcount1) FPU executed one flop instruction
+event:0X8D1 counters:1 um:zero minimum:10000 name:PM_CYC_GRP141 : (Group 141 pm_hpmcount1) Processor cycles
+event:0X8D2 counters:2 um:zero minimum:1000 name:PM_MRK_FPU_FIN_GRP141 : (Group 141 pm_hpmcount1) Marked instruction FPU processing finished
+event:0X8D3 counters:3 um:zero minimum:1000 name:PM_FPU_FIN_GRP141 : (Group 141 pm_hpmcount1) FPU produced a result
+event:0X8D4 counters:4 um:zero minimum:10000 name:PM_INST_CMPL_GRP141 : (Group 141 pm_hpmcount1) Instructions completed
+event:0X8D5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP141 : (Group 141 pm_hpmcount1) Run cycles
+
+#Group 142 pm_hpmcount2, HPM group for set 2
+event:0X8E0 counters:0 um:zero minimum:10000 name:PM_CYC_GRP142 : (Group 142 pm_hpmcount2) Processor cycles
+event:0X8E1 counters:1 um:zero minimum:1000 name:PM_FPU_STF_GRP142 : (Group 142 pm_hpmcount2) FPU executed store instruction
+event:0X8E2 counters:2 um:zero minimum:1000 name:PM_INST_DISP_GRP142 : (Group 142 pm_hpmcount2) Instructions dispatched
+event:0X8E3 counters:3 um:zero minimum:1000 name:PM_LSU_LDF_GRP142 : (Group 142 pm_hpmcount2) LSU executed Floating Point load instruction
+event:0X8E4 counters:4 um:zero minimum:10000 name:PM_INST_CMPL_GRP142 : (Group 142 pm_hpmcount2) Instructions completed
+event:0X8E5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP142 : (Group 142 pm_hpmcount2) Run cycles
+
+#Group 143 pm_hpmcount3, HPM group for set 3
+event:0X8F0 counters:0 um:zero minimum:10000 name:PM_CYC_GRP143 : (Group 143 pm_hpmcount3) Processor cycles
+event:0X8F1 counters:1 um:zero minimum:1000 name:PM_INST_DISP_ATTEMPT_GRP143 : (Group 143 pm_hpmcount3) Instructions dispatch attempted
+event:0X8F2 counters:2 um:zero minimum:1000 name:PM_LD_MISS_L1_GRP143 : (Group 143 pm_hpmcount3) L1 D cache load misses
+event:0X8F3 counters:3 um:zero minimum:1000 name:PM_ST_MISS_L1_GRP143 : (Group 143 pm_hpmcount3) L1 D cache store misses
+event:0X8F4 counters:4 um:zero minimum:10000 name:PM_INST_CMPL_GRP143 : (Group 143 pm_hpmcount3) Instructions completed
+event:0X8F5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP143 : (Group 143 pm_hpmcount3) Run cycles
+
+#Group 144 pm_hpmcount4, HPM group for set 7
+event:0X900 counters:0 um:zero minimum:1000 name:PM_TLB_MISS_GRP144 : (Group 144 pm_hpmcount4) TLB misses
+event:0X901 counters:1 um:zero minimum:10000 name:PM_CYC_GRP144 : (Group 144 pm_hpmcount4) Processor cycles
+event:0X902 counters:2 um:zero minimum:1000 name:PM_ST_REF_L1_GRP144 : (Group 144 pm_hpmcount4) L1 D cache store references
+event:0X903 counters:3 um:zero minimum:1000 name:PM_LD_REF_L1_GRP144 : (Group 144 pm_hpmcount4) L1 D cache load references
+event:0X904 counters:4 um:zero minimum:10000 name:PM_INST_CMPL_GRP144 : (Group 144 pm_hpmcount4) Instructions completed
+event:0X905 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP144 : (Group 144 pm_hpmcount4) Run cycles
+
+#Group 145 pm_hpmcount5, HPM group for set 9
+event:0X910 counters:0 um:zero minimum:10000 name:PM_CYC_GRP145 : (Group 145 pm_hpmcount5) Processor cycles
+event:0X911 counters:1 um:zero minimum:1000 name:PM_MRK_FXU_FIN_GRP145 : (Group 145 pm_hpmcount5) Marked instruction FXU processing finished
+event:0X912 counters:2 um:zero minimum:1000 name:PM_FXU_FIN_GRP145 : (Group 145 pm_hpmcount5) FXU produced a result
+event:0X913 counters:3 um:zero minimum:1000 name:PM_FXU0_FIN_GRP145 : (Group 145 pm_hpmcount5) FXU0 produced a result
+event:0X914 counters:4 um:zero minimum:10000 name:PM_INST_CMPL_GRP145 : (Group 145 pm_hpmcount5) Instructions completed
+event:0X915 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP145 : (Group 145 pm_hpmcount5) Run cycles
+
+#Group 146 pm_eprof1, Group for use with eprof
+event:0X920 counters:0 um:zero minimum:10000 name:PM_INST_CMPL_GRP146 : (Group 146 pm_eprof1) Instructions completed
+event:0X921 counters:1 um:zero minimum:10000 name:PM_CYC_GRP146 : (Group 146 pm_eprof1) Processor cycles
+event:0X922 counters:2 um:zero minimum:1000 name:PM_LD_MISS_L1_GRP146 : (Group 146 pm_eprof1) L1 D cache load misses
+event:0X923 counters:3 um:zero minimum:1000 name:PM_DC_INV_L2_GRP146 : (Group 146 pm_eprof1) L1 D cache entries invalidated from L2
+event:0X924 counters:4 um:zero minimum:10000 name:PM_INST_CMPL_GRP146 : (Group 146 pm_eprof1) Instructions completed
+event:0X925 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP146 : (Group 146 pm_eprof1) Run cycles
+
+#Group 147 pm_eprof2, Group for use with eprof
+event:0X930 counters:0 um:zero minimum:1000 name:PM_MRK_LD_MISS_L1_GRP147 : (Group 147 pm_eprof2) Marked L1 D cache load misses
+event:0X931 counters:1 um:zero minimum:10000 name:PM_INST_CMPL_GRP147 : (Group 147 pm_eprof2) Instructions completed
+event:0X932 counters:2 um:zero minimum:1000 name:PM_ST_REF_L1_GRP147 : (Group 147 pm_eprof2) L1 D cache store references
+event:0X933 counters:3 um:zero minimum:1000 name:PM_LD_REF_L1_GRP147 : (Group 147 pm_eprof2) L1 D cache load references
+event:0X934 counters:4 um:zero minimum:10000 name:PM_INST_CMPL_GRP147 : (Group 147 pm_eprof2) Instructions completed
+event:0X935 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP147 : (Group 147 pm_eprof2) Run cycles
+
+#Group 148 pm_eprof3, Group for use with eprof
+event:0X940 counters:0 um:zero minimum:1000 name:PM_MRK_ST_MISS_L1_GRP148 : (Group 148 pm_eprof3) Marked L1 D cache store misses
+event:0X941 counters:1 um:zero minimum:10000 name:PM_INST_CMPL_GRP148 : (Group 148 pm_eprof3) Instructions completed
+event:0X942 counters:2 um:zero minimum:1000 name:PM_INST_DISP_GRP148 : (Group 148 pm_eprof3) Instructions dispatched
+event:0X943 counters:3 um:zero minimum:1000 name:PM_ST_MISS_L1_GRP148 : (Group 148 pm_eprof3) L1 D cache store misses
+event:0X944 counters:4 um:zero minimum:10000 name:PM_INST_CMPL_GRP148 : (Group 148 pm_eprof3) Instructions completed
+event:0X945 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP148 : (Group 148 pm_eprof3) Run cycles
diff --git a/events/ppc64/power5/unit_masks b/events/ppc64/power5/unit_masks
new file mode 100644
index 0000000..b2e5f30
--- /dev/null
+++ b/events/ppc64/power5/unit_masks
@@ -0,0 +1,4 @@
+# ppc64 POWER5 possible unit masks
+#
+name:zero type:mandatory default:0x0
+ 0x0 No unit mask
diff --git a/events/ppc64/power6/event_mappings b/events/ppc64/power6/event_mappings
new file mode 100644
index 0000000..0d627b3
--- /dev/null
+++ b/events/ppc64/power6/event_mappings
@@ -0,0 +1,1201 @@
+#
+# Copyright OProfile authors
+# Copyright (c) International Business Machines, 2007.
+# Contributed by Dave Nomura <dcnltc@us.ibm.com>.
+#
+#Mapping of event groups to MMCR values
+
+
+#Group Default
+event:0X001 mmcr0:0X00000000 mmcr1:0X000000000A02121E mmcra:0X00000000
+
+#Group 0 with random sampling
+event:0X002 mmcr0:0X00000000 mmcr1:0X000000001E1E021A mmcra:0X00000001
+
+#Group 1 pm_utilization, CPI and utilization data
+event:0X0010 mmcr0:0X00000000 mmcr1:0X000000000A02121E mmcra:0X00000000
+event:0X0011 mmcr0:0X00000000 mmcr1:0X000000000A02121E mmcra:0X00000000
+event:0X0012 mmcr0:0X00000000 mmcr1:0X000000000A02121E mmcra:0X00000000
+event:0X0013 mmcr0:0X00000000 mmcr1:0X000000000A02121E mmcra:0X00000000
+
+#Group 2 pm_utilization_capacity, CPU utilization and capacity
+event:0X0020 mmcr0:0X00000000 mmcr1:0X00000000FA1EF4F4 mmcra:0X00000000
+event:0X0021 mmcr0:0X00000000 mmcr1:0X00000000FA1EF4F4 mmcra:0X00000000
+event:0X0022 mmcr0:0X00000000 mmcr1:0X00000000FA1EF4F4 mmcra:0X00000000
+event:0X0023 mmcr0:0X00000000 mmcr1:0X00000000FA1EF4F4 mmcra:0X00000000
+
+#Group 3 pm_branch, Branch operations
+event:0X0030 mmcr0:0X00000000 mmcr1:0X04000000A2A8808A mmcra:0X00000000
+event:0X0031 mmcr0:0X00000000 mmcr1:0X04000000A2A8808A mmcra:0X00000000
+event:0X0032 mmcr0:0X00000000 mmcr1:0X04000000A2A8808A mmcra:0X00000000
+event:0X0033 mmcr0:0X00000000 mmcr1:0X04000000A2A8808A mmcra:0X00000000
+
+#Group 4 pm_branch2, Branch operations
+event:0X0040 mmcr0:0X00000000 mmcr1:0X04000000A4A68E8C mmcra:0X00000000
+event:0X0041 mmcr0:0X00000000 mmcr1:0X04000000A4A68E8C mmcra:0X00000000
+event:0X0042 mmcr0:0X00000000 mmcr1:0X04000000A4A68E8C mmcra:0X00000000
+event:0X0043 mmcr0:0X00000000 mmcr1:0X04000000A4A68E8C mmcra:0X00000000
+
+#Group 5 pm_branch3, Branch operations
+event:0X0050 mmcr0:0X00000000 mmcr1:0X04000000A0A28486 mmcra:0X00000000
+event:0X0051 mmcr0:0X00000000 mmcr1:0X04000000A0A28486 mmcra:0X00000000
+event:0X0052 mmcr0:0X00000000 mmcr1:0X04000000A0A28486 mmcra:0X00000000
+event:0X0053 mmcr0:0X00000000 mmcr1:0X04000000A0A28486 mmcra:0X00000000
+
+#Group 6 pm_branch4, Branch operations
+event:0X0060 mmcr0:0X00000000 mmcr1:0X04000000A8AA8C8E mmcra:0X00000000
+event:0X0061 mmcr0:0X00000000 mmcr1:0X04000000A8AA8C8E mmcra:0X00000000
+event:0X0062 mmcr0:0X00000000 mmcr1:0X04000000A8AA8C8E mmcra:0X00000000
+event:0X0063 mmcr0:0X00000000 mmcr1:0X04000000A8AA8C8E mmcra:0X00000000
+
+#Group 7 pm_branch5, Branch operations
+event:0X0070 mmcr0:0X00000000 mmcr1:0X04040000A052C652 mmcra:0X00000000
+event:0X0071 mmcr0:0X00000000 mmcr1:0X04040000A052C652 mmcra:0X00000000
+event:0X0072 mmcr0:0X00000000 mmcr1:0X04040000A052C652 mmcra:0X00000000
+event:0X0073 mmcr0:0X00000000 mmcr1:0X04040000A052C652 mmcra:0X00000000
+
+#Group 8 pm_dsource, Data source
+event:0X0080 mmcr0:0X00000000 mmcr1:0X0000000058585656 mmcra:0X00000000
+event:0X0081 mmcr0:0X00000000 mmcr1:0X0000000058585656 mmcra:0X00000000
+event:0X0082 mmcr0:0X00000000 mmcr1:0X0000000058585656 mmcra:0X00000000
+event:0X0083 mmcr0:0X00000000 mmcr1:0X0000000058585656 mmcra:0X00000000
+
+#Group 9 pm_dsource2, Data sources
+event:0X0090 mmcr0:0X00000000 mmcr1:0X000000005A5A5856 mmcra:0X00000000
+event:0X0091 mmcr0:0X00000000 mmcr1:0X000000005A5A5856 mmcra:0X00000000
+event:0X0092 mmcr0:0X00000000 mmcr1:0X000000005A5A5856 mmcra:0X00000000
+event:0X0093 mmcr0:0X00000000 mmcr1:0X000000005A5A5856 mmcra:0X00000000
+
+#Group 10 pm_dsource3, Data sources
+event:0X00A0 mmcr0:0X00000000 mmcr1:0X000000005A5A5A5A mmcra:0X00000000
+event:0X00A1 mmcr0:0X00000000 mmcr1:0X000000005A5A5A5A mmcra:0X00000000
+event:0X00A2 mmcr0:0X00000000 mmcr1:0X000000005A5A5A5A mmcra:0X00000000
+event:0X00A3 mmcr0:0X00000000 mmcr1:0X000000005A5A5A5A mmcra:0X00000000
+
+#Group 11 pm_dsource4, Data sources
+event:0X00B0 mmcr0:0X00000000 mmcr1:0X000000005C5C5C5C mmcra:0X00000000
+event:0X00B1 mmcr0:0X00000000 mmcr1:0X000000005C5C5C5C mmcra:0X00000000
+event:0X00B2 mmcr0:0X00000000 mmcr1:0X000000005C5C5C5C mmcra:0X00000000
+event:0X00B3 mmcr0:0X00000000 mmcr1:0X000000005C5C5C5C mmcra:0X00000000
+
+#Group 12 pm_dsource5, Data sources
+event:0X00C0 mmcr0:0X00000000 mmcr1:0X000000005E5E5E5E mmcra:0X00000000
+event:0X00C1 mmcr0:0X00000000 mmcr1:0X000000005E5E5E5E mmcra:0X00000000
+event:0X00C2 mmcr0:0X00000000 mmcr1:0X000000005E5E5E5E mmcra:0X00000000
+event:0X00C3 mmcr0:0X00000000 mmcr1:0X000000005E5E5E5E mmcra:0X00000000
+
+#Group 13 pm_dlatencies, Data latencies
+event:0X00D0 mmcr0:0X00000000 mmcr1:0X000000000C281E24 mmcra:0X00000000
+event:0X00D1 mmcr0:0X00000000 mmcr1:0X000000000C281E24 mmcra:0X00000000
+event:0X00D2 mmcr0:0X00000000 mmcr1:0X000000000C281E24 mmcra:0X00000000
+event:0X00D3 mmcr0:0X00000000 mmcr1:0X000000000C281E24 mmcra:0X00000000
+
+#Group 14 pm_dlatencies2, Data latencies
+event:0X00E0 mmcr0:0X00000000 mmcr1:0X00000000022C1E2A mmcra:0X00000000
+event:0X00E1 mmcr0:0X00000000 mmcr1:0X00000000022C1E2A mmcra:0X00000000
+event:0X00E2 mmcr0:0X00000000 mmcr1:0X00000000022C1E2A mmcra:0X00000000
+event:0X00E3 mmcr0:0X00000000 mmcr1:0X00000000022C1E2A mmcra:0X00000000
+
+#Group 15 pm_dlatencies3, Data latencies
+event:0X00F0 mmcr0:0X00000000 mmcr1:0X00000000022E5E2C mmcra:0X00000000
+event:0X00F1 mmcr0:0X00000000 mmcr1:0X00000000022E5E2C mmcra:0X00000000
+event:0X00F2 mmcr0:0X00000000 mmcr1:0X00000000022E5E2C mmcra:0X00000000
+event:0X00F3 mmcr0:0X00000000 mmcr1:0X00000000022E5E2C mmcra:0X00000000
+
+#Group 16 pm_dlatencies4, Data latencies
+event:0X0100 mmcr0:0X00000000 mmcr1:0X000000005A2A5C26 mmcra:0X00000000
+event:0X0101 mmcr0:0X00000000 mmcr1:0X000000005A2A5C26 mmcra:0X00000000
+event:0X0102 mmcr0:0X00000000 mmcr1:0X000000005A2A5C26 mmcra:0X00000000
+event:0X0103 mmcr0:0X00000000 mmcr1:0X000000005A2A5C26 mmcra:0X00000000
+
+#Group 17 pm_dlatencies5, Data latencies
+event:0X0110 mmcr0:0X00000000 mmcr1:0X000000005C225828 mmcra:0X00000000
+event:0X0111 mmcr0:0X00000000 mmcr1:0X000000005C225828 mmcra:0X00000000
+event:0X0112 mmcr0:0X00000000 mmcr1:0X000000005C225828 mmcra:0X00000000
+event:0X0113 mmcr0:0X00000000 mmcr1:0X000000005C225828 mmcra:0X00000000
+
+#Group 18 pm_dlatencies6, Data latencies
+event:0X0120 mmcr0:0X00000000 mmcr1:0X000000005E245A2E mmcra:0X00000000
+event:0X0121 mmcr0:0X00000000 mmcr1:0X000000005E245A2E mmcra:0X00000000
+event:0X0122 mmcr0:0X00000000 mmcr1:0X000000005E245A2E mmcra:0X00000000
+event:0X0123 mmcr0:0X00000000 mmcr1:0X000000005E245A2E mmcra:0X00000000
+
+#Group 19 pm_dlatencies7, Data latencies
+event:0X0130 mmcr0:0X00000000 mmcr1:0X000000005820120E mmcra:0X00000000
+event:0X0131 mmcr0:0X00000000 mmcr1:0X000000005820120E mmcra:0X00000000
+event:0X0132 mmcr0:0X00000000 mmcr1:0X000000005820120E mmcra:0X00000000
+event:0X0133 mmcr0:0X00000000 mmcr1:0X000000005820120E mmcra:0X00000000
+
+#Group 20 pm_dlatencies8, Data latencies
+event:0X0140 mmcr0:0X00000000 mmcr1:0X0000000010581E20 mmcra:0X00000000
+event:0X0141 mmcr0:0X00000000 mmcr1:0X0000000010581E20 mmcra:0X00000000
+event:0X0142 mmcr0:0X00000000 mmcr1:0X0000000010581E20 mmcra:0X00000000
+event:0X0143 mmcr0:0X00000000 mmcr1:0X0000000010581E20 mmcra:0X00000000
+
+#Group 21 pm_dlatencies9, Data latencies
+event:0X0150 mmcr0:0X00000000 mmcr1:0X00000000122C125E mmcra:0X00000000
+event:0X0151 mmcr0:0X00000000 mmcr1:0X00000000122C125E mmcra:0X00000000
+event:0X0152 mmcr0:0X00000000 mmcr1:0X00000000122C125E mmcra:0X00000000
+event:0X0153 mmcr0:0X00000000 mmcr1:0X00000000122C125E mmcra:0X00000000
+
+#Group 22 pm_dlatencies10, Data latencies
+event:0X0160 mmcr0:0X00000000 mmcr1:0X000000005A261E26 mmcra:0X00000000
+event:0X0161 mmcr0:0X00000000 mmcr1:0X000000005A261E26 mmcra:0X00000000
+event:0X0162 mmcr0:0X00000000 mmcr1:0X000000005A261E26 mmcra:0X00000000
+event:0X0163 mmcr0:0X00000000 mmcr1:0X000000005A261E26 mmcra:0X00000000
+
+#Group 23 pm_isource, Instruction sources
+event:0X0170 mmcr0:0X00000000 mmcr1:0X0040000040404654 mmcra:0X00000000
+event:0X0171 mmcr0:0X00000000 mmcr1:0X0040000040404654 mmcra:0X00000000
+event:0X0172 mmcr0:0X00000000 mmcr1:0X0040000040404654 mmcra:0X00000000
+event:0X0173 mmcr0:0X00000000 mmcr1:0X0040000040404654 mmcra:0X00000000
+
+#Group 24 pm_isource2, Instruction sources
+event:0X0180 mmcr0:0X00000000 mmcr1:0X0040000046464046 mmcra:0X00000000
+event:0X0181 mmcr0:0X00000000 mmcr1:0X0040000046464046 mmcra:0X00000000
+event:0X0182 mmcr0:0X00000000 mmcr1:0X0040000046464046 mmcra:0X00000000
+event:0X0183 mmcr0:0X00000000 mmcr1:0X0040000046464046 mmcra:0X00000000
+
+#Group 25 pm_isource3, Instruction sources
+event:0X0190 mmcr0:0X00000000 mmcr1:0X0040000044444444 mmcra:0X00000000
+event:0X0191 mmcr0:0X00000000 mmcr1:0X0040000044444444 mmcra:0X00000000
+event:0X0192 mmcr0:0X00000000 mmcr1:0X0040000044444444 mmcra:0X00000000
+event:0X0193 mmcr0:0X00000000 mmcr1:0X0040000044444444 mmcra:0X00000000
+
+#Group 26 pm_isource4, Instruction sources
+event:0X01A0 mmcr0:0X00000000 mmcr1:0X0040000042424242 mmcra:0X00000000
+event:0X01A1 mmcr0:0X00000000 mmcr1:0X0040000042424242 mmcra:0X00000000
+event:0X01A2 mmcr0:0X00000000 mmcr1:0X0040000042424242 mmcra:0X00000000
+event:0X01A3 mmcr0:0X00000000 mmcr1:0X0040000042424242 mmcra:0X00000000
+
+#Group 27 pm_isource5, Instruction sources
+event:0X01B0 mmcr0:0X00000000 mmcr1:0X0040000040405454 mmcra:0X00000000
+event:0X01B1 mmcr0:0X00000000 mmcr1:0X0040000040405454 mmcra:0X00000000
+event:0X01B2 mmcr0:0X00000000 mmcr1:0X0040000040405454 mmcra:0X00000000
+event:0X01B3 mmcr0:0X00000000 mmcr1:0X0040000040405454 mmcra:0X00000000
+
+#Group 28 pm_pteg, PTEG sources
+event:0X01C0 mmcr0:0X00000000 mmcr1:0X0001000048484E4E mmcra:0X00000000
+event:0X01C1 mmcr0:0X00000000 mmcr1:0X0001000048484E4E mmcra:0X00000000
+event:0X01C2 mmcr0:0X00000000 mmcr1:0X0001000048484E4E mmcra:0X00000000
+event:0X01C3 mmcr0:0X00000000 mmcr1:0X0001000048484E4E mmcra:0X00000000
+
+#Group 29 pm_pteg2, PTEG sources
+event:0X01D0 mmcr0:0X00000000 mmcr1:0X000100002848484C mmcra:0X00000000
+event:0X01D1 mmcr0:0X00000000 mmcr1:0X000100002848484C mmcra:0X00000000
+event:0X01D2 mmcr0:0X00000000 mmcr1:0X000100002848484C mmcra:0X00000000
+event:0X01D3 mmcr0:0X00000000 mmcr1:0X000100002848484C mmcra:0X00000000
+
+#Group 30 pm_pteg3, PTEG sources
+event:0X01E0 mmcr0:0X00000000 mmcr1:0X000100004E4E284A mmcra:0X00000000
+event:0X01E1 mmcr0:0X00000000 mmcr1:0X000100004E4E284A mmcra:0X00000000
+event:0X01E2 mmcr0:0X00000000 mmcr1:0X000100004E4E284A mmcra:0X00000000
+event:0X01E3 mmcr0:0X00000000 mmcr1:0X000100004E4E284A mmcra:0X00000000
+
+#Group 31 pm_pteg4, PTEG sources
+event:0X01F0 mmcr0:0X00000000 mmcr1:0X000100004A4A4A4A mmcra:0X00000000
+event:0X01F1 mmcr0:0X00000000 mmcr1:0X000100004A4A4A4A mmcra:0X00000000
+event:0X01F2 mmcr0:0X00000000 mmcr1:0X000100004A4A4A4A mmcra:0X00000000
+event:0X01F3 mmcr0:0X00000000 mmcr1:0X000100004A4A4A4A mmcra:0X00000000
+
+#Group 32 pm_pteg5, PTEG sources
+event:0X0200 mmcr0:0X00000000 mmcr1:0X000100004C4C4CC8 mmcra:0X00000000
+event:0X0201 mmcr0:0X00000000 mmcr1:0X000100004C4C4CC8 mmcra:0X00000000
+event:0X0202 mmcr0:0X00000000 mmcr1:0X000100004C4C4CC8 mmcra:0X00000000
+event:0X0203 mmcr0:0X00000000 mmcr1:0X000100004C4C4CC8 mmcra:0X00000000
+
+#Group 33 pm_data_tablewalk, Data tablewalks
+event:0X0210 mmcr0:0X00000000 mmcr1:0X09900000A0A284E8 mmcra:0X00000000
+event:0X0211 mmcr0:0X00000000 mmcr1:0X09900000A0A284E8 mmcra:0X00000000
+event:0X0212 mmcr0:0X00000000 mmcr1:0X09900000A0A284E8 mmcra:0X00000000
+event:0X0213 mmcr0:0X00000000 mmcr1:0X09900000A0A284E8 mmcra:0X00000000
+
+#Group 34 pm_inst_tablewalk, Instruction tablewalks
+event:0X0220 mmcr0:0X00000000 mmcr1:0X09900000A8AA8CEA mmcra:0X00000000
+event:0X0221 mmcr0:0X00000000 mmcr1:0X09900000A8AA8CEA mmcra:0X00000000
+event:0X0222 mmcr0:0X00000000 mmcr1:0X09900000A8AA8CEA mmcra:0X00000000
+event:0X0223 mmcr0:0X00000000 mmcr1:0X09900000A8AA8CEA mmcra:0X00000000
+
+#Group 35 pm_freq, Frequency events
+event:0X0230 mmcr0:0X00000000 mmcr1:0X000000002A3C3C3C mmcra:0X00000000
+event:0X0231 mmcr0:0X00000000 mmcr1:0X000000002A3C3C3C mmcra:0X00000000
+event:0X0232 mmcr0:0X00000000 mmcr1:0X000000002A3C3C3C mmcra:0X00000000
+event:0X0233 mmcr0:0X00000000 mmcr1:0X000000002A3C3C3C mmcra:0X00000000
+
+#Group 36 pm_disp_wait, Dispatch stalls
+event:0X0240 mmcr0:0X00000000 mmcr1:0X00000000560C040C mmcra:0X00000000
+event:0X0241 mmcr0:0X00000000 mmcr1:0X00000000560C040C mmcra:0X00000000
+event:0X0242 mmcr0:0X00000000 mmcr1:0X00000000560C040C mmcra:0X00000000
+event:0X0243 mmcr0:0X00000000 mmcr1:0X00000000560C040C mmcra:0X00000000
+
+#Group 37 pm_disp_held, Dispatch held conditions
+event:0X0250 mmcr0:0X00000000 mmcr1:0X200000002A3C2AA2 mmcra:0X00000000
+event:0X0251 mmcr0:0X00000000 mmcr1:0X200000002A3C2AA2 mmcra:0X00000000
+event:0X0252 mmcr0:0X00000000 mmcr1:0X200000002A3C2AA2 mmcra:0X00000000
+event:0X0253 mmcr0:0X00000000 mmcr1:0X200000002A3C2AA2 mmcra:0X00000000
+
+#Group 38 pm_disp_held2, Dispatch held conditions
+event:0X0260 mmcr0:0X00000000 mmcr1:0X200000008004A4A6 mmcra:0X00000000
+event:0X0261 mmcr0:0X00000000 mmcr1:0X200000008004A4A6 mmcra:0X00000000
+event:0X0262 mmcr0:0X00000000 mmcr1:0X200000008004A4A6 mmcra:0X00000000
+event:0X0263 mmcr0:0X00000000 mmcr1:0X200000008004A4A6 mmcra:0X00000000
+
+#Group 39 pm_disp_held3, Dispatch held conditions
+event:0X0270 mmcr0:0X00000000 mmcr1:0X20000000888AACAE mmcra:0X00000000
+event:0X0271 mmcr0:0X00000000 mmcr1:0X20000000888AACAE mmcra:0X00000000
+event:0X0272 mmcr0:0X00000000 mmcr1:0X20000000888AACAE mmcra:0X00000000
+event:0X0273 mmcr0:0X00000000 mmcr1:0X20000000888AACAE mmcra:0X00000000
+
+#Group 40 pm_disp_held4, Dispatch held conditions
+event:0X0280 mmcr0:0X00000000 mmcr1:0X02000000A0A28486 mmcra:0X00000000
+event:0X0281 mmcr0:0X00000000 mmcr1:0X02000000A0A28486 mmcra:0X00000000
+event:0X0282 mmcr0:0X00000000 mmcr1:0X02000000A0A28486 mmcra:0X00000000
+event:0X0283 mmcr0:0X00000000 mmcr1:0X02000000A0A28486 mmcra:0X00000000
+
+#Group 41 pm_disp_held5, Dispatch held conditions
+event:0X0290 mmcr0:0X00000000 mmcr1:0X22000000A8AA8CA0 mmcra:0X00000000
+event:0X0291 mmcr0:0X00000000 mmcr1:0X22000000A8AA8CA0 mmcra:0X00000000
+event:0X0292 mmcr0:0X00000000 mmcr1:0X22000000A8AA8CA0 mmcra:0X00000000
+event:0X0293 mmcr0:0X00000000 mmcr1:0X22000000A8AA8CA0 mmcra:0X00000000
+
+#Group 42 pm_disp_held6, Dispatch held conditions
+event:0X02A0 mmcr0:0X00000000 mmcr1:0X33000000A882A4A6 mmcra:0X00000000
+event:0X02A1 mmcr0:0X00000000 mmcr1:0X33000000A882A4A6 mmcra:0X00000000
+event:0X02A2 mmcr0:0X00000000 mmcr1:0X33000000A882A4A6 mmcra:0X00000000
+event:0X02A3 mmcr0:0X00000000 mmcr1:0X33000000A882A4A6 mmcra:0X00000000
+
+#Group 43 pm_disp_held7, Dispatch held conditions
+event:0X02B0 mmcr0:0X00000000 mmcr1:0X30000000888AACAE mmcra:0X00000000
+event:0X02B1 mmcr0:0X00000000 mmcr1:0X30000000888AACAE mmcra:0X00000000
+event:0X02B2 mmcr0:0X00000000 mmcr1:0X30000000888AACAE mmcra:0X00000000
+event:0X02B3 mmcr0:0X00000000 mmcr1:0X30000000888AACAE mmcra:0X00000000
+
+#Group 44 pm_disp_held8, Dispatch held conditions
+event:0X02C0 mmcr0:0X00000000 mmcr1:0X220000008A8CAE80 mmcra:0X00000000
+event:0X02C1 mmcr0:0X00000000 mmcr1:0X220000008A8CAE80 mmcra:0X00000000
+event:0X02C2 mmcr0:0X00000000 mmcr1:0X220000008A8CAE80 mmcra:0X00000000
+event:0X02C3 mmcr0:0X00000000 mmcr1:0X220000008A8CAE80 mmcra:0X00000000
+
+#Group 45 pm_disp_held9, Dispatch held conditions
+event:0X02D0 mmcr0:0X00000000 mmcr1:0X220000008AA08A8C mmcra:0X00000000
+event:0X02D1 mmcr0:0X00000000 mmcr1:0X220000008AA08A8C mmcra:0X00000000
+event:0X02D2 mmcr0:0X00000000 mmcr1:0X220000008AA08A8C mmcra:0X00000000
+event:0X02D3 mmcr0:0X00000000 mmcr1:0X220000008AA08A8C mmcra:0X00000000
+
+#Group 46 pm_sync, Sync events
+event:0X02E0 mmcr0:0X00000000 mmcr1:0X38900000AE1EECA0 mmcra:0X00000000
+event:0X02E1 mmcr0:0X00000000 mmcr1:0X38900000AE1EECA0 mmcra:0X00000000
+event:0X02E2 mmcr0:0X00000000 mmcr1:0X38900000AE1EECA0 mmcra:0X00000000
+event:0X02E3 mmcr0:0X00000000 mmcr1:0X38900000AE1EECA0 mmcra:0X00000000
+
+#Group 47 pm_L1_ref, L1 references
+event:0X02F0 mmcr0:0X00000000 mmcr1:0X80000000368AA63A mmcra:0X00000000
+event:0X02F1 mmcr0:0X00000000 mmcr1:0X80000000368AA63A mmcra:0X00000000
+event:0X02F2 mmcr0:0X00000000 mmcr1:0X80000000368AA63A mmcra:0X00000000
+event:0X02F3 mmcr0:0X00000000 mmcr1:0X80000000368AA63A mmcra:0X00000000
+
+#Group 48 pm_L1_ldst, L1 load/store ref/miss
+event:0X0300 mmcr0:0X00000000 mmcr1:0X800000003230A8A0 mmcra:0X00000000
+event:0X0301 mmcr0:0X00000000 mmcr1:0X800000003230A8A0 mmcra:0X00000000
+event:0X0302 mmcr0:0X00000000 mmcr1:0X800000003230A8A0 mmcra:0X00000000
+event:0X0303 mmcr0:0X00000000 mmcr1:0X800000003230A8A0 mmcra:0X00000000
+
+#Group 49 pm_streams, Streams
+event:0X0310 mmcr0:0X00000000 mmcr1:0X48000000A0A284A4 mmcra:0X00000000
+event:0X0311 mmcr0:0X00000000 mmcr1:0X48000000A0A284A4 mmcra:0X00000000
+event:0X0312 mmcr0:0X00000000 mmcr1:0X48000000A0A284A4 mmcra:0X00000000
+event:0X0313 mmcr0:0X00000000 mmcr1:0X48000000A0A284A4 mmcra:0X00000000
+
+#Group 50 pm_flush, Flushes
+event:0X0320 mmcr0:0X00000000 mmcr1:0X0022000010CACCCA mmcra:0X00000000
+event:0X0321 mmcr0:0X00000000 mmcr1:0X0022000010CACCCA mmcra:0X00000000
+event:0X0322 mmcr0:0X00000000 mmcr1:0X0022000010CACCCA mmcra:0X00000000
+event:0X0323 mmcr0:0X00000000 mmcr1:0X0022000010CACCCA mmcra:0X00000000
+
+#Group 51 pm_prefetch, I cache Prefetches
+event:0X0330 mmcr0:0X00000000 mmcr1:0X400400008A8CAEC0 mmcra:0X00000000
+event:0X0331 mmcr0:0X00000000 mmcr1:0X400400008A8CAEC0 mmcra:0X00000000
+event:0X0332 mmcr0:0X00000000 mmcr1:0X400400008A8CAEC0 mmcra:0X00000000
+event:0X0333 mmcr0:0X00000000 mmcr1:0X400400008A8CAEC0 mmcra:0X00000000
+
+#Group 52 pm_stcx, STCX
+event:0X0340 mmcr0:0X00000000 mmcr1:0X00080000E6ECCECA mmcra:0X00000000
+event:0X0341 mmcr0:0X00000000 mmcr1:0X00080000E6ECCECA mmcra:0X00000000
+event:0X0342 mmcr0:0X00000000 mmcr1:0X00080000E6ECCECA mmcra:0X00000000
+event:0X0343 mmcr0:0X00000000 mmcr1:0X00080000E6ECCECA mmcra:0X00000000
+
+#Group 53 pm_larx, LARX
+event:0X0350 mmcr0:0X00000000 mmcr1:0X00080000EAE2C6CE mmcra:0X00000000
+event:0X0351 mmcr0:0X00000000 mmcr1:0X00080000EAE2C6CE mmcra:0X00000000
+event:0X0352 mmcr0:0X00000000 mmcr1:0X00080000EAE2C6CE mmcra:0X00000000
+event:0X0353 mmcr0:0X00000000 mmcr1:0X00080000EAE2C6CE mmcra:0X00000000
+
+#Group 54 pm_thread_cyc, Thread cycles
+event:0X0360 mmcr0:0X00000000 mmcr1:0X0000000016182604 mmcra:0X00000000
+event:0X0361 mmcr0:0X00000000 mmcr1:0X0000000016182604 mmcra:0X00000000
+event:0X0362 mmcr0:0X00000000 mmcr1:0X0000000016182604 mmcra:0X00000000
+event:0X0363 mmcr0:0X00000000 mmcr1:0X0000000016182604 mmcra:0X00000000
+
+#Group 55 pm_misc, Misc
+event:0X0370 mmcr0:0X00000000 mmcr1:0X0000000004161808 mmcra:0X00000001
+event:0X0371 mmcr0:0X00000000 mmcr1:0X0000000004161808 mmcra:0X00000001
+event:0X0372 mmcr0:0X00000000 mmcr1:0X0000000004161808 mmcra:0X00000001
+event:0X0373 mmcr0:0X00000000 mmcr1:0X0000000004161808 mmcra:0X00000001
+
+#Group 56 pm_misc2, Misc
+event:0X0380 mmcr0:0X00000000 mmcr1:0X40020000EEF8F8A0 mmcra:0X00000000
+event:0X0381 mmcr0:0X00000000 mmcr1:0X40020000EEF8F8A0 mmcra:0X00000000
+event:0X0382 mmcr0:0X00000000 mmcr1:0X40020000EEF8F8A0 mmcra:0X00000000
+event:0X0383 mmcr0:0X00000000 mmcr1:0X40020000EEF8F8A0 mmcra:0X00000000
+
+#Group 57 pm_misc3, Misc
+event:0X0390 mmcr0:0X00000000 mmcr1:0X0300000054A01E02 mmcra:0X00000000
+event:0X0391 mmcr0:0X00000000 mmcr1:0X0300000054A01E02 mmcra:0X00000000
+event:0X0392 mmcr0:0X00000000 mmcr1:0X0300000054A01E02 mmcra:0X00000000
+event:0X0393 mmcr0:0X00000000 mmcr1:0X0300000054A01E02 mmcra:0X00000000
+
+#Group 58 pm_tlb_slb, TLB and SLB events
+event:0X03A0 mmcr0:0X00000000 mmcr1:0X00980000E0E8E8E2 mmcra:0X00000000
+event:0X03A1 mmcr0:0X00000000 mmcr1:0X00980000E0E8E8E2 mmcra:0X00000000
+event:0X03A2 mmcr0:0X00000000 mmcr1:0X00980000E0E8E8E2 mmcra:0X00000000
+event:0X03A3 mmcr0:0X00000000 mmcr1:0X00980000E0E8E8E2 mmcra:0X00000000
+
+#Group 59 pm_slb_miss, SLB Misses
+event:0X03B0 mmcr0:0X00000000 mmcr1:0X00480001E0E8EE32 mmcra:0X00000000
+event:0X03B1 mmcr0:0X00000000 mmcr1:0X00480001E0E8EE32 mmcra:0X00000000
+event:0X03B2 mmcr0:0X00000000 mmcr1:0X00480001E0E8EE32 mmcra:0X00000000
+event:0X03B3 mmcr0:0X00000000 mmcr1:0X00480001E0E8EE32 mmcra:0X00000000
+
+#Group 60 pm_rejects, Reject events
+event:0X03C0 mmcr0:0X00000000 mmcr1:0XAA00000034303E30 mmcra:0X00000000
+event:0X03C1 mmcr0:0X00000000 mmcr1:0XAA00000034303E30 mmcra:0X00000000
+event:0X03C2 mmcr0:0X00000000 mmcr1:0XAA00000034303E30 mmcra:0X00000000
+event:0X03C3 mmcr0:0X00000000 mmcr1:0XAA00000034303E30 mmcra:0X00000000
+
+#Group 61 pm_rejects2, Reject events
+event:0X03D0 mmcr0:0X00000000 mmcr1:0X9A000000323830AC mmcra:0X00000000
+event:0X03D1 mmcr0:0X00000000 mmcr1:0X9A000000323830AC mmcra:0X00000000
+event:0X03D2 mmcr0:0X00000000 mmcr1:0X9A000000323830AC mmcra:0X00000000
+event:0X03D3 mmcr0:0X00000000 mmcr1:0X9A000000323830AC mmcra:0X00000000
+
+#Group 62 pm_rejects3, Reject events
+event:0X03E0 mmcr0:0X00000000 mmcr1:0XAA000000303E3234 mmcra:0X00000000
+event:0X03E1 mmcr0:0X00000000 mmcr1:0XAA000000303E3234 mmcra:0X00000000
+event:0X03E2 mmcr0:0X00000000 mmcr1:0XAA000000303E3234 mmcra:0X00000000
+event:0X03E3 mmcr0:0X00000000 mmcr1:0XAA000000303E3234 mmcra:0X00000000
+
+#Group 63 pm_rejects4, Unaligned store rejects
+event:0X03F0 mmcr0:0X00000000 mmcr1:0X900000003630A2AA mmcra:0X00000000
+event:0X03F1 mmcr0:0X00000000 mmcr1:0X900000003630A2AA mmcra:0X00000000
+event:0X03F2 mmcr0:0X00000000 mmcr1:0X900000003630A2AA mmcra:0X00000000
+event:0X03F3 mmcr0:0X00000000 mmcr1:0X900000003630A2AA mmcra:0X00000000
+
+#Group 64 pm_rejects5, Unaligned load rejects
+event:0X0400 mmcr0:0X00000000 mmcr1:0X900000003036A0A8 mmcra:0X00000000
+event:0X0401 mmcr0:0X00000000 mmcr1:0X900000003036A0A8 mmcra:0X00000000
+event:0X0402 mmcr0:0X00000000 mmcr1:0X900000003036A0A8 mmcra:0X00000000
+event:0X0403 mmcr0:0X00000000 mmcr1:0X900000003036A0A8 mmcra:0X00000000
+
+#Group 65 pm_rejects6, Set mispredictions rejects
+event:0X0410 mmcr0:0X00000000 mmcr1:0XA0000000848C341C mmcra:0X00000000
+event:0X0411 mmcr0:0X00000000 mmcr1:0XA0000000848C341C mmcra:0X00000000
+event:0X0412 mmcr0:0X00000000 mmcr1:0XA0000000848C341C mmcra:0X00000000
+event:0X0413 mmcr0:0X00000000 mmcr1:0XA0000000848C341C mmcra:0X00000000
+
+#Group 66 pm_rejects_unit, Unaligned reject events by unit
+event:0X0420 mmcr0:0X00000000 mmcr1:0X90000000808AA2A8 mmcra:0X00000000
+event:0X0421 mmcr0:0X00000000 mmcr1:0X90000000808AA2A8 mmcra:0X00000000
+event:0X0422 mmcr0:0X00000000 mmcr1:0X90000000808AA2A8 mmcra:0X00000000
+event:0X0423 mmcr0:0X00000000 mmcr1:0X90000000808AA2A8 mmcra:0X00000000
+
+#Group 67 pm_rejects_unit2, Reject events by unit
+event:0X0430 mmcr0:0X00000000 mmcr1:0XAA000000A6828E8A mmcra:0X00000000
+event:0X0431 mmcr0:0X00000000 mmcr1:0XAA000000A6828E8A mmcra:0X00000000
+event:0X0432 mmcr0:0X00000000 mmcr1:0XAA000000A6828E8A mmcra:0X00000000
+event:0X0433 mmcr0:0X00000000 mmcr1:0XAA000000A6828E8A mmcra:0X00000000
+
+#Group 68 pm_rejects_unit3, Reject events by unit
+event:0X0440 mmcr0:0X00000000 mmcr1:0X0A000000A4A08C88 mmcra:0X00000000
+event:0X0441 mmcr0:0X00000000 mmcr1:0X0A000000A4A08C88 mmcra:0X00000000
+event:0X0442 mmcr0:0X00000000 mmcr1:0X0A000000A4A08C88 mmcra:0X00000000
+event:0X0443 mmcr0:0X00000000 mmcr1:0X0A000000A4A08C88 mmcra:0X00000000
+
+#Group 69 pm_rejects_unit4, Reject events by unit
+event:0X0450 mmcr0:0X00000000 mmcr1:0XAA000000A2868AAE mmcra:0X00000000
+event:0X0451 mmcr0:0X00000000 mmcr1:0XAA000000A2868AAE mmcra:0X00000000
+event:0X0452 mmcr0:0X00000000 mmcr1:0XAA000000A2868AAE mmcra:0X00000000
+event:0X0453 mmcr0:0X00000000 mmcr1:0XAA000000A2868AAE mmcra:0X00000000
+
+#Group 70 pm_rejects_unit5, Reject events by unit
+event:0X0460 mmcr0:0X00000000 mmcr1:0X9900000086A6AE8E mmcra:0X00000000
+event:0X0461 mmcr0:0X00000000 mmcr1:0X9900000086A6AE8E mmcra:0X00000000
+event:0X0462 mmcr0:0X00000000 mmcr1:0X9900000086A6AE8E mmcra:0X00000000
+event:0X0463 mmcr0:0X00000000 mmcr1:0X9900000086A6AE8E mmcra:0X00000000
+
+#Group 71 pm_rejects_unit6, Reject events by unit
+event:0X0470 mmcr0:0X00000000 mmcr1:0XAA00000080A6A88E mmcra:0X00000000
+event:0X0471 mmcr0:0X00000000 mmcr1:0XAA00000080A6A88E mmcra:0X00000000
+event:0X0472 mmcr0:0X00000000 mmcr1:0XAA00000080A6A88E mmcra:0X00000000
+event:0X0473 mmcr0:0X00000000 mmcr1:0XAA00000080A6A88E mmcra:0X00000000
+
+#Group 72 pm_rejects_unit7, Reject events by unit
+event:0X0480 mmcr0:0X00000000 mmcr1:0XA900000082A6AA8E mmcra:0X00000000
+event:0X0481 mmcr0:0X00000000 mmcr1:0XA900000082A6AA8E mmcra:0X00000000
+event:0X0482 mmcr0:0X00000000 mmcr1:0XA900000082A6AA8E mmcra:0X00000000
+event:0X0483 mmcr0:0X00000000 mmcr1:0XA900000082A6AA8E mmcra:0X00000000
+
+#Group 73 pm_ldf, Floating Point loads
+event:0X0490 mmcr0:0X00000000 mmcr1:0X800000003832A4AC mmcra:0X00000000
+event:0X0491 mmcr0:0X00000000 mmcr1:0X800000003832A4AC mmcra:0X00000000
+event:0X0492 mmcr0:0X00000000 mmcr1:0X800000003832A4AC mmcra:0X00000000
+event:0X0493 mmcr0:0X00000000 mmcr1:0X800000003832A4AC mmcra:0X00000000
+
+#Group 74 pm_lsu_misc, LSU events
+event:0X04A0 mmcr0:0X00000000 mmcr1:0X08800000CACCEE8A mmcra:0X00000000
+event:0X04A1 mmcr0:0X00000000 mmcr1:0X08800000CACCEE8A mmcra:0X00000000
+event:0X04A2 mmcr0:0X00000000 mmcr1:0X08800000CACCEE8A mmcra:0X00000000
+event:0X04A3 mmcr0:0X00000000 mmcr1:0X08800000CACCEE8A mmcra:0X00000000
+
+#Group 75 pm_lsu_lmq, LSU LMQ events
+event:0X04B0 mmcr0:0X00000000 mmcr1:0X98000000AC1C1CA4 mmcra:0X00000000
+event:0X04B1 mmcr0:0X00000000 mmcr1:0X98000000AC1C1CA4 mmcra:0X00000000
+event:0X04B2 mmcr0:0X00000000 mmcr1:0X98000000AC1C1CA4 mmcra:0X00000000
+event:0X04B3 mmcr0:0X00000000 mmcr1:0X98000000AC1C1CA4 mmcra:0X00000000
+
+#Group 76 pm_lsu_flush_derat_miss, LSU flush and DERAT misses
+event:0X04C0 mmcr0:0X00000000 mmcr1:0X00200000FC0EECEE mmcra:0X00000000
+event:0X04C1 mmcr0:0X00000000 mmcr1:0X00200000FC0EECEE mmcra:0X00000000
+event:0X04C2 mmcr0:0X00000000 mmcr1:0X00200000FC0EECEE mmcra:0X00000000
+event:0X04C3 mmcr0:0X00000000 mmcr1:0X00200000FC0EECEE mmcra:0X00000000
+
+#Group 77 pm_lla, Look Load Ahead events
+event:0X04D0 mmcr0:0X00000000 mmcr1:0X33000000A2841208 mmcra:0X00000000
+event:0X04D1 mmcr0:0X00000000 mmcr1:0X33000000A2841208 mmcra:0X00000000
+event:0X04D2 mmcr0:0X00000000 mmcr1:0X33000000A2841208 mmcra:0X00000000
+event:0X04D3 mmcr0:0X00000000 mmcr1:0X33000000A2841208 mmcra:0X00000000
+
+#Group 78 pm_gct, GCT events
+event:0X04E0 mmcr0:0X00000000 mmcr1:0X404000000808A6E8 mmcra:0X00000000
+event:0X04E1 mmcr0:0X00000000 mmcr1:0X404000000808A6E8 mmcra:0X00000000
+event:0X04E2 mmcr0:0X00000000 mmcr1:0X404000000808A6E8 mmcra:0X00000000
+event:0X04E3 mmcr0:0X00000000 mmcr1:0X404000000808A6E8 mmcra:0X00000000
+
+#Group 79 pm_smt_priorities, Thread priority events
+event:0X04F0 mmcr0:0X00000000 mmcr1:0X0020000040404040 mmcra:0X00000000
+event:0X04F1 mmcr0:0X00000000 mmcr1:0X0020000040404040 mmcra:0X00000000
+event:0X04F2 mmcr0:0X00000000 mmcr1:0X0020000040404040 mmcra:0X00000000
+event:0X04F3 mmcr0:0X00000000 mmcr1:0X0020000040404040 mmcra:0X00000000
+
+#Group 80 pm_smt_priorities2, Thread priority events
+event:0X0500 mmcr0:0X00000000 mmcr1:0X0020000046464646 mmcra:0X00000000
+event:0X0501 mmcr0:0X00000000 mmcr1:0X0020000046464646 mmcra:0X00000000
+event:0X0502 mmcr0:0X00000000 mmcr1:0X0020000046464646 mmcra:0X00000000
+event:0X0503 mmcr0:0X00000000 mmcr1:0X0020000046464646 mmcra:0X00000000
+
+#Group 81 pm_smt_priorities3, Thread priority differences events
+event:0X0510 mmcr0:0X00000000 mmcr1:0X0002000040404040 mmcra:0X00000000
+event:0X0511 mmcr0:0X00000000 mmcr1:0X0002000040404040 mmcra:0X00000000
+event:0X0512 mmcr0:0X00000000 mmcr1:0X0002000040404040 mmcra:0X00000000
+event:0X0513 mmcr0:0X00000000 mmcr1:0X0002000040404040 mmcra:0X00000000
+
+#Group 82 pm_smt_priorities4, Thread priority differences events
+event:0X0520 mmcr0:0X00000000 mmcr1:0X03020000A6464646 mmcra:0X00000000
+event:0X0521 mmcr0:0X00000000 mmcr1:0X03020000A6464646 mmcra:0X00000000
+event:0X0522 mmcr0:0X00000000 mmcr1:0X03020000A6464646 mmcra:0X00000000
+event:0X0523 mmcr0:0X00000000 mmcr1:0X03020000A6464646 mmcra:0X00000000
+
+#Group 83 pm_fxu, FXU events
+event:0X0530 mmcr0:0X00000000 mmcr1:0X0000000050505050 mmcra:0X00000000
+event:0X0531 mmcr0:0X00000000 mmcr1:0X0000000050505050 mmcra:0X00000000
+event:0X0532 mmcr0:0X00000000 mmcr1:0X0000000050505050 mmcra:0X00000000
+event:0X0533 mmcr0:0X00000000 mmcr1:0X0000000050505050 mmcra:0X00000000
+
+#Group 84 pm_fxu2, FXU events
+event:0X0540 mmcr0:0X00000000 mmcr1:0X02040000AEE41616 mmcra:0X00000000
+event:0X0541 mmcr0:0X00000000 mmcr1:0X02040000AEE41616 mmcra:0X00000000
+event:0X0542 mmcr0:0X00000000 mmcr1:0X02040000AEE41616 mmcra:0X00000000
+event:0X0543 mmcr0:0X00000000 mmcr1:0X02040000AEE41616 mmcra:0X00000000
+
+#Group 85 pm_vmx, VMX events
+event:0X0550 mmcr0:0X00000000 mmcr1:0X700000008480A2A6 mmcra:0X00000000
+event:0X0551 mmcr0:0X00000000 mmcr1:0X700000008480A2A6 mmcra:0X00000000
+event:0X0552 mmcr0:0X00000000 mmcr1:0X700000008480A2A6 mmcra:0X00000000
+event:0X0553 mmcr0:0X00000000 mmcr1:0X700000008480A2A6 mmcra:0X00000000
+
+#Group 86 pm_vmx2, VMX events
+event:0X0560 mmcr0:0X00000000 mmcr1:0X600000008088A2AA mmcra:0X00000000
+event:0X0561 mmcr0:0X00000000 mmcr1:0X600000008088A2AA mmcra:0X00000000
+event:0X0562 mmcr0:0X00000000 mmcr1:0X600000008088A2AA mmcra:0X00000000
+event:0X0563 mmcr0:0X00000000 mmcr1:0X600000008088A2AA mmcra:0X00000000
+
+#Group 87 pm_vmx3, VMX events
+event:0X0570 mmcr0:0X00000000 mmcr1:0X600000008284AAAC mmcra:0X00000000
+event:0X0571 mmcr0:0X00000000 mmcr1:0X600000008284AAAC mmcra:0X00000000
+event:0X0572 mmcr0:0X00000000 mmcr1:0X600000008284AAAC mmcra:0X00000000
+event:0X0573 mmcr0:0X00000000 mmcr1:0X600000008284AAAC mmcra:0X00000000
+
+#Group 88 pm_vmx4, VMX events
+event:0X0580 mmcr0:0X00000000 mmcr1:0XB0000000828EA6A0 mmcra:0X00000000
+event:0X0581 mmcr0:0X00000000 mmcr1:0XB0000000828EA6A0 mmcra:0X00000000
+event:0X0582 mmcr0:0X00000000 mmcr1:0XB0000000828EA6A0 mmcra:0X00000000
+event:0X0583 mmcr0:0X00000000 mmcr1:0XB0000000828EA6A0 mmcra:0X00000000
+
+#Group 89 pm_vmx5, VMX events
+event:0X0590 mmcr0:0X00000000 mmcr1:0XB00000008084ACA2 mmcra:0X00000000
+event:0X0591 mmcr0:0X00000000 mmcr1:0XB00000008084ACA2 mmcra:0X00000000
+event:0X0592 mmcr0:0X00000000 mmcr1:0XB00000008084ACA2 mmcra:0X00000000
+event:0X0593 mmcr0:0X00000000 mmcr1:0XB00000008084ACA2 mmcra:0X00000000
+
+#Group 90 pm_dfu, DFU events
+event:0X05A0 mmcr0:0X00000000 mmcr1:0XE00000008C88A2AE mmcra:0X00000000
+event:0X05A1 mmcr0:0X00000000 mmcr1:0XE00000008C88A2AE mmcra:0X00000000
+event:0X05A2 mmcr0:0X00000000 mmcr1:0XE00000008C88A2AE mmcra:0X00000000
+event:0X05A3 mmcr0:0X00000000 mmcr1:0XE00000008C88A2AE mmcra:0X00000000
+
+#Group 91 pm_dfu2, DFU events
+event:0X05B0 mmcr0:0X00000000 mmcr1:0XE00000008A84A0A6 mmcra:0X00000000
+event:0X05B1 mmcr0:0X00000000 mmcr1:0XE00000008A84A0A6 mmcra:0X00000000
+event:0X05B2 mmcr0:0X00000000 mmcr1:0XE00000008A84A0A6 mmcra:0X00000000
+event:0X05B3 mmcr0:0X00000000 mmcr1:0XE00000008A84A0A6 mmcra:0X00000000
+
+#Group 92 pm_fab, Fabric events
+event:0X05C0 mmcr0:0X00000000 mmcr1:0X500020003030A4AC mmcra:0X00000000
+event:0X05C1 mmcr0:0X00000000 mmcr1:0X500020003030A4AC mmcra:0X00000000
+event:0X05C2 mmcr0:0X00000000 mmcr1:0X500020003030A4AC mmcra:0X00000000
+event:0X05C3 mmcr0:0X00000000 mmcr1:0X500020003030A4AC mmcra:0X00000000
+
+#Group 93 pm_fab2, Fabric events
+event:0X05D0 mmcr0:0X00000000 mmcr1:0X50002000888AA2A0 mmcra:0X00000000
+event:0X05D1 mmcr0:0X00000000 mmcr1:0X50002000888AA2A0 mmcra:0X00000000
+event:0X05D2 mmcr0:0X00000000 mmcr1:0X50002000888AA2A0 mmcra:0X00000000
+event:0X05D3 mmcr0:0X00000000 mmcr1:0X50002000888AA2A0 mmcra:0X00000000
+
+#Group 94 pm_fab3, Fabric events
+event:0X05E0 mmcr0:0X00000000 mmcr1:0X500020003030AEA6 mmcra:0X00000000
+event:0X05E1 mmcr0:0X00000000 mmcr1:0X500020003030AEA6 mmcra:0X00000000
+event:0X05E2 mmcr0:0X00000000 mmcr1:0X500020003030AEA6 mmcra:0X00000000
+event:0X05E3 mmcr0:0X00000000 mmcr1:0X500020003030AEA6 mmcra:0X00000000
+
+#Group 95 pm_mem_dblpump, Double pump
+event:0X05F0 mmcr0:0X00000000 mmcr1:0X5000400030303434 mmcra:0X00000000
+event:0X05F1 mmcr0:0X00000000 mmcr1:0X5000400030303434 mmcra:0X00000000
+event:0X05F2 mmcr0:0X00000000 mmcr1:0X5000400030303434 mmcra:0X00000000
+event:0X05F3 mmcr0:0X00000000 mmcr1:0X5000400030303434 mmcra:0X00000000
+
+#Group 96 pm_mem0_dblpump, MCS0 Double pump
+event:0X0600 mmcr0:0X00000000 mmcr1:0X500040008082A4A6 mmcra:0X00000000
+event:0X0601 mmcr0:0X00000000 mmcr1:0X500040008082A4A6 mmcra:0X00000000
+event:0X0602 mmcr0:0X00000000 mmcr1:0X500040008082A4A6 mmcra:0X00000000
+event:0X0603 mmcr0:0X00000000 mmcr1:0X500040008082A4A6 mmcra:0X00000000
+
+#Group 97 pm_mem1_dblpump, MCS1 Double pump
+event:0X0610 mmcr0:0X00000000 mmcr1:0X50004000888AACAE mmcra:0X00000000
+event:0X0611 mmcr0:0X00000000 mmcr1:0X50004000888AACAE mmcra:0X00000000
+event:0X0612 mmcr0:0X00000000 mmcr1:0X50004000888AACAE mmcra:0X00000000
+event:0X0613 mmcr0:0X00000000 mmcr1:0X50004000888AACAE mmcra:0X00000000
+
+#Group 98 pm_gxo, GX outbound
+event:0X0620 mmcr0:0X00000000 mmcr1:0X500060008082A4A6 mmcra:0X00000000
+event:0X0621 mmcr0:0X00000000 mmcr1:0X500060008082A4A6 mmcra:0X00000000
+event:0X0622 mmcr0:0X00000000 mmcr1:0X500060008082A4A6 mmcra:0X00000000
+event:0X0623 mmcr0:0X00000000 mmcr1:0X500060008082A4A6 mmcra:0X00000000
+
+#Group 99 pm_gxi, GX inbound
+event:0X0630 mmcr0:0X00000000 mmcr1:0X500060008688AAA0 mmcra:0X00000000
+event:0X0631 mmcr0:0X00000000 mmcr1:0X500060008688AAA0 mmcra:0X00000000
+event:0X0632 mmcr0:0X00000000 mmcr1:0X500060008688AAA0 mmcra:0X00000000
+event:0X0633 mmcr0:0X00000000 mmcr1:0X500060008688AAA0 mmcra:0X00000000
+
+#Group 100 pm_gx_dma, DMA events
+event:0X0640 mmcr0:0X00000000 mmcr1:0X500060008086ACAE mmcra:0X00000000
+event:0X0641 mmcr0:0X00000000 mmcr1:0X500060008086ACAE mmcra:0X00000000
+event:0X0642 mmcr0:0X00000000 mmcr1:0X500060008086ACAE mmcra:0X00000000
+event:0X0643 mmcr0:0X00000000 mmcr1:0X500060008086ACAE mmcra:0X00000000
+
+#Group 101 pm_L1_misc, L1 misc events
+event:0X0650 mmcr0:0X00000000 mmcr1:0X4004000082E2A80A mmcra:0X00000000
+event:0X0651 mmcr0:0X00000000 mmcr1:0X4004000082E2A80A mmcra:0X00000000
+event:0X0652 mmcr0:0X00000000 mmcr1:0X4004000082E2A80A mmcra:0X00000000
+event:0X0653 mmcr0:0X00000000 mmcr1:0X4004000082E2A80A mmcra:0X00000000
+
+#Group 102 pm_L2_data, L2 load and store data
+event:0X0660 mmcr0:0X00000000 mmcr1:0X5000800030303434 mmcra:0X00000000
+event:0X0661 mmcr0:0X00000000 mmcr1:0X5000800030303434 mmcra:0X00000000
+event:0X0662 mmcr0:0X00000000 mmcr1:0X5000800030303434 mmcra:0X00000000
+event:0X0663 mmcr0:0X00000000 mmcr1:0X5000800030303434 mmcra:0X00000000
+
+#Group 103 pm_L2_ld_inst, L2 Load instructions
+event:0X0670 mmcr0:0X00000000 mmcr1:0X5800A00030303486 mmcra:0X00000000
+event:0X0671 mmcr0:0X00000000 mmcr1:0X5800A00030303486 mmcra:0X00000000
+event:0X0672 mmcr0:0X00000000 mmcr1:0X5800A00030303486 mmcra:0X00000000
+event:0X0673 mmcr0:0X00000000 mmcr1:0X5800A00030303486 mmcra:0X00000000
+
+#Group 104 pm_L2_castout_invalidate, L2 castout and invalidate events
+event:0X0680 mmcr0:0X00000000 mmcr1:0X5000C00030303434 mmcra:0X00000000
+event:0X0681 mmcr0:0X00000000 mmcr1:0X5000C00030303434 mmcra:0X00000000
+event:0X0682 mmcr0:0X00000000 mmcr1:0X5000C00030303434 mmcra:0X00000000
+event:0X0683 mmcr0:0X00000000 mmcr1:0X5000C00030303434 mmcra:0X00000000
+
+#Group 105 pm_L2_ldst_reqhit, L2 load and store requests and hits
+event:0X0690 mmcr0:0X00000000 mmcr1:0X5000E00030303434 mmcra:0X00000000
+event:0X0691 mmcr0:0X00000000 mmcr1:0X5000E00030303434 mmcra:0X00000000
+event:0X0692 mmcr0:0X00000000 mmcr1:0X5000E00030303434 mmcra:0X00000000
+event:0X0693 mmcr0:0X00000000 mmcr1:0X5000E00030303434 mmcra:0X00000000
+
+#Group 106 pm_L2_ld_data_slice, L2 data loads by slice
+event:0X06A0 mmcr0:0X00000000 mmcr1:0X500080008082A8AA mmcra:0X00000000
+event:0X06A1 mmcr0:0X00000000 mmcr1:0X500080008082A8AA mmcra:0X00000000
+event:0X06A2 mmcr0:0X00000000 mmcr1:0X500080008082A8AA mmcra:0X00000000
+event:0X06A3 mmcr0:0X00000000 mmcr1:0X500080008082A8AA mmcra:0X00000000
+
+#Group 107 pm_L2_ld_inst_slice, L2 instruction loads by slice
+event:0X06B0 mmcr0:0X00000000 mmcr1:0X5000A0008082A8AA mmcra:0X00000000
+event:0X06B1 mmcr0:0X00000000 mmcr1:0X5000A0008082A8AA mmcra:0X00000000
+event:0X06B2 mmcr0:0X00000000 mmcr1:0X5000A0008082A8AA mmcra:0X00000000
+event:0X06B3 mmcr0:0X00000000 mmcr1:0X5000A0008082A8AA mmcra:0X00000000
+
+#Group 108 pm_L2_st_slice, L2 slice stores by slice
+event:0X06C0 mmcr0:0X00000000 mmcr1:0X500080008486ACAE mmcra:0X00000000
+event:0X06C1 mmcr0:0X00000000 mmcr1:0X500080008486ACAE mmcra:0X00000000
+event:0X06C2 mmcr0:0X00000000 mmcr1:0X500080008486ACAE mmcra:0X00000000
+event:0X06C3 mmcr0:0X00000000 mmcr1:0X500080008486ACAE mmcra:0X00000000
+
+#Group 109 pm_L2miss_slice, L2 misses by slice
+event:0X06D0 mmcr0:0X00000000 mmcr1:0X5000A000843256AC mmcra:0X00000000
+event:0X06D1 mmcr0:0X00000000 mmcr1:0X5000A000843256AC mmcra:0X00000000
+event:0X06D2 mmcr0:0X00000000 mmcr1:0X5000A000843256AC mmcra:0X00000000
+event:0X06D3 mmcr0:0X00000000 mmcr1:0X5000A000843256AC mmcra:0X00000000
+
+#Group 110 pm_L2_castout_slice, L2 castouts by slice
+event:0X06E0 mmcr0:0X00000000 mmcr1:0X5000C0008082A8AA mmcra:0X00000000
+event:0X06E1 mmcr0:0X00000000 mmcr1:0X5000C0008082A8AA mmcra:0X00000000
+event:0X06E2 mmcr0:0X00000000 mmcr1:0X5000C0008082A8AA mmcra:0X00000000
+event:0X06E3 mmcr0:0X00000000 mmcr1:0X5000C0008082A8AA mmcra:0X00000000
+
+#Group 111 pm_L2_invalidate_slice, L2 invalidate by slice
+event:0X06F0 mmcr0:0X00000000 mmcr1:0X5000C0008486ACAE mmcra:0X00000000
+event:0X06F1 mmcr0:0X00000000 mmcr1:0X5000C0008486ACAE mmcra:0X00000000
+event:0X06F2 mmcr0:0X00000000 mmcr1:0X5000C0008486ACAE mmcra:0X00000000
+event:0X06F3 mmcr0:0X00000000 mmcr1:0X5000C0008486ACAE mmcra:0X00000000
+
+#Group 112 pm_L2_ld_reqhit_slice, L2 load requests and hist by slice
+event:0X0700 mmcr0:0X00000000 mmcr1:0X5000E0008082A8AA mmcra:0X00000000
+event:0X0701 mmcr0:0X00000000 mmcr1:0X5000E0008082A8AA mmcra:0X00000000
+event:0X0702 mmcr0:0X00000000 mmcr1:0X5000E0008082A8AA mmcra:0X00000000
+event:0X0703 mmcr0:0X00000000 mmcr1:0X5000E0008082A8AA mmcra:0X00000000
+
+#Group 113 pm_L2_st_reqhit_slice, L2 store requests and hist by slice
+event:0X0710 mmcr0:0X00000000 mmcr1:0X5000E0008486ACAE mmcra:0X00000000
+event:0X0711 mmcr0:0X00000000 mmcr1:0X5000E0008486ACAE mmcra:0X00000000
+event:0X0712 mmcr0:0X00000000 mmcr1:0X5000E0008486ACAE mmcra:0X00000000
+event:0X0713 mmcr0:0X00000000 mmcr1:0X5000E0008486ACAE mmcra:0X00000000
+
+#Group 114 pm_L2_redir_pref, L2 redirect and prefetch
+event:0X0720 mmcr0:0X00000000 mmcr1:0X08400000CACC8886 mmcra:0X00000000
+event:0X0721 mmcr0:0X00000000 mmcr1:0X08400000CACC8886 mmcra:0X00000000
+event:0X0722 mmcr0:0X00000000 mmcr1:0X08400000CACC8886 mmcra:0X00000000
+event:0X0723 mmcr0:0X00000000 mmcr1:0X08400000CACC8886 mmcra:0X00000000
+
+#Group 115 pm_L3_SliceA, L3 slice A events
+event:0X0730 mmcr0:0X00000000 mmcr1:0X50000000303058A4 mmcra:0X00000000
+event:0X0731 mmcr0:0X00000000 mmcr1:0X50000000303058A4 mmcra:0X00000000
+event:0X0732 mmcr0:0X00000000 mmcr1:0X50000000303058A4 mmcra:0X00000000
+event:0X0733 mmcr0:0X00000000 mmcr1:0X50000000303058A4 mmcra:0X00000000
+
+#Group 116 pm_L3_SliceB, L3 slice B events
+event:0X0740 mmcr0:0X00000000 mmcr1:0X50000000888A58AC mmcra:0X00000000
+event:0X0741 mmcr0:0X00000000 mmcr1:0X50000000888A58AC mmcra:0X00000000
+event:0X0742 mmcr0:0X00000000 mmcr1:0X50000000888A58AC mmcra:0X00000000
+event:0X0743 mmcr0:0X00000000 mmcr1:0X50000000888A58AC mmcra:0X00000000
+
+#Group 117 pm_fpu_issue, FPU issue events
+event:0X0750 mmcr0:0X00000000 mmcr1:0X00300000C6C8EAE4 mmcra:0X00000000
+event:0X0751 mmcr0:0X00000000 mmcr1:0X00300000C6C8EAE4 mmcra:0X00000000
+event:0X0752 mmcr0:0X00000000 mmcr1:0X00300000C6C8EAE4 mmcra:0X00000000
+event:0X0753 mmcr0:0X00000000 mmcr1:0X00300000C6C8EAE4 mmcra:0X00000000
+
+#Group 118 pm_fpu_issue2, FPU issue events
+event:0X0760 mmcr0:0X00000000 mmcr1:0X00300000C0C2ECEE mmcra:0X00000000
+event:0X0761 mmcr0:0X00000000 mmcr1:0X00300000C0C2ECEE mmcra:0X00000000
+event:0X0762 mmcr0:0X00000000 mmcr1:0X00300000C0C2ECEE mmcra:0X00000000
+event:0X0763 mmcr0:0X00000000 mmcr1:0X00300000C0C2ECEE mmcra:0X00000000
+
+#Group 119 pm_fpu_issue3, FPU issue events
+event:0X0770 mmcr0:0X00000000 mmcr1:0X00330000E0E2ECEE mmcra:0X00000000
+event:0X0771 mmcr0:0X00000000 mmcr1:0X00330000E0E2ECEE mmcra:0X00000000
+event:0X0772 mmcr0:0X00000000 mmcr1:0X00330000E0E2ECEE mmcra:0X00000000
+event:0X0773 mmcr0:0X00000000 mmcr1:0X00330000E0E2ECEE mmcra:0X00000000
+
+#Group 120 pm_fpu0_flop, FPU0 flop events
+event:0X0780 mmcr0:0X00000000 mmcr1:0XCC0000008082A484 mmcra:0X00000000
+event:0X0781 mmcr0:0X00000000 mmcr1:0XCC0000008082A484 mmcra:0X00000000
+event:0X0782 mmcr0:0X00000000 mmcr1:0XCC0000008082A484 mmcra:0X00000000
+event:0X0783 mmcr0:0X00000000 mmcr1:0XCC0000008082A484 mmcra:0X00000000
+
+#Group 121 pm_fpu0_misc, FPU0 events
+event:0X0790 mmcr0:0X00000000 mmcr1:0XCC00000086A08286 mmcra:0X00000000
+event:0X0791 mmcr0:0X00000000 mmcr1:0XCC00000086A08286 mmcra:0X00000000
+event:0X0792 mmcr0:0X00000000 mmcr1:0XCC00000086A08286 mmcra:0X00000000
+event:0X0793 mmcr0:0X00000000 mmcr1:0XCC00000086A08286 mmcra:0X00000000
+
+#Group 122 pm_fpu0_misc2, FPU0 events
+event:0X07A0 mmcr0:0X00000000 mmcr1:0XDD00000080A6A4A6 mmcra:0X00000000
+event:0X07A1 mmcr0:0X00000000 mmcr1:0XDD00000080A6A4A6 mmcra:0X00000000
+event:0X07A2 mmcr0:0X00000000 mmcr1:0XDD00000080A6A4A6 mmcra:0X00000000
+event:0X07A3 mmcr0:0X00000000 mmcr1:0XDD00000080A6A4A6 mmcra:0X00000000
+
+#Group 123 pm_fpu0_misc3, FPU0 events
+event:0X07B0 mmcr0:0X00000000 mmcr1:0X0D000000A0A28486 mmcra:0X00000000
+event:0X07B1 mmcr0:0X00000000 mmcr1:0X0D000000A0A28486 mmcra:0X00000000
+event:0X07B2 mmcr0:0X00000000 mmcr1:0X0D000000A0A28486 mmcra:0X00000000
+event:0X07B3 mmcr0:0X00000000 mmcr1:0X0D000000A0A28486 mmcra:0X00000000
+
+#Group 124 pm_fpu1_flop, FPU1 flop events
+event:0X07C0 mmcr0:0X00000000 mmcr1:0XCC000000888AAC8C mmcra:0X00000000
+event:0X07C1 mmcr0:0X00000000 mmcr1:0XCC000000888AAC8C mmcra:0X00000000
+event:0X07C2 mmcr0:0X00000000 mmcr1:0XCC000000888AAC8C mmcra:0X00000000
+event:0X07C3 mmcr0:0X00000000 mmcr1:0XCC000000888AAC8C mmcra:0X00000000
+
+#Group 125 pm_fpu1_misc, FPU1 events
+event:0X07D0 mmcr0:0X00000000 mmcr1:0XCC0000008EA88A8E mmcra:0X00000000
+event:0X07D1 mmcr0:0X00000000 mmcr1:0XCC0000008EA88A8E mmcra:0X00000000
+event:0X07D2 mmcr0:0X00000000 mmcr1:0XCC0000008EA88A8E mmcra:0X00000000
+event:0X07D3 mmcr0:0X00000000 mmcr1:0XCC0000008EA88A8E mmcra:0X00000000
+
+#Group 126 pm_fpu1_misc2, FPU1 events
+event:0X07E0 mmcr0:0X00000000 mmcr1:0XDD00000088AEACAE mmcra:0X00000000
+event:0X07E1 mmcr0:0X00000000 mmcr1:0XDD00000088AEACAE mmcra:0X00000000
+event:0X07E2 mmcr0:0X00000000 mmcr1:0XDD00000088AEACAE mmcra:0X00000000
+event:0X07E3 mmcr0:0X00000000 mmcr1:0XDD00000088AEACAE mmcra:0X00000000
+
+#Group 127 pm_fpu1_misc3, FPU1 events
+event:0X07F0 mmcr0:0X00000000 mmcr1:0X0D000000A8AA8C8E mmcra:0X00000000
+event:0X07F1 mmcr0:0X00000000 mmcr1:0X0D000000A8AA8C8E mmcra:0X00000000
+event:0X07F2 mmcr0:0X00000000 mmcr1:0X0D000000A8AA8C8E mmcra:0X00000000
+event:0X07F3 mmcr0:0X00000000 mmcr1:0X0D000000A8AA8C8E mmcra:0X00000000
+
+#Group 128 pm_fpu_flop, FPU flop events
+event:0X0800 mmcr0:0X00000000 mmcr1:0XC000000030303434 mmcra:0X00000000
+event:0X0801 mmcr0:0X00000000 mmcr1:0XC000000030303434 mmcra:0X00000000
+event:0X0802 mmcr0:0X00000000 mmcr1:0XC000000030303434 mmcra:0X00000000
+event:0X0803 mmcr0:0X00000000 mmcr1:0XC000000030303434 mmcra:0X00000000
+
+#Group 129 pm_fpu_misc, FPU events
+event:0X0810 mmcr0:0X00000000 mmcr1:0XDD00000030343434 mmcra:0X00000000
+event:0X0811 mmcr0:0X00000000 mmcr1:0XDD00000030343434 mmcra:0X00000000
+event:0X0812 mmcr0:0X00000000 mmcr1:0XDD00000030343434 mmcra:0X00000000
+event:0X0813 mmcr0:0X00000000 mmcr1:0XDD00000030343434 mmcra:0X00000000
+
+#Group 130 pm_fpu_misc2, FPU events
+event:0X0820 mmcr0:0X00000000 mmcr1:0X0C00000034343030 mmcra:0X00000000
+event:0X0821 mmcr0:0X00000000 mmcr1:0X0C00000034343030 mmcra:0X00000000
+event:0X0822 mmcr0:0X00000000 mmcr1:0X0C00000034343030 mmcra:0X00000000
+event:0X0823 mmcr0:0X00000000 mmcr1:0X0C00000034343030 mmcra:0X00000000
+
+#Group 131 pm_fpu_misc3, FPU events
+event:0X0830 mmcr0:0X00000000 mmcr1:0X0D00000034343030 mmcra:0X00000000
+event:0X0831 mmcr0:0X00000000 mmcr1:0X0D00000034343030 mmcra:0X00000000
+event:0X0832 mmcr0:0X00000000 mmcr1:0X0D00000034343030 mmcra:0X00000000
+event:0X0833 mmcr0:0X00000000 mmcr1:0X0D00000034343030 mmcra:0X00000000
+
+#Group 132 pm_purr, PURR events
+event:0X0840 mmcr0:0X00000000 mmcr1:0X000000000EF41E02 mmcra:0X00000000
+event:0X0841 mmcr0:0X00000000 mmcr1:0X000000000EF41E02 mmcra:0X00000000
+event:0X0842 mmcr0:0X00000000 mmcr1:0X000000000EF41E02 mmcra:0X00000000
+event:0X0843 mmcr0:0X00000000 mmcr1:0X000000000EF41E02 mmcra:0X00000000
+
+#Group 133 pm_suspend, SUSPENDED events
+event:0X0850 mmcr0:0X00000000 mmcr1:0X00900000001EEC02 mmcra:0X00000000
+event:0X0851 mmcr0:0X00000000 mmcr1:0X00900000001EEC02 mmcra:0X00000000
+event:0X0852 mmcr0:0X00000000 mmcr1:0X00900000001EEC02 mmcra:0X00000000
+event:0X0853 mmcr0:0X00000000 mmcr1:0X00900000001EEC02 mmcra:0X00000000
+
+#Group 134 pm_dcache, D cache
+event:0X0860 mmcr0:0X00000000 mmcr1:0X000000000C0E0C06 mmcra:0X00000000
+event:0X0861 mmcr0:0X00000000 mmcr1:0X000000000C0E0C06 mmcra:0X00000000
+event:0X0862 mmcr0:0X00000000 mmcr1:0X000000000C0E0C06 mmcra:0X00000000
+event:0X0863 mmcr0:0X00000000 mmcr1:0X000000000C0E0C06 mmcra:0X00000000
+
+#Group 135 pm_derat_miss, DERAT miss
+event:0X0870 mmcr0:0X00000000 mmcr1:0X0090000F40404040 mmcra:0X00000000
+event:0X0871 mmcr0:0X00000000 mmcr1:0X0090000F40404040 mmcra:0X00000000
+event:0X0872 mmcr0:0X00000000 mmcr1:0X0090000F40404040 mmcra:0X00000000
+event:0X0873 mmcr0:0X00000000 mmcr1:0X0090000F40404040 mmcra:0X00000000
+
+#Group 136 pm_derat_ref, DERAT ref
+event:0X0880 mmcr0:0X00000000 mmcr1:0X0080000F40404040 mmcra:0X00000000
+event:0X0881 mmcr0:0X00000000 mmcr1:0X0080000F40404040 mmcra:0X00000000
+event:0X0882 mmcr0:0X00000000 mmcr1:0X0080000F40404040 mmcra:0X00000000
+event:0X0883 mmcr0:0X00000000 mmcr1:0X0080000F40404040 mmcra:0X00000000
+
+#Group 137 pm_ierat_miss, IERAT miss
+event:0X0890 mmcr0:0X00000000 mmcr1:0X0090000F46464646 mmcra:0X00000000
+event:0X0891 mmcr0:0X00000000 mmcr1:0X0090000F46464646 mmcra:0X00000000
+event:0X0892 mmcr0:0X00000000 mmcr1:0X0090000F46464646 mmcra:0X00000000
+event:0X0893 mmcr0:0X00000000 mmcr1:0X0090000F46464646 mmcra:0X00000000
+
+#Group 138 pm_mrk_br, Marked Branch events
+event:0X08A0 mmcr0:0X00000000 mmcr1:0X0000000052565202 mmcra:0X00000001
+event:0X08A1 mmcr0:0X00000000 mmcr1:0X0000000052565202 mmcra:0X00000001
+event:0X08A2 mmcr0:0X00000000 mmcr1:0X0000000052565202 mmcra:0X00000001
+event:0X08A3 mmcr0:0X00000000 mmcr1:0X0000000052565202 mmcra:0X00000001
+
+#Group 139 pm_mrk_dsource, Marked data sources
+event:0X08B0 mmcr0:0X00000000 mmcr1:0X00000000024A4C4C mmcra:0X00000001
+event:0X08B1 mmcr0:0X00000000 mmcr1:0X00000000024A4C4C mmcra:0X00000001
+event:0X08B2 mmcr0:0X00000000 mmcr1:0X00000000024A4C4C mmcra:0X00000001
+event:0X08B3 mmcr0:0X00000000 mmcr1:0X00000000024A4C4C mmcra:0X00000001
+
+#Group 140 pm_mrk_dsource2, Marked data sources
+event:0X08C0 mmcr0:0X00000000 mmcr1:0X0000000048484E02 mmcra:0X00000001
+event:0X08C1 mmcr0:0X00000000 mmcr1:0X0000000048484E02 mmcra:0X00000001
+event:0X08C2 mmcr0:0X00000000 mmcr1:0X0000000048484E02 mmcra:0X00000001
+event:0X08C3 mmcr0:0X00000000 mmcr1:0X0000000048484E02 mmcra:0X00000001
+
+#Group 141 pm_mrk_dsource3, Marked data sources
+event:0X08D0 mmcr0:0X00000000 mmcr1:0X000000002802484E mmcra:0X00000001
+event:0X08D1 mmcr0:0X00000000 mmcr1:0X000000002802484E mmcra:0X00000001
+event:0X08D2 mmcr0:0X00000000 mmcr1:0X000000002802484E mmcra:0X00000001
+event:0X08D3 mmcr0:0X00000000 mmcr1:0X000000002802484E mmcra:0X00000001
+
+#Group 142 pm_mrk_dsource4, Marked data sources
+event:0X08E0 mmcr0:0X00000000 mmcr1:0X000000004E4E2802 mmcra:0X00000001
+event:0X08E1 mmcr0:0X00000000 mmcr1:0X000000004E4E2802 mmcra:0X00000001
+event:0X08E2 mmcr0:0X00000000 mmcr1:0X000000004E4E2802 mmcra:0X00000001
+event:0X08E3 mmcr0:0X00000000 mmcr1:0X000000004E4E2802 mmcra:0X00000001
+
+#Group 143 pm_mrk_dsource5, Marked data sources
+event:0X08F0 mmcr0:0X00000000 mmcr1:0X000000004A4C024A mmcra:0X00000001
+event:0X08F1 mmcr0:0X00000000 mmcr1:0X000000004A4C024A mmcra:0X00000001
+event:0X08F2 mmcr0:0X00000000 mmcr1:0X000000004A4C024A mmcra:0X00000001
+event:0X08F3 mmcr0:0X00000000 mmcr1:0X000000004A4C024A mmcra:0X00000001
+
+#Group 144 pm_mrk_dsource6, Marked data sources
+event:0X0900 mmcr0:0X00000000 mmcr1:0X000000004C4C4A02 mmcra:0X00000001
+event:0X0901 mmcr0:0X00000000 mmcr1:0X000000004C4C4A02 mmcra:0X00000001
+event:0X0902 mmcr0:0X00000000 mmcr1:0X000000004C4C4A02 mmcra:0X00000001
+event:0X0903 mmcr0:0X00000000 mmcr1:0X000000004C4C4A02 mmcra:0X00000001
+
+#Group 145 pm_mrk_rejects, Marked rejects
+event:0X0910 mmcr0:0X00000000 mmcr1:0X0009000D34340230 mmcra:0X00000001
+event:0X0911 mmcr0:0X00000000 mmcr1:0X0009000D34340230 mmcra:0X00000001
+event:0X0912 mmcr0:0X00000000 mmcr1:0X0009000D34340230 mmcra:0X00000001
+event:0X0913 mmcr0:0X00000000 mmcr1:0X0009000D34340230 mmcra:0X00000001
+
+#Group 146 pm_mrk_rejects2, Marked rejects LSU0
+event:0X0920 mmcr0:0X00000000 mmcr1:0X00090000E6E0C202 mmcra:0X00000001
+event:0X0921 mmcr0:0X00000000 mmcr1:0X00090000E6E0C202 mmcra:0X00000001
+event:0X0922 mmcr0:0X00000000 mmcr1:0X00090000E6E0C202 mmcra:0X00000001
+event:0X0923 mmcr0:0X00000000 mmcr1:0X00090000E6E0C202 mmcra:0X00000001
+
+#Group 147 pm_mrk_rejects3, Marked rejects LSU1
+event:0X0930 mmcr0:0X00000000 mmcr1:0X00090000EEE8CA02 mmcra:0X00000001
+event:0X0931 mmcr0:0X00000000 mmcr1:0X00090000EEE8CA02 mmcra:0X00000001
+event:0X0932 mmcr0:0X00000000 mmcr1:0X00090000EEE8CA02 mmcra:0X00000001
+event:0X0933 mmcr0:0X00000000 mmcr1:0X00090000EEE8CA02 mmcra:0X00000001
+
+#Group 148 pm_mrk_inst, Marked instruction events
+event:0X0940 mmcr0:0X00000000 mmcr1:0X000000001C100A02 mmcra:0X00000001
+event:0X0941 mmcr0:0X00000000 mmcr1:0X000000001C100A02 mmcra:0X00000001
+event:0X0942 mmcr0:0X00000000 mmcr1:0X000000001C100A02 mmcra:0X00000001
+event:0X0943 mmcr0:0X00000000 mmcr1:0X000000001C100A02 mmcra:0X00000001
+
+#Group 149 pm_mrk_fpu_fin, Marked Floating Point instructions finished
+event:0X0950 mmcr0:0X00000000 mmcr1:0XD0000000828A1A02 mmcra:0X00000001
+event:0X0951 mmcr0:0X00000000 mmcr1:0XD0000000828A1A02 mmcra:0X00000001
+event:0X0952 mmcr0:0X00000000 mmcr1:0XD0000000828A1A02 mmcra:0X00000001
+event:0X0953 mmcr0:0X00000000 mmcr1:0XD0000000828A1A02 mmcra:0X00000001
+
+#Group 150 pm_mrk_misc, Marked misc events
+event:0X0960 mmcr0:0X00000000 mmcr1:0X00090008341A0802 mmcra:0X00000001
+event:0X0961 mmcr0:0X00000000 mmcr1:0X00090008341A0802 mmcra:0X00000001
+event:0X0962 mmcr0:0X00000000 mmcr1:0X00090008341A0802 mmcra:0X00000001
+event:0X0963 mmcr0:0X00000000 mmcr1:0X00090008341A0802 mmcra:0X00000001
+
+#Group 151 pm_mrk_misc2, Marked misc events
+event:0X0970 mmcr0:0X00000000 mmcr1:0X00080000E40A023E mmcra:0X00000001
+event:0X0971 mmcr0:0X00000000 mmcr1:0X00080000E40A023E mmcra:0X00000001
+event:0X0972 mmcr0:0X00000000 mmcr1:0X00080000E40A023E mmcra:0X00000001
+event:0X0973 mmcr0:0X00000000 mmcr1:0X00080000E40A023E mmcra:0X00000001
+
+#Group 152 pm_mrk_misc3, Marked misc events
+event:0X0980 mmcr0:0X00000000 mmcr1:0XB009000088E40212 mmcra:0X00000001
+event:0X0981 mmcr0:0X00000000 mmcr1:0XB009000088E40212 mmcra:0X00000001
+event:0X0982 mmcr0:0X00000000 mmcr1:0XB009000088E40212 mmcra:0X00000001
+event:0X0983 mmcr0:0X00000000 mmcr1:0XB009000088E40212 mmcra:0X00000001
+
+#Group 153 pm_mrk_misc4, Marked misc events
+event:0X0990 mmcr0:0X00000000 mmcr1:0X000000001E1E021A mmcra:0X00000001
+event:0X0991 mmcr0:0X00000000 mmcr1:0X000000001E1E021A mmcra:0X00000001
+event:0X0992 mmcr0:0X00000000 mmcr1:0X000000001E1E021A mmcra:0X00000001
+event:0X0993 mmcr0:0X00000000 mmcr1:0X000000001E1E021A mmcra:0X00000001
+
+#Group 154 pm_mrk_st, Marked stores events
+event:0X09A0 mmcr0:0X00000000 mmcr1:0X0000000006060602 mmcra:0X00000001
+event:0X09A1 mmcr0:0X00000000 mmcr1:0X0000000006060602 mmcra:0X00000001
+event:0X09A2 mmcr0:0X00000000 mmcr1:0X0000000006060602 mmcra:0X00000001
+event:0X09A3 mmcr0:0X00000000 mmcr1:0X0000000006060602 mmcra:0X00000001
+
+#Group 155 pm_mrk_pteg, Marked PTEG
+event:0X09B0 mmcr0:0X00000000 mmcr1:0X0010000040424402 mmcra:0X00000001
+event:0X09B1 mmcr0:0X00000000 mmcr1:0X0010000040424402 mmcra:0X00000001
+event:0X09B2 mmcr0:0X00000000 mmcr1:0X0010000040424402 mmcra:0X00000001
+event:0X09B3 mmcr0:0X00000000 mmcr1:0X0010000040424402 mmcra:0X00000001
+
+#Group 156 pm_mrk_pteg2, Marked PTEG
+event:0X09C0 mmcr0:0X00000000 mmcr1:0X0010000002404644 mmcra:0X00000001
+event:0X09C1 mmcr0:0X00000000 mmcr1:0X0010000002404644 mmcra:0X00000001
+event:0X09C2 mmcr0:0X00000000 mmcr1:0X0010000002404644 mmcra:0X00000001
+event:0X09C3 mmcr0:0X00000000 mmcr1:0X0010000002404644 mmcra:0X00000001
+
+#Group 157 pm_mrk_pteg3, Marked PTEG
+event:0X09D0 mmcr0:0X00000000 mmcr1:0X0010000046460246 mmcra:0X00000001
+event:0X09D1 mmcr0:0X00000000 mmcr1:0X0010000046460246 mmcra:0X00000001
+event:0X09D2 mmcr0:0X00000000 mmcr1:0X0010000046460246 mmcra:0X00000001
+event:0X09D3 mmcr0:0X00000000 mmcr1:0X0010000046460246 mmcra:0X00000001
+
+#Group 158 pm_mrk_pteg4, Marked PTEG
+event:0X09E0 mmcr0:0X00000000 mmcr1:0X0010000042024054 mmcra:0X00000001
+event:0X09E1 mmcr0:0X00000000 mmcr1:0X0010000042024054 mmcra:0X00000001
+event:0X09E2 mmcr0:0X00000000 mmcr1:0X0010000042024054 mmcra:0X00000001
+event:0X09E3 mmcr0:0X00000000 mmcr1:0X0010000042024054 mmcra:0X00000001
+
+#Group 159 pm_mrk_pteg5, Marked PTEG
+event:0X09F0 mmcr0:0X00000000 mmcr1:0X0010000044025442 mmcra:0X00000001
+event:0X09F1 mmcr0:0X00000000 mmcr1:0X0010000044025442 mmcra:0X00000001
+event:0X09F2 mmcr0:0X00000000 mmcr1:0X0010000044025442 mmcra:0X00000001
+event:0X09F3 mmcr0:0X00000000 mmcr1:0X0010000044025442 mmcra:0X00000001
+
+#Group 160 pm_mrk_pteg6, Marked PTEG
+event:0X0A00 mmcr0:0X00000000 mmcr1:0X001000001E444202 mmcra:0X00000001
+event:0X0A01 mmcr0:0X00000000 mmcr1:0X001000001E444202 mmcra:0X00000001
+event:0X0A02 mmcr0:0X00000000 mmcr1:0X001000001E444202 mmcra:0X00000001
+event:0X0A03 mmcr0:0X00000000 mmcr1:0X001000001E444202 mmcra:0X00000001
+
+#Group 161 pm_mrk_vmx, Marked VMX
+event:0X0A10 mmcr0:0X00000000 mmcr1:0X700000008C88AE02 mmcra:0X00000001
+event:0X0A11 mmcr0:0X00000000 mmcr1:0X700000008C88AE02 mmcra:0X00000001
+event:0X0A12 mmcr0:0X00000000 mmcr1:0X700000008C88AE02 mmcra:0X00000001
+event:0X0A13 mmcr0:0X00000000 mmcr1:0X700000008C88AE02 mmcra:0X00000001
+
+#Group 162 pm_mrk_vmx2, Marked VMX
+event:0X0A20 mmcr0:0X00000000 mmcr1:0X60900000868EE002 mmcra:0X00000001
+event:0X0A21 mmcr0:0X00000000 mmcr1:0X60900000868EE002 mmcra:0X00000001
+event:0X0A22 mmcr0:0X00000000 mmcr1:0X60900000868EE002 mmcra:0X00000001
+event:0X0A23 mmcr0:0X00000000 mmcr1:0X60900000868EE002 mmcra:0X00000001
+
+#Group 163 pm_mrk_vmx3, Marked VMX
+event:0X0A30 mmcr0:0X00000000 mmcr1:0X700000008A821E02 mmcra:0X00000001
+event:0X0A31 mmcr0:0X00000000 mmcr1:0X700000008A821E02 mmcra:0X00000001
+event:0X0A32 mmcr0:0X00000000 mmcr1:0X700000008A821E02 mmcra:0X00000001
+event:0X0A33 mmcr0:0X00000000 mmcr1:0X700000008A821E02 mmcra:0X00000001
+
+#Group 164 pm_mrk_fp, Marked FP events
+event:0X0A40 mmcr0:0X00000000 mmcr1:0XD00000008230AA02 mmcra:0X00000001
+event:0X0A41 mmcr0:0X00000000 mmcr1:0XD00000008230AA02 mmcra:0X00000001
+event:0X0A42 mmcr0:0X00000000 mmcr1:0XD00000008230AA02 mmcra:0X00000001
+event:0X0A43 mmcr0:0X00000000 mmcr1:0XD00000008230AA02 mmcra:0X00000001
+
+#Group 165 pm_mrk_derat_ref, Marked DERAT ref
+event:0X0A50 mmcr0:0X00000000 mmcr1:0X0080000044444402 mmcra:0X00000001
+event:0X0A51 mmcr0:0X00000000 mmcr1:0X0080000044444402 mmcra:0X00000001
+event:0X0A52 mmcr0:0X00000000 mmcr1:0X0080000044444402 mmcra:0X00000001
+event:0X0A53 mmcr0:0X00000000 mmcr1:0X0080000044444402 mmcra:0X00000001
+
+#Group 166 pm_mrk_derat_miss, Marked DERAT miss
+event:0X0A60 mmcr0:0X00000000 mmcr1:0X0090000044444402 mmcra:0X00000001
+event:0X0A61 mmcr0:0X00000000 mmcr1:0X0090000044444402 mmcra:0X00000001
+event:0X0A62 mmcr0:0X00000000 mmcr1:0X0090000044444402 mmcra:0X00000001
+event:0X0A63 mmcr0:0X00000000 mmcr1:0X0090000044444402 mmcra:0X00000001
+
+#Group 167 pm_dcache_edge, D cache - edge
+event:0X0A70 mmcr0:0X00000000 mmcr1:0X000000000D0E0C07 mmcra:0X00000000
+event:0X0A71 mmcr0:0X00000000 mmcr1:0X000000000D0E0C07 mmcra:0X00000000
+event:0X0A72 mmcr0:0X00000000 mmcr1:0X000000000D0E0C07 mmcra:0X00000000
+event:0X0A73 mmcr0:0X00000000 mmcr1:0X000000000D0E0C07 mmcra:0X00000000
+
+#Group 168 pm_lsu_lmq_edge, LSU LMQ events - edge
+event:0X0A80 mmcr0:0X00000000 mmcr1:0X98000000AC1D1DA4 mmcra:0X00000000
+event:0X0A81 mmcr0:0X00000000 mmcr1:0X98000000AC1D1DA4 mmcra:0X00000000
+event:0X0A82 mmcr0:0X00000000 mmcr1:0X98000000AC1D1DA4 mmcra:0X00000000
+event:0X0A83 mmcr0:0X00000000 mmcr1:0X98000000AC1D1DA4 mmcra:0X00000000
+
+#Group 169 pm_gct_edge, GCT events - edge
+event:0X0A90 mmcr0:0X00000000 mmcr1:0X404000000909A7E8 mmcra:0X00000000
+event:0X0A91 mmcr0:0X00000000 mmcr1:0X404000000909A7E8 mmcra:0X00000000
+event:0X0A92 mmcr0:0X00000000 mmcr1:0X404000000909A7E8 mmcra:0X00000000
+event:0X0A93 mmcr0:0X00000000 mmcr1:0X404000000909A7E8 mmcra:0X00000000
+
+#Group 170 pm_freq_edge, Frequency events - edge
+event:0X0AA0 mmcr0:0X00000000 mmcr1:0X000000002B3D3C3C mmcra:0X00000000
+event:0X0AA1 mmcr0:0X00000000 mmcr1:0X000000002B3D3C3C mmcra:0X00000000
+event:0X0AA2 mmcr0:0X00000000 mmcr1:0X000000002B3D3C3C mmcra:0X00000000
+event:0X0AA3 mmcr0:0X00000000 mmcr1:0X000000002B3D3C3C mmcra:0X00000000
+
+#Group 171 pm_disp_wait_edge, Dispatch stalls - edge
+event:0X0AB0 mmcr0:0X00000000 mmcr1:0X00000000560D050D mmcra:0X00000000
+event:0X0AB1 mmcr0:0X00000000 mmcr1:0X00000000560D050D mmcra:0X00000000
+event:0X0AB2 mmcr0:0X00000000 mmcr1:0X00000000560D050D mmcra:0X00000000
+event:0X0AB3 mmcr0:0X00000000 mmcr1:0X00000000560D050D mmcra:0X00000000
+
+#Group 172 pm_edge1, EDGE event group
+event:0X0AC0 mmcr0:0X00000000 mmcr1:0X000006300D0C1F1E mmcra:0X00000000
+event:0X0AC1 mmcr0:0X00000000 mmcr1:0X000006300D0C1F1E mmcra:0X00000000
+event:0X0AC2 mmcr0:0X00000000 mmcr1:0X000006300D0C1F1E mmcra:0X00000000
+event:0X0AC3 mmcr0:0X00000000 mmcr1:0X000006300D0C1F1E mmcra:0X00000000
+
+#Group 173 pm_edge2, EDGE event group
+event:0X0AD0 mmcr0:0X00000000 mmcr1:0X400000008180A5A4 mmcra:0X00000000
+event:0X0AD1 mmcr0:0X00000000 mmcr1:0X400000008180A5A4 mmcra:0X00000000
+event:0X0AD2 mmcr0:0X00000000 mmcr1:0X400000008180A5A4 mmcra:0X00000000
+event:0X0AD3 mmcr0:0X00000000 mmcr1:0X400000008180A5A4 mmcra:0X00000000
+
+#Group 174 pm_edge3, EDGE event group
+event:0X0AE0 mmcr0:0X00000000 mmcr1:0X009000000BF4EBEA mmcra:0X00000000
+event:0X0AE1 mmcr0:0X00000000 mmcr1:0X009000000BF4EBEA mmcra:0X00000000
+event:0X0AE2 mmcr0:0X00000000 mmcr1:0X009000000BF4EBEA mmcra:0X00000000
+event:0X0AE3 mmcr0:0X00000000 mmcr1:0X009000000BF4EBEA mmcra:0X00000000
+
+#Group 175 pm_edge4, EDGE event group
+event:0X0AF0 mmcr0:0X00000000 mmcr1:0X400000008786A9A8 mmcra:0X00000000
+event:0X0AF1 mmcr0:0X00000000 mmcr1:0X400000008786A9A8 mmcra:0X00000000
+event:0X0AF2 mmcr0:0X00000000 mmcr1:0X400000008786A9A8 mmcra:0X00000000
+event:0X0AF3 mmcr0:0X00000000 mmcr1:0X400000008786A9A8 mmcra:0X00000000
+
+#Group 176 pm_edge5, EDGE event group
+event:0X0B00 mmcr0:0X00000000 mmcr1:0X00900000FB17EDEC mmcra:0X00000000
+event:0X0B01 mmcr0:0X00000000 mmcr1:0X00900000FB17EDEC mmcra:0X00000000
+event:0X0B02 mmcr0:0X00000000 mmcr1:0X00900000FB17EDEC mmcra:0X00000000
+event:0X0B03 mmcr0:0X00000000 mmcr1:0X00900000FB17EDEC mmcra:0X00000000
+
+#Group 177 pm_noedge5, EDGE event group
+event:0X0B10 mmcr0:0X00000000 mmcr1:0X00900000FA16EDEC mmcra:0X00000000
+event:0X0B11 mmcr0:0X00000000 mmcr1:0X00900000FA16EDEC mmcra:0X00000000
+event:0X0B12 mmcr0:0X00000000 mmcr1:0X00900000FA16EDEC mmcra:0X00000000
+event:0X0B13 mmcr0:0X00000000 mmcr1:0X00900000FA16EDEC mmcra:0X00000000
+
+#Group 178 pm_edge6, EDGE event group
+event:0X0B20 mmcr0:0X00000000 mmcr1:0X000000002B05050D mmcra:0X00000000
+event:0X0B21 mmcr0:0X00000000 mmcr1:0X000000002B05050D mmcra:0X00000000
+event:0X0B22 mmcr0:0X00000000 mmcr1:0X000000002B05050D mmcra:0X00000000
+event:0X0B23 mmcr0:0X00000000 mmcr1:0X000000002B05050D mmcra:0X00000000
+
+#Group 179 pm_noedge6, EDGE event group
+event:0X0B30 mmcr0:0X00000000 mmcr1:0X000000002A04040C mmcra:0X00000000
+event:0X0B31 mmcr0:0X00000000 mmcr1:0X000000002A04040C mmcra:0X00000000
+event:0X0B32 mmcr0:0X00000000 mmcr1:0X000000002A04040C mmcra:0X00000000
+event:0X0B33 mmcr0:0X00000000 mmcr1:0X000000002A04040C mmcra:0X00000000
+
+#Group 180 pm_edge7, EDGE event group
+event:0X0B40 mmcr0:0X00000000 mmcr1:0X0000000009091D1D mmcra:0X00000000
+event:0X0B41 mmcr0:0X00000000 mmcr1:0X0000000009091D1D mmcra:0X00000000
+event:0X0B42 mmcr0:0X00000000 mmcr1:0X0000000009091D1D mmcra:0X00000000
+event:0X0B43 mmcr0:0X00000000 mmcr1:0X0000000009091D1D mmcra:0X00000000
+
+#Group 181 pm_noedge7, NOEDGE event group
+event:0X0B50 mmcr0:0X00000000 mmcr1:0X0000000008081C1C mmcra:0X00000000
+event:0X0B51 mmcr0:0X00000000 mmcr1:0X0000000008081C1C mmcra:0X00000000
+event:0X0B52 mmcr0:0X00000000 mmcr1:0X0000000008081C1C mmcra:0X00000000
+event:0X0B53 mmcr0:0X00000000 mmcr1:0X0000000008081C1C mmcra:0X00000000
+
+#Group 182 pm_edge8, EDGE event group
+event:0X0B60 mmcr0:0X00000000 mmcr1:0X00900000CD1DEC07 mmcra:0X00000000
+event:0X0B61 mmcr0:0X00000000 mmcr1:0X00900000CD1DEC07 mmcra:0X00000000
+event:0X0B62 mmcr0:0X00000000 mmcr1:0X00900000CD1DEC07 mmcra:0X00000000
+event:0X0B63 mmcr0:0X00000000 mmcr1:0X00900000CD1DEC07 mmcra:0X00000000
+
+#Group 183 pm_noedge8, NOEDGE event group
+event:0X0B70 mmcr0:0X00000000 mmcr1:0X00900000CC1CED06 mmcra:0X00000000
+event:0X0B71 mmcr0:0X00000000 mmcr1:0X00900000CC1CED06 mmcra:0X00000000
+event:0X0B72 mmcr0:0X00000000 mmcr1:0X00900000CC1CED06 mmcra:0X00000000
+event:0X0B73 mmcr0:0X00000000 mmcr1:0X00900000CC1CED06 mmcra:0X00000000
+
+#Group 184 pm_edge9, EDGE event group
+event:0X0B80 mmcr0:0X00000000 mmcr1:0X80000000880D0CA2 mmcra:0X00000000
+event:0X0B81 mmcr0:0X00000000 mmcr1:0X80000000880D0CA2 mmcra:0X00000000
+event:0X0B82 mmcr0:0X00000000 mmcr1:0X80000000880D0CA2 mmcra:0X00000000
+event:0X0B83 mmcr0:0X00000000 mmcr1:0X80000000880D0CA2 mmcra:0X00000000
+
+#Group 185 pm_edge10, EDGE event group
+event:0X0B90 mmcr0:0X00000000 mmcr1:0X32000000AC3DAE05 mmcra:0X00000000
+event:0X0B91 mmcr0:0X00000000 mmcr1:0X32000000AC3DAE05 mmcra:0X00000000
+event:0X0B92 mmcr0:0X00000000 mmcr1:0X32000000AC3DAE05 mmcra:0X00000000
+event:0X0B93 mmcr0:0X00000000 mmcr1:0X32000000AC3DAE05 mmcra:0X00000000
+
+#Group 186 pm_noedge10, NOEDGE event group
+event:0X0BA0 mmcr0:0X00000000 mmcr1:0X32000000AC3CAE04 mmcra:0X00000000
+event:0X0BA1 mmcr0:0X00000000 mmcr1:0X32000000AC3CAE04 mmcra:0X00000000
+event:0X0BA2 mmcr0:0X00000000 mmcr1:0X32000000AC3CAE04 mmcra:0X00000000
+event:0X0BA3 mmcr0:0X00000000 mmcr1:0X32000000AC3CAE04 mmcra:0X00000000
+
+#Group 187 pm_hpm1, HPM group
+event:0X0BB0 mmcr0:0X00000000 mmcr1:0XC00000003030341E mmcra:0X00000000
+event:0X0BB1 mmcr0:0X00000000 mmcr1:0XC00000003030341E mmcra:0X00000000
+event:0X0BB2 mmcr0:0X00000000 mmcr1:0XC00000003030341E mmcra:0X00000000
+event:0X0BB3 mmcr0:0X00000000 mmcr1:0XC00000003030341E mmcra:0X00000000
+
+#Group 188 pm_hpm2, HPM group
+event:0X0BC0 mmcr0:0X00000000 mmcr1:0X8C0000000232301E mmcra:0X00000000
+event:0X0BC1 mmcr0:0X00000000 mmcr1:0X8C0000000232301E mmcra:0X00000000
+event:0X0BC2 mmcr0:0X00000000 mmcr1:0X8C0000000232301E mmcra:0X00000000
+event:0X0BC3 mmcr0:0X00000000 mmcr1:0X8C0000000232301E mmcra:0X00000000
+
+#Group 189 pm_hpm3, HPM group
+event:0X0BD0 mmcr0:0X00000000 mmcr1:0X800000001E80F002 mmcra:0X00000000
+event:0X0BD1 mmcr0:0X00000000 mmcr1:0X800000001E80F002 mmcra:0X00000000
+event:0X0BD2 mmcr0:0X00000000 mmcr1:0X800000001E80F002 mmcra:0X00000000
+event:0X0BD3 mmcr0:0X00000000 mmcr1:0X800000001E80F002 mmcra:0X00000000
+
+#Group 190 pm_hpm4, HPM group
+event:0X0BE0 mmcr0:0X00000000 mmcr1:0X800000000212A234 mmcra:0X00000000
+event:0X0BE1 mmcr0:0X00000000 mmcr1:0X800000000212A234 mmcra:0X00000000
+event:0X0BE2 mmcr0:0X00000000 mmcr1:0X800000000212A234 mmcra:0X00000000
+event:0X0BE3 mmcr0:0X00000000 mmcr1:0X800000000212A234 mmcra:0X00000000
+
+#Group 191 pm_hpm5, HPM group
+event:0X0BF0 mmcr0:0X00000000 mmcr1:0XD0000000301E1616 mmcra:0X00000000
+event:0X0BF1 mmcr0:0X00000000 mmcr1:0XD0000000301E1616 mmcra:0X00000000
+event:0X0BF2 mmcr0:0X00000000 mmcr1:0XD0000000301E1616 mmcra:0X00000000
+event:0X0BF3 mmcr0:0X00000000 mmcr1:0XD0000000301E1616 mmcra:0X00000000
+
+#Group 192 pm_hpm6, HPM group
+event:0X0C00 mmcr0:0X00000000 mmcr1:0X0000000058585A5A mmcra:0X00000000
+event:0X0C01 mmcr0:0X00000000 mmcr1:0X0000000058585A5A mmcra:0X00000000
+event:0X0C02 mmcr0:0X00000000 mmcr1:0X0000000058585A5A mmcra:0X00000000
+event:0X0C03 mmcr0:0X00000000 mmcr1:0X0000000058585A5A mmcra:0X00000000
+
+#Group 193 pm_hpm7, HPM group
+event:0X0C10 mmcr0:0X00000000 mmcr1:0X000000005A5A581E mmcra:0X00000000
+event:0X0C11 mmcr0:0X00000000 mmcr1:0X000000005A5A581E mmcra:0X00000000
+event:0X0C12 mmcr0:0X00000000 mmcr1:0X000000005A5A581E mmcra:0X00000000
+event:0X0C13 mmcr0:0X00000000 mmcr1:0X000000005A5A581E mmcra:0X00000000
+
+#Group 194 pm_hpm8, HPM group
+event:0X0C20 mmcr0:0X00000000 mmcr1:0XCC000000303030F0 mmcra:0X00000000
+event:0X0C21 mmcr0:0X00000000 mmcr1:0XCC000000303030F0 mmcra:0X00000000
+event:0X0C22 mmcr0:0X00000000 mmcr1:0XCC000000303030F0 mmcra:0X00000000
+event:0X0C23 mmcr0:0X00000000 mmcr1:0XCC000000303030F0 mmcra:0X00000000
+
+#Group 195 pm_hpm9, HPM group
+event:0X0C30 mmcr0:0X00000000 mmcr1:0X80000000801E34A8 mmcra:0X00000000
+event:0X0C31 mmcr0:0X00000000 mmcr1:0X80000000801E34A8 mmcra:0X00000000
+event:0X0C32 mmcr0:0X00000000 mmcr1:0X80000000801E34A8 mmcra:0X00000000
+event:0X0C33 mmcr0:0X00000000 mmcr1:0X80000000801E34A8 mmcra:0X00000000
+
+#Group 196 pm_hpm10, HPM group
+event:0X0C40 mmcr0:0X00000000 mmcr1:0X5040A00002325456 mmcra:0X00000000
+event:0X0C41 mmcr0:0X00000000 mmcr1:0X5040A00002325456 mmcra:0X00000000
+event:0X0C42 mmcr0:0X00000000 mmcr1:0X5040A00002325456 mmcra:0X00000000
+event:0X0C43 mmcr0:0X00000000 mmcr1:0X5040A00002325456 mmcra:0X00000000
+
+#Group 197 pm_mrk_derat_ref2, Marked DERAT ref
+event:0X0C50 mmcr0:0X00000000 mmcr1:0X0080000044440244 mmcra:0X00000001
+event:0X0C51 mmcr0:0X00000000 mmcr1:0X0080000044440244 mmcra:0X00000001
+event:0X0C52 mmcr0:0X00000000 mmcr1:0X0080000044440244 mmcra:0X00000001
+event:0X0C53 mmcr0:0X00000000 mmcr1:0X0080000044440244 mmcra:0X00000001
+
+#Group 198 pm_mrk_derat_miss2, Marked DERAT miss
+event:0X0C60 mmcr0:0X00000000 mmcr1:0X0090000044440244 mmcra:0X00000001
+event:0X0C61 mmcr0:0X00000000 mmcr1:0X0090000044440244 mmcra:0X00000001
+event:0X0C62 mmcr0:0X00000000 mmcr1:0X0090000044440244 mmcra:0X00000001
+event:0X0C63 mmcr0:0X00000000 mmcr1:0X0090000044440244 mmcra:0X00000001
diff --git a/events/ppc64/power6/events b/events/ppc64/power6/events
new file mode 100644
index 0000000..ee5be72
--- /dev/null
+++ b/events/ppc64/power6/events
@@ -0,0 +1,1211 @@
+#PPC64 POWER6 events
+#
+# Copyright OProfile authors
+# Copyright (c) International Business Machines, 2007.
+# Contributed by Dave Nomura <dcnltc@us.ibm.com>.
+#
+#
+# Within each group the event names must be unique. Each event in a group is
+# assigned to a unique counter. The groups are from the groups defined in the
+# Performance Monitor Unit user guide for this processor.
+#
+# Only events within the same group can be selected simultaneously.
+# Each event is given a unique event number. The event number is used by the
+# OProfile code to resolve event names for the post-processing. This is done
+# to preserve compatibility with the rest of the OProfile code. The event
+# numbers are formatted as follows: <group_num>concat(<counter for the event>).
+
+#Group Default
+event:0X001 counters:3 um:zero minimum:10000 name:CYCLES : Processor Cycles
+
+#Group 0 with random sampling
+event:0X002 counters:1 um:zero minimum:10000 name:CYCLES_RND_SMPL : Processor Cycles with random sampling
+
+
+#Group 1 pm_utilization, CPI and utilization data
+event:0X0010 counters:0 um:zero minimum:10000 name:PM_RUN_CYC_GRP1 : (Group 1 pm_utilization) Run cycles
+event:0X0011 counters:1 um:zero minimum:10000 name:PM_INST_CMPL_GRP1 : (Group 1 pm_utilization) Instructions completed
+event:0X0012 counters:2 um:zero minimum:1000 name:PM_INST_DISP_GRP1 : (Group 1 pm_utilization) Instructions dispatched
+event:0X0013 counters:3 um:zero minimum:10000 name:PM_CYC_GRP1 : (Group 1 pm_utilization) Processor cycles
+
+#Group 2 pm_utilization_capacity, CPU utilization and capacity
+event:0X0020 counters:0 um:zero minimum:1000 name:PM_THRD_ONE_RUN_CYC_GRP2 : (Group 2 pm_utilization_capacity) One of the threads in run cycles
+event:0X0021 counters:1 um:zero minimum:10000 name:PM_CYC_GRP2 : (Group 2 pm_utilization_capacity) Processor cycles
+event:0X0022 counters:2 um:zero minimum:1000 name:PM_THRD_CONC_RUN_INST_GRP2 : (Group 2 pm_utilization_capacity) Concurrent run instructions
+event:0X0023 counters:3 um:zero minimum:1000 name:PM_RUN_PURR_GRP2 : (Group 2 pm_utilization_capacity) Run PURR Event
+
+#Group 3 pm_branch, Branch operations
+event:0X0030 counters:0 um:zero minimum:1000 name:PM_BR_PRED_CR_GRP3 : (Group 3 pm_branch) A conditional branch was predicted, CR prediction
+event:0X0031 counters:1 um:zero minimum:1000 name:PM_BR_MPRED_CR_GRP3 : (Group 3 pm_branch) Branch mispredictions due to CR bit setting
+event:0X0032 counters:2 um:zero minimum:1000 name:PM_BR_PRED_GRP3 : (Group 3 pm_branch) A conditional branch was predicted
+event:0X0033 counters:3 um:zero minimum:1000 name:PM_BR_MPRED_COUNT_GRP3 : (Group 3 pm_branch) Branch misprediction due to count prediction
+
+#Group 4 pm_branch2, Branch operations
+event:0X0040 counters:0 um:zero minimum:1000 name:PM_BR_PRED_CCACHE_GRP4 : (Group 4 pm_branch2) Branch count cache prediction
+event:0X0041 counters:1 um:zero minimum:1000 name:PM_BR_PRED_LSTACK_GRP4 : (Group 4 pm_branch2) A conditional branch was predicted, link stack
+event:0X0042 counters:2 um:zero minimum:1000 name:PM_BR_MPRED_CCACHE_GRP4 : (Group 4 pm_branch2) Branch misprediction due to count cache prediction
+event:0X0043 counters:3 um:zero minimum:1000 name:PM_BR_MPRED_TA_GRP4 : (Group 4 pm_branch2) Branch mispredictions due to target address
+
+#Group 5 pm_branch3, Branch operations
+event:0X0050 counters:0 um:zero minimum:1000 name:PM_BR_PRED_GRP5 : (Group 5 pm_branch3) A conditional branch was predicted
+event:0X0051 counters:1 um:zero minimum:1000 name:PM_BR_PRED_CR_GRP5 : (Group 5 pm_branch3) A conditional branch was predicted, CR prediction
+event:0X0052 counters:2 um:zero minimum:1000 name:PM_BR_PRED_CCACHE_GRP5 : (Group 5 pm_branch3) Branch count cache prediction
+event:0X0053 counters:3 um:zero minimum:1000 name:PM_BR_PRED_LSTACK_GRP5 : (Group 5 pm_branch3) A conditional branch was predicted, link stack
+
+#Group 6 pm_branch4, Branch operations
+event:0X0060 counters:0 um:zero minimum:1000 name:PM_BR_MPRED_CR_GRP6 : (Group 6 pm_branch4) Branch mispredictions due to CR bit setting
+event:0X0061 counters:1 um:zero minimum:1000 name:PM_BR_MPRED_COUNT_GRP6 : (Group 6 pm_branch4) Branch misprediction due to count prediction
+event:0X0062 counters:2 um:zero minimum:1000 name:PM_BR_MPRED_TA_GRP6 : (Group 6 pm_branch4) Branch mispredictions due to target address
+event:0X0063 counters:3 um:zero minimum:1000 name:PM_BR_MPRED_CCACHE_GRP6 : (Group 6 pm_branch4) Branch misprediction due to count cache prediction
+
+#Group 7 pm_branch5, Branch operations
+event:0X0070 counters:0 um:zero minimum:1000 name:PM_BR_PRED_GRP7 : (Group 7 pm_branch5) A conditional branch was predicted
+event:0X0071 counters:1 um:zero minimum:1000 name:PM_BR_TAKEN_GRP7 : (Group 7 pm_branch5) Branches taken
+event:0X0072 counters:2 um:zero minimum:1000 name:PM_BRU_FIN_GRP7 : (Group 7 pm_branch5) BRU produced a result
+event:0X0073 counters:3 um:zero minimum:1000 name:PM_BR_MPRED_GRP7 : (Group 7 pm_branch5) Branches incorrectly predicted
+
+#Group 8 pm_dsource, Data source
+event:0X0080 counters:0 um:zero minimum:1000 name:PM_DATA_FROM_L2_GRP8 : (Group 8 pm_dsource) Data loaded from L2
+event:0X0081 counters:1 um:zero minimum:1000 name:PM_DATA_FROM_L21_GRP8 : (Group 8 pm_dsource) Data loaded from private L2 other core
+event:0X0082 counters:2 um:zero minimum:1000 name:PM_DATA_FROM_L2MISS_GRP8 : (Group 8 pm_dsource) Data loaded missed L2
+event:0X0083 counters:3 um:zero minimum:1000 name:PM_DATA_FROM_L3MISS_GRP8 : (Group 8 pm_dsource) Data loaded from private L3 miss
+
+#Group 9 pm_dsource2, Data sources
+event:0X0090 counters:0 um:zero minimum:1000 name:PM_DATA_FROM_L35_MOD_GRP9 : (Group 9 pm_dsource2) Data loaded from L3.5 modified
+event:0X0091 counters:1 um:zero minimum:1000 name:PM_DATA_FROM_L35_SHR_GRP9 : (Group 9 pm_dsource2) Data loaded from L3.5 shared
+event:0X0092 counters:2 um:zero minimum:1000 name:PM_DATA_FROM_L3_GRP9 : (Group 9 pm_dsource2) Data loaded from L3
+event:0X0093 counters:3 um:zero minimum:1000 name:PM_DATA_FROM_L3MISS_GRP9 : (Group 9 pm_dsource2) Data loaded from private L3 miss
+
+#Group 10 pm_dsource3, Data sources
+event:0X00A0 counters:0 um:zero minimum:1000 name:PM_DATA_FROM_L35_MOD_GRP10 : (Group 10 pm_dsource3) Data loaded from L3.5 modified
+event:0X00A1 counters:1 um:zero minimum:1000 name:PM_DATA_FROM_L35_SHR_GRP10 : (Group 10 pm_dsource3) Data loaded from L3.5 shared
+event:0X00A2 counters:2 um:zero minimum:1000 name:PM_DATA_FROM_L25_MOD_GRP10 : (Group 10 pm_dsource3) Data loaded from L2.5 modified
+event:0X00A3 counters:3 um:zero minimum:1000 name:PM_DATA_FROM_L25_SHR_GRP10 : (Group 10 pm_dsource3) Data loaded from L2.5 shared
+
+#Group 11 pm_dsource4, Data sources
+event:0X00B0 counters:0 um:zero minimum:1000 name:PM_DATA_FROM_RL2L3_MOD_GRP11 : (Group 11 pm_dsource4) Data loaded from remote L2 or L3 modified
+event:0X00B1 counters:1 um:zero minimum:1000 name:PM_DATA_FROM_RL2L3_SHR_GRP11 : (Group 11 pm_dsource4) Data loaded from remote L2 or L3 shared
+event:0X00B2 counters:2 um:zero minimum:1000 name:PM_DATA_FROM_DL2L3_SHR_GRP11 : (Group 11 pm_dsource4) Data loaded from distant L2 or L3 shared
+event:0X00B3 counters:3 um:zero minimum:1000 name:PM_DATA_FROM_DL2L3_MOD_GRP11 : (Group 11 pm_dsource4) Data loaded from distant L2 or L3 modified
+
+#Group 12 pm_dsource5, Data sources
+event:0X00C0 counters:0 um:zero minimum:1000 name:PM_DATA_FROM_MEM_DP_GRP12 : (Group 12 pm_dsource5) Data loaded from double pump memory
+event:0X00C1 counters:1 um:zero minimum:1000 name:PM_DATA_FROM_DMEM_GRP12 : (Group 12 pm_dsource5) Data loaded from distant memory
+event:0X00C2 counters:2 um:zero minimum:1000 name:PM_DATA_FROM_RMEM_GRP12 : (Group 12 pm_dsource5) Data loaded from remote memory
+event:0X00C3 counters:3 um:zero minimum:1000 name:PM_DATA_FROM_LMEM_GRP12 : (Group 12 pm_dsource5) Data loaded from local memory
+
+#Group 13 pm_dlatencies, Data latencies
+event:0X00D0 counters:0 um:zero minimum:1000 name:PM_LD_MISS_L1_CYC_GRP13 : (Group 13 pm_dlatencies) L1 data load miss cycles
+event:0X00D1 counters:1 um:zero minimum:1000 name:PM_DATA_FROM_RL2L3_SHR_CYC_GRP13 : (Group 13 pm_dlatencies) Load latency from remote L2 or L3 shared
+event:0X00D2 counters:2 um:zero minimum:10000 name:PM_CYC_GRP13 : (Group 13 pm_dlatencies) Processor cycles
+event:0X00D3 counters:3 um:zero minimum:1000 name:PM_DATA_FROM_L25_MOD_CYC_GRP13 : (Group 13 pm_dlatencies) Load latency from L2.5 modified
+
+#Group 14 pm_dlatencies2, Data latencies
+event:0X00E0 counters:0 um:zero minimum:10000 name:PM_INST_CMPL_GRP14 : (Group 14 pm_dlatencies2) Instructions completed
+event:0X00E1 counters:1 um:zero minimum:1000 name:PM_DATA_FROM_LMEM_CYC_GRP14 : (Group 14 pm_dlatencies2) Load latency from local memory
+event:0X00E2 counters:2 um:zero minimum:10000 name:PM_CYC_GRP14 : (Group 14 pm_dlatencies2) Processor cycles
+event:0X00E3 counters:3 um:zero minimum:1000 name:PM_DATA_FROM_DL2L3_MOD_CYC_GRP14 : (Group 14 pm_dlatencies2) Load latency from distant L2 or L3 modified
+
+#Group 15 pm_dlatencies3, Data latencies
+event:0X00F0 counters:0 um:zero minimum:10000 name:PM_INST_CMPL_GRP15 : (Group 15 pm_dlatencies3) Instructions completed
+event:0X00F1 counters:1 um:zero minimum:1000 name:PM_DATA_FROM_DMEM_CYC_GRP15 : (Group 15 pm_dlatencies3) Load latency from distant memory
+event:0X00F2 counters:2 um:zero minimum:1000 name:PM_DATA_FROM_RMEM_GRP15 : (Group 15 pm_dlatencies3) Data loaded from remote memory
+event:0X00F3 counters:3 um:zero minimum:1000 name:PM_DATA_FROM_RMEM_CYC_GRP15 : (Group 15 pm_dlatencies3) Load latency from remote memory
+
+#Group 16 pm_dlatencies4, Data latencies
+event:0X0100 counters:0 um:zero minimum:1000 name:PM_DATA_FROM_L35_MOD_GRP16 : (Group 16 pm_dlatencies4) Data loaded from L3.5 modified
+event:0X0101 counters:1 um:zero minimum:1000 name:PM_DATA_FROM_DL2L3_SHR_CYC_GRP16 : (Group 16 pm_dlatencies4) Load latency from distant L2 or L3 shared
+event:0X0102 counters:2 um:zero minimum:1000 name:PM_DATA_FROM_DL2L3_SHR_GRP16 : (Group 16 pm_dlatencies4) Data loaded from distant L2 or L3 shared
+event:0X0103 counters:3 um:zero minimum:1000 name:PM_DATA_FROM_L35_MOD_CYC_GRP16 : (Group 16 pm_dlatencies4) Load latency from L3.5 modified
+
+#Group 17 pm_dlatencies5, Data latencies
+event:0X0110 counters:0 um:zero minimum:1000 name:PM_DATA_FROM_RL2L3_MOD_GRP17 : (Group 17 pm_dlatencies5) Data loaded from remote L2 or L3 modified
+event:0X0111 counters:1 um:zero minimum:1000 name:PM_DATA_FROM_L3_CYC_GRP17 : (Group 17 pm_dlatencies5) Load latency from L3
+event:0X0112 counters:2 um:zero minimum:1000 name:PM_DATA_FROM_L3_GRP17 : (Group 17 pm_dlatencies5) Data loaded from L3
+event:0X0113 counters:3 um:zero minimum:1000 name:PM_DATA_FROM_RL2L3_MOD_CYC_GRP17 : (Group 17 pm_dlatencies5) Load latency from remote L2 or L3 modified
+
+#Group 18 pm_dlatencies6, Data latencies
+event:0X0120 counters:0 um:zero minimum:1000 name:PM_DATA_FROM_MEM_DP_GRP18 : (Group 18 pm_dlatencies6) Data loaded from double pump memory
+event:0X0121 counters:1 um:zero minimum:1000 name:PM_DATA_FROM_L25_SHR_CYC_GRP18 : (Group 18 pm_dlatencies6) Load latency from L2.5 shared
+event:0X0122 counters:2 um:zero minimum:1000 name:PM_DATA_FROM_L25_MOD_GRP18 : (Group 18 pm_dlatencies6) Data loaded from L2.5 modified
+event:0X0123 counters:3 um:zero minimum:1000 name:PM_DATA_FROM_MEM_DP_CYC_GRP18 : (Group 18 pm_dlatencies6) Load latency from double pump memory
+
+#Group 19 pm_dlatencies7, Data latencies
+event:0X0130 counters:0 um:zero minimum:1000 name:PM_DATA_FROM_L2_GRP19 : (Group 19 pm_dlatencies7) Data loaded from L2
+event:0X0131 counters:1 um:zero minimum:1000 name:PM_DATA_FROM_L2_CYC_GRP19 : (Group 19 pm_dlatencies7) Load latency from L2
+event:0X0132 counters:2 um:zero minimum:1000 name:PM_INST_DISP_GRP19 : (Group 19 pm_dlatencies7) Instructions dispatched
+event:0X0133 counters:3 um:zero minimum:1000 name:PM_L1_DCACHE_RELOAD_VALID_GRP19 : (Group 19 pm_dlatencies7) L1 reload data source valid
+
+#Group 20 pm_dlatencies8, Data latencies
+event:0X0140 counters:0 um:zero minimum:1000 name:PM_FLUSH_GRP20 : (Group 20 pm_dlatencies8) Flushes
+event:0X0141 counters:1 um:zero minimum:1000 name:PM_DATA_FROM_L21_GRP20 : (Group 20 pm_dlatencies8) Data loaded from private L2 other core
+event:0X0142 counters:2 um:zero minimum:10000 name:PM_CYC_GRP20 : (Group 20 pm_dlatencies8) Processor cycles
+event:0X0143 counters:3 um:zero minimum:1000 name:PM_DATA_FROM_L21_CYC_GRP20 : (Group 20 pm_dlatencies8) Load latency from private L2 other core
+
+#Group 21 pm_dlatencies9, Data latencies
+event:0X0150 counters:0 um:zero minimum:1000 name:PM_1PLUS_PPC_DISP_GRP21 : (Group 21 pm_dlatencies9) Cycles at least one instruction dispatched
+event:0X0151 counters:1 um:zero minimum:1000 name:PM_DATA_FROM_LMEM_CYC_GRP21 : (Group 21 pm_dlatencies9) Load latency from local memory
+event:0X0152 counters:2 um:zero minimum:1000 name:PM_INST_DISP_GRP21 : (Group 21 pm_dlatencies9) Instructions dispatched
+event:0X0153 counters:3 um:zero minimum:1000 name:PM_DATA_FROM_LMEM_GRP21 : (Group 21 pm_dlatencies9) Data loaded from local memory
+
+#Group 22 pm_dlatencies10, Data latencies
+event:0X0160 counters:0 um:zero minimum:1000 name:PM_DATA_FROM_L35_MOD_GRP22 : (Group 22 pm_dlatencies10) Data loaded from L3.5 modified
+event:0X0161 counters:1 um:zero minimum:1000 name:PM_DATA_FROM_L35_SHR_CYC_GRP22 : (Group 22 pm_dlatencies10) Load latency from L3.5 shared
+event:0X0162 counters:2 um:zero minimum:10000 name:PM_CYC_GRP22 : (Group 22 pm_dlatencies10) Processor cycles
+event:0X0163 counters:3 um:zero minimum:1000 name:PM_DATA_FROM_L35_MOD_CYC_GRP22 : (Group 22 pm_dlatencies10) Load latency from L3.5 modified
+
+#Group 23 pm_isource, Instruction sources
+event:0X0170 counters:0 um:zero minimum:1000 name:PM_INST_FROM_L2_GRP23 : (Group 23 pm_isource) Instructions fetched from L2
+event:0X0171 counters:1 um:zero minimum:1000 name:PM_INST_FROM_L21_GRP23 : (Group 23 pm_isource) Instruction fetched from private L2 other core
+event:0X0172 counters:2 um:zero minimum:1000 name:PM_INST_FROM_L25_MOD_GRP23 : (Group 23 pm_isource) Instruction fetched from L2.5 modified
+event:0X0173 counters:3 um:zero minimum:1000 name:PM_INST_FROM_L2MISS_GRP23 : (Group 23 pm_isource) Instructions fetched missed L2
+
+#Group 24 pm_isource2, Instruction sources
+event:0X0180 counters:0 um:zero minimum:1000 name:PM_INST_FROM_L35_MOD_GRP24 : (Group 24 pm_isource2) Instruction fetched from L3.5 modified
+event:0X0181 counters:1 um:zero minimum:1000 name:PM_INST_FROM_L35_SHR_GRP24 : (Group 24 pm_isource2) Instruction fetched from L3.5 shared
+event:0X0182 counters:2 um:zero minimum:1000 name:PM_INST_FROM_L3_GRP24 : (Group 24 pm_isource2) Instruction fetched from L3
+event:0X0183 counters:3 um:zero minimum:1000 name:PM_INST_FROM_L25_SHR_GRP24 : (Group 24 pm_isource2) Instruction fetched from L2.5 shared
+
+#Group 25 pm_isource3, Instruction sources
+event:0X0190 counters:0 um:zero minimum:1000 name:PM_INST_FROM_RL2L3_MOD_GRP25 : (Group 25 pm_isource3) Instruction fetched from remote L2 or L3 modified
+event:0X0191 counters:1 um:zero minimum:1000 name:PM_INST_FROM_RL2L3_SHR_GRP25 : (Group 25 pm_isource3) Instruction fetched from remote L2 or L3 shared
+event:0X0192 counters:2 um:zero minimum:1000 name:PM_INST_FROM_DL2L3_SHR_GRP25 : (Group 25 pm_isource3) Instruction fetched from distant L2 or L3 shared
+event:0X0193 counters:3 um:zero minimum:1000 name:PM_INST_FROM_DL2L3_MOD_GRP25 : (Group 25 pm_isource3) Instruction fetched from distant L2 or L3 modified
+
+#Group 26 pm_isource4, Instruction sources
+event:0X01A0 counters:0 um:zero minimum:1000 name:PM_INST_FROM_MEM_DP_GRP26 : (Group 26 pm_isource4) Instruction fetched from double pump memory
+event:0X01A1 counters:1 um:zero minimum:1000 name:PM_INST_FROM_DMEM_GRP26 : (Group 26 pm_isource4) Instruction fetched from distant memory
+event:0X01A2 counters:2 um:zero minimum:1000 name:PM_INST_FROM_RMEM_GRP26 : (Group 26 pm_isource4) Instruction fetched from remote memory
+event:0X01A3 counters:3 um:zero minimum:1000 name:PM_INST_FROM_LMEM_GRP26 : (Group 26 pm_isource4) Instruction fetched from local memory
+
+#Group 27 pm_isource5, Instruction sources
+event:0X01B0 counters:0 um:zero minimum:1000 name:PM_INST_FROM_L2_GRP27 : (Group 27 pm_isource5) Instructions fetched from L2
+event:0X01B1 counters:1 um:zero minimum:1000 name:PM_INST_FROM_L21_GRP27 : (Group 27 pm_isource5) Instruction fetched from private L2 other core
+event:0X01B2 counters:2 um:zero minimum:1000 name:PM_INST_FROM_L3MISS_GRP27 : (Group 27 pm_isource5) Instruction fetched missed L3
+event:0X01B3 counters:3 um:zero minimum:1000 name:PM_INST_FROM_L2MISS_GRP27 : (Group 27 pm_isource5) Instructions fetched missed L2
+
+#Group 28 pm_pteg, PTEG sources
+event:0X01C0 counters:0 um:zero minimum:1000 name:PM_PTEG_FROM_L2_GRP28 : (Group 28 pm_pteg) PTEG loaded from L2
+event:0X01C1 counters:1 um:zero minimum:1000 name:PM_PTEG_FROM_L21_GRP28 : (Group 28 pm_pteg) PTEG loaded from private L2 other core
+event:0X01C2 counters:2 um:zero minimum:1000 name:PM_PTEG_FROM_L25_MOD_GRP28 : (Group 28 pm_pteg) PTEG loaded from L2.5 modified
+event:0X01C3 counters:3 um:zero minimum:1000 name:PM_PTEG_FROM_L25_SHR_GRP28 : (Group 28 pm_pteg) PTEG loaded from L2.5 shared
+
+#Group 29 pm_pteg2, PTEG sources
+event:0X01D0 counters:0 um:zero minimum:1000 name:PM_PTEG_FROM_L2MISS_GRP29 : (Group 29 pm_pteg2) PTEG loaded from L2 miss
+event:0X01D1 counters:1 um:zero minimum:1000 name:PM_PTEG_FROM_L21_GRP29 : (Group 29 pm_pteg2) PTEG loaded from private L2 other core
+event:0X01D2 counters:2 um:zero minimum:1000 name:PM_PTEG_FROM_L3_GRP29 : (Group 29 pm_pteg2) PTEG loaded from L3
+event:0X01D3 counters:3 um:zero minimum:1000 name:PM_PTEG_FROM_DL2L3_MOD_GRP29 : (Group 29 pm_pteg2) PTEG loaded from distant L2 or L3 modified
+
+#Group 30 pm_pteg3, PTEG sources
+event:0X01E0 counters:0 um:zero minimum:1000 name:PM_PTEG_FROM_L35_MOD_GRP30 : (Group 30 pm_pteg3) PTEG loaded from L3.5 modified
+event:0X01E1 counters:1 um:zero minimum:1000 name:PM_PTEG_FROM_L35_SHR_GRP30 : (Group 30 pm_pteg3) PTEG loaded from L3.5 shared
+event:0X01E2 counters:2 um:zero minimum:1000 name:PM_PTEG_FROM_L3MISS_GRP30 : (Group 30 pm_pteg3) PTEG loaded from L3 miss
+event:0X01E3 counters:3 um:zero minimum:1000 name:PM_PTEG_FROM_LMEM_GRP30 : (Group 30 pm_pteg3) PTEG loaded from local memory
+
+#Group 31 pm_pteg4, PTEG sources
+event:0X01F0 counters:0 um:zero minimum:1000 name:PM_PTEG_FROM_MEM_DP_GRP31 : (Group 31 pm_pteg4) PTEG loaded from double pump memory
+event:0X01F1 counters:1 um:zero minimum:1000 name:PM_PTEG_FROM_DMEM_GRP31 : (Group 31 pm_pteg4) PTEG loaded from distant memory
+event:0X01F2 counters:2 um:zero minimum:1000 name:PM_PTEG_FROM_RMEM_GRP31 : (Group 31 pm_pteg4) PTEG loaded from remote memory
+event:0X01F3 counters:3 um:zero minimum:1000 name:PM_PTEG_FROM_LMEM_GRP31 : (Group 31 pm_pteg4) PTEG loaded from local memory
+
+#Group 32 pm_pteg5, PTEG sources
+event:0X0200 counters:0 um:zero minimum:1000 name:PM_PTEG_FROM_RL2L3_MOD_GRP32 : (Group 32 pm_pteg5) PTEG loaded from remote L2 or L3 modified
+event:0X0201 counters:1 um:zero minimum:1000 name:PM_PTEG_FROM_RL2L3_SHR_GRP32 : (Group 32 pm_pteg5) PTEG loaded from remote L2 or L3 shared
+event:0X0202 counters:2 um:zero minimum:1000 name:PM_PTEG_FROM_DL2L3_SHR_GRP32 : (Group 32 pm_pteg5) PTEG loaded from distant L2 or L3 shared
+event:0X0203 counters:3 um:zero minimum:1000 name:PM_PTEG_RELOAD_VALID_GRP32 : (Group 32 pm_pteg5) TLB reload valid
+
+#Group 33 pm_data_tablewalk, Data tablewalks
+event:0X0210 counters:0 um:zero minimum:1000 name:PM_DATA_PTEG_1ST_HALF_GRP33 : (Group 33 pm_data_tablewalk) Data table walk matched in first half primary PTEG
+event:0X0211 counters:1 um:zero minimum:1000 name:PM_DATA_PTEG_2ND_HALF_GRP33 : (Group 33 pm_data_tablewalk) Data table walk matched in second half pri­mary PTEG
+event:0X0212 counters:2 um:zero minimum:1000 name:PM_DATA_PTEG_SECONDARY_GRP33 : (Group 33 pm_data_tablewalk) Data table walk matched in secondary PTEG
+event:0X0213 counters:3 um:zero minimum:1000 name:PM_TLB_REF_GRP33 : (Group 33 pm_data_tablewalk) TLB reference
+
+#Group 34 pm_inst_tablewalk, Instruction tablewalks
+event:0X0220 counters:0 um:zero minimum:1000 name:PM_INST_PTEG_1ST_HALF_GRP34 : (Group 34 pm_inst_tablewalk) Instruction table walk matched in first half primary PTEG
+event:0X0221 counters:1 um:zero minimum:1000 name:PM_INST_PTEG_2ND_HALF_GRP34 : (Group 34 pm_inst_tablewalk) Instruction table walk matched in second half primary PTEG
+event:0X0222 counters:2 um:zero minimum:1000 name:PM_INST_PTEG_SECONDARY_GRP34 : (Group 34 pm_inst_tablewalk) Instruction table walk matched in secondary PTEG
+event:0X0223 counters:3 um:zero minimum:1000 name:PM_INST_TABLEWALK_CYC_GRP34 : (Group 34 pm_inst_tablewalk) Cycles doing instruction tablewalks
+
+#Group 35 pm_freq, Frequency events
+event:0X0230 counters:0 um:zero minimum:1000 name:PM_DPU_HELD_THERMAL_GRP35 : (Group 35 pm_freq) DISP unit held due to thermal condition
+event:0X0231 counters:1 um:zero minimum:1000 name:PM_DPU_HELD_POWER_GRP35 : (Group 35 pm_freq) DISP unit held due to Power Management
+event:0X0232 counters:2 um:zero minimum:1000 name:PM_FREQ_DOWN_GRP35 : (Group 35 pm_freq) Frequency is being slewed down due to Power Management
+event:0X0233 counters:3 um:zero minimum:1000 name:PM_FREQ_UP_GRP35 : (Group 35 pm_freq) Frequency is being slewed up due to Power Management
+
+#Group 36 pm_disp_wait, Dispatch stalls
+event:0X0240 counters:0 um:zero minimum:1000 name:PM_L1_ICACHE_MISS_GRP36 : (Group 36 pm_disp_wait) L1 I cache miss count
+event:0X0241 counters:1 um:zero minimum:1000 name:PM_DPU_WT_IC_MISS_GRP36 : (Group 36 pm_disp_wait) Cycles DISP unit is stalled due to I cache miss
+event:0X0242 counters:2 um:zero minimum:1000 name:PM_DPU_WT_GRP36 : (Group 36 pm_disp_wait) Cycles DISP unit is stalled waiting for instructions
+event:0X0243 counters:3 um:zero minimum:1000 name:PM_DPU_WT_BR_MPRED_GRP36 : (Group 36 pm_disp_wait) Cycles DISP unit is stalled due to branch misprediction
+
+#Group 37 pm_disp_held, Dispatch held conditions
+event:0X0250 counters:0 um:zero minimum:1000 name:PM_DPU_HELD_THERMAL_GRP37 : (Group 37 pm_disp_held) DISP unit held due to thermal condition
+event:0X0251 counters:1 um:zero minimum:1000 name:PM_DPU_HELD_POWER_GRP37 : (Group 37 pm_disp_held) DISP unit held due to Power Management
+event:0X0252 counters:2 um:zero minimum:1000 name:PM_THERMAL_MAX_GRP37 : (Group 37 pm_disp_held) Processor in thermal MAX
+event:0X0253 counters:3 um:zero minimum:1000 name:PM_DPU_HELD_SMT_GRP37 : (Group 37 pm_disp_held) DISP unit held due to SMT conflicts
+
+#Group 38 pm_disp_held2, Dispatch held conditions
+event:0X0260 counters:0 um:zero minimum:1000 name:PM_DPU_HELD_GPR_GRP38 : (Group 38 pm_disp_held2) DISP unit held due to GPR dependencies
+event:0X0261 counters:1 um:zero minimum:1000 name:PM_DPU_HELD_GRP38 : (Group 38 pm_disp_held2) DISP unit held
+event:0X0262 counters:2 um:zero minimum:1000 name:PM_DPU_HELD_CW_GRP38 : (Group 38 pm_disp_held2) DISP unit held due to cache writes
+event:0X0263 counters:3 um:zero minimum:1000 name:PM_DPU_HELD_FPQ_GRP38 : (Group 38 pm_disp_held2) DISP unit held due to FPU issue queue full
+
+#Group 39 pm_disp_held3, Dispatch held conditions
+event:0X0270 counters:0 um:zero minimum:1000 name:PM_DPU_HELD_XER_GRP39 : (Group 39 pm_disp_held3) DISP unit held due to XER dependency
+event:0X0271 counters:1 um:zero minimum:1000 name:PM_DPU_HELD_ISYNC_GRP39 : (Group 39 pm_disp_held3) DISP unit held due to ISYNC
+event:0X0272 counters:2 um:zero minimum:1000 name:PM_DPU_HELD_STCX_CR_GRP39 : (Group 39 pm_disp_held3) DISP unit held due to STCX updating CR
+event:0X0273 counters:3 um:zero minimum:1000 name:PM_DPU_HELD_RU_WQ_GRP39 : (Group 39 pm_disp_held3) DISP unit held due to RU FXU write queue full
+
+#Group 40 pm_disp_held4, Dispatch held conditions
+event:0X0280 counters:0 um:zero minimum:1000 name:PM_DPU_HELD_FPU_CR_GRP40 : (Group 40 pm_disp_held4) DISP unit held due to FPU updating CR
+event:0X0281 counters:1 um:zero minimum:1000 name:PM_DPU_HELD_LSU_GRP40 : (Group 40 pm_disp_held4) DISP unit held due to LSU move or invalidate SLB and SR
+event:0X0282 counters:2 um:zero minimum:1000 name:PM_DPU_HELD_ITLB_ISLB_GRP40 : (Group 40 pm_disp_held4) DISP unit held due to SLB or TLB invalidates
+event:0X0283 counters:3 um:zero minimum:1000 name:PM_DPU_HELD_FXU_MULTI_GRP40 : (Group 40 pm_disp_held4) DISP unit held due to FXU multicycle
+
+#Group 41 pm_disp_held5, Dispatch held conditions
+event:0X0290 counters:0 um:zero minimum:1000 name:PM_DPU_HELD_FP_FX_MULT_GRP41 : (Group 41 pm_disp_held5) DISP unit held due to non fixed multiple/divide after fixed multiply/divide
+event:0X0291 counters:1 um:zero minimum:1000 name:PM_DPU_HELD_MULT_GPR_GRP41 : (Group 41 pm_disp_held5) DISP unit held due to multiple/divide multiply/divide GPR dependencies
+event:0X0292 counters:2 um:zero minimum:1000 name:PM_DPU_HELD_COMPLETION_GRP41 : (Group 41 pm_disp_held5) DISP unit held due to completion holding dispatch
+event:0X0293 counters:3 um:zero minimum:1000 name:PM_DPU_HELD_GPR_GRP41 : (Group 41 pm_disp_held5) DISP unit held due to GPR dependencies
+
+#Group 42 pm_disp_held6, Dispatch held conditions
+event:0X02A0 counters:0 um:zero minimum:1000 name:PM_DPU_HELD_INT_GRP42 : (Group 42 pm_disp_held6) DISP unit held due to exception
+event:0X02A1 counters:1 um:zero minimum:1000 name:PM_DPU_HELD_XTHRD_GRP42 : (Group 42 pm_disp_held6) DISP unit held due to cross thread resource conflicts
+event:0X02A2 counters:2 um:zero minimum:1000 name:PM_DPU_HELD_LLA_END_GRP42 : (Group 42 pm_disp_held6) DISP unit held due to load look ahead ended
+event:0X02A3 counters:3 um:zero minimum:1000 name:PM_DPU_HELD_RESTART_GRP42 : (Group 42 pm_disp_held6) DISP unit held after restart coming
+
+#Group 43 pm_disp_held7, Dispatch held conditions
+event:0X02B0 counters:0 um:zero minimum:1000 name:PM_DPU_HELD_FXU_SOPS_GRP43 : (Group 43 pm_disp_held7) DISP unit held due to FXU slow ops (mtmsr, scv, rfscv)
+event:0X02B1 counters:1 um:zero minimum:1000 name:PM_DPU_HELD_THRD_PRIO_GRP43 : (Group 43 pm_disp_held7) DISP unit held due to lower priority thread
+event:0X02B2 counters:2 um:zero minimum:1000 name:PM_DPU_HELD_SPR_GRP43 : (Group 43 pm_disp_held7) DISP unit held due to MTSPR/MFSPR
+event:0X02B3 counters:3 um:zero minimum:1000 name:PM_DPU_HELD_CR_LOGICAL_GRP43 : (Group 43 pm_disp_held7) DISP unit held due to CR, LR or CTR updated by CR logical, MTCRF, MTLR or MTCTR
+
+#Group 44 pm_disp_held8, Dispatch held conditions
+event:0X02C0 counters:0 um:zero minimum:1000 name:PM_DPU_HELD_ISYNC_GRP44 : (Group 44 pm_disp_held8) DISP unit held due to ISYNC
+event:0X02C1 counters:1 um:zero minimum:1000 name:PM_DPU_HELD_STCX_CR_GRP44 : (Group 44 pm_disp_held8) DISP unit held due to STCX updating CR
+event:0X02C2 counters:2 um:zero minimum:1000 name:PM_DPU_HELD_RU_WQ_GRP44 : (Group 44 pm_disp_held8) DISP unit held due to RU FXU write queue full
+event:0X02C3 counters:3 um:zero minimum:1000 name:PM_DPU_HELD_FPU_CR_GRP44 : (Group 44 pm_disp_held8) DISP unit held due to FPU updating CR
+
+#Group 45 pm_disp_held9, Dispatch held conditions
+event:0X02D0 counters:0 um:zero minimum:1000 name:PM_DPU_HELD_ISYNC_GRP45 : (Group 45 pm_disp_held9) DISP unit held due to ISYNC
+event:0X02D1 counters:1 um:zero minimum:1000 name:PM_DPU_HELD_FPU_CR_GRP45 : (Group 45 pm_disp_held9) DISP unit held due to FPU updating CR
+event:0X02D2 counters:2 um:zero minimum:1000 name:PM_DPU_HELD_MULT_GPR_GRP45 : (Group 45 pm_disp_held9) DISP unit held due to multiple/divide multiply/divide GPR dependencies
+event:0X02D3 counters:3 um:zero minimum:1000 name:PM_DPU_HELD_COMPLETION_GRP45 : (Group 45 pm_disp_held9) DISP unit held due to completion holding dispatch
+
+#Group 46 pm_sync, Sync events
+event:0X02E0 counters:0 um:zero minimum:1000 name:PM_LWSYNC_GRP46 : (Group 46 pm_sync) Isync instruction completed
+event:0X02E1 counters:1 um:zero minimum:10000 name:PM_CYC_GRP46 : (Group 46 pm_sync) Processor cycles
+event:0X02E2 counters:2 um:zero minimum:1000 name:PM_SYNC_CYC_GRP46 : (Group 46 pm_sync) Sync duration
+event:0X02E3 counters:3 um:zero minimum:1000 name:PM_DPU_HELD_LSU_SOPS_GRP46 : (Group 46 pm_sync) DISP unit held due to LSU slow ops (sync, tlbie, stcx)
+
+#Group 47 pm_L1_ref, L1 references
+event:0X02F0 counters:0 um:zero minimum:1000 name:PM_LD_REF_L1_BOTH_GRP47 : (Group 47 pm_L1_ref) Both units L1 D cache load reference
+event:0X02F1 counters:1 um:zero minimum:1000 name:PM_LD_REF_L1_GRP47 : (Group 47 pm_L1_ref) L1 D cache load references
+event:0X02F2 counters:2 um:zero minimum:1000 name:PM_ST_REF_L1_GRP47 : (Group 47 pm_L1_ref) L1 D cache store references
+event:0X02F3 counters:3 um:zero minimum:1000 name:PM_ST_REF_L1_BOTH_GRP47 : (Group 47 pm_L1_ref) Both units L1 D cache store reference
+
+#Group 48 pm_L1_ldst, L1 load/store ref/miss
+event:0X0300 counters:0 um:zero minimum:1000 name:PM_ST_REF_L1_GRP48 : (Group 48 pm_L1_ldst) L1 D cache store references
+event:0X0301 counters:1 um:zero minimum:1000 name:PM_LD_REF_L1_GRP48 : (Group 48 pm_L1_ldst) L1 D cache load references
+event:0X0302 counters:2 um:zero minimum:1000 name:PM_ST_MISS_L1_GRP48 : (Group 48 pm_L1_ldst) L1 D cache store misses
+event:0X0303 counters:3 um:zero minimum:1000 name:PM_LD_MISS_L1_GRP48 : (Group 48 pm_L1_ldst) L1 D cache load misses
+
+#Group 49 pm_streams, Streams
+event:0X0310 counters:0 um:zero minimum:1000 name:PM_DC_PREF_OUT_OF_STREAMS_GRP49 : (Group 49 pm_streams) D cache out of streams
+event:0X0311 counters:1 um:zero minimum:1000 name:PM_DC_PREF_STREAM_ALLOC_GRP49 : (Group 49 pm_streams) D cache new prefetch stream allocated
+event:0X0312 counters:2 um:zero minimum:1000 name:PM_L1_PREF_GRP49 : (Group 49 pm_streams) L1 cache data prefetches
+event:0X0313 counters:3 um:zero minimum:1000 name:PM_IBUF_FULL_CYC_GRP49 : (Group 49 pm_streams) Cycles instruction buffer full
+
+#Group 50 pm_flush, Flushes
+event:0X0320 counters:0 um:zero minimum:1000 name:PM_FLUSH_GRP50 : (Group 50 pm_flush) Flushes
+event:0X0321 counters:1 um:zero minimum:1000 name:PM_FLUSH_ASYNC_GRP50 : (Group 50 pm_flush) Flush caused by asynchronous exception
+event:0X0322 counters:2 um:zero minimum:1000 name:PM_FLUSH_FPU_GRP50 : (Group 50 pm_flush) Flush caused by FPU exception
+event:0X0323 counters:3 um:zero minimum:1000 name:PM_FLUSH_FXU_GRP50 : (Group 50 pm_flush) Flush caused by FXU exception
+
+#Group 51 pm_prefetch, I cache Prefetches
+event:0X0330 counters:0 um:zero minimum:1000 name:PM_IC_REQ_GRP51 : (Group 51 pm_prefetch) I cache demand of prefetch request
+event:0X0331 counters:1 um:zero minimum:1000 name:PM_IC_PREF_REQ_GRP51 : (Group 51 pm_prefetch) Instruction prefetch requests
+event:0X0332 counters:2 um:zero minimum:1000 name:PM_IC_RELOAD_SHR_GRP51 : (Group 51 pm_prefetch) I cache line reloading to be shared by threads
+event:0X0333 counters:3 um:zero minimum:1000 name:PM_IC_PREF_WRITE_GRP51 : (Group 51 pm_prefetch) Instruction prefetch written into I cache
+
+#Group 52 pm_stcx, STCX
+event:0X0340 counters:0 um:zero minimum:1000 name:PM_STCX_GRP52 : (Group 52 pm_stcx) STCX executed
+event:0X0341 counters:1 um:zero minimum:1000 name:PM_STCX_CANCEL_GRP52 : (Group 52 pm_stcx) stcx cancel by core
+event:0X0342 counters:2 um:zero minimum:1000 name:PM_STCX_FAIL_GRP52 : (Group 52 pm_stcx) STCX failed
+event:0X0343 counters:3 um:zero minimum:1000 name:PM_LARX_GRP52 : (Group 52 pm_stcx) Larx executed
+
+#Group 53 pm_larx, LARX
+event:0X0350 counters:0 um:zero minimum:1000 name:PM_LARX_GRP53 : (Group 53 pm_larx) Larx executed
+event:0X0351 counters:1 um:zero minimum:1000 name:PM_LARX_L1HIT_GRP53 : (Group 53 pm_larx) larx hits in L1
+event:0X0352 counters:2 um:zero minimum:1000 name:PM_STCX_GRP53 : (Group 53 pm_larx) STCX executed
+event:0X0353 counters:3 um:zero minimum:1000 name:PM_STCX_FAIL_GRP53 : (Group 53 pm_larx) STCX failed
+
+#Group 54 pm_thread_cyc, Thread cycles
+event:0X0360 counters:0 um:zero minimum:1000 name:PM_THRD_ONE_RUN_CYC_GRP54 : (Group 54 pm_thread_cyc) One of the threads in run cycles
+event:0X0361 counters:1 um:zero minimum:1000 name:PM_THRD_GRP_CMPL_BOTH_CYC_GRP54 : (Group 54 pm_thread_cyc) Cycles group completed by both threads
+event:0X0362 counters:2 um:zero minimum:1000 name:PM_THRD_CONC_RUN_INST_GRP54 : (Group 54 pm_thread_cyc) Concurrent run instructions
+event:0X0363 counters:3 um:zero minimum:1000 name:PM_THRD_BOTH_RUN_CYC_GRP54 : (Group 54 pm_thread_cyc) Both threads in run cycles
+
+#Group 55 pm_misc, Misc
+event:0X0370 counters:0 um:zero minimum:1000 name:PM_1PLUS_PPC_CMPL_GRP55 : (Group 55 pm_misc) One or more PPC instruction completed
+event:0X0371 counters:1 um:zero minimum:1000 name:PM_HV_CYC_GRP55 : (Group 55 pm_misc) Hypervisor Cycles
+event:0X0372 counters:2 um:zero minimum:1000 name:PM_THRESH_TIMEO_GRP55 : (Group 55 pm_misc) Threshold timeout
+event:0X0373 counters:3 um:zero minimum:1000 name:PM_THRD_LLA_BOTH_CYC_GRP55 : (Group 55 pm_misc) Both threads in Load Look Ahead
+
+#Group 56 pm_misc2, Misc
+event:0X0380 counters:0 um:zero minimum:1000 name:PM_EE_OFF_EXT_INT_GRP56 : (Group 56 pm_misc2) Cycles MSR(EE) bit off and external interrupt pending
+event:0X0381 counters:1 um:zero minimum:1000 name:PM_EXT_INT_GRP56 : (Group 56 pm_misc2) External interrupts
+event:0X0382 counters:2 um:zero minimum:1000 name:PM_TB_BIT_TRANS_GRP56 : (Group 56 pm_misc2) Time Base bit transition
+event:0X0383 counters:3 um:zero minimum:1000 name:PM_0INST_FETCH_GRP56 : (Group 56 pm_misc2) No instructions fetched
+
+#Group 57 pm_misc3, Misc
+event:0X0390 counters:0 um:zero minimum:1000 name:PM_ST_FIN_GRP57 : (Group 57 pm_misc3) Store instructions finished
+event:0X0391 counters:1 um:zero minimum:1000 name:PM_THRD_L2MISS_GRP57 : (Group 57 pm_misc3) Thread in L2 miss
+event:0X0392 counters:2 um:zero minimum:10000 name:PM_CYC_GRP57 : (Group 57 pm_misc3) Processor cycles
+event:0X0393 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP57 : (Group 57 pm_misc3) Instructions completed
+
+#Group 58 pm_tlb_slb, TLB and SLB events
+event:0X03A0 counters:0 um:zero minimum:1000 name:PM_ISLB_MISS_GRP58 : (Group 58 pm_tlb_slb) Instruction SLB misses
+event:0X03A1 counters:1 um:zero minimum:1000 name:PM_DSLB_MISS_GRP58 : (Group 58 pm_tlb_slb) Data SLB misses
+event:0X03A2 counters:2 um:zero minimum:1000 name:PM_TLB_REF_GRP58 : (Group 58 pm_tlb_slb) TLB reference
+event:0X03A3 counters:3 um:zero minimum:1000 name:PM_ITLB_REF_GRP58 : (Group 58 pm_tlb_slb) Instruction TLB reference
+
+#Group 59 pm_slb_miss, SLB Misses
+event:0X03B0 counters:0 um:zero minimum:1000 name:PM_ISLB_MISS_GRP59 : (Group 59 pm_slb_miss) Instruction SLB misses
+event:0X03B1 counters:1 um:zero minimum:1000 name:PM_DSLB_MISS_GRP59 : (Group 59 pm_slb_miss) Data SLB misses
+event:0X03B2 counters:2 um:zero minimum:1000 name:PM_IERAT_MISS_GRP59 : (Group 59 pm_slb_miss) IERAT miss count
+event:0X03B3 counters:3 um:zero minimum:1000 name:PM_SLB_MISS_GRP59 : (Group 59 pm_slb_miss) SLB misses
+
+#Group 60 pm_rejects, Reject events
+event:0X03C0 counters:0 um:zero minimum:1000 name:PM_LSU_REJECT_L2_CORR_GRP60 : (Group 60 pm_rejects) LSU reject due to L2 correctable error
+event:0X03C1 counters:1 um:zero minimum:1000 name:PM_LSU_REJECT_DERAT_MPRED_GRP60 : (Group 60 pm_rejects) LSU reject due to mispredicted DERAT
+event:0X03C2 counters:2 um:zero minimum:1000 name:PM_LSU_REJECT_FAST_GRP60 : (Group 60 pm_rejects) LSU fast reject
+event:0X03C3 counters:3 um:zero minimum:1000 name:PM_LSU_REJECT_GRP60 : (Group 60 pm_rejects) LSU reject
+
+#Group 61 pm_rejects2, Reject events
+event:0X03D0 counters:0 um:zero minimum:1000 name:PM_LSU_REJECT_LHS_GRP61 : (Group 61 pm_rejects2) Load hit store reject
+event:0X03D1 counters:1 um:zero minimum:1000 name:PM_LSU_REJECT_LHS_BOTH_GRP61 : (Group 61 pm_rejects2) Load hit store reject both units
+event:0X03D2 counters:2 um:zero minimum:1000 name:PM_LSU_REJECT_EXTERN_GRP61 : (Group 61 pm_rejects2) LSU external reject request
+event:0X03D3 counters:3 um:zero minimum:1000 name:PM_LSU_REJECT_STEAL_GRP61 : (Group 61 pm_rejects2) LSU reject due to steal
+
+#Group 62 pm_rejects3, Reject events
+event:0X03E0 counters:0 um:zero minimum:1000 name:PM_LSU_REJECT_STQ_FULL_GRP62 : (Group 62 pm_rejects3) LSU reject due to store queue full
+event:0X03E1 counters:1 um:zero minimum:1000 name:PM_LSU_REJECT_SLOW_GRP62 : (Group 62 pm_rejects3) LSU slow reject
+event:0X03E2 counters:2 um:zero minimum:1000 name:PM_LSU_REJECT_NO_SCRATCH_GRP62 : (Group 62 pm_rejects3) LSU reject due to scratch register not available
+event:0X03E3 counters:3 um:zero minimum:1000 name:PM_LSU_REJECT_PARTIAL_SECTOR_GRP62 : (Group 62 pm_rejects3) LSU reject due to partial sector valid
+
+#Group 63 pm_rejects4, Unaligned store rejects
+event:0X03F0 counters:0 um:zero minimum:1000 name:PM_LSU_REJECT_UST_BOTH_GRP63 : (Group 63 pm_rejects4) Unaligned store reject both units
+event:0X03F1 counters:1 um:zero minimum:1000 name:PM_LSU_REJECT_UST_GRP63 : (Group 63 pm_rejects4) Unaligned store reject
+event:0X03F2 counters:2 um:zero minimum:1000 name:PM_LSU0_REJECT_UST_GRP63 : (Group 63 pm_rejects4) LSU0 unaligned store reject
+event:0X03F3 counters:3 um:zero minimum:1000 name:PM_LSU1_REJECT_UST_GRP63 : (Group 63 pm_rejects4) LSU1 unaligned store reject
+
+#Group 64 pm_rejects5, Unaligned load rejects
+event:0X0400 counters:0 um:zero minimum:1000 name:PM_LSU_REJECT_ULD_GRP64 : (Group 64 pm_rejects5) Unaligned load reject
+event:0X0401 counters:1 um:zero minimum:1000 name:PM_LSU_REJECT_ULD_BOTH_GRP64 : (Group 64 pm_rejects5) Unaligned load reject both units
+event:0X0402 counters:2 um:zero minimum:1000 name:PM_LSU0_REJECT_ULD_GRP64 : (Group 64 pm_rejects5) LSU0 unaligned load reject
+event:0X0403 counters:3 um:zero minimum:1000 name:PM_LSU1_REJECT_ULD_GRP64 : (Group 64 pm_rejects5) LSU1 unaligned load reject
+
+#Group 65 pm_rejects6, Set mispredictions rejects
+event:0X0410 counters:0 um:zero minimum:1000 name:PM_LSU0_REJECT_SET_MPRED_GRP65 : (Group 65 pm_rejects6) LSU0 reject due to mispredicted set
+event:0X0411 counters:1 um:zero minimum:1000 name:PM_LSU1_REJECT_SET_MPRED_GRP65 : (Group 65 pm_rejects6) LSU1 reject due to mispredicted set
+event:0X0412 counters:2 um:zero minimum:1000 name:PM_LSU_REJECT_SET_MPRED_GRP65 : (Group 65 pm_rejects6) LSU reject due to mispredicted set
+event:0X0413 counters:3 um:zero minimum:1000 name:PM_LSU_SRQ_EMPTY_CYC_GRP65 : (Group 65 pm_rejects6) Cycles SRQ empty
+
+#Group 66 pm_rejects_unit, Unaligned reject events by unit
+event:0X0420 counters:0 um:zero minimum:1000 name:PM_LSU0_REJECT_ULD_GRP66 : (Group 66 pm_rejects_unit) LSU0 unaligned load reject
+event:0X0421 counters:1 um:zero minimum:1000 name:PM_LSU1_REJECT_UST_GRP66 : (Group 66 pm_rejects_unit) LSU1 unaligned store reject
+event:0X0422 counters:2 um:zero minimum:1000 name:PM_LSU0_REJECT_UST_GRP66 : (Group 66 pm_rejects_unit) LSU0 unaligned store reject
+event:0X0423 counters:3 um:zero minimum:1000 name:PM_LSU1_REJECT_ULD_GRP66 : (Group 66 pm_rejects_unit) LSU1 unaligned load reject
+
+#Group 67 pm_rejects_unit2, Reject events by unit
+event:0X0430 counters:0 um:zero minimum:1000 name:PM_LSU0_REJECT_GRP67 : (Group 67 pm_rejects_unit2) LSU0 reject
+event:0X0431 counters:1 um:zero minimum:1000 name:PM_LSU0_REJECT_DERAT_MPRED_GRP67 : (Group 67 pm_rejects_unit2) LSU0 reject due to mispredicted DERAT
+event:0X0432 counters:2 um:zero minimum:1000 name:PM_LSU1_REJECT_GRP67 : (Group 67 pm_rejects_unit2) LSU1 reject
+event:0X0433 counters:3 um:zero minimum:1000 name:PM_LSU1_REJECT_NO_SCRATCH_GRP67 : (Group 67 pm_rejects_unit2) LSU1 reject due to scratch register not available
+
+#Group 68 pm_rejects_unit3, Reject events by unit
+event:0X0440 counters:0 um:zero minimum:1000 name:PM_LSU0_REJECT_EXTERN_GRP68 : (Group 68 pm_rejects_unit3) LSU0 external reject request
+event:0X0441 counters:1 um:zero minimum:1000 name:PM_LSU0_REJECT_L2_CORR_GRP68 : (Group 68 pm_rejects_unit3) LSU0 reject due to L2 correctable error
+event:0X0442 counters:2 um:zero minimum:1000 name:PM_LSU1_REJECT_EXTERN_GRP68 : (Group 68 pm_rejects_unit3) LSU1 external reject request
+event:0X0443 counters:3 um:zero minimum:1000 name:PM_LSU1_REJECT_L2_CORR_GRP68 : (Group 68 pm_rejects_unit3) LSU1 reject due to L2 correctable error
+
+#Group 69 pm_rejects_unit4, Reject events by unit
+event:0X0450 counters:0 um:zero minimum:1000 name:PM_LSU0_REJECT_NO_SCRATCH_GRP69 : (Group 69 pm_rejects_unit4) LSU0 reject due to scratch register not available
+event:0X0451 counters:1 um:zero minimum:1000 name:PM_LSU0_REJECT_PARTIAL_SECTOR_GRP69 : (Group 69 pm_rejects_unit4) LSU0 reject due to partial sector valid
+event:0X0452 counters:2 um:zero minimum:1000 name:PM_LSU1_REJECT_NO_SCRATCH_GRP69 : (Group 69 pm_rejects_unit4) LSU1 reject due to scratch register not available
+event:0X0453 counters:3 um:zero minimum:1000 name:PM_LSU1_REJECT_PARTIAL_SECTOR_GRP69 : (Group 69 pm_rejects_unit4) LSU1 reject due to partial sector valid
+
+#Group 70 pm_rejects_unit5, Reject events by unit
+event:0X0460 counters:0 um:zero minimum:1000 name:PM_LSU0_REJECT_LHS_GRP70 : (Group 70 pm_rejects_unit5) LSU0 load hit store reject
+event:0X0461 counters:1 um:zero minimum:1000 name:PM_LSU0_DERAT_MISS_GRP70 : (Group 70 pm_rejects_unit5) LSU0 DERAT misses
+event:0X0462 counters:2 um:zero minimum:1000 name:PM_LSU1_REJECT_LHS_GRP70 : (Group 70 pm_rejects_unit5) LSU1 load hit store reject
+event:0X0463 counters:3 um:zero minimum:1000 name:PM_LSU1_DERAT_MISS_GRP70 : (Group 70 pm_rejects_unit5) LSU1 DERAT misses
+
+#Group 71 pm_rejects_unit6, Reject events by unit
+event:0X0470 counters:0 um:zero minimum:1000 name:PM_LSU0_REJECT_STQ_FULL_GRP71 : (Group 71 pm_rejects_unit6) LSU0 reject due to store queue full
+event:0X0471 counters:1 um:zero minimum:1000 name:PM_LSU0_REJECT_GRP71 : (Group 71 pm_rejects_unit6) LSU0 reject
+event:0X0472 counters:2 um:zero minimum:1000 name:PM_LSU1_REJECT_STQ_FULL_GRP71 : (Group 71 pm_rejects_unit6) LSU1 reject due to store queue full
+event:0X0473 counters:3 um:zero minimum:1000 name:PM_LSU1_REJECT_GRP71 : (Group 71 pm_rejects_unit6) LSU1 reject
+
+#Group 72 pm_rejects_unit7, Reject events by unit
+event:0X0480 counters:0 um:zero minimum:1000 name:PM_LSU0_REJECT_DERAT_MPRED_GRP72 : (Group 72 pm_rejects_unit7) LSU0 reject due to mispredicted DERAT
+event:0X0481 counters:1 um:zero minimum:1000 name:PM_LSU0_DERAT_MISS_GRP72 : (Group 72 pm_rejects_unit7) LSU0 DERAT misses
+event:0X0482 counters:2 um:zero minimum:1000 name:PM_LSU1_REJECT_DERAT_MPRED_GRP72 : (Group 72 pm_rejects_unit7) LSU1 reject due to mispredicted DERAT
+event:0X0483 counters:3 um:zero minimum:1000 name:PM_LSU1_DERAT_MISS_GRP72 : (Group 72 pm_rejects_unit7) LSU1 DERAT misses
+
+#Group 73 pm_ldf, Floating Point loads
+event:0X0490 counters:0 um:zero minimum:1000 name:PM_LSU_LDF_BOTH_GRP73 : (Group 73 pm_ldf) Both LSU units executed Floating Point load instruction
+event:0X0491 counters:1 um:zero minimum:1000 name:PM_LSU_LDF_GRP73 : (Group 73 pm_ldf) LSU executed Floating Point load instruction
+event:0X0492 counters:2 um:zero minimum:1000 name:PM_LSU0_LDF_GRP73 : (Group 73 pm_ldf) LSU0 executed Floating Point load instruction
+event:0X0493 counters:3 um:zero minimum:1000 name:PM_LSU1_LDF_GRP73 : (Group 73 pm_ldf) LSU1 executed Floating Point load instruction
+
+#Group 74 pm_lsu_misc, LSU events
+event:0X04A0 counters:0 um:zero minimum:1000 name:PM_LSU0_NCLD_GRP74 : (Group 74 pm_lsu_misc) LSU0 non-cacheable loads
+event:0X04A1 counters:1 um:zero minimum:1000 name:PM_LSU0_NCST_GRP74 : (Group 74 pm_lsu_misc) LSU0 non-cachable stores
+event:0X04A2 counters:2 um:zero minimum:1000 name:PM_LSU_ST_CHAINED_GRP74 : (Group 74 pm_lsu_misc) number of chained stores
+event:0X04A3 counters:3 um:zero minimum:1000 name:PM_LSU_BOTH_BUS_GRP74 : (Group 74 pm_lsu_misc) Both data return buses busy simultaneously
+
+#Group 75 pm_lsu_lmq, LSU LMQ events
+event:0X04B0 counters:0 um:zero minimum:1000 name:PM_LSU_LMQ_FULL_CYC_GRP75 : (Group 75 pm_lsu_lmq) Cycles LMQ full
+event:0X04B1 counters:1 um:zero minimum:1000 name:PM_LSU_LMQ_SRQ_EMPTY_CYC_GRP75 : (Group 75 pm_lsu_lmq) Cycles LMQ and SRQ empty
+event:0X04B2 counters:2 um:zero minimum:1000 name:PM_LSU_LMQ_SRQ_EMPTY_BOTH_CYC_GRP75 : (Group 75 pm_lsu_lmq) Cycles both threads LMQ and SRQ empty
+event:0X04B3 counters:3 um:zero minimum:1000 name:PM_LSU0_REJECT_L2MISS_GRP75 : (Group 75 pm_lsu_lmq) LSU0 L2 miss reject
+
+#Group 76 pm_lsu_flush_derat_miss, LSU flush and DERAT misses
+event:0X04C0 counters:0 um:zero minimum:1000 name:PM_LSU_DERAT_MISS_CYC_GRP76 : (Group 76 pm_lsu_flush_derat_miss) DERAT miss latency
+event:0X04C1 counters:1 um:zero minimum:1000 name:PM_LSU_DERAT_MISS_GRP76 : (Group 76 pm_lsu_flush_derat_miss) DERAT misses
+event:0X04C2 counters:2 um:zero minimum:1000 name:PM_LSU_FLUSH_ALIGN_GRP76 : (Group 76 pm_lsu_flush_derat_miss) Flush caused by alignement exception
+event:0X04C3 counters:3 um:zero minimum:1000 name:PM_LSU_FLUSH_DSI_GRP76 : (Group 76 pm_lsu_flush_derat_miss) Flush caused by DSI
+
+#Group 77 pm_lla, Look Load Ahead events
+event:0X04D0 counters:0 um:zero minimum:1000 name:PM_INST_DISP_LLA_GRP77 : (Group 77 pm_lla) Instruction dispatched under load look ahead
+event:0X04D1 counters:1 um:zero minimum:1000 name:PM_DPU_HELD_LLA_END_GRP77 : (Group 77 pm_lla) DISP unit held due to load look ahead ended
+event:0X04D2 counters:2 um:zero minimum:1000 name:PM_INST_DISP_GRP77 : (Group 77 pm_lla) Instructions dispatched
+event:0X04D3 counters:3 um:zero minimum:1000 name:PM_THRD_LLA_BOTH_CYC_GRP77 : (Group 77 pm_lla) Both threads in Load Look Ahead
+
+#Group 78 pm_gct, GCT events
+event:0X04E0 counters:0 um:zero minimum:1000 name:PM_GCT_NOSLOT_CYC_GRP78 : (Group 78 pm_gct) Cycles no GCT slot allocated
+event:0X04E1 counters:1 um:zero minimum:1000 name:PM_GCT_EMPTY_CYC_GRP78 : (Group 78 pm_gct) Cycles GCT empty
+event:0X04E2 counters:2 um:zero minimum:1000 name:PM_GCT_FULL_CYC_GRP78 : (Group 78 pm_gct) Cycles GCT full
+event:0X04E3 counters:3 um:zero minimum:1000 name:PM_INST_FETCH_CYC_GRP78 : (Group 78 pm_gct) Cycles at least 1 instruction fetched
+
+#Group 79 pm_smt_priorities, Thread priority events
+event:0X04F0 counters:0 um:zero minimum:1000 name:PM_THRD_PRIO_0_CYC_GRP79 : (Group 79 pm_smt_priorities) Cycles thread running at priority level 0
+event:0X04F1 counters:1 um:zero minimum:1000 name:PM_THRD_PRIO_1_CYC_GRP79 : (Group 79 pm_smt_priorities) Cycles thread running at priority level 1
+event:0X04F2 counters:2 um:zero minimum:1000 name:PM_THRD_PRIO_2_CYC_GRP79 : (Group 79 pm_smt_priorities) Cycles thread running at priority level 2
+event:0X04F3 counters:3 um:zero minimum:1000 name:PM_THRD_PRIO_3_CYC_GRP79 : (Group 79 pm_smt_priorities) Cycles thread running at priority level 3
+
+#Group 80 pm_smt_priorities2, Thread priority events
+event:0X0500 counters:0 um:zero minimum:1000 name:PM_THRD_PRIO_7_CYC_GRP80 : (Group 80 pm_smt_priorities2) Cycles thread running at priority level 7
+event:0X0501 counters:1 um:zero minimum:1000 name:PM_THRD_PRIO_6_CYC_GRP80 : (Group 80 pm_smt_priorities2) Cycles thread running at priority level 6
+event:0X0502 counters:2 um:zero minimum:1000 name:PM_THRD_PRIO_5_CYC_GRP80 : (Group 80 pm_smt_priorities2) Cycles thread running at priority level 5
+event:0X0503 counters:3 um:zero minimum:1000 name:PM_THRD_PRIO_4_CYC_GRP80 : (Group 80 pm_smt_priorities2) Cycles thread running at priority level 4
+
+#Group 81 pm_smt_priorities3, Thread priority differences events
+event:0X0510 counters:0 um:zero minimum:1000 name:PM_THRD_PRIO_DIFF_0_CYC_GRP81 : (Group 81 pm_smt_priorities3) Cycles no thread priority difference
+event:0X0511 counters:1 um:zero minimum:1000 name:PM_THRD_PRIO_DIFF_1or2_CYC_GRP81 : (Group 81 pm_smt_priorities3) Cycles thread priority difference is 1 or 2
+event:0X0512 counters:2 um:zero minimum:1000 name:PM_THRD_PRIO_DIFF_3or4_CYC_GRP81 : (Group 81 pm_smt_priorities3) Cycles thread priority difference is 3 or 4
+event:0X0513 counters:3 um:zero minimum:1000 name:PM_THRD_PRIO_DIFF_5or6_CYC_GRP81 : (Group 81 pm_smt_priorities3) Cycles thread priority difference is 5 or 6
+
+#Group 82 pm_smt_priorities4, Thread priority differences events
+event:0X0520 counters:0 um:zero minimum:1000 name:PM_THRD_SEL_T0_GRP82 : (Group 82 pm_smt_priorities4) Decode selected thread 0
+event:0X0521 counters:1 um:zero minimum:1000 name:PM_THRD_PRIO_DIFF_minus1or2_CYC_GRP82 : (Group 82 pm_smt_priorities4) Cycles thread priority difference is -1 or -2
+event:0X0522 counters:2 um:zero minimum:1000 name:PM_THRD_PRIO_DIFF_minus3or4_CYC_GRP82 : (Group 82 pm_smt_priorities4) Cycles thread priority difference is -3 or -4
+event:0X0523 counters:3 um:zero minimum:1000 name:PM_THRD_PRIO_DIFF_minus5or6_CYC_GRP82 : (Group 82 pm_smt_priorities4) Cycles thread priority difference is -5 or -6
+
+#Group 83 pm_fxu, FXU events
+event:0X0530 counters:0 um:zero minimum:1000 name:PM_FXU_IDLE_GRP83 : (Group 83 pm_fxu) FXU idle
+event:0X0531 counters:1 um:zero minimum:1000 name:PM_FXU_BUSY_GRP83 : (Group 83 pm_fxu) FXU busy
+event:0X0532 counters:2 um:zero minimum:1000 name:PM_FXU0_BUSY_FXU1_IDLE_GRP83 : (Group 83 pm_fxu) FXU0 busy FXU1 idle
+event:0X0533 counters:3 um:zero minimum:1000 name:PM_FXU1_BUSY_FXU0_IDLE_GRP83 : (Group 83 pm_fxu) FXU1 busy FXU0 idle
+
+#Group 84 pm_fxu2, FXU events
+event:0X0540 counters:0 um:zero minimum:1000 name:PM_FXU_PIPELINED_MULT_DIV_GRP84 : (Group 84 pm_fxu2) Fix point multiply/divide pipelined
+event:0X0541 counters:1 um:zero minimum:1000 name:PM_IFU_FIN_GRP84 : (Group 84 pm_fxu2) IFU finished an instruction
+event:0X0542 counters:2 um:zero minimum:1000 name:PM_FXU0_FIN_GRP84 : (Group 84 pm_fxu2) FXU0 produced a result
+event:0X0543 counters:3 um:zero minimum:1000 name:PM_FXU1_FIN_GRP84 : (Group 84 pm_fxu2) FXU1 produced a result
+
+#Group 85 pm_vmx, VMX events
+event:0X0550 counters:0 um:zero minimum:1000 name:PM_VMX_COMPLEX_ISUED_GRP85 : (Group 85 pm_vmx) VMX instruction issued to complex
+event:0X0551 counters:1 um:zero minimum:1000 name:PM_VMX_FLOAT_ISSUED_GRP85 : (Group 85 pm_vmx) VMX instruction issued to float
+event:0X0552 counters:2 um:zero minimum:1000 name:PM_VMX_SIMPLE_ISSUED_GRP85 : (Group 85 pm_vmx) VMX instruction issued to simple
+event:0X0553 counters:3 um:zero minimum:1000 name:PM_VMX_PERMUTE_ISSUED_GRP85 : (Group 85 pm_vmx) VMX instruction issued to permute
+
+#Group 86 pm_vmx2, VMX events
+event:0X0560 counters:0 um:zero minimum:1000 name:PM_VMX0_INST_ISSUED_GRP86 : (Group 86 pm_vmx2) VMX0 instruction issued
+event:0X0561 counters:1 um:zero minimum:1000 name:PM_VMX1_INST_ISSUED_GRP86 : (Group 86 pm_vmx2) VMX1 instruction issued
+event:0X0562 counters:2 um:zero minimum:1000 name:PM_VMX0_LD_ISSUED_GRP86 : (Group 86 pm_vmx2) VMX0 load issued
+event:0X0563 counters:3 um:zero minimum:1000 name:PM_VMX1_LD_ISSUED_GRP86 : (Group 86 pm_vmx2) VMX1 load issued
+
+#Group 87 pm_vmx3, VMX events
+event:0X0570 counters:0 um:zero minimum:1000 name:PM_VMX0_LD_ISSUED_GRP87 : (Group 87 pm_vmx3) VMX0 load issued
+event:0X0571 counters:1 um:zero minimum:1000 name:PM_VMX0_LD_WRBACK_GRP87 : (Group 87 pm_vmx3) VMX0 load writeback valid
+event:0X0572 counters:2 um:zero minimum:1000 name:PM_VMX1_LD_ISSUED_GRP87 : (Group 87 pm_vmx3) VMX1 load issued
+event:0X0573 counters:3 um:zero minimum:1000 name:PM_VMX1_LD_WRBACK_GRP87 : (Group 87 pm_vmx3) VMX1 load writeback valid
+
+#Group 88 pm_vmx4, VMX events
+event:0X0580 counters:0 um:zero minimum:1000 name:PM_VMX_FLOAT_MULTICYCLE_GRP88 : (Group 88 pm_vmx4) VMX multi-cycle floating point instruction issued
+event:0X0581 counters:1 um:zero minimum:1000 name:PM_VMX_RESULT_SAT_0_1_GRP88 : (Group 88 pm_vmx4) VMX valid result with sat bit is set (0->1)
+event:0X0582 counters:2 um:zero minimum:1000 name:PM_VMX_RESULT_SAT_1_GRP88 : (Group 88 pm_vmx4) VMX valid result with sat=1
+event:0X0583 counters:3 um:zero minimum:1000 name:PM_VMX_ST_ISSUED_GRP88 : (Group 88 pm_vmx4) VMX store issued
+
+#Group 89 pm_vmx5, VMX events
+event:0X0590 counters:0 um:zero minimum:1000 name:PM_VMX_ST_ISSUED_GRP89 : (Group 89 pm_vmx5) VMX store issued
+event:0X0591 counters:1 um:zero minimum:1000 name:PM_VMX0_STALL_GRP89 : (Group 89 pm_vmx5) VMX0 stall
+event:0X0592 counters:2 um:zero minimum:1000 name:PM_VMX1_STALL_GRP89 : (Group 89 pm_vmx5) VMX1 stall
+event:0X0593 counters:3 um:zero minimum:1000 name:PM_VMX_FLOAT_MULTICYCLE_GRP89 : (Group 89 pm_vmx5) VMX multi-cycle floating point instruction issued
+
+#Group 90 pm_dfu, DFU events
+event:0X05A0 counters:0 um:zero minimum:1000 name:PM_DFU_ADD_GRP90 : (Group 90 pm_dfu) DFU add type instruction
+event:0X05A1 counters:1 um:zero minimum:1000 name:PM_DFU_ADD_SHIFTED_BOTH_GRP90 : (Group 90 pm_dfu) DFU add type with both operands shifted
+event:0X05A2 counters:2 um:zero minimum:1000 name:PM_DFU_BACK2BACK_GRP90 : (Group 90 pm_dfu) DFU back to back operations executed
+event:0X05A3 counters:3 um:zero minimum:1000 name:PM_DFU_CONV_GRP90 : (Group 90 pm_dfu) DFU convert from fixed op
+
+#Group 91 pm_dfu2, DFU events
+event:0X05B0 counters:0 um:zero minimum:1000 name:PM_DFU_ENC_BCD_DPD_GRP91 : (Group 91 pm_dfu2) DFU Encode BCD to DPD
+event:0X05B1 counters:1 um:zero minimum:1000 name:PM_DFU_EXP_EQ_GRP91 : (Group 91 pm_dfu2) DFU operand exponents are equal for add type
+event:0X05B2 counters:2 um:zero minimum:1000 name:PM_DFU_FIN_GRP91 : (Group 91 pm_dfu2) DFU instruction finish
+event:0X05B3 counters:3 um:zero minimum:1000 name:PM_DFU_SUBNORM_GRP91 : (Group 91 pm_dfu2) DFU result is a subnormal
+
+#Group 92 pm_fab, Fabric events
+event:0X05C0 counters:0 um:zero minimum:1000 name:PM_FAB_CMD_ISSUED_GRP92 : (Group 92 pm_fab) Fabric command issued
+event:0X05C1 counters:1 um:zero minimum:1000 name:PM_FAB_CMD_RETRIED_GRP92 : (Group 92 pm_fab) Fabric command retried
+event:0X05C2 counters:2 um:zero minimum:1000 name:PM_FAB_DCLAIM_GRP92 : (Group 92 pm_fab) Dclaim operation, locally mastered
+event:0X05C3 counters:3 um:zero minimum:1000 name:PM_FAB_DMA_GRP92 : (Group 92 pm_fab) DMA operation, locally mastered
+
+#Group 93 pm_fab2, Fabric events
+event:0X05D0 counters:0 um:zero minimum:1000 name:PM_FAB_NODE_PUMP_GRP93 : (Group 93 pm_fab2) Node pump operation, locally mastered
+event:0X05D1 counters:1 um:zero minimum:1000 name:PM_FAB_RETRY_NODE_PUMP_GRP93 : (Group 93 pm_fab2) Retry of a node pump, locally mastered
+event:0X05D2 counters:2 um:zero minimum:1000 name:PM_FAB_RETRY_SYS_PUMP_GRP93 : (Group 93 pm_fab2) Retry of a system pump, locally mastered
+event:0X05D3 counters:3 um:zero minimum:1000 name:PM_FAB_SYS_PUMP_GRP93 : (Group 93 pm_fab2) System pump operation, locally mastered
+
+#Group 94 pm_fab3, Fabric events
+event:0X05E0 counters:0 um:zero minimum:1000 name:PM_FAB_CMD_ISSUED_GRP94 : (Group 94 pm_fab3) Fabric command issued
+event:0X05E1 counters:1 um:zero minimum:1000 name:PM_FAB_CMD_RETRIED_GRP94 : (Group 94 pm_fab3) Fabric command retried
+event:0X05E2 counters:2 um:zero minimum:1000 name:PM_FAB_ADDR_COLLISION_GRP94 : (Group 94 pm_fab3) local node launch collision with off-node address
+event:0X05E3 counters:3 um:zero minimum:1000 name:PM_FAB_MMIO_GRP94 : (Group 94 pm_fab3) MMIO operation, locally mastered
+
+#Group 95 pm_mem_dblpump, Double pump
+event:0X05F0 counters:0 um:zero minimum:1000 name:PM_MEM_DP_RQ_GLOB_LOC_GRP95 : (Group 95 pm_mem_dblpump) Memory read queue marking cache line double pump state from global to local
+event:0X05F1 counters:1 um:zero minimum:1000 name:PM_MEM_DP_RQ_LOC_GLOB_GRP95 : (Group 95 pm_mem_dblpump) Memory read queue marking cache line double pump state from local to global
+event:0X05F2 counters:2 um:zero minimum:1000 name:PM_MEM_DP_CL_WR_GLOB_GRP95 : (Group 95 pm_mem_dblpump) cache line write setting double pump state to global
+event:0X05F3 counters:3 um:zero minimum:1000 name:PM_MEM_DP_CL_WR_LOC_GRP95 : (Group 95 pm_mem_dblpump) cache line write setting double pump state to local
+
+#Group 96 pm_mem0_dblpump, MCS0 Double pump
+event:0X0600 counters:0 um:zero minimum:1000 name:PM_MEM0_DP_RQ_GLOB_LOC_GRP96 : (Group 96 pm_mem0_dblpump) Memory read queue marking cache line double pump state from global to local side 0
+event:0X0601 counters:1 um:zero minimum:1000 name:PM_MEM0_DP_RQ_LOC_GLOB_GRP96 : (Group 96 pm_mem0_dblpump) Memory read queue marking cache line double pump state from local to global side 0
+event:0X0602 counters:2 um:zero minimum:1000 name:PM_MEM0_DP_CL_WR_GLOB_GRP96 : (Group 96 pm_mem0_dblpump) cacheline write setting dp to global side 0
+event:0X0603 counters:3 um:zero minimum:1000 name:PM_MEM0_DP_CL_WR_LOC_GRP96 : (Group 96 pm_mem0_dblpump) cacheline write setting dp to local side 0
+
+#Group 97 pm_mem1_dblpump, MCS1 Double pump
+event:0X0610 counters:0 um:zero minimum:1000 name:PM_MEM1_DP_RQ_GLOB_LOC_GRP97 : (Group 97 pm_mem1_dblpump) Memory read queue marking cache line double pump state from global to local side 1
+event:0X0611 counters:1 um:zero minimum:1000 name:PM_MEM1_DP_RQ_LOC_GLOB_GRP97 : (Group 97 pm_mem1_dblpump) Memory read queue marking cache line double pump state from local to global side 1
+event:0X0612 counters:2 um:zero minimum:1000 name:PM_MEM1_DP_CL_WR_GLOB_GRP97 : (Group 97 pm_mem1_dblpump) cacheline write setting dp to global side 1
+event:0X0613 counters:3 um:zero minimum:1000 name:PM_MEM1_DP_CL_WR_LOC_GRP97 : (Group 97 pm_mem1_dblpump) cacheline write setting dp to local side 1
+
+#Group 98 pm_gxo, GX outbound
+event:0X0620 counters:0 um:zero minimum:1000 name:PM_GXO_CYC_BUSY_GRP98 : (Group 98 pm_gxo) Outbound GX bus utilizations (# of cycles in use)
+event:0X0621 counters:1 um:zero minimum:1000 name:PM_GXO_ADDR_CYC_BUSY_GRP98 : (Group 98 pm_gxo) Outbound GX address utilization (# of cycles address out is valid)
+event:0X0622 counters:2 um:zero minimum:1000 name:PM_GXO_DATA_CYC_BUSY_GRP98 : (Group 98 pm_gxo) Outbound GX Data utilization (# of cycles data out is valid)
+event:0X0623 counters:3 um:zero minimum:1000 name:PM_GXI_CYC_BUSY_GRP98 : (Group 98 pm_gxo) Inbound GX bus utilizations (# of cycles in use)
+
+#Group 99 pm_gxi, GX inbound
+event:0X0630 counters:0 um:zero minimum:1000 name:PM_GXI_CYC_BUSY_GRP99 : (Group 99 pm_gxi) Inbound GX bus utilizations (# of cycles in use)
+event:0X0631 counters:1 um:zero minimum:1000 name:PM_GXI_ADDR_CYC_BUSY_GRP99 : (Group 99 pm_gxi) Inbound GX address utilization (# of cycle address is in valid)
+event:0X0632 counters:2 um:zero minimum:1000 name:PM_GXI_DATA_CYC_BUSY_GRP99 : (Group 99 pm_gxi) Inbound GX Data utilization (# of cycle data in is valid)
+event:0X0633 counters:3 um:zero minimum:1000 name:PM_GXO_CYC_BUSY_GRP99 : (Group 99 pm_gxi) Outbound GX bus utilizations (# of cycles in use)
+
+#Group 100 pm_gx_dma, DMA events
+event:0X0640 counters:0 um:zero minimum:1000 name:PM_GXO_CYC_BUSY_GRP100 : (Group 100 pm_gx_dma) Outbound GX bus utilizations (# of cycles in use)
+event:0X0641 counters:1 um:zero minimum:1000 name:PM_GXI_CYC_BUSY_GRP100 : (Group 100 pm_gx_dma) Inbound GX bus utilizations (# of cycles in use)
+event:0X0642 counters:2 um:zero minimum:1000 name:PM_GX_DMA_READ_GRP100 : (Group 100 pm_gx_dma) DMA Read Request
+event:0X0643 counters:3 um:zero minimum:1000 name:PM_GX_DMA_WRITE_GRP100 : (Group 100 pm_gx_dma) All DMA Write Requests (including dma wrt lgcy)
+
+#Group 101 pm_L1_misc, L1 misc events
+event:0X0650 counters:0 um:zero minimum:1000 name:PM_INST_FROM_L1_GRP101 : (Group 101 pm_L1_misc) Instruction fetched from L1
+event:0X0651 counters:1 um:zero minimum:1000 name:PM_L1_WRITE_CYC_GRP101 : (Group 101 pm_L1_misc) Cycles writing to instruction L1
+event:0X0652 counters:2 um:zero minimum:1000 name:PM_NO_ITAG_CYC_GRP101 : (Group 101 pm_L1_misc) Cyles no ITAG available
+event:0X0653 counters:3 um:zero minimum:1000 name:PM_INST_IMC_MATCH_CMPL_GRP101 : (Group 101 pm_L1_misc) IMC matched instructions completed
+
+#Group 102 pm_L2_data, L2 load and store data
+event:0X0660 counters:0 um:zero minimum:1000 name:PM_L2_LD_REQ_DATA_GRP102 : (Group 102 pm_L2_data) L2 data load requests
+event:0X0661 counters:1 um:zero minimum:1000 name:PM_L2_LD_MISS_DATA_GRP102 : (Group 102 pm_L2_data) L2 data load misses
+event:0X0662 counters:2 um:zero minimum:1000 name:PM_L2_ST_REQ_DATA_GRP102 : (Group 102 pm_L2_data) L2 data store requests
+event:0X0663 counters:3 um:zero minimum:1000 name:PM_L2_ST_MISS_DATA_GRP102 : (Group 102 pm_L2_data) L2 data store misses
+
+#Group 103 pm_L2_ld_inst, L2 Load instructions
+event:0X0670 counters:0 um:zero minimum:1000 name:PM_L2_LD_REQ_INST_GRP103 : (Group 103 pm_L2_ld_inst) L2 instruction load requests
+event:0X0671 counters:1 um:zero minimum:1000 name:PM_L2_LD_MISS_INST_GRP103 : (Group 103 pm_L2_ld_inst) L2 instruction load misses
+event:0X0672 counters:2 um:zero minimum:1000 name:PM_L2_MISS_GRP103 : (Group 103 pm_L2_ld_inst) L2 cache misses
+event:0X0673 counters:3 um:zero minimum:1000 name:PM_L2_PREF_LD_GRP103 : (Group 103 pm_L2_ld_inst) L2 cache prefetches
+
+#Group 104 pm_L2_castout_invalidate, L2 castout and invalidate events
+event:0X0680 counters:0 um:zero minimum:1000 name:PM_L2_CASTOUT_MOD_GRP104 : (Group 104 pm_L2_castout_invalidate) L2 castouts - Modified (M, Mu, Me)
+event:0X0681 counters:1 um:zero minimum:1000 name:PM_L2_CASTOUT_SHR_GRP104 : (Group 104 pm_L2_castout_invalidate) L2 castouts - Shared (T, Te, Si, S)
+event:0X0682 counters:2 um:zero minimum:1000 name:PM_IC_INV_L2_GRP104 : (Group 104 pm_L2_castout_invalidate) L1 I cache entries invalidated from L2
+event:0X0683 counters:3 um:zero minimum:1000 name:PM_DC_INV_L2_GRP104 : (Group 104 pm_L2_castout_invalidate) L1 D cache entries invalidated from L2
+
+#Group 105 pm_L2_ldst_reqhit, L2 load and store requests and hits
+event:0X0690 counters:0 um:zero minimum:1000 name:PM_LD_REQ_L2_GRP105 : (Group 105 pm_L2_ldst_reqhit) L2 load requests
+event:0X0691 counters:1 um:zero minimum:1000 name:PM_LD_HIT_L2_GRP105 : (Group 105 pm_L2_ldst_reqhit) L2 D cache load hits
+event:0X0692 counters:2 um:zero minimum:1000 name:PM_ST_REQ_L2_GRP105 : (Group 105 pm_L2_ldst_reqhit) L2 store requests
+event:0X0693 counters:3 um:zero minimum:1000 name:PM_ST_HIT_L2_GRP105 : (Group 105 pm_L2_ldst_reqhit) L2 D cache store hits
+
+#Group 106 pm_L2_ld_data_slice, L2 data loads by slice
+event:0X06A0 counters:0 um:zero minimum:1000 name:PM_L2SA_LD_REQ_DATA_GRP106 : (Group 106 pm_L2_ld_data_slice) L2 slice A data load requests
+event:0X06A1 counters:1 um:zero minimum:1000 name:PM_L2SA_LD_MISS_DATA_GRP106 : (Group 106 pm_L2_ld_data_slice) L2 slice A data load misses
+event:0X06A2 counters:2 um:zero minimum:1000 name:PM_L2SB_LD_REQ_DATA_GRP106 : (Group 106 pm_L2_ld_data_slice) L2 slice B data load requests
+event:0X06A3 counters:3 um:zero minimum:1000 name:PM_L2SB_LD_MISS_DATA_GRP106 : (Group 106 pm_L2_ld_data_slice) L2 slice B data load misses
+
+#Group 107 pm_L2_ld_inst_slice, L2 instruction loads by slice
+event:0X06B0 counters:0 um:zero minimum:1000 name:PM_L2SA_LD_REQ_INST_GRP107 : (Group 107 pm_L2_ld_inst_slice) L2 slice A instruction load requests
+event:0X06B1 counters:1 um:zero minimum:1000 name:PM_L2SA_LD_MISS_INST_GRP107 : (Group 107 pm_L2_ld_inst_slice) L2 slice A instruction load misses
+event:0X06B2 counters:2 um:zero minimum:1000 name:PM_L2SB_LD_REQ_INST_GRP107 : (Group 107 pm_L2_ld_inst_slice) L2 slice B instruction load requests
+event:0X06B3 counters:3 um:zero minimum:1000 name:PM_L2SB_LD_MISS_INST_GRP107 : (Group 107 pm_L2_ld_inst_slice) L2 slice B instruction load misses
+
+#Group 108 pm_L2_st_slice, L2 slice stores by slice
+event:0X06C0 counters:0 um:zero minimum:1000 name:PM_L2SA_ST_REQ_GRP108 : (Group 108 pm_L2_st_slice) L2 slice A store requests
+event:0X06C1 counters:1 um:zero minimum:1000 name:PM_L2SA_ST_MISS_GRP108 : (Group 108 pm_L2_st_slice) L2 slice A store misses
+event:0X06C2 counters:2 um:zero minimum:1000 name:PM_L2SB_ST_REQ_GRP108 : (Group 108 pm_L2_st_slice) L2 slice B store requests
+event:0X06C3 counters:3 um:zero minimum:1000 name:PM_L2SB_ST_MISS_GRP108 : (Group 108 pm_L2_st_slice) L2 slice B store misses
+
+#Group 109 pm_L2miss_slice, L2 misses by slice
+event:0X06D0 counters:0 um:zero minimum:1000 name:PM_L2SA_MISS_GRP109 : (Group 109 pm_L2miss_slice) L2 slice A misses
+event:0X06D1 counters:1 um:zero minimum:1000 name:PM_L2_MISS_GRP109 : (Group 109 pm_L2miss_slice) L2 cache misses
+event:0X06D2 counters:2 um:zero minimum:1000 name:PM_DATA_FROM_L2MISS_GRP109 : (Group 109 pm_L2miss_slice) Data loaded missed L2
+event:0X06D3 counters:3 um:zero minimum:1000 name:PM_L2SB_MISS_GRP109 : (Group 109 pm_L2miss_slice) L2 slice B misses
+
+#Group 110 pm_L2_castout_slice, L2 castouts by slice
+event:0X06E0 counters:0 um:zero minimum:1000 name:PM_L2SA_CASTOUT_MOD_GRP110 : (Group 110 pm_L2_castout_slice) L2 slice A castouts - Modified
+event:0X06E1 counters:1 um:zero minimum:1000 name:PM_L2SA_CASTOUT_SHR_GRP110 : (Group 110 pm_L2_castout_slice) L2 slice A castouts - Shared
+event:0X06E2 counters:2 um:zero minimum:1000 name:PM_L2SB_CASTOUT_MOD_GRP110 : (Group 110 pm_L2_castout_slice) L2 slice B castouts - Modified
+event:0X06E3 counters:3 um:zero minimum:1000 name:PM_L2SB_CASTOUT_SHR_GRP110 : (Group 110 pm_L2_castout_slice) L2 slice B castouts - Shared
+
+#Group 111 pm_L2_invalidate_slice, L2 invalidate by slice
+event:0X06F0 counters:0 um:zero minimum:1000 name:PM_L2SA_IC_INV_GRP111 : (Group 111 pm_L2_invalidate_slice) L2 slice A I cache invalidate
+event:0X06F1 counters:1 um:zero minimum:1000 name:PM_L2SA_DC_INV_GRP111 : (Group 111 pm_L2_invalidate_slice) L2 slice A D cache invalidate
+event:0X06F2 counters:2 um:zero minimum:1000 name:PM_L2SB_IC_INV_GRP111 : (Group 111 pm_L2_invalidate_slice) L2 slice B I cache invalidate
+event:0X06F3 counters:3 um:zero minimum:1000 name:PM_L2SB_DC_INV_GRP111 : (Group 111 pm_L2_invalidate_slice) L2 slice B D cache invalidate
+
+#Group 112 pm_L2_ld_reqhit_slice, L2 load requests and hist by slice
+event:0X0700 counters:0 um:zero minimum:1000 name:PM_L2SA_LD_REQ_GRP112 : (Group 112 pm_L2_ld_reqhit_slice) L2 slice A load requests
+event:0X0701 counters:1 um:zero minimum:1000 name:PM_L2SA_LD_HIT_GRP112 : (Group 112 pm_L2_ld_reqhit_slice) L2 slice A load hits
+event:0X0702 counters:2 um:zero minimum:1000 name:PM_L2SB_LD_REQ_GRP112 : (Group 112 pm_L2_ld_reqhit_slice) L2 slice B load requests
+event:0X0703 counters:3 um:zero minimum:1000 name:PM_L2SB_LD_HIT_GRP112 : (Group 112 pm_L2_ld_reqhit_slice) L2 slice B load hits
+
+#Group 113 pm_L2_st_reqhit_slice, L2 store requests and hist by slice
+event:0X0710 counters:0 um:zero minimum:1000 name:PM_L2SA_ST_REQ_GRP113 : (Group 113 pm_L2_st_reqhit_slice) L2 slice A store requests
+event:0X0711 counters:1 um:zero minimum:1000 name:PM_L2SA_ST_HIT_GRP113 : (Group 113 pm_L2_st_reqhit_slice) L2 slice A store hits
+event:0X0712 counters:2 um:zero minimum:1000 name:PM_L2SB_ST_REQ_GRP113 : (Group 113 pm_L2_st_reqhit_slice) L2 slice B store requests
+event:0X0713 counters:3 um:zero minimum:1000 name:PM_L2SB_ST_HIT_GRP113 : (Group 113 pm_L2_st_reqhit_slice) L2 slice B store hits
+
+#Group 114 pm_L2_redir_pref, L2 redirect and prefetch
+event:0X0720 counters:0 um:zero minimum:1000 name:PM_IC_DEMAND_L2_BHT_REDIRECT_GRP114 : (Group 114 pm_L2_redir_pref) L2 I cache demand request due to BHT redirect
+event:0X0721 counters:1 um:zero minimum:1000 name:PM_IC_DEMAND_L2_BR_REDIRECT_GRP114 : (Group 114 pm_L2_redir_pref) L2 I cache demand request due to branch redirect
+event:0X0722 counters:2 um:zero minimum:1000 name:PM_L2_PREF_ST_GRP114 : (Group 114 pm_L2_redir_pref) L2 cache prefetches
+event:0X0723 counters:3 um:zero minimum:1000 name:PM_L2_PREF_LD_GRP114 : (Group 114 pm_L2_redir_pref) L2 cache prefetches
+
+#Group 115 pm_L3_SliceA, L3 slice A events
+event:0X0730 counters:0 um:zero minimum:1000 name:PM_L3SA_REF_GRP115 : (Group 115 pm_L3_SliceA) L3 slice A references
+event:0X0731 counters:1 um:zero minimum:1000 name:PM_L3SA_HIT_GRP115 : (Group 115 pm_L3_SliceA) L3 slice A hits
+event:0X0732 counters:2 um:zero minimum:1000 name:PM_DATA_FROM_L3_GRP115 : (Group 115 pm_L3_SliceA) Data loaded from L3
+event:0X0733 counters:3 um:zero minimum:1000 name:PM_L3SA_MISS_GRP115 : (Group 115 pm_L3_SliceA) L3 slice A misses
+
+#Group 116 pm_L3_SliceB, L3 slice B events
+event:0X0740 counters:0 um:zero minimum:1000 name:PM_L3SB_REF_GRP116 : (Group 116 pm_L3_SliceB) L3 slice B references
+event:0X0741 counters:1 um:zero minimum:1000 name:PM_L3SB_HIT_GRP116 : (Group 116 pm_L3_SliceB) L3 slice B hits
+event:0X0742 counters:2 um:zero minimum:1000 name:PM_DATA_FROM_L3_GRP116 : (Group 116 pm_L3_SliceB) Data loaded from L3
+event:0X0743 counters:3 um:zero minimum:1000 name:PM_L3SB_MISS_GRP116 : (Group 116 pm_L3_SliceB) L3 slice B misses
+
+#Group 117 pm_fpu_issue, FPU issue events
+event:0X0750 counters:0 um:zero minimum:1000 name:PM_FPU_ISSUE_0_GRP117 : (Group 117 pm_fpu_issue) FPU issue 0 per cycle
+event:0X0751 counters:1 um:zero minimum:1000 name:PM_FPU_ISSUE_1_GRP117 : (Group 117 pm_fpu_issue) FPU issue 1 per cycle
+event:0X0752 counters:2 um:zero minimum:1000 name:PM_FPU_ISSUE_2_GRP117 : (Group 117 pm_fpu_issue) FPU issue 2 per cycle
+event:0X0753 counters:3 um:zero minimum:1000 name:PM_FPU_ISSUE_STEERING_GRP117 : (Group 117 pm_fpu_issue) FPU issue steering
+
+#Group 118 pm_fpu_issue2, FPU issue events
+event:0X0760 counters:0 um:zero minimum:1000 name:PM_FPU_ISSUE_OOO_GRP118 : (Group 118 pm_fpu_issue2) FPU issue out-of-order
+event:0X0761 counters:1 um:zero minimum:1000 name:PM_FPU_ISSUE_ST_FOLDED_GRP118 : (Group 118 pm_fpu_issue2) FPU issue a folded store
+event:0X0762 counters:2 um:zero minimum:1000 name:PM_FPU_ISSUE_DIV_SQRT_OVERLAP_GRP118 : (Group 118 pm_fpu_issue2) FPU divide/sqrt overlapped with other divide/sqrt
+event:0X0763 counters:3 um:zero minimum:1000 name:PM_FPU_ISSUE_STALL_ST_GRP118 : (Group 118 pm_fpu_issue2) FPU issue stalled due to store
+
+#Group 119 pm_fpu_issue3, FPU issue events
+event:0X0770 counters:0 um:zero minimum:1000 name:PM_FPU_ISSUE_STALL_THRD_GRP119 : (Group 119 pm_fpu_issue3) FPU issue stalled due to thread resource conflict
+event:0X0771 counters:1 um:zero minimum:1000 name:PM_FPU_ISSUE_STALL_FPR_GRP119 : (Group 119 pm_fpu_issue3) FPU issue stalled due to FPR dependencies
+event:0X0772 counters:2 um:zero minimum:1000 name:PM_FPU_ISSUE_DIV_SQRT_OVERLAP_GRP119 : (Group 119 pm_fpu_issue3) FPU divide/sqrt overlapped with other divide/sqrt
+event:0X0773 counters:3 um:zero minimum:1000 name:PM_FPU_ISSUE_STALL_ST_GRP119 : (Group 119 pm_fpu_issue3) FPU issue stalled due to store
+
+#Group 120 pm_fpu0_flop, FPU0 flop events
+event:0X0780 counters:0 um:zero minimum:1000 name:PM_FPU0_1FLOP_GRP120 : (Group 120 pm_fpu0_flop) FPU0 executed add, mult, sub, cmp or sel instruction
+event:0X0781 counters:1 um:zero minimum:1000 name:PM_FPU0_FMA_GRP120 : (Group 120 pm_fpu0_flop) FPU0 executed multiply-add instruction
+event:0X0782 counters:2 um:zero minimum:1000 name:PM_FPU0_FSQRT_FDIV_GRP120 : (Group 120 pm_fpu0_flop) FPU0 executed FSQRT or FDIV instruction
+event:0X0783 counters:3 um:zero minimum:1000 name:PM_FPU0_STF_GRP120 : (Group 120 pm_fpu0_flop) FPU0 executed store instruction
+
+#Group 121 pm_fpu0_misc, FPU0 events
+event:0X0790 counters:0 um:zero minimum:1000 name:PM_FPU0_FLOP_GRP121 : (Group 121 pm_fpu0_misc) FPU0 executed 1FLOP, FMA, FSQRT or FDIV instruction
+event:0X0791 counters:1 um:zero minimum:1000 name:PM_FPU0_FXDIV_GRP121 : (Group 121 pm_fpu0_misc) FPU0 executed fixed point division
+event:0X0792 counters:2 um:zero minimum:1000 name:PM_FPU0_DENORM_GRP121 : (Group 121 pm_fpu0_misc) FPU0 received denormalized data
+event:0X0793 counters:3 um:zero minimum:1000 name:PM_FPU0_SINGLE_GRP121 : (Group 121 pm_fpu0_misc) FPU0 executed single precision instruction
+
+#Group 122 pm_fpu0_misc2, FPU0 events
+event:0X07A0 counters:0 um:zero minimum:1000 name:PM_FPU0_FIN_GRP122 : (Group 122 pm_fpu0_misc2) FPU0 produced a result
+event:0X07A1 counters:1 um:zero minimum:1000 name:PM_FPU0_FEST_GRP122 : (Group 122 pm_fpu0_misc2) FPU0 executed FEST instruction
+event:0X07A2 counters:2 um:zero minimum:1000 name:PM_FPU0_FPSCR_GRP122 : (Group 122 pm_fpu0_misc2) FPU0 executed FPSCR instruction
+event:0X07A3 counters:3 um:zero minimum:1000 name:PM_FPU0_FXMULT_GRP122 : (Group 122 pm_fpu0_misc2) FPU0 executed fixed point multiplication
+
+#Group 123 pm_fpu0_misc3, FPU0 events
+event:0X07B0 counters:0 um:zero minimum:1000 name:PM_FPU0_FCONV_GRP123 : (Group 123 pm_fpu0_misc3) FPU0 executed FCONV instruction
+event:0X07B1 counters:1 um:zero minimum:1000 name:PM_FPU0_FRSP_GRP123 : (Group 123 pm_fpu0_misc3) FPU0 executed FRSP instruction
+event:0X07B2 counters:2 um:zero minimum:1000 name:PM_FPU0_ST_FOLDED_GRP123 : (Group 123 pm_fpu0_misc3) FPU0 folded store
+event:0X07B3 counters:3 um:zero minimum:1000 name:PM_FPU0_FEST_GRP123 : (Group 123 pm_fpu0_misc3) FPU0 executed FEST instruction
+
+#Group 124 pm_fpu1_flop, FPU1 flop events
+event:0X07C0 counters:0 um:zero minimum:1000 name:PM_FPU1_1FLOP_GRP124 : (Group 124 pm_fpu1_flop) FPU1 executed add, mult, sub, cmp or sel instruction
+event:0X07C1 counters:1 um:zero minimum:1000 name:PM_FPU1_FMA_GRP124 : (Group 124 pm_fpu1_flop) FPU1 executed multiply-add instruction
+event:0X07C2 counters:2 um:zero minimum:1000 name:PM_FPU1_FSQRT_FDIV_GRP124 : (Group 124 pm_fpu1_flop) FPU1 executed FSQRT or FDIV instruction
+event:0X07C3 counters:3 um:zero minimum:1000 name:PM_FPU1_STF_GRP124 : (Group 124 pm_fpu1_flop) FPU1 executed store instruction
+
+#Group 125 pm_fpu1_misc, FPU1 events
+event:0X07D0 counters:0 um:zero minimum:1000 name:PM_FPU1_FLOP_GRP125 : (Group 125 pm_fpu1_misc) FPU1 executed 1FLOP, FMA, FSQRT or FDIV instruction
+event:0X07D1 counters:1 um:zero minimum:1000 name:PM_FPU1_FXDIV_GRP125 : (Group 125 pm_fpu1_misc) FPU1 executed fixed point division
+event:0X07D2 counters:2 um:zero minimum:1000 name:PM_FPU1_DENORM_GRP125 : (Group 125 pm_fpu1_misc) FPU1 received denormalized data
+event:0X07D3 counters:3 um:zero minimum:1000 name:PM_FPU1_SINGLE_GRP125 : (Group 125 pm_fpu1_misc) FPU1 executed single precision instruction
+
+#Group 126 pm_fpu1_misc2, FPU1 events
+event:0X07E0 counters:0 um:zero minimum:1000 name:PM_FPU1_FIN_GRP126 : (Group 126 pm_fpu1_misc2) FPU1 produced a result
+event:0X07E1 counters:1 um:zero minimum:1000 name:PM_FPU1_FEST_GRP126 : (Group 126 pm_fpu1_misc2) FPU1 executed FEST instruction
+event:0X07E2 counters:2 um:zero minimum:1000 name:PM_FPU1_FPSCR_GRP126 : (Group 126 pm_fpu1_misc2) FPU1 executed FPSCR instruction
+event:0X07E3 counters:3 um:zero minimum:1000 name:PM_FPU1_FXMULT_GRP126 : (Group 126 pm_fpu1_misc2) FPU1 executed fixed point multiplication
+
+#Group 127 pm_fpu1_misc3, FPU1 events
+event:0X07F0 counters:0 um:zero minimum:1000 name:PM_FPU1_FCONV_GRP127 : (Group 127 pm_fpu1_misc3) FPU1 executed FCONV instruction
+event:0X07F1 counters:1 um:zero minimum:1000 name:PM_FPU1_FRSP_GRP127 : (Group 127 pm_fpu1_misc3) FPU1 executed FRSP instruction
+event:0X07F2 counters:2 um:zero minimum:1000 name:PM_FPU1_ST_FOLDED_GRP127 : (Group 127 pm_fpu1_misc3) FPU1 folded store
+event:0X07F3 counters:3 um:zero minimum:1000 name:PM_FPU1_FEST_GRP127 : (Group 127 pm_fpu1_misc3) FPU1 executed FEST instruction
+
+#Group 128 pm_fpu_flop, FPU flop events
+event:0X0800 counters:0 um:zero minimum:1000 name:PM_FPU_1FLOP_GRP128 : (Group 128 pm_fpu_flop) FPU executed one flop instruction
+event:0X0801 counters:1 um:zero minimum:1000 name:PM_FPU_FMA_GRP128 : (Group 128 pm_fpu_flop) FPU executed multiply-add instruction
+event:0X0802 counters:2 um:zero minimum:1000 name:PM_FPU_FSQRT_FDIV_GRP128 : (Group 128 pm_fpu_flop) FPU executed FSQRT or FDIV instruction
+event:0X0803 counters:3 um:zero minimum:1000 name:PM_FPU_FLOP_GRP128 : (Group 128 pm_fpu_flop) FPU executed 1FLOP, FMA, FSQRT or FDIV instruction
+
+#Group 129 pm_fpu_misc, FPU events
+event:0X0810 counters:0 um:zero minimum:1000 name:PM_FPU_FIN_GRP129 : (Group 129 pm_fpu_misc) FPU produced a result
+event:0X0811 counters:1 um:zero minimum:1000 name:PM_FPU_FRSP_GRP129 : (Group 129 pm_fpu_misc) FPU executed FRSP instruction
+event:0X0812 counters:2 um:zero minimum:1000 name:PM_FPU_FPSCR_GRP129 : (Group 129 pm_fpu_misc) FPU executed FPSCR instruction
+event:0X0813 counters:3 um:zero minimum:1000 name:PM_FPU_FXMULT_GRP129 : (Group 129 pm_fpu_misc) FPU executed fixed point multiplication
+
+#Group 130 pm_fpu_misc2, FPU events
+event:0X0820 counters:0 um:zero minimum:1000 name:PM_FPU_FXDIV_GRP130 : (Group 130 pm_fpu_misc2) FPU executed fixed point division
+event:0X0821 counters:1 um:zero minimum:1000 name:PM_FPU_DENORM_GRP130 : (Group 130 pm_fpu_misc2) FPU received denormalized data
+event:0X0822 counters:2 um:zero minimum:1000 name:PM_FPU_STF_GRP130 : (Group 130 pm_fpu_misc2) FPU executed store instruction
+event:0X0823 counters:3 um:zero minimum:1000 name:PM_FPU_SINGLE_GRP130 : (Group 130 pm_fpu_misc2) FPU executed single precision instruction
+
+#Group 131 pm_fpu_misc3, FPU events
+event:0X0830 counters:0 um:zero minimum:1000 name:PM_FPU_FCONV_GRP131 : (Group 131 pm_fpu_misc3) FPU executed FCONV instruction
+event:0X0831 counters:1 um:zero minimum:1000 name:PM_FPU_FRSP_GRP131 : (Group 131 pm_fpu_misc3) FPU executed FRSP instruction
+event:0X0832 counters:2 um:zero minimum:1000 name:PM_FPU_ST_FOLDED_GRP131 : (Group 131 pm_fpu_misc3) FPU folded store
+event:0X0833 counters:3 um:zero minimum:1000 name:PM_FPU_FEST_GRP131 : (Group 131 pm_fpu_misc3) FPU executed FEST instruction
+
+#Group 132 pm_purr, PURR events
+event:0X0840 counters:0 um:zero minimum:1000 name:PM_PURR_GRP132 : (Group 132 pm_purr) PURR Event
+event:0X0841 counters:1 um:zero minimum:10000 name:PM_RUN_CYC_GRP132 : (Group 132 pm_purr) Run cycles
+event:0X0842 counters:2 um:zero minimum:10000 name:PM_CYC_GRP132 : (Group 132 pm_purr) Processor cycles
+event:0X0843 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP132 : (Group 132 pm_purr) Instructions completed
+
+#Group 133 pm_suspend, SUSPENDED events
+event:0X0850 counters:0 um:zero minimum:1000 name:PM_SUSPENDED_GRP133 : (Group 133 pm_suspend) Suspended
+event:0X0851 counters:1 um:zero minimum:10000 name:PM_CYC_GRP133 : (Group 133 pm_suspend) Processor cycles
+event:0X0852 counters:2 um:zero minimum:1000 name:PM_SYNC_CYC_GRP133 : (Group 133 pm_suspend) Sync duration
+event:0X0853 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP133 : (Group 133 pm_suspend) Instructions completed
+
+#Group 134 pm_dcache, D cache
+event:0X0860 counters:0 um:zero minimum:1000 name:PM_LD_MISS_L1_CYC_GRP134 : (Group 134 pm_dcache) L1 data load miss cycles
+event:0X0861 counters:1 um:zero minimum:1000 name:PM_LSU_DERAT_MISS_GRP134 : (Group 134 pm_dcache) DERAT misses
+event:0X0862 counters:2 um:zero minimum:1000 name:PM_LD_MISS_L1_GRP134 : (Group 134 pm_dcache) L1 D cache load misses
+event:0X0863 counters:3 um:zero minimum:1000 name:PM_LSU_DERAT_MISS_CYC_GRP134 : (Group 134 pm_dcache) DERAT miss latency
+
+#Group 135 pm_derat_miss, DERAT miss
+event:0X0870 counters:0 um:zero minimum:1000 name:PM_DERAT_MISS_4K_GRP135 : (Group 135 pm_derat_miss) DERAT misses for 4K page
+event:0X0871 counters:1 um:zero minimum:1000 name:PM_DERAT_MISS_64K_GRP135 : (Group 135 pm_derat_miss) DERAT misses for 64K page
+event:0X0872 counters:2 um:zero minimum:1000 name:PM_DERAT_MISS_16M_GRP135 : (Group 135 pm_derat_miss) DERAT misses for 16M page
+event:0X0873 counters:3 um:zero minimum:1000 name:PM_DERAT_MISS_16G_GRP135 : (Group 135 pm_derat_miss) DERAT misses for 16G page
+
+#Group 136 pm_derat_ref, DERAT ref
+event:0X0880 counters:0 um:zero minimum:1000 name:PM_DERAT_REF_4K_GRP136 : (Group 136 pm_derat_ref) DERAT reference for 4K page
+event:0X0881 counters:1 um:zero minimum:1000 name:PM_DERAT_REF_64K_GRP136 : (Group 136 pm_derat_ref) DERAT reference for 64K page
+event:0X0882 counters:2 um:zero minimum:1000 name:PM_DERAT_REF_16M_GRP136 : (Group 136 pm_derat_ref) DERAT reference for 16M page
+event:0X0883 counters:3 um:zero minimum:1000 name:PM_DERAT_REF_16G_GRP136 : (Group 136 pm_derat_ref) DERAT reference for 16G page
+
+#Group 137 pm_ierat_miss, IERAT miss
+event:0X0890 counters:0 um:zero minimum:1000 name:PM_IERAT_MISS_16G_GRP137 : (Group 137 pm_ierat_miss) IERAT misses for 16G page
+event:0X0891 counters:1 um:zero minimum:1000 name:PM_IERAT_MISS_16M_GRP137 : (Group 137 pm_ierat_miss) IERAT misses for 16M page
+event:0X0892 counters:2 um:zero minimum:1000 name:PM_IERAT_MISS_64K_GRP137 : (Group 137 pm_ierat_miss) IERAT misses for 64K page
+event:0X0893 counters:3 um:zero minimum:1000 name:PM_IERAT_MISS_4K_GRP137 : (Group 137 pm_ierat_miss) IERAT misses for 4K page
+
+#Group 138 pm_mrk_br, Marked Branch events
+event:0X08A0 counters:0 um:zero minimum:1000 name:PM_MRK_BR_TAKEN_GRP138 : (Group 138 pm_mrk_br) Marked branch taken
+event:0X08A1 counters:1 um:zero minimum:1000 name:PM_MRK_LD_MISS_L1_GRP138 : (Group 138 pm_mrk_br) Marked L1 D cache load misses
+event:0X08A2 counters:2 um:zero minimum:1000 name:PM_MRK_BR_MPRED_GRP138 : (Group 138 pm_mrk_br) Marked branch mispredicted
+event:0X08A3 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP138 : (Group 138 pm_mrk_br) Instructions completed
+
+#Group 139 pm_mrk_dsource, Marked data sources
+event:0X08B0 counters:0 um:zero minimum:10000 name:PM_INST_CMPL_GRP139 : (Group 139 pm_mrk_dsource) Instructions completed
+event:0X08B1 counters:1 um:zero minimum:1000 name:PM_MRK_DATA_FROM_DMEM_GRP139 : (Group 139 pm_mrk_dsource) Marked data loaded from distant memory
+event:0X08B2 counters:2 um:zero minimum:1000 name:PM_MRK_DATA_FROM_DL2L3_SHR_GRP139 : (Group 139 pm_mrk_dsource) Marked data loaded from distant L2 or L3 shared
+event:0X08B3 counters:3 um:zero minimum:1000 name:PM_MRK_DATA_FROM_DL2L3_MOD_GRP139 : (Group 139 pm_mrk_dsource) Marked data loaded from distant L2 or L3 modified
+
+#Group 140 pm_mrk_dsource2, Marked data sources
+event:0X08C0 counters:0 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L2_GRP140 : (Group 140 pm_mrk_dsource2) Marked data loaded from L2
+event:0X08C1 counters:1 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L21_GRP140 : (Group 140 pm_mrk_dsource2) Marked data loaded from private L2 other core
+event:0X08C2 counters:2 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L25_MOD_GRP140 : (Group 140 pm_mrk_dsource2) Marked data loaded from L2.5 modified
+event:0X08C3 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP140 : (Group 140 pm_mrk_dsource2) Instructions completed
+
+#Group 141 pm_mrk_dsource3, Marked data sources
+event:0X08D0 counters:0 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L2MISS_GRP141 : (Group 141 pm_mrk_dsource3) Marked data loaded missed L2
+event:0X08D1 counters:1 um:zero minimum:10000 name:PM_INST_CMPL_GRP141 : (Group 141 pm_mrk_dsource3) Instructions completed
+event:0X08D2 counters:2 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L3_GRP141 : (Group 141 pm_mrk_dsource3) Marked data loaded from L3
+event:0X08D3 counters:3 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L25_SHR_GRP141 : (Group 141 pm_mrk_dsource3) Marked data loaded from L2.5 shared
+
+#Group 142 pm_mrk_dsource4, Marked data sources
+event:0X08E0 counters:0 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L35_MOD_GRP142 : (Group 142 pm_mrk_dsource4) Marked data loaded from L3.5 modified
+event:0X08E1 counters:1 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L35_SHR_GRP142 : (Group 142 pm_mrk_dsource4) Marked data loaded from L3.5 shared
+event:0X08E2 counters:2 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L3MISS_GRP142 : (Group 142 pm_mrk_dsource4) Marked data loaded from L3 miss
+event:0X08E3 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP142 : (Group 142 pm_mrk_dsource4) Instructions completed
+
+#Group 143 pm_mrk_dsource5, Marked data sources
+event:0X08F0 counters:0 um:zero minimum:1000 name:PM_MRK_DATA_FROM_MEM_DP_GRP143 : (Group 143 pm_mrk_dsource5) Marked data loaded from double pump memory
+event:0X08F1 counters:1 um:zero minimum:1000 name:PM_MRK_DATA_FROM_RL2L3_SHR_GRP143 : (Group 143 pm_mrk_dsource5) Marked data loaded from remote L2 or L3 shared
+event:0X08F2 counters:2 um:zero minimum:10000 name:PM_INST_CMPL_GRP143 : (Group 143 pm_mrk_dsource5) Instructions completed
+event:0X08F3 counters:3 um:zero minimum:1000 name:PM_MRK_DATA_FROM_LMEM_GRP143 : (Group 143 pm_mrk_dsource5) Marked data loaded from local memory
+
+#Group 144 pm_mrk_dsource6, Marked data sources
+event:0X0900 counters:0 um:zero minimum:1000 name:PM_MRK_DATA_FROM_RL2L3_MOD_GRP144 : (Group 144 pm_mrk_dsource6) Marked data loaded from remote L2 or L3 modified
+event:0X0901 counters:1 um:zero minimum:1000 name:PM_MRK_DATA_FROM_RL2L3_SHR_GRP144 : (Group 144 pm_mrk_dsource6) Marked data loaded from remote L2 or L3 shared
+event:0X0902 counters:2 um:zero minimum:1000 name:PM_MRK_DATA_FROM_RMEM_GRP144 : (Group 144 pm_mrk_dsource6) Marked data loaded from remote memory
+event:0X0903 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP144 : (Group 144 pm_mrk_dsource6) Instructions completed
+
+#Group 145 pm_mrk_rejects, Marked rejects
+event:0X0910 counters:0 um:zero minimum:1000 name:PM_MRK_LSU_REJECT_ULD_GRP145 : (Group 145 pm_mrk_rejects) Marked unaligned load reject
+event:0X0911 counters:1 um:zero minimum:1000 name:PM_MRK_LSU_REJECT_UST_GRP145 : (Group 145 pm_mrk_rejects) Marked unaligned store reject
+event:0X0912 counters:2 um:zero minimum:10000 name:PM_INST_CMPL_GRP145 : (Group 145 pm_mrk_rejects) Instructions completed
+event:0X0913 counters:3 um:zero minimum:1000 name:PM_MRK_LSU_REJECT_LHS_GRP145 : (Group 145 pm_mrk_rejects) Marked load hit store reject
+
+#Group 146 pm_mrk_rejects2, Marked rejects LSU0
+event:0X0920 counters:0 um:zero minimum:1000 name:PM_MRK_LSU0_REJECT_LHS_GRP146 : (Group 146 pm_mrk_rejects2) LSU0 marked load hit store reject
+event:0X0921 counters:1 um:zero minimum:1000 name:PM_MRK_LSU0_REJECT_ULD_GRP146 : (Group 146 pm_mrk_rejects2) LSU0 marked unaligned load reject
+event:0X0922 counters:2 um:zero minimum:1000 name:PM_MRK_LSU0_REJECT_UST_GRP146 : (Group 146 pm_mrk_rejects2) LSU0 marked unaligned store reject
+event:0X0923 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP146 : (Group 146 pm_mrk_rejects2) Instructions completed
+
+#Group 147 pm_mrk_rejects3, Marked rejects LSU1
+event:0X0930 counters:0 um:zero minimum:1000 name:PM_MRK_LSU1_REJECT_LHS_GRP147 : (Group 147 pm_mrk_rejects3) LSU1 marked load hit store reject
+event:0X0931 counters:1 um:zero minimum:1000 name:PM_MRK_LSU1_REJECT_ULD_GRP147 : (Group 147 pm_mrk_rejects3) LSU1 marked unaligned load reject
+event:0X0932 counters:2 um:zero minimum:1000 name:PM_MRK_LSU1_REJECT_UST_GRP147 : (Group 147 pm_mrk_rejects3) LSU1 marked unaligned store reject
+event:0X0933 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP147 : (Group 147 pm_mrk_rejects3) Instructions completed
+
+#Group 148 pm_mrk_inst, Marked instruction events
+event:0X0940 counters:0 um:zero minimum:1000 name:PM_MRK_INST_ISSUED_GRP148 : (Group 148 pm_mrk_inst) Marked instruction issued
+event:0X0941 counters:1 um:zero minimum:1000 name:PM_MRK_INST_DISP_GRP148 : (Group 148 pm_mrk_inst) Marked instruction dispatched
+event:0X0942 counters:2 um:zero minimum:1000 name:PM_MRK_INST_FIN_GRP148 : (Group 148 pm_mrk_inst) Marked instruction finished
+event:0X0943 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP148 : (Group 148 pm_mrk_inst) Instructions completed
+
+#Group 149 pm_mrk_fpu_fin, Marked Floating Point instructions finished
+event:0X0950 counters:0 um:zero minimum:1000 name:PM_MRK_FPU0_FIN_GRP149 : (Group 149 pm_mrk_fpu_fin) Marked instruction FPU0 processing finished
+event:0X0951 counters:1 um:zero minimum:1000 name:PM_MRK_FPU1_FIN_GRP149 : (Group 149 pm_mrk_fpu_fin) Marked instruction FPU1 processing finished
+event:0X0952 counters:2 um:zero minimum:1000 name:PM_MRK_FPU_FIN_GRP149 : (Group 149 pm_mrk_fpu_fin) Marked instruction FPU processing finished
+event:0X0953 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP149 : (Group 149 pm_mrk_fpu_fin) Instructions completed
+
+#Group 150 pm_mrk_misc, Marked misc events
+event:0X0960 counters:0 um:zero minimum:1000 name:PM_MRK_LSU_REJECT_ULD_GRP150 : (Group 150 pm_mrk_misc) Marked unaligned load reject
+event:0X0961 counters:1 um:zero minimum:1000 name:PM_MRK_FXU_FIN_GRP150 : (Group 150 pm_mrk_misc) Marked instruction FXU processing finished
+event:0X0962 counters:2 um:zero minimum:1000 name:PM_MRK_DFU_FIN_GRP150 : (Group 150 pm_mrk_misc) DFU marked instruction finish
+event:0X0963 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP150 : (Group 150 pm_mrk_misc) Instructions completed
+
+#Group 151 pm_mrk_misc2, Marked misc events
+event:0X0970 counters:0 um:zero minimum:1000 name:PM_MRK_STCX_FAIL_GRP151 : (Group 151 pm_mrk_misc2) Marked STCX failed
+event:0X0971 counters:1 um:zero minimum:1000 name:PM_MRK_IFU_FIN_GRP151 : (Group 151 pm_mrk_misc2) Marked instruction IFU processing finished
+event:0X0972 counters:2 um:zero minimum:10000 name:PM_INST_CMPL_GRP151 : (Group 151 pm_mrk_misc2) Instructions completed
+event:0X0973 counters:3 um:zero minimum:1000 name:PM_MRK_INST_TIMEO_GRP151 : (Group 151 pm_mrk_misc2) Marked Instruction finish timeout
+
+#Group 152 pm_mrk_misc3, Marked misc events
+event:0X0980 counters:0 um:zero minimum:1000 name:PM_MRK_VMX_ST_ISSUED_GRP152 : (Group 152 pm_mrk_misc3) Marked VMX store issued
+event:0X0981 counters:1 um:zero minimum:1000 name:PM_MRK_LSU0_REJECT_L2MISS_GRP152 : (Group 152 pm_mrk_misc3) LSU0 marked L2 miss reject
+event:0X0982 counters:2 um:zero minimum:10000 name:PM_INST_CMPL_GRP152 : (Group 152 pm_mrk_misc3) Instructions completed
+event:0X0983 counters:3 um:zero minimum:1000 name:PM_MRK_LSU_DERAT_MISS_GRP152 : (Group 152 pm_mrk_misc3) Marked DERAT miss
+
+#Group 153 pm_mrk_misc4, Marked misc events
+event:0X0990 counters:0 um:zero minimum:10000 name:PM_CYC_GRP153 : (Group 153 pm_mrk_misc4) Processor cycles
+event:0X0991 counters:1 um:zero minimum:10000 name:PM_CYC_GRP153 : (Group 153 pm_mrk_misc4) Processor cycles
+event:0X0992 counters:2 um:zero minimum:10000 name:PM_INST_CMPL_GRP153 : (Group 153 pm_mrk_misc4) Instructions completed
+event:0X0993 counters:3 um:zero minimum:1000 name:PM_MRK_LSU_FIN_GRP153 : (Group 153 pm_mrk_misc4) Marked instruction LSU processing finished
+
+#Group 154 pm_mrk_st, Marked stores events
+event:0X09A0 counters:0 um:zero minimum:1000 name:PM_MRK_ST_CMPL_GRP154 : (Group 154 pm_mrk_st) Marked store instruction completed
+event:0X09A1 counters:1 um:zero minimum:1000 name:PM_MRK_ST_GPS_GRP154 : (Group 154 pm_mrk_st) Marked store sent to GPS
+event:0X09A2 counters:2 um:zero minimum:1000 name:PM_MRK_ST_CMPL_INT_GRP154 : (Group 154 pm_mrk_st) Marked store completed with intervention
+event:0X09A3 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP154 : (Group 154 pm_mrk_st) Instructions completed
+
+#Group 155 pm_mrk_pteg, Marked PTEG
+event:0X09B0 counters:0 um:zero minimum:1000 name:PM_MRK_PTEG_FROM_L2_GRP155 : (Group 155 pm_mrk_pteg) Marked PTEG loaded from L2.5 modified
+event:0X09B1 counters:1 um:zero minimum:1000 name:PM_MRK_PTEG_FROM_DMEM_GRP155 : (Group 155 pm_mrk_pteg) Marked PTEG loaded from distant memory
+event:0X09B2 counters:2 um:zero minimum:1000 name:PM_MRK_PTEG_FROM_DL2L3_SHR_GRP155 : (Group 155 pm_mrk_pteg) Marked PTEG loaded from distant L2 or L3 shared
+event:0X09B3 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP155 : (Group 155 pm_mrk_pteg) Instructions completed
+
+#Group 156 pm_mrk_pteg2, Marked PTEG
+event:0X09C0 counters:0 um:zero minimum:10000 name:PM_INST_CMPL_GRP156 : (Group 156 pm_mrk_pteg2) Instructions completed
+event:0X09C1 counters:1 um:zero minimum:1000 name:PM_MRK_PTEG_FROM_L21_GRP156 : (Group 156 pm_mrk_pteg2) Marked PTEG loaded from private L2 other core
+event:0X09C2 counters:2 um:zero minimum:1000 name:PM_MRK_PTEG_FROM_L25_MOD_GRP156 : (Group 156 pm_mrk_pteg2) Marked PTEG loaded from L2.5 modified
+event:0X09C3 counters:3 um:zero minimum:1000 name:PM_MRK_PTEG_FROM_DL2L3_MOD_GRP156 : (Group 156 pm_mrk_pteg2) Marked PTEG loaded from distant L2 or L3 modified
+
+#Group 157 pm_mrk_pteg3, Marked PTEG
+event:0X09D0 counters:0 um:zero minimum:1000 name:PM_MRK_PTEG_FROM_L35_MOD_GRP157 : (Group 157 pm_mrk_pteg3) Marked PTEG loaded from L3.5 modified
+event:0X09D1 counters:1 um:zero minimum:1000 name:PM_MRK_PTEG_FROM_L35_SHR_GRP157 : (Group 157 pm_mrk_pteg3) Marked PTEG loaded from L3.5 shared
+event:0X09D2 counters:2 um:zero minimum:10000 name:PM_INST_CMPL_GRP157 : (Group 157 pm_mrk_pteg3) Instructions completed
+event:0X09D3 counters:3 um:zero minimum:1000 name:PM_MRK_PTEG_FROM_L25_SHR_GRP157 : (Group 157 pm_mrk_pteg3) Marked PTEG loaded from L2.5 shared
+
+#Group 158 pm_mrk_pteg4, Marked PTEG
+event:0X09E0 counters:0 um:zero minimum:1000 name:PM_MRK_PTEG_FROM_MEM_DP_GRP158 : (Group 158 pm_mrk_pteg4) Marked PTEG loaded from double pump memory
+event:0X09E1 counters:1 um:zero minimum:10000 name:PM_INST_CMPL_GRP158 : (Group 158 pm_mrk_pteg4) Instructions completed
+event:0X09E2 counters:2 um:zero minimum:1000 name:PM_MRK_PTEG_FROM_L3_GRP158 : (Group 158 pm_mrk_pteg4) Marked PTEG loaded from L3
+event:0X09E3 counters:3 um:zero minimum:1000 name:PM_MRK_PTEG_FROM_L2MISS_GRP158 : (Group 158 pm_mrk_pteg4) Marked PTEG loaded from L2 miss
+
+#Group 159 pm_mrk_pteg5, Marked PTEG
+event:0X09F0 counters:0 um:zero minimum:1000 name:PM_MRK_PTEG_FROM_RL2L3_MOD_GRP159 : (Group 159 pm_mrk_pteg5) Marked PTEG loaded from remote L2 or L3 modified
+event:0X09F1 counters:1 um:zero minimum:10000 name:PM_INST_CMPL_GRP159 : (Group 159 pm_mrk_pteg5) Instructions completed
+event:0X09F2 counters:2 um:zero minimum:1000 name:PM_MRK_PTEG_FROM_L3MISS_GRP159 : (Group 159 pm_mrk_pteg5) Marked PTEG loaded from L3 miss
+event:0X09F3 counters:3 um:zero minimum:1000 name:PM_MRK_PTEG_FROM_LMEM_GRP159 : (Group 159 pm_mrk_pteg5) Marked PTEG loaded from local memory
+
+#Group 160 pm_mrk_pteg6, Marked PTEG
+event:0X0A00 counters:0 um:zero minimum:10000 name:PM_CYC_GRP160 : (Group 160 pm_mrk_pteg6) Processor cycles
+event:0X0A01 counters:1 um:zero minimum:1000 name:PM_MRK_PTEG_FROM_RL2L3_SHR_GRP160 : (Group 160 pm_mrk_pteg6) Marked PTEG loaded from remote L2 or L3 shared
+event:0X0A02 counters:2 um:zero minimum:1000 name:PM_MRK_PTEG_FROM_RMEM_GRP160 : (Group 160 pm_mrk_pteg6) Marked PTEG loaded from remote memory
+event:0X0A03 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP160 : (Group 160 pm_mrk_pteg6) Instructions completed
+
+#Group 161 pm_mrk_vmx, Marked VMX
+event:0X0A10 counters:0 um:zero minimum:1000 name:PM_MRK_VMX_COMPLEX_ISSUED_GRP161 : (Group 161 pm_mrk_vmx) Marked VMX instruction issued to complex
+event:0X0A11 counters:1 um:zero minimum:1000 name:PM_MRK_VMX_FLOAT_ISSUED_GRP161 : (Group 161 pm_mrk_vmx) Marked VMX instruction issued to float
+event:0X0A12 counters:2 um:zero minimum:1000 name:PM_MRK_VMX_PERMUTE_ISSUED_GRP161 : (Group 161 pm_mrk_vmx) Marked VMX instruction issued to permute
+event:0X0A13 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP161 : (Group 161 pm_mrk_vmx) Instructions completed
+
+#Group 162 pm_mrk_vmx2, Marked VMX
+event:0X0A20 counters:0 um:zero minimum:1000 name:PM_MRK_VMX0_LD_WRBACK_GRP162 : (Group 162 pm_mrk_vmx2) Marked VMX0 load writeback valid
+event:0X0A21 counters:1 um:zero minimum:1000 name:PM_MRK_VMX1_LD_WRBACK_GRP162 : (Group 162 pm_mrk_vmx2) Marked VMX1 load writeback valid
+event:0X0A22 counters:2 um:zero minimum:1000 name:PM_MRK_DTLB_REF_GRP162 : (Group 162 pm_mrk_vmx2) Marked Data TLB reference
+event:0X0A23 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP162 : (Group 162 pm_mrk_vmx2) Instructions completed
+
+#Group 163 pm_mrk_vmx3, Marked VMX
+event:0X0A30 counters:0 um:zero minimum:1000 name:PM_MRK_VMX_SIMPLE_ISSUED_GRP163 : (Group 163 pm_mrk_vmx3) Marked VMX instruction issued to simple
+event:0X0A31 counters:1 um:zero minimum:1000 name:PM_VMX_SIMPLE_ISSUED_GRP163 : (Group 163 pm_mrk_vmx3) VMX instruction issued to simple
+event:0X0A32 counters:2 um:zero minimum:10000 name:PM_CYC_GRP163 : (Group 163 pm_mrk_vmx3) Processor cycles
+event:0X0A33 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP163 : (Group 163 pm_mrk_vmx3) Instructions completed
+
+#Group 164 pm_mrk_fp, Marked FP events
+event:0X0A40 counters:0 um:zero minimum:1000 name:PM_MRK_FPU0_FIN_GRP164 : (Group 164 pm_mrk_fp) Marked instruction FPU0 processing finished
+event:0X0A41 counters:1 um:zero minimum:1000 name:PM_MRK_FPU_FIN_GRP164 : (Group 164 pm_mrk_fp) Marked instruction FPU processing finished
+event:0X0A42 counters:2 um:zero minimum:1000 name:PM_MRK_FPU1_FIN_GRP164 : (Group 164 pm_mrk_fp) Marked instruction FPU1 processing finished
+event:0X0A43 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP164 : (Group 164 pm_mrk_fp) Instructions completed
+
+#Group 165 pm_mrk_derat_ref, Marked DERAT ref
+event:0X0A50 counters:0 um:zero minimum:1000 name:PM_MRK_DERAT_REF_64K_GRP165 : (Group 165 pm_mrk_derat_ref) Marked DERAT reference for 64K page
+event:0X0A51 counters:1 um:zero minimum:1000 name:PM_MRK_DERAT_REF_4K_GRP165 : (Group 165 pm_mrk_derat_ref) Marked DERAT reference for 4K page
+event:0X0A52 counters:2 um:zero minimum:1000 name:PM_MRK_DERAT_REF_16M_GRP165 : (Group 165 pm_mrk_derat_ref) Marked DERAT reference for 16M page
+event:0X0A53 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP165 : (Group 165 pm_mrk_derat_ref) Instructions completed
+
+#Group 166 pm_mrk_derat_miss, Marked DERAT miss
+event:0X0A60 counters:0 um:zero minimum:1000 name:PM_MRK_DERAT_MISS_64K_GRP166 : (Group 166 pm_mrk_derat_miss) Marked DERAT misses for 64K page
+event:0X0A61 counters:1 um:zero minimum:1000 name:PM_MRK_DERAT_MISS_4K_GRP166 : (Group 166 pm_mrk_derat_miss) Marked DERAT misses for 4K page
+event:0X0A62 counters:2 um:zero minimum:1000 name:PM_MRK_DERAT_MISS_16M_GRP166 : (Group 166 pm_mrk_derat_miss) Marked DERAT misses for 16M page
+event:0X0A63 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP166 : (Group 166 pm_mrk_derat_miss) Instructions completed
+
+#Group 167 pm_dcache_edge, D cache - edge
+event:0X0A70 counters:0 um:zero minimum:1000 name:PM_LD_MISS_L1_GRP167 : (Group 167 pm_dcache_edge) L1 D cache load misses
+event:0X0A71 counters:1 um:zero minimum:1000 name:PM_LSU_DERAT_MISS_GRP167 : (Group 167 pm_dcache_edge) DERAT misses
+event:0X0A72 counters:2 um:zero minimum:1000 name:PM_LD_MISS_L1_GRP167 : (Group 167 pm_dcache_edge) L1 D cache load misses
+event:0X0A73 counters:3 um:zero minimum:1000 name:PM_LSU_DERAT_MISS_GRP167 : (Group 167 pm_dcache_edge) DERAT misses
+
+#Group 168 pm_lsu_lmq_edge, LSU LMQ events - edge
+event:0X0A80 counters:0 um:zero minimum:1000 name:PM_LSU_LMQ_FULL_CYC_GRP168 : (Group 168 pm_lsu_lmq_edge) Cycles LMQ full
+event:0X0A81 counters:1 um:zero minimum:1000 name:PM_LSU_LMQ_SRQ_EMPTY_COUNT_GRP168 : (Group 168 pm_lsu_lmq_edge) Periods LMQ and SRQ empty
+event:0X0A82 counters:2 um:zero minimum:1000 name:PM_LSU_LMQ_SRQ_EMPTY_BOTH_COUNT_GRP168 : (Group 168 pm_lsu_lmq_edge) Periods both threads LMQ and SRQ empty
+event:0X0A83 counters:3 um:zero minimum:1000 name:PM_LSU0_REJECT_L2MISS_GRP168 : (Group 168 pm_lsu_lmq_edge) LSU0 L2 miss reject
+
+#Group 169 pm_gct_edge, GCT events - edge
+event:0X0A90 counters:0 um:zero minimum:1000 name:PM_GCT_NOSLOT_COUNT_GRP169 : (Group 169 pm_gct_edge) Periods no GCT slot allocated
+event:0X0A91 counters:1 um:zero minimum:1000 name:PM_GCT_EMPTY_COUNT_GRP169 : (Group 169 pm_gct_edge) Periods GCT empty
+event:0X0A92 counters:2 um:zero minimum:1000 name:PM_GCT_FULL_COUNT_GRP169 : (Group 169 pm_gct_edge) Periods GCT full
+event:0X0A93 counters:3 um:zero minimum:1000 name:PM_INST_FETCH_CYC_GRP169 : (Group 169 pm_gct_edge) Cycles at least 1 instruction fetched
+
+#Group 170 pm_freq_edge, Frequency events - edge
+event:0X0AA0 counters:0 um:zero minimum:1000 name:PM_DPU_HELD_THERMAL_COUNT_GRP170 : (Group 170 pm_freq_edge) Periods DISP unit held due to thermal condition
+event:0X0AA1 counters:1 um:zero minimum:1000 name:PM_DPU_HELD_POWER_COUNT_GRP170 : (Group 170 pm_freq_edge) Periods DISP unit held due to Power Management
+event:0X0AA2 counters:2 um:zero minimum:1000 name:PM_FREQ_DOWN_GRP170 : (Group 170 pm_freq_edge) Frequency is being slewed down due to Power Management
+event:0X0AA3 counters:3 um:zero minimum:1000 name:PM_FREQ_UP_GRP170 : (Group 170 pm_freq_edge) Frequency is being slewed up due to Power Management
+
+#Group 171 pm_disp_wait_edge, Dispatch stalls - edge
+event:0X0AB0 counters:0 um:zero minimum:1000 name:PM_L1_ICACHE_MISS_GRP171 : (Group 171 pm_disp_wait_edge) L1 I cache miss count
+event:0X0AB1 counters:1 um:zero minimum:1000 name:PM_DPU_WT_IC_MISS_COUNT_GRP171 : (Group 171 pm_disp_wait_edge) Periods DISP unit is stalled due to I cache miss
+event:0X0AB2 counters:2 um:zero minimum:1000 name:PM_DPU_WT_COUNT_GRP171 : (Group 171 pm_disp_wait_edge) Periods DISP unit is stalled waiting for instructions
+event:0X0AB3 counters:3 um:zero minimum:1000 name:PM_DPU_WT_BR_MPRED_COUNT_GRP171 : (Group 171 pm_disp_wait_edge) Periods DISP unit is stalled due to branch misprediction
+
+#Group 172 pm_edge1, EDGE event group
+event:0X0AC0 counters:0 um:zero minimum:1000 name:PM_LD_MISS_L1_GRP172 : (Group 172 pm_edge1) L1 D cache load misses
+event:0X0AC1 counters:1 um:zero minimum:1000 name:PM_DPU_WT_IC_MISS_GRP172 : (Group 172 pm_edge1) Cycles DISP unit is stalled due to I cache miss
+event:0X0AC2 counters:2 um:zero minimum:1000 name:PM_LLA_COUNT_GRP172 : (Group 172 pm_edge1) Transitions into Load Look Ahead mode
+event:0X0AC3 counters:3 um:zero minimum:1000 name:PM_LLA_CYC_GRP172 : (Group 172 pm_edge1) Load Look Ahead Active
+
+#Group 173 pm_edge2, EDGE event group
+event:0X0AD0 counters:0 um:zero minimum:1000 name:PM_0INST_FETCH_COUNT_GRP173 : (Group 173 pm_edge2) Periods with no instructions fetched
+event:0X0AD1 counters:1 um:zero minimum:1000 name:PM_0INST_FETCH_GRP173 : (Group 173 pm_edge2) No instructions fetched
+event:0X0AD2 counters:2 um:zero minimum:1000 name:PM_IBUF_FULL_COUNT_GRP173 : (Group 173 pm_edge2) Periods instruction buffer full
+event:0X0AD3 counters:3 um:zero minimum:1000 name:PM_IBUF_FULL_CYC_GRP173 : (Group 173 pm_edge2) Cycles instruction buffer full
+
+#Group 174 pm_edge3, EDGE event group
+event:0X0AE0 counters:0 um:zero minimum:1000 name:PM_RUN_COUNT_GRP174 : (Group 174 pm_edge3) Run Periods
+event:0X0AE1 counters:1 um:zero minimum:10000 name:PM_RUN_CYC_GRP174 : (Group 174 pm_edge3) Run cycles
+event:0X0AE2 counters:2 um:zero minimum:1000 name:PM_INST_TABLEWALK_COUNT_GRP174 : (Group 174 pm_edge3) Periods doing instruction tablewalks
+event:0X0AE3 counters:3 um:zero minimum:1000 name:PM_INST_TABLEWALK_CYC_GRP174 : (Group 174 pm_edge3) Cycles doing instruction tablewalks
+
+#Group 175 pm_edge4, EDGE event group
+event:0X0AF0 counters:0 um:zero minimum:1000 name:PM_GCT_FULL_COUNT_GRP175 : (Group 175 pm_edge4) Periods GCT full
+event:0X0AF1 counters:1 um:zero minimum:1000 name:PM_GCT_FULL_CYC_GRP175 : (Group 175 pm_edge4) Cycles GCT full
+event:0X0AF2 counters:2 um:zero minimum:1000 name:PM_NO_ITAG_COUNT_GRP175 : (Group 175 pm_edge4) Periods no ITAG available
+event:0X0AF3 counters:3 um:zero minimum:1000 name:PM_NO_ITAG_CYC_GRP175 : (Group 175 pm_edge4) Cyles no ITAG available
+
+#Group 176 pm_edge5, EDGE event group
+event:0X0B00 counters:0 um:zero minimum:1000 name:PM_THRD_ONE_RUN_COUNT_GRP176 : (Group 176 pm_edge5) Periods one of the threads in run cycles
+event:0X0B01 counters:1 um:zero minimum:1000 name:PM_HV_COUNT_GRP176 : (Group 176 pm_edge5) Hypervisor Periods
+event:0X0B02 counters:2 um:zero minimum:1000 name:PM_SYNC_COUNT_GRP176 : (Group 176 pm_edge5) SYNC instructions completed
+event:0X0B03 counters:3 um:zero minimum:1000 name:PM_SYNC_CYC_GRP176 : (Group 176 pm_edge5) Sync duration
+
+#Group 177 pm_noedge5, EDGE event group
+event:0X0B10 counters:0 um:zero minimum:1000 name:PM_THRD_ONE_RUN_CYC_GRP177 : (Group 177 pm_noedge5) One of the threads in run cycles
+event:0X0B11 counters:1 um:zero minimum:1000 name:PM_HV_CYC_GRP177 : (Group 177 pm_noedge5) Hypervisor Cycles
+event:0X0B12 counters:2 um:zero minimum:1000 name:PM_SYNC_COUNT_GRP177 : (Group 177 pm_noedge5) SYNC instructions completed
+event:0X0B13 counters:3 um:zero minimum:1000 name:PM_SYNC_CYC_GRP177 : (Group 177 pm_noedge5) Sync duration
+
+#Group 178 pm_edge6, EDGE event group
+event:0X0B20 counters:0 um:zero minimum:1000 name:PM_DPU_HELD_THERMAL_COUNT_GRP178 : (Group 178 pm_edge6) Periods DISP unit held due to thermal condition
+event:0X0B21 counters:1 um:zero minimum:1000 name:PM_DPU_HELD_COUNT_GRP178 : (Group 178 pm_edge6) Periods DISP unit held
+event:0X0B22 counters:2 um:zero minimum:1000 name:PM_DPU_WT_COUNT_GRP178 : (Group 178 pm_edge6) Periods DISP unit is stalled waiting for instructions
+event:0X0B23 counters:3 um:zero minimum:1000 name:PM_DPU_WT_BR_MPRED_COUNT_GRP178 : (Group 178 pm_edge6) Periods DISP unit is stalled due to branch misprediction
+
+#Group 179 pm_noedge6, EDGE event group
+event:0X0B30 counters:0 um:zero minimum:1000 name:PM_DPU_HELD_THERMAL_GRP179 : (Group 179 pm_noedge6) DISP unit held due to thermal condition
+event:0X0B31 counters:1 um:zero minimum:1000 name:PM_DPU_HELD_GRP179 : (Group 179 pm_noedge6) DISP unit held
+event:0X0B32 counters:2 um:zero minimum:1000 name:PM_DPU_WT_GRP179 : (Group 179 pm_noedge6) Cycles DISP unit is stalled waiting for instructions
+event:0X0B33 counters:3 um:zero minimum:1000 name:PM_DPU_WT_BR_MPRED_GRP179 : (Group 179 pm_noedge6) Cycles DISP unit is stalled due to branch misprediction
+
+#Group 180 pm_edge7, EDGE event group
+event:0X0B40 counters:0 um:zero minimum:1000 name:PM_GCT_NOSLOT_COUNT_GRP180 : (Group 180 pm_edge7) Periods no GCT slot allocated
+event:0X0B41 counters:1 um:zero minimum:1000 name:PM_GCT_EMPTY_COUNT_GRP180 : (Group 180 pm_edge7) Periods GCT empty
+event:0X0B42 counters:2 um:zero minimum:1000 name:PM_LSU_LMQ_SRQ_EMPTY_BOTH_COUNT_GRP180 : (Group 180 pm_edge7) Periods both threads LMQ and SRQ empty
+event:0X0B43 counters:3 um:zero minimum:1000 name:PM_LSU_SRQ_EMPTY_COUNT_GRP180 : (Group 180 pm_edge7) Periods SRQ empty
+
+#Group 181 pm_noedge7, NOEDGE event group
+event:0X0B50 counters:0 um:zero minimum:1000 name:PM_GCT_NOSLOT_CYC_GRP181 : (Group 181 pm_noedge7) Cycles no GCT slot allocated
+event:0X0B51 counters:1 um:zero minimum:1000 name:PM_GCT_EMPTY_CYC_GRP181 : (Group 181 pm_noedge7) Cycles GCT empty
+event:0X0B52 counters:2 um:zero minimum:1000 name:PM_LSU_LMQ_SRQ_EMPTY_BOTH_CYC_GRP181 : (Group 181 pm_noedge7) Cycles both threads LMQ and SRQ empty
+event:0X0B53 counters:3 um:zero minimum:1000 name:PM_LSU_SRQ_EMPTY_CYC_GRP181 : (Group 181 pm_noedge7) Cycles SRQ empty
+
+#Group 182 pm_edge8, EDGE event group
+event:0X0B60 counters:0 um:zero minimum:1000 name:PM_SYNC_COUNT_GRP182 : (Group 182 pm_edge8) SYNC instructions completed
+event:0X0B61 counters:1 um:zero minimum:1000 name:PM_LSU_LMQ_SRQ_EMPTY_COUNT_GRP182 : (Group 182 pm_edge8) Periods LMQ and SRQ empty
+event:0X0B62 counters:2 um:zero minimum:1000 name:PM_SYNC_CYC_GRP182 : (Group 182 pm_edge8) Sync duration
+event:0X0B63 counters:3 um:zero minimum:1000 name:PM_LSU_DERAT_MISS_GRP182 : (Group 182 pm_edge8) DERAT misses
+
+#Group 183 pm_noedge8, NOEDGE event group
+event:0X0B70 counters:0 um:zero minimum:1000 name:PM_SYNC_CYC_GRP183 : (Group 183 pm_noedge8) Sync duration
+event:0X0B71 counters:1 um:zero minimum:1000 name:PM_LSU_LMQ_SRQ_EMPTY_CYC_GRP183 : (Group 183 pm_noedge8) Cycles LMQ and SRQ empty
+event:0X0B72 counters:2 um:zero minimum:1000 name:PM_SYNC_COUNT_GRP183 : (Group 183 pm_noedge8) SYNC instructions completed
+event:0X0B73 counters:3 um:zero minimum:1000 name:PM_LSU_DERAT_MISS_CYC_GRP183 : (Group 183 pm_noedge8) DERAT miss latency
+
+#Group 184 pm_edge9, EDGE event group
+event:0X0B80 counters:0 um:zero minimum:1000 name:PM_ST_MISS_L1_GRP184 : (Group 184 pm_edge9) L1 D cache store misses
+event:0X0B81 counters:1 um:zero minimum:1000 name:PM_DPU_WT_IC_MISS_COUNT_GRP184 : (Group 184 pm_edge9) Periods DISP unit is stalled due to I cache miss
+event:0X0B82 counters:2 um:zero minimum:1000 name:PM_LD_MISS_L1_GRP184 : (Group 184 pm_edge9) L1 D cache load misses
+event:0X0B83 counters:3 um:zero minimum:1000 name:PM_LD_REF_L1_GRP184 : (Group 184 pm_edge9) L1 D cache load references
+
+#Group 185 pm_edge10, EDGE event group
+event:0X0B90 counters:0 um:zero minimum:1000 name:PM_DPU_HELD_COMPLETION_GRP185 : (Group 185 pm_edge10) DISP unit held due to completion holding dispatch
+event:0X0B91 counters:1 um:zero minimum:1000 name:PM_DPU_HELD_POWER_COUNT_GRP185 : (Group 185 pm_edge10) Periods DISP unit held due to Power Management
+event:0X0B92 counters:2 um:zero minimum:1000 name:PM_DPU_HELD_CR_LOGICAL_GRP185 : (Group 185 pm_edge10) DISP unit held due to CR, LR or CTR updated by CR logical, MTCRF, MTLR or MTCTR
+event:0X0B93 counters:3 um:zero minimum:1000 name:PM_THRD_BOTH_RUN_COUNT_GRP185 : (Group 185 pm_edge10) Periods both threads in run cycles
+
+#Group 186 pm_noedge10, NOEDGE event group
+event:0X0BA0 counters:0 um:zero minimum:1000 name:PM_DPU_HELD_COMPLETION_GRP186 : (Group 186 pm_noedge10) DISP unit held due to completion holding dispatch
+event:0X0BA1 counters:1 um:zero minimum:1000 name:PM_DPU_HELD_POWER_GRP186 : (Group 186 pm_noedge10) DISP unit held due to Power Management
+event:0X0BA2 counters:2 um:zero minimum:1000 name:PM_DPU_HELD_CR_LOGICAL_GRP186 : (Group 186 pm_noedge10) DISP unit held due to CR, LR or CTR updated by CR logical, MTCRF, MTLR or MTCTR
+event:0X0BA3 counters:3 um:zero minimum:1000 name:PM_THRD_BOTH_RUN_CYC_GRP186 : (Group 186 pm_noedge10) Both threads in run cycles
+
+#Group 187 pm_hpm1, HPM group
+event:0X0BB0 counters:0 um:zero minimum:1000 name:PM_FPU_1FLOP_GRP187 : (Group 187 pm_hpm1) FPU executed one flop instruction
+event:0X0BB1 counters:1 um:zero minimum:1000 name:PM_FPU_FMA_GRP187 : (Group 187 pm_hpm1) FPU executed multiply-add instruction
+event:0X0BB2 counters:2 um:zero minimum:1000 name:PM_FPU_FSQRT_FDIV_GRP187 : (Group 187 pm_hpm1) FPU executed FSQRT or FDIV instruction
+event:0X0BB3 counters:3 um:zero minimum:10000 name:PM_CYC_GRP187 : (Group 187 pm_hpm1) Processor cycles
+
+#Group 188 pm_hpm2, HPM group
+event:0X0BC0 counters:0 um:zero minimum:10000 name:PM_INST_CMPL_GRP188 : (Group 188 pm_hpm2) Instructions completed
+event:0X0BC1 counters:1 um:zero minimum:1000 name:PM_LSU_LDF_GRP188 : (Group 188 pm_hpm2) LSU executed Floating Point load instruction
+event:0X0BC2 counters:2 um:zero minimum:1000 name:PM_FPU_STF_GRP188 : (Group 188 pm_hpm2) FPU executed store instruction
+event:0X0BC3 counters:3 um:zero minimum:10000 name:PM_CYC_GRP188 : (Group 188 pm_hpm2) Processor cycles
+
+#Group 189 pm_hpm3, HPM group
+event:0X0BD0 counters:0 um:zero minimum:10000 name:PM_CYC_GRP189 : (Group 189 pm_hpm3) Processor cycles
+event:0X0BD1 counters:1 um:zero minimum:1000 name:PM_LD_MISS_L1_GRP189 : (Group 189 pm_hpm3) L1 D cache load misses
+event:0X0BD2 counters:2 um:zero minimum:1000 name:PM_ST_MISS_L1_GRP189 : (Group 189 pm_hpm3) L1 D cache store misses
+event:0X0BD3 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP189 : (Group 189 pm_hpm3) Instructions completed
+
+#Group 190 pm_hpm4, HPM group
+event:0X0BE0 counters:0 um:zero minimum:10000 name:PM_INST_CMPL_GRP190 : (Group 190 pm_hpm4) Instructions completed
+event:0X0BE1 counters:1 um:zero minimum:1000 name:PM_INST_DISP_GRP190 : (Group 190 pm_hpm4) Instructions dispatched
+event:0X0BE2 counters:2 um:zero minimum:1000 name:PM_LD_REF_L1_GRP190 : (Group 190 pm_hpm4) L1 D cache load references
+event:0X0BE3 counters:3 um:zero minimum:1000 name:PM_ST_REF_L1_GRP190 : (Group 190 pm_hpm4) L1 D cache store references
+
+#Group 191 pm_hpm5, HPM group
+event:0X0BF0 counters:0 um:zero minimum:1000 name:PM_FPU_FIN_GRP191 : (Group 191 pm_hpm5) FPU produced a result
+event:0X0BF1 counters:1 um:zero minimum:10000 name:PM_CYC_GRP191 : (Group 191 pm_hpm5) Processor cycles
+event:0X0BF2 counters:2 um:zero minimum:1000 name:PM_FXU0_FIN_GRP191 : (Group 191 pm_hpm5) FXU0 produced a result
+event:0X0BF3 counters:3 um:zero minimum:1000 name:PM_FXU1_FIN_GRP191 : (Group 191 pm_hpm5) FXU1 produced a result
+
+#Group 192 pm_hpm6, HPM group
+event:0X0C00 counters:0 um:zero minimum:1000 name:PM_DATA_FROM_L2_GRP192 : (Group 192 pm_hpm6) Data loaded from L2
+event:0X0C01 counters:1 um:zero minimum:1000 name:PM_DATA_FROM_L21_GRP192 : (Group 192 pm_hpm6) Data loaded from private L2 other core
+event:0X0C02 counters:2 um:zero minimum:1000 name:PM_DATA_FROM_L25_MOD_GRP192 : (Group 192 pm_hpm6) Data loaded from L2.5 modified
+event:0X0C03 counters:3 um:zero minimum:1000 name:PM_DATA_FROM_L25_SHR_GRP192 : (Group 192 pm_hpm6) Data loaded from L2.5 shared
+
+#Group 193 pm_hpm7, HPM group
+event:0X0C10 counters:0 um:zero minimum:1000 name:PM_DATA_FROM_L35_MOD_GRP193 : (Group 193 pm_hpm7) Data loaded from L3.5 modified
+event:0X0C11 counters:1 um:zero minimum:1000 name:PM_DATA_FROM_L35_SHR_GRP193 : (Group 193 pm_hpm7) Data loaded from L3.5 shared
+event:0X0C12 counters:2 um:zero minimum:1000 name:PM_DATA_FROM_L3_GRP193 : (Group 193 pm_hpm7) Data loaded from L3
+event:0X0C13 counters:3 um:zero minimum:10000 name:PM_CYC_GRP193 : (Group 193 pm_hpm7) Processor cycles
+
+#Group 194 pm_hpm8, HPM group
+event:0X0C20 counters:0 um:zero minimum:1000 name:PM_FPU_1FLOP_GRP194 : (Group 194 pm_hpm8) FPU executed one flop instruction
+event:0X0C21 counters:1 um:zero minimum:1000 name:PM_FPU_FMA_GRP194 : (Group 194 pm_hpm8) FPU executed multiply-add instruction
+event:0X0C22 counters:2 um:zero minimum:1000 name:PM_FPU_STF_GRP194 : (Group 194 pm_hpm8) FPU executed store instruction
+event:0X0C23 counters:3 um:zero minimum:1000 name:PM_LD_MISS_L1_GRP194 : (Group 194 pm_hpm8) L1 D cache load misses
+
+#Group 195 pm_hpm9, HPM group
+event:0X0C30 counters:0 um:zero minimum:1000 name:PM_LD_MISS_L1_GRP195 : (Group 195 pm_hpm9) L1 D cache load misses
+event:0X0C31 counters:1 um:zero minimum:10000 name:PM_CYC_GRP195 : (Group 195 pm_hpm9) Processor cycles
+event:0X0C32 counters:2 um:zero minimum:1000 name:PM_LSU_LDF_GRP195 : (Group 195 pm_hpm9) LSU executed Floating Point load instruction
+event:0X0C33 counters:3 um:zero minimum:1000 name:PM_ST_MISS_L1_GRP195 : (Group 195 pm_hpm9) L1 D cache store misses
+
+#Group 196 pm_hpm10, HPM group
+event:0X0C40 counters:0 um:zero minimum:10000 name:PM_INST_CMPL_GRP196 : (Group 196 pm_hpm10) Instructions completed
+event:0X0C41 counters:1 um:zero minimum:1000 name:PM_L2_MISS_GRP196 : (Group 196 pm_hpm10) L2 cache misses
+event:0X0C42 counters:2 um:zero minimum:1000 name:PM_INST_FROM_L3MISS_GRP196 : (Group 196 pm_hpm10) Instruction fetched missed L3
+event:0X0C43 counters:3 um:zero minimum:1000 name:PM_DATA_FROM_L3MISS_GRP196 : (Group 196 pm_hpm10) Data loaded from private L3 miss
+
+#Group 197 pm_mrk_derat_ref2, Marked DERAT ref
+event:0X0C50 counters:0 um:zero minimum:1000 name:PM_MRK_DERAT_REF_64K_GRP197 : (Group 197 pm_mrk_derat_ref2) Marked DERAT reference for 64K page
+event:0X0C51 counters:1 um:zero minimum:1000 name:PM_MRK_DERAT_REF_4K_GRP197 : (Group 197 pm_mrk_derat_ref2) Marked DERAT reference for 4K page
+event:0X0C52 counters:2 um:zero minimum:10000 name:PM_INST_CMPL_GRP197 : (Group 197 pm_mrk_derat_ref2) Instructions completed
+event:0X0C53 counters:3 um:zero minimum:1000 name:PM_MRK_DERAT_REF_16G_GRP197 : (Group 197 pm_mrk_derat_ref2) Marked DERAT reference for 16G page
+
+#Group 198 pm_mrk_derat_miss2, Marked DERAT miss
+event:0X0C60 counters:0 um:zero minimum:1000 name:PM_MRK_DERAT_MISS_64K_GRP198 : (Group 198 pm_mrk_derat_miss2) Marked DERAT misses for 64K page
+event:0X0C61 counters:1 um:zero minimum:1000 name:PM_MRK_DERAT_MISS_4K_GRP198 : (Group 198 pm_mrk_derat_miss2) Marked DERAT misses for 4K page
+event:0X0C62 counters:2 um:zero minimum:10000 name:PM_INST_CMPL_GRP198 : (Group 198 pm_mrk_derat_miss2) Instructions completed
+event:0X0C63 counters:3 um:zero minimum:1000 name:PM_MRK_DERAT_MISS_16G_GRP198 : (Group 198 pm_mrk_derat_miss2) Marked DERAT misses for 16G page
diff --git a/events/ppc64/power6/unit_masks b/events/ppc64/power6/unit_masks
new file mode 100644
index 0000000..b58835f
--- /dev/null
+++ b/events/ppc64/power6/unit_masks
@@ -0,0 +1,9 @@
+#
+# Copyright OProfile authors
+# Copyright (c) International Business Machines, 2006.
+# Contributed by Dave Nomura <dcnltc@us.ibm.com>.
+#
+# ppc64 POWER6 possible unit masks
+#
+name:zero type:mandatory default:0x0
+ 0x0 No unit mask
diff --git a/events/ppc64/power7/event_mappings b/events/ppc64/power7/event_mappings
new file mode 100644
index 0000000..f8ef5f4
--- /dev/null
+++ b/events/ppc64/power7/event_mappings
@@ -0,0 +1,2020 @@
+#
+# Copyright OProfile authors
+# Copyright (c) International Business Machines, 2009.
+# Contributed by Maynard Johnson <maynardj@us.ibm.com>.
+#
+#Mapping of event groups to MMCR values
+
+#Group Default
+event:0X001 mmcr0:0X00000000 mmcr1:0X000000001EF4F202 mmcra:0X00000000
+
+#Group 0 with random sampling
+event:0X002 mmcr0:0X00000000 mmcr1:0XDD0000008486021E mmcra:0X00000001
+
+#Group 1 pm_utilization, CPI and utilization data
+event:0X0010 mmcr0:0X00000000 mmcr1:0X000000001EF4F202 mmcra:0X00000000
+event:0X0011 mmcr0:0X00000000 mmcr1:0X000000001EF4F202 mmcra:0X00000000
+event:0X0012 mmcr0:0X00000000 mmcr1:0X000000001EF4F202 mmcra:0X00000000
+event:0X0013 mmcr0:0X00000000 mmcr1:0X000000001EF4F202 mmcra:0X00000000
+event:0X0014 mmcr0:0X00000000 mmcr1:0X000000001EF4F202 mmcra:0X00000000
+event:0X0015 mmcr0:0X00000000 mmcr1:0X000000001EF4F202 mmcra:0X00000000
+
+#Group 2 pm_branch1, Branch operations
+event:0X0020 mmcr0:0X00000000 mmcr1:0X44440000A0A2A4AE mmcra:0X00000000
+event:0X0021 mmcr0:0X00000000 mmcr1:0X44440000A0A2A4AE mmcra:0X00000000
+event:0X0022 mmcr0:0X00000000 mmcr1:0X44440000A0A2A4AE mmcra:0X00000000
+event:0X0023 mmcr0:0X00000000 mmcr1:0X44440000A0A2A4AE mmcra:0X00000000
+event:0X0024 mmcr0:0X00000000 mmcr1:0X44440000A0A2A4AE mmcra:0X00000000
+event:0X0025 mmcr0:0X00000000 mmcr1:0X44440000A0A2A4AE mmcra:0X00000000
+
+#Group 3 pm_branch2, Branch operations
+event:0X0030 mmcr0:0X00000000 mmcr1:0X444400009CA8A0A2 mmcra:0X00000000
+event:0X0031 mmcr0:0X00000000 mmcr1:0X444400009CA8A0A2 mmcra:0X00000000
+event:0X0032 mmcr0:0X00000000 mmcr1:0X444400009CA8A0A2 mmcra:0X00000000
+event:0X0033 mmcr0:0X00000000 mmcr1:0X444400009CA8A0A2 mmcra:0X00000000
+event:0X0034 mmcr0:0X00000000 mmcr1:0X444400009CA8A0A2 mmcra:0X00000000
+event:0X0035 mmcr0:0X00000000 mmcr1:0X444400009CA8A0A2 mmcra:0X00000000
+
+#Group 4 pm_branch3, Branch operations
+event:0X0040 mmcr0:0X00000000 mmcr1:0X0040000068049CF6 mmcra:0X00000000
+event:0X0041 mmcr0:0X00000000 mmcr1:0X0040000068049CF6 mmcra:0X00000000
+event:0X0042 mmcr0:0X00000000 mmcr1:0X0040000068049CF6 mmcra:0X00000000
+event:0X0043 mmcr0:0X00000000 mmcr1:0X0040000068049CF6 mmcra:0X00000000
+event:0X0044 mmcr0:0X00000000 mmcr1:0X0040000068049CF6 mmcra:0X00000000
+event:0X0045 mmcr0:0X00000000 mmcr1:0X0040000068049CF6 mmcra:0X00000000
+
+#Group 5 pm_branch4, Branch operations
+event:0X0050 mmcr0:0X00000000 mmcr1:0X44440000AC9EAEA4 mmcra:0X00000000
+event:0X0051 mmcr0:0X00000000 mmcr1:0X44440000AC9EAEA4 mmcra:0X00000000
+event:0X0052 mmcr0:0X00000000 mmcr1:0X44440000AC9EAEA4 mmcra:0X00000000
+event:0X0053 mmcr0:0X00000000 mmcr1:0X44440000AC9EAEA4 mmcra:0X00000000
+event:0X0054 mmcr0:0X00000000 mmcr1:0X44440000AC9EAEA4 mmcra:0X00000000
+event:0X0055 mmcr0:0X00000000 mmcr1:0X44440000AC9EAEA4 mmcra:0X00000000
+
+#Group 6 pm_branch5, Branch operations
+event:0X0060 mmcr0:0X00000000 mmcr1:0X4444000CAAAE9CA8 mmcra:0X00000000
+event:0X0061 mmcr0:0X00000000 mmcr1:0X4444000CAAAE9CA8 mmcra:0X00000000
+event:0X0062 mmcr0:0X00000000 mmcr1:0X4444000CAAAE9CA8 mmcra:0X00000000
+event:0X0063 mmcr0:0X00000000 mmcr1:0X4444000CAAAE9CA8 mmcra:0X00000000
+event:0X0064 mmcr0:0X00000000 mmcr1:0X4444000CAAAE9CA8 mmcra:0X00000000
+event:0X0065 mmcr0:0X00000000 mmcr1:0X4444000CAAAE9CA8 mmcra:0X00000000
+
+#Group 7 pm_branch6, Branch operations
+event:0X0070 mmcr0:0X00000000 mmcr1:0X44440000A0A2A8AA mmcra:0X00000000
+event:0X0071 mmcr0:0X00000000 mmcr1:0X44440000A0A2A8AA mmcra:0X00000000
+event:0X0072 mmcr0:0X00000000 mmcr1:0X44440000A0A2A8AA mmcra:0X00000000
+event:0X0073 mmcr0:0X00000000 mmcr1:0X44440000A0A2A8AA mmcra:0X00000000
+event:0X0074 mmcr0:0X00000000 mmcr1:0X44440000A0A2A8AA mmcra:0X00000000
+event:0X0075 mmcr0:0X00000000 mmcr1:0X44440000A0A2A8AA mmcra:0X00000000
+
+#Group 8 pm_branch7, Branch operations
+event:0X0080 mmcr0:0X00000000 mmcr1:0X44440000ACA8A0A2 mmcra:0X00000000
+event:0X0081 mmcr0:0X00000000 mmcr1:0X44440000ACA8A0A2 mmcra:0X00000000
+event:0X0082 mmcr0:0X00000000 mmcr1:0X44440000ACA8A0A2 mmcra:0X00000000
+event:0X0083 mmcr0:0X00000000 mmcr1:0X44440000ACA8A0A2 mmcra:0X00000000
+event:0X0084 mmcr0:0X00000000 mmcr1:0X44440000ACA8A0A2 mmcra:0X00000000
+event:0X0085 mmcr0:0X00000000 mmcr1:0X44440000ACA8A0A2 mmcra:0X00000000
+
+#Group 9 pm_branch8, Branch operations
+event:0X0090 mmcr0:0X00000000 mmcr1:0X44440000AEA8A0A2 mmcra:0X00000000
+event:0X0091 mmcr0:0X00000000 mmcr1:0X44440000AEA8A0A2 mmcra:0X00000000
+event:0X0092 mmcr0:0X00000000 mmcr1:0X44440000AEA8A0A2 mmcra:0X00000000
+event:0X0093 mmcr0:0X00000000 mmcr1:0X44440000AEA8A0A2 mmcra:0X00000000
+event:0X0094 mmcr0:0X00000000 mmcr1:0X44440000AEA8A0A2 mmcra:0X00000000
+event:0X0095 mmcr0:0X00000000 mmcr1:0X44440000AEA8A0A2 mmcra:0X00000000
+
+#Group 10 pm_branch9, Branch operations
+event:0X00A0 mmcr0:0X00000000 mmcr1:0X44440000A4A8A0A2 mmcra:0X00000000
+event:0X00A1 mmcr0:0X00000000 mmcr1:0X44440000A4A8A0A2 mmcra:0X00000000
+event:0X00A2 mmcr0:0X00000000 mmcr1:0X44440000A4A8A0A2 mmcra:0X00000000
+event:0X00A3 mmcr0:0X00000000 mmcr1:0X44440000A4A8A0A2 mmcra:0X00000000
+event:0X00A4 mmcr0:0X00000000 mmcr1:0X44440000A4A8A0A2 mmcra:0X00000000
+event:0X00A5 mmcr0:0X00000000 mmcr1:0X44440000A4A8A0A2 mmcra:0X00000000
+
+#Group 11 pm_slb_miss, SLB Misses
+event:0X00B0 mmcr0:0X00000000 mmcr1:0X0DDD0001F6909290 mmcra:0X00000000
+event:0X00B1 mmcr0:0X00000000 mmcr1:0X0DDD0001F6909290 mmcra:0X00000000
+event:0X00B2 mmcr0:0X00000000 mmcr1:0X0DDD0001F6909290 mmcra:0X00000000
+event:0X00B3 mmcr0:0X00000000 mmcr1:0X0DDD0001F6909290 mmcra:0X00000000
+event:0X00B4 mmcr0:0X00000000 mmcr1:0X0DDD0001F6909290 mmcra:0X00000000
+event:0X00B5 mmcr0:0X00000000 mmcr1:0X0DDD0001F6909290 mmcra:0X00000000
+
+#Group 12 pm_tlb_miss, TLB Misses
+event:0X00C0 mmcr0:0X00000000 mmcr1:0X500000008866FCFC mmcra:0X00000000
+event:0X00C1 mmcr0:0X00000000 mmcr1:0X500000008866FCFC mmcra:0X00000000
+event:0X00C2 mmcr0:0X00000000 mmcr1:0X500000008866FCFC mmcra:0X00000000
+event:0X00C3 mmcr0:0X00000000 mmcr1:0X500000008866FCFC mmcra:0X00000000
+event:0X00C4 mmcr0:0X00000000 mmcr1:0X500000008866FCFC mmcra:0X00000000
+event:0X00C5 mmcr0:0X00000000 mmcr1:0X500000008866FCFC mmcra:0X00000000
+
+#Group 13 pm_dtlb_miss, DTLB Misses
+event:0X00D0 mmcr0:0X00000000 mmcr1:0XCCCC00005E5E5E5E mmcra:0X00000000
+event:0X00D1 mmcr0:0X00000000 mmcr1:0XCCCC00005E5E5E5E mmcra:0X00000000
+event:0X00D2 mmcr0:0X00000000 mmcr1:0XCCCC00005E5E5E5E mmcra:0X00000000
+event:0X00D3 mmcr0:0X00000000 mmcr1:0XCCCC00005E5E5E5E mmcra:0X00000000
+event:0X00D4 mmcr0:0X00000000 mmcr1:0XCCCC00005E5E5E5E mmcra:0X00000000
+event:0X00D5 mmcr0:0X00000000 mmcr1:0XCCCC00005E5E5E5E mmcra:0X00000000
+
+#Group 14 pm_derat_miss1, DERAT misses
+event:0X00E0 mmcr0:0X00000000 mmcr1:0XCCCC00005C5C5C5C mmcra:0X00000000
+event:0X00E1 mmcr0:0X00000000 mmcr1:0XCCCC00005C5C5C5C mmcra:0X00000000
+event:0X00E2 mmcr0:0X00000000 mmcr1:0XCCCC00005C5C5C5C mmcra:0X00000000
+event:0X00E3 mmcr0:0X00000000 mmcr1:0XCCCC00005C5C5C5C mmcra:0X00000000
+event:0X00E4 mmcr0:0X00000000 mmcr1:0XCCCC00005C5C5C5C mmcra:0X00000000
+event:0X00E5 mmcr0:0X00000000 mmcr1:0XCCCC00005C5C5C5C mmcra:0X00000000
+
+#Group 15 pm_derat_miss2, DERAT misses
+event:0X00F0 mmcr0:0X00000000 mmcr1:0X0CCC0000025C5C5C mmcra:0X00000000
+event:0X00F1 mmcr0:0X00000000 mmcr1:0X0CCC0000025C5C5C mmcra:0X00000000
+event:0X00F2 mmcr0:0X00000000 mmcr1:0X0CCC0000025C5C5C mmcra:0X00000000
+event:0X00F3 mmcr0:0X00000000 mmcr1:0X0CCC0000025C5C5C mmcra:0X00000000
+event:0X00F4 mmcr0:0X00000000 mmcr1:0X0CCC0000025C5C5C mmcra:0X00000000
+event:0X00F5 mmcr0:0X00000000 mmcr1:0X0CCC0000025C5C5C mmcra:0X00000000
+
+#Group 16 pm_misc_miss1, Misses
+event:0X0100 mmcr0:0X00000000 mmcr1:0XD0C0000090FE5AF0 mmcra:0X00000000
+event:0X0101 mmcr0:0X00000000 mmcr1:0XD0C0000090FE5AF0 mmcra:0X00000000
+event:0X0102 mmcr0:0X00000000 mmcr1:0XD0C0000090FE5AF0 mmcra:0X00000000
+event:0X0103 mmcr0:0X00000000 mmcr1:0XD0C0000090FE5AF0 mmcra:0X00000000
+event:0X0104 mmcr0:0X00000000 mmcr1:0XD0C0000090FE5AF0 mmcra:0X00000000
+event:0X0105 mmcr0:0X00000000 mmcr1:0XD0C0000090FE5AF0 mmcra:0X00000000
+
+#Group 17 pm_misc_miss2, Misses
+event:0X0110 mmcr0:0X00000000 mmcr1:0X0CC000001E585AFA mmcra:0X00000000
+event:0X0111 mmcr0:0X00000000 mmcr1:0X0CC000001E585AFA mmcra:0X00000000
+event:0X0112 mmcr0:0X00000000 mmcr1:0X0CC000001E585AFA mmcra:0X00000000
+event:0X0113 mmcr0:0X00000000 mmcr1:0X0CC000001E585AFA mmcra:0X00000000
+event:0X0114 mmcr0:0X00000000 mmcr1:0X0CC000001E585AFA mmcra:0X00000000
+event:0X0115 mmcr0:0X00000000 mmcr1:0X0CC000001E585AFA mmcra:0X00000000
+
+#Group 18 pm_misc_miss3, Misses
+event:0X0120 mmcr0:0X00000000 mmcr1:0X0CCC00001E585A58 mmcra:0X00000000
+event:0X0121 mmcr0:0X00000000 mmcr1:0X0CCC00001E585A58 mmcra:0X00000000
+event:0X0122 mmcr0:0X00000000 mmcr1:0X0CCC00001E585A58 mmcra:0X00000000
+event:0X0123 mmcr0:0X00000000 mmcr1:0X0CCC00001E585A58 mmcra:0X00000000
+event:0X0124 mmcr0:0X00000000 mmcr1:0X0CCC00001E585A58 mmcra:0X00000000
+event:0X0125 mmcr0:0X00000000 mmcr1:0X0CCC00001E585A58 mmcra:0X00000000
+
+#Group 19 pm_misc_miss4, Misses
+event:0X0130 mmcr0:0X00000000 mmcr1:0XD4000000904802FA mmcra:0X00000000
+event:0X0131 mmcr0:0X00000000 mmcr1:0XD4000000904802FA mmcra:0X00000000
+event:0X0132 mmcr0:0X00000000 mmcr1:0XD4000000904802FA mmcra:0X00000000
+event:0X0133 mmcr0:0X00000000 mmcr1:0XD4000000904802FA mmcra:0X00000000
+event:0X0134 mmcr0:0X00000000 mmcr1:0XD4000000904802FA mmcra:0X00000000
+event:0X0135 mmcr0:0X00000000 mmcr1:0XD4000000904802FA mmcra:0X00000000
+
+#Group 20 pm_misc_miss5, Misses
+event:0X0140 mmcr0:0X00000000 mmcr1:0X0DD00000F6909202 mmcra:0X00000000
+event:0X0141 mmcr0:0X00000000 mmcr1:0X0DD00000F6909202 mmcra:0X00000000
+event:0X0142 mmcr0:0X00000000 mmcr1:0X0DD00000F6909202 mmcra:0X00000000
+event:0X0143 mmcr0:0X00000000 mmcr1:0X0DD00000F6909202 mmcra:0X00000000
+event:0X0144 mmcr0:0X00000000 mmcr1:0X0DD00000F6909202 mmcra:0X00000000
+event:0X0145 mmcr0:0X00000000 mmcr1:0X0DD00000F6909202 mmcra:0X00000000
+
+#Group 21 pm_pteg1, PTEG sources
+event:0X0150 mmcr0:0X00000000 mmcr1:0XCECE000050505654 mmcra:0X00000000
+event:0X0151 mmcr0:0X00000000 mmcr1:0XCECE000050505654 mmcra:0X00000000
+event:0X0152 mmcr0:0X00000000 mmcr1:0XCECE000050505654 mmcra:0X00000000
+event:0X0153 mmcr0:0X00000000 mmcr1:0XCECE000050505654 mmcra:0X00000000
+event:0X0154 mmcr0:0X00000000 mmcr1:0XCECE000050505654 mmcra:0X00000000
+event:0X0155 mmcr0:0X00000000 mmcr1:0XCECE000050505654 mmcra:0X00000000
+
+#Group 22 pm_pteg2, PTEG sources
+event:0X0160 mmcr0:0X00000000 mmcr1:0XEEEC000050545454 mmcra:0X00000000
+event:0X0161 mmcr0:0X00000000 mmcr1:0XEEEC000050545454 mmcra:0X00000000
+event:0X0162 mmcr0:0X00000000 mmcr1:0XEEEC000050545454 mmcra:0X00000000
+event:0X0163 mmcr0:0X00000000 mmcr1:0XEEEC000050545454 mmcra:0X00000000
+event:0X0164 mmcr0:0X00000000 mmcr1:0XEEEC000050545454 mmcra:0X00000000
+event:0X0165 mmcr0:0X00000000 mmcr1:0XEEEC000050545454 mmcra:0X00000000
+
+#Group 23 pm_pteg3, PTEG sources
+event:0X0170 mmcr0:0X00000000 mmcr1:0XCCEC000054585252 mmcra:0X00000000
+event:0X0171 mmcr0:0X00000000 mmcr1:0XCCEC000054585252 mmcra:0X00000000
+event:0X0172 mmcr0:0X00000000 mmcr1:0XCCEC000054585252 mmcra:0X00000000
+event:0X0173 mmcr0:0X00000000 mmcr1:0XCCEC000054585252 mmcra:0X00000000
+event:0X0174 mmcr0:0X00000000 mmcr1:0XCCEC000054585252 mmcra:0X00000000
+event:0X0175 mmcr0:0X00000000 mmcr1:0XCCEC000054585252 mmcra:0X00000000
+
+#Group 24 pm_pteg4, PTEG sources
+event:0X0180 mmcr0:0X00000000 mmcr1:0XECCC000052525252 mmcra:0X00000000
+event:0X0181 mmcr0:0X00000000 mmcr1:0XECCC000052525252 mmcra:0X00000000
+event:0X0182 mmcr0:0X00000000 mmcr1:0XECCC000052525252 mmcra:0X00000000
+event:0X0183 mmcr0:0X00000000 mmcr1:0XECCC000052525252 mmcra:0X00000000
+event:0X0184 mmcr0:0X00000000 mmcr1:0XECCC000052525252 mmcra:0X00000000
+event:0X0185 mmcr0:0X00000000 mmcr1:0XECCC000052525252 mmcra:0X00000000
+
+#Group 25 pm_pteg5, PTEG sources
+event:0X0190 mmcr0:0X00000000 mmcr1:0XCCCC000052565456 mmcra:0X00000000
+event:0X0191 mmcr0:0X00000000 mmcr1:0XCCCC000052565456 mmcra:0X00000000
+event:0X0192 mmcr0:0X00000000 mmcr1:0XCCCC000052565456 mmcra:0X00000000
+event:0X0193 mmcr0:0X00000000 mmcr1:0XCCCC000052565456 mmcra:0X00000000
+event:0X0194 mmcr0:0X00000000 mmcr1:0XCCCC000052565456 mmcra:0X00000000
+event:0X0195 mmcr0:0X00000000 mmcr1:0XCCCC000052565456 mmcra:0X00000000
+
+#Group 26 pm_pteg6, PTEG sources
+event:0X01A0 mmcr0:0X00000000 mmcr1:0XEEEE000054525652 mmcra:0X00000000
+event:0X01A1 mmcr0:0X00000000 mmcr1:0XEEEE000054525652 mmcra:0X00000000
+event:0X01A2 mmcr0:0X00000000 mmcr1:0XEEEE000054525652 mmcra:0X00000000
+event:0X01A3 mmcr0:0X00000000 mmcr1:0XEEEE000054525652 mmcra:0X00000000
+event:0X01A4 mmcr0:0X00000000 mmcr1:0XEEEE000054525652 mmcra:0X00000000
+event:0X01A5 mmcr0:0X00000000 mmcr1:0XEEEE000054525652 mmcra:0X00000000
+
+#Group 27 pm_pteg7, PTEG sources
+event:0X01B0 mmcr0:0X00000000 mmcr1:0XEEEE000054565656 mmcra:0X00000000
+event:0X01B1 mmcr0:0X00000000 mmcr1:0XEEEE000054565656 mmcra:0X00000000
+event:0X01B2 mmcr0:0X00000000 mmcr1:0XEEEE000054565656 mmcra:0X00000000
+event:0X01B3 mmcr0:0X00000000 mmcr1:0XEEEE000054565656 mmcra:0X00000000
+event:0X01B4 mmcr0:0X00000000 mmcr1:0XEEEE000054565656 mmcra:0X00000000
+event:0X01B5 mmcr0:0X00000000 mmcr1:0XEEEE000054565656 mmcra:0X00000000
+
+#Group 28 pm_pteg8, PTEG sources
+event:0X01C0 mmcr0:0X00000000 mmcr1:0XEEEE000050585258 mmcra:0X00000000
+event:0X01C1 mmcr0:0X00000000 mmcr1:0XEEEE000050585258 mmcra:0X00000000
+event:0X01C2 mmcr0:0X00000000 mmcr1:0XEEEE000050585258 mmcra:0X00000000
+event:0X01C3 mmcr0:0X00000000 mmcr1:0XEEEE000050585258 mmcra:0X00000000
+event:0X01C4 mmcr0:0X00000000 mmcr1:0XEEEE000050585258 mmcra:0X00000000
+event:0X01C5 mmcr0:0X00000000 mmcr1:0XEEEE000050585258 mmcra:0X00000000
+
+#Group 29 pm_pteg9, PTEG sources
+event:0X01D0 mmcr0:0X00000000 mmcr1:0XCCCC000050505258 mmcra:0X00000000
+event:0X01D1 mmcr0:0X00000000 mmcr1:0XCCCC000050505258 mmcra:0X00000000
+event:0X01D2 mmcr0:0X00000000 mmcr1:0XCCCC000050505258 mmcra:0X00000000
+event:0X01D3 mmcr0:0X00000000 mmcr1:0XCCCC000050505258 mmcra:0X00000000
+event:0X01D4 mmcr0:0X00000000 mmcr1:0XCCCC000050505258 mmcra:0X00000000
+event:0X01D5 mmcr0:0X00000000 mmcr1:0XCCCC000050505258 mmcra:0X00000000
+
+#Group 30 pm_pteg10, PTEG sources
+event:0X01E0 mmcr0:0X00000000 mmcr1:0XCC0000005050021E mmcra:0X00000000
+event:0X01E1 mmcr0:0X00000000 mmcr1:0XCC0000005050021E mmcra:0X00000000
+event:0X01E2 mmcr0:0X00000000 mmcr1:0XCC0000005050021E mmcra:0X00000000
+event:0X01E3 mmcr0:0X00000000 mmcr1:0XCC0000005050021E mmcra:0X00000000
+event:0X01E4 mmcr0:0X00000000 mmcr1:0XCC0000005050021E mmcra:0X00000000
+event:0X01E5 mmcr0:0X00000000 mmcr1:0XCC0000005050021E mmcra:0X00000000
+
+#Group 31 pm_pteg11, PTEG sources
+event:0X01F0 mmcr0:0X00000000 mmcr1:0XCC0C000052540254 mmcra:0X00000000
+event:0X01F1 mmcr0:0X00000000 mmcr1:0XCC0C000052540254 mmcra:0X00000000
+event:0X01F2 mmcr0:0X00000000 mmcr1:0XCC0C000052540254 mmcra:0X00000000
+event:0X01F3 mmcr0:0X00000000 mmcr1:0XCC0C000052540254 mmcra:0X00000000
+event:0X01F4 mmcr0:0X00000000 mmcr1:0XCC0C000052540254 mmcra:0X00000000
+event:0X01F5 mmcr0:0X00000000 mmcr1:0XCC0C000052540254 mmcra:0X00000000
+
+#Group 32 pm_pteg12, PTEG sources
+event:0X0200 mmcr0:0X00000000 mmcr1:0X0CCC000002525252 mmcra:0X00000000
+event:0X0201 mmcr0:0X00000000 mmcr1:0X0CCC000002525252 mmcra:0X00000000
+event:0X0202 mmcr0:0X00000000 mmcr1:0X0CCC000002525252 mmcra:0X00000000
+event:0X0203 mmcr0:0X00000000 mmcr1:0X0CCC000002525252 mmcra:0X00000000
+event:0X0204 mmcr0:0X00000000 mmcr1:0X0CCC000002525252 mmcra:0X00000000
+event:0X0205 mmcr0:0X00000000 mmcr1:0X0CCC000002525252 mmcra:0X00000000
+
+#Group 33 pm_freq1, Frequency events
+event:0X0210 mmcr0:0X00000000 mmcr1:0X000000006E060C0C mmcra:0X00000000
+event:0X0211 mmcr0:0X00000000 mmcr1:0X000000006E060C0C mmcra:0X00000000
+event:0X0212 mmcr0:0X00000000 mmcr1:0X000000006E060C0C mmcra:0X00000000
+event:0X0213 mmcr0:0X00000000 mmcr1:0X000000006E060C0C mmcra:0X00000000
+event:0X0214 mmcr0:0X00000000 mmcr1:0X000000006E060C0C mmcra:0X00000000
+event:0X0215 mmcr0:0X00000000 mmcr1:0X000000006E060C0C mmcra:0X00000000
+
+#Group 34 pm_freq2, Frequency events
+event:0X0220 mmcr0:0X00000000 mmcr1:0X000000006E06060C mmcra:0X00000000
+event:0X0221 mmcr0:0X00000000 mmcr1:0X000000006E06060C mmcra:0X00000000
+event:0X0222 mmcr0:0X00000000 mmcr1:0X000000006E06060C mmcra:0X00000000
+event:0X0223 mmcr0:0X00000000 mmcr1:0X000000006E06060C mmcra:0X00000000
+event:0X0224 mmcr0:0X00000000 mmcr1:0X000000006E06060C mmcra:0X00000000
+event:0X0225 mmcr0:0X00000000 mmcr1:0X000000006E06060C mmcra:0X00000000
+
+#Group 35 pm_L1_ref, L1 references
+event:0X0230 mmcr0:0X00000000 mmcr1:0XCCCD0008808082A6 mmcra:0X00000000
+event:0X0231 mmcr0:0X00000000 mmcr1:0XCCCD0008808082A6 mmcra:0X00000000
+event:0X0232 mmcr0:0X00000000 mmcr1:0XCCCD0008808082A6 mmcra:0X00000000
+event:0X0233 mmcr0:0X00000000 mmcr1:0XCCCD0008808082A6 mmcra:0X00000000
+event:0X0234 mmcr0:0X00000000 mmcr1:0XCCCD0008808082A6 mmcra:0X00000000
+event:0X0235 mmcr0:0X00000000 mmcr1:0XCCCD0008808082A6 mmcra:0X00000000
+
+#Group 36 pm_flush1, Flushes
+event:0X0240 mmcr0:0X00000000 mmcr1:0X22200000888A8CF8 mmcra:0X00000000
+event:0X0241 mmcr0:0X00000000 mmcr1:0X22200000888A8CF8 mmcra:0X00000000
+event:0X0242 mmcr0:0X00000000 mmcr1:0X22200000888A8CF8 mmcra:0X00000000
+event:0X0243 mmcr0:0X00000000 mmcr1:0X22200000888A8CF8 mmcra:0X00000000
+event:0X0244 mmcr0:0X00000000 mmcr1:0X22200000888A8CF8 mmcra:0X00000000
+event:0X0245 mmcr0:0X00000000 mmcr1:0X22200000888A8CF8 mmcra:0X00000000
+
+#Group 37 pm_flush2, Flushes
+event:0X0250 mmcr0:0X00000000 mmcr1:0X222C000086828EAA mmcra:0X00000000
+event:0X0251 mmcr0:0X00000000 mmcr1:0X222C000086828EAA mmcra:0X00000000
+event:0X0252 mmcr0:0X00000000 mmcr1:0X222C000086828EAA mmcra:0X00000000
+event:0X0253 mmcr0:0X00000000 mmcr1:0X222C000086828EAA mmcra:0X00000000
+event:0X0254 mmcr0:0X00000000 mmcr1:0X222C000086828EAA mmcra:0X00000000
+event:0X0255 mmcr0:0X00000000 mmcr1:0X222C000086828EAA mmcra:0X00000000
+
+#Group 38 pm_flush, Flushes
+event:0X0260 mmcr0:0X00000000 mmcr1:0X20000000821E12F8 mmcra:0X00000000
+event:0X0261 mmcr0:0X00000000 mmcr1:0X20000000821E12F8 mmcra:0X00000000
+event:0X0262 mmcr0:0X00000000 mmcr1:0X20000000821E12F8 mmcra:0X00000000
+event:0X0263 mmcr0:0X00000000 mmcr1:0X20000000821E12F8 mmcra:0X00000000
+event:0X0264 mmcr0:0X00000000 mmcr1:0X20000000821E12F8 mmcra:0X00000000
+event:0X0265 mmcr0:0X00000000 mmcr1:0X20000000821E12F8 mmcra:0X00000000
+
+#Group 39 pm_lsu_flush1, LSU Flush
+event:0X0270 mmcr0:0X00000000 mmcr1:0XCCCC000FB0B4B8BC mmcra:0X00000000
+event:0X0271 mmcr0:0X00000000 mmcr1:0XCCCC000FB0B4B8BC mmcra:0X00000000
+event:0X0272 mmcr0:0X00000000 mmcr1:0XCCCC000FB0B4B8BC mmcra:0X00000000
+event:0X0273 mmcr0:0X00000000 mmcr1:0XCCCC000FB0B4B8BC mmcra:0X00000000
+event:0X0274 mmcr0:0X00000000 mmcr1:0XCCCC000FB0B4B8BC mmcra:0X00000000
+event:0X0275 mmcr0:0X00000000 mmcr1:0XCCCC000FB0B4B8BC mmcra:0X00000000
+
+#Group 40 pm_lsu_flush2, LSU Flush ULD
+event:0X0280 mmcr0:0X00000000 mmcr1:0XCCC00008B0B0B2F8 mmcra:0X00000000
+event:0X0281 mmcr0:0X00000000 mmcr1:0XCCC00008B0B0B2F8 mmcra:0X00000000
+event:0X0282 mmcr0:0X00000000 mmcr1:0XCCC00008B0B0B2F8 mmcra:0X00000000
+event:0X0283 mmcr0:0X00000000 mmcr1:0XCCC00008B0B0B2F8 mmcra:0X00000000
+event:0X0284 mmcr0:0X00000000 mmcr1:0XCCC00008B0B0B2F8 mmcra:0X00000000
+event:0X0285 mmcr0:0X00000000 mmcr1:0XCCC00008B0B0B2F8 mmcra:0X00000000
+
+#Group 41 pm_lsu_flush3, LSU Flush UST
+event:0X0290 mmcr0:0X00000000 mmcr1:0XCCC00008B4B4B6F8 mmcra:0X00000000
+event:0X0291 mmcr0:0X00000000 mmcr1:0XCCC00008B4B4B6F8 mmcra:0X00000000
+event:0X0292 mmcr0:0X00000000 mmcr1:0XCCC00008B4B4B6F8 mmcra:0X00000000
+event:0X0293 mmcr0:0X00000000 mmcr1:0XCCC00008B4B4B6F8 mmcra:0X00000000
+event:0X0294 mmcr0:0X00000000 mmcr1:0XCCC00008B4B4B6F8 mmcra:0X00000000
+event:0X0295 mmcr0:0X00000000 mmcr1:0XCCC00008B4B4B6F8 mmcra:0X00000000
+
+#Group 42 pm_lsu_flush4, LSU Flush LRQ
+event:0X02A0 mmcr0:0X00000000 mmcr1:0XCCC00008B8B8BAF8 mmcra:0X00000000
+event:0X02A1 mmcr0:0X00000000 mmcr1:0XCCC00008B8B8BAF8 mmcra:0X00000000
+event:0X02A2 mmcr0:0X00000000 mmcr1:0XCCC00008B8B8BAF8 mmcra:0X00000000
+event:0X02A3 mmcr0:0X00000000 mmcr1:0XCCC00008B8B8BAF8 mmcra:0X00000000
+event:0X02A4 mmcr0:0X00000000 mmcr1:0XCCC00008B8B8BAF8 mmcra:0X00000000
+event:0X02A5 mmcr0:0X00000000 mmcr1:0XCCC00008B8B8BAF8 mmcra:0X00000000
+
+#Group 43 pm_lsu_flush5, LSU Flush SRQ
+event:0X02B0 mmcr0:0X00000000 mmcr1:0XCCC00008BCBCBEF8 mmcra:0X00000000
+event:0X02B1 mmcr0:0X00000000 mmcr1:0XCCC00008BCBCBEF8 mmcra:0X00000000
+event:0X02B2 mmcr0:0X00000000 mmcr1:0XCCC00008BCBCBEF8 mmcra:0X00000000
+event:0X02B3 mmcr0:0X00000000 mmcr1:0XCCC00008BCBCBEF8 mmcra:0X00000000
+event:0X02B4 mmcr0:0X00000000 mmcr1:0XCCC00008BCBCBEF8 mmcra:0X00000000
+event:0X02B5 mmcr0:0X00000000 mmcr1:0XCCC00008BCBCBEF8 mmcra:0X00000000
+
+#Group 44 pm_prefetch, I cache Prefetches
+event:0X02C0 mmcr0:0X00000000 mmcr1:0X04440000188A968E mmcra:0X00000000
+event:0X02C1 mmcr0:0X00000000 mmcr1:0X04440000188A968E mmcra:0X00000000
+event:0X02C2 mmcr0:0X00000000 mmcr1:0X04440000188A968E mmcra:0X00000000
+event:0X02C3 mmcr0:0X00000000 mmcr1:0X04440000188A968E mmcra:0X00000000
+event:0X02C4 mmcr0:0X00000000 mmcr1:0X04440000188A968E mmcra:0X00000000
+event:0X02C5 mmcr0:0X00000000 mmcr1:0X04440000188A968E mmcra:0X00000000
+
+#Group 45 pm_thread_cyc2, Thread cycles
+event:0X02D0 mmcr0:0X00000000 mmcr1:0X00040000120CF4B0 mmcra:0X00000000
+event:0X02D1 mmcr0:0X00000000 mmcr1:0X00040000120CF4B0 mmcra:0X00000000
+event:0X02D2 mmcr0:0X00000000 mmcr1:0X00040000120CF4B0 mmcra:0X00000000
+event:0X02D3 mmcr0:0X00000000 mmcr1:0X00040000120CF4B0 mmcra:0X00000000
+event:0X02D4 mmcr0:0X00000000 mmcr1:0X00040000120CF4B0 mmcra:0X00000000
+event:0X02D5 mmcr0:0X00000000 mmcr1:0X00040000120CF4B0 mmcra:0X00000000
+
+#Group 46 pm_thread_cyc5, Thread cycles
+event:0X02E0 mmcr0:0X00000000 mmcr1:0X44440000B0B2B4B6 mmcra:0X00000000
+event:0X02E1 mmcr0:0X00000000 mmcr1:0X44440000B0B2B4B6 mmcra:0X00000000
+event:0X02E2 mmcr0:0X00000000 mmcr1:0X44440000B0B2B4B6 mmcra:0X00000000
+event:0X02E3 mmcr0:0X00000000 mmcr1:0X44440000B0B2B4B6 mmcra:0X00000000
+event:0X02E4 mmcr0:0X00000000 mmcr1:0X44440000B0B2B4B6 mmcra:0X00000000
+event:0X02E5 mmcr0:0X00000000 mmcr1:0X44440000B0B2B4B6 mmcra:0X00000000
+
+#Group 47 pm_fxu1, FXU events
+event:0X02F0 mmcr0:0X00000000 mmcr1:0X000000000E0E0E0E mmcra:0X00000000
+event:0X02F1 mmcr0:0X00000000 mmcr1:0X000000000E0E0E0E mmcra:0X00000000
+event:0X02F2 mmcr0:0X00000000 mmcr1:0X000000000E0E0E0E mmcra:0X00000000
+event:0X02F3 mmcr0:0X00000000 mmcr1:0X000000000E0E0E0E mmcra:0X00000000
+event:0X02F4 mmcr0:0X00000000 mmcr1:0X000000000E0E0E0E mmcra:0X00000000
+event:0X02F5 mmcr0:0X00000000 mmcr1:0X000000000E0E0E0E mmcra:0X00000000
+
+#Group 48 pm_fxu2, FXU events
+event:0X0300 mmcr0:0X00000000 mmcr1:0X0000000004F40204 mmcra:0X00000000
+event:0X0301 mmcr0:0X00000000 mmcr1:0X0000000004F40204 mmcra:0X00000000
+event:0X0302 mmcr0:0X00000000 mmcr1:0X0000000004F40204 mmcra:0X00000000
+event:0X0303 mmcr0:0X00000000 mmcr1:0X0000000004F40204 mmcra:0X00000000
+event:0X0304 mmcr0:0X00000000 mmcr1:0X0000000004F40204 mmcra:0X00000000
+event:0X0305 mmcr0:0X00000000 mmcr1:0X0000000004F40204 mmcra:0X00000000
+
+#Group 49 pm_fxu3, FXU events
+event:0X0310 mmcr0:0X00000000 mmcr1:0X000000001E0E0E0E mmcra:0X00000000
+event:0X0311 mmcr0:0X00000000 mmcr1:0X000000001E0E0E0E mmcra:0X00000000
+event:0X0312 mmcr0:0X00000000 mmcr1:0X000000001E0E0E0E mmcra:0X00000000
+event:0X0313 mmcr0:0X00000000 mmcr1:0X000000001E0E0E0E mmcra:0X00000000
+event:0X0314 mmcr0:0X00000000 mmcr1:0X000000001E0E0E0E mmcra:0X00000000
+event:0X0315 mmcr0:0X00000000 mmcr1:0X000000001E0E0E0E mmcra:0X00000000
+
+#Group 50 pm_fxu4, FXU events
+event:0X0320 mmcr0:0X00000000 mmcr1:0X000000000E0E1E02 mmcra:0X00000000
+event:0X0321 mmcr0:0X00000000 mmcr1:0X000000000E0E1E02 mmcra:0X00000000
+event:0X0322 mmcr0:0X00000000 mmcr1:0X000000000E0E1E02 mmcra:0X00000000
+event:0X0323 mmcr0:0X00000000 mmcr1:0X000000000E0E1E02 mmcra:0X00000000
+event:0X0324 mmcr0:0X00000000 mmcr1:0X000000000E0E1E02 mmcra:0X00000000
+event:0X0325 mmcr0:0X00000000 mmcr1:0X000000000E0E1E02 mmcra:0X00000000
+
+#Group 51 pm_L2_RCLD, L2 RC load events
+event:0X0330 mmcr0:0X00000000 mmcr1:0X6666400080808082 mmcra:0X00000000
+event:0X0331 mmcr0:0X00000000 mmcr1:0X6666400080808082 mmcra:0X00000000
+event:0X0332 mmcr0:0X00000000 mmcr1:0X6666400080808082 mmcra:0X00000000
+event:0X0333 mmcr0:0X00000000 mmcr1:0X6666400080808082 mmcra:0X00000000
+event:0X0334 mmcr0:0X00000000 mmcr1:0X6666400080808082 mmcra:0X00000000
+event:0X0335 mmcr0:0X00000000 mmcr1:0X6666400080808082 mmcra:0X00000000
+
+#Group 52 pm_L2_RC, RC related events
+event:0X0340 mmcr0:0X00000000 mmcr1:0X60606000821E8002 mmcra:0X00000000
+event:0X0341 mmcr0:0X00000000 mmcr1:0X60606000821E8002 mmcra:0X00000000
+event:0X0342 mmcr0:0X00000000 mmcr1:0X60606000821E8002 mmcra:0X00000000
+event:0X0343 mmcr0:0X00000000 mmcr1:0X60606000821E8002 mmcra:0X00000000
+event:0X0344 mmcr0:0X00000000 mmcr1:0X60606000821E8002 mmcra:0X00000000
+event:0X0345 mmcr0:0X00000000 mmcr1:0X60606000821E8002 mmcra:0X00000000
+
+#Group 53 pm_L2_RCST, L2 RC Store Events
+event:0X0350 mmcr0:0X00000000 mmcr1:0X6666400080808280 mmcra:0X00000000
+event:0X0351 mmcr0:0X00000000 mmcr1:0X6666400080808280 mmcra:0X00000000
+event:0X0352 mmcr0:0X00000000 mmcr1:0X6666400080808280 mmcra:0X00000000
+event:0X0353 mmcr0:0X00000000 mmcr1:0X6666400080808280 mmcra:0X00000000
+event:0X0354 mmcr0:0X00000000 mmcr1:0X6666400080808280 mmcra:0X00000000
+event:0X0355 mmcr0:0X00000000 mmcr1:0X6666400080808280 mmcra:0X00000000
+
+#Group 54 pm_L2_ldst_1, L2 load/store
+event:0X0360 mmcr0:0X00000000 mmcr1:0X660000008280021E mmcra:0X00000000
+event:0X0361 mmcr0:0X00000000 mmcr1:0X660000008280021E mmcra:0X00000000
+event:0X0362 mmcr0:0X00000000 mmcr1:0X660000008280021E mmcra:0X00000000
+event:0X0363 mmcr0:0X00000000 mmcr1:0X660000008280021E mmcra:0X00000000
+event:0X0364 mmcr0:0X00000000 mmcr1:0X660000008280021E mmcra:0X00000000
+event:0X0365 mmcr0:0X00000000 mmcr1:0X660000008280021E mmcra:0X00000000
+
+#Group 55 pm_L2_ldst_2, L2 load/store
+event:0X0370 mmcr0:0X00000000 mmcr1:0X00662000021E8282 mmcra:0X00000000
+event:0X0371 mmcr0:0X00000000 mmcr1:0X00662000021E8282 mmcra:0X00000000
+event:0X0372 mmcr0:0X00000000 mmcr1:0X00662000021E8282 mmcra:0X00000000
+event:0X0373 mmcr0:0X00000000 mmcr1:0X00662000021E8282 mmcra:0X00000000
+event:0X0374 mmcr0:0X00000000 mmcr1:0X00662000021E8282 mmcra:0X00000000
+event:0X0375 mmcr0:0X00000000 mmcr1:0X00662000021E8282 mmcra:0X00000000
+
+#Group 56 pm_L2_ldst_3, L2 load/store
+event:0X0380 mmcr0:0X00000000 mmcr1:0X00662000021E8080 mmcra:0X00000000
+event:0X0381 mmcr0:0X00000000 mmcr1:0X00662000021E8080 mmcra:0X00000000
+event:0X0382 mmcr0:0X00000000 mmcr1:0X00662000021E8080 mmcra:0X00000000
+event:0X0383 mmcr0:0X00000000 mmcr1:0X00662000021E8080 mmcra:0X00000000
+event:0X0384 mmcr0:0X00000000 mmcr1:0X00662000021E8080 mmcra:0X00000000
+event:0X0385 mmcr0:0X00000000 mmcr1:0X00662000021E8080 mmcra:0X00000000
+
+#Group 57 pm_L2_RCSTLD, L2 RC Load/Store Events
+event:0X0390 mmcr0:0X00000000 mmcr1:0X660040008282021E mmcra:0X00000000
+event:0X0391 mmcr0:0X00000000 mmcr1:0X660040008282021E mmcra:0X00000000
+event:0X0392 mmcr0:0X00000000 mmcr1:0X660040008282021E mmcra:0X00000000
+event:0X0393 mmcr0:0X00000000 mmcr1:0X660040008282021E mmcra:0X00000000
+event:0X0394 mmcr0:0X00000000 mmcr1:0X660040008282021E mmcra:0X00000000
+event:0X0395 mmcr0:0X00000000 mmcr1:0X660040008282021E mmcra:0X00000000
+
+#Group 58 pm_nest1, Nest Events
+event:0X03A0 mmcr0:0X00000000 mmcr1:0X0000000081818181 mmcra:0X00000000
+event:0X03A1 mmcr0:0X00000000 mmcr1:0X0000000081818181 mmcra:0X00000000
+event:0X03A2 mmcr0:0X00000000 mmcr1:0X0000000081818181 mmcra:0X00000000
+event:0X03A3 mmcr0:0X00000000 mmcr1:0X0000000081818181 mmcra:0X00000000
+event:0X03A4 mmcr0:0X00000000 mmcr1:0X0000000081818181 mmcra:0X00000000
+event:0X03A5 mmcr0:0X00000000 mmcr1:0X0000000081818181 mmcra:0X00000000
+
+#Group 59 pm_nest2, Nest Events
+event:0X03B0 mmcr0:0X00000000 mmcr1:0X0000000083838383 mmcra:0X00000000
+event:0X03B1 mmcr0:0X00000000 mmcr1:0X0000000083838383 mmcra:0X00000000
+event:0X03B2 mmcr0:0X00000000 mmcr1:0X0000000083838383 mmcra:0X00000000
+event:0X03B3 mmcr0:0X00000000 mmcr1:0X0000000083838383 mmcra:0X00000000
+event:0X03B4 mmcr0:0X00000000 mmcr1:0X0000000083838383 mmcra:0X00000000
+event:0X03B5 mmcr0:0X00000000 mmcr1:0X0000000083838383 mmcra:0X00000000
+
+#Group 60 pm_nest3, Nest Events
+event:0X03C0 mmcr0:0X00000000 mmcr1:0X0000000F81818181 mmcra:0X00000000
+event:0X03C1 mmcr0:0X00000000 mmcr1:0X0000000F81818181 mmcra:0X00000000
+event:0X03C2 mmcr0:0X00000000 mmcr1:0X0000000F81818181 mmcra:0X00000000
+event:0X03C3 mmcr0:0X00000000 mmcr1:0X0000000F81818181 mmcra:0X00000000
+event:0X03C4 mmcr0:0X00000000 mmcr1:0X0000000F81818181 mmcra:0X00000000
+event:0X03C5 mmcr0:0X00000000 mmcr1:0X0000000F81818181 mmcra:0X00000000
+
+#Group 61 pm_nest4, Nest Events
+event:0X03D0 mmcr0:0X00000000 mmcr1:0X0000000F83838383 mmcra:0X00000000
+event:0X03D1 mmcr0:0X00000000 mmcr1:0X0000000F83838383 mmcra:0X00000000
+event:0X03D2 mmcr0:0X00000000 mmcr1:0X0000000F83838383 mmcra:0X00000000
+event:0X03D3 mmcr0:0X00000000 mmcr1:0X0000000F83838383 mmcra:0X00000000
+event:0X03D4 mmcr0:0X00000000 mmcr1:0X0000000F83838383 mmcra:0X00000000
+event:0X03D5 mmcr0:0X00000000 mmcr1:0X0000000F83838383 mmcra:0X00000000
+
+#Group 62 pm_L2_redir_pref, L2 redirect and prefetch
+event:0X03E0 mmcr0:0X00000000 mmcr1:0X44440000989A8882 mmcra:0X00000000
+event:0X03E1 mmcr0:0X00000000 mmcr1:0X44440000989A8882 mmcra:0X00000000
+event:0X03E2 mmcr0:0X00000000 mmcr1:0X44440000989A8882 mmcra:0X00000000
+event:0X03E3 mmcr0:0X00000000 mmcr1:0X44440000989A8882 mmcra:0X00000000
+event:0X03E4 mmcr0:0X00000000 mmcr1:0X44440000989A8882 mmcra:0X00000000
+event:0X03E5 mmcr0:0X00000000 mmcr1:0X44440000989A8882 mmcra:0X00000000
+
+#Group 63 pm_dlatencies1, Data latencies
+event:0X03F0 mmcr0:0X00000000 mmcr1:0XC000000040F2F6F2 mmcra:0X00000000
+event:0X03F1 mmcr0:0X00000000 mmcr1:0XC000000040F2F6F2 mmcra:0X00000000
+event:0X03F2 mmcr0:0X00000000 mmcr1:0XC000000040F2F6F2 mmcra:0X00000000
+event:0X03F3 mmcr0:0X00000000 mmcr1:0XC000000040F2F6F2 mmcra:0X00000000
+event:0X03F4 mmcr0:0X00000000 mmcr1:0XC000000040F2F6F2 mmcra:0X00000000
+event:0X03F5 mmcr0:0X00000000 mmcr1:0XC000000040F2F6F2 mmcra:0X00000000
+
+#Group 64 pm_dlatencies2, Data latencies
+event:0X0400 mmcr0:0X00000000 mmcr1:0XC0000000481EF602 mmcra:0X00000000
+event:0X0401 mmcr0:0X00000000 mmcr1:0XC0000000481EF602 mmcra:0X00000000
+event:0X0402 mmcr0:0X00000000 mmcr1:0XC0000000481EF602 mmcra:0X00000000
+event:0X0403 mmcr0:0X00000000 mmcr1:0XC0000000481EF602 mmcra:0X00000000
+event:0X0404 mmcr0:0X00000000 mmcr1:0XC0000000481EF602 mmcra:0X00000000
+event:0X0405 mmcr0:0X00000000 mmcr1:0XC0000000481EF602 mmcra:0X00000000
+
+#Group 65 pm_dlatencies3, Data latencies
+event:0X0410 mmcr0:0X00000000 mmcr1:0XCC0000004244F602 mmcra:0X00000000
+event:0X0411 mmcr0:0X00000000 mmcr1:0XCC0000004244F602 mmcra:0X00000000
+event:0X0412 mmcr0:0X00000000 mmcr1:0XCC0000004244F602 mmcra:0X00000000
+event:0X0413 mmcr0:0X00000000 mmcr1:0XCC0000004244F602 mmcra:0X00000000
+event:0X0414 mmcr0:0X00000000 mmcr1:0XCC0000004244F602 mmcra:0X00000000
+event:0X0415 mmcr0:0X00000000 mmcr1:0XCC0000004244F602 mmcra:0X00000000
+
+#Group 66 pm_rejects1, Reject event
+event:0X0420 mmcr0:0X00000000 mmcr1:0X0CCC000164ACAEAC mmcra:0X00000000
+event:0X0421 mmcr0:0X00000000 mmcr1:0X0CCC000164ACAEAC mmcra:0X00000000
+event:0X0422 mmcr0:0X00000000 mmcr1:0X0CCC000164ACAEAC mmcra:0X00000000
+event:0X0423 mmcr0:0X00000000 mmcr1:0X0CCC000164ACAEAC mmcra:0X00000000
+event:0X0424 mmcr0:0X00000000 mmcr1:0X0CCC000164ACAEAC mmcra:0X00000000
+event:0X0425 mmcr0:0X00000000 mmcr1:0X0CCC000164ACAEAC mmcra:0X00000000
+
+#Group 67 pm_rejects2, Reject events
+event:0X0430 mmcr0:0X00000000 mmcr1:0X00C000026464A808 mmcra:0X00000000
+event:0X0431 mmcr0:0X00000000 mmcr1:0X00C000026464A808 mmcra:0X00000000
+event:0X0432 mmcr0:0X00000000 mmcr1:0X00C000026464A808 mmcra:0X00000000
+event:0X0433 mmcr0:0X00000000 mmcr1:0X00C000026464A808 mmcra:0X00000000
+event:0X0434 mmcr0:0X00000000 mmcr1:0X00C000026464A808 mmcra:0X00000000
+event:0X0435 mmcr0:0X00000000 mmcr1:0X00C000026464A808 mmcra:0X00000000
+
+#Group 68 pm_rejects3, Set mispredictions rejects
+event:0X0440 mmcr0:0X00000000 mmcr1:0XCC000008A8A81E02 mmcra:0X00000000
+event:0X0441 mmcr0:0X00000000 mmcr1:0XCC000008A8A81E02 mmcra:0X00000000
+event:0X0442 mmcr0:0X00000000 mmcr1:0XCC000008A8A81E02 mmcra:0X00000000
+event:0X0443 mmcr0:0X00000000 mmcr1:0XCC000008A8A81E02 mmcra:0X00000000
+event:0X0444 mmcr0:0X00000000 mmcr1:0XCC000008A8A81E02 mmcra:0X00000000
+event:0X0445 mmcr0:0X00000000 mmcr1:0XCC000008A8A81E02 mmcra:0X00000000
+
+#Group 69 pm_lsu_reject, LSU Reject Event
+event:0X0450 mmcr0:0X00000000 mmcr1:0XCCC00008A4A4A602 mmcra:0X00000000
+event:0X0451 mmcr0:0X00000000 mmcr1:0XCCC00008A4A4A602 mmcra:0X00000000
+event:0X0452 mmcr0:0X00000000 mmcr1:0XCCC00008A4A4A602 mmcra:0X00000000
+event:0X0453 mmcr0:0X00000000 mmcr1:0XCCC00008A4A4A602 mmcra:0X00000000
+event:0X0454 mmcr0:0X00000000 mmcr1:0XCCC00008A4A4A602 mmcra:0X00000000
+event:0X0455 mmcr0:0X00000000 mmcr1:0XCCC00008A4A4A602 mmcra:0X00000000
+
+#Group 70 pm_lsu_ncld, Non cachable loads
+event:0X0460 mmcr0:0X00000000 mmcr1:0XCCC000088C8C8E02 mmcra:0X00000000
+event:0X0461 mmcr0:0X00000000 mmcr1:0XCCC000088C8C8E02 mmcra:0X00000000
+event:0X0462 mmcr0:0X00000000 mmcr1:0XCCC000088C8C8E02 mmcra:0X00000000
+event:0X0463 mmcr0:0X00000000 mmcr1:0XCCC000088C8C8E02 mmcra:0X00000000
+event:0X0464 mmcr0:0X00000000 mmcr1:0XCCC000088C8C8E02 mmcra:0X00000000
+event:0X0465 mmcr0:0X00000000 mmcr1:0XCCC000088C8C8E02 mmcra:0X00000000
+
+#Group 71 pm_gct1, GCT events
+event:0X0470 mmcr0:0X00000000 mmcr1:0X00400000F808861E mmcra:0X00000000
+event:0X0471 mmcr0:0X00000000 mmcr1:0X00400000F808861E mmcra:0X00000000
+event:0X0472 mmcr0:0X00000000 mmcr1:0X00400000F808861E mmcra:0X00000000
+event:0X0473 mmcr0:0X00000000 mmcr1:0X00400000F808861E mmcra:0X00000000
+event:0X0474 mmcr0:0X00000000 mmcr1:0X00400000F808861E mmcra:0X00000000
+event:0X0475 mmcr0:0X00000000 mmcr1:0X00400000F808861E mmcra:0X00000000
+
+#Group 72 pm_gct2, GCT Events
+event:0X0480 mmcr0:0X00000000 mmcr1:0X222200009C9EA0A2 mmcra:0X00000000
+event:0X0481 mmcr0:0X00000000 mmcr1:0X222200009C9EA0A2 mmcra:0X00000000
+event:0X0482 mmcr0:0X00000000 mmcr1:0X222200009C9EA0A2 mmcra:0X00000000
+event:0X0483 mmcr0:0X00000000 mmcr1:0X222200009C9EA0A2 mmcra:0X00000000
+event:0X0484 mmcr0:0X00000000 mmcr1:0X222200009C9EA0A2 mmcra:0X00000000
+event:0X0485 mmcr0:0X00000000 mmcr1:0X222200009C9EA0A2 mmcra:0X00000000
+
+#Group 73 pm_L2_castout_invalidate_1, L2 castout and invalidate events
+event:0X0490 mmcr0:0X00000000 mmcr1:0X660020008082021E mmcra:0X00000000
+event:0X0491 mmcr0:0X00000000 mmcr1:0X660020008082021E mmcra:0X00000000
+event:0X0492 mmcr0:0X00000000 mmcr1:0X660020008082021E mmcra:0X00000000
+event:0X0493 mmcr0:0X00000000 mmcr1:0X660020008082021E mmcra:0X00000000
+event:0X0494 mmcr0:0X00000000 mmcr1:0X660020008082021E mmcra:0X00000000
+event:0X0495 mmcr0:0X00000000 mmcr1:0X660020008082021E mmcra:0X00000000
+
+#Group 74 pm_L2_castout_invalidate_2, L2 castout and invalidate events
+event:0X04A0 mmcr0:0X00000000 mmcr1:0X660020008280021E mmcra:0X00000000
+event:0X04A1 mmcr0:0X00000000 mmcr1:0X660020008280021E mmcra:0X00000000
+event:0X04A2 mmcr0:0X00000000 mmcr1:0X660020008280021E mmcra:0X00000000
+event:0X04A3 mmcr0:0X00000000 mmcr1:0X660020008280021E mmcra:0X00000000
+event:0X04A4 mmcr0:0X00000000 mmcr1:0X660020008280021E mmcra:0X00000000
+event:0X04A5 mmcr0:0X00000000 mmcr1:0X660020008280021E mmcra:0X00000000
+
+#Group 75 pm_disp_held1, Dispatch held conditions
+event:0X04B0 mmcr0:0X00000000 mmcr1:0X00000000060606F2 mmcra:0X00000000
+event:0X04B1 mmcr0:0X00000000 mmcr1:0X00000000060606F2 mmcra:0X00000000
+event:0X04B2 mmcr0:0X00000000 mmcr1:0X00000000060606F2 mmcra:0X00000000
+event:0X04B3 mmcr0:0X00000000 mmcr1:0X00000000060606F2 mmcra:0X00000000
+event:0X04B4 mmcr0:0X00000000 mmcr1:0X00000000060606F2 mmcra:0X00000000
+event:0X04B5 mmcr0:0X00000000 mmcr1:0X00000000060606F2 mmcra:0X00000000
+
+#Group 76 pm_disp_held2, Dispatch held conditions
+event:0X04C0 mmcr0:0X00000000 mmcr1:0X0000000016060606 mmcra:0X00000000
+event:0X04C1 mmcr0:0X00000000 mmcr1:0X0000000016060606 mmcra:0X00000000
+event:0X04C2 mmcr0:0X00000000 mmcr1:0X0000000016060606 mmcra:0X00000000
+event:0X04C3 mmcr0:0X00000000 mmcr1:0X0000000016060606 mmcra:0X00000000
+event:0X04C4 mmcr0:0X00000000 mmcr1:0X0000000016060606 mmcra:0X00000000
+event:0X04C5 mmcr0:0X00000000 mmcr1:0X0000000016060606 mmcra:0X00000000
+
+#Group 77 pm_disp_clb_held, Display CLB held conditions
+event:0X04D0 mmcr0:0X00000000 mmcr1:0X2222000092949698 mmcra:0X00000000
+event:0X04D1 mmcr0:0X00000000 mmcr1:0X2222000092949698 mmcra:0X00000000
+event:0X04D2 mmcr0:0X00000000 mmcr1:0X2222000092949698 mmcra:0X00000000
+event:0X04D3 mmcr0:0X00000000 mmcr1:0X2222000092949698 mmcra:0X00000000
+event:0X04D4 mmcr0:0X00000000 mmcr1:0X2222000092949698 mmcra:0X00000000
+event:0X04D5 mmcr0:0X00000000 mmcr1:0X2222000092949698 mmcra:0X00000000
+
+#Group 78 pm_power, Power Events
+event:0X04E0 mmcr0:0X00000000 mmcr1:0X000000006E6E6E6E mmcra:0X00000000
+event:0X04E1 mmcr0:0X00000000 mmcr1:0X000000006E6E6E6E mmcra:0X00000000
+event:0X04E2 mmcr0:0X00000000 mmcr1:0X000000006E6E6E6E mmcra:0X00000000
+event:0X04E3 mmcr0:0X00000000 mmcr1:0X000000006E6E6E6E mmcra:0X00000000
+event:0X04E4 mmcr0:0X00000000 mmcr1:0X000000006E6E6E6E mmcra:0X00000000
+event:0X04E5 mmcr0:0X00000000 mmcr1:0X000000006E6E6E6E mmcra:0X00000000
+
+#Group 79 pm_dispatch1, Groups and instructions dispatched
+event:0X04F0 mmcr0:0X00000000 mmcr1:0X00000000F2F20AF2 mmcra:0X00000000
+event:0X04F1 mmcr0:0X00000000 mmcr1:0X00000000F2F20AF2 mmcra:0X00000000
+event:0X04F2 mmcr0:0X00000000 mmcr1:0X00000000F2F20AF2 mmcra:0X00000000
+event:0X04F3 mmcr0:0X00000000 mmcr1:0X00000000F2F20AF2 mmcra:0X00000000
+event:0X04F4 mmcr0:0X00000000 mmcr1:0X00000000F2F20AF2 mmcra:0X00000000
+event:0X04F5 mmcr0:0X00000000 mmcr1:0X00000000F2F20AF2 mmcra:0X00000000
+
+#Group 80 pm_dispatch2, Groups and instructions dispatched
+event:0X0500 mmcr0:0X00000000 mmcr1:0X00000000F21E02F2 mmcra:0X00000000
+event:0X0501 mmcr0:0X00000000 mmcr1:0X00000000F21E02F2 mmcra:0X00000000
+event:0X0502 mmcr0:0X00000000 mmcr1:0X00000000F21E02F2 mmcra:0X00000000
+event:0X0503 mmcr0:0X00000000 mmcr1:0X00000000F21E02F2 mmcra:0X00000000
+event:0X0504 mmcr0:0X00000000 mmcr1:0X00000000F21E02F2 mmcra:0X00000000
+event:0X0505 mmcr0:0X00000000 mmcr1:0X00000000F21E02F2 mmcra:0X00000000
+
+#Group 81 pm_ic, I cache operations
+event:0X0510 mmcr0:0X00000000 mmcr1:0X4444000F888C9098 mmcra:0X00000000
+event:0X0511 mmcr0:0X00000000 mmcr1:0X4444000F888C9098 mmcra:0X00000000
+event:0X0512 mmcr0:0X00000000 mmcr1:0X4444000F888C9098 mmcra:0X00000000
+event:0X0513 mmcr0:0X00000000 mmcr1:0X4444000F888C9098 mmcra:0X00000000
+event:0X0514 mmcr0:0X00000000 mmcr1:0X4444000F888C9098 mmcra:0X00000000
+event:0X0515 mmcr0:0X00000000 mmcr1:0X4444000F888C9098 mmcra:0X00000000
+
+#Group 82 pm_ic_pref_cancel, Instruction pre-fetched cancelled
+event:0X0520 mmcr0:0X00000000 mmcr1:0X4444000190929490 mmcra:0X00000000
+event:0X0521 mmcr0:0X00000000 mmcr1:0X4444000190929490 mmcra:0X00000000
+event:0X0522 mmcr0:0X00000000 mmcr1:0X4444000190929490 mmcra:0X00000000
+event:0X0523 mmcr0:0X00000000 mmcr1:0X4444000190929490 mmcra:0X00000000
+event:0X0524 mmcr0:0X00000000 mmcr1:0X4444000190929490 mmcra:0X00000000
+event:0X0525 mmcr0:0X00000000 mmcr1:0X4444000190929490 mmcra:0X00000000
+
+#Group 83 pm_ic_miss, Icache and Ierat miss events
+event:0X0530 mmcr0:0X00000000 mmcr1:0X00000000F6FC021E mmcra:0X00000000
+event:0X0531 mmcr0:0X00000000 mmcr1:0X00000000F6FC021E mmcra:0X00000000
+event:0X0532 mmcr0:0X00000000 mmcr1:0X00000000F6FC021E mmcra:0X00000000
+event:0X0533 mmcr0:0X00000000 mmcr1:0X00000000F6FC021E mmcra:0X00000000
+event:0X0534 mmcr0:0X00000000 mmcr1:0X00000000F6FC021E mmcra:0X00000000
+event:0X0535 mmcr0:0X00000000 mmcr1:0X00000000F6FC021E mmcra:0X00000000
+
+#Group 84 pm_cpi_stack1, CPI stack breakdown
+event:0X0540 mmcr0:0X00000000 mmcr1:0XC00000004016F618 mmcra:0X00000000
+event:0X0541 mmcr0:0X00000000 mmcr1:0XC00000004016F618 mmcra:0X00000000
+event:0X0542 mmcr0:0X00000000 mmcr1:0XC00000004016F618 mmcra:0X00000000
+event:0X0543 mmcr0:0X00000000 mmcr1:0XC00000004016F618 mmcra:0X00000000
+event:0X0544 mmcr0:0X00000000 mmcr1:0XC00000004016F618 mmcra:0X00000000
+event:0X0545 mmcr0:0X00000000 mmcr1:0XC00000004016F618 mmcra:0X00000000
+
+#Group 85 pm_cpi_stack2, CPI stack breakdown
+event:0X0550 mmcr0:0X00000000 mmcr1:0X000000000E140414 mmcra:0X00000000
+event:0X0551 mmcr0:0X00000000 mmcr1:0X000000000E140414 mmcra:0X00000000
+event:0X0552 mmcr0:0X00000000 mmcr1:0X000000000E140414 mmcra:0X00000000
+event:0X0553 mmcr0:0X00000000 mmcr1:0X000000000E140414 mmcra:0X00000000
+event:0X0554 mmcr0:0X00000000 mmcr1:0X000000000E140414 mmcra:0X00000000
+event:0X0555 mmcr0:0X00000000 mmcr1:0X000000000E140414 mmcra:0X00000000
+
+#Group 86 pm_cpi_stack3, CPI stack breakdown
+event:0X0560 mmcr0:0X00000000 mmcr1:0X0000000026121A16 mmcra:0X00000000
+event:0X0561 mmcr0:0X00000000 mmcr1:0X0000000026121A16 mmcra:0X00000000
+event:0X0562 mmcr0:0X00000000 mmcr1:0X0000000026121A16 mmcra:0X00000000
+event:0X0563 mmcr0:0X00000000 mmcr1:0X0000000026121A16 mmcra:0X00000000
+event:0X0564 mmcr0:0X00000000 mmcr1:0X0000000026121A16 mmcra:0X00000000
+event:0X0565 mmcr0:0X00000000 mmcr1:0X0000000026121A16 mmcra:0X00000000
+
+#Group 87 pm_cpi_stack4, CPI stack breakdown
+event:0X0570 mmcr0:0X00000000 mmcr1:0X00000000F4183E12 mmcra:0X00000000
+event:0X0571 mmcr0:0X00000000 mmcr1:0X00000000F4183E12 mmcra:0X00000000
+event:0X0572 mmcr0:0X00000000 mmcr1:0X00000000F4183E12 mmcra:0X00000000
+event:0X0573 mmcr0:0X00000000 mmcr1:0X00000000F4183E12 mmcra:0X00000000
+event:0X0574 mmcr0:0X00000000 mmcr1:0X00000000F4183E12 mmcra:0X00000000
+event:0X0575 mmcr0:0X00000000 mmcr1:0X00000000F4183E12 mmcra:0X00000000
+
+#Group 88 pm_cpi_stack5, CPI stack breakdown
+event:0X0580 mmcr0:0X00000000 mmcr1:0X00000000281C3F0A mmcra:0X00000000
+event:0X0581 mmcr0:0X00000000 mmcr1:0X00000000281C3F0A mmcra:0X00000000
+event:0X0582 mmcr0:0X00000000 mmcr1:0X00000000281C3F0A mmcra:0X00000000
+event:0X0583 mmcr0:0X00000000 mmcr1:0X00000000281C3F0A mmcra:0X00000000
+event:0X0584 mmcr0:0X00000000 mmcr1:0X00000000281C3F0A mmcra:0X00000000
+event:0X0585 mmcr0:0X00000000 mmcr1:0X00000000281C3F0A mmcra:0X00000000
+
+#Group 89 pm_cpi_stack6, CPI stack breakdown
+event:0X0590 mmcr0:0X00000000 mmcr1:0X000000001C3C021C mmcra:0X00000000
+event:0X0591 mmcr0:0X00000000 mmcr1:0X000000001C3C021C mmcra:0X00000000
+event:0X0592 mmcr0:0X00000000 mmcr1:0X000000001C3C021C mmcra:0X00000000
+event:0X0593 mmcr0:0X00000000 mmcr1:0X000000001C3C021C mmcra:0X00000000
+event:0X0594 mmcr0:0X00000000 mmcr1:0X000000001C3C021C mmcra:0X00000000
+event:0X0595 mmcr0:0X00000000 mmcr1:0X000000001C3C021C mmcra:0X00000000
+
+#Group 90 pm_cpi_stack7, CPI stack breakdown
+event:0X05A0 mmcr0:0X00000000 mmcr1:0X00000000F81A141A mmcra:0X00000000
+event:0X05A1 mmcr0:0X00000000 mmcr1:0X00000000F81A141A mmcra:0X00000000
+event:0X05A2 mmcr0:0X00000000 mmcr1:0X00000000F81A141A mmcra:0X00000000
+event:0X05A3 mmcr0:0X00000000 mmcr1:0X00000000F81A141A mmcra:0X00000000
+event:0X05A4 mmcr0:0X00000000 mmcr1:0X00000000F81A141A mmcra:0X00000000
+event:0X05A5 mmcr0:0X00000000 mmcr1:0X00000000F81A141A mmcra:0X00000000
+
+#Group 91 pm_dsource1, Data source information
+event:0X05B0 mmcr0:0X00000000 mmcr1:0XCCCC000040404242 mmcra:0X00000000
+event:0X05B1 mmcr0:0X00000000 mmcr1:0XCCCC000040404242 mmcra:0X00000000
+event:0X05B2 mmcr0:0X00000000 mmcr1:0XCCCC000040404242 mmcra:0X00000000
+event:0X05B3 mmcr0:0X00000000 mmcr1:0XCCCC000040404242 mmcra:0X00000000
+event:0X05B4 mmcr0:0X00000000 mmcr1:0XCCCC000040404242 mmcra:0X00000000
+event:0X05B5 mmcr0:0X00000000 mmcr1:0XCCCC000040404242 mmcra:0X00000000
+
+#Group 92 pm_dsource2, Data source information
+event:0X05C0 mmcr0:0X00000000 mmcr1:0XCCCC000048464A48 mmcra:0X00000000
+event:0X05C1 mmcr0:0X00000000 mmcr1:0XCCCC000048464A48 mmcra:0X00000000
+event:0X05C2 mmcr0:0X00000000 mmcr1:0XCCCC000048464A48 mmcra:0X00000000
+event:0X05C3 mmcr0:0X00000000 mmcr1:0XCCCC000048464A48 mmcra:0X00000000
+event:0X05C4 mmcr0:0X00000000 mmcr1:0XCCCC000048464A48 mmcra:0X00000000
+event:0X05C5 mmcr0:0X00000000 mmcr1:0XCCCC000048464A48 mmcra:0X00000000
+
+#Group 93 pm_dsource3, Data source information
+event:0X05D0 mmcr0:0X00000000 mmcr1:0XCCCC00004A484648 mmcra:0X00000000
+event:0X05D1 mmcr0:0X00000000 mmcr1:0XCCCC00004A484648 mmcra:0X00000000
+event:0X05D2 mmcr0:0X00000000 mmcr1:0XCCCC00004A484648 mmcra:0X00000000
+event:0X05D3 mmcr0:0X00000000 mmcr1:0XCCCC00004A484648 mmcra:0X00000000
+event:0X05D4 mmcr0:0X00000000 mmcr1:0XCCCC00004A484648 mmcra:0X00000000
+event:0X05D5 mmcr0:0X00000000 mmcr1:0XCCCC00004A484648 mmcra:0X00000000
+
+#Group 94 pm_dsource4, Data source information
+event:0X05E0 mmcr0:0X00000000 mmcr1:0XCCCC000044444C44 mmcra:0X00000000
+event:0X05E1 mmcr0:0X00000000 mmcr1:0XCCCC000044444C44 mmcra:0X00000000
+event:0X05E2 mmcr0:0X00000000 mmcr1:0XCCCC000044444C44 mmcra:0X00000000
+event:0X05E3 mmcr0:0X00000000 mmcr1:0XCCCC000044444C44 mmcra:0X00000000
+event:0X05E4 mmcr0:0X00000000 mmcr1:0XCCCC000044444C44 mmcra:0X00000000
+event:0X05E5 mmcr0:0X00000000 mmcr1:0XCCCC000044444C44 mmcra:0X00000000
+
+#Group 95 pm_dsource5, Data source information
+event:0X05F0 mmcr0:0X00000000 mmcr1:0XCCCC00004E424446 mmcra:0X00000000
+event:0X05F1 mmcr0:0X00000000 mmcr1:0XCCCC00004E424446 mmcra:0X00000000
+event:0X05F2 mmcr0:0X00000000 mmcr1:0XCCCC00004E424446 mmcra:0X00000000
+event:0X05F3 mmcr0:0X00000000 mmcr1:0XCCCC00004E424446 mmcra:0X00000000
+event:0X05F4 mmcr0:0X00000000 mmcr1:0XCCCC00004E424446 mmcra:0X00000000
+event:0X05F5 mmcr0:0X00000000 mmcr1:0XCCCC00004E424446 mmcra:0X00000000
+
+#Group 96 pm_dsource6, Data source information
+event:0X0600 mmcr0:0X00000000 mmcr1:0XCCCC000042444E48 mmcra:0X00000000
+event:0X0601 mmcr0:0X00000000 mmcr1:0XCCCC000042444E48 mmcra:0X00000000
+event:0X0602 mmcr0:0X00000000 mmcr1:0XCCCC000042444E48 mmcra:0X00000000
+event:0X0603 mmcr0:0X00000000 mmcr1:0XCCCC000042444E48 mmcra:0X00000000
+event:0X0604 mmcr0:0X00000000 mmcr1:0XCCCC000042444E48 mmcra:0X00000000
+event:0X0605 mmcr0:0X00000000 mmcr1:0XCCCC000042444E48 mmcra:0X00000000
+
+#Group 97 pm_dsource7, Data source information
+event:0X0610 mmcr0:0X00000000 mmcr1:0XCCCC00004C484C44 mmcra:0X00000000
+event:0X0611 mmcr0:0X00000000 mmcr1:0XCCCC00004C484C44 mmcra:0X00000000
+event:0X0612 mmcr0:0X00000000 mmcr1:0XCCCC00004C484C44 mmcra:0X00000000
+event:0X0613 mmcr0:0X00000000 mmcr1:0XCCCC00004C484C44 mmcra:0X00000000
+event:0X0614 mmcr0:0X00000000 mmcr1:0XCCCC00004C484C44 mmcra:0X00000000
+event:0X0615 mmcr0:0X00000000 mmcr1:0XCCCC00004C484C44 mmcra:0X00000000
+
+#Group 98 pm_dsource8, Data source information
+event:0X0620 mmcr0:0X00000000 mmcr1:0X0C0C00000240FE42 mmcra:0X00000000
+event:0X0621 mmcr0:0X00000000 mmcr1:0X0C0C00000240FE42 mmcra:0X00000000
+event:0X0622 mmcr0:0X00000000 mmcr1:0X0C0C00000240FE42 mmcra:0X00000000
+event:0X0623 mmcr0:0X00000000 mmcr1:0X0C0C00000240FE42 mmcra:0X00000000
+event:0X0624 mmcr0:0X00000000 mmcr1:0X0C0C00000240FE42 mmcra:0X00000000
+event:0X0625 mmcr0:0X00000000 mmcr1:0X0C0C00000240FE42 mmcra:0X00000000
+
+#Group 99 pm_dsource9, Data source information
+event:0X0630 mmcr0:0X00000000 mmcr1:0XC000000040FEF6F0 mmcra:0X00000000
+event:0X0631 mmcr0:0X00000000 mmcr1:0XC000000040FEF6F0 mmcra:0X00000000
+event:0X0632 mmcr0:0X00000000 mmcr1:0XC000000040FEF6F0 mmcra:0X00000000
+event:0X0633 mmcr0:0X00000000 mmcr1:0XC000000040FEF6F0 mmcra:0X00000000
+event:0X0634 mmcr0:0X00000000 mmcr1:0XC000000040FEF6F0 mmcra:0X00000000
+event:0X0635 mmcr0:0X00000000 mmcr1:0XC000000040FEF6F0 mmcra:0X00000000
+
+#Group 100 pm_dsource10, Data source information
+event:0X0640 mmcr0:0X00000000 mmcr1:0XCCCC000042444444 mmcra:0X00000000
+event:0X0641 mmcr0:0X00000000 mmcr1:0XCCCC000042444444 mmcra:0X00000000
+event:0X0642 mmcr0:0X00000000 mmcr1:0XCCCC000042444444 mmcra:0X00000000
+event:0X0643 mmcr0:0X00000000 mmcr1:0XCCCC000042444444 mmcra:0X00000000
+event:0X0644 mmcr0:0X00000000 mmcr1:0XCCCC000042444444 mmcra:0X00000000
+event:0X0645 mmcr0:0X00000000 mmcr1:0XCCCC000042444444 mmcra:0X00000000
+
+#Group 101 pm_dsource11, Data source information
+event:0X0650 mmcr0:0X00000000 mmcr1:0XC000000040FEFEFA mmcra:0X00000000
+event:0X0651 mmcr0:0X00000000 mmcr1:0XC000000040FEFEFA mmcra:0X00000000
+event:0X0652 mmcr0:0X00000000 mmcr1:0XC000000040FEFEFA mmcra:0X00000000
+event:0X0653 mmcr0:0X00000000 mmcr1:0XC000000040FEFEFA mmcra:0X00000000
+event:0X0654 mmcr0:0X00000000 mmcr1:0XC000000040FEFEFA mmcra:0X00000000
+event:0X0655 mmcr0:0X00000000 mmcr1:0XC000000040FEFEFA mmcra:0X00000000
+
+#Group 102 pm_dsource12, Data source information
+event:0X0660 mmcr0:0X00000000 mmcr1:0XCCCC000042424242 mmcra:0X00000000
+event:0X0661 mmcr0:0X00000000 mmcr1:0XCCCC000042424242 mmcra:0X00000000
+event:0X0662 mmcr0:0X00000000 mmcr1:0XCCCC000042424242 mmcra:0X00000000
+event:0X0663 mmcr0:0X00000000 mmcr1:0XCCCC000042424242 mmcra:0X00000000
+event:0X0664 mmcr0:0X00000000 mmcr1:0XCCCC000042424242 mmcra:0X00000000
+event:0X0665 mmcr0:0X00000000 mmcr1:0XCCCC000042424242 mmcra:0X00000000
+
+#Group 103 pm_dsource13, Data source information
+event:0X0670 mmcr0:0X00000000 mmcr1:0XC0CC00005C024444 mmcra:0X00000000
+event:0X0671 mmcr0:0X00000000 mmcr1:0XC0CC00005C024444 mmcra:0X00000000
+event:0X0672 mmcr0:0X00000000 mmcr1:0XC0CC00005C024444 mmcra:0X00000000
+event:0X0673 mmcr0:0X00000000 mmcr1:0XC0CC00005C024444 mmcra:0X00000000
+event:0X0674 mmcr0:0X00000000 mmcr1:0XC0CC00005C024444 mmcra:0X00000000
+event:0X0675 mmcr0:0X00000000 mmcr1:0XC0CC00005C024444 mmcra:0X00000000
+
+#Group 104 pm_dsource14, Data source information
+event:0X0680 mmcr0:0X00000000 mmcr1:0XC0CC00004A024242 mmcra:0X00000000
+event:0X0681 mmcr0:0X00000000 mmcr1:0XC0CC00004A024242 mmcra:0X00000000
+event:0X0682 mmcr0:0X00000000 mmcr1:0XC0CC00004A024242 mmcra:0X00000000
+event:0X0683 mmcr0:0X00000000 mmcr1:0XC0CC00004A024242 mmcra:0X00000000
+event:0X0684 mmcr0:0X00000000 mmcr1:0XC0CC00004A024242 mmcra:0X00000000
+event:0X0685 mmcr0:0X00000000 mmcr1:0XC0CC00004A024242 mmcra:0X00000000
+
+#Group 105 pm_dsource15, Data source information
+event:0X0690 mmcr0:0X00000000 mmcr1:0XC00C00004A02F642 mmcra:0X00000000
+event:0X0691 mmcr0:0X00000000 mmcr1:0XC00C00004A02F642 mmcra:0X00000000
+event:0X0692 mmcr0:0X00000000 mmcr1:0XC00C00004A02F642 mmcra:0X00000000
+event:0X0693 mmcr0:0X00000000 mmcr1:0XC00C00004A02F642 mmcra:0X00000000
+event:0X0694 mmcr0:0X00000000 mmcr1:0XC00C00004A02F642 mmcra:0X00000000
+event:0X0695 mmcr0:0X00000000 mmcr1:0XC00C00004A02F642 mmcra:0X00000000
+
+#Group 106 pm_isource1, Instruction source information
+event:0X06A0 mmcr0:0X00000000 mmcr1:0X4444000040404A48 mmcra:0X00000000
+event:0X06A1 mmcr0:0X00000000 mmcr1:0X4444000040404A48 mmcra:0X00000000
+event:0X06A2 mmcr0:0X00000000 mmcr1:0X4444000040404A48 mmcra:0X00000000
+event:0X06A3 mmcr0:0X00000000 mmcr1:0X4444000040404A48 mmcra:0X00000000
+event:0X06A4 mmcr0:0X00000000 mmcr1:0X4444000040404A48 mmcra:0X00000000
+event:0X06A5 mmcr0:0X00000000 mmcr1:0X4444000040404A48 mmcra:0X00000000
+
+#Group 107 pm_isource2, Instruction source information
+event:0X06B0 mmcr0:0X00000000 mmcr1:0X4444000048424C42 mmcra:0X00000000
+event:0X06B1 mmcr0:0X00000000 mmcr1:0X4444000048424C42 mmcra:0X00000000
+event:0X06B2 mmcr0:0X00000000 mmcr1:0X4444000048424C42 mmcra:0X00000000
+event:0X06B3 mmcr0:0X00000000 mmcr1:0X4444000048424C42 mmcra:0X00000000
+event:0X06B4 mmcr0:0X00000000 mmcr1:0X4444000048424C42 mmcra:0X00000000
+event:0X06B5 mmcr0:0X00000000 mmcr1:0X4444000048424C42 mmcra:0X00000000
+
+#Group 108 pm_isource3, Instruction source information
+event:0X06C0 mmcr0:0X00000000 mmcr1:0X444400004A484444 mmcra:0X00000000
+event:0X06C1 mmcr0:0X00000000 mmcr1:0X444400004A484444 mmcra:0X00000000
+event:0X06C2 mmcr0:0X00000000 mmcr1:0X444400004A484444 mmcra:0X00000000
+event:0X06C3 mmcr0:0X00000000 mmcr1:0X444400004A484444 mmcra:0X00000000
+event:0X06C4 mmcr0:0X00000000 mmcr1:0X444400004A484444 mmcra:0X00000000
+event:0X06C5 mmcr0:0X00000000 mmcr1:0X444400004A484444 mmcra:0X00000000
+
+#Group 109 pm_isource4, Instruction source information
+event:0X06D0 mmcr0:0X00000000 mmcr1:0X4444000044464646 mmcra:0X00000000
+event:0X06D1 mmcr0:0X00000000 mmcr1:0X4444000044464646 mmcra:0X00000000
+event:0X06D2 mmcr0:0X00000000 mmcr1:0X4444000044464646 mmcra:0X00000000
+event:0X06D3 mmcr0:0X00000000 mmcr1:0X4444000044464646 mmcra:0X00000000
+event:0X06D4 mmcr0:0X00000000 mmcr1:0X4444000044464646 mmcra:0X00000000
+event:0X06D5 mmcr0:0X00000000 mmcr1:0X4444000044464646 mmcra:0X00000000
+
+#Group 110 pm_isource5, Instruction source information
+event:0X06E0 mmcr0:0X00000000 mmcr1:0X444400004E444E48 mmcra:0X00000000
+event:0X06E1 mmcr0:0X00000000 mmcr1:0X444400004E444E48 mmcra:0X00000000
+event:0X06E2 mmcr0:0X00000000 mmcr1:0X444400004E444E48 mmcra:0X00000000
+event:0X06E3 mmcr0:0X00000000 mmcr1:0X444400004E444E48 mmcra:0X00000000
+event:0X06E4 mmcr0:0X00000000 mmcr1:0X444400004E444E48 mmcra:0X00000000
+event:0X06E5 mmcr0:0X00000000 mmcr1:0X444400004E444E48 mmcra:0X00000000
+
+#Group 111 pm_isource6, Instruction source information
+event:0X06F0 mmcr0:0X00000000 mmcr1:0X4444000046484A48 mmcra:0X00000000
+event:0X06F1 mmcr0:0X00000000 mmcr1:0X4444000046484A48 mmcra:0X00000000
+event:0X06F2 mmcr0:0X00000000 mmcr1:0X4444000046484A48 mmcra:0X00000000
+event:0X06F3 mmcr0:0X00000000 mmcr1:0X4444000046484A48 mmcra:0X00000000
+event:0X06F4 mmcr0:0X00000000 mmcr1:0X4444000046484A48 mmcra:0X00000000
+event:0X06F5 mmcr0:0X00000000 mmcr1:0X4444000046484A48 mmcra:0X00000000
+
+#Group 112 pm_isource7, Instruction source information
+event:0X0700 mmcr0:0X00000000 mmcr1:0X4444000042444444 mmcra:0X00000000
+event:0X0701 mmcr0:0X00000000 mmcr1:0X4444000042444444 mmcra:0X00000000
+event:0X0702 mmcr0:0X00000000 mmcr1:0X4444000042444444 mmcra:0X00000000
+event:0X0703 mmcr0:0X00000000 mmcr1:0X4444000042444444 mmcra:0X00000000
+event:0X0704 mmcr0:0X00000000 mmcr1:0X4444000042444444 mmcra:0X00000000
+event:0X0705 mmcr0:0X00000000 mmcr1:0X4444000042444444 mmcra:0X00000000
+
+#Group 113 pm_isource8, Instruction source information
+event:0X0710 mmcr0:0X00000000 mmcr1:0X444400004C484A48 mmcra:0X00000000
+event:0X0711 mmcr0:0X00000000 mmcr1:0X444400004C484A48 mmcra:0X00000000
+event:0X0712 mmcr0:0X00000000 mmcr1:0X444400004C484A48 mmcra:0X00000000
+event:0X0713 mmcr0:0X00000000 mmcr1:0X444400004C484A48 mmcra:0X00000000
+event:0X0714 mmcr0:0X00000000 mmcr1:0X444400004C484A48 mmcra:0X00000000
+event:0X0715 mmcr0:0X00000000 mmcr1:0X444400004C484A48 mmcra:0X00000000
+
+#Group 114 pm_isource9, Instruction source information
+event:0X0720 mmcr0:0X00000000 mmcr1:0X4444000046424242 mmcra:0X00000000
+event:0X0721 mmcr0:0X00000000 mmcr1:0X4444000046424242 mmcra:0X00000000
+event:0X0722 mmcr0:0X00000000 mmcr1:0X4444000046424242 mmcra:0X00000000
+event:0X0723 mmcr0:0X00000000 mmcr1:0X4444000046424242 mmcra:0X00000000
+event:0X0724 mmcr0:0X00000000 mmcr1:0X4444000046424242 mmcra:0X00000000
+event:0X0725 mmcr0:0X00000000 mmcr1:0X4444000046424242 mmcra:0X00000000
+
+#Group 115 pm_isource10, Instruction source information
+event:0X0730 mmcr0:0X00000000 mmcr1:0X440000004040021E mmcra:0X00000000
+event:0X0731 mmcr0:0X00000000 mmcr1:0X440000004040021E mmcra:0X00000000
+event:0X0732 mmcr0:0X00000000 mmcr1:0X440000004040021E mmcra:0X00000000
+event:0X0733 mmcr0:0X00000000 mmcr1:0X440000004040021E mmcra:0X00000000
+event:0X0734 mmcr0:0X00000000 mmcr1:0X440000004040021E mmcra:0X00000000
+event:0X0735 mmcr0:0X00000000 mmcr1:0X440000004040021E mmcra:0X00000000
+
+#Group 116 pm_isource11, Instruction source information
+event:0X0740 mmcr0:0X00000000 mmcr1:0X4440000042444A02 mmcra:0X00000000
+event:0X0741 mmcr0:0X00000000 mmcr1:0X4440000042444A02 mmcra:0X00000000
+event:0X0742 mmcr0:0X00000000 mmcr1:0X4440000042444A02 mmcra:0X00000000
+event:0X0743 mmcr0:0X00000000 mmcr1:0X4440000042444A02 mmcra:0X00000000
+event:0X0744 mmcr0:0X00000000 mmcr1:0X4440000042444A02 mmcra:0X00000000
+event:0X0745 mmcr0:0X00000000 mmcr1:0X4440000042444A02 mmcra:0X00000000
+
+#Group 117 pm_isource12, Instruction source information
+event:0X0750 mmcr0:0X00000000 mmcr1:0X004400001E024444 mmcra:0X00000000
+event:0X0751 mmcr0:0X00000000 mmcr1:0X004400001E024444 mmcra:0X00000000
+event:0X0752 mmcr0:0X00000000 mmcr1:0X004400001E024444 mmcra:0X00000000
+event:0X0753 mmcr0:0X00000000 mmcr1:0X004400001E024444 mmcra:0X00000000
+event:0X0754 mmcr0:0X00000000 mmcr1:0X004400001E024444 mmcra:0X00000000
+event:0X0755 mmcr0:0X00000000 mmcr1:0X004400001E024444 mmcra:0X00000000
+
+#Group 118 pm_isource13, Instruction source information
+event:0X0760 mmcr0:0X00000000 mmcr1:0X404400004A024242 mmcra:0X00000000
+event:0X0761 mmcr0:0X00000000 mmcr1:0X404400004A024242 mmcra:0X00000000
+event:0X0762 mmcr0:0X00000000 mmcr1:0X404400004A024242 mmcra:0X00000000
+event:0X0763 mmcr0:0X00000000 mmcr1:0X404400004A024242 mmcra:0X00000000
+event:0X0764 mmcr0:0X00000000 mmcr1:0X404400004A024242 mmcra:0X00000000
+event:0X0765 mmcr0:0X00000000 mmcr1:0X404400004A024242 mmcra:0X00000000
+
+#Group 119 pm_prefetch1, Prefetch events
+event:0X0770 mmcr0:0X00000000 mmcr1:0XDDDD000FA8ACB4B8 mmcra:0X00000000
+event:0X0771 mmcr0:0X00000000 mmcr1:0XDDDD000FA8ACB4B8 mmcra:0X00000000
+event:0X0772 mmcr0:0X00000000 mmcr1:0XDDDD000FA8ACB4B8 mmcra:0X00000000
+event:0X0773 mmcr0:0X00000000 mmcr1:0XDDDD000FA8ACB4B8 mmcra:0X00000000
+event:0X0774 mmcr0:0X00000000 mmcr1:0XDDDD000FA8ACB4B8 mmcra:0X00000000
+event:0X0775 mmcr0:0X00000000 mmcr1:0XDDDD000FA8ACB4B8 mmcra:0X00000000
+
+#Group 120 pm_prefetch2, Prefetch events
+event:0X0780 mmcr0:0X00000000 mmcr1:0XDC00000CBC8066F0 mmcra:0X00000000
+event:0X0781 mmcr0:0X00000000 mmcr1:0XDC00000CBC8066F0 mmcra:0X00000000
+event:0X0782 mmcr0:0X00000000 mmcr1:0XDC00000CBC8066F0 mmcra:0X00000000
+event:0X0783 mmcr0:0X00000000 mmcr1:0XDC00000CBC8066F0 mmcra:0X00000000
+event:0X0784 mmcr0:0X00000000 mmcr1:0XDC00000CBC8066F0 mmcra:0X00000000
+event:0X0785 mmcr0:0X00000000 mmcr1:0XDC00000CBC8066F0 mmcra:0X00000000
+
+#Group 121 pm_vsu0, VSU Execution
+event:0X0790 mmcr0:0X00000000 mmcr1:0XAAAA00008082989A mmcra:0X00000000
+event:0X0791 mmcr0:0X00000000 mmcr1:0XAAAA00008082989A mmcra:0X00000000
+event:0X0792 mmcr0:0X00000000 mmcr1:0XAAAA00008082989A mmcra:0X00000000
+event:0X0793 mmcr0:0X00000000 mmcr1:0XAAAA00008082989A mmcra:0X00000000
+event:0X0794 mmcr0:0X00000000 mmcr1:0XAAAA00008082989A mmcra:0X00000000
+event:0X0795 mmcr0:0X00000000 mmcr1:0XAAAA00008082989A mmcra:0X00000000
+
+#Group 122 pm_vsu1, VSU Execution
+event:0X07A0 mmcr0:0X00000000 mmcr1:0XAAAA00009C9EA0A2 mmcra:0X00000000
+event:0X07A1 mmcr0:0X00000000 mmcr1:0XAAAA00009C9EA0A2 mmcra:0X00000000
+event:0X07A2 mmcr0:0X00000000 mmcr1:0XAAAA00009C9EA0A2 mmcra:0X00000000
+event:0X07A3 mmcr0:0X00000000 mmcr1:0XAAAA00009C9EA0A2 mmcra:0X00000000
+event:0X07A4 mmcr0:0X00000000 mmcr1:0XAAAA00009C9EA0A2 mmcra:0X00000000
+event:0X07A5 mmcr0:0X00000000 mmcr1:0XAAAA00009C9EA0A2 mmcra:0X00000000
+
+#Group 123 pm_vsu2, VSU Execution
+event:0X07B0 mmcr0:0X00000000 mmcr1:0XAAAA000C988C8C8E mmcra:0X00000000
+event:0X07B1 mmcr0:0X00000000 mmcr1:0XAAAA000C988C8C8E mmcra:0X00000000
+event:0X07B2 mmcr0:0X00000000 mmcr1:0XAAAA000C988C8C8E mmcra:0X00000000
+event:0X07B3 mmcr0:0X00000000 mmcr1:0XAAAA000C988C8C8E mmcra:0X00000000
+event:0X07B4 mmcr0:0X00000000 mmcr1:0XAAAA000C988C8C8E mmcra:0X00000000
+event:0X07B5 mmcr0:0X00000000 mmcr1:0XAAAA000C988C8C8E mmcra:0X00000000
+
+#Group 124 pm_vsu3, VSU Execution
+event:0X07C0 mmcr0:0X00000000 mmcr1:0XAAA0000284868402 mmcra:0X00000000
+event:0X07C1 mmcr0:0X00000000 mmcr1:0XAAA0000284868402 mmcra:0X00000000
+event:0X07C2 mmcr0:0X00000000 mmcr1:0XAAA0000284868402 mmcra:0X00000000
+event:0X07C3 mmcr0:0X00000000 mmcr1:0XAAA0000284868402 mmcra:0X00000000
+event:0X07C4 mmcr0:0X00000000 mmcr1:0XAAA0000284868402 mmcra:0X00000000
+event:0X07C5 mmcr0:0X00000000 mmcr1:0XAAA0000284868402 mmcra:0X00000000
+
+#Group 125 pm_vsu4, VSU Execution
+event:0X07D0 mmcr0:0X00000000 mmcr1:0XAAA0000290929002 mmcra:0X00000000
+event:0X07D1 mmcr0:0X00000000 mmcr1:0XAAA0000290929002 mmcra:0X00000000
+event:0X07D2 mmcr0:0X00000000 mmcr1:0XAAA0000290929002 mmcra:0X00000000
+event:0X07D3 mmcr0:0X00000000 mmcr1:0XAAA0000290929002 mmcra:0X00000000
+event:0X07D4 mmcr0:0X00000000 mmcr1:0XAAA0000290929002 mmcra:0X00000000
+event:0X07D5 mmcr0:0X00000000 mmcr1:0XAAA0000290929002 mmcra:0X00000000
+
+#Group 126 pm_vsu5, VSU Execution
+event:0X07E0 mmcr0:0X00000000 mmcr1:0XBBB0000880808202 mmcra:0X00000000
+event:0X07E1 mmcr0:0X00000000 mmcr1:0XBBB0000880808202 mmcra:0X00000000
+event:0X07E2 mmcr0:0X00000000 mmcr1:0XBBB0000880808202 mmcra:0X00000000
+event:0X07E3 mmcr0:0X00000000 mmcr1:0XBBB0000880808202 mmcra:0X00000000
+event:0X07E4 mmcr0:0X00000000 mmcr1:0XBBB0000880808202 mmcra:0X00000000
+event:0X07E5 mmcr0:0X00000000 mmcr1:0XBBB0000880808202 mmcra:0X00000000
+
+#Group 127 pm_vsu6, VSU Execution
+event:0X07F0 mmcr0:0X00000000 mmcr1:0XAAA00008ACACAE02 mmcra:0X00000000
+event:0X07F1 mmcr0:0X00000000 mmcr1:0XAAA00008ACACAE02 mmcra:0X00000000
+event:0X07F2 mmcr0:0X00000000 mmcr1:0XAAA00008ACACAE02 mmcra:0X00000000
+event:0X07F3 mmcr0:0X00000000 mmcr1:0XAAA00008ACACAE02 mmcra:0X00000000
+event:0X07F4 mmcr0:0X00000000 mmcr1:0XAAA00008ACACAE02 mmcra:0X00000000
+event:0X07F5 mmcr0:0X00000000 mmcr1:0XAAA00008ACACAE02 mmcra:0X00000000
+
+#Group 128 pm_vsu7, VSU Execution
+event:0X0800 mmcr0:0X00000000 mmcr1:0XAAA00008BCBCBE02 mmcra:0X00000000
+event:0X0801 mmcr0:0X00000000 mmcr1:0XAAA00008BCBCBE02 mmcra:0X00000000
+event:0X0802 mmcr0:0X00000000 mmcr1:0XAAA00008BCBCBE02 mmcra:0X00000000
+event:0X0803 mmcr0:0X00000000 mmcr1:0XAAA00008BCBCBE02 mmcra:0X00000000
+event:0X0804 mmcr0:0X00000000 mmcr1:0XAAA00008BCBCBE02 mmcra:0X00000000
+event:0X0805 mmcr0:0X00000000 mmcr1:0XAAA00008BCBCBE02 mmcra:0X00000000
+
+#Group 129 pm_vsu8, VSU Execution
+event:0X0810 mmcr0:0X00000000 mmcr1:0XBBB000088C8C8E02 mmcra:0X00000000
+event:0X0811 mmcr0:0X00000000 mmcr1:0XBBB000088C8C8E02 mmcra:0X00000000
+event:0X0812 mmcr0:0X00000000 mmcr1:0XBBB000088C8C8E02 mmcra:0X00000000
+event:0X0813 mmcr0:0X00000000 mmcr1:0XBBB000088C8C8E02 mmcra:0X00000000
+event:0X0814 mmcr0:0X00000000 mmcr1:0XBBB000088C8C8E02 mmcra:0X00000000
+event:0X0815 mmcr0:0X00000000 mmcr1:0XBBB000088C8C8E02 mmcra:0X00000000
+
+#Group 130 pm_vsu9, VSU Execution
+event:0X0820 mmcr0:0X00000000 mmcr1:0XAAAA0008A8A8AAA4 mmcra:0X00000000
+event:0X0821 mmcr0:0X00000000 mmcr1:0XAAAA0008A8A8AAA4 mmcra:0X00000000
+event:0X0822 mmcr0:0X00000000 mmcr1:0XAAAA0008A8A8AAA4 mmcra:0X00000000
+event:0X0823 mmcr0:0X00000000 mmcr1:0XAAAA0008A8A8AAA4 mmcra:0X00000000
+event:0X0824 mmcr0:0X00000000 mmcr1:0XAAAA0008A8A8AAA4 mmcra:0X00000000
+event:0X0825 mmcr0:0X00000000 mmcr1:0XAAAA0008A8A8AAA4 mmcra:0X00000000
+
+#Group 131 pm_vsu10, VSU Execution
+event:0X0830 mmcr0:0X00000000 mmcr1:0XAAA0000888888A02 mmcra:0X00000000
+event:0X0831 mmcr0:0X00000000 mmcr1:0XAAA0000888888A02 mmcra:0X00000000
+event:0X0832 mmcr0:0X00000000 mmcr1:0XAAA0000888888A02 mmcra:0X00000000
+event:0X0833 mmcr0:0X00000000 mmcr1:0XAAA0000888888A02 mmcra:0X00000000
+event:0X0834 mmcr0:0X00000000 mmcr1:0XAAA0000888888A02 mmcra:0X00000000
+event:0X0835 mmcr0:0X00000000 mmcr1:0XAAA0000888888A02 mmcra:0X00000000
+
+#Group 132 pm_vsu11, VSU Execution
+event:0X0840 mmcr0:0X00000000 mmcr1:0XAAA0000894949602 mmcra:0X00000000
+event:0X0841 mmcr0:0X00000000 mmcr1:0XAAA0000894949602 mmcra:0X00000000
+event:0X0842 mmcr0:0X00000000 mmcr1:0XAAA0000894949602 mmcra:0X00000000
+event:0X0843 mmcr0:0X00000000 mmcr1:0XAAA0000894949602 mmcra:0X00000000
+event:0X0844 mmcr0:0X00000000 mmcr1:0XAAA0000894949602 mmcra:0X00000000
+event:0X0845 mmcr0:0X00000000 mmcr1:0XAAA0000894949602 mmcra:0X00000000
+
+#Group 133 pm_vsu12, VSU Execution
+event:0X0850 mmcr0:0X00000000 mmcr1:0XBBB0000888888A02 mmcra:0X00000000
+event:0X0851 mmcr0:0X00000000 mmcr1:0XBBB0000888888A02 mmcra:0X00000000
+event:0X0852 mmcr0:0X00000000 mmcr1:0XBBB0000888888A02 mmcra:0X00000000
+event:0X0853 mmcr0:0X00000000 mmcr1:0XBBB0000888888A02 mmcra:0X00000000
+event:0X0854 mmcr0:0X00000000 mmcr1:0XBBB0000888888A02 mmcra:0X00000000
+event:0X0855 mmcr0:0X00000000 mmcr1:0XBBB0000888888A02 mmcra:0X00000000
+
+#Group 134 pm_vsu13, VSU Execution
+event:0X0860 mmcr0:0X00000000 mmcr1:0XBBB0000884848602 mmcra:0X00000000
+event:0X0861 mmcr0:0X00000000 mmcr1:0XBBB0000884848602 mmcra:0X00000000
+event:0X0862 mmcr0:0X00000000 mmcr1:0XBBB0000884848602 mmcra:0X00000000
+event:0X0863 mmcr0:0X00000000 mmcr1:0XBBB0000884848602 mmcra:0X00000000
+event:0X0864 mmcr0:0X00000000 mmcr1:0XBBB0000884848602 mmcra:0X00000000
+event:0X0865 mmcr0:0X00000000 mmcr1:0XBBB0000884848602 mmcra:0X00000000
+
+#Group 135 pm_vsu14, VSU Execution
+event:0X0870 mmcr0:0X00000000 mmcr1:0XAAAA000F809CA098 mmcra:0X00000000
+event:0X0871 mmcr0:0X00000000 mmcr1:0XAAAA000F809CA098 mmcra:0X00000000
+event:0X0872 mmcr0:0X00000000 mmcr1:0XAAAA000F809CA098 mmcra:0X00000000
+event:0X0873 mmcr0:0X00000000 mmcr1:0XAAAA000F809CA098 mmcra:0X00000000
+event:0X0874 mmcr0:0X00000000 mmcr1:0XAAAA000F809CA098 mmcra:0X00000000
+event:0X0875 mmcr0:0X00000000 mmcr1:0XAAAA000F809CA098 mmcra:0X00000000
+
+#Group 136 pm_vsu15, VSU Execution
+event:0X0880 mmcr0:0X00000000 mmcr1:0XBBB0000890909C02 mmcra:0X00000000
+event:0X0881 mmcr0:0X00000000 mmcr1:0XBBB0000890909C02 mmcra:0X00000000
+event:0X0882 mmcr0:0X00000000 mmcr1:0XBBB0000890909C02 mmcra:0X00000000
+event:0X0883 mmcr0:0X00000000 mmcr1:0XBBB0000890909C02 mmcra:0X00000000
+event:0X0884 mmcr0:0X00000000 mmcr1:0XBBB0000890909C02 mmcra:0X00000000
+event:0X0885 mmcr0:0X00000000 mmcr1:0XBBB0000890909C02 mmcra:0X00000000
+
+#Group 137 pm_vsu16, VSU Execution
+event:0X0890 mmcr0:0X00000000 mmcr1:0XBBBB0008949496A0 mmcra:0X00000000
+event:0X0891 mmcr0:0X00000000 mmcr1:0XBBBB0008949496A0 mmcra:0X00000000
+event:0X0892 mmcr0:0X00000000 mmcr1:0XBBBB0008949496A0 mmcra:0X00000000
+event:0X0893 mmcr0:0X00000000 mmcr1:0XBBBB0008949496A0 mmcra:0X00000000
+event:0X0894 mmcr0:0X00000000 mmcr1:0XBBBB0008949496A0 mmcra:0X00000000
+event:0X0895 mmcr0:0X00000000 mmcr1:0XBBBB0008949496A0 mmcra:0X00000000
+
+#Group 138 pm_vsu17, VSU Execution
+event:0X08A0 mmcr0:0X00000000 mmcr1:0XBBBB0000989A929E mmcra:0X00000000
+event:0X08A1 mmcr0:0X00000000 mmcr1:0XBBBB0000989A929E mmcra:0X00000000
+event:0X08A2 mmcr0:0X00000000 mmcr1:0XBBBB0000989A929E mmcra:0X00000000
+event:0X08A3 mmcr0:0X00000000 mmcr1:0XBBBB0000989A929E mmcra:0X00000000
+event:0X08A4 mmcr0:0X00000000 mmcr1:0XBBBB0000989A929E mmcra:0X00000000
+event:0X08A5 mmcr0:0X00000000 mmcr1:0XBBBB0000989A929E mmcra:0X00000000
+
+#Group 139 pm_vsu18, VSU Execution
+event:0X08B0 mmcr0:0X00000000 mmcr1:0XAAA00008B0B0B202 mmcra:0X00000000
+event:0X08B1 mmcr0:0X00000000 mmcr1:0XAAA00008B0B0B202 mmcra:0X00000000
+event:0X08B2 mmcr0:0X00000000 mmcr1:0XAAA00008B0B0B202 mmcra:0X00000000
+event:0X08B3 mmcr0:0X00000000 mmcr1:0XAAA00008B0B0B202 mmcra:0X00000000
+event:0X08B4 mmcr0:0X00000000 mmcr1:0XAAA00008B0B0B202 mmcra:0X00000000
+event:0X08B5 mmcr0:0X00000000 mmcr1:0XAAA00008B0B0B202 mmcra:0X00000000
+
+#Group 140 pm_vsu19, VSU Execution
+event:0X08C0 mmcr0:0X00000000 mmcr1:0XAAA00008B4B4B602 mmcra:0X00000000
+event:0X08C1 mmcr0:0X00000000 mmcr1:0XAAA00008B4B4B602 mmcra:0X00000000
+event:0X08C2 mmcr0:0X00000000 mmcr1:0XAAA00008B4B4B602 mmcra:0X00000000
+event:0X08C3 mmcr0:0X00000000 mmcr1:0XAAA00008B4B4B602 mmcra:0X00000000
+event:0X08C4 mmcr0:0X00000000 mmcr1:0XAAA00008B4B4B602 mmcra:0X00000000
+event:0X08C5 mmcr0:0X00000000 mmcr1:0XAAA00008B4B4B602 mmcra:0X00000000
+
+#Group 141 pm_vsu20, VSU Execution
+event:0X08D0 mmcr0:0X00000000 mmcr1:0XAAA00008B8B8BA02 mmcra:0X00000000
+event:0X08D1 mmcr0:0X00000000 mmcr1:0XAAA00008B8B8BA02 mmcra:0X00000000
+event:0X08D2 mmcr0:0X00000000 mmcr1:0XAAA00008B8B8BA02 mmcra:0X00000000
+event:0X08D3 mmcr0:0X00000000 mmcr1:0XAAA00008B8B8BA02 mmcra:0X00000000
+event:0X08D4 mmcr0:0X00000000 mmcr1:0XAAA00008B8B8BA02 mmcra:0X00000000
+event:0X08D5 mmcr0:0X00000000 mmcr1:0XAAA00008B8B8BA02 mmcra:0X00000000
+
+#Group 142 pm_vsu21, VSU Execution
+event:0X08E0 mmcr0:0X00000000 mmcr1:0X000A000168F402BC mmcra:0X00000000
+event:0X08E1 mmcr0:0X00000000 mmcr1:0X000A000168F402BC mmcra:0X00000000
+event:0X08E2 mmcr0:0X00000000 mmcr1:0X000A000168F402BC mmcra:0X00000000
+event:0X08E3 mmcr0:0X00000000 mmcr1:0X000A000168F402BC mmcra:0X00000000
+event:0X08E4 mmcr0:0X00000000 mmcr1:0X000A000168F402BC mmcra:0X00000000
+event:0X08E5 mmcr0:0X00000000 mmcr1:0X000A000168F402BC mmcra:0X00000000
+
+#Group 143 pm_vsu22, VSU Execution
+event:0X08F0 mmcr0:0X00000000 mmcr1:0XCBAA000F848C8480 mmcra:0X00000000
+event:0X08F1 mmcr0:0X00000000 mmcr1:0XCBAA000F848C8480 mmcra:0X00000000
+event:0X08F2 mmcr0:0X00000000 mmcr1:0XCBAA000F848C8480 mmcra:0X00000000
+event:0X08F3 mmcr0:0X00000000 mmcr1:0XCBAA000F848C8480 mmcra:0X00000000
+event:0X08F4 mmcr0:0X00000000 mmcr1:0XCBAA000F848C8480 mmcra:0X00000000
+event:0X08F5 mmcr0:0X00000000 mmcr1:0XCBAA000F848C8480 mmcra:0X00000000
+
+#Group 144 pm_vsu23, VSU Execution
+event:0X0900 mmcr0:0X00000000 mmcr1:0XAAAA000F88BC8480 mmcra:0X00000000
+event:0X0901 mmcr0:0X00000000 mmcr1:0XAAAA000F88BC8480 mmcra:0X00000000
+event:0X0902 mmcr0:0X00000000 mmcr1:0XAAAA000F88BC8480 mmcra:0X00000000
+event:0X0903 mmcr0:0X00000000 mmcr1:0XAAAA000F88BC8480 mmcra:0X00000000
+event:0X0904 mmcr0:0X00000000 mmcr1:0XAAAA000F88BC8480 mmcra:0X00000000
+event:0X0905 mmcr0:0X00000000 mmcr1:0XAAAA000F88BC8480 mmcra:0X00000000
+
+#Group 145 pm_vsu24, VSU Execution
+event:0X0910 mmcr0:0X00000000 mmcr1:0X0AAA0007F4BCB880 mmcra:0X00000000
+event:0X0911 mmcr0:0X00000000 mmcr1:0X0AAA0007F4BCB880 mmcra:0X00000000
+event:0X0912 mmcr0:0X00000000 mmcr1:0X0AAA0007F4BCB880 mmcra:0X00000000
+event:0X0913 mmcr0:0X00000000 mmcr1:0X0AAA0007F4BCB880 mmcra:0X00000000
+event:0X0914 mmcr0:0X00000000 mmcr1:0X0AAA0007F4BCB880 mmcra:0X00000000
+event:0X0915 mmcr0:0X00000000 mmcr1:0X0AAA0007F4BCB880 mmcra:0X00000000
+
+#Group 146 pm_vsu25, VSU Execution
+event:0X0920 mmcr0:0X00000000 mmcr1:0XBAAA000F8CBCB4B0 mmcra:0X00000000
+event:0X0921 mmcr0:0X00000000 mmcr1:0XBAAA000F8CBCB4B0 mmcra:0X00000000
+event:0X0922 mmcr0:0X00000000 mmcr1:0XBAAA000F8CBCB4B0 mmcra:0X00000000
+event:0X0923 mmcr0:0X00000000 mmcr1:0XBAAA000F8CBCB4B0 mmcra:0X00000000
+event:0X0924 mmcr0:0X00000000 mmcr1:0XBAAA000F8CBCB4B0 mmcra:0X00000000
+event:0X0925 mmcr0:0X00000000 mmcr1:0XBAAA000F8CBCB4B0 mmcra:0X00000000
+
+#Group 147 pm_lsu1, LSU LMQ SRQ events
+event:0X0930 mmcr0:0X00000000 mmcr1:0XD0000000A43E1C08 mmcra:0X00000000
+event:0X0931 mmcr0:0X00000000 mmcr1:0XD0000000A43E1C08 mmcra:0X00000000
+event:0X0932 mmcr0:0X00000000 mmcr1:0XD0000000A43E1C08 mmcra:0X00000000
+event:0X0933 mmcr0:0X00000000 mmcr1:0XD0000000A43E1C08 mmcra:0X00000000
+event:0X0934 mmcr0:0X00000000 mmcr1:0XD0000000A43E1C08 mmcra:0X00000000
+event:0X0935 mmcr0:0X00000000 mmcr1:0XD0000000A43E1C08 mmcra:0X00000000
+
+#Group 148 pm_lsu2, LSU events
+event:0X0940 mmcr0:0X00000000 mmcr1:0X0C0200006690668E mmcra:0X00000000
+event:0X0941 mmcr0:0X00000000 mmcr1:0X0C0200006690668E mmcra:0X00000000
+event:0X0942 mmcr0:0X00000000 mmcr1:0X0C0200006690668E mmcra:0X00000000
+event:0X0943 mmcr0:0X00000000 mmcr1:0X0C0200006690668E mmcra:0X00000000
+event:0X0944 mmcr0:0X00000000 mmcr1:0X0C0200006690668E mmcra:0X00000000
+event:0X0945 mmcr0:0X00000000 mmcr1:0X0C0200006690668E mmcra:0X00000000
+
+#Group 149 pm_lsu_lmq, LSU LMQ Events
+event:0X0950 mmcr0:0X00000000 mmcr1:0XDDDD0000989AA0A4 mmcra:0X00000000
+event:0X0951 mmcr0:0X00000000 mmcr1:0XDDDD0000989AA0A4 mmcra:0X00000000
+event:0X0952 mmcr0:0X00000000 mmcr1:0XDDDD0000989AA0A4 mmcra:0X00000000
+event:0X0953 mmcr0:0X00000000 mmcr1:0XDDDD0000989AA0A4 mmcra:0X00000000
+event:0X0954 mmcr0:0X00000000 mmcr1:0XDDDD0000989AA0A4 mmcra:0X00000000
+event:0X0955 mmcr0:0X00000000 mmcr1:0XDDDD0000989AA0A4 mmcra:0X00000000
+
+#Group 150 pm_lsu_srq1, Store Request Queue Info
+event:0X0960 mmcr0:0X00000000 mmcr1:0XCCC00008A0A0A202 mmcra:0X00000000
+event:0X0961 mmcr0:0X00000000 mmcr1:0XCCC00008A0A0A202 mmcra:0X00000000
+event:0X0962 mmcr0:0X00000000 mmcr1:0XCCC00008A0A0A202 mmcra:0X00000000
+event:0X0963 mmcr0:0X00000000 mmcr1:0XCCC00008A0A0A202 mmcra:0X00000000
+event:0X0964 mmcr0:0X00000000 mmcr1:0XCCC00008A0A0A202 mmcra:0X00000000
+event:0X0965 mmcr0:0X00000000 mmcr1:0XCCC00008A0A0A202 mmcra:0X00000000
+
+#Group 151 pm_lsu_srq2, Store Request Queue Info
+event:0X0970 mmcr0:0X00000000 mmcr1:0XDDD0000096979C02 mmcra:0X00000000
+event:0X0971 mmcr0:0X00000000 mmcr1:0XDDD0000096979C02 mmcra:0X00000000
+event:0X0972 mmcr0:0X00000000 mmcr1:0XDDD0000096979C02 mmcra:0X00000000
+event:0X0973 mmcr0:0X00000000 mmcr1:0XDDD0000096979C02 mmcra:0X00000000
+event:0X0974 mmcr0:0X00000000 mmcr1:0XDDD0000096979C02 mmcra:0X00000000
+event:0X0975 mmcr0:0X00000000 mmcr1:0XDDD0000096979C02 mmcra:0X00000000
+
+#Group 152 pm_lsu_s0_valid, LSU Events
+event:0X0980 mmcr0:0X00000000 mmcr1:0XDDD000009C9EA002 mmcra:0X00000000
+event:0X0981 mmcr0:0X00000000 mmcr1:0XDDD000009C9EA002 mmcra:0X00000000
+event:0X0982 mmcr0:0X00000000 mmcr1:0XDDD000009C9EA002 mmcra:0X00000000
+event:0X0983 mmcr0:0X00000000 mmcr1:0XDDD000009C9EA002 mmcra:0X00000000
+event:0X0984 mmcr0:0X00000000 mmcr1:0XDDD000009C9EA002 mmcra:0X00000000
+event:0X0985 mmcr0:0X00000000 mmcr1:0XDDD000009C9EA002 mmcra:0X00000000
+
+#Group 153 pm_lsu_s0_alloc, LSU Events
+event:0X0990 mmcr0:0X00000000 mmcr1:0XDDD00000A19F9D02 mmcra:0X00000000
+event:0X0991 mmcr0:0X00000000 mmcr1:0XDDD00000A19F9D02 mmcra:0X00000000
+event:0X0992 mmcr0:0X00000000 mmcr1:0XDDD00000A19F9D02 mmcra:0X00000000
+event:0X0993 mmcr0:0X00000000 mmcr1:0XDDD00000A19F9D02 mmcra:0X00000000
+event:0X0994 mmcr0:0X00000000 mmcr1:0XDDD00000A19F9D02 mmcra:0X00000000
+event:0X0995 mmcr0:0X00000000 mmcr1:0XDDD00000A19F9D02 mmcra:0X00000000
+
+#Group 154 pm_l1_pref, L1 pref Events
+event:0X09A0 mmcr0:0X00000000 mmcr1:0XDDD00008B8B8BA02 mmcra:0X00000000
+event:0X09A1 mmcr0:0X00000000 mmcr1:0XDDD00008B8B8BA02 mmcra:0X00000000
+event:0X09A2 mmcr0:0X00000000 mmcr1:0XDDD00008B8B8BA02 mmcra:0X00000000
+event:0X09A3 mmcr0:0X00000000 mmcr1:0XDDD00008B8B8BA02 mmcra:0X00000000
+event:0X09A4 mmcr0:0X00000000 mmcr1:0XDDD00008B8B8BA02 mmcra:0X00000000
+event:0X09A5 mmcr0:0X00000000 mmcr1:0XDDD00008B8B8BA02 mmcra:0X00000000
+
+#Group 155 pm_l2_guess_1, L2_Guess_events
+event:0X09B0 mmcr0:0X00000000 mmcr1:0X6600800080801E02 mmcra:0X00000000
+event:0X09B1 mmcr0:0X00000000 mmcr1:0X6600800080801E02 mmcra:0X00000000
+event:0X09B2 mmcr0:0X00000000 mmcr1:0X6600800080801E02 mmcra:0X00000000
+event:0X09B3 mmcr0:0X00000000 mmcr1:0X6600800080801E02 mmcra:0X00000000
+event:0X09B4 mmcr0:0X00000000 mmcr1:0X6600800080801E02 mmcra:0X00000000
+event:0X09B5 mmcr0:0X00000000 mmcr1:0X6600800080801E02 mmcra:0X00000000
+
+#Group 156 pm_l2_guess_2, L2_Guess_events
+event:0X09C0 mmcr0:0X00000000 mmcr1:0X6600800082821E02 mmcra:0X00000000
+event:0X09C1 mmcr0:0X00000000 mmcr1:0X6600800082821E02 mmcra:0X00000000
+event:0X09C2 mmcr0:0X00000000 mmcr1:0X6600800082821E02 mmcra:0X00000000
+event:0X09C3 mmcr0:0X00000000 mmcr1:0X6600800082821E02 mmcra:0X00000000
+event:0X09C4 mmcr0:0X00000000 mmcr1:0X6600800082821E02 mmcra:0X00000000
+event:0X09C5 mmcr0:0X00000000 mmcr1:0X6600800082821E02 mmcra:0X00000000
+
+#Group 157 pm_misc1, Misc events
+event:0X09D0 mmcr0:0X00000000 mmcr1:0X04000000F0801602 mmcra:0X00000000
+event:0X09D1 mmcr0:0X00000000 mmcr1:0X04000000F0801602 mmcra:0X00000000
+event:0X09D2 mmcr0:0X00000000 mmcr1:0X04000000F0801602 mmcra:0X00000000
+event:0X09D3 mmcr0:0X00000000 mmcr1:0X04000000F0801602 mmcra:0X00000000
+event:0X09D4 mmcr0:0X00000000 mmcr1:0X04000000F0801602 mmcra:0X00000000
+event:0X09D5 mmcr0:0X00000000 mmcr1:0X04000000F0801602 mmcra:0X00000000
+
+#Group 158 pm_misc2, Misc events
+event:0X09E0 mmcr0:0X00000000 mmcr1:0X2000000080F8F81E mmcra:0X00000000
+event:0X09E1 mmcr0:0X00000000 mmcr1:0X2000000080F8F81E mmcra:0X00000000
+event:0X09E2 mmcr0:0X00000000 mmcr1:0X2000000080F8F81E mmcra:0X00000000
+event:0X09E3 mmcr0:0X00000000 mmcr1:0X2000000080F8F81E mmcra:0X00000000
+event:0X09E4 mmcr0:0X00000000 mmcr1:0X2000000080F8F81E mmcra:0X00000000
+event:0X09E5 mmcr0:0X00000000 mmcr1:0X2000000080F8F81E mmcra:0X00000000
+
+#Group 159 pm_misc3, Misc events
+event:0X09F0 mmcr0:0X00000000 mmcr1:0X00000000F20AF2F2 mmcra:0X00000000
+event:0X09F1 mmcr0:0X00000000 mmcr1:0X00000000F20AF2F2 mmcra:0X00000000
+event:0X09F2 mmcr0:0X00000000 mmcr1:0X00000000F20AF2F2 mmcra:0X00000000
+event:0X09F3 mmcr0:0X00000000 mmcr1:0X00000000F20AF2F2 mmcra:0X00000000
+event:0X09F4 mmcr0:0X00000000 mmcr1:0X00000000F20AF2F2 mmcra:0X00000000
+event:0X09F5 mmcr0:0X00000000 mmcr1:0X00000000F20AF2F2 mmcra:0X00000000
+
+#Group 160 pm_misc4, Misc events
+event:0X0A00 mmcr0:0X00000000 mmcr1:0X000000000C1A1E1C mmcra:0X00000000
+event:0X0A01 mmcr0:0X00000000 mmcr1:0X000000000C1A1E1C mmcra:0X00000000
+event:0X0A02 mmcr0:0X00000000 mmcr1:0X000000000C1A1E1C mmcra:0X00000000
+event:0X0A03 mmcr0:0X00000000 mmcr1:0X000000000C1A1E1C mmcra:0X00000000
+event:0X0A04 mmcr0:0X00000000 mmcr1:0X000000000C1A1E1C mmcra:0X00000000
+event:0X0A05 mmcr0:0X00000000 mmcr1:0X000000000C1A1E1C mmcra:0X00000000
+
+#Group 161 pm_misc5, Misc events
+event:0X0A10 mmcr0:0X00000000 mmcr1:0X044000040AAEA4F6 mmcra:0X00000000
+event:0X0A11 mmcr0:0X00000000 mmcr1:0X044000040AAEA4F6 mmcra:0X00000000
+event:0X0A12 mmcr0:0X00000000 mmcr1:0X044000040AAEA4F6 mmcra:0X00000000
+event:0X0A13 mmcr0:0X00000000 mmcr1:0X044000040AAEA4F6 mmcra:0X00000000
+event:0X0A14 mmcr0:0X00000000 mmcr1:0X044000040AAEA4F6 mmcra:0X00000000
+event:0X0A15 mmcr0:0X00000000 mmcr1:0X044000040AAEA4F6 mmcra:0X00000000
+
+#Group 162 pm_misc6, Misc events
+event:0X0A20 mmcr0:0X00000000 mmcr1:0X444000028C8E8C02 mmcra:0X00000000
+event:0X0A21 mmcr0:0X00000000 mmcr1:0X444000028C8E8C02 mmcra:0X00000000
+event:0X0A22 mmcr0:0X00000000 mmcr1:0X444000028C8E8C02 mmcra:0X00000000
+event:0X0A23 mmcr0:0X00000000 mmcr1:0X444000028C8E8C02 mmcra:0X00000000
+event:0X0A24 mmcr0:0X00000000 mmcr1:0X444000028C8E8C02 mmcra:0X00000000
+event:0X0A25 mmcr0:0X00000000 mmcr1:0X444000028C8E8C02 mmcra:0X00000000
+
+#Group 163 pm_misc7, Misc events
+event:0X0A30 mmcr0:0X00000000 mmcr1:0X00000000380A1E66 mmcra:0X00000000
+event:0X0A31 mmcr0:0X00000000 mmcr1:0X00000000380A1E66 mmcra:0X00000000
+event:0X0A32 mmcr0:0X00000000 mmcr1:0X00000000380A1E66 mmcra:0X00000000
+event:0X0A33 mmcr0:0X00000000 mmcr1:0X00000000380A1E66 mmcra:0X00000000
+event:0X0A34 mmcr0:0X00000000 mmcr1:0X00000000380A1E66 mmcra:0X00000000
+event:0X0A35 mmcr0:0X00000000 mmcr1:0X00000000380A1E66 mmcra:0X00000000
+
+#Group 164 pm_misc8, Misc events
+event:0X0A40 mmcr0:0X00000000 mmcr1:0X40000000A6F8F6F6 mmcra:0X00000000
+event:0X0A41 mmcr0:0X00000000 mmcr1:0X40000000A6F8F6F6 mmcra:0X00000000
+event:0X0A42 mmcr0:0X00000000 mmcr1:0X40000000A6F8F6F6 mmcra:0X00000000
+event:0X0A43 mmcr0:0X00000000 mmcr1:0X40000000A6F8F6F6 mmcra:0X00000000
+event:0X0A44 mmcr0:0X00000000 mmcr1:0X40000000A6F8F6F6 mmcra:0X00000000
+event:0X0A45 mmcr0:0X00000000 mmcr1:0X40000000A6F8F6F6 mmcra:0X00000000
+
+#Group 165 pm_misc9, Misc events
+event:0X0A50 mmcr0:0X00000000 mmcr1:0X22C000008486A8F6 mmcra:0X00000000
+event:0X0A51 mmcr0:0X00000000 mmcr1:0X22C000008486A8F6 mmcra:0X00000000
+event:0X0A52 mmcr0:0X00000000 mmcr1:0X22C000008486A8F6 mmcra:0X00000000
+event:0X0A53 mmcr0:0X00000000 mmcr1:0X22C000008486A8F6 mmcra:0X00000000
+event:0X0A54 mmcr0:0X00000000 mmcr1:0X22C000008486A8F6 mmcra:0X00000000
+event:0X0A55 mmcr0:0X00000000 mmcr1:0X22C000008486A8F6 mmcra:0X00000000
+
+#Group 166 pm_misc10, Misc events
+event:0X0A60 mmcr0:0X00000000 mmcr1:0X0DD400061AA8B884 mmcra:0X00000000
+event:0X0A61 mmcr0:0X00000000 mmcr1:0X0DD400061AA8B884 mmcra:0X00000000
+event:0X0A62 mmcr0:0X00000000 mmcr1:0X0DD400061AA8B884 mmcra:0X00000000
+event:0X0A63 mmcr0:0X00000000 mmcr1:0X0DD400061AA8B884 mmcra:0X00000000
+event:0X0A64 mmcr0:0X00000000 mmcr1:0X0DD400061AA8B884 mmcra:0X00000000
+event:0X0A65 mmcr0:0X00000000 mmcr1:0X0DD400061AA8B884 mmcra:0X00000000
+
+#Group 167 pm_misc11, Misc events
+event:0X0A70 mmcr0:0X00000000 mmcr1:0X00000000F41E0402 mmcra:0X00000000
+event:0X0A71 mmcr0:0X00000000 mmcr1:0X00000000F41E0402 mmcra:0X00000000
+event:0X0A72 mmcr0:0X00000000 mmcr1:0X00000000F41E0402 mmcra:0X00000000
+event:0X0A73 mmcr0:0X00000000 mmcr1:0X00000000F41E0402 mmcra:0X00000000
+event:0X0A74 mmcr0:0X00000000 mmcr1:0X00000000F41E0402 mmcra:0X00000000
+event:0X0A75 mmcr0:0X00000000 mmcr1:0X00000000F41E0402 mmcra:0X00000000
+
+#Group 168 pm_misc_12, Misc Events
+event:0X0A80 mmcr0:0X00000000 mmcr1:0X0000000002F0F8F8 mmcra:0X00000000
+event:0X0A81 mmcr0:0X00000000 mmcr1:0X0000000002F0F8F8 mmcra:0X00000000
+event:0X0A82 mmcr0:0X00000000 mmcr1:0X0000000002F0F8F8 mmcra:0X00000000
+event:0X0A83 mmcr0:0X00000000 mmcr1:0X0000000002F0F8F8 mmcra:0X00000000
+event:0X0A84 mmcr0:0X00000000 mmcr1:0X0000000002F0F8F8 mmcra:0X00000000
+event:0X0A85 mmcr0:0X00000000 mmcr1:0X0000000002F0F8F8 mmcra:0X00000000
+
+#Group 169 pm_misc_13, Misc Events
+event:0X0A90 mmcr0:0X00000000 mmcr1:0X00000000F8F0FCF6 mmcra:0X00000000
+event:0X0A91 mmcr0:0X00000000 mmcr1:0X00000000F8F0FCF6 mmcra:0X00000000
+event:0X0A92 mmcr0:0X00000000 mmcr1:0X00000000F8F0FCF6 mmcra:0X00000000
+event:0X0A93 mmcr0:0X00000000 mmcr1:0X00000000F8F0FCF6 mmcra:0X00000000
+event:0X0A94 mmcr0:0X00000000 mmcr1:0X00000000F8F0FCF6 mmcra:0X00000000
+event:0X0A95 mmcr0:0X00000000 mmcr1:0X00000000F8F0FCF6 mmcra:0X00000000
+
+#Group 170 pm_misc_14, Misc Events
+event:0X0AA0 mmcr0:0X00000000 mmcr1:0X000000001E1E0266 mmcra:0X00000000
+event:0X0AA1 mmcr0:0X00000000 mmcr1:0X000000001E1E0266 mmcra:0X00000000
+event:0X0AA2 mmcr0:0X00000000 mmcr1:0X000000001E1E0266 mmcra:0X00000000
+event:0X0AA3 mmcr0:0X00000000 mmcr1:0X000000001E1E0266 mmcra:0X00000000
+event:0X0AA4 mmcr0:0X00000000 mmcr1:0X000000001E1E0266 mmcra:0X00000000
+event:0X0AA5 mmcr0:0X00000000 mmcr1:0X000000001E1E0266 mmcra:0X00000000
+
+#Group 171 pm_misc_15, Misc Events
+event:0X0AB0 mmcr0:0X00000000 mmcr1:0XD0000000A24AF64A mmcra:0X00000000
+event:0X0AB1 mmcr0:0X00000000 mmcr1:0XD0000000A24AF64A mmcra:0X00000000
+event:0X0AB2 mmcr0:0X00000000 mmcr1:0XD0000000A24AF64A mmcra:0X00000000
+event:0X0AB3 mmcr0:0X00000000 mmcr1:0XD0000000A24AF64A mmcra:0X00000000
+event:0X0AB4 mmcr0:0X00000000 mmcr1:0XD0000000A24AF64A mmcra:0X00000000
+event:0X0AB5 mmcr0:0X00000000 mmcr1:0XD0000000A24AF64A mmcra:0X00000000
+
+#Group 172 pm_misc_16, Misc Events
+event:0X0AC0 mmcr0:0X00000000 mmcr1:0X0CC00000289C9E4C mmcra:0X00000000
+event:0X0AC1 mmcr0:0X00000000 mmcr1:0X0CC00000289C9E4C mmcra:0X00000000
+event:0X0AC2 mmcr0:0X00000000 mmcr1:0X0CC00000289C9E4C mmcra:0X00000000
+event:0X0AC3 mmcr0:0X00000000 mmcr1:0X0CC00000289C9E4C mmcra:0X00000000
+event:0X0AC4 mmcr0:0X00000000 mmcr1:0X0CC00000289C9E4C mmcra:0X00000000
+event:0X0AC5 mmcr0:0X00000000 mmcr1:0X0CC00000289C9E4C mmcra:0X00000000
+
+#Group 173 pm_misc_17, Misc Events
+event:0X0AD0 mmcr0:0X00000000 mmcr1:0X00D0000068F0544E mmcra:0X00000000
+event:0X0AD1 mmcr0:0X00000000 mmcr1:0X00D0000068F0544E mmcra:0X00000000
+event:0X0AD2 mmcr0:0X00000000 mmcr1:0X00D0000068F0544E mmcra:0X00000000
+event:0X0AD3 mmcr0:0X00000000 mmcr1:0X00D0000068F0544E mmcra:0X00000000
+event:0X0AD4 mmcr0:0X00000000 mmcr1:0X00D0000068F0544E mmcra:0X00000000
+event:0X0AD5 mmcr0:0X00000000 mmcr1:0X00D0000068F0544E mmcra:0X00000000
+
+#Group 174 pm_suspend, SUSPENDED events
+event:0X0AE0 mmcr0:0X00000000 mmcr1:0X00D00000001E9402 mmcra:0X00000000
+event:0X0AE1 mmcr0:0X00000000 mmcr1:0X00D00000001E9402 mmcra:0X00000000
+event:0X0AE2 mmcr0:0X00000000 mmcr1:0X00D00000001E9402 mmcra:0X00000000
+event:0X0AE3 mmcr0:0X00000000 mmcr1:0X00D00000001E9402 mmcra:0X00000000
+event:0X0AE4 mmcr0:0X00000000 mmcr1:0X00D00000001E9402 mmcra:0X00000000
+event:0X0AE5 mmcr0:0X00000000 mmcr1:0X00D00000001E9402 mmcra:0X00000000
+
+#Group 175 pm_iops, Internal Operations events
+event:0X0AF0 mmcr0:0X00000000 mmcr1:0X00000000141E1402 mmcra:0X00000000
+event:0X0AF1 mmcr0:0X00000000 mmcr1:0X00000000141E1402 mmcra:0X00000000
+event:0X0AF2 mmcr0:0X00000000 mmcr1:0X00000000141E1402 mmcra:0X00000000
+event:0X0AF3 mmcr0:0X00000000 mmcr1:0X00000000141E1402 mmcra:0X00000000
+event:0X0AF4 mmcr0:0X00000000 mmcr1:0X00000000141E1402 mmcra:0X00000000
+event:0X0AF5 mmcr0:0X00000000 mmcr1:0X00000000141E1402 mmcra:0X00000000
+
+#Group 176 pm_sync, sync
+event:0X0B00 mmcr0:0X00000000 mmcr1:0XD0200000941E9A02 mmcra:0X00000000
+event:0X0B01 mmcr0:0X00000000 mmcr1:0XD0200000941E9A02 mmcra:0X00000000
+event:0X0B02 mmcr0:0X00000000 mmcr1:0XD0200000941E9A02 mmcra:0X00000000
+event:0X0B03 mmcr0:0X00000000 mmcr1:0XD0200000941E9A02 mmcra:0X00000000
+event:0X0B04 mmcr0:0X00000000 mmcr1:0XD0200000941E9A02 mmcra:0X00000000
+event:0X0B05 mmcr0:0X00000000 mmcr1:0XD0200000941E9A02 mmcra:0X00000000
+
+#Group 177 pm_seg, Segment events
+event:0X0B10 mmcr0:0X00000000 mmcr1:0X022200041EA4A4A6 mmcra:0X00000000
+event:0X0B11 mmcr0:0X00000000 mmcr1:0X022200041EA4A4A6 mmcra:0X00000000
+event:0X0B12 mmcr0:0X00000000 mmcr1:0X022200041EA4A4A6 mmcra:0X00000000
+event:0X0B13 mmcr0:0X00000000 mmcr1:0X022200041EA4A4A6 mmcra:0X00000000
+event:0X0B14 mmcr0:0X00000000 mmcr1:0X022200041EA4A4A6 mmcra:0X00000000
+event:0X0B15 mmcr0:0X00000000 mmcr1:0X022200041EA4A4A6 mmcra:0X00000000
+
+#Group 178 pm_l3_hit, L3 Hit Events
+event:0X0B20 mmcr0:0X00000000 mmcr1:0XFFFF000080808082 mmcra:0X00000000
+event:0X0B21 mmcr0:0X00000000 mmcr1:0XFFFF000080808082 mmcra:0X00000000
+event:0X0B22 mmcr0:0X00000000 mmcr1:0XFFFF000080808082 mmcra:0X00000000
+event:0X0B23 mmcr0:0X00000000 mmcr1:0XFFFF000080808082 mmcra:0X00000000
+event:0X0B24 mmcr0:0X00000000 mmcr1:0XFFFF000080808082 mmcra:0X00000000
+event:0X0B25 mmcr0:0X00000000 mmcr1:0XFFFF000080808082 mmcra:0X00000000
+
+#Group 179 pm_shl, Shell Events
+event:0X0B30 mmcr0:0X00000000 mmcr1:0X5555000080828486 mmcra:0X00000000
+event:0X0B31 mmcr0:0X00000000 mmcr1:0X5555000080828486 mmcra:0X00000000
+event:0X0B32 mmcr0:0X00000000 mmcr1:0X5555000080828486 mmcra:0X00000000
+event:0X0B33 mmcr0:0X00000000 mmcr1:0X5555000080828486 mmcra:0X00000000
+event:0X0B34 mmcr0:0X00000000 mmcr1:0X5555000080828486 mmcra:0X00000000
+event:0X0B35 mmcr0:0X00000000 mmcr1:0X5555000080828486 mmcra:0X00000000
+
+#Group 180 pm_l3_pref, L3 Prefetch events
+event:0X0B40 mmcr0:0X00000000 mmcr1:0XDDDD0003ACAEACB8 mmcra:0X00000000
+event:0X0B41 mmcr0:0X00000000 mmcr1:0XDDDD0003ACAEACB8 mmcra:0X00000000
+event:0X0B42 mmcr0:0X00000000 mmcr1:0XDDDD0003ACAEACB8 mmcra:0X00000000
+event:0X0B43 mmcr0:0X00000000 mmcr1:0XDDDD0003ACAEACB8 mmcra:0X00000000
+event:0X0B44 mmcr0:0X00000000 mmcr1:0XDDDD0003ACAEACB8 mmcra:0X00000000
+event:0X0B45 mmcr0:0X00000000 mmcr1:0XDDDD0003ACAEACB8 mmcra:0X00000000
+
+#Group 181 pm_l3, L3 events
+event:0X0B50 mmcr0:0X00000000 mmcr1:0XFFFF000082828280 mmcra:0X00000000
+event:0X0B51 mmcr0:0X00000000 mmcr1:0XFFFF000082828280 mmcra:0X00000000
+event:0X0B52 mmcr0:0X00000000 mmcr1:0XFFFF000082828280 mmcra:0X00000000
+event:0X0B53 mmcr0:0X00000000 mmcr1:0XFFFF000082828280 mmcra:0X00000000
+event:0X0B54 mmcr0:0X00000000 mmcr1:0XFFFF000082828280 mmcra:0X00000000
+event:0X0B55 mmcr0:0X00000000 mmcr1:0XFFFF000082828280 mmcra:0X00000000
+
+#Group 182 pm_streams1, Streams
+event:0X0B60 mmcr0:0X00000000 mmcr1:0X0DDD00041EB4B4B6 mmcra:0X00000000
+event:0X0B61 mmcr0:0X00000000 mmcr1:0X0DDD00041EB4B4B6 mmcra:0X00000000
+event:0X0B62 mmcr0:0X00000000 mmcr1:0X0DDD00041EB4B4B6 mmcra:0X00000000
+event:0X0B63 mmcr0:0X00000000 mmcr1:0X0DDD00041EB4B4B6 mmcra:0X00000000
+event:0X0B64 mmcr0:0X00000000 mmcr1:0X0DDD00041EB4B4B6 mmcra:0X00000000
+event:0X0B65 mmcr0:0X00000000 mmcr1:0X0DDD00041EB4B4B6 mmcra:0X00000000
+
+#Group 183 pm_streams2, Streams
+event:0X0B70 mmcr0:0X00000000 mmcr1:0X0DDD00041EBCBCBE mmcra:0X00000000
+event:0X0B71 mmcr0:0X00000000 mmcr1:0X0DDD00041EBCBCBE mmcra:0X00000000
+event:0X0B72 mmcr0:0X00000000 mmcr1:0X0DDD00041EBCBCBE mmcra:0X00000000
+event:0X0B73 mmcr0:0X00000000 mmcr1:0X0DDD00041EBCBCBE mmcra:0X00000000
+event:0X0B74 mmcr0:0X00000000 mmcr1:0X0DDD00041EBCBCBE mmcra:0X00000000
+event:0X0B75 mmcr0:0X00000000 mmcr1:0X0DDD00041EBCBCBE mmcra:0X00000000
+
+#Group 184 pm_streams3, Streams
+event:0X0B80 mmcr0:0X00000000 mmcr1:0XDDDD0004B0A8A8AA mmcra:0X00000000
+event:0X0B81 mmcr0:0X00000000 mmcr1:0XDDDD0004B0A8A8AA mmcra:0X00000000
+event:0X0B82 mmcr0:0X00000000 mmcr1:0XDDDD0004B0A8A8AA mmcra:0X00000000
+event:0X0B83 mmcr0:0X00000000 mmcr1:0XDDDD0004B0A8A8AA mmcra:0X00000000
+event:0X0B84 mmcr0:0X00000000 mmcr1:0XDDDD0004B0A8A8AA mmcra:0X00000000
+event:0X0B85 mmcr0:0X00000000 mmcr1:0XDDDD0004B0A8A8AA mmcra:0X00000000
+
+#Group 185 pm_larx, LARX
+event:0X0B90 mmcr0:0X00000000 mmcr1:0XCC0C000194961E94 mmcra:0X00000000
+event:0X0B91 mmcr0:0X00000000 mmcr1:0XCC0C000194961E94 mmcra:0X00000000
+event:0X0B92 mmcr0:0X00000000 mmcr1:0XCC0C000194961E94 mmcra:0X00000000
+event:0X0B93 mmcr0:0X00000000 mmcr1:0XCC0C000194961E94 mmcra:0X00000000
+event:0X0B94 mmcr0:0X00000000 mmcr1:0XCC0C000194961E94 mmcra:0X00000000
+event:0X0B95 mmcr0:0X00000000 mmcr1:0XCC0C000194961E94 mmcra:0X00000000
+
+#Group 186 pm_ldf, Floating Point loads
+event:0X0BA0 mmcr0:0X00000000 mmcr1:0X0CCC00041E848486 mmcra:0X00000000
+event:0X0BA1 mmcr0:0X00000000 mmcr1:0X0CCC00041E848486 mmcra:0X00000000
+event:0X0BA2 mmcr0:0X00000000 mmcr1:0X0CCC00041E848486 mmcra:0X00000000
+event:0X0BA3 mmcr0:0X00000000 mmcr1:0X0CCC00041E848486 mmcra:0X00000000
+event:0X0BA4 mmcr0:0X00000000 mmcr1:0X0CCC00041E848486 mmcra:0X00000000
+event:0X0BA5 mmcr0:0X00000000 mmcr1:0X0CCC00041E848486 mmcra:0X00000000
+
+#Group 187 pm_ldx, Vector Load
+event:0X0BB0 mmcr0:0X00000000 mmcr1:0X0CCC00041E88888A mmcra:0X00000000
+event:0X0BB1 mmcr0:0X00000000 mmcr1:0X0CCC00041E88888A mmcra:0X00000000
+event:0X0BB2 mmcr0:0X00000000 mmcr1:0X0CCC00041E88888A mmcra:0X00000000
+event:0X0BB3 mmcr0:0X00000000 mmcr1:0X0CCC00041E88888A mmcra:0X00000000
+event:0X0BB4 mmcr0:0X00000000 mmcr1:0X0CCC00041E88888A mmcra:0X00000000
+event:0X0BB5 mmcr0:0X00000000 mmcr1:0X0CCC00041E88888A mmcra:0X00000000
+
+#Group 188 pm_l2_ld_st, L2 load and store events
+event:0X0BC0 mmcr0:0X00000000 mmcr1:0X66F000008082801E mmcra:0X00000000
+event:0X0BC1 mmcr0:0X00000000 mmcr1:0X66F000008082801E mmcra:0X00000000
+event:0X0BC2 mmcr0:0X00000000 mmcr1:0X66F000008082801E mmcra:0X00000000
+event:0X0BC3 mmcr0:0X00000000 mmcr1:0X66F000008082801E mmcra:0X00000000
+event:0X0BC4 mmcr0:0X00000000 mmcr1:0X66F000008082801E mmcra:0X00000000
+event:0X0BC5 mmcr0:0X00000000 mmcr1:0X66F000008082801E mmcra:0X00000000
+
+#Group 189 pm_stcx, STCX
+event:0X0BD0 mmcr0:0X00000000 mmcr1:0XCCCC000C94AC989A mmcra:0X00000000
+event:0X0BD1 mmcr0:0X00000000 mmcr1:0XCCCC000C94AC989A mmcra:0X00000000
+event:0X0BD2 mmcr0:0X00000000 mmcr1:0XCCCC000C94AC989A mmcra:0X00000000
+event:0X0BD3 mmcr0:0X00000000 mmcr1:0XCCCC000C94AC989A mmcra:0X00000000
+event:0X0BD4 mmcr0:0X00000000 mmcr1:0XCCCC000C94AC989A mmcra:0X00000000
+event:0X0BD5 mmcr0:0X00000000 mmcr1:0XCCCC000C94AC989A mmcra:0X00000000
+
+#Group 190 pm_btac, BTAC
+event:0X0BE0 mmcr0:0X00000000 mmcr1:0X55CC00008A88989A mmcra:0X00000000
+event:0X0BE1 mmcr0:0X00000000 mmcr1:0X55CC00008A88989A mmcra:0X00000000
+event:0X0BE2 mmcr0:0X00000000 mmcr1:0X55CC00008A88989A mmcra:0X00000000
+event:0X0BE3 mmcr0:0X00000000 mmcr1:0X55CC00008A88989A mmcra:0X00000000
+event:0X0BE4 mmcr0:0X00000000 mmcr1:0X55CC00008A88989A mmcra:0X00000000
+event:0X0BE5 mmcr0:0X00000000 mmcr1:0X55CC00008A88989A mmcra:0X00000000
+
+#Group 191 pm_br_bc, Branch BC events
+event:0X0BF0 mmcr0:0X00000000 mmcr1:0X44000000B8BA1E02 mmcra:0X00000000
+event:0X0BF1 mmcr0:0X00000000 mmcr1:0X44000000B8BA1E02 mmcra:0X00000000
+event:0X0BF2 mmcr0:0X00000000 mmcr1:0X44000000B8BA1E02 mmcra:0X00000000
+event:0X0BF3 mmcr0:0X00000000 mmcr1:0X44000000B8BA1E02 mmcra:0X00000000
+event:0X0BF4 mmcr0:0X00000000 mmcr1:0X44000000B8BA1E02 mmcra:0X00000000
+event:0X0BF5 mmcr0:0X00000000 mmcr1:0X44000000B8BA1E02 mmcra:0X00000000
+
+#Group 192 pm_inst_imc, inst imc events
+event:0X0C00 mmcr0:0X00000000 mmcr1:0X00000000F0F21602 mmcra:0X00000000
+event:0X0C01 mmcr0:0X00000000 mmcr1:0X00000000F0F21602 mmcra:0X00000000
+event:0X0C02 mmcr0:0X00000000 mmcr1:0X00000000F0F21602 mmcra:0X00000000
+event:0X0C03 mmcr0:0X00000000 mmcr1:0X00000000F0F21602 mmcra:0X00000000
+event:0X0C04 mmcr0:0X00000000 mmcr1:0X00000000F0F21602 mmcra:0X00000000
+event:0X0C05 mmcr0:0X00000000 mmcr1:0X00000000F0F21602 mmcra:0X00000000
+
+#Group 193 pm_l2_misc1, L2 load/store Miss events
+event:0X0C10 mmcr0:0X00000000 mmcr1:0X6666000C80808280 mmcra:0X00000000
+event:0X0C11 mmcr0:0X00000000 mmcr1:0X6666000C80808280 mmcra:0X00000000
+event:0X0C12 mmcr0:0X00000000 mmcr1:0X6666000C80808280 mmcra:0X00000000
+event:0X0C13 mmcr0:0X00000000 mmcr1:0X6666000C80808280 mmcra:0X00000000
+event:0X0C14 mmcr0:0X00000000 mmcr1:0X6666000C80808280 mmcra:0X00000000
+event:0X0C15 mmcr0:0X00000000 mmcr1:0X6666000C80808280 mmcra:0X00000000
+
+#Group 194 pm_l2_misc2, L2 Events
+event:0X0C20 mmcr0:0X00000000 mmcr1:0X00660000021E8080 mmcra:0X00000000
+event:0X0C21 mmcr0:0X00000000 mmcr1:0X00660000021E8080 mmcra:0X00000000
+event:0X0C22 mmcr0:0X00000000 mmcr1:0X00660000021E8080 mmcra:0X00000000
+event:0X0C23 mmcr0:0X00000000 mmcr1:0X00660000021E8080 mmcra:0X00000000
+event:0X0C24 mmcr0:0X00000000 mmcr1:0X00660000021E8080 mmcra:0X00000000
+event:0X0C25 mmcr0:0X00000000 mmcr1:0X00660000021E8080 mmcra:0X00000000
+
+#Group 195 pm_l2_misc3, L2 Events
+event:0X0C30 mmcr0:0X00000000 mmcr1:0X00608000021E82FA mmcra:0X00000000
+event:0X0C31 mmcr0:0X00000000 mmcr1:0X00608000021E82FA mmcra:0X00000000
+event:0X0C32 mmcr0:0X00000000 mmcr1:0X00608000021E82FA mmcra:0X00000000
+event:0X0C33 mmcr0:0X00000000 mmcr1:0X00608000021E82FA mmcra:0X00000000
+event:0X0C34 mmcr0:0X00000000 mmcr1:0X00608000021E82FA mmcra:0X00000000
+event:0X0C35 mmcr0:0X00000000 mmcr1:0X00608000021E82FA mmcra:0X00000000
+
+#Group 196 pm_l2_misc4, L2 Events
+event:0X0C40 mmcr0:0X00000000 mmcr1:0X00666000021E8282 mmcra:0X00000000
+event:0X0C41 mmcr0:0X00000000 mmcr1:0X00666000021E8282 mmcra:0X00000000
+event:0X0C42 mmcr0:0X00000000 mmcr1:0X00666000021E8282 mmcra:0X00000000
+event:0X0C43 mmcr0:0X00000000 mmcr1:0X00666000021E8282 mmcra:0X00000000
+event:0X0C44 mmcr0:0X00000000 mmcr1:0X00666000021E8282 mmcra:0X00000000
+event:0X0C45 mmcr0:0X00000000 mmcr1:0X00666000021E8282 mmcra:0X00000000
+
+#Group 197 pm_l2_misc5, L2 Events
+event:0X0C50 mmcr0:0X00000000 mmcr1:0X00608000021E80FA mmcra:0X00000000
+event:0X0C51 mmcr0:0X00000000 mmcr1:0X00608000021E80FA mmcra:0X00000000
+event:0X0C52 mmcr0:0X00000000 mmcr1:0X00608000021E80FA mmcra:0X00000000
+event:0X0C53 mmcr0:0X00000000 mmcr1:0X00608000021E80FA mmcra:0X00000000
+event:0X0C54 mmcr0:0X00000000 mmcr1:0X00608000021E80FA mmcra:0X00000000
+event:0X0C55 mmcr0:0X00000000 mmcr1:0X00608000021E80FA mmcra:0X00000000
+
+#Group 198 pm_l2_misc6, L2 Events
+event:0X0C60 mmcr0:0X00000000 mmcr1:0X0006600002F41E80 mmcra:0X00000000
+event:0X0C61 mmcr0:0X00000000 mmcr1:0X0006600002F41E80 mmcra:0X00000000
+event:0X0C62 mmcr0:0X00000000 mmcr1:0X0006600002F41E80 mmcra:0X00000000
+event:0X0C63 mmcr0:0X00000000 mmcr1:0X0006600002F41E80 mmcra:0X00000000
+event:0X0C64 mmcr0:0X00000000 mmcr1:0X0006600002F41E80 mmcra:0X00000000
+event:0X0C65 mmcr0:0X00000000 mmcr1:0X0006600002F41E80 mmcra:0X00000000
+
+#Group 199 pm_ierat, IERAT Events
+event:0X0C70 mmcr0:0X00000000 mmcr1:0X04400000F6BCBE02 mmcra:0X00000000
+event:0X0C71 mmcr0:0X00000000 mmcr1:0X04400000F6BCBE02 mmcra:0X00000000
+event:0X0C72 mmcr0:0X00000000 mmcr1:0X04400000F6BCBE02 mmcra:0X00000000
+event:0X0C73 mmcr0:0X00000000 mmcr1:0X04400000F6BCBE02 mmcra:0X00000000
+event:0X0C74 mmcr0:0X00000000 mmcr1:0X04400000F6BCBE02 mmcra:0X00000000
+event:0X0C75 mmcr0:0X00000000 mmcr1:0X04400000F6BCBE02 mmcra:0X00000000
+
+#Group 200 pm_disp_clb, Dispatch CLB Events
+event:0X0C80 mmcr0:0X00000000 mmcr1:0X2200000090A81E02 mmcra:0X00000000
+event:0X0C81 mmcr0:0X00000000 mmcr1:0X2200000090A81E02 mmcra:0X00000000
+event:0X0C82 mmcr0:0X00000000 mmcr1:0X2200000090A81E02 mmcra:0X00000000
+event:0X0C83 mmcr0:0X00000000 mmcr1:0X2200000090A81E02 mmcra:0X00000000
+event:0X0C84 mmcr0:0X00000000 mmcr1:0X2200000090A81E02 mmcra:0X00000000
+event:0X0C85 mmcr0:0X00000000 mmcr1:0X2200000090A81E02 mmcra:0X00000000
+
+#Group 201 pm_dpu, DPU Events
+event:0X0C90 mmcr0:0X00000000 mmcr1:0X000000001E060802 mmcra:0X00000000
+event:0X0C91 mmcr0:0X00000000 mmcr1:0X000000001E060802 mmcra:0X00000000
+event:0X0C92 mmcr0:0X00000000 mmcr1:0X000000001E060802 mmcra:0X00000000
+event:0X0C93 mmcr0:0X00000000 mmcr1:0X000000001E060802 mmcra:0X00000000
+event:0X0C94 mmcr0:0X00000000 mmcr1:0X000000001E060802 mmcra:0X00000000
+event:0X0C95 mmcr0:0X00000000 mmcr1:0X000000001E060802 mmcra:0X00000000
+
+#Group 202 pm_cpu_util, Basic CPU utilization
+event:0X0CA0 mmcr0:0X00000000 mmcr1:0X0000000008F41EF4 mmcra:0X00000000
+event:0X0CA1 mmcr0:0X00000000 mmcr1:0X0000000008F41EF4 mmcra:0X00000000
+event:0X0CA2 mmcr0:0X00000000 mmcr1:0X0000000008F41EF4 mmcra:0X00000000
+event:0X0CA3 mmcr0:0X00000000 mmcr1:0X0000000008F41EF4 mmcra:0X00000000
+event:0X0CA4 mmcr0:0X00000000 mmcr1:0X0000000008F41EF4 mmcra:0X00000000
+event:0X0CA5 mmcr0:0X00000000 mmcr1:0X0000000008F41EF4 mmcra:0X00000000
+
+#Group 203 pm_overflow1, Overflow events
+event:0X0CB0 mmcr0:0X00000000 mmcr1:0X0000000010101010 mmcra:0X00000000
+event:0X0CB1 mmcr0:0X00000000 mmcr1:0X0000000010101010 mmcra:0X00000000
+event:0X0CB2 mmcr0:0X00000000 mmcr1:0X0000000010101010 mmcra:0X00000000
+event:0X0CB3 mmcr0:0X00000000 mmcr1:0X0000000010101010 mmcra:0X00000000
+event:0X0CB4 mmcr0:0X00000000 mmcr1:0X0000000010101010 mmcra:0X00000000
+event:0X0CB5 mmcr0:0X00000000 mmcr1:0X0000000010101010 mmcra:0X00000000
+
+#Group 204 pm_overflow2, Overflow events
+event:0X0CC0 mmcr0:0X00000000 mmcr1:0X0000000024102410 mmcra:0X00000000
+event:0X0CC1 mmcr0:0X00000000 mmcr1:0X0000000024102410 mmcra:0X00000000
+event:0X0CC2 mmcr0:0X00000000 mmcr1:0X0000000024102410 mmcra:0X00000000
+event:0X0CC3 mmcr0:0X00000000 mmcr1:0X0000000024102410 mmcra:0X00000000
+event:0X0CC4 mmcr0:0X00000000 mmcr1:0X0000000024102410 mmcra:0X00000000
+event:0X0CC5 mmcr0:0X00000000 mmcr1:0X0000000024102410 mmcra:0X00000000
+
+#Group 205 pm_rewind, Rewind events
+event:0X0CD0 mmcr0:0X00000000 mmcr1:0X0000000020F42002 mmcra:0X00000000
+event:0X0CD1 mmcr0:0X00000000 mmcr1:0X0000000020F42002 mmcra:0X00000000
+event:0X0CD2 mmcr0:0X00000000 mmcr1:0X0000000020F42002 mmcra:0X00000000
+event:0X0CD3 mmcr0:0X00000000 mmcr1:0X0000000020F42002 mmcra:0X00000000
+event:0X0CD4 mmcr0:0X00000000 mmcr1:0X0000000020F42002 mmcra:0X00000000
+event:0X0CD5 mmcr0:0X00000000 mmcr1:0X0000000020F42002 mmcra:0X00000000
+
+#Group 206 pm_saved, Saved Events
+event:0X0CE0 mmcr0:0X00000000 mmcr1:0X0000000022F42202 mmcra:0X00000000
+event:0X0CE1 mmcr0:0X00000000 mmcr1:0X0000000022F42202 mmcra:0X00000000
+event:0X0CE2 mmcr0:0X00000000 mmcr1:0X0000000022F42202 mmcra:0X00000000
+event:0X0CE3 mmcr0:0X00000000 mmcr1:0X0000000022F42202 mmcra:0X00000000
+event:0X0CE4 mmcr0:0X00000000 mmcr1:0X0000000022F42202 mmcra:0X00000000
+event:0X0CE5 mmcr0:0X00000000 mmcr1:0X0000000022F42202 mmcra:0X00000000
+
+#Group 207 pm_tlbie, TLBIE Events
+event:0X0CF0 mmcr0:0X00000000 mmcr1:0X22D000008A96B202 mmcra:0X00000000
+event:0X0CF1 mmcr0:0X00000000 mmcr1:0X22D000008A96B202 mmcra:0X00000000
+event:0X0CF2 mmcr0:0X00000000 mmcr1:0X22D000008A96B202 mmcra:0X00000000
+event:0X0CF3 mmcr0:0X00000000 mmcr1:0X22D000008A96B202 mmcra:0X00000000
+event:0X0CF4 mmcr0:0X00000000 mmcr1:0X22D000008A96B202 mmcra:0X00000000
+event:0X0CF5 mmcr0:0X00000000 mmcr1:0X22D000008A96B202 mmcra:0X00000000
+
+#Group 208 pm_id_miss_erat_l1, Instruction/Data miss from ERAT/L1 cache
+event:0X0D00 mmcr0:0X00000000 mmcr1:0X00000000F6FCF0F0 mmcra:0X00000000
+event:0X0D01 mmcr0:0X00000000 mmcr1:0X00000000F6FCF0F0 mmcra:0X00000000
+event:0X0D02 mmcr0:0X00000000 mmcr1:0X00000000F6FCF0F0 mmcra:0X00000000
+event:0X0D03 mmcr0:0X00000000 mmcr1:0X00000000F6FCF0F0 mmcra:0X00000000
+event:0X0D04 mmcr0:0X00000000 mmcr1:0X00000000F6FCF0F0 mmcra:0X00000000
+event:0X0D05 mmcr0:0X00000000 mmcr1:0X00000000F6FCF0F0 mmcra:0X00000000
+
+#Group 209 pm_id_miss_erat_tlab, Instruction/Data miss from ERAT/TLB
+event:0X0D10 mmcr0:0X00000000 mmcr1:0X000000001EF6FCFC mmcra:0X00000000
+event:0X0D11 mmcr0:0X00000000 mmcr1:0X000000001EF6FCFC mmcra:0X00000000
+event:0X0D12 mmcr0:0X00000000 mmcr1:0X000000001EF6FCFC mmcra:0X00000000
+event:0X0D13 mmcr0:0X00000000 mmcr1:0X000000001EF6FCFC mmcra:0X00000000
+event:0X0D14 mmcr0:0X00000000 mmcr1:0X000000001EF6FCFC mmcra:0X00000000
+event:0X0D15 mmcr0:0X00000000 mmcr1:0X000000001EF6FCFC mmcra:0X00000000
+
+#Group 210 pm_compat_utilization1, Basic CPU utilization
+event:0X0D20 mmcr0:0X00000000 mmcr1:0X00000000FAF41EF4 mmcra:0X00000000
+event:0X0D21 mmcr0:0X00000000 mmcr1:0X00000000FAF41EF4 mmcra:0X00000000
+event:0X0D22 mmcr0:0X00000000 mmcr1:0X00000000FAF41EF4 mmcra:0X00000000
+event:0X0D23 mmcr0:0X00000000 mmcr1:0X00000000FAF41EF4 mmcra:0X00000000
+event:0X0D24 mmcr0:0X00000000 mmcr1:0X00000000FAF41EF4 mmcra:0X00000000
+event:0X0D25 mmcr0:0X00000000 mmcr1:0X00000000FAF41EF4 mmcra:0X00000000
+
+#Group 211 pm_compat_utilization2, CPI and utilization data
+event:0X0D30 mmcr0:0X00000000 mmcr1:0X00000000F4F41EFA mmcra:0X00000000
+event:0X0D31 mmcr0:0X00000000 mmcr1:0X00000000F4F41EFA mmcra:0X00000000
+event:0X0D32 mmcr0:0X00000000 mmcr1:0X00000000F4F41EFA mmcra:0X00000000
+event:0X0D33 mmcr0:0X00000000 mmcr1:0X00000000F4F41EFA mmcra:0X00000000
+event:0X0D34 mmcr0:0X00000000 mmcr1:0X00000000F4F41EFA mmcra:0X00000000
+event:0X0D35 mmcr0:0X00000000 mmcr1:0X00000000F4F41EFA mmcra:0X00000000
+
+#Group 212 pm_compat_cpi_1plus_ppc, Misc CPI and utilization data
+event:0X0D40 mmcr0:0X00000000 mmcr1:0X00000000F2F4F2F2 mmcra:0X00000000
+event:0X0D41 mmcr0:0X00000000 mmcr1:0X00000000F2F4F2F2 mmcra:0X00000000
+event:0X0D42 mmcr0:0X00000000 mmcr1:0X00000000F2F4F2F2 mmcra:0X00000000
+event:0X0D43 mmcr0:0X00000000 mmcr1:0X00000000F2F4F2F2 mmcra:0X00000000
+event:0X0D44 mmcr0:0X00000000 mmcr1:0X00000000F2F4F2F2 mmcra:0X00000000
+event:0X0D45 mmcr0:0X00000000 mmcr1:0X00000000F2F4F2F2 mmcra:0X00000000
+
+#Group 213 pm_compat_l1_dcache_load_store_miss, L1 D-Cache load/store miss
+event:0X0D50 mmcr0:0X00000000 mmcr1:0X0000000002F0F0F0 mmcra:0X00000000
+event:0X0D51 mmcr0:0X00000000 mmcr1:0X0000000002F0F0F0 mmcra:0X00000000
+event:0X0D52 mmcr0:0X00000000 mmcr1:0X0000000002F0F0F0 mmcra:0X00000000
+event:0X0D53 mmcr0:0X00000000 mmcr1:0X0000000002F0F0F0 mmcra:0X00000000
+event:0X0D54 mmcr0:0X00000000 mmcr1:0X0000000002F0F0F0 mmcra:0X00000000
+event:0X0D55 mmcr0:0X00000000 mmcr1:0X0000000002F0F0F0 mmcra:0X00000000
+
+#Group 214 pm_compat_l1_cache_load, L1 Cache loads
+event:0X0D60 mmcr0:0X00000000 mmcr1:0X0000000002FEF6F0 mmcra:0X00000000
+event:0X0D61 mmcr0:0X00000000 mmcr1:0X0000000002FEF6F0 mmcra:0X00000000
+event:0X0D62 mmcr0:0X00000000 mmcr1:0X0000000002FEF6F0 mmcra:0X00000000
+event:0X0D63 mmcr0:0X00000000 mmcr1:0X0000000002FEF6F0 mmcra:0X00000000
+event:0X0D64 mmcr0:0X00000000 mmcr1:0X0000000002FEF6F0 mmcra:0X00000000
+event:0X0D65 mmcr0:0X00000000 mmcr1:0X0000000002FEF6F0 mmcra:0X00000000
+
+#Group 215 pm_compat_instruction_directory, Instruction Directory
+event:0X0D70 mmcr0:0X00000000 mmcr1:0X00000000F6FC02FC mmcra:0X00000000
+event:0X0D71 mmcr0:0X00000000 mmcr1:0X00000000F6FC02FC mmcra:0X00000000
+event:0X0D72 mmcr0:0X00000000 mmcr1:0X00000000F6FC02FC mmcra:0X00000000
+event:0X0D73 mmcr0:0X00000000 mmcr1:0X00000000F6FC02FC mmcra:0X00000000
+event:0X0D74 mmcr0:0X00000000 mmcr1:0X00000000F6FC02FC mmcra:0X00000000
+event:0X0D75 mmcr0:0X00000000 mmcr1:0X00000000F6FC02FC mmcra:0X00000000
+
+#Group 216 pm_compat_suspend, Suspend Events
+event:0X0D80 mmcr0:0X00000000 mmcr1:0X0000000000000000 mmcra:0X00000000
+event:0X0D81 mmcr0:0X00000000 mmcr1:0X0000000000000000 mmcra:0X00000000
+event:0X0D82 mmcr0:0X00000000 mmcr1:0X0000000000000000 mmcra:0X00000000
+event:0X0D83 mmcr0:0X00000000 mmcr1:0X0000000000000000 mmcra:0X00000000
+event:0X0D84 mmcr0:0X00000000 mmcr1:0X0000000000000000 mmcra:0X00000000
+event:0X0D85 mmcr0:0X00000000 mmcr1:0X0000000000000000 mmcra:0X00000000
+
+#Group 217 pm_compat_misc_events1, Misc Events
+event:0X0D90 mmcr0:0X00000000 mmcr1:0X0000000002F8F81E mmcra:0X00000000
+event:0X0D91 mmcr0:0X00000000 mmcr1:0X0000000002F8F81E mmcra:0X00000000
+event:0X0D92 mmcr0:0X00000000 mmcr1:0X0000000002F8F81E mmcra:0X00000000
+event:0X0D93 mmcr0:0X00000000 mmcr1:0X0000000002F8F81E mmcra:0X00000000
+event:0X0D94 mmcr0:0X00000000 mmcr1:0X0000000002F8F81E mmcra:0X00000000
+event:0X0D95 mmcr0:0X00000000 mmcr1:0X0000000002F8F81E mmcra:0X00000000
+
+#Group 218 pm_compat_misc_events2, Misc Events
+event:0X0DA0 mmcr0:0X00000000 mmcr1:0X00000000F0F2F4F8 mmcra:0X00000000
+event:0X0DA1 mmcr0:0X00000000 mmcr1:0X00000000F0F2F4F8 mmcra:0X00000000
+event:0X0DA2 mmcr0:0X00000000 mmcr1:0X00000000F0F2F4F8 mmcra:0X00000000
+event:0X0DA3 mmcr0:0X00000000 mmcr1:0X00000000F0F2F4F8 mmcra:0X00000000
+event:0X0DA4 mmcr0:0X00000000 mmcr1:0X00000000F0F2F4F8 mmcra:0X00000000
+event:0X0DA5 mmcr0:0X00000000 mmcr1:0X00000000F0F2F4F8 mmcra:0X00000000
+
+#Group 219 pm_compat_misc_events3, Misc Events
+event:0X0DB0 mmcr0:0X00000000 mmcr1:0X00000000F8F21EF6 mmcra:0X00000000
+event:0X0DB1 mmcr0:0X00000000 mmcr1:0X00000000F8F21EF6 mmcra:0X00000000
+event:0X0DB2 mmcr0:0X00000000 mmcr1:0X00000000F8F21EF6 mmcra:0X00000000
+event:0X0DB3 mmcr0:0X00000000 mmcr1:0X00000000F8F21EF6 mmcra:0X00000000
+event:0X0DB4 mmcr0:0X00000000 mmcr1:0X00000000F8F21EF6 mmcra:0X00000000
+event:0X0DB5 mmcr0:0X00000000 mmcr1:0X00000000F8F21EF6 mmcra:0X00000000
+
+#Group 220 pm_mrk_br, Marked Branch events
+event:0X0DC0 mmcr0:0X00000000 mmcr1:0X0000000036363602 mmcra:0X00000001
+event:0X0DC1 mmcr0:0X00000000 mmcr1:0X0000000036363602 mmcra:0X00000001
+event:0X0DC2 mmcr0:0X00000000 mmcr1:0X0000000036363602 mmcra:0X00000001
+event:0X0DC3 mmcr0:0X00000000 mmcr1:0X0000000036363602 mmcra:0X00000001
+event:0X0DC4 mmcr0:0X00000000 mmcr1:0X0000000036363602 mmcra:0X00000001
+event:0X0DC5 mmcr0:0X00000000 mmcr1:0X0000000036363602 mmcra:0X00000001
+
+#Group 221 pm_mrk_dsource1, Marked data sources
+event:0X0DD0 mmcr0:0X00000000 mmcr1:0XD0D000004A2E4624 mmcra:0X00000001
+event:0X0DD1 mmcr0:0X00000000 mmcr1:0XD0D000004A2E4624 mmcra:0X00000001
+event:0X0DD2 mmcr0:0X00000000 mmcr1:0XD0D000004A2E4624 mmcra:0X00000001
+event:0X0DD3 mmcr0:0X00000000 mmcr1:0XD0D000004A2E4624 mmcra:0X00000001
+event:0X0DD4 mmcr0:0X00000000 mmcr1:0XD0D000004A2E4624 mmcra:0X00000001
+event:0X0DD5 mmcr0:0X00000000 mmcr1:0XD0D000004A2E4624 mmcra:0X00000001
+
+#Group 222 pm_mrk_dsource2, Marked data sources
+event:0X0DE0 mmcr0:0X00000000 mmcr1:0XD0D00000482C4A20 mmcra:0X00000001
+event:0X0DE1 mmcr0:0X00000000 mmcr1:0XD0D00000482C4A20 mmcra:0X00000001
+event:0X0DE2 mmcr0:0X00000000 mmcr1:0XD0D00000482C4A20 mmcra:0X00000001
+event:0X0DE3 mmcr0:0X00000000 mmcr1:0XD0D00000482C4A20 mmcra:0X00000001
+event:0X0DE4 mmcr0:0X00000000 mmcr1:0XD0D00000482C4A20 mmcra:0X00000001
+event:0X0DE5 mmcr0:0X00000000 mmcr1:0XD0D00000482C4A20 mmcra:0X00000001
+
+#Group 223 pm_mrk_dsource3, Marked data sources
+event:0X0DF0 mmcr0:0X00000000 mmcr1:0XD0D0000044244E26 mmcra:0X00000001
+event:0X0DF1 mmcr0:0X00000000 mmcr1:0XD0D0000044244E26 mmcra:0X00000001
+event:0X0DF2 mmcr0:0X00000000 mmcr1:0XD0D0000044244E26 mmcra:0X00000001
+event:0X0DF3 mmcr0:0X00000000 mmcr1:0XD0D0000044244E26 mmcra:0X00000001
+event:0X0DF4 mmcr0:0X00000000 mmcr1:0XD0D0000044244E26 mmcra:0X00000001
+event:0X0DF5 mmcr0:0X00000000 mmcr1:0XD0D0000044244E26 mmcra:0X00000001
+
+#Group 224 pm_mrk_dsource4, Marked data sources
+event:0X0E00 mmcr0:0X00000000 mmcr1:0XD0CC000040204242 mmcra:0X00000001
+event:0X0E01 mmcr0:0X00000000 mmcr1:0XD0CC000040204242 mmcra:0X00000001
+event:0X0E02 mmcr0:0X00000000 mmcr1:0XD0CC000040204242 mmcra:0X00000001
+event:0X0E03 mmcr0:0X00000000 mmcr1:0XD0CC000040204242 mmcra:0X00000001
+event:0X0E04 mmcr0:0X00000000 mmcr1:0XD0CC000040204242 mmcra:0X00000001
+event:0X0E05 mmcr0:0X00000000 mmcr1:0XD0CC000040204242 mmcra:0X00000001
+
+#Group 225 pm_mrk_dsource5, Marked data sources
+event:0X0E10 mmcr0:0X00000000 mmcr1:0XD0D00000422A4428 mmcra:0X00000001
+event:0X0E11 mmcr0:0X00000000 mmcr1:0XD0D00000422A4428 mmcra:0X00000001
+event:0X0E12 mmcr0:0X00000000 mmcr1:0XD0D00000422A4428 mmcra:0X00000001
+event:0X0E13 mmcr0:0X00000000 mmcr1:0XD0D00000422A4428 mmcra:0X00000001
+event:0X0E14 mmcr0:0X00000000 mmcr1:0XD0D00000422A4428 mmcra:0X00000001
+event:0X0E15 mmcr0:0X00000000 mmcr1:0XD0D00000422A4428 mmcra:0X00000001
+
+#Group 226 pm_mrk_dsource6, Marked data sources
+event:0X0E20 mmcr0:0X00000000 mmcr1:0XD0D000004C28422C mmcra:0X00000001
+event:0X0E21 mmcr0:0X00000000 mmcr1:0XD0D000004C28422C mmcra:0X00000001
+event:0X0E22 mmcr0:0X00000000 mmcr1:0XD0D000004C28422C mmcra:0X00000001
+event:0X0E23 mmcr0:0X00000000 mmcr1:0XD0D000004C28422C mmcra:0X00000001
+event:0X0E24 mmcr0:0X00000000 mmcr1:0XD0D000004C28422C mmcra:0X00000001
+event:0X0E25 mmcr0:0X00000000 mmcr1:0XD0D000004C28422C mmcra:0X00000001
+
+#Group 227 pm_mrk_dsource7, Marked data sources
+event:0X0E30 mmcr0:0X00000000 mmcr1:0XD00D00004E263048 mmcra:0X00000001
+event:0X0E31 mmcr0:0X00000000 mmcr1:0XD00D00004E263048 mmcra:0X00000001
+event:0X0E32 mmcr0:0X00000000 mmcr1:0XD00D00004E263048 mmcra:0X00000001
+event:0X0E33 mmcr0:0X00000000 mmcr1:0XD00D00004E263048 mmcra:0X00000001
+event:0X0E34 mmcr0:0X00000000 mmcr1:0XD00D00004E263048 mmcra:0X00000001
+event:0X0E35 mmcr0:0X00000000 mmcr1:0XD00D00004E263048 mmcra:0X00000001
+
+#Group 228 pm_mrk_dsource8, Marked data sources
+event:0X0E40 mmcr0:0X00000000 mmcr1:0X0DD000003F484C2A mmcra:0X00000001
+event:0X0E41 mmcr0:0X00000000 mmcr1:0X0DD000003F484C2A mmcra:0X00000001
+event:0X0E42 mmcr0:0X00000000 mmcr1:0X0DD000003F484C2A mmcra:0X00000001
+event:0X0E43 mmcr0:0X00000000 mmcr1:0X0DD000003F484C2A mmcra:0X00000001
+event:0X0E44 mmcr0:0X00000000 mmcr1:0X0DD000003F484C2A mmcra:0X00000001
+event:0X0E45 mmcr0:0X00000000 mmcr1:0X0DD000003F484C2A mmcra:0X00000001
+
+#Group 229 pm_mrk_lsu_flush1, Marked LSU Flush
+event:0X0E50 mmcr0:0X00000000 mmcr1:0XDD0000008486021E mmcra:0X00000001
+event:0X0E51 mmcr0:0X00000000 mmcr1:0XDD0000008486021E mmcra:0X00000001
+event:0X0E52 mmcr0:0X00000000 mmcr1:0XDD0000008486021E mmcra:0X00000001
+event:0X0E53 mmcr0:0X00000000 mmcr1:0XDD0000008486021E mmcra:0X00000001
+event:0X0E54 mmcr0:0X00000000 mmcr1:0XDD0000008486021E mmcra:0X00000001
+event:0X0E55 mmcr0:0X00000000 mmcr1:0XDD0000008486021E mmcra:0X00000001
+
+#Group 230 pm_mrk_lsu_flush2, Marked LSU Flush
+event:0X0E60 mmcr0:0X00000000 mmcr1:0X00DD0000021E888A mmcra:0X00000001
+event:0X0E61 mmcr0:0X00000000 mmcr1:0X00DD0000021E888A mmcra:0X00000001
+event:0X0E62 mmcr0:0X00000000 mmcr1:0X00DD0000021E888A mmcra:0X00000001
+event:0X0E63 mmcr0:0X00000000 mmcr1:0X00DD0000021E888A mmcra:0X00000001
+event:0X0E64 mmcr0:0X00000000 mmcr1:0X00DD0000021E888A mmcra:0X00000001
+event:0X0E65 mmcr0:0X00000000 mmcr1:0X00DD0000021E888A mmcra:0X00000001
+
+#Group 231 pm_mrk_rejects, Marked rejects
+event:0X0E70 mmcr0:0X00000000 mmcr1:0XDD000000828C0264 mmcra:0X00000001
+event:0X0E71 mmcr0:0X00000000 mmcr1:0XDD000000828C0264 mmcra:0X00000001
+event:0X0E72 mmcr0:0X00000000 mmcr1:0XDD000000828C0264 mmcra:0X00000001
+event:0X0E73 mmcr0:0X00000000 mmcr1:0XDD000000828C0264 mmcra:0X00000001
+event:0X0E74 mmcr0:0X00000000 mmcr1:0XDD000000828C0264 mmcra:0X00000001
+event:0X0E75 mmcr0:0X00000000 mmcr1:0XDD000000828C0264 mmcra:0X00000001
+
+#Group 232 pm_mrk_inst, Marked instruction events
+event:0X0E80 mmcr0:0X00000000 mmcr1:0X0000000032303002 mmcra:0X00000001
+event:0X0E81 mmcr0:0X00000000 mmcr1:0X0000000032303002 mmcra:0X00000001
+event:0X0E82 mmcr0:0X00000000 mmcr1:0X0000000032303002 mmcra:0X00000001
+event:0X0E83 mmcr0:0X00000000 mmcr1:0X0000000032303002 mmcra:0X00000001
+event:0X0E84 mmcr0:0X00000000 mmcr1:0X0000000032303002 mmcra:0X00000001
+event:0X0E85 mmcr0:0X00000000 mmcr1:0X0000000032303002 mmcra:0X00000001
+
+#Group 233 pm_mrk_st, Marked stores events
+event:0X0E90 mmcr0:0X00000000 mmcr1:0X0000000034343402 mmcra:0X00000001
+event:0X0E91 mmcr0:0X00000000 mmcr1:0X0000000034343402 mmcra:0X00000001
+event:0X0E92 mmcr0:0X00000000 mmcr1:0X0000000034343402 mmcra:0X00000001
+event:0X0E93 mmcr0:0X00000000 mmcr1:0X0000000034343402 mmcra:0X00000001
+event:0X0E94 mmcr0:0X00000000 mmcr1:0X0000000034343402 mmcra:0X00000001
+event:0X0E95 mmcr0:0X00000000 mmcr1:0X0000000034343402 mmcra:0X00000001
+
+#Group 234 pm_mrk_dtlb_miss1, Marked Data TLB Miss
+event:0X0EA0 mmcr0:0X00000000 mmcr1:0X0DDD0000025E5E5E mmcra:0X00000001
+event:0X0EA1 mmcr0:0X00000000 mmcr1:0X0DDD0000025E5E5E mmcra:0X00000001
+event:0X0EA2 mmcr0:0X00000000 mmcr1:0X0DDD0000025E5E5E mmcra:0X00000001
+event:0X0EA3 mmcr0:0X00000000 mmcr1:0X0DDD0000025E5E5E mmcra:0X00000001
+event:0X0EA4 mmcr0:0X00000000 mmcr1:0X0DDD0000025E5E5E mmcra:0X00000001
+event:0X0EA5 mmcr0:0X00000000 mmcr1:0X0DDD0000025E5E5E mmcra:0X00000001
+
+#Group 235 pm_mrk_dtlb_miss2, Marked Data TLB Miss
+event:0X0EB0 mmcr0:0X00000000 mmcr1:0XDDD000005E5E5E02 mmcra:0X00000001
+event:0X0EB1 mmcr0:0X00000000 mmcr1:0XDDD000005E5E5E02 mmcra:0X00000001
+event:0X0EB2 mmcr0:0X00000000 mmcr1:0XDDD000005E5E5E02 mmcra:0X00000001
+event:0X0EB3 mmcr0:0X00000000 mmcr1:0XDDD000005E5E5E02 mmcra:0X00000001
+event:0X0EB4 mmcr0:0X00000000 mmcr1:0XDDD000005E5E5E02 mmcra:0X00000001
+event:0X0EB5 mmcr0:0X00000000 mmcr1:0XDDD000005E5E5E02 mmcra:0X00000001
+
+#Group 236 pm_mrk_derat_miss1, Marked DERAT Miss events
+event:0X0EC0 mmcr0:0X00000000 mmcr1:0X0DDD0000025C5C5C mmcra:0X00000001
+event:0X0EC1 mmcr0:0X00000000 mmcr1:0X0DDD0000025C5C5C mmcra:0X00000001
+event:0X0EC2 mmcr0:0X00000000 mmcr1:0X0DDD0000025C5C5C mmcra:0X00000001
+event:0X0EC3 mmcr0:0X00000000 mmcr1:0X0DDD0000025C5C5C mmcra:0X00000001
+event:0X0EC4 mmcr0:0X00000000 mmcr1:0X0DDD0000025C5C5C mmcra:0X00000001
+event:0X0EC5 mmcr0:0X00000000 mmcr1:0X0DDD0000025C5C5C mmcra:0X00000001
+
+#Group 237 pm_mrk_derat_miss2, Marked DERAT Miss events
+event:0X0ED0 mmcr0:0X00000000 mmcr1:0XDDD000005C5C5C02 mmcra:0X00000001
+event:0X0ED1 mmcr0:0X00000000 mmcr1:0XDDD000005C5C5C02 mmcra:0X00000001
+event:0X0ED2 mmcr0:0X00000000 mmcr1:0XDDD000005C5C5C02 mmcra:0X00000001
+event:0X0ED3 mmcr0:0X00000000 mmcr1:0XDDD000005C5C5C02 mmcra:0X00000001
+event:0X0ED4 mmcr0:0X00000000 mmcr1:0XDDD000005C5C5C02 mmcra:0X00000001
+event:0X0ED5 mmcr0:0X00000000 mmcr1:0XDDD000005C5C5C02 mmcra:0X00000001
+
+#Group 238 pm_mrk_misc_miss, marked Miss Events
+event:0X0EE0 mmcr0:0X00000000 mmcr1:0X00D000003E025A3E mmcra:0X00000001
+event:0X0EE1 mmcr0:0X00000000 mmcr1:0X00D000003E025A3E mmcra:0X00000001
+event:0X0EE2 mmcr0:0X00000000 mmcr1:0X00D000003E025A3E mmcra:0X00000001
+event:0X0EE3 mmcr0:0X00000000 mmcr1:0X00D000003E025A3E mmcra:0X00000001
+event:0X0EE4 mmcr0:0X00000000 mmcr1:0X00D000003E025A3E mmcra:0X00000001
+event:0X0EE5 mmcr0:0X00000000 mmcr1:0X00D000003E025A3E mmcra:0X00000001
+
+#Group 239 pm_mrk_pteg1, Marked PTEG
+event:0X0EF0 mmcr0:0X00000000 mmcr1:0X0DDD000002525656 mmcra:0X00000001
+event:0X0EF1 mmcr0:0X00000000 mmcr1:0X0DDD000002525656 mmcra:0X00000001
+event:0X0EF2 mmcr0:0X00000000 mmcr1:0X0DDD000002525656 mmcra:0X00000001
+event:0X0EF3 mmcr0:0X00000000 mmcr1:0X0DDD000002525656 mmcra:0X00000001
+event:0X0EF4 mmcr0:0X00000000 mmcr1:0X0DDD000002525656 mmcra:0X00000001
+event:0X0EF5 mmcr0:0X00000000 mmcr1:0X0DDD000002525656 mmcra:0X00000001
+
+#Group 240 pm_mrk_pteg2, Marked PTEG
+event:0X0F00 mmcr0:0X00000000 mmcr1:0XDDD0000050545202 mmcra:0X00000001
+event:0X0F01 mmcr0:0X00000000 mmcr1:0XDDD0000050545202 mmcra:0X00000001
+event:0X0F02 mmcr0:0X00000000 mmcr1:0XDDD0000050545202 mmcra:0X00000001
+event:0X0F03 mmcr0:0X00000000 mmcr1:0XDDD0000050545202 mmcra:0X00000001
+event:0X0F04 mmcr0:0X00000000 mmcr1:0XDDD0000050545202 mmcra:0X00000001
+event:0X0F05 mmcr0:0X00000000 mmcr1:0XDDD0000050545202 mmcra:0X00000001
+
+#Group 241 pm_mrk_pteg3, Marked PTEG
+event:0X0F10 mmcr0:0X00000000 mmcr1:0X0DDD000002565654 mmcra:0X00000001
+event:0X0F11 mmcr0:0X00000000 mmcr1:0X0DDD000002565654 mmcra:0X00000001
+event:0X0F12 mmcr0:0X00000000 mmcr1:0X0DDD000002565654 mmcra:0X00000001
+event:0X0F13 mmcr0:0X00000000 mmcr1:0X0DDD000002565654 mmcra:0X00000001
+event:0X0F14 mmcr0:0X00000000 mmcr1:0X0DDD000002565654 mmcra:0X00000001
+event:0X0F15 mmcr0:0X00000000 mmcr1:0X0DDD000002565654 mmcra:0X00000001
+
+#Group 242 pm_mrk_pteg4, Marked PTEG
+event:0X0F20 mmcr0:0X00000000 mmcr1:0XDD0D000054500258 mmcra:0X00000001
+event:0X0F21 mmcr0:0X00000000 mmcr1:0XDD0D000054500258 mmcra:0X00000001
+event:0X0F22 mmcr0:0X00000000 mmcr1:0XDD0D000054500258 mmcra:0X00000001
+event:0X0F23 mmcr0:0X00000000 mmcr1:0XDD0D000054500258 mmcra:0X00000001
+event:0X0F24 mmcr0:0X00000000 mmcr1:0XDD0D000054500258 mmcra:0X00000001
+event:0X0F25 mmcr0:0X00000000 mmcr1:0XDD0D000054500258 mmcra:0X00000001
+
+#Group 243 pm_mrk_pteg5, Marked PTEG
+event:0X0F30 mmcr0:0X00000000 mmcr1:0XDD0D000052580252 mmcra:0X00000001
+event:0X0F31 mmcr0:0X00000000 mmcr1:0XDD0D000052580252 mmcra:0X00000001
+event:0X0F32 mmcr0:0X00000000 mmcr1:0XDD0D000052580252 mmcra:0X00000001
+event:0X0F33 mmcr0:0X00000000 mmcr1:0XDD0D000052580252 mmcra:0X00000001
+event:0X0F34 mmcr0:0X00000000 mmcr1:0XDD0D000052580252 mmcra:0X00000001
+event:0X0F35 mmcr0:0X00000000 mmcr1:0XDD0D000052580252 mmcra:0X00000001
+
+#Group 244 pm_mrk_misc1, Marked misc events
+event:0X0F40 mmcr0:0X00000000 mmcr1:0XD00000008E023A34 mmcra:0X00000001
+event:0X0F41 mmcr0:0X00000000 mmcr1:0XD00000008E023A34 mmcra:0X00000001
+event:0X0F42 mmcr0:0X00000000 mmcr1:0XD00000008E023A34 mmcra:0X00000001
+event:0X0F43 mmcr0:0X00000000 mmcr1:0XD00000008E023A34 mmcra:0X00000001
+event:0X0F44 mmcr0:0X00000000 mmcr1:0XD00000008E023A34 mmcra:0X00000001
+event:0X0F45 mmcr0:0X00000000 mmcr1:0XD00000008E023A34 mmcra:0X00000001
+
+#Group 245 pm_mrk_misc2, Marked misc events
+event:0X0F50 mmcr0:0X00000000 mmcr1:0X0000000002383A32 mmcra:0X00000001
+event:0X0F51 mmcr0:0X00000000 mmcr1:0X0000000002383A32 mmcra:0X00000001
+event:0X0F52 mmcr0:0X00000000 mmcr1:0X0000000002383A32 mmcra:0X00000001
+event:0X0F53 mmcr0:0X00000000 mmcr1:0X0000000002383A32 mmcra:0X00000001
+event:0X0F54 mmcr0:0X00000000 mmcr1:0X0000000002383A32 mmcra:0X00000001
+event:0X0F55 mmcr0:0X00000000 mmcr1:0X0000000002383A32 mmcra:0X00000001
+
+#Group 246 pm_mrk_misc3, Marked misc events
+event:0X0F60 mmcr0:0X00000000 mmcr1:0X00D00000023A8032 mmcra:0X00000001
+event:0X0F61 mmcr0:0X00000000 mmcr1:0X00D00000023A8032 mmcra:0X00000001
+event:0X0F62 mmcr0:0X00000000 mmcr1:0X00D00000023A8032 mmcra:0X00000001
+event:0X0F63 mmcr0:0X00000000 mmcr1:0X00D00000023A8032 mmcra:0X00000001
+event:0X0F64 mmcr0:0X00000000 mmcr1:0X00D00000023A8032 mmcra:0X00000001
+event:0X0F65 mmcr0:0X00000000 mmcr1:0X00D00000023A8032 mmcra:0X00000001
+
+#Group 247 pm_mrk_misc4, Marked misc events
+event:0X0F70 mmcr0:0X00000000 mmcr1:0X000000003C023238 mmcra:0X00000001
+event:0X0F71 mmcr0:0X00000000 mmcr1:0X000000003C023238 mmcra:0X00000001
+event:0X0F72 mmcr0:0X00000000 mmcr1:0X000000003C023238 mmcra:0X00000001
+event:0X0F73 mmcr0:0X00000000 mmcr1:0X000000003C023238 mmcra:0X00000001
+event:0X0F74 mmcr0:0X00000000 mmcr1:0X000000003C023238 mmcra:0X00000001
+event:0X0F75 mmcr0:0X00000000 mmcr1:0X000000003C023238 mmcra:0X00000001
+
+#Group 248 pm_mrk_misc5, Marked misc events
+event:0X0F80 mmcr0:0X00000000 mmcr1:0X000000003D323F02 mmcra:0X00000001
+event:0X0F81 mmcr0:0X00000000 mmcr1:0X000000003D323F02 mmcra:0X00000001
+event:0X0F82 mmcr0:0X00000000 mmcr1:0X000000003D323F02 mmcra:0X00000001
+event:0X0F83 mmcr0:0X00000000 mmcr1:0X000000003D323F02 mmcra:0X00000001
+event:0X0F84 mmcr0:0X00000000 mmcr1:0X000000003D323F02 mmcra:0X00000001
+event:0X0F85 mmcr0:0X00000000 mmcr1:0X000000003D323F02 mmcra:0X00000001
+
+#Group 249 pm_mrk_misc6, Marked misc events
+event:0X0F90 mmcr0:0X00000000 mmcr1:0X0000000030F40230 mmcra:0X00000001
+event:0X0F91 mmcr0:0X00000000 mmcr1:0X0000000030F40230 mmcra:0X00000001
+event:0X0F92 mmcr0:0X00000000 mmcr1:0X0000000030F40230 mmcra:0X00000001
+event:0X0F93 mmcr0:0X00000000 mmcr1:0X0000000030F40230 mmcra:0X00000001
+event:0X0F94 mmcr0:0X00000000 mmcr1:0X0000000030F40230 mmcra:0X00000001
+event:0X0F95 mmcr0:0X00000000 mmcr1:0X0000000030F40230 mmcra:0X00000001
+
+#Group 250 pm_mrk_misc7, Marked misc events
+event:0X0FA0 mmcr0:0X00000000 mmcr1:0XD000000082026464 mmcra:0X00000001
+event:0X0FA1 mmcr0:0X00000000 mmcr1:0XD000000082026464 mmcra:0X00000001
+event:0X0FA2 mmcr0:0X00000000 mmcr1:0XD000000082026464 mmcra:0X00000001
+event:0X0FA3 mmcr0:0X00000000 mmcr1:0XD000000082026464 mmcra:0X00000001
+event:0X0FA4 mmcr0:0X00000000 mmcr1:0XD000000082026464 mmcra:0X00000001
+event:0X0FA5 mmcr0:0X00000000 mmcr1:0XD000000082026464 mmcra:0X00000001
+
+#Group 251 pm_mrk_misc8, Marked misc events
+event:0X0FB0 mmcr0:0X00000000 mmcr1:0X000000001E1E0232 mmcra:0X00000001
+event:0X0FB1 mmcr0:0X00000000 mmcr1:0X000000001E1E0232 mmcra:0X00000001
+event:0X0FB2 mmcr0:0X00000000 mmcr1:0X000000001E1E0232 mmcra:0X00000001
+event:0X0FB3 mmcr0:0X00000000 mmcr1:0X000000001E1E0232 mmcra:0X00000001
+event:0X0FB4 mmcr0:0X00000000 mmcr1:0X000000001E1E0232 mmcra:0X00000001
+event:0X0FB5 mmcr0:0X00000000 mmcr1:0X000000001E1E0232 mmcra:0X00000001
diff --git a/events/ppc64/power7/events b/events/ppc64/power7/events
new file mode 100644
index 0000000..66c9068
--- /dev/null
+++ b/events/ppc64/power7/events
@@ -0,0 +1,2027 @@
+#PPC64 POWER7 events
+#
+# Copyright OProfile authors
+# Copyright (c) International Business Machines, 2009.
+# Contributed by Maynard Johnson <maynardj@us.ibm.com>.
+#
+#
+# Only events within the same group can be selected simultaneously.
+# Each event is given a unique event number. The event number is used by the
+# OProfile code to resolve event names for the post-processing. This is done
+# to preserve compatibility with the rest of the OProfile code. The event
+# numbers are formatted as follows: <group_num>concat(<counter for the event>).
+
+#Group Default
+event:0X001 counters:0 um:zero minimum:10000 name:CYCLES : Processor Cycles
+
+#Group 0 with random sampling
+event:0X002 counters:3 um:zero minimum:10000 name:CYCLES_RND_SMPL : Processor Cycles with random sampling
+
+
+#Group 1 pm_utilization, CPI and utilization data
+event:0X0010 counters:0 um:zero minimum:10000 name:PM_CYC_GRP1 : (Group 1 pm_utilization) Processor Cycles
+event:0X0011 counters:1 um:zero minimum:10000 name:PM_RUN_CYC_GRP1 : (Group 1 pm_utilization) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+event:0X0012 counters:2 um:zero minimum:1000 name:PM_INST_DISP_GRP1 : (Group 1 pm_utilization) Number of PowerPC instructions successfully dispatched.
+event:0X0013 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP1 : (Group 1 pm_utilization) Number of PowerPC Instructions that completed.
+event:0X0014 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP1 : (Group 1 pm_utilization) Number of run instructions completed.
+event:0X0015 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP1 : (Group 1 pm_utilization) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 2 pm_branch1, Branch operations
+event:0X0020 counters:0 um:zero minimum:1000 name:PM_BR_PRED_CCACHE_GRP2 : (Group 2 pm_branch1) The count value of a Branch and Count instruction was predicted
+event:0X0021 counters:1 um:zero minimum:1000 name:PM_BR_PRED_LSTACK_GRP2 : (Group 2 pm_branch1) The target address of a Branch to Link instruction was predicted by the link stack.
+event:0X0022 counters:2 um:zero minimum:1000 name:PM_BR_MPRED_CCACHE_GRP2 : (Group 2 pm_branch1) A branch instruction target was incorrectly predicted by the ccount cache. This will result in a branch redirect flush if not overfidden by a flush of an older instruction.
+event:0X0023 counters:3 um:zero minimum:1000 name:PM_BR_MPRED_TA_GRP2 : (Group 2 pm_branch1) A branch instruction target was incorrectly predicted. This will result in a branch mispredict flush unless a flush is detected from an older instruction.
+event:0X0024 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP2 : (Group 2 pm_branch1) Number of run instructions completed.
+event:0X0025 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP2 : (Group 2 pm_branch1) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 3 pm_branch2, Branch operations
+event:0X0030 counters:0 um:zero minimum:1000 name:PM_BR_PRED_GRP3 : (Group 3 pm_branch2) A branch prediction was made. This could have been a target prediction, a condition prediction, or both
+event:0X0031 counters:1 um:zero minimum:1000 name:PM_BR_PRED_CR_GRP3 : (Group 3 pm_branch2) A conditional branch instruction was predicted as taken or not taken.
+event:0X0032 counters:2 um:zero minimum:1000 name:PM_BR_PRED_CCACHE_GRP3 : (Group 3 pm_branch2) The count value of a Branch and Count instruction was predicted
+event:0X0033 counters:3 um:zero minimum:1000 name:PM_BR_PRED_LSTACK_GRP3 : (Group 3 pm_branch2) The target address of a Branch to Link instruction was predicted by the link stack.
+event:0X0034 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP3 : (Group 3 pm_branch2) Number of run instructions completed.
+event:0X0035 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP3 : (Group 3 pm_branch2) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 4 pm_branch3, Branch operations
+event:0X0040 counters:0 um:zero minimum:1000 name:PM_BRU_FIN_GRP4 : (Group 4 pm_branch3) The Branch execution unit finished an instruction
+event:0X0041 counters:1 um:zero minimum:1000 name:PM_BR_TAKEN_GRP4 : (Group 4 pm_branch3) A branch instruction was taken. This could have been a conditional branch or an unconditional branch
+event:0X0042 counters:2 um:zero minimum:1000 name:PM_BR_PRED_GRP4 : (Group 4 pm_branch3) A branch prediction was made. This could have been a target prediction, a condition prediction, or both
+event:0X0043 counters:3 um:zero minimum:1000 name:PM_BR_MPRED_GRP4 : (Group 4 pm_branch3) A branch instruction was incorrectly predicted. This could have been a target prediction, a condition prediction, or both
+event:0X0044 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP4 : (Group 4 pm_branch3) Number of run instructions completed.
+event:0X0045 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP4 : (Group 4 pm_branch3) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 5 pm_branch4, Branch operations
+event:0X0050 counters:0 um:zero minimum:1000 name:PM_BR_MPRED_CR_GRP5 : (Group 5 pm_branch4) A conditional branch instruction was incorrectly predicted as taken or not taken. The branch execution unit detects a branch mispredict because the CR value is opposite of the predicted value. This will result in a branch redirect flush if not overfidden by a flush of an older instruction.
+event:0X0051 counters:1 um:zero minimum:1000 name:PM_BR_UNCOND_GRP5 : (Group 5 pm_branch4) An unconditional branch was executed.
+event:0X0052 counters:2 um:zero minimum:1000 name:PM_BR_MPRED_TA_GRP5 : (Group 5 pm_branch4) A branch instruction target was incorrectly predicted. This will result in a branch mispredict flush unless a flush is detected from an older instruction.
+event:0X0053 counters:3 um:zero minimum:1000 name:PM_BR_MPRED_CCACHE_GRP5 : (Group 5 pm_branch4) A branch instruction target was incorrectly predicted by the ccount cache. This will result in a branch redirect flush if not overfidden by a flush of an older instruction.
+event:0X0054 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP5 : (Group 5 pm_branch4) Number of run instructions completed.
+event:0X0055 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP5 : (Group 5 pm_branch4) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 6 pm_branch5, Branch operations
+event:0X0060 counters:0 um:zero minimum:1000 name:PM_BR_PRED_CR_TA_GRP6 : (Group 6 pm_branch5) Both the condition (taken or not taken) and the target address of a branch instruction was predicted.
+event:0X0061 counters:1 um:zero minimum:1000 name:PM_BR_MPRED_CR_TA_GRP6 : (Group 6 pm_branch5) Branch mispredict - taken/not taken and target
+event:0X0062 counters:2 um:zero minimum:1000 name:PM_BR_PRED_GRP6 : (Group 6 pm_branch5) A branch prediction was made. This could have been a target prediction, a condition prediction, or both
+event:0X0063 counters:3 um:zero minimum:1000 name:PM_BR_PRED_CR_GRP6 : (Group 6 pm_branch5) A conditional branch instruction was predicted as taken or not taken.
+event:0X0064 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP6 : (Group 6 pm_branch5) Number of run instructions completed.
+event:0X0065 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP6 : (Group 6 pm_branch5) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 7 pm_branch6, Branch operations
+event:0X0070 counters:0 um:zero minimum:1000 name:PM_BR_PRED_CCACHE_GRP7 : (Group 7 pm_branch6) The count value of a Branch and Count instruction was predicted
+event:0X0071 counters:1 um:zero minimum:1000 name:PM_BR_PRED_LSTACK_GRP7 : (Group 7 pm_branch6) The target address of a Branch to Link instruction was predicted by the link stack.
+event:0X0072 counters:2 um:zero minimum:1000 name:PM_BR_PRED_CR_GRP7 : (Group 7 pm_branch6) A conditional branch instruction was predicted as taken or not taken.
+event:0X0073 counters:3 um:zero minimum:1000 name:PM_BR_PRED_TA_GRP7 : (Group 7 pm_branch6) The target address of a branch instruction was predicted.
+event:0X0074 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP7 : (Group 7 pm_branch6) Number of run instructions completed.
+event:0X0075 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP7 : (Group 7 pm_branch6) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 8 pm_branch7, Branch operations
+event:0X0080 counters:0 um:zero minimum:1000 name:PM_BR_MPRED_CR_GRP8 : (Group 8 pm_branch7) A conditional branch instruction was incorrectly predicted as taken or not taken. The branch execution unit detects a branch mispredict because the CR value is opposite of the predicted value. This will result in a branch redirect flush if not overfidden by a flush of an older instruction.
+event:0X0081 counters:1 um:zero minimum:1000 name:PM_BR_PRED_CR_GRP8 : (Group 8 pm_branch7) A conditional branch instruction was predicted as taken or not taken.
+event:0X0082 counters:2 um:zero minimum:1000 name:PM_BR_PRED_CCACHE_GRP8 : (Group 8 pm_branch7) The count value of a Branch and Count instruction was predicted
+event:0X0083 counters:3 um:zero minimum:1000 name:PM_BR_PRED_LSTACK_GRP8 : (Group 8 pm_branch7) The target address of a Branch to Link instruction was predicted by the link stack.
+event:0X0084 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP8 : (Group 8 pm_branch7) Number of run instructions completed.
+event:0X0085 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP8 : (Group 8 pm_branch7) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 9 pm_branch8, Branch operations
+event:0X0090 counters:0 um:zero minimum:1000 name:PM_BR_MPRED_TA_GRP9 : (Group 9 pm_branch8) A branch instruction target was incorrectly predicted. This will result in a branch mispredict flush unless a flush is detected from an older instruction.
+event:0X0091 counters:1 um:zero minimum:1000 name:PM_BR_PRED_CR_GRP9 : (Group 9 pm_branch8) A conditional branch instruction was predicted as taken or not taken.
+event:0X0092 counters:2 um:zero minimum:1000 name:PM_BR_PRED_CCACHE_GRP9 : (Group 9 pm_branch8) The count value of a Branch and Count instruction was predicted
+event:0X0093 counters:3 um:zero minimum:1000 name:PM_BR_PRED_LSTACK_GRP9 : (Group 9 pm_branch8) The target address of a Branch to Link instruction was predicted by the link stack.
+event:0X0094 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP9 : (Group 9 pm_branch8) Number of run instructions completed.
+event:0X0095 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP9 : (Group 9 pm_branch8) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 10 pm_branch9, Branch operations
+event:0X00A0 counters:0 um:zero minimum:1000 name:PM_BR_MPRED_CCACHE_GRP10 : (Group 10 pm_branch9) A branch instruction target was incorrectly predicted by the ccount cache. This will result in a branch redirect flush if not overfidden by a flush of an older instruction.
+event:0X00A1 counters:1 um:zero minimum:1000 name:PM_BR_PRED_CR_GRP10 : (Group 10 pm_branch9) A conditional branch instruction was predicted as taken or not taken.
+event:0X00A2 counters:2 um:zero minimum:1000 name:PM_BR_PRED_CCACHE_GRP10 : (Group 10 pm_branch9) The count value of a Branch and Count instruction was predicted
+event:0X00A3 counters:3 um:zero minimum:1000 name:PM_BR_PRED_LSTACK_GRP10 : (Group 10 pm_branch9) The target address of a Branch to Link instruction was predicted by the link stack.
+event:0X00A4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP10 : (Group 10 pm_branch9) Number of run instructions completed.
+event:0X00A5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP10 : (Group 10 pm_branch9) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 11 pm_slb_miss, SLB Misses
+event:0X00B0 counters:0 um:zero minimum:1000 name:PM_IERAT_MISS_GRP11 : (Group 11 pm_slb_miss) A translation request missed the Instruction Effective to Real Address Translation (ERAT) table
+event:0X00B1 counters:1 um:zero minimum:1000 name:PM_DSLB_MISS_GRP11 : (Group 11 pm_slb_miss) A SLB miss for a data request occurred. SLB misses trap to the operating system to resolve.
+event:0X00B2 counters:2 um:zero minimum:1000 name:PM_ISLB_MISS_GRP11 : (Group 11 pm_slb_miss) A SLB miss for an instruction fetch as occurred
+event:0X00B3 counters:3 um:zero minimum:1000 name:PM_SLB_MISS_GRP11 : (Group 11 pm_slb_miss) Total of all Segment Lookaside Buffer (SLB) misses, Instructions + Data.
+event:0X00B4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP11 : (Group 11 pm_slb_miss) Number of run instructions completed.
+event:0X00B5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP11 : (Group 11 pm_slb_miss) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 12 pm_tlb_miss, TLB Misses
+event:0X00C0 counters:0 um:zero minimum:1000 name:PM_BTAC_MISS_GRP12 : (Group 12 pm_tlb_miss) BTAC Mispredicted
+event:0X00C1 counters:1 um:zero minimum:1000 name:PM_TLB_MISS_GRP12 : (Group 12 pm_tlb_miss) Total of Data TLB mises + Instruction TLB misses
+event:0X00C2 counters:2 um:zero minimum:1000 name:PM_DTLB_MISS_GRP12 : (Group 12 pm_tlb_miss) Data TLB misses, all page sizes.
+event:0X00C3 counters:3 um:zero minimum:1000 name:PM_ITLB_MISS_GRP12 : (Group 12 pm_tlb_miss) A TLB miss for an Instruction Fetch has occurred
+event:0X00C4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP12 : (Group 12 pm_tlb_miss) Number of run instructions completed.
+event:0X00C5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP12 : (Group 12 pm_tlb_miss) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 13 pm_dtlb_miss, DTLB Misses
+event:0X00D0 counters:0 um:zero minimum:1000 name:PM_DTLB_MISS_16G_GRP13 : (Group 13 pm_dtlb_miss) Data TLB references to 16GB pages that missed the TLB. Page size is determined at TLB reload time.
+event:0X00D1 counters:1 um:zero minimum:1000 name:PM_DTLB_MISS_4K_GRP13 : (Group 13 pm_dtlb_miss) Data TLB references to 4KB pages that missed the TLB. Page size is determined at TLB reload time.
+event:0X00D2 counters:2 um:zero minimum:1000 name:PM_DTLB_MISS_64K_GRP13 : (Group 13 pm_dtlb_miss) Data TLB references to 64KB pages that missed the TLB. Page size is determined at TLB reload time.
+event:0X00D3 counters:3 um:zero minimum:1000 name:PM_DTLB_MISS_16M_GRP13 : (Group 13 pm_dtlb_miss) Data TLB references to 16MB pages that missed the TLB. Page size is determined at TLB reload time.
+event:0X00D4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP13 : (Group 13 pm_dtlb_miss) Number of run instructions completed.
+event:0X00D5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP13 : (Group 13 pm_dtlb_miss) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 14 pm_derat_miss1, DERAT misses
+event:0X00E0 counters:0 um:zero minimum:1000 name:PM_DERAT_MISS_4K_GRP14 : (Group 14 pm_derat_miss1) A data request (load or store) missed the ERAT for 4K page and resulted in an ERAT reload.
+event:0X00E1 counters:1 um:zero minimum:1000 name:PM_DERAT_MISS_64K_GRP14 : (Group 14 pm_derat_miss1) A data request (load or store) missed the ERAT for 64K page and resulted in an ERAT reload.
+event:0X00E2 counters:2 um:zero minimum:1000 name:PM_DERAT_MISS_16M_GRP14 : (Group 14 pm_derat_miss1) A data request (load or store) missed the ERAT for 16M page and resulted in an ERAT reload.
+event:0X00E3 counters:3 um:zero minimum:1000 name:PM_DERAT_MISS_16G_GRP14 : (Group 14 pm_derat_miss1) A data request (load or store) missed the ERAT for 16G page and resulted in an ERAT reload.
+event:0X00E4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP14 : (Group 14 pm_derat_miss1) Number of run instructions completed.
+event:0X00E5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP14 : (Group 14 pm_derat_miss1) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 15 pm_derat_miss2, DERAT misses
+event:0X00F0 counters:0 um:zero minimum:10000 name:PM_INST_CMPL_GRP15 : (Group 15 pm_derat_miss2) Number of PowerPC Instructions that completed.
+event:0X00F1 counters:1 um:zero minimum:1000 name:PM_DERAT_MISS_64K_GRP15 : (Group 15 pm_derat_miss2) A data request (load or store) missed the ERAT for 64K page and resulted in an ERAT reload.
+event:0X00F2 counters:2 um:zero minimum:1000 name:PM_DERAT_MISS_16M_GRP15 : (Group 15 pm_derat_miss2) A data request (load or store) missed the ERAT for 16M page and resulted in an ERAT reload.
+event:0X00F3 counters:3 um:zero minimum:1000 name:PM_DERAT_MISS_16G_GRP15 : (Group 15 pm_derat_miss2) A data request (load or store) missed the ERAT for 16G page and resulted in an ERAT reload.
+event:0X00F4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP15 : (Group 15 pm_derat_miss2) Number of run instructions completed.
+event:0X00F5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP15 : (Group 15 pm_derat_miss2) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 16 pm_misc_miss1, Misses
+event:0X0100 counters:0 um:zero minimum:1000 name:PM_DSLB_MISS_GRP16 : (Group 16 pm_misc_miss1) A SLB miss for a data request occurred. SLB misses trap to the operating system to resolve.
+event:0X0101 counters:1 um:zero minimum:1000 name:PM_DATA_FROM_L2MISS_GRP16 : (Group 16 pm_misc_miss1) The processor's Data Cache was reloaded but not from the local L2.
+event:0X0102 counters:2 um:zero minimum:1000 name:PM_LSU_DERAT_MISS_GRP16 : (Group 16 pm_misc_miss1) Total D-ERAT Misses. Requests that miss the Derat are rejected and retried until the request hits in the Erat. This may result in multiple erat misses for the same instruction. Combined Unit 0 + 1.
+event:0X0103 counters:3 um:zero minimum:1000 name:PM_LD_MISS_L1_GRP16 : (Group 16 pm_misc_miss1) Load references that miss the Level 1 Data cache. Combined unit 0 + 1.
+event:0X0104 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP16 : (Group 16 pm_misc_miss1) Number of run instructions completed.
+event:0X0105 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP16 : (Group 16 pm_misc_miss1) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 17 pm_misc_miss2, Misses
+event:0X0110 counters:0 um:zero minimum:10000 name:PM_CYC_GRP17 : (Group 17 pm_misc_miss2) Processor Cycles
+event:0X0111 counters:1 um:zero minimum:1000 name:PM_PTEG_FROM_L3MISS_GRP17 : (Group 17 pm_misc_miss2) Page Table Entry was loaded into the ERAT from beyond the L3 due to a demand load or store.
+event:0X0112 counters:2 um:zero minimum:1000 name:PM_LSU_DERAT_MISS_GRP17 : (Group 17 pm_misc_miss2) Total D-ERAT Misses. Requests that miss the Derat are rejected and retried until the request hits in the Erat. This may result in multiple erat misses for the same instruction. Combined Unit 0 + 1.
+event:0X0113 counters:3 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP17 : (Group 17 pm_misc_miss2) Number of run instructions completed.
+event:0X0114 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP17 : (Group 17 pm_misc_miss2) Number of run instructions completed.
+event:0X0115 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP17 : (Group 17 pm_misc_miss2) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 18 pm_misc_miss3, Misses
+event:0X0120 counters:0 um:zero minimum:10000 name:PM_CYC_GRP18 : (Group 18 pm_misc_miss3) Processor Cycles
+event:0X0121 counters:1 um:zero minimum:1000 name:PM_PTEG_FROM_L3MISS_GRP18 : (Group 18 pm_misc_miss3) Page Table Entry was loaded into the ERAT from beyond the L3 due to a demand load or store.
+event:0X0122 counters:2 um:zero minimum:1000 name:PM_LSU_DERAT_MISS_GRP18 : (Group 18 pm_misc_miss3) Total D-ERAT Misses. Requests that miss the Derat are rejected and retried until the request hits in the Erat. This may result in multiple erat misses for the same instruction. Combined Unit 0 + 1.
+event:0X0123 counters:3 um:zero minimum:1000 name:PM_PTEG_FROM_L2MISS_GRP18 : (Group 18 pm_misc_miss3) A Page Table Entry was loaded into the TLB but not from the local L2.
+event:0X0124 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP18 : (Group 18 pm_misc_miss3) Number of run instructions completed.
+event:0X0125 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP18 : (Group 18 pm_misc_miss3) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 19 pm_misc_miss4, Misses
+event:0X0130 counters:0 um:zero minimum:1000 name:PM_DSLB_MISS_GRP19 : (Group 19 pm_misc_miss4) A SLB miss for a data request occurred. SLB misses trap to the operating system to resolve.
+event:0X0131 counters:1 um:zero minimum:1000 name:PM_INST_FROM_L3MISS_GRP19 : (Group 19 pm_misc_miss4) An instruction fetch group was fetched from beyond L3. Fetch groups can contain up to 8 instructions.
+event:0X0132 counters:2 um:zero minimum:10000 name:PM_INST_CMPL_GRP19 : (Group 19 pm_misc_miss4) Number of PowerPC Instructions that completed.
+event:0X0133 counters:3 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP19 : (Group 19 pm_misc_miss4) Number of run instructions completed.
+event:0X0134 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP19 : (Group 19 pm_misc_miss4) Number of run instructions completed.
+event:0X0135 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP19 : (Group 19 pm_misc_miss4) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 20 pm_misc_miss5, Misses
+event:0X0140 counters:0 um:zero minimum:1000 name:PM_IERAT_MISS_GRP20 : (Group 20 pm_misc_miss5) A translation request missed the Instruction Effective to Real Address Translation (ERAT) table
+event:0X0141 counters:1 um:zero minimum:1000 name:PM_DSLB_MISS_GRP20 : (Group 20 pm_misc_miss5) A SLB miss for a data request occurred. SLB misses trap to the operating system to resolve.
+event:0X0142 counters:2 um:zero minimum:1000 name:PM_ISLB_MISS_GRP20 : (Group 20 pm_misc_miss5) A SLB miss for an instruction fetch as occurred
+event:0X0143 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP20 : (Group 20 pm_misc_miss5) Number of PowerPC Instructions that completed.
+event:0X0144 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP20 : (Group 20 pm_misc_miss5) Number of run instructions completed.
+event:0X0145 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP20 : (Group 20 pm_misc_miss5) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 21 pm_pteg1, PTEG sources
+event:0X0150 counters:0 um:zero minimum:1000 name:PM_PTEG_FROM_L2_GRP21 : (Group 21 pm_pteg1) A Page Table Entry was loaded into the ERAT from the local L2 due to a demand load or store.
+event:0X0151 counters:1 um:zero minimum:1000 name:PM_INST_PTEG_FROM_L3_GRP21 : (Group 21 pm_pteg1) Instruction PTEG loaded from L3
+event:0X0152 counters:2 um:zero minimum:1000 name:PM_PTEG_FROM_L21_MOD_GRP21 : (Group 21 pm_pteg1) PTEG loaded from another L2 on same chip modified
+event:0X0153 counters:3 um:zero minimum:1000 name:PM_INST_PTEG_FROM_DL2L3_MOD_GRP21 : (Group 21 pm_pteg1) Instruction PTEG loaded from distant L2 or L3 modified
+event:0X0154 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP21 : (Group 21 pm_pteg1) Number of run instructions completed.
+event:0X0155 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP21 : (Group 21 pm_pteg1) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 22 pm_pteg2, PTEG sources
+event:0X0160 counters:0 um:zero minimum:1000 name:PM_INST_PTEG_FROM_L2_GRP22 : (Group 22 pm_pteg2) Instruction PTEG loaded from L2
+event:0X0161 counters:1 um:zero minimum:1000 name:PM_INST_PTEG_FROM_RL2L3_SHR_GRP22 : (Group 22 pm_pteg2) Instruction PTEG loaded from remote L2 or L3 shared
+event:0X0162 counters:2 um:zero minimum:1000 name:PM_INST_PTEG_FROM_DL2L3_SHR_GRP22 : (Group 22 pm_pteg2) Instruction PTEG loaded from remote L2 or L3 shared
+event:0X0163 counters:3 um:zero minimum:1000 name:PM_PTEG_FROM_DL2L3_MOD_GRP22 : (Group 22 pm_pteg2) A Page Table Entry was loaded into the ERAT with modified (M) data from an L2 or L3 on a distant module due to a demand load or store.
+event:0X0164 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP22 : (Group 22 pm_pteg2) Number of run instructions completed.
+event:0X0165 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP22 : (Group 22 pm_pteg2) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 23 pm_pteg3, PTEG sources
+event:0X0170 counters:0 um:zero minimum:1000 name:PM_PTEG_FROM_L31_MOD_GRP23 : (Group 23 pm_pteg3) PTEG loaded from another L3 on same chip modified
+event:0X0171 counters:1 um:zero minimum:1000 name:PM_PTEG_FROM_L3MISS_GRP23 : (Group 23 pm_pteg3) Page Table Entry was loaded into the ERAT from beyond the L3 due to a demand load or store.
+event:0X0172 counters:2 um:zero minimum:1000 name:PM_INST_PTEG_FROM_RMEM_GRP23 : (Group 23 pm_pteg3) Instruction PTEG loaded from remote memory
+event:0X0173 counters:3 um:zero minimum:1000 name:PM_PTEG_FROM_LMEM_GRP23 : (Group 23 pm_pteg3) A Page Table Entry was loaded into the TLB from memory attached to the same module this proccessor is located on.
+event:0X0174 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP23 : (Group 23 pm_pteg3) Number of run instructions completed.
+event:0X0175 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP23 : (Group 23 pm_pteg3) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 24 pm_pteg4, PTEG sources
+event:0X0180 counters:0 um:zero minimum:1000 name:PM_INST_PTEG_FROM_RL2L3_MOD_GRP24 : (Group 24 pm_pteg4) Instruction PTEG loaded from remote L2 or L3 modified
+event:0X0181 counters:1 um:zero minimum:1000 name:PM_PTEG_FROM_DMEM_GRP24 : (Group 24 pm_pteg4) A Page Table Entry was loaded into the ERAT with data from memory attached to a distant module due to a demand load or store.
+event:0X0182 counters:2 um:zero minimum:1000 name:PM_PTEG_FROM_RMEM_GRP24 : (Group 24 pm_pteg4) A Page Table Entry was loaded into the TLB from memory attached to a different module than this proccessor is located on.
+event:0X0183 counters:3 um:zero minimum:1000 name:PM_PTEG_FROM_LMEM_GRP24 : (Group 24 pm_pteg4) A Page Table Entry was loaded into the TLB from memory attached to the same module this proccessor is located on.
+event:0X0184 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP24 : (Group 24 pm_pteg4) Number of run instructions completed.
+event:0X0185 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP24 : (Group 24 pm_pteg4) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 25 pm_pteg5, PTEG sources
+event:0X0190 counters:0 um:zero minimum:1000 name:PM_PTEG_FROM_RL2L3_MOD_GRP25 : (Group 25 pm_pteg5) A Page Table Entry was loaded into the ERAT with modified (M) data from an L2 or L3 on a remote module due to a demand load or store.
+event:0X0191 counters:1 um:zero minimum:1000 name:PM_PTEG_FROM_L31_SHR_GRP25 : (Group 25 pm_pteg5) PTEG loaded from another L3 on same chip shared
+event:0X0192 counters:2 um:zero minimum:1000 name:PM_PTEG_FROM_DL2L3_SHR_GRP25 : (Group 25 pm_pteg5) A Page Table Entry was loaded into the ERAT with shared (T or SL) data from an L2 or L3 on a remote module due to a demand load or store.
+event:0X0193 counters:3 um:zero minimum:1000 name:PM_PTEG_FROM_L21_SHR_GRP25 : (Group 25 pm_pteg5) PTEG loaded from another L2 on same chip shared
+event:0X0194 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP25 : (Group 25 pm_pteg5) Number of run instructions completed.
+event:0X0195 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP25 : (Group 25 pm_pteg5) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 26 pm_pteg6, PTEG sources
+event:0X01A0 counters:0 um:zero minimum:1000 name:PM_INST_PTEG_FROM_L31_MOD_GRP26 : (Group 26 pm_pteg6) Instruction PTEG loaded from another L3 on same chip modified
+event:0X01A1 counters:1 um:zero minimum:1000 name:PM_INST_PTEG_FROM_DMEM_GRP26 : (Group 26 pm_pteg6) Instruction PTEG loaded from distant memory
+event:0X01A2 counters:2 um:zero minimum:1000 name:PM_INST_PTEG_FROM_L21_MOD_GRP26 : (Group 26 pm_pteg6) Instruction PTEG loaded from another L2 on same chip modified
+event:0X01A3 counters:3 um:zero minimum:1000 name:PM_INST_PTEG_FROM_LMEM_GRP26 : (Group 26 pm_pteg6) Instruction PTEG loaded from local memory
+event:0X01A4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP26 : (Group 26 pm_pteg6) Number of run instructions completed.
+event:0X01A5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP26 : (Group 26 pm_pteg6) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 27 pm_pteg7, PTEG sources
+event:0X01B0 counters:0 um:zero minimum:1000 name:PM_INST_PTEG_FROM_L31_MOD_GRP27 : (Group 27 pm_pteg7) Instruction PTEG loaded from another L3 on same chip modified
+event:0X01B1 counters:1 um:zero minimum:1000 name:PM_INST_PTEG_FROM_L31_SHR_GRP27 : (Group 27 pm_pteg7) Instruction PTEG loaded from another L3 on same chip shared
+event:0X01B2 counters:2 um:zero minimum:1000 name:PM_INST_PTEG_FROM_L21_MOD_GRP27 : (Group 27 pm_pteg7) Instruction PTEG loaded from another L2 on same chip modified
+event:0X01B3 counters:3 um:zero minimum:1000 name:PM_INST_PTEG_FROM_L21_SHR_GRP27 : (Group 27 pm_pteg7) Instruction PTEG loaded from another L2 on same chip shared
+event:0X01B4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP27 : (Group 27 pm_pteg7) Number of run instructions completed.
+event:0X01B5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP27 : (Group 27 pm_pteg7) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 28 pm_pteg8, PTEG sources
+event:0X01C0 counters:0 um:zero minimum:1000 name:PM_INST_PTEG_FROM_L2_GRP28 : (Group 28 pm_pteg8) Instruction PTEG loaded from L2
+event:0X01C1 counters:1 um:zero minimum:1000 name:PM_INST_PTEG_FROM_L3MISS_GRP28 : (Group 28 pm_pteg8) Instruction PTEG loaded from L3 miss
+event:0X01C2 counters:2 um:zero minimum:1000 name:PM_INST_PTEG_FROM_RMEM_GRP28 : (Group 28 pm_pteg8) Instruction PTEG loaded from remote memory
+event:0X01C3 counters:3 um:zero minimum:1000 name:PM_INST_PTEG_FROM_L2MISS_GRP28 : (Group 28 pm_pteg8) Instruction PTEG loaded from L2 miss
+event:0X01C4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP28 : (Group 28 pm_pteg8) Number of run instructions completed.
+event:0X01C5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP28 : (Group 28 pm_pteg8) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 29 pm_pteg9, PTEG sources
+event:0X01D0 counters:0 um:zero minimum:1000 name:PM_PTEG_FROM_L2_GRP29 : (Group 29 pm_pteg9) A Page Table Entry was loaded into the ERAT from the local L2 due to a demand load or store.
+event:0X01D1 counters:1 um:zero minimum:1000 name:PM_PTEG_FROM_L3_GRP29 : (Group 29 pm_pteg9) A Page Table Entry was loaded into the TLB from the local L3 due to a demand load.
+event:0X01D2 counters:2 um:zero minimum:1000 name:PM_PTEG_FROM_RMEM_GRP29 : (Group 29 pm_pteg9) A Page Table Entry was loaded into the TLB from memory attached to a different module than this proccessor is located on.
+event:0X01D3 counters:3 um:zero minimum:1000 name:PM_PTEG_FROM_L2MISS_GRP29 : (Group 29 pm_pteg9) A Page Table Entry was loaded into the TLB but not from the local L2.
+event:0X01D4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP29 : (Group 29 pm_pteg9) Number of run instructions completed.
+event:0X01D5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP29 : (Group 29 pm_pteg9) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 30 pm_pteg10, PTEG sources
+event:0X01E0 counters:0 um:zero minimum:1000 name:PM_PTEG_FROM_L2_GRP30 : (Group 30 pm_pteg10) A Page Table Entry was loaded into the ERAT from the local L2 due to a demand load or store.
+event:0X01E1 counters:1 um:zero minimum:1000 name:PM_PTEG_FROM_L3_GRP30 : (Group 30 pm_pteg10) A Page Table Entry was loaded into the TLB from the local L3 due to a demand load.
+event:0X01E2 counters:2 um:zero minimum:10000 name:PM_INST_CMPL_GRP30 : (Group 30 pm_pteg10) Number of PowerPC Instructions that completed.
+event:0X01E3 counters:3 um:zero minimum:10000 name:PM_CYC_GRP30 : (Group 30 pm_pteg10) Processor Cycles
+event:0X01E4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP30 : (Group 30 pm_pteg10) Number of run instructions completed.
+event:0X01E5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP30 : (Group 30 pm_pteg10) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 31 pm_pteg11, PTEG sources
+event:0X01F0 counters:0 um:zero minimum:1000 name:PM_PTEG_FROM_RL2L3_MOD_GRP31 : (Group 31 pm_pteg11) A Page Table Entry was loaded into the ERAT with modified (M) data from an L2 or L3 on a remote module due to a demand load or store.
+event:0X01F1 counters:1 um:zero minimum:1000 name:PM_PTEG_FROM_RL2L3_SHR_GRP31 : (Group 31 pm_pteg11) A Page Table Entry was loaded into the ERAT with shared (T or SL) data from an L2 or L3 on a remote module due to a demand load or store.
+event:0X01F2 counters:2 um:zero minimum:10000 name:PM_INST_CMPL_GRP31 : (Group 31 pm_pteg11) Number of PowerPC Instructions that completed.
+event:0X01F3 counters:3 um:zero minimum:1000 name:PM_PTEG_FROM_DL2L3_MOD_GRP31 : (Group 31 pm_pteg11) A Page Table Entry was loaded into the ERAT with modified (M) data from an L2 or L3 on a distant module due to a demand load or store.
+event:0X01F4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP31 : (Group 31 pm_pteg11) Number of run instructions completed.
+event:0X01F5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP31 : (Group 31 pm_pteg11) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 32 pm_pteg12, PTEG sources
+event:0X0200 counters:0 um:zero minimum:10000 name:PM_INST_CMPL_GRP32 : (Group 32 pm_pteg12) Number of PowerPC Instructions that completed.
+event:0X0201 counters:1 um:zero minimum:1000 name:PM_PTEG_FROM_DMEM_GRP32 : (Group 32 pm_pteg12) A Page Table Entry was loaded into the ERAT with data from memory attached to a distant module due to a demand load or store.
+event:0X0202 counters:2 um:zero minimum:1000 name:PM_PTEG_FROM_RMEM_GRP32 : (Group 32 pm_pteg12) A Page Table Entry was loaded into the TLB from memory attached to a different module than this proccessor is located on.
+event:0X0203 counters:3 um:zero minimum:1000 name:PM_PTEG_FROM_LMEM_GRP32 : (Group 32 pm_pteg12) A Page Table Entry was loaded into the TLB from memory attached to the same module this proccessor is located on.
+event:0X0204 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP32 : (Group 32 pm_pteg12) Number of run instructions completed.
+event:0X0205 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP32 : (Group 32 pm_pteg12) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 33 pm_freq1, Frequency events
+event:0X0210 counters:0 um:zero minimum:1000 name:PM_POWER_EVENT1_GRP33 : (Group 33 pm_freq1) Power Management Event 1
+event:0X0211 counters:1 um:zero minimum:1000 name:PM_DPU_HELD_POWER_GRP33 : (Group 33 pm_freq1) Cycles that Instruction Dispatch was held due to power management. More than one hold condition can exist at the same time
+event:0X0212 counters:2 um:zero minimum:1000 name:PM_FREQ_DOWN_GRP33 : (Group 33 pm_freq1) Processor frequency was slowed down due to power management
+event:0X0213 counters:3 um:zero minimum:1000 name:PM_FREQ_UP_GRP33 : (Group 33 pm_freq1) Processor frequency was sped up due to power management
+event:0X0214 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP33 : (Group 33 pm_freq1) Number of run instructions completed.
+event:0X0215 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP33 : (Group 33 pm_freq1) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 34 pm_freq2, Frequency events
+event:0X0220 counters:0 um:zero minimum:1000 name:PM_POWER_EVENT1_GRP34 : (Group 34 pm_freq2) Power Management Event 1
+event:0X0221 counters:1 um:zero minimum:1000 name:PM_DPU_HELD_POWER_GRP34 : (Group 34 pm_freq2) Cycles that Instruction Dispatch was held due to power management. More than one hold condition can exist at the same time
+event:0X0222 counters:2 um:zero minimum:1000 name:PM_DISP_HELD_THERMAL_GRP34 : (Group 34 pm_freq2) Dispatch Held due to Thermal
+event:0X0223 counters:3 um:zero minimum:1000 name:PM_FREQ_UP_GRP34 : (Group 34 pm_freq2) Processor frequency was sped up due to power management
+event:0X0224 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP34 : (Group 34 pm_freq2) Number of run instructions completed.
+event:0X0225 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP34 : (Group 34 pm_freq2) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 35 pm_L1_ref, L1 references
+event:0X0230 counters:0 um:zero minimum:1000 name:PM_LD_REF_L1_GRP35 : (Group 35 pm_L1_ref) L1 D cache load references counted at finish
+event:0X0231 counters:1 um:zero minimum:1000 name:PM_LD_REF_L1_LSU0_GRP35 : (Group 35 pm_L1_ref) Load references to Level 1 Data Cache, by unit 0.
+event:0X0232 counters:2 um:zero minimum:1000 name:PM_LD_REF_L1_LSU1_GRP35 : (Group 35 pm_L1_ref) Load references to Level 1 Data Cache, by unit 1.
+event:0X0233 counters:3 um:zero minimum:1000 name:PM_LSU_TWO_TABLEWALK_CYC_GRP35 : (Group 35 pm_L1_ref) Cycles when two tablewalks pending on this thread
+event:0X0234 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP35 : (Group 35 pm_L1_ref) Number of run instructions completed.
+event:0X0235 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP35 : (Group 35 pm_L1_ref) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 36 pm_flush1, Flushes
+event:0X0240 counters:0 um:zero minimum:1000 name:PM_FLUSH_DISP_SYNC_GRP36 : (Group 36 pm_flush1) Dispatch Flush: Sync
+event:0X0241 counters:1 um:zero minimum:1000 name:PM_FLUSH_DISP_TLBIE_GRP36 : (Group 36 pm_flush1) Dispatch Flush: TLBIE
+event:0X0242 counters:2 um:zero minimum:1000 name:PM_FLUSH_DISP_SB_GRP36 : (Group 36 pm_flush1) Dispatch Flush: Scoreboard
+event:0X0243 counters:3 um:zero minimum:1000 name:PM_FLUSH_GRP36 : (Group 36 pm_flush1) Flushes occurred including LSU and Branch flushes.
+event:0X0244 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP36 : (Group 36 pm_flush1) Number of run instructions completed.
+event:0X0245 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP36 : (Group 36 pm_flush1) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 37 pm_flush2, Flushes
+event:0X0250 counters:0 um:zero minimum:1000 name:PM_FLUSH_PARTIAL_GRP37 : (Group 37 pm_flush2) Partial flush
+event:0X0251 counters:1 um:zero minimum:1000 name:PM_FLUSH_DISP_GRP37 : (Group 37 pm_flush2) Dispatch flush
+event:0X0252 counters:2 um:zero minimum:1000 name:PM_LSU_FLUSH_GRP37 : (Group 37 pm_flush2) A flush was initiated by the Load Store Unit.
+event:0X0253 counters:3 um:zero minimum:1000 name:PM_LSU_PARTIAL_CDF_GRP37 : (Group 37 pm_flush2) A partial cacheline was returned from the L3
+event:0X0254 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP37 : (Group 37 pm_flush2) Number of run instructions completed.
+event:0X0255 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP37 : (Group 37 pm_flush2) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 38 pm_flush, Flushes
+event:0X0260 counters:0 um:zero minimum:1000 name:PM_FLUSH_DISP_GRP38 : (Group 38 pm_flush) Dispatch flush
+event:0X0261 counters:1 um:zero minimum:10000 name:PM_CYC_GRP38 : (Group 38 pm_flush) Processor Cycles
+event:0X0262 counters:2 um:zero minimum:1000 name:PM_FLUSH_COMPLETION_GRP38 : (Group 38 pm_flush) Completion Flush
+event:0X0263 counters:3 um:zero minimum:1000 name:PM_FLUSH_GRP38 : (Group 38 pm_flush) Flushes occurred including LSU and Branch flushes.
+event:0X0264 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP38 : (Group 38 pm_flush) Number of run instructions completed.
+event:0X0265 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP38 : (Group 38 pm_flush) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 39 pm_lsu_flush1, LSU Flush
+event:0X0270 counters:0 um:zero minimum:1000 name:PM_LSU_FLUSH_ULD_GRP39 : (Group 39 pm_lsu_flush1) A load was flushed because it was unaligned (crossed a 64byte boundary, or 32 byte if it missed the L1). Combined Unit 0 + 1.
+event:0X0271 counters:1 um:zero minimum:1000 name:PM_LSU_FLUSH_UST_GRP39 : (Group 39 pm_lsu_flush1) A store was flushed because it was unaligned (crossed a 4K boundary). Combined Unit 0 + 1.
+event:0X0272 counters:2 um:zero minimum:1000 name:PM_LSU_FLUSH_LRQ_GRP39 : (Group 39 pm_lsu_flush1) Load Hit Load or Store Hit Load flush. A younger load was flushed because it executed before an older store and they had overlapping data OR two loads executed out of order and they have byte overlap and there was a snoop in between to an overlapped byte. Combined Unit 0 + 1.
+event:0X0273 counters:3 um:zero minimum:1000 name:PM_LSU_FLUSH_SRQ_GRP39 : (Group 39 pm_lsu_flush1) Load Hit Store flush. A younger load was flushed because it hits (overlaps) an older store that is already in the SRQ or in the same group. If the real addresses match but the effective addresses do not, an alias condition exists that prevents store forwarding. If the load and store are in the same group the load must be flushed to separate the two instructions. Combined Unit 0 + 1.
+event:0X0274 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP39 : (Group 39 pm_lsu_flush1) Number of run instructions completed.
+event:0X0275 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP39 : (Group 39 pm_lsu_flush1) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 40 pm_lsu_flush2, LSU Flush ULD
+event:0X0280 counters:0 um:zero minimum:1000 name:PM_LSU_FLUSH_ULD_GRP40 : (Group 40 pm_lsu_flush2) A load was flushed because it was unaligned (crossed a 64byte boundary, or 32 byte if it missed the L1). Combined Unit 0 + 1.
+event:0X0281 counters:1 um:zero minimum:1000 name:PM_LSU0_FLUSH_ULD_GRP40 : (Group 40 pm_lsu_flush2) A load was flushed from unit 0 because it was unaligned (crossed a 64 byte boundary, or 32 byte if it missed the L1)
+event:0X0282 counters:2 um:zero minimum:1000 name:PM_LSU1_FLUSH_ULD_GRP40 : (Group 40 pm_lsu_flush2) A load was flushed from unit 1 because it was unaligned (crossed a 64 byte boundary, or 32 byte if it missed the L1).
+event:0X0283 counters:3 um:zero minimum:1000 name:PM_FLUSH_GRP40 : (Group 40 pm_lsu_flush2) Flushes occurred including LSU and Branch flushes.
+event:0X0284 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP40 : (Group 40 pm_lsu_flush2) Number of run instructions completed.
+event:0X0285 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP40 : (Group 40 pm_lsu_flush2) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 41 pm_lsu_flush3, LSU Flush UST
+event:0X0290 counters:0 um:zero minimum:1000 name:PM_LSU_FLUSH_UST_GRP41 : (Group 41 pm_lsu_flush3) A store was flushed because it was unaligned (crossed a 4K boundary). Combined Unit 0 + 1.
+event:0X0291 counters:1 um:zero minimum:1000 name:PM_LSU0_FLUSH_UST_GRP41 : (Group 41 pm_lsu_flush3) A store was flushed from unit 0 because it was unaligned (crossed a 4K boundary).
+event:0X0292 counters:2 um:zero minimum:1000 name:PM_LSU1_FLUSH_UST_GRP41 : (Group 41 pm_lsu_flush3) A store was flushed from unit 1 because it was unaligned (crossed a 4K boundary)
+event:0X0293 counters:3 um:zero minimum:1000 name:PM_FLUSH_GRP41 : (Group 41 pm_lsu_flush3) Flushes occurred including LSU and Branch flushes.
+event:0X0294 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP41 : (Group 41 pm_lsu_flush3) Number of run instructions completed.
+event:0X0295 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP41 : (Group 41 pm_lsu_flush3) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 42 pm_lsu_flush4, LSU Flush LRQ
+event:0X02A0 counters:0 um:zero minimum:1000 name:PM_LSU_FLUSH_LRQ_GRP42 : (Group 42 pm_lsu_flush4) Load Hit Load or Store Hit Load flush. A younger load was flushed because it executed before an older store and they had overlapping data OR two loads executed out of order and they have byte overlap and there was a snoop in between to an overlapped byte. Combined Unit 0 + 1.
+event:0X02A1 counters:1 um:zero minimum:1000 name:PM_LSU0_FLUSH_LRQ_GRP42 : (Group 42 pm_lsu_flush4) Load Hit Load or Store Hit Load flush. A younger load was flushed from unit 0 because it executed before an older store and they had overlapping data OR two loads executed out of order and they have byte overlap and there was a snoop in between to an overlapped byte.
+event:0X02A2 counters:2 um:zero minimum:1000 name:PM_LSU1_FLUSH_LRQ_GRP42 : (Group 42 pm_lsu_flush4) Load Hit Load or Store Hit Load flush. A younger load was flushed from unit 1 because it executed before an older store and they had overlapping data OR two loads executed out of order and they have byte overlap and there was a snoop in between to an overlapped byte.
+event:0X02A3 counters:3 um:zero minimum:1000 name:PM_FLUSH_GRP42 : (Group 42 pm_lsu_flush4) Flushes occurred including LSU and Branch flushes.
+event:0X02A4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP42 : (Group 42 pm_lsu_flush4) Number of run instructions completed.
+event:0X02A5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP42 : (Group 42 pm_lsu_flush4) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 43 pm_lsu_flush5, LSU Flush SRQ
+event:0X02B0 counters:0 um:zero minimum:1000 name:PM_LSU_FLUSH_SRQ_GRP43 : (Group 43 pm_lsu_flush5) Load Hit Store flush. A younger load was flushed because it hits (overlaps) an older store that is already in the SRQ or in the same group. If the real addresses match but the effective addresses do not, an alias condition exists that prevents store forwarding. If the load and store are in the same group the load must be flushed to separate the two instructions. Combined Unit 0 + 1.
+event:0X02B1 counters:1 um:zero minimum:1000 name:PM_LSU0_FLUSH_SRQ_GRP43 : (Group 43 pm_lsu_flush5) Load Hit Store flush. A younger load was flushed from unit 0 because it hits (overlaps) an older store that is already in the SRQ or in the same group. If the real addresses match but the effective addresses do not, an alias condition exists that prevents store forwarding. If the load and store are in the same group the load must be flushed to separate the two instructions.
+event:0X02B2 counters:2 um:zero minimum:1000 name:PM_LSU1_FLUSH_SRQ_GRP43 : (Group 43 pm_lsu_flush5) Load Hit Store flush. A younger load was flushed from unit 1 because it hits (overlaps) an older store that is already in the SRQ or in the same group. If the real addresses match but the effective addresses do not, an alias condition exists that prevents store forwarding. If the load and store are in the same group the load must be flushed to separate the two instructions.
+event:0X02B3 counters:3 um:zero minimum:1000 name:PM_FLUSH_GRP43 : (Group 43 pm_lsu_flush5) Flushes occurred including LSU and Branch flushes.
+event:0X02B4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP43 : (Group 43 pm_lsu_flush5) Number of run instructions completed.
+event:0X02B5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP43 : (Group 43 pm_lsu_flush5) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 44 pm_prefetch, I cache Prefetches
+event:0X02C0 counters:0 um:zero minimum:1000 name:PM_IC_DEMAND_CYC_GRP44 : (Group 44 pm_prefetch) Cycles when a demand ifetch was pending
+event:0X02C1 counters:1 um:zero minimum:1000 name:PM_IC_PREF_REQ_GRP44 : (Group 44 pm_prefetch) An instruction prefetch request has been made.
+event:0X02C2 counters:2 um:zero minimum:1000 name:PM_IC_RELOAD_SHR_GRP44 : (Group 44 pm_prefetch) An Instruction Cache request was made by this thread and the cache line was already in the cache for the other thread. The line is marked valid for all threads.
+event:0X02C3 counters:3 um:zero minimum:1000 name:PM_IC_PREF_WRITE_GRP44 : (Group 44 pm_prefetch) Number of Instruction Cache entries written because of prefetch. Prefetch entries are marked least recently used and are candidates for eviction if they are not needed to satify a demand fetch.
+event:0X02C4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP44 : (Group 44 pm_prefetch) Number of run instructions completed.
+event:0X02C5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP44 : (Group 44 pm_prefetch) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 45 pm_thread_cyc2, Thread cycles
+event:0X02D0 counters:0 um:zero minimum:1000 name:PM_THRD_GRP_CMPL_BOTH_CYC_GRP45 : (Group 45 pm_thread_cyc2) Cycles that both threads completed.
+event:0X02D1 counters:1 um:zero minimum:1000 name:PM_THRD_ALL_RUN_CYC_GRP45 : (Group 45 pm_thread_cyc2) Cycles when all threads had their run latches set. Operating systems use the run latch to indicate when they are doing useful work.
+event:0X02D2 counters:2 um:zero minimum:1000 name:PM_THRD_CONC_RUN_INST_GRP45 : (Group 45 pm_thread_cyc2) Instructions completed by this thread when both threads had their run latches set.
+event:0X02D3 counters:3 um:zero minimum:1000 name:PM_THRD_PRIO_0_1_CYC_GRP45 : (Group 45 pm_thread_cyc2) Cycles thread running at priority level 0 or 1
+event:0X02D4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP45 : (Group 45 pm_thread_cyc2) Number of run instructions completed.
+event:0X02D5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP45 : (Group 45 pm_thread_cyc2) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 46 pm_thread_cyc5, Thread cycles
+event:0X02E0 counters:0 um:zero minimum:1000 name:PM_THRD_PRIO_0_1_CYC_GRP46 : (Group 46 pm_thread_cyc5) Cycles thread running at priority level 0 or 1
+event:0X02E1 counters:1 um:zero minimum:1000 name:PM_THRD_PRIO_2_3_CYC_GRP46 : (Group 46 pm_thread_cyc5) Cycles thread running at priority level 2 or 3
+event:0X02E2 counters:2 um:zero minimum:1000 name:PM_THRD_PRIO_4_5_CYC_GRP46 : (Group 46 pm_thread_cyc5) Cycles thread running at priority level 4 or 5
+event:0X02E3 counters:3 um:zero minimum:1000 name:PM_THRD_PRIO_6_7_CYC_GRP46 : (Group 46 pm_thread_cyc5) Cycles thread running at priority level 6 or 7
+event:0X02E4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP46 : (Group 46 pm_thread_cyc5) Number of run instructions completed.
+event:0X02E5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP46 : (Group 46 pm_thread_cyc5) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 47 pm_fxu1, FXU events
+event:0X02F0 counters:0 um:zero minimum:1000 name:PM_FXU_IDLE_GRP47 : (Group 47 pm_fxu1) FXU0 and FXU1 are both idle.
+event:0X02F1 counters:1 um:zero minimum:1000 name:PM_FXU_BUSY_GRP47 : (Group 47 pm_fxu1) Cycles when both FXU0 and FXU1 are busy.
+event:0X02F2 counters:2 um:zero minimum:1000 name:PM_FXU0_BUSY_FXU1_IDLE_GRP47 : (Group 47 pm_fxu1) FXU0 is busy while FXU1 was idle
+event:0X02F3 counters:3 um:zero minimum:1000 name:PM_FXU1_BUSY_FXU0_IDLE_GRP47 : (Group 47 pm_fxu1) FXU0 was idle while FXU1 was busy
+event:0X02F4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP47 : (Group 47 pm_fxu1) Number of run instructions completed.
+event:0X02F5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP47 : (Group 47 pm_fxu1) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 48 pm_fxu2, FXU events
+event:0X0300 counters:0 um:zero minimum:1000 name:PM_FXU0_FIN_GRP48 : (Group 48 pm_fxu2) The Fixed Point unit 0 finished an instruction and produced a result. Instructions that finish may not necessary complete.
+event:0X0301 counters:1 um:zero minimum:10000 name:PM_RUN_CYC_GRP48 : (Group 48 pm_fxu2) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+event:0X0302 counters:2 um:zero minimum:10000 name:PM_INST_CMPL_GRP48 : (Group 48 pm_fxu2) Number of PowerPC Instructions that completed.
+event:0X0303 counters:3 um:zero minimum:1000 name:PM_FXU1_FIN_GRP48 : (Group 48 pm_fxu2) The Fixed Point unit 1 finished an instruction and produced a result. Instructions that finish may not necessary complete.
+event:0X0304 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP48 : (Group 48 pm_fxu2) Number of run instructions completed.
+event:0X0305 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP48 : (Group 48 pm_fxu2) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 49 pm_fxu3, FXU events
+event:0X0310 counters:0 um:zero minimum:10000 name:PM_CYC_GRP49 : (Group 49 pm_fxu3) Processor Cycles
+event:0X0311 counters:1 um:zero minimum:1000 name:PM_FXU_BUSY_GRP49 : (Group 49 pm_fxu3) Cycles when both FXU0 and FXU1 are busy.
+event:0X0312 counters:2 um:zero minimum:1000 name:PM_FXU0_BUSY_FXU1_IDLE_GRP49 : (Group 49 pm_fxu3) FXU0 is busy while FXU1 was idle
+event:0X0313 counters:3 um:zero minimum:1000 name:PM_FXU1_BUSY_FXU0_IDLE_GRP49 : (Group 49 pm_fxu3) FXU0 was idle while FXU1 was busy
+event:0X0314 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP49 : (Group 49 pm_fxu3) Number of run instructions completed.
+event:0X0315 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP49 : (Group 49 pm_fxu3) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 50 pm_fxu4, FXU events
+event:0X0320 counters:0 um:zero minimum:1000 name:PM_FXU_IDLE_GRP50 : (Group 50 pm_fxu4) FXU0 and FXU1 are both idle.
+event:0X0321 counters:1 um:zero minimum:1000 name:PM_FXU_BUSY_GRP50 : (Group 50 pm_fxu4) Cycles when both FXU0 and FXU1 are busy.
+event:0X0322 counters:2 um:zero minimum:10000 name:PM_CYC_GRP50 : (Group 50 pm_fxu4) Processor Cycles
+event:0X0323 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP50 : (Group 50 pm_fxu4) Number of PowerPC Instructions that completed.
+event:0X0324 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP50 : (Group 50 pm_fxu4) Number of run instructions completed.
+event:0X0325 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP50 : (Group 50 pm_fxu4) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 51 pm_L2_RCLD, L2 RC load events
+event:0X0330 counters:0 um:zero minimum:1000 name:PM_L2_RCLD_DISP_GRP51 : (Group 51 pm_L2_RCLD) L2 RC load dispatch attempt
+event:0X0331 counters:1 um:zero minimum:1000 name:PM_L2_RCLD_DISP_FAIL_OTHER_GRP51 : (Group 51 pm_L2_RCLD) L2 RC load dispatch attempt failed due to other reasons
+event:0X0332 counters:2 um:zero minimum:1000 name:PM_L2_RCST_DISP_GRP51 : (Group 51 pm_L2_RCLD) L2 RC store dispatch attempt
+event:0X0333 counters:3 um:zero minimum:1000 name:PM_L2_RCLD_BUSY_RC_FULL_GRP51 : (Group 51 pm_L2_RCLD) L2 activated Busy to the core for loads due to all RC full
+event:0X0334 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP51 : (Group 51 pm_L2_RCLD) Number of run instructions completed.
+event:0X0335 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP51 : (Group 51 pm_L2_RCLD) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 52 pm_L2_RC, RC related events
+event:0X0340 counters:0 um:zero minimum:1000 name:PM_L2_CO_FAIL_BUSY_GRP52 : (Group 52 pm_L2_RC) L2 RC Cast Out dispatch attempt failed due to all CO machines busy
+event:0X0341 counters:1 um:zero minimum:10000 name:PM_CYC_GRP52 : (Group 52 pm_L2_RC) Processor Cycles
+event:0X0342 counters:2 um:zero minimum:1000 name:PM_L2_RC_ST_DONE_GRP52 : (Group 52 pm_L2_RC) RC did st to line that was Tx or Sx
+event:0X0343 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP52 : (Group 52 pm_L2_RC) Number of PowerPC Instructions that completed.
+event:0X0344 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP52 : (Group 52 pm_L2_RC) Number of run instructions completed.
+event:0X0345 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP52 : (Group 52 pm_L2_RC) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 53 pm_L2_RCST, L2 RC Store Events
+event:0X0350 counters:0 um:zero minimum:1000 name:PM_L2_RCLD_DISP_GRP53 : (Group 53 pm_L2_RCST) L2 RC load dispatch attempt
+event:0X0351 counters:1 um:zero minimum:1000 name:PM_L2_RCLD_DISP_FAIL_OTHER_GRP53 : (Group 53 pm_L2_RCST) L2 RC load dispatch attempt failed due to other reasons
+event:0X0352 counters:2 um:zero minimum:1000 name:PM_L2_RCST_DISP_FAIL_ADDR_GRP53 : (Group 53 pm_L2_RCST) L2 RC store dispatch attempt failed due to address collision with RC/CO/SN/SQ
+event:0X0353 counters:3 um:zero minimum:1000 name:PM_L2_RCST_DISP_FAIL_OTHER_GRP53 : (Group 53 pm_L2_RCST) L2 RC store dispatch attempt failed due to other reasons
+event:0X0354 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP53 : (Group 53 pm_L2_RCST) Number of run instructions completed.
+event:0X0355 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP53 : (Group 53 pm_L2_RCST) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 54 pm_L2_ldst_1, L2 load/store
+event:0X0360 counters:0 um:zero minimum:1000 name:PM_L2_ST_GRP54 : (Group 54 pm_L2_ldst_1) Data Store Count
+event:0X0361 counters:1 um:zero minimum:1000 name:PM_L2_LD_MISS_GRP54 : (Group 54 pm_L2_ldst_1) Data Load Miss
+event:0X0362 counters:2 um:zero minimum:10000 name:PM_INST_CMPL_GRP54 : (Group 54 pm_L2_ldst_1) Number of PowerPC Instructions that completed.
+event:0X0363 counters:3 um:zero minimum:10000 name:PM_CYC_GRP54 : (Group 54 pm_L2_ldst_1) Processor Cycles
+event:0X0364 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP54 : (Group 54 pm_L2_ldst_1) Number of run instructions completed.
+event:0X0365 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP54 : (Group 54 pm_L2_ldst_1) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 55 pm_L2_ldst_2, L2 load/store
+event:0X0370 counters:0 um:zero minimum:10000 name:PM_INST_CMPL_GRP55 : (Group 55 pm_L2_ldst_2) Number of PowerPC Instructions that completed.
+event:0X0371 counters:1 um:zero minimum:10000 name:PM_CYC_GRP55 : (Group 55 pm_L2_ldst_2) Processor Cycles
+event:0X0372 counters:2 um:zero minimum:1000 name:PM_L2_LD_HIT_GRP55 : (Group 55 pm_L2_ldst_2) A load request (data or instruction) hit in the L2 directory. Includes speculative, prefetched, and demand requests. This event includes all requests to this L2 from all sources. Total for all slices
+event:0X0373 counters:3 um:zero minimum:1000 name:PM_L2_ST_HIT_GRP55 : (Group 55 pm_L2_ldst_2) A store request hit in the L2 directory. This event includes all requests to this L2 from all sources. Total for all slices.
+event:0X0374 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP55 : (Group 55 pm_L2_ldst_2) Number of run instructions completed.
+event:0X0375 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP55 : (Group 55 pm_L2_ldst_2) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 56 pm_L2_ldst_3, L2 load/store
+event:0X0380 counters:0 um:zero minimum:10000 name:PM_INST_CMPL_GRP56 : (Group 56 pm_L2_ldst_3) Number of PowerPC Instructions that completed.
+event:0X0381 counters:1 um:zero minimum:10000 name:PM_CYC_GRP56 : (Group 56 pm_L2_ldst_3) Processor Cycles
+event:0X0382 counters:2 um:zero minimum:1000 name:PM_L2_LD_DISP_GRP56 : (Group 56 pm_L2_ldst_3) All successful load dispatches
+event:0X0383 counters:3 um:zero minimum:1000 name:PM_L2_ST_DISP_GRP56 : (Group 56 pm_L2_ldst_3) All successful store dispatches
+event:0X0384 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP56 : (Group 56 pm_L2_ldst_3) Number of run instructions completed.
+event:0X0385 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP56 : (Group 56 pm_L2_ldst_3) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 57 pm_L2_RCSTLD, L2 RC Load/Store Events
+event:0X0390 counters:0 um:zero minimum:1000 name:PM_L2_RCLD_DISP_FAIL_ADDR_GRP57 : (Group 57 pm_L2_RCSTLD) L2 RC load dispatch attempt failed due to address collision with RC/CO/SN/SQ
+event:0X0391 counters:1 um:zero minimum:1000 name:PM_L2_RCST_BUSY_RC_FULL_GRP57 : (Group 57 pm_L2_RCSTLD) L2 activated Busy to the core for stores due to all RC full
+event:0X0392 counters:2 um:zero minimum:10000 name:PM_INST_CMPL_GRP57 : (Group 57 pm_L2_RCSTLD) Number of PowerPC Instructions that completed.
+event:0X0393 counters:3 um:zero minimum:10000 name:PM_CYC_GRP57 : (Group 57 pm_L2_RCSTLD) Processor Cycles
+event:0X0394 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP57 : (Group 57 pm_L2_RCSTLD) Number of run instructions completed.
+event:0X0395 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP57 : (Group 57 pm_L2_RCSTLD) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 58 pm_nest1, Nest Events
+event:0X03A0 counters:0 um:zero minimum:1000 name:PM_PB_NODE_PUMP_GRP58 : (Group 58 pm_nest1) Nest events (MC0/MC1/PB/GX), Pair0 Bit0
+event:0X03A1 counters:1 um:zero minimum:1000 name:PM_PB_SYS_PUMP_GRP58 : (Group 58 pm_nest1) Nest events (MC0/MC1/PB/GX), Pair1 Bit0
+event:0X03A2 counters:2 um:zero minimum:1000 name:PM_PB_RETRY_NODE_PUMP_GRP58 : (Group 58 pm_nest1) Nest events (MC0/MC1/PB/GX), Pair2 Bit0
+event:0X03A3 counters:3 um:zero minimum:1000 name:PM_PB_RETRY_SYS_PUMP_GRP58 : (Group 58 pm_nest1) Nest events (MC0/MC1/PB/GX), Pair3 Bit0
+event:0X03A4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP58 : (Group 58 pm_nest1) Number of run instructions completed.
+event:0X03A5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP58 : (Group 58 pm_nest1) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 59 pm_nest2, Nest Events
+event:0X03B0 counters:0 um:zero minimum:1000 name:PM_MEM0_RQ_DISP_GRP59 : (Group 59 pm_nest2) Nest events (MC0/MC1/PB/GX), Pair0 Bit1
+event:0X03B1 counters:1 um:zero minimum:1000 name:PM_MEM0_PREFETCH_DISP_GRP59 : (Group 59 pm_nest2) Nest events (MC0/MC1/PB/GX), Pair1 Bit1
+event:0X03B2 counters:2 um:zero minimum:1000 name:PM_MEM0_RD_CANCEL_TOTAL_GRP59 : (Group 59 pm_nest2) Nest events (MC0/MC1/PB/GX), Pair2 Bit1
+event:0X03B3 counters:3 um:zero minimum:1000 name:PM_MEM0_WQ_DISP_GRP59 : (Group 59 pm_nest2) Nest events (MC0/MC1/PB/GX), Pair3 Bit1
+event:0X03B4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP59 : (Group 59 pm_nest2) Number of run instructions completed.
+event:0X03B5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP59 : (Group 59 pm_nest2) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 60 pm_nest3, Nest Events
+event:0X03C0 counters:0 um:zero minimum:1000 name:PM_NEST_PAIR0_ADD_GRP60 : (Group 60 pm_nest3) Nest events (MC0/MC1/PB/GX), Pair0 ADD
+event:0X03C1 counters:1 um:zero minimum:1000 name:PM_NEST_PAIR1_ADD_GRP60 : (Group 60 pm_nest3) Nest events (MC0/MC1/PB/GX), Pair1 ADD
+event:0X03C2 counters:2 um:zero minimum:1000 name:PM_NEST_PAIR2_ADD_GRP60 : (Group 60 pm_nest3) Nest events (MC0/MC1/PB/GX), Pair2 ADD
+event:0X03C3 counters:3 um:zero minimum:1000 name:PM_NEST_PAIR3_ADD_GRP60 : (Group 60 pm_nest3) Nest events (MC0/MC1/PB/GX), Pair3 ADD
+event:0X03C4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP60 : (Group 60 pm_nest3) Number of run instructions completed.
+event:0X03C5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP60 : (Group 60 pm_nest3) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 61 pm_nest4, Nest Events
+event:0X03D0 counters:0 um:zero minimum:1000 name:PM_NEST_PAIR0_AND_GRP61 : (Group 61 pm_nest4) Nest events (MC0/MC1/PB/GX), Pair0 AND
+event:0X03D1 counters:1 um:zero minimum:1000 name:PM_NEST_PAIR1_AND_GRP61 : (Group 61 pm_nest4) Nest events (MC0/MC1/PB/GX), Pair1 AND
+event:0X03D2 counters:2 um:zero minimum:1000 name:PM_NEST_PAIR2_AND_GRP61 : (Group 61 pm_nest4) Nest events (MC0/MC1/PB/GX), Pair2 AND
+event:0X03D3 counters:3 um:zero minimum:1000 name:PM_NEST_PAIR3_AND_GRP61 : (Group 61 pm_nest4) Nest events (MC0/MC1/PB/GX), Pair3 AND
+event:0X03D4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP61 : (Group 61 pm_nest4) Number of run instructions completed.
+event:0X03D5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP61 : (Group 61 pm_nest4) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 62 pm_L2_redir_pref, L2 redirect and prefetch
+event:0X03E0 counters:0 um:zero minimum:1000 name:PM_IC_DEMAND_L2_BHT_REDIRECT_GRP62 : (Group 62 pm_L2_redir_pref) A demand (not prefetch) miss to the instruction cache was sent to the L2 as a result of a branch prediction redirect (CR mispredict).
+event:0X03E1 counters:1 um:zero minimum:1000 name:PM_IC_DEMAND_L2_BR_REDIRECT_GRP62 : (Group 62 pm_L2_redir_pref) A demand (not prefetch) miss to the instruction cache was sent to the L2 as a result of a branch prediction redirect (either ALL mispredicted or Target).
+event:0X03E2 counters:2 um:zero minimum:1000 name:PM_IC_DEMAND_REQ_GRP62 : (Group 62 pm_L2_redir_pref) Demand Instruction fetch request
+event:0X03E3 counters:3 um:zero minimum:1000 name:PM_IC_BANK_CONFLICT_GRP62 : (Group 62 pm_L2_redir_pref) Read blocked due to interleave conflict.
+event:0X03E4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP62 : (Group 62 pm_L2_redir_pref) Number of run instructions completed.
+event:0X03E5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP62 : (Group 62 pm_L2_redir_pref) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 63 pm_dlatencies1, Data latencies
+event:0X03F0 counters:0 um:zero minimum:1000 name:PM_DATA_FROM_L2_GRP63 : (Group 63 pm_dlatencies1) The processor's Data Cache was reloaded from the local L2 due to a demand load.
+event:0X03F1 counters:1 um:zero minimum:1000 name:PM_INST_DISP_GRP63 : (Group 63 pm_dlatencies1) Number of PowerPC instructions successfully dispatched.
+event:0X03F2 counters:2 um:zero minimum:1000 name:PM_L1_DCACHE_RELOAD_VALID_GRP63 : (Group 63 pm_dlatencies1) The data source information is valid,the data cache has been reloaded. Prior to POWER5+ this included data cache reloads due to prefetch activity. With POWER5+ this now only includes reloads due to demand loads.
+event:0X03F3 counters:3 um:zero minimum:1000 name:PM_1PLUS_PPC_DISP_GRP63 : (Group 63 pm_dlatencies1) A group containing at least one PPC instruction was dispatched. For microcoded instructions that span multiple groups, this will only occur once.
+event:0X03F4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP63 : (Group 63 pm_dlatencies1) Number of run instructions completed.
+event:0X03F5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP63 : (Group 63 pm_dlatencies1) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 64 pm_dlatencies2, Data latencies
+event:0X0400 counters:0 um:zero minimum:1000 name:PM_DATA_FROM_L3_GRP64 : (Group 64 pm_dlatencies2) The processor's Data Cache was reloaded from the local L3 due to a demand load.
+event:0X0401 counters:1 um:zero minimum:10000 name:PM_CYC_GRP64 : (Group 64 pm_dlatencies2) Processor Cycles
+event:0X0402 counters:2 um:zero minimum:1000 name:PM_L1_DCACHE_RELOAD_VALID_GRP64 : (Group 64 pm_dlatencies2) The data source information is valid,the data cache has been reloaded. Prior to POWER5+ this included data cache reloads due to prefetch activity. With POWER5+ this now only includes reloads due to demand loads.
+event:0X0403 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP64 : (Group 64 pm_dlatencies2) Number of PowerPC Instructions that completed.
+event:0X0404 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP64 : (Group 64 pm_dlatencies2) Number of run instructions completed.
+event:0X0405 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP64 : (Group 64 pm_dlatencies2) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 65 pm_dlatencies3, Data latencies
+event:0X0410 counters:0 um:zero minimum:1000 name:PM_DATA_FROM_RL2L3_MOD_GRP65 : (Group 65 pm_dlatencies3) The processor's Data Cache was reloaded with modified (M) data from an L2 or L3 on a remote module due to a demand load
+event:0X0411 counters:1 um:zero minimum:1000 name:PM_DATA_FROM_RL2L3_SHR_GRP65 : (Group 65 pm_dlatencies3) The processor's Data Cache was reloaded with shared (T or SL) data from an L2 or L3 on a remote module due to a demand load
+event:0X0412 counters:2 um:zero minimum:1000 name:PM_L1_DCACHE_RELOAD_VALID_GRP65 : (Group 65 pm_dlatencies3) The data source information is valid,the data cache has been reloaded. Prior to POWER5+ this included data cache reloads due to prefetch activity. With POWER5+ this now only includes reloads due to demand loads.
+event:0X0413 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP65 : (Group 65 pm_dlatencies3) Number of PowerPC Instructions that completed.
+event:0X0414 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP65 : (Group 65 pm_dlatencies3) Number of run instructions completed.
+event:0X0415 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP65 : (Group 65 pm_dlatencies3) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 66 pm_rejects1, Reject event
+event:0X0420 counters:0 um:zero minimum:1000 name:PM_LSU_REJECT_GRP66 : (Group 66 pm_rejects1) The Load Store Unit rejected an instruction. Combined Unit 0 + 1
+event:0X0421 counters:1 um:zero minimum:1000 name:PM_LSU0_REJECT_LHS_GRP66 : (Group 66 pm_rejects1) Load Store Unit 0 rejected a load instruction that had an address overlap with an older store in the store queue. The store must be committed and de-allocated from the Store Queue before the load can execute successfully.
+event:0X0422 counters:2 um:zero minimum:1000 name:PM_LSU1_REJECT_LHS_GRP66 : (Group 66 pm_rejects1) Load Store Unit 1 rejected a load instruction that had an address overlap with an older store in the store queue. The store must be committed and de-allocated from the Store Queue before the load can execute successfully.
+event:0X0423 counters:3 um:zero minimum:1000 name:PM_LSU_REJECT_LHS_GRP66 : (Group 66 pm_rejects1) The Load Store Unit rejected a load load instruction that had an address overlap with an older store in the store queue. The store must be committed and de-allocated from the Store Queue before the load can execute successfully. Combined Unit 0 + 1
+event:0X0424 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP66 : (Group 66 pm_rejects1) Number of run instructions completed.
+event:0X0425 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP66 : (Group 66 pm_rejects1) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 67 pm_rejects2, Reject events
+event:0X0430 counters:0 um:zero minimum:1000 name:PM_LSU_REJECT_GRP67 : (Group 67 pm_rejects2) The Load Store Unit rejected an instruction. Combined Unit 0 + 1
+event:0X0431 counters:1 um:zero minimum:1000 name:PM_LSU_REJECT_ERAT_MISS_GRP67 : (Group 67 pm_rejects2) Total cycles the Load Store Unit is busy rejecting instructions due to an ERAT miss. Combined unit 0 + 1. Requests that miss the Derat are rejected and retried until the request hits in the Erat.
+event:0X0432 counters:2 um:zero minimum:1000 name:PM_LSU_REJECT_SET_MPRED_GRP67 : (Group 67 pm_rejects2) The Load Store Unit rejected an instruction because the cache set was improperly predicted. This is a fast reject and will be immediately redispatched. Combined Unit 0 + 1
+event:0X0433 counters:3 um:zero minimum:1000 name:PM_LSU_SRQ_EMPTY_CYC_GRP67 : (Group 67 pm_rejects2) The Store Request Queue is empty
+event:0X0434 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP67 : (Group 67 pm_rejects2) Number of run instructions completed.
+event:0X0435 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP67 : (Group 67 pm_rejects2) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 68 pm_rejects3, Set mispredictions rejects
+event:0X0440 counters:0 um:zero minimum:1000 name:PM_LSU_REJECT_SET_MPRED_GRP68 : (Group 68 pm_rejects3) The Load Store Unit rejected an instruction because the cache set was improperly predicted. This is a fast reject and will be immediately redispatched. Combined Unit 0 + 1
+event:0X0441 counters:1 um:zero minimum:1000 name:PM_LSU_SET_MPRED_GRP68 : (Group 68 pm_rejects3) Line already in cache at reload time
+event:0X0442 counters:2 um:zero minimum:10000 name:PM_CYC_GRP68 : (Group 68 pm_rejects3) Processor Cycles
+event:0X0443 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP68 : (Group 68 pm_rejects3) Number of PowerPC Instructions that completed.
+event:0X0444 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP68 : (Group 68 pm_rejects3) Number of run instructions completed.
+event:0X0445 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP68 : (Group 68 pm_rejects3) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 69 pm_lsu_reject, LSU Reject Event
+event:0X0450 counters:0 um:zero minimum:1000 name:PM_LSU_REJECT_LMQ_FULL_GRP69 : (Group 69 pm_lsu_reject) Total cycles the Load Store Unit is busy rejecting instructions because the Load Miss Queue was full. The LMQ has eight entries. If all the eight entries are full, subsequent load instructions are rejected. Combined unit 0 + 1.
+event:0X0451 counters:1 um:zero minimum:1000 name:PM_LSU0_REJECT_LMQ_FULL_GRP69 : (Group 69 pm_lsu_reject) Total cycles the Load Store Unit 0 is busy rejecting instructions because the Load Miss Queue was full. The LMQ has eight entries. If all eight entries are full, subsequent load instructions are rejected.
+event:0X0452 counters:2 um:zero minimum:1000 name:PM_LSU1_REJECT_LMQ_FULL_GRP69 : (Group 69 pm_lsu_reject) Total cycles the Load Store Unit 1 is busy rejecting instructions because the Load Miss Queue was full. The LMQ has eight entries. If all eight entries are full, subsequent load instructions are rejected.
+event:0X0453 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP69 : (Group 69 pm_lsu_reject) Number of PowerPC Instructions that completed.
+event:0X0454 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP69 : (Group 69 pm_lsu_reject) Number of run instructions completed.
+event:0X0455 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP69 : (Group 69 pm_lsu_reject) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 70 pm_lsu_ncld, Non cachable loads
+event:0X0460 counters:0 um:zero minimum:1000 name:PM_LSU_NCLD_GRP70 : (Group 70 pm_lsu_ncld) A non-cacheable load was executed. Combined Unit 0 + 1.
+event:0X0461 counters:1 um:zero minimum:1000 name:PM_LSU0_NCLD_GRP70 : (Group 70 pm_lsu_ncld) A non-cacheable load was executed by unit 0.
+event:0X0462 counters:2 um:zero minimum:1000 name:PM_LSU1_NCLD_GRP70 : (Group 70 pm_lsu_ncld) A non-cacheable load was executed by Unit 0.
+event:0X0463 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP70 : (Group 70 pm_lsu_ncld) Number of PowerPC Instructions that completed.
+event:0X0464 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP70 : (Group 70 pm_lsu_ncld) Number of run instructions completed.
+event:0X0465 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP70 : (Group 70 pm_lsu_ncld) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 71 pm_gct1, GCT events
+event:0X0470 counters:0 um:zero minimum:1000 name:PM_GCT_NOSLOT_CYC_GRP71 : (Group 71 pm_gct1) Cycles when the Global Completion Table has no slots from this thread.
+event:0X0471 counters:1 um:zero minimum:1000 name:PM_GCT_EMPTY_CYC_GRP71 : (Group 71 pm_gct1) Cycles when the Global Completion Table was completely empty. No thread had an entry allocated.
+event:0X0472 counters:2 um:zero minimum:1000 name:PM_GCT_FULL_CYC_GRP71 : (Group 71 pm_gct1) The Global Completion Table is completely full.
+event:0X0473 counters:3 um:zero minimum:10000 name:PM_CYC_GRP71 : (Group 71 pm_gct1) Processor Cycles
+event:0X0474 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP71 : (Group 71 pm_gct1) Number of run instructions completed.
+event:0X0475 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP71 : (Group 71 pm_gct1) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 72 pm_gct2, GCT Events
+event:0X0480 counters:0 um:zero minimum:1000 name:PM_GCT_UTIL_1_TO_2_SLOTS_GRP72 : (Group 72 pm_gct2) GCT Utilization 1-2 entries
+event:0X0481 counters:1 um:zero minimum:1000 name:PM_GCT_UTIL_3_TO_6_SLOTS_GRP72 : (Group 72 pm_gct2) GCT Utilization 3-6 entries
+event:0X0482 counters:2 um:zero minimum:1000 name:PM_GCT_UTIL_7_TO_10_SLOTS_GRP72 : (Group 72 pm_gct2) GCT Utilization 7-10 entries
+event:0X0483 counters:3 um:zero minimum:1000 name:PM_GCT_UTIL_11_PLUS_SLOTS_GRP72 : (Group 72 pm_gct2) GCT Utilization 11+ entries
+event:0X0484 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP72 : (Group 72 pm_gct2) Number of run instructions completed.
+event:0X0485 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP72 : (Group 72 pm_gct2) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 73 pm_L2_castout_invalidate_1, L2 castout and invalidate events
+event:0X0490 counters:0 um:zero minimum:1000 name:PM_L2_CASTOUT_MOD_GRP73 : (Group 73 pm_L2_castout_invalidate_1) An L2 line in the Modified state was castout. Total for all slices.
+event:0X0491 counters:1 um:zero minimum:1000 name:PM_L2_DC_INV_GRP73 : (Group 73 pm_L2_castout_invalidate_1) The L2 invalidated a line in processor's data cache. This is caused by the L2 line being cast out or invalidated. Total for all slices
+event:0X0492 counters:2 um:zero minimum:10000 name:PM_INST_CMPL_GRP73 : (Group 73 pm_L2_castout_invalidate_1) Number of PowerPC Instructions that completed.
+event:0X0493 counters:3 um:zero minimum:10000 name:PM_CYC_GRP73 : (Group 73 pm_L2_castout_invalidate_1) Processor Cycles
+event:0X0494 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP73 : (Group 73 pm_L2_castout_invalidate_1) Number of run instructions completed.
+event:0X0495 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP73 : (Group 73 pm_L2_castout_invalidate_1) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 74 pm_L2_castout_invalidate_2, L2 castout and invalidate events
+event:0X04A0 counters:0 um:zero minimum:1000 name:PM_L2_CASTOUT_SHR_GRP74 : (Group 74 pm_L2_castout_invalidate_2) An L2 line in the Shared state was castout. Total for all slices.
+event:0X04A1 counters:1 um:zero minimum:1000 name:PM_L2_IC_INV_GRP74 : (Group 74 pm_L2_castout_invalidate_2) Icache Invalidates from L2
+event:0X04A2 counters:2 um:zero minimum:10000 name:PM_INST_CMPL_GRP74 : (Group 74 pm_L2_castout_invalidate_2) Number of PowerPC Instructions that completed.
+event:0X04A3 counters:3 um:zero minimum:10000 name:PM_CYC_GRP74 : (Group 74 pm_L2_castout_invalidate_2) Processor Cycles
+event:0X04A4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP74 : (Group 74 pm_L2_castout_invalidate_2) Number of run instructions completed.
+event:0X04A5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP74 : (Group 74 pm_L2_castout_invalidate_2) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 75 pm_disp_held1, Dispatch held conditions
+event:0X04B0 counters:0 um:zero minimum:1000 name:PM_DISP_HELD_GRP75 : (Group 75 pm_disp_held1) Dispatch Held
+event:0X04B1 counters:1 um:zero minimum:1000 name:PM_DPU_HELD_POWER_GRP75 : (Group 75 pm_disp_held1) Cycles that Instruction Dispatch was held due to power management. More than one hold condition can exist at the same time
+event:0X04B2 counters:2 um:zero minimum:1000 name:PM_DISP_HELD_THERMAL_GRP75 : (Group 75 pm_disp_held1) Dispatch Held due to Thermal
+event:0X04B3 counters:3 um:zero minimum:1000 name:PM_1PLUS_PPC_DISP_GRP75 : (Group 75 pm_disp_held1) A group containing at least one PPC instruction was dispatched. For microcoded instructions that span multiple groups, this will only occur once.
+event:0X04B4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP75 : (Group 75 pm_disp_held1) Number of run instructions completed.
+event:0X04B5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP75 : (Group 75 pm_disp_held1) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 76 pm_disp_held2, Dispatch held conditions
+event:0X04C0 counters:0 um:zero minimum:1000 name:PM_THERMAL_WARN_GRP76 : (Group 76 pm_disp_held2) Processor in Thermal Warning
+event:0X04C1 counters:1 um:zero minimum:1000 name:PM_DPU_HELD_POWER_GRP76 : (Group 76 pm_disp_held2) Cycles that Instruction Dispatch was held due to power management. More than one hold condition can exist at the same time
+event:0X04C2 counters:2 um:zero minimum:1000 name:PM_DISP_HELD_THERMAL_GRP76 : (Group 76 pm_disp_held2) Dispatch Held due to Thermal
+event:0X04C3 counters:3 um:zero minimum:1000 name:PM_THERMAL_MAX_GRP76 : (Group 76 pm_disp_held2) The processor experienced a thermal overload condition. This bit is sticky, it remains set until cleared by software.
+event:0X04C4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP76 : (Group 76 pm_disp_held2) Number of run instructions completed.
+event:0X04C5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP76 : (Group 76 pm_disp_held2) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 77 pm_disp_clb_held, Display CLB held conditions
+event:0X04D0 counters:0 um:zero minimum:1000 name:PM_DISP_CLB_HELD_BAL_GRP77 : (Group 77 pm_disp_clb_held) Dispatch/CLB Hold: Balance
+event:0X04D1 counters:1 um:zero minimum:1000 name:PM_DISP_CLB_HELD_RES_GRP77 : (Group 77 pm_disp_clb_held) Dispatch/CLB Hold: Resource
+event:0X04D2 counters:2 um:zero minimum:1000 name:PM_DISP_CLB_HELD_TLBIE_GRP77 : (Group 77 pm_disp_clb_held) Dispatch Hold: Due to TLBIE
+event:0X04D3 counters:3 um:zero minimum:1000 name:PM_DISP_CLB_HELD_SYNC_GRP77 : (Group 77 pm_disp_clb_held) Dispatch/CLB Hold: Sync type instruction
+event:0X04D4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP77 : (Group 77 pm_disp_clb_held) Number of run instructions completed.
+event:0X04D5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP77 : (Group 77 pm_disp_clb_held) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 78 pm_power, Power Events
+event:0X04E0 counters:0 um:zero minimum:1000 name:PM_POWER_EVENT1_GRP78 : (Group 78 pm_power) Power Management Event 1
+event:0X04E1 counters:1 um:zero minimum:1000 name:PM_POWER_EVENT2_GRP78 : (Group 78 pm_power) Power Management Event 2
+event:0X04E2 counters:2 um:zero minimum:1000 name:PM_POWER_EVENT3_GRP78 : (Group 78 pm_power) Power Management Event 3
+event:0X04E3 counters:3 um:zero minimum:1000 name:PM_POWER_EVENT4_GRP78 : (Group 78 pm_power) Power Management Event 4
+event:0X04E4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP78 : (Group 78 pm_power) Number of run instructions completed.
+event:0X04E5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP78 : (Group 78 pm_power) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 79 pm_dispatch1, Groups and instructions dispatched
+event:0X04F0 counters:0 um:zero minimum:1000 name:PM_1PLUS_PPC_CMPL_GRP79 : (Group 79 pm_dispatch1) A group containing at least one PPC instruction completed. For microcoded instructions that span multiple groups, this will only occur once.
+event:0X04F1 counters:1 um:zero minimum:1000 name:PM_INST_DISP_GRP79 : (Group 79 pm_dispatch1) Number of PowerPC instructions successfully dispatched.
+event:0X04F2 counters:2 um:zero minimum:1000 name:PM_GRP_DISP_GRP79 : (Group 79 pm_dispatch1) A group was dispatched
+event:0X04F3 counters:3 um:zero minimum:1000 name:PM_1PLUS_PPC_DISP_GRP79 : (Group 79 pm_dispatch1) A group containing at least one PPC instruction was dispatched. For microcoded instructions that span multiple groups, this will only occur once.
+event:0X04F4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP79 : (Group 79 pm_dispatch1) Number of run instructions completed.
+event:0X04F5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP79 : (Group 79 pm_dispatch1) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 80 pm_dispatch2, Groups and instructions dispatched
+event:0X0500 counters:0 um:zero minimum:1000 name:PM_1PLUS_PPC_CMPL_GRP80 : (Group 80 pm_dispatch2) A group containing at least one PPC instruction completed. For microcoded instructions that span multiple groups, this will only occur once.
+event:0X0501 counters:1 um:zero minimum:10000 name:PM_CYC_GRP80 : (Group 80 pm_dispatch2) Processor Cycles
+event:0X0502 counters:2 um:zero minimum:10000 name:PM_INST_CMPL_GRP80 : (Group 80 pm_dispatch2) Number of PowerPC Instructions that completed.
+event:0X0503 counters:3 um:zero minimum:1000 name:PM_1PLUS_PPC_DISP_GRP80 : (Group 80 pm_dispatch2) A group containing at least one PPC instruction was dispatched. For microcoded instructions that span multiple groups, this will only occur once.
+event:0X0504 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP80 : (Group 80 pm_dispatch2) Number of run instructions completed.
+event:0X0505 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP80 : (Group 80 pm_dispatch2) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 81 pm_ic, I cache operations
+event:0X0510 counters:0 um:zero minimum:1000 name:PM_IC_REQ_ALL_GRP81 : (Group 81 pm_ic) Icache requests, prefetch + demand
+event:0X0511 counters:1 um:zero minimum:1000 name:PM_IC_WRITE_ALL_GRP81 : (Group 81 pm_ic) Icache sectors written, prefetch + demand
+event:0X0512 counters:2 um:zero minimum:1000 name:PM_IC_PREF_CANCEL_ALL_GRP81 : (Group 81 pm_ic) Prefetch Canceled due to page boundary or icache hit
+event:0X0513 counters:3 um:zero minimum:1000 name:PM_IC_DEMAND_L2_BR_ALL_GRP81 : (Group 81 pm_ic) L2 I cache demand request due to BHT or redirect
+event:0X0514 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP81 : (Group 81 pm_ic) Number of run instructions completed.
+event:0X0515 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP81 : (Group 81 pm_ic) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 82 pm_ic_pref_cancel, Instruction pre-fetched cancelled
+event:0X0520 counters:0 um:zero minimum:1000 name:PM_IC_PREF_CANCEL_PAGE_GRP82 : (Group 82 pm_ic_pref_cancel) Prefetch Canceled due to page boundary
+event:0X0521 counters:1 um:zero minimum:1000 name:PM_IC_PREF_CANCEL_HIT_GRP82 : (Group 82 pm_ic_pref_cancel) Prefetch Canceled due to icache hit
+event:0X0522 counters:2 um:zero minimum:1000 name:PM_IC_PREF_CANCEL_L2_GRP82 : (Group 82 pm_ic_pref_cancel) L2 Squashed request
+event:0X0523 counters:3 um:zero minimum:1000 name:PM_IC_PREF_CANCEL_ALL_GRP82 : (Group 82 pm_ic_pref_cancel) Prefetch Canceled due to page boundary or icache hit
+event:0X0524 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP82 : (Group 82 pm_ic_pref_cancel) Number of run instructions completed.
+event:0X0525 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP82 : (Group 82 pm_ic_pref_cancel) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 83 pm_ic_miss, Icache and Ierat miss events
+event:0X0530 counters:0 um:zero minimum:1000 name:PM_IERAT_MISS_GRP83 : (Group 83 pm_ic_miss) A translation request missed the Instruction Effective to Real Address Translation (ERAT) table
+event:0X0531 counters:1 um:zero minimum:1000 name:PM_L1_ICACHE_MISS_GRP83 : (Group 83 pm_ic_miss) An instruction fetch request missed the L1 cache.
+event:0X0532 counters:2 um:zero minimum:10000 name:PM_INST_CMPL_GRP83 : (Group 83 pm_ic_miss) Number of PowerPC Instructions that completed.
+event:0X0533 counters:3 um:zero minimum:10000 name:PM_CYC_GRP83 : (Group 83 pm_ic_miss) Processor Cycles
+event:0X0534 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP83 : (Group 83 pm_ic_miss) Number of run instructions completed.
+event:0X0535 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP83 : (Group 83 pm_ic_miss) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 84 pm_cpi_stack1, CPI stack breakdown
+event:0X0540 counters:0 um:zero minimum:1000 name:PM_DATA_FROM_L2_GRP84 : (Group 84 pm_cpi_stack1) The processor's Data Cache was reloaded from the local L2 due to a demand load.
+event:0X0541 counters:1 um:zero minimum:1000 name:PM_CMPLU_STALL_DCACHE_MISS_GRP84 : (Group 84 pm_cpi_stack1) Following a completion stall (any period when no groups completed) the last instruction to finish before completion resumes suffered a Data Cache Miss. Data Cache Miss has higher priority than any other Load/Store delay, so if an instruction encounters multiple delays only the Data Cache Miss will be reported and the entire delay period will be charged to Data Cache Miss. This is a subset of PM_CMPLU_STALL_LSU.
+event:0X0542 counters:2 um:zero minimum:1000 name:PM_L1_DCACHE_RELOAD_VALID_GRP84 : (Group 84 pm_cpi_stack1) The data source information is valid,the data cache has been reloaded. Prior to POWER5+ this included data cache reloads due to prefetch activity. With POWER5+ this now only includes reloads due to demand loads.
+event:0X0543 counters:3 um:zero minimum:1000 name:PM_CMPLU_STALL_ERAT_MISS_GRP84 : (Group 84 pm_cpi_stack1) Following a completion stall (any period when no groups completed) the last instruction to finish before completion resumes suffered an ERAT miss. This is a subset of PM_CMPLU_STALL_REJECT.
+event:0X0544 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP84 : (Group 84 pm_cpi_stack1) Number of run instructions completed.
+event:0X0545 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP84 : (Group 84 pm_cpi_stack1) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 85 pm_cpi_stack2, CPI stack breakdown
+event:0X0550 counters:0 um:zero minimum:1000 name:PM_FXU_IDLE_GRP85 : (Group 85 pm_cpi_stack2) FXU0 and FXU1 are both idle.
+event:0X0551 counters:1 um:zero minimum:1000 name:PM_CMPLU_STALL_FXU_GRP85 : (Group 85 pm_cpi_stack2) Following a completion stall (any period when no groups completed) the last instruction to finish before completion resumes was a fixed point instruction.
+event:0X0552 counters:2 um:zero minimum:1000 name:PM_GRP_CMPL_GRP85 : (Group 85 pm_cpi_stack2) A group completed. Microcoded instructions that span multiple groups will generate this event once per group.
+event:0X0553 counters:3 um:zero minimum:1000 name:PM_CMPLU_STALL_DIV_GRP85 : (Group 85 pm_cpi_stack2) Following a completion stall (any period when no groups completed) the last instruction to finish before completion resumes was a fixed point divide instruction. This is a subset of PM_CMPLU_STALL_FXU.
+event:0X0554 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP85 : (Group 85 pm_cpi_stack2) Number of run instructions completed.
+event:0X0555 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP85 : (Group 85 pm_cpi_stack2) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 86 pm_cpi_stack3, CPI stack breakdown
+event:0X0560 counters:0 um:zero minimum:1000 name:PM_TABLEWALK_CYC_GRP86 : (Group 86 pm_cpi_stack3) Cycles doing instruction or data tablewalks
+event:0X0561 counters:1 um:zero minimum:1000 name:PM_CMPLU_STALL_LSU_GRP86 : (Group 86 pm_cpi_stack3) Following a completion stall (any period when no groups completed) the last instruction to finish before completion resumes was a load/store instruction.
+event:0X0562 counters:2 um:zero minimum:1000 name:PM_DATA_TABLEWALK_CYC_GRP86 : (Group 86 pm_cpi_stack3) Cycles a translation tablewalk is active. While a tablewalk is active any request attempting to access the TLB will be rejected and retried.
+event:0X0563 counters:3 um:zero minimum:1000 name:PM_CMPLU_STALL_REJECT_GRP86 : (Group 86 pm_cpi_stack3) Following a completion stall (any period when no groups completed) the last instruction to finish before completion resumes suffered a load/store reject. This is a subset of PM_CMPLU_STALL_LSU.
+event:0X0564 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP86 : (Group 86 pm_cpi_stack3) Number of run instructions completed.
+event:0X0565 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP86 : (Group 86 pm_cpi_stack3) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 87 pm_cpi_stack4, CPI stack breakdown
+event:0X0570 counters:0 um:zero minimum:1000 name:PM_FLOP_GRP87 : (Group 87 pm_cpi_stack4) A floating point operation has completed
+event:0X0571 counters:1 um:zero minimum:1000 name:PM_CMPLU_STALL_SCALAR_LONG_GRP87 : (Group 87 pm_cpi_stack4) Completion stall caused by long latency scalar instruction
+event:0X0572 counters:2 um:zero minimum:1000 name:PM_MRK_STALL_CMPLU_CYC_GRP87 : (Group 87 pm_cpi_stack4) Marked Group Completion Stall cycles
+event:0X0573 counters:3 um:zero minimum:1000 name:PM_CMPLU_STALL_SCALAR_GRP87 : (Group 87 pm_cpi_stack4) Completion stall caused by FPU instruction
+event:0X0574 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP87 : (Group 87 pm_cpi_stack4) Number of run instructions completed.
+event:0X0575 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP87 : (Group 87 pm_cpi_stack4) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 88 pm_cpi_stack5, CPI stack breakdown
+event:0X0580 counters:0 um:zero minimum:1000 name:PM_CMPLU_STALL_END_GCT_NOSLOT_GRP88 : (Group 88 pm_cpi_stack5) Count ended because GCT went empty
+event:0X0581 counters:1 um:zero minimum:1000 name:PM_CMPLU_STALL_VECTOR_GRP88 : (Group 88 pm_cpi_stack5) Completion stall caused by Vector instruction
+event:0X0582 counters:2 um:zero minimum:1000 name:PM_MRK_STALL_CMPLU_CYC_COUNT_GRP88 : (Group 88 pm_cpi_stack5) Marked Group Completion Stall cycles (use edge detect to count #)
+event:0X0583 counters:3 um:zero minimum:1000 name:PM_CMPLU_STALL_GRP88 : (Group 88 pm_cpi_stack5) No groups completed, GCT not empty
+event:0X0584 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP88 : (Group 88 pm_cpi_stack5) Number of run instructions completed.
+event:0X0585 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP88 : (Group 88 pm_cpi_stack5) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 89 pm_cpi_stack6, CPI stack breakdown
+event:0X0590 counters:0 um:zero minimum:1000 name:PM_CMPLU_STALL_THRD_GRP89 : (Group 89 pm_cpi_stack6) Completion Stalled due to thread conflict. Group ready to complete but it was another thread's turn
+event:0X0591 counters:1 um:zero minimum:1000 name:PM_CMPLU_STALL_DFU_GRP89 : (Group 89 pm_cpi_stack6) Completion stall caused by Decimal Floating Point Unit
+event:0X0592 counters:2 um:zero minimum:10000 name:PM_INST_CMPL_GRP89 : (Group 89 pm_cpi_stack6) Number of PowerPC Instructions that completed.
+event:0X0593 counters:3 um:zero minimum:1000 name:PM_GCT_NOSLOT_BR_MPRED_IC_MISS_GRP89 : (Group 89 pm_cpi_stack6) No slot in GCT caused by branch mispredict or I cache miss
+event:0X0594 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP89 : (Group 89 pm_cpi_stack6) Number of run instructions completed.
+event:0X0595 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP89 : (Group 89 pm_cpi_stack6) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 90 pm_cpi_stack7, CPI stack breakdown
+event:0X05A0 counters:0 um:zero minimum:1000 name:PM_GCT_NOSLOT_CYC_GRP90 : (Group 90 pm_cpi_stack7) Cycles when the Global Completion Table has no slots from this thread.
+event:0X05A1 counters:1 um:zero minimum:1000 name:PM_GCT_NOSLOT_IC_MISS_GRP90 : (Group 90 pm_cpi_stack7) Cycles when the Global Completion Table has no slots from this thread because of an Instruction Cache miss.
+event:0X05A2 counters:2 um:zero minimum:1000 name:PM_IOPS_DISP_GRP90 : (Group 90 pm_cpi_stack7) IOPS dispatched
+event:0X05A3 counters:3 um:zero minimum:1000 name:PM_GCT_NOSLOT_BR_MPRED_GRP90 : (Group 90 pm_cpi_stack7) Cycles when the Global Completion Table has no slots from this thread because of a branch misprediction.
+event:0X05A4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP90 : (Group 90 pm_cpi_stack7) Number of run instructions completed.
+event:0X05A5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP90 : (Group 90 pm_cpi_stack7) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 91 pm_dsource1, Data source information
+event:0X05B0 counters:0 um:zero minimum:1000 name:PM_DATA_FROM_L2_GRP91 : (Group 91 pm_dsource1) The processor's Data Cache was reloaded from the local L2 due to a demand load.
+event:0X05B1 counters:1 um:zero minimum:1000 name:PM_DATA_FROM_L3_GRP91 : (Group 91 pm_dsource1) The processor's Data Cache was reloaded from the local L3 due to a demand load.
+event:0X05B2 counters:2 um:zero minimum:1000 name:PM_DATA_FROM_RMEM_GRP91 : (Group 91 pm_dsource1) The processor’s Data Cache was reloaded from memory attached to a different module than this proccessor is located on.
+event:0X05B3 counters:3 um:zero minimum:1000 name:PM_DATA_FROM_LMEM_GRP91 : (Group 91 pm_dsource1) The processor’s Data Cache was reloaded from memory attached to the same module this proccessor is located on.
+event:0X05B4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP91 : (Group 91 pm_dsource1) Number of run instructions completed.
+event:0X05B5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP91 : (Group 91 pm_dsource1) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 92 pm_dsource2, Data source information
+event:0X05C0 counters:0 um:zero minimum:1000 name:PM_DATA_FROM_L3_GRP92 : (Group 92 pm_dsource2) The processor's Data Cache was reloaded from the local L3 due to a demand load.
+event:0X05C1 counters:1 um:zero minimum:1000 name:PM_DATA_FROM_L31_SHR_GRP92 : (Group 92 pm_dsource2) Data loaded from another L3 on same chip shared
+event:0X05C2 counters:2 um:zero minimum:1000 name:PM_DATA_FROM_LMEM_GRP92 : (Group 92 pm_dsource2) The processor’s Data Cache was reloaded from memory attached to the same module this proccessor is located on.
+event:0X05C3 counters:3 um:zero minimum:1000 name:PM_DATA_FROM_L2MISS_GRP92 : (Group 92 pm_dsource2) The processor's Data Cache was reloaded but not from the local L2.
+event:0X05C4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP92 : (Group 92 pm_dsource2) Number of run instructions completed.
+event:0X05C5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP92 : (Group 92 pm_dsource2) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 93 pm_dsource3, Data source information
+event:0X05D0 counters:0 um:zero minimum:1000 name:PM_DATA_FROM_DMEM_GRP93 : (Group 93 pm_dsource3) The processor's Data Cache was reloaded with data from memory attached to a distant module due to a demand load
+event:0X05D1 counters:1 um:zero minimum:1000 name:PM_DATA_FROM_L3MISS_GRP93 : (Group 93 pm_dsource3) The processor's Data Cache was reloaded from beyond L3 due to a demand load
+event:0X05D2 counters:2 um:zero minimum:1000 name:PM_DATA_FROM_L21_MOD_GRP93 : (Group 93 pm_dsource3) Data loaded from another L2 on same chip modified
+event:0X05D3 counters:3 um:zero minimum:1000 name:PM_DATA_FROM_L2MISS_GRP93 : (Group 93 pm_dsource3) The processor's Data Cache was reloaded but not from the local L2.
+event:0X05D4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP93 : (Group 93 pm_dsource3) Number of run instructions completed.
+event:0X05D5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP93 : (Group 93 pm_dsource3) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 94 pm_dsource4, Data source information
+event:0X05E0 counters:0 um:zero minimum:1000 name:PM_DATA_FROM_L31_MOD_GRP94 : (Group 94 pm_dsource4) Data loaded from another L3 on same chip modified
+event:0X05E1 counters:1 um:zero minimum:1000 name:PM_DATA_FROM_RL2L3_SHR_GRP94 : (Group 94 pm_dsource4) The processor's Data Cache was reloaded with shared (T or SL) data from an L2 or L3 on a remote module due to a demand load
+event:0X05E2 counters:2 um:zero minimum:1000 name:PM_DATA_FROM_DL2L3_MOD_GRP94 : (Group 94 pm_dsource4) The processor's Data Cache was reloaded with modified (M) data from an L2 or L3 on a distant module due to a demand load
+event:0X05E3 counters:3 um:zero minimum:1000 name:PM_DATA_FROM_DL2L3_MOD_GRP94 : (Group 94 pm_dsource4) The processor's Data Cache was reloaded with modified (M) data from an L2 or L3 on a distant module due to a demand load
+event:0X05E4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP94 : (Group 94 pm_dsource4) Number of run instructions completed.
+event:0X05E5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP94 : (Group 94 pm_dsource4) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 95 pm_dsource5, Data source information
+event:0X05F0 counters:0 um:zero minimum:1000 name:PM_DATA_FROM_L31_SHR_GRP95 : (Group 95 pm_dsource5) Data loaded from another L3 on same chip shared
+event:0X05F1 counters:1 um:zero minimum:1000 name:PM_DATA_FROM_DMEM_GRP95 : (Group 95 pm_dsource5) The processor's Data Cache was reloaded with data from memory attached to a distant module due to a demand load
+event:0X05F2 counters:2 um:zero minimum:1000 name:PM_DATA_FROM_DL2L3_SHR_GRP95 : (Group 95 pm_dsource5) The processor's Data Cache was reloaded with shared (T or SL) data from an L2 or L3 on a distant module due to a demand load
+event:0X05F3 counters:3 um:zero minimum:1000 name:PM_DATA_FROM_L21_SHR_GRP95 : (Group 95 pm_dsource5) Data loaded from another L2 on same chip shared
+event:0X05F4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP95 : (Group 95 pm_dsource5) Number of run instructions completed.
+event:0X05F5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP95 : (Group 95 pm_dsource5) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 96 pm_dsource6, Data source information
+event:0X0600 counters:0 um:zero minimum:1000 name:PM_DATA_FROM_RL2L3_MOD_GRP96 : (Group 96 pm_dsource6) The processor's Data Cache was reloaded with modified (M) data from an L2 or L3 on a remote module due to a demand load
+event:0X0601 counters:1 um:zero minimum:1000 name:PM_DATA_FROM_RL2L3_SHR_GRP96 : (Group 96 pm_dsource6) The processor's Data Cache was reloaded with shared (T or SL) data from an L2 or L3 on a remote module due to a demand load
+event:0X0602 counters:2 um:zero minimum:1000 name:PM_DATA_FROM_L21_SHR_GRP96 : (Group 96 pm_dsource6) Data loaded from another L2 on same chip shared
+event:0X0603 counters:3 um:zero minimum:1000 name:PM_DATA_FROM_L2MISS_GRP96 : (Group 96 pm_dsource6) The processor's Data Cache was reloaded but not from the local L2.
+event:0X0604 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP96 : (Group 96 pm_dsource6) Number of run instructions completed.
+event:0X0605 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP96 : (Group 96 pm_dsource6) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 97 pm_dsource7, Data source information
+event:0X0610 counters:0 um:zero minimum:1000 name:PM_DATA_FROM_RL2L3_SHR_GRP97 : (Group 97 pm_dsource7) The processor's Data Cache was reloaded with shared (T or SL) data from an L2 or L3 on a remote module due to a demand load
+event:0X0611 counters:1 um:zero minimum:1000 name:PM_DATA_FROM_L3MISS_GRP97 : (Group 97 pm_dsource7) The processor's Data Cache was reloaded from beyond L3 due to a demand load
+event:0X0612 counters:2 um:zero minimum:1000 name:PM_DATA_FROM_DL2L3_MOD_GRP97 : (Group 97 pm_dsource7) The processor's Data Cache was reloaded with modified (M) data from an L2 or L3 on a distant module due to a demand load
+event:0X0613 counters:3 um:zero minimum:1000 name:PM_DATA_FROM_DL2L3_MOD_GRP97 : (Group 97 pm_dsource7) The processor's Data Cache was reloaded with modified (M) data from an L2 or L3 on a distant module due to a demand load
+event:0X0614 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP97 : (Group 97 pm_dsource7) Number of run instructions completed.
+event:0X0615 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP97 : (Group 97 pm_dsource7) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 98 pm_dsource8, Data source information
+event:0X0620 counters:0 um:zero minimum:10000 name:PM_INST_CMPL_GRP98 : (Group 98 pm_dsource8) Number of PowerPC Instructions that completed.
+event:0X0621 counters:1 um:zero minimum:1000 name:PM_DATA_FROM_L3_GRP98 : (Group 98 pm_dsource8) The processor's Data Cache was reloaded from the local L3 due to a demand load.
+event:0X0622 counters:2 um:zero minimum:1000 name:PM_DATA_FROM_L3MISS_GRP98 : (Group 98 pm_dsource8) The processor's Data Cache was reloaded from beyond L3 due to a demand load
+event:0X0623 counters:3 um:zero minimum:1000 name:PM_DATA_FROM_LMEM_GRP98 : (Group 98 pm_dsource8) The processor’s Data Cache was reloaded from memory attached to the same module this proccessor is located on.
+event:0X0624 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP98 : (Group 98 pm_dsource8) Number of run instructions completed.
+event:0X0625 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP98 : (Group 98 pm_dsource8) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 99 pm_dsource9, Data source information
+event:0X0630 counters:0 um:zero minimum:1000 name:PM_DATA_FROM_L2_GRP99 : (Group 99 pm_dsource9) The processor's Data Cache was reloaded from the local L2 due to a demand load.
+event:0X0631 counters:1 um:zero minimum:1000 name:PM_DATA_FROM_L2MISS_GRP99 : (Group 99 pm_dsource9) The processor's Data Cache was reloaded but not from the local L2.
+event:0X0632 counters:2 um:zero minimum:1000 name:PM_L1_DCACHE_RELOAD_VALID_GRP99 : (Group 99 pm_dsource9) The data source information is valid,the data cache has been reloaded. Prior to POWER5+ this included data cache reloads due to prefetch activity. With POWER5+ this now only includes reloads due to demand loads.
+event:0X0633 counters:3 um:zero minimum:1000 name:PM_LD_MISS_L1_GRP99 : (Group 99 pm_dsource9) Load references that miss the Level 1 Data cache. Combined unit 0 + 1.
+event:0X0634 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP99 : (Group 99 pm_dsource9) Number of run instructions completed.
+event:0X0635 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP99 : (Group 99 pm_dsource9) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 100 pm_dsource10, Data source information
+event:0X0640 counters:0 um:zero minimum:1000 name:PM_DATA_FROM_RL2L3_MOD_GRP100 : (Group 100 pm_dsource10) The processor's Data Cache was reloaded with modified (M) data from an L2 or L3 on a remote module due to a demand load
+event:0X0641 counters:1 um:zero minimum:1000 name:PM_DATA_FROM_RL2L3_SHR_GRP100 : (Group 100 pm_dsource10) The processor's Data Cache was reloaded with shared (T or SL) data from an L2 or L3 on a remote module due to a demand load
+event:0X0642 counters:2 um:zero minimum:1000 name:PM_DATA_FROM_DL2L3_SHR_GRP100 : (Group 100 pm_dsource10) The processor's Data Cache was reloaded with shared (T or SL) data from an L2 or L3 on a distant module due to a demand load
+event:0X0643 counters:3 um:zero minimum:1000 name:PM_DATA_FROM_DL2L3_MOD_GRP100 : (Group 100 pm_dsource10) The processor's Data Cache was reloaded with modified (M) data from an L2 or L3 on a distant module due to a demand load
+event:0X0644 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP100 : (Group 100 pm_dsource10) Number of run instructions completed.
+event:0X0645 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP100 : (Group 100 pm_dsource10) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 101 pm_dsource11, Data source information
+event:0X0650 counters:0 um:zero minimum:1000 name:PM_DATA_FROM_L2_GRP101 : (Group 101 pm_dsource11) The processor's Data Cache was reloaded from the local L2 due to a demand load.
+event:0X0651 counters:1 um:zero minimum:1000 name:PM_DATA_FROM_L2MISS_GRP101 : (Group 101 pm_dsource11) The processor's Data Cache was reloaded but not from the local L2.
+event:0X0652 counters:2 um:zero minimum:1000 name:PM_DATA_FROM_L3MISS_GRP101 : (Group 101 pm_dsource11) The processor's Data Cache was reloaded from beyond L3 due to a demand load
+event:0X0653 counters:3 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP101 : (Group 101 pm_dsource11) Number of run instructions completed.
+event:0X0654 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP101 : (Group 101 pm_dsource11) Number of run instructions completed.
+event:0X0655 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP101 : (Group 101 pm_dsource11) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 102 pm_dsource12, Data source information
+event:0X0660 counters:0 um:zero minimum:1000 name:PM_DATA_FROM_RL2L3_MOD_GRP102 : (Group 102 pm_dsource12) The processor's Data Cache was reloaded with modified (M) data from an L2 or L3 on a remote module due to a demand load
+event:0X0661 counters:1 um:zero minimum:1000 name:PM_DATA_FROM_DMEM_GRP102 : (Group 102 pm_dsource12) The processor's Data Cache was reloaded with data from memory attached to a distant module due to a demand load
+event:0X0662 counters:2 um:zero minimum:1000 name:PM_DATA_FROM_RMEM_GRP102 : (Group 102 pm_dsource12) The processor’s Data Cache was reloaded from memory attached to a different module than this proccessor is located on.
+event:0X0663 counters:3 um:zero minimum:1000 name:PM_DATA_FROM_LMEM_GRP102 : (Group 102 pm_dsource12) The processor’s Data Cache was reloaded from memory attached to the same module this proccessor is located on.
+event:0X0664 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP102 : (Group 102 pm_dsource12) Number of run instructions completed.
+event:0X0665 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP102 : (Group 102 pm_dsource12) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 103 pm_dsource13, Data source information
+event:0X0670 counters:0 um:zero minimum:1000 name:PM_DERAT_MISS_4K_GRP103 : (Group 103 pm_dsource13) A data request (load or store) missed the ERAT for 4K page and resulted in an ERAT reload.
+event:0X0671 counters:1 um:zero minimum:10000 name:PM_INST_CMPL_GRP103 : (Group 103 pm_dsource13) Number of PowerPC Instructions that completed.
+event:0X0672 counters:2 um:zero minimum:1000 name:PM_DATA_FROM_DL2L3_SHR_GRP103 : (Group 103 pm_dsource13) The processor's Data Cache was reloaded with shared (T or SL) data from an L2 or L3 on a distant module due to a demand load
+event:0X0673 counters:3 um:zero minimum:1000 name:PM_DATA_FROM_DL2L3_MOD_GRP103 : (Group 103 pm_dsource13) The processor's Data Cache was reloaded with modified (M) data from an L2 or L3 on a distant module due to a demand load
+event:0X0674 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP103 : (Group 103 pm_dsource13) Number of run instructions completed.
+event:0X0675 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP103 : (Group 103 pm_dsource13) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 104 pm_dsource14, Data source information
+event:0X0680 counters:0 um:zero minimum:1000 name:PM_DATA_FROM_DMEM_GRP104 : (Group 104 pm_dsource14) The processor's Data Cache was reloaded with data from memory attached to a distant module due to a demand load
+event:0X0681 counters:1 um:zero minimum:10000 name:PM_INST_CMPL_GRP104 : (Group 104 pm_dsource14) Number of PowerPC Instructions that completed.
+event:0X0682 counters:2 um:zero minimum:1000 name:PM_DATA_FROM_RMEM_GRP104 : (Group 104 pm_dsource14) The processor’s Data Cache was reloaded from memory attached to a different module than this proccessor is located on.
+event:0X0683 counters:3 um:zero minimum:1000 name:PM_DATA_FROM_LMEM_GRP104 : (Group 104 pm_dsource14) The processor’s Data Cache was reloaded from memory attached to the same module this proccessor is located on.
+event:0X0684 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP104 : (Group 104 pm_dsource14) Number of run instructions completed.
+event:0X0685 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP104 : (Group 104 pm_dsource14) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 105 pm_dsource15, Data source information
+event:0X0690 counters:0 um:zero minimum:1000 name:PM_DATA_FROM_DMEM_GRP105 : (Group 105 pm_dsource15) The processor's Data Cache was reloaded with data from memory attached to a distant module due to a demand load
+event:0X0691 counters:1 um:zero minimum:10000 name:PM_INST_CMPL_GRP105 : (Group 105 pm_dsource15) Number of PowerPC Instructions that completed.
+event:0X0692 counters:2 um:zero minimum:1000 name:PM_L1_DCACHE_RELOAD_VALID_GRP105 : (Group 105 pm_dsource15) The data source information is valid,the data cache has been reloaded. Prior to POWER5+ this included data cache reloads due to prefetch activity. With POWER5+ this now only includes reloads due to demand loads.
+event:0X0693 counters:3 um:zero minimum:1000 name:PM_DATA_FROM_LMEM_GRP105 : (Group 105 pm_dsource15) The processor’s Data Cache was reloaded from memory attached to the same module this proccessor is located on.
+event:0X0694 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP105 : (Group 105 pm_dsource15) Number of run instructions completed.
+event:0X0695 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP105 : (Group 105 pm_dsource15) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 106 pm_isource1, Instruction source information
+event:0X06A0 counters:0 um:zero minimum:1000 name:PM_INST_FROM_L2_GRP106 : (Group 106 pm_isource1) An instruction fetch group was fetched from L2. Fetch Groups can contain up to 8 instructions
+event:0X06A1 counters:1 um:zero minimum:1000 name:PM_INST_FROM_L3_GRP106 : (Group 106 pm_isource1) An instruction fetch group was fetched from L3. Fetch Groups can contain up to 8 instructions
+event:0X06A2 counters:2 um:zero minimum:1000 name:PM_INST_FROM_LMEM_GRP106 : (Group 106 pm_isource1) An instruction fetch group was fetched from memory attached to the same module this proccessor is located on. Fetch groups can contain up to 8 instructions
+event:0X06A3 counters:3 um:zero minimum:1000 name:PM_INST_FROM_L2MISS_GRP106 : (Group 106 pm_isource1) An instruction fetch group was fetched from beyond the local L2.
+event:0X06A4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP106 : (Group 106 pm_isource1) Number of run instructions completed.
+event:0X06A5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP106 : (Group 106 pm_isource1) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 107 pm_isource2, Instruction source information
+event:0X06B0 counters:0 um:zero minimum:1000 name:PM_INST_FROM_L3_GRP107 : (Group 107 pm_isource2) An instruction fetch group was fetched from L3. Fetch Groups can contain up to 8 instructions
+event:0X06B1 counters:1 um:zero minimum:1000 name:PM_INST_FROM_DMEM_GRP107 : (Group 107 pm_isource2) An instruction fetch group was fetched from memory attached to a distant module. Fetch groups can contain up to 8 instructions
+event:0X06B2 counters:2 um:zero minimum:1000 name:PM_INST_FROM_DL2L3_MOD_GRP107 : (Group 107 pm_isource2) An instruction fetch group was fetched with modified (M) data from an L2 or L3 on a distant module. Fetch groups can contain up to 8 instructions
+event:0X06B3 counters:3 um:zero minimum:1000 name:PM_INST_FROM_LMEM_GRP107 : (Group 107 pm_isource2) An instruction fetch group was fetched from memory attached to the same module this proccessor is located on. Fetch groups can contain up to 8 instructions
+event:0X06B4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP107 : (Group 107 pm_isource2) Number of run instructions completed.
+event:0X06B5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP107 : (Group 107 pm_isource2) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 108 pm_isource3, Instruction source information
+event:0X06C0 counters:0 um:zero minimum:1000 name:PM_INST_FROM_DMEM_GRP108 : (Group 108 pm_isource3) An instruction fetch group was fetched from memory attached to a distant module. Fetch groups can contain up to 8 instructions
+event:0X06C1 counters:1 um:zero minimum:1000 name:PM_INST_FROM_L3MISS_GRP108 : (Group 108 pm_isource3) An instruction fetch group was fetched from beyond L3. Fetch groups can contain up to 8 instructions.
+event:0X06C2 counters:2 um:zero minimum:1000 name:PM_INST_FROM_DL2L3_SHR_GRP108 : (Group 108 pm_isource3) An instruction fetch group was fetched with shared (S) data from the L2 or L3 on a distant module. Fetch groups can contain up to 8 instructions
+event:0X06C3 counters:3 um:zero minimum:1000 name:PM_INST_FROM_DL2L3_MOD_GRP108 : (Group 108 pm_isource3) An instruction fetch group was fetched with modified (M) data from an L2 or L3 on a distant module. Fetch groups can contain up to 8 instructions
+event:0X06C4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP108 : (Group 108 pm_isource3) Number of run instructions completed.
+event:0X06C5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP108 : (Group 108 pm_isource3) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 109 pm_isource4, Instruction source information
+event:0X06D0 counters:0 um:zero minimum:1000 name:PM_INST_FROM_L31_MOD_GRP109 : (Group 109 pm_isource4) Instruction fetched from another L3 on same chip modified
+event:0X06D1 counters:1 um:zero minimum:1000 name:PM_INST_FROM_L31_SHR_GRP109 : (Group 109 pm_isource4) Instruction fetched from another L3 on same chip shared
+event:0X06D2 counters:2 um:zero minimum:1000 name:PM_INST_FROM_L21_MOD_GRP109 : (Group 109 pm_isource4) Instruction fetched from another L2 on same chip modified
+event:0X06D3 counters:3 um:zero minimum:1000 name:PM_INST_FROM_L21_SHR_GRP109 : (Group 109 pm_isource4) Instruction fetched from another L2 on same chip shared
+event:0X06D4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP109 : (Group 109 pm_isource4) Number of run instructions completed.
+event:0X06D5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP109 : (Group 109 pm_isource4) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 110 pm_isource5, Instruction source information
+event:0X06E0 counters:0 um:zero minimum:1000 name:PM_INST_FROM_L31_SHR_GRP110 : (Group 110 pm_isource5) Instruction fetched from another L3 on same chip shared
+event:0X06E1 counters:1 um:zero minimum:1000 name:PM_INST_FROM_RL2L3_SHR_GRP110 : (Group 110 pm_isource5) An instruction fetch group was fetched with shared (S) data from the L2 or L3 on a remote module. Fetch groups can contain up to 8 instructions
+event:0X06E2 counters:2 um:zero minimum:1000 name:PM_INST_FROM_L21_SHR_GRP110 : (Group 110 pm_isource5) Instruction fetched from another L2 on same chip shared
+event:0X06E3 counters:3 um:zero minimum:1000 name:PM_INST_FROM_L2MISS_GRP110 : (Group 110 pm_isource5) An instruction fetch group was fetched from beyond the local L2.
+event:0X06E4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP110 : (Group 110 pm_isource5) Number of run instructions completed.
+event:0X06E5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP110 : (Group 110 pm_isource5) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 111 pm_isource6, Instruction source information
+event:0X06F0 counters:0 um:zero minimum:1000 name:PM_INST_FROM_PREF_GRP111 : (Group 111 pm_isource6) An instruction fetch group was fetched from the prefetch buffer. Fetch groups can contain up to 8 instructions
+event:0X06F1 counters:1 um:zero minimum:1000 name:PM_INST_FROM_L3MISS_GRP111 : (Group 111 pm_isource6) An instruction fetch group was fetched from beyond L3. Fetch groups can contain up to 8 instructions.
+event:0X06F2 counters:2 um:zero minimum:1000 name:PM_INST_FROM_LMEM_GRP111 : (Group 111 pm_isource6) An instruction fetch group was fetched from memory attached to the same module this proccessor is located on. Fetch groups can contain up to 8 instructions
+event:0X06F3 counters:3 um:zero minimum:1000 name:PM_INST_FROM_L2MISS_GRP111 : (Group 111 pm_isource6) An instruction fetch group was fetched from beyond the local L2.
+event:0X06F4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP111 : (Group 111 pm_isource6) Number of run instructions completed.
+event:0X06F5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP111 : (Group 111 pm_isource6) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 112 pm_isource7, Instruction source information
+event:0X0700 counters:0 um:zero minimum:1000 name:PM_INST_FROM_RL2L3_MOD_GRP112 : (Group 112 pm_isource7) An instruction fetch group was fetched with modified (M) data from an L2 or L3 on a remote module. Fetch groups can contain up to 8 instructions
+event:0X0701 counters:1 um:zero minimum:1000 name:PM_INST_FROM_RL2L3_SHR_GRP112 : (Group 112 pm_isource7) An instruction fetch group was fetched with shared (S) data from the L2 or L3 on a remote module. Fetch groups can contain up to 8 instructions
+event:0X0702 counters:2 um:zero minimum:1000 name:PM_INST_FROM_DL2L3_SHR_GRP112 : (Group 112 pm_isource7) An instruction fetch group was fetched with shared (S) data from the L2 or L3 on a distant module. Fetch groups can contain up to 8 instructions
+event:0X0703 counters:3 um:zero minimum:1000 name:PM_INST_FROM_DL2L3_MOD_GRP112 : (Group 112 pm_isource7) An instruction fetch group was fetched with modified (M) data from an L2 or L3 on a distant module. Fetch groups can contain up to 8 instructions
+event:0X0704 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP112 : (Group 112 pm_isource7) Number of run instructions completed.
+event:0X0705 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP112 : (Group 112 pm_isource7) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 113 pm_isource8, Instruction source information
+event:0X0710 counters:0 um:zero minimum:1000 name:PM_INST_FROM_RL2L3_SHR_GRP113 : (Group 113 pm_isource8) An instruction fetch group was fetched with shared (S) data from the L2 or L3 on a remote module. Fetch groups can contain up to 8 instructions
+event:0X0711 counters:1 um:zero minimum:1000 name:PM_INST_FROM_L3MISS_GRP113 : (Group 113 pm_isource8) An instruction fetch group was fetched from beyond L3. Fetch groups can contain up to 8 instructions.
+event:0X0712 counters:2 um:zero minimum:1000 name:PM_INST_FROM_LMEM_GRP113 : (Group 113 pm_isource8) An instruction fetch group was fetched from memory attached to the same module this proccessor is located on. Fetch groups can contain up to 8 instructions
+event:0X0713 counters:3 um:zero minimum:1000 name:PM_INST_FROM_L2MISS_GRP113 : (Group 113 pm_isource8) An instruction fetch group was fetched from beyond the local L2.
+event:0X0714 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP113 : (Group 113 pm_isource8) Number of run instructions completed.
+event:0X0715 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP113 : (Group 113 pm_isource8) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 114 pm_isource9, Instruction source information
+event:0X0720 counters:0 um:zero minimum:1000 name:PM_INST_FROM_PREF_GRP114 : (Group 114 pm_isource9) An instruction fetch group was fetched from the prefetch buffer. Fetch groups can contain up to 8 instructions
+event:0X0721 counters:1 um:zero minimum:1000 name:PM_INST_FROM_DMEM_GRP114 : (Group 114 pm_isource9) An instruction fetch group was fetched from memory attached to a distant module. Fetch groups can contain up to 8 instructions
+event:0X0722 counters:2 um:zero minimum:1000 name:PM_INST_FROM_RMEM_GRP114 : (Group 114 pm_isource9) An instruction fetch group was fetched from memory attached to a different module than this proccessor is located on. Fetch groups can contain up to 8 instructions
+event:0X0723 counters:3 um:zero minimum:1000 name:PM_INST_FROM_LMEM_GRP114 : (Group 114 pm_isource9) An instruction fetch group was fetched from memory attached to the same module this proccessor is located on. Fetch groups can contain up to 8 instructions
+event:0X0724 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP114 : (Group 114 pm_isource9) Number of run instructions completed.
+event:0X0725 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP114 : (Group 114 pm_isource9) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 115 pm_isource10, Instruction source information
+event:0X0730 counters:0 um:zero minimum:1000 name:PM_INST_FROM_L2_GRP115 : (Group 115 pm_isource10) An instruction fetch group was fetched from L2. Fetch Groups can contain up to 8 instructions
+event:0X0731 counters:1 um:zero minimum:1000 name:PM_INST_FROM_L3_GRP115 : (Group 115 pm_isource10) An instruction fetch group was fetched from L3. Fetch Groups can contain up to 8 instructions
+event:0X0732 counters:2 um:zero minimum:10000 name:PM_INST_CMPL_GRP115 : (Group 115 pm_isource10) Number of PowerPC Instructions that completed.
+event:0X0733 counters:3 um:zero minimum:10000 name:PM_CYC_GRP115 : (Group 115 pm_isource10) Processor Cycles
+event:0X0734 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP115 : (Group 115 pm_isource10) Number of run instructions completed.
+event:0X0735 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP115 : (Group 115 pm_isource10) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 116 pm_isource11, Instruction source information
+event:0X0740 counters:0 um:zero minimum:1000 name:PM_INST_FROM_RL2L3_MOD_GRP116 : (Group 116 pm_isource11) An instruction fetch group was fetched with modified (M) data from an L2 or L3 on a remote module. Fetch groups can contain up to 8 instructions
+event:0X0741 counters:1 um:zero minimum:1000 name:PM_INST_FROM_RL2L3_SHR_GRP116 : (Group 116 pm_isource11) An instruction fetch group was fetched with shared (S) data from the L2 or L3 on a remote module. Fetch groups can contain up to 8 instructions
+event:0X0742 counters:2 um:zero minimum:1000 name:PM_INST_FROM_LMEM_GRP116 : (Group 116 pm_isource11) An instruction fetch group was fetched from memory attached to the same module this proccessor is located on. Fetch groups can contain up to 8 instructions
+event:0X0743 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP116 : (Group 116 pm_isource11) Number of PowerPC Instructions that completed.
+event:0X0744 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP116 : (Group 116 pm_isource11) Number of run instructions completed.
+event:0X0745 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP116 : (Group 116 pm_isource11) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 117 pm_isource12, Instruction source information
+event:0X0750 counters:0 um:zero minimum:10000 name:PM_CYC_GRP117 : (Group 117 pm_isource12) Processor Cycles
+event:0X0751 counters:1 um:zero minimum:10000 name:PM_INST_CMPL_GRP117 : (Group 117 pm_isource12) Number of PowerPC Instructions that completed.
+event:0X0752 counters:2 um:zero minimum:1000 name:PM_INST_FROM_DL2L3_SHR_GRP117 : (Group 117 pm_isource12) An instruction fetch group was fetched with shared (S) data from the L2 or L3 on a distant module. Fetch groups can contain up to 8 instructions
+event:0X0753 counters:3 um:zero minimum:1000 name:PM_INST_FROM_DL2L3_MOD_GRP117 : (Group 117 pm_isource12) An instruction fetch group was fetched with modified (M) data from an L2 or L3 on a distant module. Fetch groups can contain up to 8 instructions
+event:0X0754 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP117 : (Group 117 pm_isource12) Number of run instructions completed.
+event:0X0755 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP117 : (Group 117 pm_isource12) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 118 pm_isource13, Instruction source information
+event:0X0760 counters:0 um:zero minimum:1000 name:PM_INST_FROM_DMEM_GRP118 : (Group 118 pm_isource13) An instruction fetch group was fetched from memory attached to a distant module. Fetch groups can contain up to 8 instructions
+event:0X0761 counters:1 um:zero minimum:10000 name:PM_INST_CMPL_GRP118 : (Group 118 pm_isource13) Number of PowerPC Instructions that completed.
+event:0X0762 counters:2 um:zero minimum:1000 name:PM_INST_FROM_RMEM_GRP118 : (Group 118 pm_isource13) An instruction fetch group was fetched from memory attached to a different module than this proccessor is located on. Fetch groups can contain up to 8 instructions
+event:0X0763 counters:3 um:zero minimum:1000 name:PM_INST_FROM_LMEM_GRP118 : (Group 118 pm_isource13) An instruction fetch group was fetched from memory attached to the same module this proccessor is located on. Fetch groups can contain up to 8 instructions
+event:0X0764 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP118 : (Group 118 pm_isource13) Number of run instructions completed.
+event:0X0765 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP118 : (Group 118 pm_isource13) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 119 pm_prefetch1, Prefetch events
+event:0X0770 counters:0 um:zero minimum:1000 name:PM_LSU_DC_PREF_STREAM_ALLOC_GRP119 : (Group 119 pm_prefetch1) D cache new prefetch stream allocated
+event:0X0771 counters:1 um:zero minimum:1000 name:PM_L3_PREF_LDST_GRP119 : (Group 119 pm_prefetch1) L3 cache prefetches LD + ST
+event:0X0772 counters:2 um:zero minimum:1000 name:PM_LSU_DC_PREF_STREAM_CONFIRM_GRP119 : (Group 119 pm_prefetch1) Dcache new prefetch stream confirmed
+event:0X0773 counters:3 um:zero minimum:1000 name:PM_L1_PREF_GRP119 : (Group 119 pm_prefetch1) A request to prefetch data into the L1 was made
+event:0X0774 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP119 : (Group 119 pm_prefetch1) Number of run instructions completed.
+event:0X0775 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP119 : (Group 119 pm_prefetch1) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 120 pm_prefetch2, Prefetch events
+event:0X0780 counters:0 um:zero minimum:1000 name:PM_LSU_DC_PREF_STRIDED_STREAM_CONFIRM_GRP120 : (Group 120 pm_prefetch2) Dcache Strided prefetch stream confirmed (software + hardware)
+event:0X0781 counters:1 um:zero minimum:1000 name:PM_LD_REF_L1_GRP120 : (Group 120 pm_prefetch2) L1 D cache load references counted at finish
+event:0X0782 counters:2 um:zero minimum:1000 name:PM_LSU_FIN_GRP120 : (Group 120 pm_prefetch2) LSU Finished an instruction (up to 2 per cycle)
+event:0X0783 counters:3 um:zero minimum:1000 name:PM_LD_MISS_L1_GRP120 : (Group 120 pm_prefetch2) Load references that miss the Level 1 Data cache. Combined unit 0 + 1.
+event:0X0784 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP120 : (Group 120 pm_prefetch2) Number of run instructions completed.
+event:0X0785 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP120 : (Group 120 pm_prefetch2) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 121 pm_vsu0, VSU Execution
+event:0X0790 counters:0 um:zero minimum:1000 name:PM_VSU0_1FLOP_GRP121 : (Group 121 pm_vsu0) one flop (fadd, fmul, fsub, fcmp, fsel, fabs, fnabs, fres, fsqrte, fneg, xsadd, xsmul, xssub, xscmp, xssel, xsabs, xsnabs, xsre, xssqrte, xsneg) operation finished
+event:0X0791 counters:1 um:zero minimum:1000 name:PM_VSU1_1FLOP_GRP121 : (Group 121 pm_vsu0) one flop (fadd, fmul, fsub, fcmp, fsel, fabs, fnabs, fres, fsqrte, fneg, xsadd, xsmul, xssub, xscmp, xssel, xsabs, xsnabs, xsre, xssqrte, xsneg) operation finished
+event:0X0792 counters:2 um:zero minimum:1000 name:PM_VSU0_2FLOP_GRP121 : (Group 121 pm_vsu0) two flops operation (scalar fmadd, fnmadd, fmsub, fnmsub and DP vector versions of single flop instructions)
+event:0X0793 counters:3 um:zero minimum:1000 name:PM_VSU1_2FLOP_GRP121 : (Group 121 pm_vsu0) two flops operation (scalar fmadd, fnmadd, fmsub, fnmsub and DP vector versions of single flop instructions)
+event:0X0794 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP121 : (Group 121 pm_vsu0) Number of run instructions completed.
+event:0X0795 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP121 : (Group 121 pm_vsu0) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 122 pm_vsu1, VSU Execution
+event:0X07A0 counters:0 um:zero minimum:1000 name:PM_VSU0_4FLOP_GRP122 : (Group 122 pm_vsu1) four flops operation (scalar fdiv, fsqrt; DP vector version of fmadd, fnmadd, fmsub, fnmsub; SP vector versions of single flop instructions)
+event:0X07A1 counters:1 um:zero minimum:1000 name:PM_VSU1_4FLOP_GRP122 : (Group 122 pm_vsu1) four flops operation (scalar fdiv, fsqrt; DP vector version of fmadd, fnmadd, fmsub, fnmsub; SP vector versions of single flop instructions)
+event:0X07A2 counters:2 um:zero minimum:1000 name:PM_VSU0_8FLOP_GRP122 : (Group 122 pm_vsu1) eight flops operation (DP vector versions of fdiv,fsqrt and SP vector versions of fmadd,fnmadd,fmsub,fnmsub)
+event:0X07A3 counters:3 um:zero minimum:1000 name:PM_VSU1_8FLOP_GRP122 : (Group 122 pm_vsu1) eight flops operation (DP vector versions of fdiv,fsqrt and SP vector versions of fmadd,fnmadd,fmsub,fnmsub)
+event:0X07A4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP122 : (Group 122 pm_vsu1) Number of run instructions completed.
+event:0X07A5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP122 : (Group 122 pm_vsu1) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 123 pm_vsu2, VSU Execution
+event:0X07B0 counters:0 um:zero minimum:1000 name:PM_VSU_2FLOP_GRP123 : (Group 123 pm_vsu2) two flops operation (scalar fmadd, fnmadd, fmsub, fnmsub and DP vector versions of single flop instructions)
+event:0X07B1 counters:1 um:zero minimum:1000 name:PM_VSU_2FLOP_DOUBLE_GRP123 : (Group 123 pm_vsu2) DP vector version of fmul, fsub, fcmp, fsel, fabs, fnabs, fres ,fsqrte, fneg
+event:0X07B2 counters:2 um:zero minimum:1000 name:PM_VSU0_2FLOP_DOUBLE_GRP123 : (Group 123 pm_vsu2) two flop DP vector operation (xvadddp, xvmuldp, xvsubdp, xvcmpdp, xvseldp, xvabsdp, xvnabsdp, xvredp ,xvsqrtedp, vxnegdp)
+event:0X07B3 counters:3 um:zero minimum:1000 name:PM_VSU1_2FLOP_DOUBLE_GRP123 : (Group 123 pm_vsu2) two flop DP vector operation (xvadddp, xvmuldp, xvsubdp, xvcmpdp, xvseldp, xvabsdp, xvnabsdp, xvredp ,xvsqrtedp, vxnegdp)
+event:0X07B4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP123 : (Group 123 pm_vsu2) Number of run instructions completed.
+event:0X07B5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP123 : (Group 123 pm_vsu2) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 124 pm_vsu3, VSU Execution
+event:0X07C0 counters:0 um:zero minimum:1000 name:PM_VSU0_FMA_GRP124 : (Group 124 pm_vsu3) two flops operation (fmadd, fnmadd, fmsub, fnmsub, xsmadd, xsnmadd, xsmsub, xsnmsub) Scalar instructions only!
+event:0X07C1 counters:1 um:zero minimum:1000 name:PM_VSU1_FMA_GRP124 : (Group 124 pm_vsu3) two flops operation (fmadd, fnmadd, fmsub, fnmsub, xsmadd, xsnmadd, xsmsub, xsnmsub) Scalar instructions only!
+event:0X07C2 counters:2 um:zero minimum:1000 name:PM_VSU_FMA_GRP124 : (Group 124 pm_vsu3) two flops operation (fmadd, fnmadd, fmsub, fnmsub) Scalar instructions only!
+event:0X07C3 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP124 : (Group 124 pm_vsu3) Number of PowerPC Instructions that completed.
+event:0X07C4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP124 : (Group 124 pm_vsu3) Number of run instructions completed.
+event:0X07C5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP124 : (Group 124 pm_vsu3) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 125 pm_vsu4, VSU Execution
+event:0X07D0 counters:0 um:zero minimum:1000 name:PM_VSU0_FMA_DOUBLE_GRP125 : (Group 125 pm_vsu4) four flop DP vector operations (xvmadddp, xvnmadddp, xvmsubdp, xvmsubdp)
+event:0X07D1 counters:1 um:zero minimum:1000 name:PM_VSU1_FMA_DOUBLE_GRP125 : (Group 125 pm_vsu4) four flop DP vector operations (xvmadddp, xvnmadddp, xvmsubdp, xvmsubdp)
+event:0X07D2 counters:2 um:zero minimum:1000 name:PM_VSU_FMA_DOUBLE_GRP125 : (Group 125 pm_vsu4) DP vector version of fmadd,fnmadd,fmsub,fnmsub
+event:0X07D3 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP125 : (Group 125 pm_vsu4) Number of PowerPC Instructions that completed.
+event:0X07D4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP125 : (Group 125 pm_vsu4) Number of run instructions completed.
+event:0X07D5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP125 : (Group 125 pm_vsu4) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 126 pm_vsu5, VSU Execution
+event:0X07E0 counters:0 um:zero minimum:1000 name:PM_VSU_VECTOR_DOUBLE_ISSUED_GRP126 : (Group 126 pm_vsu5) Double Precision vector instruction issued on Pipe0
+event:0X07E1 counters:1 um:zero minimum:1000 name:PM_VSU0_VECT_DOUBLE_ISSUED_GRP126 : (Group 126 pm_vsu5) Double Precision vector instruction issued on Pipe0
+event:0X07E2 counters:2 um:zero minimum:1000 name:PM_VSU1_VECT_DOUBLE_ISSUED_GRP126 : (Group 126 pm_vsu5) Double Precision vector instruction issued on Pipe1
+event:0X07E3 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP126 : (Group 126 pm_vsu5) Number of PowerPC Instructions that completed.
+event:0X07E4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP126 : (Group 126 pm_vsu5) Number of run instructions completed.
+event:0X07E5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP126 : (Group 126 pm_vsu5) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 127 pm_vsu6, VSU Execution
+event:0X07F0 counters:0 um:zero minimum:1000 name:PM_VSU_DENORM_GRP127 : (Group 127 pm_vsu6) Vector or Scalar denorm operand
+event:0X07F1 counters:1 um:zero minimum:1000 name:PM_VSU0_DENORM_GRP127 : (Group 127 pm_vsu6) VSU0 received denormalized data
+event:0X07F2 counters:2 um:zero minimum:1000 name:PM_VSU1_DENORM_GRP127 : (Group 127 pm_vsu6) VSU1 received denormalized data
+event:0X07F3 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP127 : (Group 127 pm_vsu6) Number of PowerPC Instructions that completed.
+event:0X07F4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP127 : (Group 127 pm_vsu6) Number of run instructions completed.
+event:0X07F5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP127 : (Group 127 pm_vsu6) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 128 pm_vsu7, VSU Execution
+event:0X0800 counters:0 um:zero minimum:1000 name:PM_VSU_FIN_GRP128 : (Group 128 pm_vsu7) VSU0 Finished an instruction
+event:0X0801 counters:1 um:zero minimum:1000 name:PM_VSU0_FIN_GRP128 : (Group 128 pm_vsu7) VSU0 Finished an instruction
+event:0X0802 counters:2 um:zero minimum:1000 name:PM_VSU1_FIN_GRP128 : (Group 128 pm_vsu7) VSU1 Finished an instruction
+event:0X0803 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP128 : (Group 128 pm_vsu7) Number of PowerPC Instructions that completed.
+event:0X0804 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP128 : (Group 128 pm_vsu7) Number of run instructions completed.
+event:0X0805 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP128 : (Group 128 pm_vsu7) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 129 pm_vsu8, VSU Execution
+event:0X0810 counters:0 um:zero minimum:1000 name:PM_VSU_STF_GRP129 : (Group 129 pm_vsu8) FPU store (SP or DP) issued on Pipe0
+event:0X0811 counters:1 um:zero minimum:1000 name:PM_VSU0_STF_GRP129 : (Group 129 pm_vsu8) FPU store (SP or DP) issued on Pipe0
+event:0X0812 counters:2 um:zero minimum:1000 name:PM_VSU1_STF_GRP129 : (Group 129 pm_vsu8) FPU store (SP or DP) issued on Pipe1
+event:0X0813 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP129 : (Group 129 pm_vsu8) Number of PowerPC Instructions that completed.
+event:0X0814 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP129 : (Group 129 pm_vsu8) Number of run instructions completed.
+event:0X0815 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP129 : (Group 129 pm_vsu8) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 130 pm_vsu9, VSU Execution
+event:0X0820 counters:0 um:zero minimum:1000 name:PM_VSU_SINGLE_GRP130 : (Group 130 pm_vsu9) Vector or Scalar single precision
+event:0X0821 counters:1 um:zero minimum:1000 name:PM_VSU0_SINGLE_GRP130 : (Group 130 pm_vsu9) VSU0 executed single precision instruction
+event:0X0822 counters:2 um:zero minimum:1000 name:PM_VSU1_SINGLE_GRP130 : (Group 130 pm_vsu9) VSU1 executed single precision instruction
+event:0X0823 counters:3 um:zero minimum:1000 name:PM_VSU0_16FLOP_GRP130 : (Group 130 pm_vsu9) Sixteen flops operation (SP vector versions of fdiv,fsqrt)
+event:0X0824 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP130 : (Group 130 pm_vsu9) Number of run instructions completed.
+event:0X0825 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP130 : (Group 130 pm_vsu9) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 131 pm_vsu10, VSU Execution
+event:0X0830 counters:0 um:zero minimum:1000 name:PM_VSU_FSQRT_FDIV_GRP131 : (Group 131 pm_vsu10) DP vector versions of fdiv,fsqrt
+event:0X0831 counters:1 um:zero minimum:1000 name:PM_VSU0_FSQRT_FDIV_GRP131 : (Group 131 pm_vsu10) four flops operation (fdiv,fsqrt,xsdiv,xssqrt) Scalar Instructions only!
+event:0X0832 counters:2 um:zero minimum:1000 name:PM_VSU1_FSQRT_FDIV_GRP131 : (Group 131 pm_vsu10) four flops operation (fdiv,fsqrt,xsdiv,xssqrt) Scalar Instructions only!
+event:0X0833 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP131 : (Group 131 pm_vsu10) Number of PowerPC Instructions that completed.
+event:0X0834 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP131 : (Group 131 pm_vsu10) Number of run instructions completed.
+event:0X0835 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP131 : (Group 131 pm_vsu10) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 132 pm_vsu11, VSU Execution
+event:0X0840 counters:0 um:zero minimum:1000 name:PM_VSU_FSQRT_FDIV_DOUBLE_GRP132 : (Group 132 pm_vsu11) DP vector versions of fdiv,fsqrt
+event:0X0841 counters:1 um:zero minimum:1000 name:PM_VSU0_FSQRT_FDIV_DOUBLE_GRP132 : (Group 132 pm_vsu11) eight flop DP vector operations (xvfdivdp, xvsqrtdp
+event:0X0842 counters:2 um:zero minimum:1000 name:PM_VSU1_FSQRT_FDIV_DOUBLE_GRP132 : (Group 132 pm_vsu11) eight flop DP vector operations (xvfdivdp, xvsqrtdp
+event:0X0843 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP132 : (Group 132 pm_vsu11) Number of PowerPC Instructions that completed.
+event:0X0844 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP132 : (Group 132 pm_vsu11) Number of run instructions completed.
+event:0X0845 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP132 : (Group 132 pm_vsu11) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 133 pm_vsu12, VSU Execution
+event:0X0850 counters:0 um:zero minimum:1000 name:PM_VSU_SCALAR_DOUBLE_ISSUED_GRP133 : (Group 133 pm_vsu12) Double Precision scalar instruction issued on Pipe0
+event:0X0851 counters:1 um:zero minimum:1000 name:PM_VSU0_SCAL_DOUBLE_ISSUED_GRP133 : (Group 133 pm_vsu12) Double Precision scalar instruction issued on Pipe0
+event:0X0852 counters:2 um:zero minimum:1000 name:PM_VSU1_SCAL_DOUBLE_ISSUED_GRP133 : (Group 133 pm_vsu12) Double Precision scalar instruction issued on Pipe1
+event:0X0853 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP133 : (Group 133 pm_vsu12) Number of PowerPC Instructions that completed.
+event:0X0854 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP133 : (Group 133 pm_vsu12) Number of run instructions completed.
+event:0X0855 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP133 : (Group 133 pm_vsu12) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 134 pm_vsu13, VSU Execution
+event:0X0860 counters:0 um:zero minimum:1000 name:PM_VSU_SCALAR_SINGLE_ISSUED_GRP134 : (Group 134 pm_vsu13) Single Precision scalar instruction issued on Pipe0
+event:0X0861 counters:1 um:zero minimum:1000 name:PM_VSU0_SCAL_SINGLE_ISSUED_GRP134 : (Group 134 pm_vsu13) Single Precision scalar instruction issued on Pipe0
+event:0X0862 counters:2 um:zero minimum:1000 name:PM_VSU1_SCAL_SINGLE_ISSUED_GRP134 : (Group 134 pm_vsu13) Single Precision scalar instruction issued on Pipe1
+event:0X0863 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP134 : (Group 134 pm_vsu13) Number of PowerPC Instructions that completed.
+event:0X0864 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP134 : (Group 134 pm_vsu13) Number of run instructions completed.
+event:0X0865 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP134 : (Group 134 pm_vsu13) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 135 pm_vsu14, VSU Execution
+event:0X0870 counters:0 um:zero minimum:1000 name:PM_VSU_1FLOP_GRP135 : (Group 135 pm_vsu14) one flop (fadd, fmul, fsub, fcmp, fsel, fabs, fnabs, fres, fsqrte, fneg) operation finished
+event:0X0871 counters:1 um:zero minimum:1000 name:PM_VSU_4FLOP_GRP135 : (Group 135 pm_vsu14) four flops operation (scalar fdiv, fsqrt; DP vector version of fmadd, fnmadd, fmsub, fnmsub; SP vector versions of single flop instructions)
+event:0X0872 counters:2 um:zero minimum:1000 name:PM_VSU_8FLOP_GRP135 : (Group 135 pm_vsu14) eight flops operation (DP vector versions of fdiv,fsqrt and SP vector versions of fmadd,fnmadd,fmsub,fnmsub)
+event:0X0873 counters:3 um:zero minimum:1000 name:PM_VSU_2FLOP_GRP135 : (Group 135 pm_vsu14) two flops operation (scalar fmadd, fnmadd, fmsub, fnmsub and DP vector versions of single flop instructions)
+event:0X0874 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP135 : (Group 135 pm_vsu14) Number of run instructions completed.
+event:0X0875 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP135 : (Group 135 pm_vsu14) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 136 pm_vsu15, VSU Execution
+event:0X0880 counters:0 um:zero minimum:1000 name:PM_VSU_VECTOR_SINGLE_ISSUED_GRP136 : (Group 136 pm_vsu15) Single Precision vector instruction issued (executed)
+event:0X0881 counters:1 um:zero minimum:1000 name:PM_VSU0_VECTOR_SP_ISSUED_GRP136 : (Group 136 pm_vsu15) Single Precision vector instruction issued (executed)
+event:0X0882 counters:2 um:zero minimum:1000 name:PM_VSU0_FPSCR_GRP136 : (Group 136 pm_vsu15) Move to/from FPSCR type instruction issued on Pipe 0
+event:0X0883 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP136 : (Group 136 pm_vsu15) Number of PowerPC Instructions that completed.
+event:0X0884 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP136 : (Group 136 pm_vsu15) Number of run instructions completed.
+event:0X0885 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP136 : (Group 136 pm_vsu15) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 137 pm_vsu16, VSU Execution
+event:0X0890 counters:0 um:zero minimum:1000 name:PM_VSU_SIMPLE_ISSUED_GRP137 : (Group 137 pm_vsu16) Simple VMX instruction issued
+event:0X0891 counters:1 um:zero minimum:1000 name:PM_VSU0_SIMPLE_ISSUED_GRP137 : (Group 137 pm_vsu16) Simple VMX instruction issued
+event:0X0892 counters:2 um:zero minimum:1000 name:PM_VSU0_COMPLEX_ISSUED_GRP137 : (Group 137 pm_vsu16) Complex VMX instruction issued
+event:0X0893 counters:3 um:zero minimum:1000 name:PM_VMX_RESULT_SAT_1_GRP137 : (Group 137 pm_vsu16) Valid result with sat=1
+event:0X0894 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP137 : (Group 137 pm_vsu16) Number of run instructions completed.
+event:0X0895 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP137 : (Group 137 pm_vsu16) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 138 pm_vsu17, VSU Execution
+event:0X08A0 counters:0 um:zero minimum:1000 name:PM_VSU1_DD_ISSUED_GRP138 : (Group 138 pm_vsu17) 64BIT Decimal Issued on Pipe1
+event:0X08A1 counters:1 um:zero minimum:1000 name:PM_VSU1_DQ_ISSUED_GRP138 : (Group 138 pm_vsu17) 128BIT Decimal Issued on Pipe1
+event:0X08A2 counters:2 um:zero minimum:1000 name:PM_VSU1_PERMUTE_ISSUED_GRP138 : (Group 138 pm_vsu17) Permute VMX Instruction Issued
+event:0X08A3 counters:3 um:zero minimum:1000 name:PM_VSU1_SQ_GRP138 : (Group 138 pm_vsu17) Store Vector Issued on Pipe1
+event:0X08A4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP138 : (Group 138 pm_vsu17) Number of run instructions completed.
+event:0X08A5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP138 : (Group 138 pm_vsu17) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 139 pm_vsu18, VSU Execution
+event:0X08B0 counters:0 um:zero minimum:1000 name:PM_VSU_FCONV_GRP139 : (Group 139 pm_vsu18) Convert instruction executed
+event:0X08B1 counters:1 um:zero minimum:1000 name:PM_VSU0_FCONV_GRP139 : (Group 139 pm_vsu18) Convert instruction executed
+event:0X08B2 counters:2 um:zero minimum:1000 name:PM_VSU1_FCONV_GRP139 : (Group 139 pm_vsu18) Convert instruction executed
+event:0X08B3 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP139 : (Group 139 pm_vsu18) Number of PowerPC Instructions that completed.
+event:0X08B4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP139 : (Group 139 pm_vsu18) Number of run instructions completed.
+event:0X08B5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP139 : (Group 139 pm_vsu18) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 140 pm_vsu19, VSU Execution
+event:0X08C0 counters:0 um:zero minimum:1000 name:PM_VSU_FRSP_GRP140 : (Group 140 pm_vsu19) Round to single precision instruction executed
+event:0X08C1 counters:1 um:zero minimum:1000 name:PM_VSU0_FRSP_GRP140 : (Group 140 pm_vsu19) Round to single precision instruction executed
+event:0X08C2 counters:2 um:zero minimum:1000 name:PM_VSU1_FRSP_GRP140 : (Group 140 pm_vsu19) Round to single precision instruction executed
+event:0X08C3 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP140 : (Group 140 pm_vsu19) Number of PowerPC Instructions that completed.
+event:0X08C4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP140 : (Group 140 pm_vsu19) Number of run instructions completed.
+event:0X08C5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP140 : (Group 140 pm_vsu19) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 141 pm_vsu20, VSU Execution
+event:0X08D0 counters:0 um:zero minimum:1000 name:PM_VSU_FEST_GRP141 : (Group 141 pm_vsu20) Estimate instruction executed
+event:0X08D1 counters:1 um:zero minimum:1000 name:PM_VSU0_FEST_GRP141 : (Group 141 pm_vsu20) Estimate instruction executed
+event:0X08D2 counters:2 um:zero minimum:1000 name:PM_VSU1_FEST_GRP141 : (Group 141 pm_vsu20) Estimate instruction executed
+event:0X08D3 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP141 : (Group 141 pm_vsu20) Number of PowerPC Instructions that completed.
+event:0X08D4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP141 : (Group 141 pm_vsu20) Number of run instructions completed.
+event:0X08D5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP141 : (Group 141 pm_vsu20) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 142 pm_vsu21, VSU Execution
+event:0X08E0 counters:0 um:zero minimum:1000 name:PM_BRU_FIN_GRP142 : (Group 142 pm_vsu21) The Branch execution unit finished an instruction
+event:0X08E1 counters:1 um:zero minimum:10000 name:PM_RUN_CYC_GRP142 : (Group 142 pm_vsu21) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+event:0X08E2 counters:2 um:zero minimum:10000 name:PM_INST_CMPL_GRP142 : (Group 142 pm_vsu21) Number of PowerPC Instructions that completed.
+event:0X08E3 counters:3 um:zero minimum:1000 name:PM_VSU_FIN_GRP142 : (Group 142 pm_vsu21) VSU0 Finished an instruction
+event:0X08E4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP142 : (Group 142 pm_vsu21) Number of run instructions completed.
+event:0X08E5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP142 : (Group 142 pm_vsu21) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 143 pm_vsu22, VSU Execution
+event:0X08F0 counters:0 um:zero minimum:1000 name:PM_LSU_LDF_GRP143 : (Group 143 pm_vsu22) LSU executed Floating Point load instruction. Combined Unit 0 + 1.
+event:0X08F1 counters:1 um:zero minimum:1000 name:PM_VSU_STF_GRP143 : (Group 143 pm_vsu22) FPU store (SP or DP) issued on Pipe0
+event:0X08F2 counters:2 um:zero minimum:1000 name:PM_VSU_FMA_GRP143 : (Group 143 pm_vsu22) two flops operation (fmadd, fnmadd, fmsub, fnmsub) Scalar instructions only!
+event:0X08F3 counters:3 um:zero minimum:1000 name:PM_VSU_1FLOP_GRP143 : (Group 143 pm_vsu22) one flop (fadd, fmul, fsub, fcmp, fsel, fabs, fnabs, fres, fsqrte, fneg) operation finished
+event:0X08F4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP143 : (Group 143 pm_vsu22) Number of run instructions completed.
+event:0X08F5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP143 : (Group 143 pm_vsu22) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 144 pm_vsu23, VSU Execution
+event:0X0900 counters:0 um:zero minimum:1000 name:PM_VSU_FSQRT_FDIV_GRP144 : (Group 144 pm_vsu23) DP vector versions of fdiv,fsqrt
+event:0X0901 counters:1 um:zero minimum:1000 name:PM_VSU_FIN_GRP144 : (Group 144 pm_vsu23) VSU0 Finished an instruction
+event:0X0902 counters:2 um:zero minimum:1000 name:PM_VSU_FMA_GRP144 : (Group 144 pm_vsu23) two flops operation (fmadd, fnmadd, fmsub, fnmsub) Scalar instructions only!
+event:0X0903 counters:3 um:zero minimum:1000 name:PM_VSU_1FLOP_GRP144 : (Group 144 pm_vsu23) one flop (fadd, fmul, fsub, fcmp, fsel, fabs, fnabs, fres, fsqrte, fneg) operation finished
+event:0X0904 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP144 : (Group 144 pm_vsu23) Number of run instructions completed.
+event:0X0905 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP144 : (Group 144 pm_vsu23) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 145 pm_vsu24, VSU Execution
+event:0X0910 counters:0 um:zero minimum:1000 name:PM_FLOP_GRP145 : (Group 145 pm_vsu24) A floating point operation has completed
+event:0X0911 counters:1 um:zero minimum:1000 name:PM_VSU_FIN_GRP145 : (Group 145 pm_vsu24) VSU0 Finished an instruction
+event:0X0912 counters:2 um:zero minimum:1000 name:PM_VSU_FEST_GRP145 : (Group 145 pm_vsu24) Estimate instruction executed
+event:0X0913 counters:3 um:zero minimum:1000 name:PM_VSU_1FLOP_GRP145 : (Group 145 pm_vsu24) one flop (fadd, fmul, fsub, fcmp, fsel, fabs, fnabs, fres, fsqrte, fneg) operation finished
+event:0X0914 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP145 : (Group 145 pm_vsu24) Number of run instructions completed.
+event:0X0915 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP145 : (Group 145 pm_vsu24) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 146 pm_vsu25, VSU Execution
+event:0X0920 counters:0 um:zero minimum:1000 name:PM_VSU_STF_GRP146 : (Group 146 pm_vsu25) FPU store (SP or DP) issued on Pipe0
+event:0X0921 counters:1 um:zero minimum:1000 name:PM_VSU_FIN_GRP146 : (Group 146 pm_vsu25) VSU0 Finished an instruction
+event:0X0922 counters:2 um:zero minimum:1000 name:PM_VSU_FRSP_GRP146 : (Group 146 pm_vsu25) Round to single precision instruction executed
+event:0X0923 counters:3 um:zero minimum:1000 name:PM_VSU_FCONV_GRP146 : (Group 146 pm_vsu25) Convert instruction executed
+event:0X0924 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP146 : (Group 146 pm_vsu25) Number of run instructions completed.
+event:0X0925 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP146 : (Group 146 pm_vsu25) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 147 pm_lsu1, LSU LMQ SRQ events
+event:0X0930 counters:0 um:zero minimum:1000 name:PM_LSU_LMQ_FULL_CYC_GRP147 : (Group 147 pm_lsu1) The Load Miss Queue was full.
+event:0X0931 counters:1 um:zero minimum:1000 name:PM_LSU_LMQ_SRQ_EMPTY_CYC_GRP147 : (Group 147 pm_lsu1) Cycles when both the LMQ and SRQ are empty (LSU is idle)
+event:0X0932 counters:2 um:zero minimum:1000 name:PM_LSU_LMQ_SRQ_EMPTY_ALL_CYC_GRP147 : (Group 147 pm_lsu1) ALL threads lsu empty (lmq and srq empty)
+event:0X0933 counters:3 um:zero minimum:1000 name:PM_LSU_SRQ_EMPTY_CYC_GRP147 : (Group 147 pm_lsu1) The Store Request Queue is empty
+event:0X0934 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP147 : (Group 147 pm_lsu1) Number of run instructions completed.
+event:0X0935 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP147 : (Group 147 pm_lsu1) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 148 pm_lsu2, LSU events
+event:0X0940 counters:0 um:zero minimum:1000 name:PM_LSU_FX_FIN_GRP148 : (Group 148 pm_lsu2) LSU Finished a FX operation (up to 2 per cycle)
+event:0X0941 counters:1 um:zero minimum:1000 name:PM_LSU_NCST_GRP148 : (Group 148 pm_lsu2) Non-cachable Stores sent to nest
+event:0X0942 counters:2 um:zero minimum:1000 name:PM_LSU_FIN_GRP148 : (Group 148 pm_lsu2) LSU Finished an instruction (up to 2 per cycle)
+event:0X0943 counters:3 um:zero minimum:1000 name:PM_LSU_FLUSH_GRP148 : (Group 148 pm_lsu2) A flush was initiated by the Load Store Unit.
+event:0X0944 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP148 : (Group 148 pm_lsu2) Number of run instructions completed.
+event:0X0945 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP148 : (Group 148 pm_lsu2) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 149 pm_lsu_lmq, LSU LMQ Events
+event:0X0950 counters:0 um:zero minimum:1000 name:PM_LSU0_LMQ_LHR_MERGE_GRP149 : (Group 149 pm_lsu_lmq) LS0 Load Merged with another cacheline request
+event:0X0951 counters:1 um:zero minimum:1000 name:PM_LSU1_LMQ_LHR_MERGE_GRP149 : (Group 149 pm_lsu_lmq) LS1 Load Merge with another cacheline request
+event:0X0952 counters:2 um:zero minimum:1000 name:PM_LSU_LMQ_S0_VALID_GRP149 : (Group 149 pm_lsu_lmq) This signal is asserted every cycle that the Load Request Queue slot zero is valid. The SRQ is 32 entries long and is allocated round-robin. In SMT mode the LRQ is split between the two threads (16 entries each).
+event:0X0953 counters:3 um:zero minimum:1000 name:PM_LSU_LMQ_FULL_CYC_GRP149 : (Group 149 pm_lsu_lmq) The Load Miss Queue was full.
+event:0X0954 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP149 : (Group 149 pm_lsu_lmq) Number of run instructions completed.
+event:0X0955 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP149 : (Group 149 pm_lsu_lmq) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 150 pm_lsu_srq1, Store Request Queue Info
+event:0X0960 counters:0 um:zero minimum:1000 name:PM_LSU_SRQ_STFWD_GRP150 : (Group 150 pm_lsu_srq1) Data from a store instruction was forwarded to a load. A load that misses L1 but becomes a store forward is treated as a load miss and it causes the DL1 load miss event to be counted. It does not go into the LMQ. If a load that hits L1 but becomes a store forward, then it's not treated as a load miss. Combined Unit 0 + 1.
+event:0X0961 counters:1 um:zero minimum:1000 name:PM_LSU0_SRQ_STFWD_GRP150 : (Group 150 pm_lsu_srq1) Data from a store instruction was forwarded to a load on unit 0. A load that misses L1 but becomes a store forward is treated as a load miss and it causes the DL1 load miss event to be counted. It does not go into the LMQ. If a load that hits L1 but becomes a store forward, then it's not treated as a load miss.
+event:0X0962 counters:2 um:zero minimum:1000 name:PM_LSU1_SRQ_STFWD_GRP150 : (Group 150 pm_lsu_srq1) Data from a store instruction was forwarded to a load on unit 1. A load that misses L1 but becomes a store forward is treated as a load miss and it causes the DL1 load miss event to be counted. It does not go into the LMQ. If a load that hits L1 but becomes a store forward, then it's not treated as a load miss.
+event:0X0963 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP150 : (Group 150 pm_lsu_srq1) Number of PowerPC Instructions that completed.
+event:0X0964 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP150 : (Group 150 pm_lsu_srq1) Number of run instructions completed.
+event:0X0965 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP150 : (Group 150 pm_lsu_srq1) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 151 pm_lsu_srq2, Store Request Queue Info
+event:0X0970 counters:0 um:zero minimum:1000 name:PM_LSU_SRQ_SYNC_CYC_GRP151 : (Group 151 pm_lsu_srq2) Cycles that a sync instruction is active in the Store Request Queue.
+event:0X0971 counters:1 um:zero minimum:1000 name:PM_LSU_SRQ_SYNC_COUNT_GRP151 : (Group 151 pm_lsu_srq2) SRQ sync count (edge of PM_LSU_SRQ_SYNC_CYC)
+event:0X0972 counters:2 um:zero minimum:1000 name:PM_LSU_SRQ_S0_VALID_GRP151 : (Group 151 pm_lsu_srq2) This signal is asserted every cycle that the Store Request Queue slot zero is valid. The SRQ is 32 entries long and is allocated round-robin. In SMT mode the SRQ is split between the two threads (16 entries each).
+event:0X0973 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP151 : (Group 151 pm_lsu_srq2) Number of PowerPC Instructions that completed.
+event:0X0974 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP151 : (Group 151 pm_lsu_srq2) Number of run instructions completed.
+event:0X0975 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP151 : (Group 151 pm_lsu_srq2) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 152 pm_lsu_s0_valid, LSU Events
+event:0X0980 counters:0 um:zero minimum:1000 name:PM_LSU_SRQ_S0_VALID_GRP152 : (Group 152 pm_lsu_s0_valid) This signal is asserted every cycle that the Store Request Queue slot zero is valid. The SRQ is 32 entries long and is allocated round-robin. In SMT mode the SRQ is split between the two threads (16 entries each).
+event:0X0981 counters:1 um:zero minimum:1000 name:PM_LSU_LRQ_S0_VALID_GRP152 : (Group 152 pm_lsu_s0_valid) This signal is asserted every cycle that the Load Request Queue slot zero is valid. The SRQ is 32 entries long and is allocated round-robin. In SMT mode the LRQ is split between the two threads (16 entries each).
+event:0X0982 counters:2 um:zero minimum:1000 name:PM_LSU_LMQ_S0_VALID_GRP152 : (Group 152 pm_lsu_s0_valid) This signal is asserted every cycle that the Load Request Queue slot zero is valid. The SRQ is 32 entries long and is allocated round-robin. In SMT mode the LRQ is split between the two threads (16 entries each).
+event:0X0983 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP152 : (Group 152 pm_lsu_s0_valid) Number of PowerPC Instructions that completed.
+event:0X0984 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP152 : (Group 152 pm_lsu_s0_valid) Number of run instructions completed.
+event:0X0985 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP152 : (Group 152 pm_lsu_s0_valid) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 153 pm_lsu_s0_alloc, LSU Events
+event:0X0990 counters:0 um:zero minimum:1000 name:PM_LSU_LMQ_S0_ALLOC_GRP153 : (Group 153 pm_lsu_s0_alloc) Slot 0 of LMQ valid
+event:0X0991 counters:1 um:zero minimum:1000 name:PM_LSU_LRQ_S0_ALLOC_GRP153 : (Group 153 pm_lsu_s0_alloc) Slot 0 of LRQ valid
+event:0X0992 counters:2 um:zero minimum:1000 name:PM_LSU_SRQ_S0_ALLOC_GRP153 : (Group 153 pm_lsu_s0_alloc) Slot 0 of SRQ valid
+event:0X0993 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP153 : (Group 153 pm_lsu_s0_alloc) Number of PowerPC Instructions that completed.
+event:0X0994 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP153 : (Group 153 pm_lsu_s0_alloc) Number of run instructions completed.
+event:0X0995 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP153 : (Group 153 pm_lsu_s0_alloc) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 154 pm_l1_pref, L1 pref Events
+event:0X09A0 counters:0 um:zero minimum:1000 name:PM_L1_PREF_GRP154 : (Group 154 pm_l1_pref) A request to prefetch data into the L1 was made
+event:0X09A1 counters:1 um:zero minimum:1000 name:PM_LSU0_L1_PREF_GRP154 : (Group 154 pm_l1_pref) LS0 L1 cache data prefetches
+event:0X09A2 counters:2 um:zero minimum:1000 name:PM_LSU1_L1_PREF_GRP154 : (Group 154 pm_l1_pref) LS1 L1 cache data prefetches
+event:0X09A3 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP154 : (Group 154 pm_l1_pref) Number of PowerPC Instructions that completed.
+event:0X09A4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP154 : (Group 154 pm_l1_pref) Number of run instructions completed.
+event:0X09A5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP154 : (Group 154 pm_l1_pref) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 155 pm_l2_guess_1, L2_Guess_events
+event:0X09B0 counters:0 um:zero minimum:1000 name:PM_L2_LOC_GUESS_CORRECT_GRP155 : (Group 155 pm_l2_guess_1) L2 guess loc and guess was correct (ie data local)
+event:0X09B1 counters:1 um:zero minimum:1000 name:PM_L2_LOC_GUESS_WRONG_GRP155 : (Group 155 pm_l2_guess_1) L2 guess loc and guess was not correct (ie data remote)
+event:0X09B2 counters:2 um:zero minimum:10000 name:PM_CYC_GRP155 : (Group 155 pm_l2_guess_1) Processor Cycles
+event:0X09B3 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP155 : (Group 155 pm_l2_guess_1) Number of PowerPC Instructions that completed.
+event:0X09B4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP155 : (Group 155 pm_l2_guess_1) Number of run instructions completed.
+event:0X09B5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP155 : (Group 155 pm_l2_guess_1) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 156 pm_l2_guess_2, L2_Guess_events
+event:0X09C0 counters:0 um:zero minimum:1000 name:PM_L2_GLOB_GUESS_CORRECT_GRP156 : (Group 156 pm_l2_guess_2) L2 guess glb and guess was correct (ie data remote)
+event:0X09C1 counters:1 um:zero minimum:1000 name:PM_L2_GLOB_GUESS_WRONG_GRP156 : (Group 156 pm_l2_guess_2) L2 guess glb and guess was not correct (ie data local)
+event:0X09C2 counters:2 um:zero minimum:10000 name:PM_CYC_GRP156 : (Group 156 pm_l2_guess_2) Processor Cycles
+event:0X09C3 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP156 : (Group 156 pm_l2_guess_2) Number of PowerPC Instructions that completed.
+event:0X09C4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP156 : (Group 156 pm_l2_guess_2) Number of run instructions completed.
+event:0X09C5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP156 : (Group 156 pm_l2_guess_2) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 157 pm_misc1, Misc events
+event:0X09D0 counters:0 um:zero minimum:1000 name:PM_INST_IMC_MATCH_CMPL_GRP157 : (Group 157 pm_misc1) Number of instructions resulting from the marked instructions expansion that completed.
+event:0X09D1 counters:1 um:zero minimum:1000 name:PM_INST_FROM_L1_GRP157 : (Group 157 pm_misc1) An instruction fetch group was fetched from L1. Fetch Groups can contain up to 8 instructions
+event:0X09D2 counters:2 um:zero minimum:1000 name:PM_INST_IMC_MATCH_DISP_GRP157 : (Group 157 pm_misc1) IMC Matches dispatched
+event:0X09D3 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP157 : (Group 157 pm_misc1) Number of PowerPC Instructions that completed.
+event:0X09D4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP157 : (Group 157 pm_misc1) Number of run instructions completed.
+event:0X09D5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP157 : (Group 157 pm_misc1) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 158 pm_misc2, Misc events
+event:0X09E0 counters:0 um:zero minimum:1000 name:PM_EE_OFF_EXT_INT_GRP158 : (Group 158 pm_misc2) Cycles when an interrupt due to an external exception is pending but external exceptions were masked.
+event:0X09E1 counters:1 um:zero minimum:1000 name:PM_EXT_INT_GRP158 : (Group 158 pm_misc2) An interrupt due to an external exception occurred
+event:0X09E2 counters:2 um:zero minimum:1000 name:PM_TB_BIT_TRANS_GRP158 : (Group 158 pm_misc2) When the selected time base bit (as specified in MMCR0[TBSEL])transitions from 0 to 1
+event:0X09E3 counters:3 um:zero minimum:10000 name:PM_CYC_GRP158 : (Group 158 pm_misc2) Processor Cycles
+event:0X09E4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP158 : (Group 158 pm_misc2) Number of run instructions completed.
+event:0X09E5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP158 : (Group 158 pm_misc2) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 159 pm_misc3, Misc events
+event:0X09F0 counters:0 um:zero minimum:1000 name:PM_1PLUS_PPC_CMPL_GRP159 : (Group 159 pm_misc3) A group containing at least one PPC instruction completed. For microcoded instructions that span multiple groups, this will only occur once.
+event:0X09F1 counters:1 um:zero minimum:1000 name:PM_HV_CYC_GRP159 : (Group 159 pm_misc3) Cycles when the processor is executing in Hypervisor (MSR[HV] = 1 and MSR[PR]=0)
+event:0X09F2 counters:2 um:zero minimum:1000 name:PM_INST_DISP_GRP159 : (Group 159 pm_misc3) Number of PowerPC instructions successfully dispatched.
+event:0X09F3 counters:3 um:zero minimum:1000 name:PM_1PLUS_PPC_DISP_GRP159 : (Group 159 pm_misc3) A group containing at least one PPC instruction was dispatched. For microcoded instructions that span multiple groups, this will only occur once.
+event:0X09F4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP159 : (Group 159 pm_misc3) Number of run instructions completed.
+event:0X09F5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP159 : (Group 159 pm_misc3) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 160 pm_misc4, Misc events
+event:0X0A00 counters:0 um:zero minimum:1000 name:PM_GRP_IC_MISS_NONSPEC_GRP160 : (Group 160 pm_misc4) Number of groups, counted at completion, that have encountered an instruction cache miss.
+event:0X0A01 counters:1 um:zero minimum:1000 name:PM_GCT_NOSLOT_IC_MISS_GRP160 : (Group 160 pm_misc4) Cycles when the Global Completion Table has no slots from this thread because of an Instruction Cache miss.
+event:0X0A02 counters:2 um:zero minimum:10000 name:PM_CYC_GRP160 : (Group 160 pm_misc4) Processor Cycles
+event:0X0A03 counters:3 um:zero minimum:1000 name:PM_GCT_NOSLOT_BR_MPRED_IC_MISS_GRP160 : (Group 160 pm_misc4) No slot in GCT caused by branch mispredict or I cache miss
+event:0X0A04 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP160 : (Group 160 pm_misc4) Number of run instructions completed.
+event:0X0A05 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP160 : (Group 160 pm_misc4) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 161 pm_misc5, Misc events
+event:0X0A10 counters:0 um:zero minimum:1000 name:PM_GRP_BR_MPRED_NONSPEC_GRP161 : (Group 161 pm_misc5) Group experienced non-speculative branch redirect
+event:0X0A11 counters:1 um:zero minimum:1000 name:PM_BR_MPRED_CR_TA_GRP161 : (Group 161 pm_misc5) Branch mispredict - taken/not taken and target
+event:0X0A12 counters:2 um:zero minimum:1000 name:PM_BR_MPRED_CCACHE_GRP161 : (Group 161 pm_misc5) A branch instruction target was incorrectly predicted by the ccount cache. This will result in a branch redirect flush if not overfidden by a flush of an older instruction.
+event:0X0A13 counters:3 um:zero minimum:1000 name:PM_BR_MPRED_GRP161 : (Group 161 pm_misc5) A branch instruction was incorrectly predicted. This could have been a target prediction, a condition prediction, or both
+event:0X0A14 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP161 : (Group 161 pm_misc5) Number of run instructions completed.
+event:0X0A15 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP161 : (Group 161 pm_misc5) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 162 pm_misc6, Misc events
+event:0X0A20 counters:0 um:zero minimum:1000 name:PM_L1_DEMAND_WRITE_GRP162 : (Group 162 pm_misc6) Instruction Demand sectors wriittent into IL1
+event:0X0A21 counters:1 um:zero minimum:1000 name:PM_IC_PREF_WRITE_GRP162 : (Group 162 pm_misc6) Number of Instruction Cache entries written because of prefetch. Prefetch entries are marked least recently used and are candidates for eviction if they are not needed to satify a demand fetch.
+event:0X0A22 counters:2 um:zero minimum:1000 name:PM_IC_WRITE_ALL_GRP162 : (Group 162 pm_misc6) Icache sectors written, prefetch + demand
+event:0X0A23 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP162 : (Group 162 pm_misc6) Number of PowerPC Instructions that completed.
+event:0X0A24 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP162 : (Group 162 pm_misc6) Number of run instructions completed.
+event:0X0A25 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP162 : (Group 162 pm_misc6) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 163 pm_misc7, Misc events
+event:0X0A30 counters:0 um:zero minimum:1000 name:PM_THRESH_TIMEO_GRP163 : (Group 163 pm_misc7) The threshold timer expired
+event:0X0A31 counters:1 um:zero minimum:1000 name:PM_HV_CYC_GRP163 : (Group 163 pm_misc7) Cycles when the processor is executing in Hypervisor (MSR[HV] = 1 and MSR[PR]=0)
+event:0X0A32 counters:2 um:zero minimum:10000 name:PM_CYC_GRP163 : (Group 163 pm_misc7) Processor Cycles
+event:0X0A33 counters:3 um:zero minimum:1000 name:PM_IFU_FIN_GRP163 : (Group 163 pm_misc7) The Instruction Fetch Unit finished an instruction
+event:0X0A34 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP163 : (Group 163 pm_misc7) Number of run instructions completed.
+event:0X0A35 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP163 : (Group 163 pm_misc7) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 164 pm_misc8, Misc events
+event:0X0A40 counters:0 um:zero minimum:1000 name:PM_BR_MPRED_LSTACK_GRP164 : (Group 164 pm_misc8) Branch Mispredict due to Link Stack
+event:0X0A41 counters:1 um:zero minimum:1000 name:PM_EXT_INT_GRP164 : (Group 164 pm_misc8) An interrupt due to an external exception occurred
+event:0X0A42 counters:2 um:zero minimum:1000 name:PM_L1_DCACHE_RELOAD_VALID_GRP164 : (Group 164 pm_misc8) The data source information is valid,the data cache has been reloaded. Prior to POWER5+ this included data cache reloads due to prefetch activity. With POWER5+ this now only includes reloads due to demand loads.
+event:0X0A43 counters:3 um:zero minimum:1000 name:PM_BR_MPRED_GRP164 : (Group 164 pm_misc8) A branch instruction was incorrectly predicted. This could have been a target prediction, a condition prediction, or both
+event:0X0A44 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP164 : (Group 164 pm_misc8) Number of run instructions completed.
+event:0X0A45 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP164 : (Group 164 pm_misc8) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 165 pm_misc9, Misc events
+event:0X0A50 counters:0 um:zero minimum:1000 name:PM_FLUSH_BR_MPRED_GRP165 : (Group 165 pm_misc9) A flush was caused by a branch mispredict.
+event:0X0A51 counters:1 um:zero minimum:1000 name:PM_FLUSH_PARTIAL_GRP165 : (Group 165 pm_misc9) Partial flush
+event:0X0A52 counters:2 um:zero minimum:1000 name:PM_LSU_SET_MPRED_GRP165 : (Group 165 pm_misc9) Line already in cache at reload time
+event:0X0A53 counters:3 um:zero minimum:1000 name:PM_BR_MPRED_GRP165 : (Group 165 pm_misc9) A branch instruction was incorrectly predicted. This could have been a target prediction, a condition prediction, or both
+event:0X0A54 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP165 : (Group 165 pm_misc9) Number of run instructions completed.
+event:0X0A55 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP165 : (Group 165 pm_misc9) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 166 pm_misc10, Misc events
+event:0X0A60 counters:0 um:zero minimum:1000 name:PM_LSU_SRQ_FULL_CYC_GRP166 : (Group 166 pm_misc10) Cycles the Store Request Queue is full.
+event:0X0A61 counters:1 um:zero minimum:1000 name:PM_LSU_DC_PREF_STREAM_ALLOC_GRP166 : (Group 166 pm_misc10) D cache new prefetch stream allocated
+event:0X0A62 counters:2 um:zero minimum:1000 name:PM_L1_PREF_GRP166 : (Group 166 pm_misc10) A request to prefetch data into the L1 was made
+event:0X0A63 counters:3 um:zero minimum:1000 name:PM_IBUF_FULL_CYC_GRP166 : (Group 166 pm_misc10) Cycles with the Instruction Buffer was full. The Instruction Buffer is a circular queue of 64 instructions per thread, organized as 16 groups of 4 instructions.
+event:0X0A64 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP166 : (Group 166 pm_misc10) Number of run instructions completed.
+event:0X0A65 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP166 : (Group 166 pm_misc10) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 167 pm_misc11, Misc events
+event:0X0A70 counters:0 um:zero minimum:1000 name:PM_FLOP_GRP167 : (Group 167 pm_misc11) A floating point operation has completed
+event:0X0A71 counters:1 um:zero minimum:10000 name:PM_CYC_GRP167 : (Group 167 pm_misc11) Processor Cycles
+event:0X0A72 counters:2 um:zero minimum:1000 name:PM_GRP_CMPL_GRP167 : (Group 167 pm_misc11) A group completed. Microcoded instructions that span multiple groups will generate this event once per group.
+event:0X0A73 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP167 : (Group 167 pm_misc11) Number of PowerPC Instructions that completed.
+event:0X0A74 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP167 : (Group 167 pm_misc11) Number of run instructions completed.
+event:0X0A75 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP167 : (Group 167 pm_misc11) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 168 pm_misc_12, Misc Events
+event:0X0A80 counters:0 um:zero minimum:10000 name:PM_INST_CMPL_GRP168 : (Group 168 pm_misc_12) Number of PowerPC Instructions that completed.
+event:0X0A81 counters:1 um:zero minimum:1000 name:PM_ST_FIN_GRP168 : (Group 168 pm_misc_12) Store requests sent to the nest.
+event:0X0A82 counters:2 um:zero minimum:1000 name:PM_TB_BIT_TRANS_GRP168 : (Group 168 pm_misc_12) When the selected time base bit (as specified in MMCR0[TBSEL])transitions from 0 to 1
+event:0X0A83 counters:3 um:zero minimum:1000 name:PM_FLUSH_GRP168 : (Group 168 pm_misc_12) Flushes occurred including LSU and Branch flushes.
+event:0X0A84 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP168 : (Group 168 pm_misc_12) Number of run instructions completed.
+event:0X0A85 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP168 : (Group 168 pm_misc_12) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 169 pm_misc_13, Misc Events
+event:0X0A90 counters:0 um:zero minimum:1000 name:PM_GCT_NOSLOT_CYC_GRP169 : (Group 169 pm_misc_13) Cycles when the Global Completion Table has no slots from this thread.
+event:0X0A91 counters:1 um:zero minimum:1000 name:PM_ST_FIN_GRP169 : (Group 169 pm_misc_13) Store requests sent to the nest.
+event:0X0A92 counters:2 um:zero minimum:1000 name:PM_DTLB_MISS_GRP169 : (Group 169 pm_misc_13) Data TLB misses, all page sizes.
+event:0X0A93 counters:3 um:zero minimum:1000 name:PM_BR_MPRED_GRP169 : (Group 169 pm_misc_13) A branch instruction was incorrectly predicted. This could have been a target prediction, a condition prediction, or both
+event:0X0A94 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP169 : (Group 169 pm_misc_13) Number of run instructions completed.
+event:0X0A95 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP169 : (Group 169 pm_misc_13) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 170 pm_misc_14, Misc Events
+event:0X0AA0 counters:0 um:zero minimum:10000 name:PM_CYC_GRP170 : (Group 170 pm_misc_14) Processor Cycles
+event:0X0AA1 counters:1 um:zero minimum:10000 name:PM_CYC_GRP170 : (Group 170 pm_misc_14) Processor Cycles
+event:0X0AA2 counters:2 um:zero minimum:10000 name:PM_INST_CMPL_GRP170 : (Group 170 pm_misc_14) Number of PowerPC Instructions that completed.
+event:0X0AA3 counters:3 um:zero minimum:1000 name:PM_IFU_FIN_GRP170 : (Group 170 pm_misc_14) The Instruction Fetch Unit finished an instruction
+event:0X0AA4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP170 : (Group 170 pm_misc_14) Number of run instructions completed.
+event:0X0AA5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP170 : (Group 170 pm_misc_14) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 171 pm_misc_15, Misc Events
+event:0X0AB0 counters:0 um:zero minimum:1000 name:PM_LSU_DCACHE_RELOAD_VALID_GRP171 : (Group 171 pm_misc_15) count per sector of lines reloaded in L1 (demand + prefetch)
+event:0X0AB1 counters:1 um:zero minimum:1000 name:PM_CMPLU_STALL_STORE_GRP171 : (Group 171 pm_misc_15) Completion stall due to store instruction
+event:0X0AB2 counters:2 um:zero minimum:1000 name:PM_L1_DCACHE_RELOAD_VALID_GRP171 : (Group 171 pm_misc_15) The data source information is valid,the data cache has been reloaded. Prior to POWER5+ this included data cache reloads due to prefetch activity. With POWER5+ this now only includes reloads due to demand loads.
+event:0X0AB3 counters:3 um:zero minimum:1000 name:PM_CMPLU_STALL_VECTOR_LONG_GRP171 : (Group 171 pm_misc_15) completion stall due to long latency vector instruction
+event:0X0AB4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP171 : (Group 171 pm_misc_15) Number of run instructions completed.
+event:0X0AB5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP171 : (Group 171 pm_misc_15) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 172 pm_misc_16, Misc Events
+event:0X0AC0 counters:0 um:zero minimum:1000 name:PM_CMPLU_STALL_END_GCT_NOSLOT_GRP172 : (Group 172 pm_misc_16) Count ended because GCT went empty
+event:0X0AC1 counters:1 um:zero minimum:1000 name:PM_LSU0_L1_SW_PREF_GRP172 : (Group 172 pm_misc_16) LSU0 Software L1 Prefetches, including SW Transient Prefetches
+event:0X0AC2 counters:2 um:zero minimum:1000 name:PM_LSU1_L1_SW_PREF_GRP172 : (Group 172 pm_misc_16) LSU1 Software L1 Prefetches, including SW Transient Prefetches
+event:0X0AC3 counters:3 um:zero minimum:1000 name:PM_CMPLU_STALL_IFU_GRP172 : (Group 172 pm_misc_16) Completion stall due to IFU
+event:0X0AC4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP172 : (Group 172 pm_misc_16) Number of run instructions completed.
+event:0X0AC5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP172 : (Group 172 pm_misc_16) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 173 pm_misc_17, Misc Events
+event:0X0AD0 counters:0 um:zero minimum:1000 name:PM_BRU_FIN_GRP173 : (Group 173 pm_misc_17) The Branch execution unit finished an instruction
+event:0X0AD1 counters:1 um:zero minimum:1000 name:PM_ST_FIN_GRP173 : (Group 173 pm_misc_17) Store requests sent to the nest.
+event:0X0AD2 counters:2 um:zero minimum:1000 name:PM_MRK_PTEG_FROM_DL2L3_SHR_GRP173 : (Group 173 pm_misc_17) A Page Table Entry was loaded into the ERAT from memory attached to a different module than this proccessor is located on due to a marked load or store.
+event:0X0AD3 counters:3 um:zero minimum:1000 name:PM_CMPLU_STALL_BRU_GRP173 : (Group 173 pm_misc_17) Completion stall due to BRU
+event:0X0AD4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP173 : (Group 173 pm_misc_17) Number of run instructions completed.
+event:0X0AD5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP173 : (Group 173 pm_misc_17) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 174 pm_suspend, SUSPENDED events
+event:0X0AE0 counters:0 um:zero minimum:1000 name:PM_SUSPENDED_GRP174 : (Group 174 pm_suspend) The counter is suspended (does not count)
+event:0X0AE1 counters:1 um:zero minimum:10000 name:PM_CYC_GRP174 : (Group 174 pm_suspend) Processor Cycles
+event:0X0AE2 counters:2 um:zero minimum:1000 name:PM_LWSYNC_GRP174 : (Group 174 pm_suspend) lwsync count (easier to use than IMC)
+event:0X0AE3 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP174 : (Group 174 pm_suspend) Number of PowerPC Instructions that completed.
+event:0X0AE4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP174 : (Group 174 pm_suspend) Number of run instructions completed.
+event:0X0AE5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP174 : (Group 174 pm_suspend) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 175 pm_iops, Internal Operations events
+event:0X0AF0 counters:0 um:zero minimum:1000 name:PM_IOPS_CMPL_GRP175 : (Group 175 pm_iops) Number of internal operations that completed.
+event:0X0AF1 counters:1 um:zero minimum:10000 name:PM_CYC_GRP175 : (Group 175 pm_iops) Processor Cycles
+event:0X0AF2 counters:2 um:zero minimum:1000 name:PM_IOPS_DISP_GRP175 : (Group 175 pm_iops) IOPS dispatched
+event:0X0AF3 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP175 : (Group 175 pm_iops) Number of PowerPC Instructions that completed.
+event:0X0AF4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP175 : (Group 175 pm_iops) Number of run instructions completed.
+event:0X0AF5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP175 : (Group 175 pm_iops) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 176 pm_sync, sync
+event:0X0B00 counters:0 um:zero minimum:1000 name:PM_LWSYNC_GRP176 : (Group 176 pm_sync) lwsync count (easier to use than IMC)
+event:0X0B01 counters:1 um:zero minimum:10000 name:PM_CYC_GRP176 : (Group 176 pm_sync) Processor Cycles
+event:0X0B02 counters:2 um:zero minimum:1000 name:PM_LWSYNC_HELD_GRP176 : (Group 176 pm_sync) Cycles a LWSYNC instruction was held at dispatch. LWSYNC instructions are held at dispatch until all previous loads are done and all previous stores have issued. LWSYNC enters the Store Request Queue and is sent to the storage subsystem but does not wait for a response.
+event:0X0B03 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP176 : (Group 176 pm_sync) Number of PowerPC Instructions that completed.
+event:0X0B04 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP176 : (Group 176 pm_sync) Number of run instructions completed.
+event:0X0B05 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP176 : (Group 176 pm_sync) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 177 pm_seg, Segment events
+event:0X0B10 counters:0 um:zero minimum:10000 name:PM_CYC_GRP177 : (Group 177 pm_seg) Processor Cycles
+event:0X0B11 counters:1 um:zero minimum:1000 name:PM_SEG_EXCEPTION_GRP177 : (Group 177 pm_seg) ISEG + DSEG Exception
+event:0X0B12 counters:2 um:zero minimum:1000 name:PM_ISEG_GRP177 : (Group 177 pm_seg) ISEG Exception
+event:0X0B13 counters:3 um:zero minimum:1000 name:PM_DSEG_GRP177 : (Group 177 pm_seg) DSEG Exception
+event:0X0B14 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP177 : (Group 177 pm_seg) Number of run instructions completed.
+event:0X0B15 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP177 : (Group 177 pm_seg) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 178 pm_l3_hit, L3 Hit Events
+event:0X0B20 counters:0 um:zero minimum:1000 name:PM_L3_HIT_GRP178 : (Group 178 pm_l3_hit) L3 Hits
+event:0X0B21 counters:1 um:zero minimum:1000 name:PM_L3_LD_HIT_GRP178 : (Group 178 pm_l3_hit) L3 demand LD Hits
+event:0X0B22 counters:2 um:zero minimum:1000 name:PM_L3_PREF_HIT_GRP178 : (Group 178 pm_l3_hit) L3 Prefetch Directory Hit
+event:0X0B23 counters:3 um:zero minimum:1000 name:PM_L3_CO_L31_GRP178 : (Group 178 pm_l3_hit) L3 Castouts to Memory
+event:0X0B24 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP178 : (Group 178 pm_l3_hit) Number of run instructions completed.
+event:0X0B25 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP178 : (Group 178 pm_l3_hit) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 179 pm_shl, Shell Events
+event:0X0B30 counters:0 um:zero minimum:1000 name:PM_SHL_DEALLOCATED_GRP179 : (Group 179 pm_shl) SHL Table entry deallocated
+event:0X0B31 counters:1 um:zero minimum:1000 name:PM_SHL_CREATED_GRP179 : (Group 179 pm_shl) SHL table entry Created
+event:0X0B32 counters:2 um:zero minimum:1000 name:PM_SHL_MERGED_GRP179 : (Group 179 pm_shl) SHL table entry merged with existing
+event:0X0B33 counters:3 um:zero minimum:1000 name:PM_SHL_MATCH_GRP179 : (Group 179 pm_shl) SHL Table Match
+event:0X0B34 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP179 : (Group 179 pm_shl) Number of run instructions completed.
+event:0X0B35 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP179 : (Group 179 pm_shl) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 180 pm_l3_pref, L3 Prefetch events
+event:0X0B40 counters:0 um:zero minimum:1000 name:PM_L3_PREF_LD_GRP180 : (Group 180 pm_l3_pref) L3 cache LD prefetches
+event:0X0B41 counters:1 um:zero minimum:1000 name:PM_L3_PREF_ST_GRP180 : (Group 180 pm_l3_pref) L3 cache ST prefetches
+event:0X0B42 counters:2 um:zero minimum:1000 name:PM_L3_PREF_LDST_GRP180 : (Group 180 pm_l3_pref) L3 cache prefetches LD + ST
+event:0X0B43 counters:3 um:zero minimum:1000 name:PM_L1_PREF_GRP180 : (Group 180 pm_l3_pref) A request to prefetch data into the L1 was made
+event:0X0B44 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP180 : (Group 180 pm_l3_pref) Number of run instructions completed.
+event:0X0B45 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP180 : (Group 180 pm_l3_pref) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 181 pm_l3, L3 events
+event:0X0B50 counters:0 um:zero minimum:1000 name:PM_L3_MISS_GRP181 : (Group 181 pm_l3) L3 Misses
+event:0X0B51 counters:1 um:zero minimum:1000 name:PM_L3_LD_MISS_GRP181 : (Group 181 pm_l3) L3 demand LD Miss
+event:0X0B52 counters:2 um:zero minimum:1000 name:PM_L3_PREF_MISS_GRP181 : (Group 181 pm_l3) L3 Prefetch Directory Miss
+event:0X0B53 counters:3 um:zero minimum:1000 name:PM_L3_CO_MEM_GRP181 : (Group 181 pm_l3) L3 Castouts to L3.1
+event:0X0B54 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP181 : (Group 181 pm_l3) Number of run instructions completed.
+event:0X0B55 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP181 : (Group 181 pm_l3) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 182 pm_streams1, Streams
+event:0X0B60 counters:0 um:zero minimum:10000 name:PM_CYC_GRP182 : (Group 182 pm_streams1) Processor Cycles
+event:0X0B61 counters:1 um:zero minimum:1000 name:PM_LSU_DC_PREF_STREAM_CONFIRM_GRP182 : (Group 182 pm_streams1) Dcache new prefetch stream confirmed
+event:0X0B62 counters:2 um:zero minimum:1000 name:PM_LSU0_DC_PREF_STREAM_CONFIRM_GRP182 : (Group 182 pm_streams1) LS0 Dcache prefetch stream confirmed
+event:0X0B63 counters:3 um:zero minimum:1000 name:PM_LSU1_DC_PREF_STREAM_CONFIRM_GRP182 : (Group 182 pm_streams1) LS1 'Dcache prefetch stream confirmed
+event:0X0B64 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP182 : (Group 182 pm_streams1) Number of run instructions completed.
+event:0X0B65 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP182 : (Group 182 pm_streams1) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 183 pm_streams2, Streams
+event:0X0B70 counters:0 um:zero minimum:10000 name:PM_CYC_GRP183 : (Group 183 pm_streams2) Processor Cycles
+event:0X0B71 counters:1 um:zero minimum:1000 name:PM_LSU_DC_PREF_STRIDED_STREAM_CONFIRM_GRP183 : (Group 183 pm_streams2) Dcache Strided prefetch stream confirmed (software + hardware)
+event:0X0B72 counters:2 um:zero minimum:1000 name:PM_LSU0_DC_PREF_STREAM_CONFIRM_STRIDE_GRP183 : (Group 183 pm_streams2) LS0 Dcache Strided prefetch stream confirmed
+event:0X0B73 counters:3 um:zero minimum:1000 name:PM_LSU1_DC_PREF_STREAM_CONFIRM_STRIDE_GRP183 : (Group 183 pm_streams2) LS1 Dcache Strided prefetch stream confirmed
+event:0X0B74 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP183 : (Group 183 pm_streams2) Number of run instructions completed.
+event:0X0B75 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP183 : (Group 183 pm_streams2) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 184 pm_streams3, Streams
+event:0X0B80 counters:0 um:zero minimum:1000 name:PM_DC_PREF_DST_GRP184 : (Group 184 pm_streams3) A prefetch stream was started using the DST instruction.
+event:0X0B81 counters:1 um:zero minimum:1000 name:PM_LSU_DC_PREF_STREAM_ALLOC_GRP184 : (Group 184 pm_streams3) D cache new prefetch stream allocated
+event:0X0B82 counters:2 um:zero minimum:1000 name:PM_LSU0_DC_PREF_STREAM_ALLOC_GRP184 : (Group 184 pm_streams3) LS0 D cache new prefetch stream allocated
+event:0X0B83 counters:3 um:zero minimum:1000 name:PM_LSU1_DC_PREF_STREAM_ALLOC_GRP184 : (Group 184 pm_streams3) LS 1 D cache new prefetch stream allocated
+event:0X0B84 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP184 : (Group 184 pm_streams3) Number of run instructions completed.
+event:0X0B85 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP184 : (Group 184 pm_streams3) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 185 pm_larx, LARX
+event:0X0B90 counters:0 um:zero minimum:1000 name:PM_LARX_LSU0_GRP185 : (Group 185 pm_larx) A larx (lwarx or ldarx) was executed on side 0
+event:0X0B91 counters:1 um:zero minimum:1000 name:PM_LARX_LSU1_GRP185 : (Group 185 pm_larx) A larx (lwarx or ldarx) was executed on side 1
+event:0X0B92 counters:2 um:zero minimum:10000 name:PM_CYC_GRP185 : (Group 185 pm_larx) Processor Cycles
+event:0X0B93 counters:3 um:zero minimum:1000 name:PM_LARX_LSU_GRP185 : (Group 185 pm_larx) Larx Finished
+event:0X0B94 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP185 : (Group 185 pm_larx) Number of run instructions completed.
+event:0X0B95 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP185 : (Group 185 pm_larx) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 186 pm_ldf, Floating Point loads
+event:0X0BA0 counters:0 um:zero minimum:10000 name:PM_CYC_GRP186 : (Group 186 pm_ldf) Processor Cycles
+event:0X0BA1 counters:1 um:zero minimum:1000 name:PM_LSU_LDF_GRP186 : (Group 186 pm_ldf) LSU executed Floating Point load instruction. Combined Unit 0 + 1.
+event:0X0BA2 counters:2 um:zero minimum:1000 name:PM_LSU0_LDF_GRP186 : (Group 186 pm_ldf) A floating point load was executed by LSU0
+event:0X0BA3 counters:3 um:zero minimum:1000 name:PM_LSU1_LDF_GRP186 : (Group 186 pm_ldf) A floating point load was executed by LSU1
+event:0X0BA4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP186 : (Group 186 pm_ldf) Number of run instructions completed.
+event:0X0BA5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP186 : (Group 186 pm_ldf) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 187 pm_ldx, Vector Load
+event:0X0BB0 counters:0 um:zero minimum:10000 name:PM_CYC_GRP187 : (Group 187 pm_ldx) Processor Cycles
+event:0X0BB1 counters:1 um:zero minimum:1000 name:PM_LSU_LDX_GRP187 : (Group 187 pm_ldx) All Vector loads (vsx vector + vmx vector)
+event:0X0BB2 counters:2 um:zero minimum:1000 name:PM_LSU0_LDX_GRP187 : (Group 187 pm_ldx) LS0 Vector Loads
+event:0X0BB3 counters:3 um:zero minimum:1000 name:PM_LSU1_LDX_GRP187 : (Group 187 pm_ldx) LS1 Vector Loads
+event:0X0BB4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP187 : (Group 187 pm_ldx) Number of run instructions completed.
+event:0X0BB5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP187 : (Group 187 pm_ldx) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 188 pm_l2_ld_st, L2 load and store events
+event:0X0BC0 counters:0 um:zero minimum:1000 name:PM_L2_LD_GRP188 : (Group 188 pm_l2_ld_st) Data Load Count
+event:0X0BC1 counters:1 um:zero minimum:1000 name:PM_L2_ST_MISS_GRP188 : (Group 188 pm_l2_ld_st) Data Store Miss
+event:0X0BC2 counters:2 um:zero minimum:1000 name:PM_L3_PREF_HIT_GRP188 : (Group 188 pm_l2_ld_st) L3 Prefetch Directory Hit
+event:0X0BC3 counters:3 um:zero minimum:10000 name:PM_CYC_GRP188 : (Group 188 pm_l2_ld_st) Processor Cycles
+event:0X0BC4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP188 : (Group 188 pm_l2_ld_st) Number of run instructions completed.
+event:0X0BC5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP188 : (Group 188 pm_l2_ld_st) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 189 pm_stcx, STCX
+event:0X0BD0 counters:0 um:zero minimum:1000 name:PM_LARX_LSU_GRP189 : (Group 189 pm_stcx) Larx Finished
+event:0X0BD1 counters:1 um:zero minimum:1000 name:PM_LSU_REJECT_LHS_GRP189 : (Group 189 pm_stcx) The Load Store Unit rejected a load load instruction that had an address overlap with an older store in the store queue. The store must be committed and de-allocated from the Store Queue before the load can execute successfully. Combined Unit 0 + 1
+event:0X0BD2 counters:2 um:zero minimum:1000 name:PM_STCX_CMPL_GRP189 : (Group 189 pm_stcx) Conditional stores with reservation completed
+event:0X0BD3 counters:3 um:zero minimum:1000 name:PM_STCX_FAIL_GRP189 : (Group 189 pm_stcx) A stcx (stwcx or stdcx) failed
+event:0X0BD4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP189 : (Group 189 pm_stcx) Number of run instructions completed.
+event:0X0BD5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP189 : (Group 189 pm_stcx) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 190 pm_btac, BTAC
+event:0X0BE0 counters:0 um:zero minimum:1000 name:PM_BTAC_HIT_GRP190 : (Group 190 pm_btac) BTAC Correct Prediction
+event:0X0BE1 counters:1 um:zero minimum:1000 name:PM_BTAC_MISS_GRP190 : (Group 190 pm_btac) BTAC Mispredicted
+event:0X0BE2 counters:2 um:zero minimum:1000 name:PM_STCX_CMPL_GRP190 : (Group 190 pm_btac) Conditional stores with reservation completed
+event:0X0BE3 counters:3 um:zero minimum:1000 name:PM_STCX_FAIL_GRP190 : (Group 190 pm_btac) A stcx (stwcx or stdcx) failed
+event:0X0BE4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP190 : (Group 190 pm_btac) Number of run instructions completed.
+event:0X0BE5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP190 : (Group 190 pm_btac) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 191 pm_br_bc, Branch BC events
+event:0X0BF0 counters:0 um:zero minimum:1000 name:PM_BC_PLUS_8_CONV_GRP191 : (Group 191 pm_br_bc) BC+8 Converted
+event:0X0BF1 counters:1 um:zero minimum:1000 name:PM_BC_PLUS_8_RSLV_TAKEN_GRP191 : (Group 191 pm_br_bc) BC+8 Resolve outcome was Taken, resulting in the conditional instruction being canceled
+event:0X0BF2 counters:2 um:zero minimum:10000 name:PM_CYC_GRP191 : (Group 191 pm_br_bc) Processor Cycles
+event:0X0BF3 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP191 : (Group 191 pm_br_bc) Number of PowerPC Instructions that completed.
+event:0X0BF4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP191 : (Group 191 pm_br_bc) Number of run instructions completed.
+event:0X0BF5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP191 : (Group 191 pm_br_bc) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 192 pm_inst_imc, inst imc events
+event:0X0C00 counters:0 um:zero minimum:1000 name:PM_INST_IMC_MATCH_CMPL_GRP192 : (Group 192 pm_inst_imc) Number of instructions resulting from the marked instructions expansion that completed.
+event:0X0C01 counters:1 um:zero minimum:1000 name:PM_INST_DISP_GRP192 : (Group 192 pm_inst_imc) Number of PowerPC instructions successfully dispatched.
+event:0X0C02 counters:2 um:zero minimum:1000 name:PM_INST_IMC_MATCH_DISP_GRP192 : (Group 192 pm_inst_imc) IMC Matches dispatched
+event:0X0C03 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP192 : (Group 192 pm_inst_imc) Number of PowerPC Instructions that completed.
+event:0X0C04 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP192 : (Group 192 pm_inst_imc) Number of run instructions completed.
+event:0X0C05 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP192 : (Group 192 pm_inst_imc) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 193 pm_l2_misc1, L2 load/store Miss events
+event:0X0C10 counters:0 um:zero minimum:1000 name:PM_L2_LDST_GRP193 : (Group 193 pm_l2_misc1) Data Load+Store Count
+event:0X0C11 counters:1 um:zero minimum:1000 name:PM_L2_LDST_MISS_GRP193 : (Group 193 pm_l2_misc1) Data Load+Store Miss
+event:0X0C12 counters:2 um:zero minimum:1000 name:PM_L2_INST_MISS_GRP193 : (Group 193 pm_l2_misc1) Instruction Load Misses
+event:0X0C13 counters:3 um:zero minimum:1000 name:PM_L2_DISP_ALL_GRP193 : (Group 193 pm_l2_misc1) All successful LD/ST dispatches for this thread(i+d)
+event:0X0C14 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP193 : (Group 193 pm_l2_misc1) Number of run instructions completed.
+event:0X0C15 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP193 : (Group 193 pm_l2_misc1) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 194 pm_l2_misc2, L2 Events
+event:0X0C20 counters:0 um:zero minimum:10000 name:PM_INST_CMPL_GRP194 : (Group 194 pm_l2_misc2) Number of PowerPC Instructions that completed.
+event:0X0C21 counters:1 um:zero minimum:10000 name:PM_CYC_GRP194 : (Group 194 pm_l2_misc2) Processor Cycles
+event:0X0C22 counters:2 um:zero minimum:1000 name:PM_L2_INST_GRP194 : (Group 194 pm_l2_misc2) Instruction Load Count
+event:0X0C23 counters:3 um:zero minimum:1000 name:PM_L2_DISP_ALL_GRP194 : (Group 194 pm_l2_misc2) All successful LD/ST dispatches for this thread(i+d)
+event:0X0C24 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP194 : (Group 194 pm_l2_misc2) Number of run instructions completed.
+event:0X0C25 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP194 : (Group 194 pm_l2_misc2) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 195 pm_l2_misc3, L2 Events
+event:0X0C30 counters:0 um:zero minimum:10000 name:PM_INST_CMPL_GRP195 : (Group 195 pm_l2_misc3) Number of PowerPC Instructions that completed.
+event:0X0C31 counters:1 um:zero minimum:10000 name:PM_CYC_GRP195 : (Group 195 pm_l2_misc3) Processor Cycles
+event:0X0C32 counters:2 um:zero minimum:1000 name:PM_L2_SYS_PUMP_GRP195 : (Group 195 pm_l2_misc3) RC req that was a global (aka system) pump attempt
+event:0X0C33 counters:3 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP195 : (Group 195 pm_l2_misc3) Number of run instructions completed.
+event:0X0C34 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP195 : (Group 195 pm_l2_misc3) Number of run instructions completed.
+event:0X0C35 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP195 : (Group 195 pm_l2_misc3) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 196 pm_l2_misc4, L2 Events
+event:0X0C40 counters:0 um:zero minimum:10000 name:PM_INST_CMPL_GRP196 : (Group 196 pm_l2_misc4) Number of PowerPC Instructions that completed.
+event:0X0C41 counters:1 um:zero minimum:10000 name:PM_CYC_GRP196 : (Group 196 pm_l2_misc4) Processor Cycles
+event:0X0C42 counters:2 um:zero minimum:1000 name:PM_L2_SN_SX_I_DONE_GRP196 : (Group 196 pm_l2_misc4) SNP dispatched and went from Sx or Tx to Ix
+event:0X0C43 counters:3 um:zero minimum:1000 name:PM_L2_SN_M_WR_DONE_GRP196 : (Group 196 pm_l2_misc4) SNP dispatched for a write and was M
+event:0X0C44 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP196 : (Group 196 pm_l2_misc4) Number of run instructions completed.
+event:0X0C45 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP196 : (Group 196 pm_l2_misc4) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 197 pm_l2_misc5, L2 Events
+event:0X0C50 counters:0 um:zero minimum:10000 name:PM_INST_CMPL_GRP197 : (Group 197 pm_l2_misc5) Number of PowerPC Instructions that completed.
+event:0X0C51 counters:1 um:zero minimum:10000 name:PM_CYC_GRP197 : (Group 197 pm_l2_misc5) Processor Cycles
+event:0X0C52 counters:2 um:zero minimum:1000 name:PM_L2_NODE_PUMP_GRP197 : (Group 197 pm_l2_misc5) RC req that was a local (aka node) pump attempt
+event:0X0C53 counters:3 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP197 : (Group 197 pm_l2_misc5) Number of run instructions completed.
+event:0X0C54 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP197 : (Group 197 pm_l2_misc5) Number of run instructions completed.
+event:0X0C55 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP197 : (Group 197 pm_l2_misc5) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 198 pm_l2_misc6, L2 Events
+event:0X0C60 counters:0 um:zero minimum:10000 name:PM_INST_CMPL_GRP198 : (Group 198 pm_l2_misc6) Number of PowerPC Instructions that completed.
+event:0X0C61 counters:1 um:zero minimum:10000 name:PM_RUN_CYC_GRP198 : (Group 198 pm_l2_misc6) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+event:0X0C62 counters:2 um:zero minimum:10000 name:PM_CYC_GRP198 : (Group 198 pm_l2_misc6) Processor Cycles
+event:0X0C63 counters:3 um:zero minimum:1000 name:PM_L2_SN_M_RD_DONE_GRP198 : (Group 198 pm_l2_misc6) SNP dispatched for a read and was M
+event:0X0C64 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP198 : (Group 198 pm_l2_misc6) Number of run instructions completed.
+event:0X0C65 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP198 : (Group 198 pm_l2_misc6) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 199 pm_ierat, IERAT Events
+event:0X0C70 counters:0 um:zero minimum:1000 name:PM_IERAT_MISS_GRP199 : (Group 199 pm_ierat) A translation request missed the Instruction Effective to Real Address Translation (ERAT) table
+event:0X0C71 counters:1 um:zero minimum:1000 name:PM_IERAT_XLATE_WR_16MPLUS_GRP199 : (Group 199 pm_ierat) large page 16M+
+event:0X0C72 counters:2 um:zero minimum:1000 name:PM_IERAT_WR_64K_GRP199 : (Group 199 pm_ierat) large page 64k
+event:0X0C73 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP199 : (Group 199 pm_ierat) Number of PowerPC Instructions that completed.
+event:0X0C74 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP199 : (Group 199 pm_ierat) Number of run instructions completed.
+event:0X0C75 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP199 : (Group 199 pm_ierat) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 200 pm_disp_clb, Dispatch CLB Events
+event:0X0C80 counters:0 um:zero minimum:1000 name:PM_DISP_CLB_HELD_GRP200 : (Group 200 pm_disp_clb) CLB Hold: Any Reason
+event:0X0C81 counters:1 um:zero minimum:1000 name:PM_DISP_CLB_HELD_SB_GRP200 : (Group 200 pm_disp_clb) Dispatch/CLB Hold: Scoreboard
+event:0X0C82 counters:2 um:zero minimum:10000 name:PM_CYC_GRP200 : (Group 200 pm_disp_clb) Processor Cycles
+event:0X0C83 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP200 : (Group 200 pm_disp_clb) Number of PowerPC Instructions that completed.
+event:0X0C84 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP200 : (Group 200 pm_disp_clb) Number of run instructions completed.
+event:0X0C85 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP200 : (Group 200 pm_disp_clb) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 201 pm_dpu, DPU Events
+event:0X0C90 counters:0 um:zero minimum:10000 name:PM_CYC_GRP201 : (Group 201 pm_dpu) Processor Cycles
+event:0X0C91 counters:1 um:zero minimum:1000 name:PM_DPU_HELD_POWER_GRP201 : (Group 201 pm_dpu) Cycles that Instruction Dispatch was held due to power management. More than one hold condition can exist at the same time
+event:0X0C92 counters:2 um:zero minimum:1000 name:PM_DISP_WT_GRP201 : (Group 201 pm_dpu) Dispatched Starved (not held, nothing to dispatch)
+event:0X0C93 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP201 : (Group 201 pm_dpu) Number of PowerPC Instructions that completed.
+event:0X0C94 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP201 : (Group 201 pm_dpu) Number of run instructions completed.
+event:0X0C95 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP201 : (Group 201 pm_dpu) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 202 pm_cpu_util, Basic CPU utilization
+event:0X0CA0 counters:0 um:zero minimum:1000 name:PM_RUN_SPURR_GRP202 : (Group 202 pm_cpu_util) Run SPURR
+event:0X0CA1 counters:1 um:zero minimum:10000 name:PM_RUN_CYC_GRP202 : (Group 202 pm_cpu_util) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+event:0X0CA2 counters:2 um:zero minimum:10000 name:PM_CYC_GRP202 : (Group 202 pm_cpu_util) Processor Cycles
+event:0X0CA3 counters:3 um:zero minimum:1000 name:PM_RUN_PURR_GRP202 : (Group 202 pm_cpu_util) The Processor Utilization of Resources Register was incremented while the run latch was set. The PURR registers will be incremented roughly in the ratio in which the instructions are dispatched from the two threads.
+event:0X0CA4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP202 : (Group 202 pm_cpu_util) Number of run instructions completed.
+event:0X0CA5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP202 : (Group 202 pm_cpu_util) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 203 pm_overflow1, Overflow events
+event:0X0CB0 counters:0 um:zero minimum:1000 name:PM_PMC4_OVERFLOW_GRP203 : (Group 203 pm_overflow1) Overflows from PMC4 are counted. This effectively widens the PMC. The Overflow from the original PMC will not trigger an exception even if the PMU is configured to generate exceptions on overflow.
+event:0X0CB1 counters:1 um:zero minimum:1000 name:PM_PMC1_OVERFLOW_GRP203 : (Group 203 pm_overflow1) Overflows from PMC1 are counted. This effectively widens the PMC. The Overflow from the original PMC will not trigger an exception even if the PMU is configured to generate exceptions on overflow.
+event:0X0CB2 counters:2 um:zero minimum:1000 name:PM_PMC2_OVERFLOW_GRP203 : (Group 203 pm_overflow1) Overflows from PMC2 are counted. This effectively widens the PMC. The Overflow from the original PMC will not trigger an exception even if the PMU is configured to generate exceptions on overflow.
+event:0X0CB3 counters:3 um:zero minimum:1000 name:PM_PMC3_OVERFLOW_GRP203 : (Group 203 pm_overflow1) Overflows from PMC3 are counted. This effectively widens the PMC. The Overflow from the original PMC will not trigger an exception even if the PMU is configured to generate exceptions on overflow.
+event:0X0CB4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP203 : (Group 203 pm_overflow1) Number of run instructions completed.
+event:0X0CB5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP203 : (Group 203 pm_overflow1) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 204 pm_overflow2, Overflow events
+event:0X0CC0 counters:0 um:zero minimum:1000 name:PM_PMC5_OVERFLOW_GRP204 : (Group 204 pm_overflow2) Overflows from PMC5 are counted. This effectively widens the PMC. The Overflow from the original PMC will not trigger an exception even if the PMU is configured to generate exceptions on overflow.
+event:0X0CC1 counters:1 um:zero minimum:1000 name:PM_PMC1_OVERFLOW_GRP204 : (Group 204 pm_overflow2) Overflows from PMC1 are counted. This effectively widens the PMC. The Overflow from the original PMC will not trigger an exception even if the PMU is configured to generate exceptions on overflow.
+event:0X0CC2 counters:2 um:zero minimum:1000 name:PM_PMC6_OVERFLOW_GRP204 : (Group 204 pm_overflow2) Overflows from PMC6 are counted. This effectively widens the PMC. The Overflow from the original PMC will not trigger an exception even if the PMU is configured to generate exceptions on overflow.
+event:0X0CC3 counters:3 um:zero minimum:1000 name:PM_PMC3_OVERFLOW_GRP204 : (Group 204 pm_overflow2) Overflows from PMC3 are counted. This effectively widens the PMC. The Overflow from the original PMC will not trigger an exception even if the PMU is configured to generate exceptions on overflow.
+event:0X0CC4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP204 : (Group 204 pm_overflow2) Number of run instructions completed.
+event:0X0CC5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP204 : (Group 204 pm_overflow2) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 205 pm_rewind, Rewind events
+event:0X0CD0 counters:0 um:zero minimum:1000 name:PM_PMC4_REWIND_GRP205 : (Group 205 pm_rewind) PMC4 was counting speculatively. The speculative condition was not met and the counter was restored to its previous value.
+event:0X0CD1 counters:1 um:zero minimum:10000 name:PM_RUN_CYC_GRP205 : (Group 205 pm_rewind) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+event:0X0CD2 counters:2 um:zero minimum:1000 name:PM_PMC2_REWIND_GRP205 : (Group 205 pm_rewind) PMC2 was counting speculatively. The speculative condition was not met and the counter was restored to its previous value.
+event:0X0CD3 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP205 : (Group 205 pm_rewind) Number of PowerPC Instructions that completed.
+event:0X0CD4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP205 : (Group 205 pm_rewind) Number of run instructions completed.
+event:0X0CD5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP205 : (Group 205 pm_rewind) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 206 pm_saved, Saved Events
+event:0X0CE0 counters:0 um:zero minimum:1000 name:PM_PMC2_SAVED_GRP206 : (Group 206 pm_saved) PMC2 was counting speculatively. The speculative condition was met and the counter value was committed by copying it to the backup register.
+event:0X0CE1 counters:1 um:zero minimum:10000 name:PM_RUN_CYC_GRP206 : (Group 206 pm_saved) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+event:0X0CE2 counters:2 um:zero minimum:1000 name:PM_PMC4_SAVED_GRP206 : (Group 206 pm_saved) PMC4 was counting speculatively. The speculative condition was met and the counter value was committed by copying it to the backup register.
+event:0X0CE3 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP206 : (Group 206 pm_saved) Number of PowerPC Instructions that completed.
+event:0X0CE4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP206 : (Group 206 pm_saved) Number of run instructions completed.
+event:0X0CE5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP206 : (Group 206 pm_saved) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 207 pm_tlbie, TLBIE Events
+event:0X0CF0 counters:0 um:zero minimum:1000 name:PM_FLUSH_DISP_TLBIE_GRP207 : (Group 207 pm_tlbie) Dispatch Flush: TLBIE
+event:0X0CF1 counters:1 um:zero minimum:1000 name:PM_DISP_CLB_HELD_TLBIE_GRP207 : (Group 207 pm_tlbie) Dispatch Hold: Due to TLBIE
+event:0X0CF2 counters:2 um:zero minimum:1000 name:PM_SNOOP_TLBIE_GRP207 : (Group 207 pm_tlbie) A tlbie was snooped from another processor.
+event:0X0CF3 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP207 : (Group 207 pm_tlbie) Number of PowerPC Instructions that completed.
+event:0X0CF4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP207 : (Group 207 pm_tlbie) Number of run instructions completed.
+event:0X0CF5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP207 : (Group 207 pm_tlbie) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 208 pm_id_miss_erat_l1, Instruction/Data miss from ERAT/L1 cache
+event:0X0D00 counters:0 um:zero minimum:1000 name:PM_IERAT_MISS_GRP208 : (Group 208 pm_id_miss_erat_l1) A translation request missed the Instruction Effective to Real Address Translation (ERAT) table
+event:0X0D01 counters:1 um:zero minimum:1000 name:PM_L1_ICACHE_MISS_GRP208 : (Group 208 pm_id_miss_erat_l1) An instruction fetch request missed the L1 cache.
+event:0X0D02 counters:2 um:zero minimum:1000 name:PM_ST_MISS_L1_GRP208 : (Group 208 pm_id_miss_erat_l1) A store missed the dcache. Combined Unit 0 + 1.
+event:0X0D03 counters:3 um:zero minimum:1000 name:PM_LD_MISS_L1_GRP208 : (Group 208 pm_id_miss_erat_l1) Load references that miss the Level 1 Data cache. Combined unit 0 + 1.
+event:0X0D04 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP208 : (Group 208 pm_id_miss_erat_l1) Number of run instructions completed.
+event:0X0D05 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP208 : (Group 208 pm_id_miss_erat_l1) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 209 pm_id_miss_erat_tlab, Instruction/Data miss from ERAT/TLB
+event:0X0D10 counters:0 um:zero minimum:10000 name:PM_CYC_GRP209 : (Group 209 pm_id_miss_erat_tlab) Processor Cycles
+event:0X0D11 counters:1 um:zero minimum:1000 name:PM_LSU_DERAT_MISS_GRP209 : (Group 209 pm_id_miss_erat_tlab) Total D-ERAT Misses. Requests that miss the Derat are rejected and retried until the request hits in the Erat. This may result in multiple erat misses for the same instruction. Combined Unit 0 + 1.
+event:0X0D12 counters:2 um:zero minimum:1000 name:PM_DTLB_MISS_GRP209 : (Group 209 pm_id_miss_erat_tlab) Data TLB misses, all page sizes.
+event:0X0D13 counters:3 um:zero minimum:1000 name:PM_ITLB_MISS_GRP209 : (Group 209 pm_id_miss_erat_tlab) A TLB miss for an Instruction Fetch has occurred
+event:0X0D14 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP209 : (Group 209 pm_id_miss_erat_tlab) Number of run instructions completed.
+event:0X0D15 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP209 : (Group 209 pm_id_miss_erat_tlab) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 210 pm_compat_utilization1, Basic CPU utilization
+event:0X0D20 counters:0 um:zero minimum:1000 name:PM_ANY_THRD_RUN_CYC_GRP210 : (Group 210 pm_compat_utilization1) One of threads in run_cycles
+event:0X0D21 counters:1 um:zero minimum:10000 name:PM_RUN_CYC_GRP210 : (Group 210 pm_compat_utilization1) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+event:0X0D22 counters:2 um:zero minimum:10000 name:PM_CYC_GRP210 : (Group 210 pm_compat_utilization1) Processor Cycles
+event:0X0D23 counters:3 um:zero minimum:1000 name:PM_RUN_PURR_GRP210 : (Group 210 pm_compat_utilization1) The Processor Utilization of Resources Register was incremented while the run latch was set. The PURR registers will be incremented roughly in the ratio in which the instructions are dispatched from the two threads.
+event:0X0D24 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP210 : (Group 210 pm_compat_utilization1) Number of run instructions completed.
+event:0X0D25 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP210 : (Group 210 pm_compat_utilization1) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 211 pm_compat_utilization2, CPI and utilization data
+event:0X0D30 counters:0 um:zero minimum:1000 name:PM_FLOP_GRP211 : (Group 211 pm_compat_utilization2) A floating point operation has completed
+event:0X0D31 counters:1 um:zero minimum:10000 name:PM_RUN_CYC_GRP211 : (Group 211 pm_compat_utilization2) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+event:0X0D32 counters:2 um:zero minimum:10000 name:PM_CYC_GRP211 : (Group 211 pm_compat_utilization2) Processor Cycles
+event:0X0D33 counters:3 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP211 : (Group 211 pm_compat_utilization2) Number of run instructions completed.
+event:0X0D34 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP211 : (Group 211 pm_compat_utilization2) Number of run instructions completed.
+event:0X0D35 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP211 : (Group 211 pm_compat_utilization2) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 212 pm_compat_cpi_1plus_ppc, Misc CPI and utilization data
+event:0X0D40 counters:0 um:zero minimum:1000 name:PM_1PLUS_PPC_CMPL_GRP212 : (Group 212 pm_compat_cpi_1plus_ppc) A group containing at least one PPC instruction completed. For microcoded instructions that span multiple groups, this will only occur once.
+event:0X0D41 counters:1 um:zero minimum:10000 name:PM_RUN_CYC_GRP212 : (Group 212 pm_compat_cpi_1plus_ppc) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+event:0X0D42 counters:2 um:zero minimum:1000 name:PM_INST_DISP_GRP212 : (Group 212 pm_compat_cpi_1plus_ppc) Number of PowerPC instructions successfully dispatched.
+event:0X0D43 counters:3 um:zero minimum:1000 name:PM_1PLUS_PPC_DISP_GRP212 : (Group 212 pm_compat_cpi_1plus_ppc) A group containing at least one PPC instruction was dispatched. For microcoded instructions that span multiple groups, this will only occur once.
+event:0X0D44 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP212 : (Group 212 pm_compat_cpi_1plus_ppc) Number of run instructions completed.
+event:0X0D45 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP212 : (Group 212 pm_compat_cpi_1plus_ppc) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 213 pm_compat_l1_dcache_load_store_miss, L1 D-Cache load/store miss
+event:0X0D50 counters:0 um:zero minimum:10000 name:PM_INST_CMPL_GRP213 : (Group 213 pm_compat_l1_dcache_load_store_miss) Number of PowerPC Instructions that completed.
+event:0X0D51 counters:1 um:zero minimum:1000 name:PM_ST_FIN_GRP213 : (Group 213 pm_compat_l1_dcache_load_store_miss) Store requests sent to the nest.
+event:0X0D52 counters:2 um:zero minimum:1000 name:PM_ST_MISS_L1_GRP213 : (Group 213 pm_compat_l1_dcache_load_store_miss) A store missed the dcache. Combined Unit 0 + 1.
+event:0X0D53 counters:3 um:zero minimum:1000 name:PM_LD_MISS_L1_GRP213 : (Group 213 pm_compat_l1_dcache_load_store_miss) Load references that miss the Level 1 Data cache. Combined unit 0 + 1.
+event:0X0D54 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP213 : (Group 213 pm_compat_l1_dcache_load_store_miss) Number of run instructions completed.
+event:0X0D55 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP213 : (Group 213 pm_compat_l1_dcache_load_store_miss) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 214 pm_compat_l1_cache_load, L1 Cache loads
+event:0X0D60 counters:0 um:zero minimum:10000 name:PM_INST_CMPL_GRP214 : (Group 214 pm_compat_l1_cache_load) Number of PowerPC Instructions that completed.
+event:0X0D61 counters:1 um:zero minimum:1000 name:PM_DATA_FROM_L2MISS_GRP214 : (Group 214 pm_compat_l1_cache_load) The processor's Data Cache was reloaded but not from the local L2.
+event:0X0D62 counters:2 um:zero minimum:1000 name:PM_L1_DCACHE_RELOAD_VALID_GRP214 : (Group 214 pm_compat_l1_cache_load) The data source information is valid,the data cache has been reloaded. Prior to POWER5+ this included data cache reloads due to prefetch activity. With POWER5+ this now only includes reloads due to demand loads.
+event:0X0D63 counters:3 um:zero minimum:1000 name:PM_LD_MISS_L1_GRP214 : (Group 214 pm_compat_l1_cache_load) Load references that miss the Level 1 Data cache. Combined unit 0 + 1.
+event:0X0D64 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP214 : (Group 214 pm_compat_l1_cache_load) Number of run instructions completed.
+event:0X0D65 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP214 : (Group 214 pm_compat_l1_cache_load) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 215 pm_compat_instruction_directory, Instruction Directory
+event:0X0D70 counters:0 um:zero minimum:1000 name:PM_IERAT_MISS_GRP215 : (Group 215 pm_compat_instruction_directory) A translation request missed the Instruction Effective to Real Address Translation (ERAT) table
+event:0X0D71 counters:1 um:zero minimum:1000 name:PM_L1_ICACHE_MISS_GRP215 : (Group 215 pm_compat_instruction_directory) An instruction fetch request missed the L1 cache.
+event:0X0D72 counters:2 um:zero minimum:10000 name:PM_INST_CMPL_GRP215 : (Group 215 pm_compat_instruction_directory) Number of PowerPC Instructions that completed.
+event:0X0D73 counters:3 um:zero minimum:1000 name:PM_ITLB_MISS_GRP215 : (Group 215 pm_compat_instruction_directory) A TLB miss for an Instruction Fetch has occurred
+event:0X0D74 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP215 : (Group 215 pm_compat_instruction_directory) Number of run instructions completed.
+event:0X0D75 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP215 : (Group 215 pm_compat_instruction_directory) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 216 pm_compat_suspend, Suspend Events
+event:0X0D80 counters:0 um:zero minimum:1000 name:PM_SUSPENDED_GRP216 : (Group 216 pm_compat_suspend) The counter is suspended (does not count)
+event:0X0D81 counters:1 um:zero minimum:1000 name:PM_SUSPENDED_GRP216 : (Group 216 pm_compat_suspend) The counter is suspended (does not count)
+event:0X0D82 counters:2 um:zero minimum:1000 name:PM_SUSPENDED_GRP216 : (Group 216 pm_compat_suspend) The counter is suspended (does not count)
+event:0X0D83 counters:3 um:zero minimum:1000 name:PM_SUSPENDED_GRP216 : (Group 216 pm_compat_suspend) The counter is suspended (does not count)
+event:0X0D84 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP216 : (Group 216 pm_compat_suspend) Number of run instructions completed.
+event:0X0D85 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP216 : (Group 216 pm_compat_suspend) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 217 pm_compat_misc_events1, Misc Events
+event:0X0D90 counters:0 um:zero minimum:10000 name:PM_INST_CMPL_GRP217 : (Group 217 pm_compat_misc_events1) Number of PowerPC Instructions that completed.
+event:0X0D91 counters:1 um:zero minimum:1000 name:PM_EXT_INT_GRP217 : (Group 217 pm_compat_misc_events1) An interrupt due to an external exception occurred
+event:0X0D92 counters:2 um:zero minimum:1000 name:PM_TB_BIT_TRANS_GRP217 : (Group 217 pm_compat_misc_events1) When the selected time base bit (as specified in MMCR0[TBSEL])transitions from 0 to 1
+event:0X0D93 counters:3 um:zero minimum:10000 name:PM_CYC_GRP217 : (Group 217 pm_compat_misc_events1) Processor Cycles
+event:0X0D94 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP217 : (Group 217 pm_compat_misc_events1) Number of run instructions completed.
+event:0X0D95 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP217 : (Group 217 pm_compat_misc_events1) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 218 pm_compat_misc_events2, Misc Events
+event:0X0DA0 counters:0 um:zero minimum:1000 name:PM_INST_IMC_MATCH_CMPL_GRP218 : (Group 218 pm_compat_misc_events2) Number of instructions resulting from the marked instructions expansion that completed.
+event:0X0DA1 counters:1 um:zero minimum:1000 name:PM_INST_DISP_GRP218 : (Group 218 pm_compat_misc_events2) Number of PowerPC instructions successfully dispatched.
+event:0X0DA2 counters:2 um:zero minimum:1000 name:PM_THRD_CONC_RUN_INST_GRP218 : (Group 218 pm_compat_misc_events2) Instructions completed by this thread when both threads had their run latches set.
+event:0X0DA3 counters:3 um:zero minimum:1000 name:PM_FLUSH_GRP218 : (Group 218 pm_compat_misc_events2) Flushes occurred including LSU and Branch flushes.
+event:0X0DA4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP218 : (Group 218 pm_compat_misc_events2) Number of run instructions completed.
+event:0X0DA5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP218 : (Group 218 pm_compat_misc_events2) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 219 pm_compat_misc_events3, Misc Events
+event:0X0DB0 counters:0 um:zero minimum:1000 name:PM_GCT_NOSLOT_CYC_GRP219 : (Group 219 pm_compat_misc_events3) Cycles when the Global Completion Table has no slots from this thread.
+event:0X0DB1 counters:1 um:zero minimum:1000 name:PM_INST_DISP_GRP219 : (Group 219 pm_compat_misc_events3) Number of PowerPC instructions successfully dispatched.
+event:0X0DB2 counters:2 um:zero minimum:10000 name:PM_CYC_GRP219 : (Group 219 pm_compat_misc_events3) Processor Cycles
+event:0X0DB3 counters:3 um:zero minimum:1000 name:PM_BR_MPRED_GRP219 : (Group 219 pm_compat_misc_events3) A branch instruction was incorrectly predicted. This could have been a target prediction, a condition prediction, or both
+event:0X0DB4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP219 : (Group 219 pm_compat_misc_events3) Number of run instructions completed.
+event:0X0DB5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP219 : (Group 219 pm_compat_misc_events3) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 220 pm_mrk_br, Marked Branch events
+event:0X0DC0 counters:0 um:zero minimum:1000 name:PM_MRK_BR_TAKEN_GRP220 : (Group 220 pm_mrk_br) A marked branch was taken
+event:0X0DC1 counters:1 um:zero minimum:1000 name:PM_MRK_LD_MISS_L1_GRP220 : (Group 220 pm_mrk_br) Marked L1 D cache load misses
+event:0X0DC2 counters:2 um:zero minimum:1000 name:PM_MRK_BR_MPRED_GRP220 : (Group 220 pm_mrk_br) A marked branch was mispredicted
+event:0X0DC3 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP220 : (Group 220 pm_mrk_br) Number of PowerPC Instructions that completed.
+event:0X0DC4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP220 : (Group 220 pm_mrk_br) Number of run instructions completed.
+event:0X0DC5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP220 : (Group 220 pm_mrk_br) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 221 pm_mrk_dsource1, Marked data sources
+event:0X0DD0 counters:0 um:zero minimum:1000 name:PM_MRK_DATA_FROM_DMEM_GRP221 : (Group 221 pm_mrk_dsource1) The processor's Data Cache was reloaded with data from memory attached to a distant module due to a marked load.
+event:0X0DD1 counters:1 um:zero minimum:1000 name:PM_MRK_DATA_FROM_DMEM_CYC_GRP221 : (Group 221 pm_mrk_dsource1) Marked ld latency Data Source 1110 (Distant Memory)
+event:0X0DD2 counters:2 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L21_MOD_GRP221 : (Group 221 pm_mrk_dsource1) Marked data loaded from another L2 on same chip modified
+event:0X0DD3 counters:3 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L21_MOD_CYC_GRP221 : (Group 221 pm_mrk_dsource1) Marked ld latency Data source 0101 (L2.1 M same chip)
+event:0X0DD4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP221 : (Group 221 pm_mrk_dsource1) Number of run instructions completed.
+event:0X0DD5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP221 : (Group 221 pm_mrk_dsource1) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 222 pm_mrk_dsource2, Marked data sources
+event:0X0DE0 counters:0 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L3_GRP222 : (Group 222 pm_mrk_dsource2) The processor's Data Cache was reloaded from the local L3 due to a marked load.
+event:0X0DE1 counters:1 um:zero minimum:1000 name:PM_MRK_DATA_FROM_LMEM_CYC_GRP222 : (Group 222 pm_mrk_dsource2) Cycles a marked load waited for data from this level of the storage system. Counting begins when a marked load misses the data cache and ends when the data is reloaded into the data cache. To calculate average latency divide this count by the number of marked misses to the same level.
+event:0X0DE2 counters:2 um:zero minimum:1000 name:PM_MRK_DATA_FROM_LMEM_GRP222 : (Group 222 pm_mrk_dsource2) The processor’s Data Cache was reloaded due to a marked load from memory attached to the same module this proccessor is located on.
+event:0X0DE3 counters:3 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L3_CYC_GRP222 : (Group 222 pm_mrk_dsource2) Cycles a marked load waited for data from this level of the storage system. Counting begins when a marked load misses the data cache and ends when the data is reloaded into the data cache. To calculate average latency divide this count by the number of marked misses to the same level.
+event:0X0DE4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP222 : (Group 222 pm_mrk_dsource2) Number of run instructions completed.
+event:0X0DE5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP222 : (Group 222 pm_mrk_dsource2) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 223 pm_mrk_dsource3, Marked data sources
+event:0X0DF0 counters:0 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L31_MOD_GRP223 : (Group 223 pm_mrk_dsource3) Marked data loaded from another L3 on same chip modified
+event:0X0DF1 counters:1 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L21_SHR_CYC_GRP223 : (Group 223 pm_mrk_dsource3) Marked load latency Data source 0100 (L2.1 S)
+event:0X0DF2 counters:2 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L21_SHR_GRP223 : (Group 223 pm_mrk_dsource3) Marked data loaded from another L2 on same chip shared
+event:0X0DF3 counters:3 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L31_MOD_CYC_GRP223 : (Group 223 pm_mrk_dsource3) Marked ld latency Data source 0111 (L3.1 M same chip)
+event:0X0DF4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP223 : (Group 223 pm_mrk_dsource3) Number of run instructions completed.
+event:0X0DF5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP223 : (Group 223 pm_mrk_dsource3) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 224 pm_mrk_dsource4, Marked data sources
+event:0X0E00 counters:0 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L2_GRP224 : (Group 224 pm_mrk_dsource4) The processor's Data Cache was reloaded from the local L2 due to a marked load.
+event:0X0E01 counters:1 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L2_CYC_GRP224 : (Group 224 pm_mrk_dsource4) Cycles a marked load waited for data from this level of the storage system. Counting begins when a marked load misses the data cache and ends when the data is reloaded into the data cache. To calculate average latency divide this count by the number of marked misses to the same level.
+event:0X0E02 counters:2 um:zero minimum:1000 name:PM_DATA_FROM_RMEM_GRP224 : (Group 224 pm_mrk_dsource4) The processor’s Data Cache was reloaded from memory attached to a different module than this proccessor is located on.
+event:0X0E03 counters:3 um:zero minimum:1000 name:PM_DATA_FROM_LMEM_GRP224 : (Group 224 pm_mrk_dsource4) The processor’s Data Cache was reloaded from memory attached to the same module this proccessor is located on.
+event:0X0E04 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP224 : (Group 224 pm_mrk_dsource4) Number of run instructions completed.
+event:0X0E05 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP224 : (Group 224 pm_mrk_dsource4) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 225 pm_mrk_dsource5, Marked data sources
+event:0X0E10 counters:0 um:zero minimum:1000 name:PM_MRK_DATA_FROM_RL2L3_MOD_GRP225 : (Group 225 pm_mrk_dsource5) The processor's Data Cache was reloaded with modified (M) data from an L2 or L3 on a remote module due to a marked load.
+event:0X0E11 counters:1 um:zero minimum:1000 name:PM_MRK_DATA_FROM_DL2L3_SHR_CYC_GRP225 : (Group 225 pm_mrk_dsource5) Marked ld latency Data Source 1010 (Distant L2.75/L3.75 S)
+event:0X0E12 counters:2 um:zero minimum:1000 name:PM_MRK_DATA_FROM_DL2L3_SHR_GRP225 : (Group 225 pm_mrk_dsource5) The processor's Data Cache was reloaded with shared (T or SL) data from an L2 or L3 on a distant module due to a marked load.
+event:0X0E13 counters:3 um:zero minimum:1000 name:PM_MRK_DATA_FROM_RL2L3_MOD_CYC_GRP225 : (Group 225 pm_mrk_dsource5) Marked ld latency Data source 1001 (L2.5/L3.5 M same 4 chip node)
+event:0X0E14 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP225 : (Group 225 pm_mrk_dsource5) Number of run instructions completed.
+event:0X0E15 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP225 : (Group 225 pm_mrk_dsource5) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 226 pm_mrk_dsource6, Marked data sources
+event:0X0E20 counters:0 um:zero minimum:1000 name:PM_MRK_DATA_FROM_RL2L3_SHR_GRP226 : (Group 226 pm_mrk_dsource6) The processor's Data Cache was reloaded with shared (T or SL) data from an L2 or L3 on a remote module due to a marked load
+event:0X0E21 counters:1 um:zero minimum:1000 name:PM_MRK_DATA_FROM_RL2L3_SHR_CYC_GRP226 : (Group 226 pm_mrk_dsource6) Marked load latency Data Source 1000 (Remote L2.5/L3.5 S)
+event:0X0E22 counters:2 um:zero minimum:1000 name:PM_MRK_DATA_FROM_RMEM_GRP226 : (Group 226 pm_mrk_dsource6) The processor’s Data Cache was reloaded due to a marked load from memory attached to a different module than this proccessor is located on.
+event:0X0E23 counters:3 um:zero minimum:1000 name:PM_MRK_DATA_FROM_RMEM_CYC_GRP226 : (Group 226 pm_mrk_dsource6) Cycles a marked load waited for data from this level of the storage system. Counting begins when a marked load misses the data cache and ends when the data is reloaded into the data cache. To calculate average latency divide this count by the number of marked misses to the same level.
+event:0X0E24 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP226 : (Group 226 pm_mrk_dsource6) Number of run instructions completed.
+event:0X0E25 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP226 : (Group 226 pm_mrk_dsource6) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 227 pm_mrk_dsource7, Marked data sources
+event:0X0E30 counters:0 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L31_SHR_GRP227 : (Group 227 pm_mrk_dsource7) Marked data loaded from another L3 on same chip shared
+event:0X0E31 counters:1 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L31_SHR_CYC_GRP227 : (Group 227 pm_mrk_dsource7) Marked load latency Data source 0110 (L3.1 S)
+event:0X0E32 counters:2 um:zero minimum:1000 name:PM_MRK_INST_FIN_GRP227 : (Group 227 pm_mrk_dsource7) One of the execution units finished a marked instruction. Instructions that finish may not necessary complete
+event:0X0E33 counters:3 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L2MISS_GRP227 : (Group 227 pm_mrk_dsource7) DL1 was reloaded from beyond L2 due to a marked demand load.
+event:0X0E34 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP227 : (Group 227 pm_mrk_dsource7) Number of run instructions completed.
+event:0X0E35 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP227 : (Group 227 pm_mrk_dsource7) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 228 pm_mrk_dsource8, Marked data sources
+event:0X0E40 counters:0 um:zero minimum:1000 name:PM_MRK_LD_MISS_EXPOSED_CYC_COUNT_GRP228 : (Group 228 pm_mrk_dsource8) Marked Load exposed Miss (use edge detect to count #)
+event:0X0E41 counters:1 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L3MISS_GRP228 : (Group 228 pm_mrk_dsource8) DL1 was reloaded from beyond L3 due to a marked load.
+event:0X0E42 counters:2 um:zero minimum:1000 name:PM_MRK_DATA_FROM_DL2L3_MOD_GRP228 : (Group 228 pm_mrk_dsource8) The processor's Data Cache was reloaded with modified (M) data from an L2 or L3 on a distant module due to a marked load.
+event:0X0E43 counters:3 um:zero minimum:1000 name:PM_MRK_DATA_FROM_DL2L3_MOD_CYC_GRP228 : (Group 228 pm_mrk_dsource8) Marked ld latency Data source 1011 (L2.75/L3.75 M different 4 chip node)
+event:0X0E44 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP228 : (Group 228 pm_mrk_dsource8) Number of run instructions completed.
+event:0X0E45 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP228 : (Group 228 pm_mrk_dsource8) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 229 pm_mrk_lsu_flush1, Marked LSU Flush
+event:0X0E50 counters:0 um:zero minimum:1000 name:PM_MRK_LSU_FLUSH_ULD_GRP229 : (Group 229 pm_mrk_lsu_flush1) A marked load was flushed because it was unaligned (crossed a 64byte boundary, or 32 byte if it missed the L1)
+event:0X0E51 counters:1 um:zero minimum:1000 name:PM_MRK_LSU_FLUSH_UST_GRP229 : (Group 229 pm_mrk_lsu_flush1) A marked store was flushed because it was unaligned
+event:0X0E52 counters:2 um:zero minimum:10000 name:PM_INST_CMPL_GRP229 : (Group 229 pm_mrk_lsu_flush1) Number of PowerPC Instructions that completed.
+event:0X0E53 counters:3 um:zero minimum:10000 name:PM_CYC_GRP229 : (Group 229 pm_mrk_lsu_flush1) Processor Cycles
+event:0X0E54 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP229 : (Group 229 pm_mrk_lsu_flush1) Number of run instructions completed.
+event:0X0E55 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP229 : (Group 229 pm_mrk_lsu_flush1) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 230 pm_mrk_lsu_flush2, Marked LSU Flush
+event:0X0E60 counters:0 um:zero minimum:10000 name:PM_INST_CMPL_GRP230 : (Group 230 pm_mrk_lsu_flush2) Number of PowerPC Instructions that completed.
+event:0X0E61 counters:1 um:zero minimum:10000 name:PM_CYC_GRP230 : (Group 230 pm_mrk_lsu_flush2) Processor Cycles
+event:0X0E62 counters:2 um:zero minimum:1000 name:PM_MRK_LSU_FLUSH_LRQ_GRP230 : (Group 230 pm_mrk_lsu_flush2) Load Hit Load or Store Hit Load flush. A marked load was flushed because it executed before an older store and they had overlapping data OR two loads executed out of order and they have byte overlap and there was a snoop in between to an overlapped byte.
+event:0X0E63 counters:3 um:zero minimum:1000 name:PM_MRK_LSU_FLUSH_SRQ_GRP230 : (Group 230 pm_mrk_lsu_flush2) Load Hit Store flush. A marked load was flushed because it hits (overlaps) an older store that is already in the SRQ or in the same group. If the real addresses match but the effective addresses do not, an alias condition exists that prevents store forwarding. If the load and store are in the same group the load must be flushed to separate the two instructions.
+event:0X0E64 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP230 : (Group 230 pm_mrk_lsu_flush2) Number of run instructions completed.
+event:0X0E65 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP230 : (Group 230 pm_mrk_lsu_flush2) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 231 pm_mrk_rejects, Marked rejects
+event:0X0E70 counters:0 um:zero minimum:1000 name:PM_MRK_LSU_REJECT_LHS_GRP231 : (Group 231 pm_mrk_rejects) The Load Store Unit rejected a marked load instruction that had an address overlap with an older store in the store queue. The store must be committed and de-allocated from the Store Queue before the load can execute successfully
+event:0X0E71 counters:1 um:zero minimum:1000 name:PM_MRK_LSU_FLUSH_GRP231 : (Group 231 pm_mrk_rejects) Marked flush initiated by LSU
+event:0X0E72 counters:2 um:zero minimum:10000 name:PM_INST_CMPL_GRP231 : (Group 231 pm_mrk_rejects) Number of PowerPC Instructions that completed.
+event:0X0E73 counters:3 um:zero minimum:1000 name:PM_MRK_LSU_REJECT_GRP231 : (Group 231 pm_mrk_rejects) LSU marked reject (up to 2 per cycle)
+event:0X0E74 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP231 : (Group 231 pm_mrk_rejects) Number of run instructions completed.
+event:0X0E75 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP231 : (Group 231 pm_mrk_rejects) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 232 pm_mrk_inst, Marked instruction events
+event:0X0E80 counters:0 um:zero minimum:1000 name:PM_MRK_INST_ISSUED_GRP232 : (Group 232 pm_mrk_inst) A marked instruction was issued to an execution unit.
+event:0X0E81 counters:1 um:zero minimum:1000 name:PM_MRK_INST_DISP_GRP232 : (Group 232 pm_mrk_inst) A marked instruction was dispatched
+event:0X0E82 counters:2 um:zero minimum:1000 name:PM_MRK_INST_FIN_GRP232 : (Group 232 pm_mrk_inst) One of the execution units finished a marked instruction. Instructions that finish may not necessary complete
+event:0X0E83 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP232 : (Group 232 pm_mrk_inst) Number of PowerPC Instructions that completed.
+event:0X0E84 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP232 : (Group 232 pm_mrk_inst) Number of run instructions completed.
+event:0X0E85 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP232 : (Group 232 pm_mrk_inst) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 233 pm_mrk_st, Marked stores events
+event:0X0E90 counters:0 um:zero minimum:1000 name:PM_MRK_ST_CMPL_GRP233 : (Group 233 pm_mrk_st) A sampled store has completed (data home)
+event:0X0E91 counters:1 um:zero minimum:1000 name:PM_MRK_ST_NEST_GRP233 : (Group 233 pm_mrk_st) A sampled store has been sent to the memory subsystem
+event:0X0E92 counters:2 um:zero minimum:1000 name:PM_MRK_ST_CMPL_INT_GRP233 : (Group 233 pm_mrk_st) A marked store previously sent to the memory subsystem completed (data home) after requiring intervention
+event:0X0E93 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP233 : (Group 233 pm_mrk_st) Number of PowerPC Instructions that completed.
+event:0X0E94 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP233 : (Group 233 pm_mrk_st) Number of run instructions completed.
+event:0X0E95 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP233 : (Group 233 pm_mrk_st) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 234 pm_mrk_dtlb_miss1, Marked Data TLB Miss
+event:0X0EA0 counters:0 um:zero minimum:10000 name:PM_INST_CMPL_GRP234 : (Group 234 pm_mrk_dtlb_miss1) Number of PowerPC Instructions that completed.
+event:0X0EA1 counters:1 um:zero minimum:1000 name:PM_MRK_DTLB_MISS_4K_GRP234 : (Group 234 pm_mrk_dtlb_miss1) Data TLB references to 4KB pages by a marked instruction that missed the TLB. Page size is determined at TLB reload time.
+event:0X0EA2 counters:2 um:zero minimum:1000 name:PM_MRK_DTLB_MISS_64K_GRP234 : (Group 234 pm_mrk_dtlb_miss1) Data TLB references to 64KB pages by a marked instruction that missed the TLB. Page size is determined at TLB reload time.
+event:0X0EA3 counters:3 um:zero minimum:1000 name:PM_MRK_DTLB_MISS_16M_GRP234 : (Group 234 pm_mrk_dtlb_miss1) Data TLB references to 16M pages by a marked instruction that missed the TLB. Page size is determined at TLB reload time.
+event:0X0EA4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP234 : (Group 234 pm_mrk_dtlb_miss1) Number of run instructions completed.
+event:0X0EA5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP234 : (Group 234 pm_mrk_dtlb_miss1) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 235 pm_mrk_dtlb_miss2, Marked Data TLB Miss
+event:0X0EB0 counters:0 um:zero minimum:1000 name:PM_MRK_DTLB_MISS_16G_GRP235 : (Group 235 pm_mrk_dtlb_miss2) Data TLB references to 16GB pages by a marked instruction that missed the TLB. Page size is determined at TLB reload time.
+event:0X0EB1 counters:1 um:zero minimum:1000 name:PM_MRK_DTLB_MISS_4K_GRP235 : (Group 235 pm_mrk_dtlb_miss2) Data TLB references to 4KB pages by a marked instruction that missed the TLB. Page size is determined at TLB reload time.
+event:0X0EB2 counters:2 um:zero minimum:1000 name:PM_MRK_DTLB_MISS_64K_GRP235 : (Group 235 pm_mrk_dtlb_miss2) Data TLB references to 64KB pages by a marked instruction that missed the TLB. Page size is determined at TLB reload time.
+event:0X0EB3 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP235 : (Group 235 pm_mrk_dtlb_miss2) Number of PowerPC Instructions that completed.
+event:0X0EB4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP235 : (Group 235 pm_mrk_dtlb_miss2) Number of run instructions completed.
+event:0X0EB5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP235 : (Group 235 pm_mrk_dtlb_miss2) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 236 pm_mrk_derat_miss1, Marked DERAT Miss events
+event:0X0EC0 counters:0 um:zero minimum:10000 name:PM_INST_CMPL_GRP236 : (Group 236 pm_mrk_derat_miss1) Number of PowerPC Instructions that completed.
+event:0X0EC1 counters:1 um:zero minimum:1000 name:PM_MRK_DERAT_MISS_64K_GRP236 : (Group 236 pm_mrk_derat_miss1) A marked data request (load or store) missed the ERAT for 64K page and resulted in an ERAT reload.
+event:0X0EC2 counters:2 um:zero minimum:1000 name:PM_MRK_DERAT_MISS_16M_GRP236 : (Group 236 pm_mrk_derat_miss1) A marked data request (load or store) missed the ERAT for 16M page and resulted in an ERAT reload.
+event:0X0EC3 counters:3 um:zero minimum:1000 name:PM_MRK_DERAT_MISS_16G_GRP236 : (Group 236 pm_mrk_derat_miss1) A marked data request (load or store) missed the ERAT for 16G page and resulted in an ERAT reload.
+event:0X0EC4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP236 : (Group 236 pm_mrk_derat_miss1) Number of run instructions completed.
+event:0X0EC5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP236 : (Group 236 pm_mrk_derat_miss1) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 237 pm_mrk_derat_miss2, Marked DERAT Miss events
+event:0X0ED0 counters:0 um:zero minimum:1000 name:PM_MRK_DERAT_MISS_4K_GRP237 : (Group 237 pm_mrk_derat_miss2) A marked data request (load or store) missed the ERAT for 4K page and resulted in an ERAT reload.
+event:0X0ED1 counters:1 um:zero minimum:1000 name:PM_MRK_DERAT_MISS_64K_GRP237 : (Group 237 pm_mrk_derat_miss2) A marked data request (load or store) missed the ERAT for 64K page and resulted in an ERAT reload.
+event:0X0ED2 counters:2 um:zero minimum:1000 name:PM_MRK_DERAT_MISS_16M_GRP237 : (Group 237 pm_mrk_derat_miss2) A marked data request (load or store) missed the ERAT for 16M page and resulted in an ERAT reload.
+event:0X0ED3 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP237 : (Group 237 pm_mrk_derat_miss2) Number of PowerPC Instructions that completed.
+event:0X0ED4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP237 : (Group 237 pm_mrk_derat_miss2) Number of run instructions completed.
+event:0X0ED5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP237 : (Group 237 pm_mrk_derat_miss2) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 238 pm_mrk_misc_miss, marked Miss Events
+event:0X0EE0 counters:0 um:zero minimum:1000 name:PM_MRK_LD_MISS_EXPOSED_CYC_GRP238 : (Group 238 pm_mrk_misc_miss) Marked Load exposed Miss
+event:0X0EE1 counters:1 um:zero minimum:10000 name:PM_INST_CMPL_GRP238 : (Group 238 pm_mrk_misc_miss) Number of PowerPC Instructions that completed.
+event:0X0EE2 counters:2 um:zero minimum:1000 name:PM_MRK_LSU_DERAT_MISS_GRP238 : (Group 238 pm_mrk_misc_miss) Marked DERAT Miss
+event:0X0EE3 counters:3 um:zero minimum:1000 name:PM_MRK_LD_MISS_L1_CYC_GRP238 : (Group 238 pm_mrk_misc_miss) L1 data load miss cycles
+event:0X0EE4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP238 : (Group 238 pm_mrk_misc_miss) Number of run instructions completed.
+event:0X0EE5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP238 : (Group 238 pm_mrk_misc_miss) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 239 pm_mrk_pteg1, Marked PTEG
+event:0X0EF0 counters:0 um:zero minimum:10000 name:PM_INST_CMPL_GRP239 : (Group 239 pm_mrk_pteg1) Number of PowerPC Instructions that completed.
+event:0X0EF1 counters:1 um:zero minimum:1000 name:PM_MRK_PTEG_FROM_DMEM_GRP239 : (Group 239 pm_mrk_pteg1) A Page Table Entry was loaded into the ERAT from memory attached to a different module than this proccessor is located on due to a marked load or store.
+event:0X0EF2 counters:2 um:zero minimum:1000 name:PM_MRK_PTEG_FROM_L21_MOD_GRP239 : (Group 239 pm_mrk_pteg1) Marked PTEG loaded from another L2 on same chip modified
+event:0X0EF3 counters:3 um:zero minimum:1000 name:PM_MRK_PTEG_FROM_L21_SHR_GRP239 : (Group 239 pm_mrk_pteg1) Marked PTEG loaded from another L2 on same chip shared
+event:0X0EF4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP239 : (Group 239 pm_mrk_pteg1) Number of run instructions completed.
+event:0X0EF5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP239 : (Group 239 pm_mrk_pteg1) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 240 pm_mrk_pteg2, Marked PTEG
+event:0X0F00 counters:0 um:zero minimum:1000 name:PM_MRK_PTEG_FROM_L2_GRP240 : (Group 240 pm_mrk_pteg2) A Page Table Entry was loaded into the ERAT from the local L2 due to a marked load or store.
+event:0X0F01 counters:1 um:zero minimum:1000 name:PM_MRK_PTEG_FROM_RL2L3_SHR_GRP240 : (Group 240 pm_mrk_pteg2) A Page Table Entry was loaded into the ERAT from memory attached to a different module than this proccessor is located on due to a marked load or store.
+event:0X0F02 counters:2 um:zero minimum:1000 name:PM_MRK_PTEG_FROM_RMEM_GRP240 : (Group 240 pm_mrk_pteg2) A Page Table Entry was loaded into the ERAT. POWER6 does not have a TLB
+event:0X0F03 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP240 : (Group 240 pm_mrk_pteg2) Number of PowerPC Instructions that completed.
+event:0X0F04 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP240 : (Group 240 pm_mrk_pteg2) Number of run instructions completed.
+event:0X0F05 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP240 : (Group 240 pm_mrk_pteg2) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 241 pm_mrk_pteg3, Marked PTEG
+event:0X0F10 counters:0 um:zero minimum:10000 name:PM_INST_CMPL_GRP241 : (Group 241 pm_mrk_pteg3) Number of PowerPC Instructions that completed.
+event:0X0F11 counters:1 um:zero minimum:1000 name:PM_MRK_PTEG_FROM_L31_SHR_GRP241 : (Group 241 pm_mrk_pteg3) Marked PTEG loaded from another L3 on same chip shared
+event:0X0F12 counters:2 um:zero minimum:1000 name:PM_MRK_PTEG_FROM_L21_MOD_GRP241 : (Group 241 pm_mrk_pteg3) Marked PTEG loaded from another L2 on same chip modified
+event:0X0F13 counters:3 um:zero minimum:1000 name:PM_MRK_PTEG_FROM_DL2L3_MOD_GRP241 : (Group 241 pm_mrk_pteg3) A Page Table Entry was loaded into the ERAT with modified (M) data from an L2 or L3 on a distant module due to a marked load or store.
+event:0X0F14 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP241 : (Group 241 pm_mrk_pteg3) Number of run instructions completed.
+event:0X0F15 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP241 : (Group 241 pm_mrk_pteg3) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 242 pm_mrk_pteg4, Marked PTEG
+event:0X0F20 counters:0 um:zero minimum:1000 name:PM_MRK_PTEG_FROM_L31_MOD_GRP242 : (Group 242 pm_mrk_pteg4) Marked PTEG loaded from another L3 on same chip modified
+event:0X0F21 counters:1 um:zero minimum:1000 name:PM_MRK_PTEG_FROM_L3_GRP242 : (Group 242 pm_mrk_pteg4) A Page Table Entry was loaded into the ERAT from the local L3 due to a marked load or store.
+event:0X0F22 counters:2 um:zero minimum:10000 name:PM_INST_CMPL_GRP242 : (Group 242 pm_mrk_pteg4) Number of PowerPC Instructions that completed.
+event:0X0F23 counters:3 um:zero minimum:1000 name:PM_MRK_PTEG_FROM_L2MISS_GRP242 : (Group 242 pm_mrk_pteg4) A Page Table Entry was loaded into the ERAT but not from the local L2 due to a marked load or store.
+event:0X0F24 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP242 : (Group 242 pm_mrk_pteg4) Number of run instructions completed.
+event:0X0F25 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP242 : (Group 242 pm_mrk_pteg4) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 243 pm_mrk_pteg5, Marked PTEG
+event:0X0F30 counters:0 um:zero minimum:1000 name:PM_MRK_PTEG_FROM_RL2L3_MOD_GRP243 : (Group 243 pm_mrk_pteg5) A Page Table Entry was loaded into the ERAT with shared (T or SL) data from an L2 or L3 on a remote module due to a marked load or store.
+event:0X0F31 counters:1 um:zero minimum:1000 name:PM_MRK_PTEG_FROM_L3MISS_GRP243 : (Group 243 pm_mrk_pteg5) A Page Table Entry was loaded into the ERAT from beyond the L3 due to a marked load or store
+event:0X0F32 counters:2 um:zero minimum:10000 name:PM_INST_CMPL_GRP243 : (Group 243 pm_mrk_pteg5) Number of PowerPC Instructions that completed.
+event:0X0F33 counters:3 um:zero minimum:1000 name:PM_MRK_PTEG_FROM_LMEM_GRP243 : (Group 243 pm_mrk_pteg5) A Page Table Entry was loaded into the ERAT from memory attached to the same module this proccessor is located on due to a marked load or store.
+event:0X0F34 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP243 : (Group 243 pm_mrk_pteg5) Number of run instructions completed.
+event:0X0F35 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP243 : (Group 243 pm_mrk_pteg5) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 244 pm_mrk_misc1, Marked misc events
+event:0X0F40 counters:0 um:zero minimum:1000 name:PM_MRK_STCX_FAIL_GRP244 : (Group 244 pm_mrk_misc1) A marked stcx (stwcx or stdcx) failed
+event:0X0F41 counters:1 um:zero minimum:10000 name:PM_INST_CMPL_GRP244 : (Group 244 pm_mrk_misc1) Number of PowerPC Instructions that completed.
+event:0X0F42 counters:2 um:zero minimum:1000 name:PM_MRK_IFU_FIN_GRP244 : (Group 244 pm_mrk_misc1) The Instruction Fetch Unit finished a marked instruction.
+event:0X0F43 counters:3 um:zero minimum:1000 name:PM_MRK_INST_TIMEO_GRP244 : (Group 244 pm_mrk_misc1) The number of instructions finished since the last progress indicator from a marked instruction exceeded the threshold. The marked instruction was flushed.
+event:0X0F44 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP244 : (Group 244 pm_mrk_misc1) Number of run instructions completed.
+event:0X0F45 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP244 : (Group 244 pm_mrk_misc1) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 245 pm_mrk_misc2, Marked misc events
+event:0X0F50 counters:0 um:zero minimum:10000 name:PM_INST_CMPL_GRP245 : (Group 245 pm_mrk_misc2) Number of PowerPC Instructions that completed.
+event:0X0F51 counters:1 um:zero minimum:1000 name:PM_MRK_FXU_FIN_GRP245 : (Group 245 pm_mrk_misc2) One of the Fixed Point Units finished a marked instruction. Instructions that finish may not necessary complete.
+event:0X0F52 counters:2 um:zero minimum:1000 name:PM_MRK_IFU_FIN_GRP245 : (Group 245 pm_mrk_misc2) The Instruction Fetch Unit finished a marked instruction.
+event:0X0F53 counters:3 um:zero minimum:1000 name:PM_MRK_LSU_FIN_GRP245 : (Group 245 pm_mrk_misc2) One of the Load/Store Units finished a marked instruction. Instructions that finish may not necessary complete
+event:0X0F54 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP245 : (Group 245 pm_mrk_misc2) Number of run instructions completed.
+event:0X0F55 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP245 : (Group 245 pm_mrk_misc2) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 246 pm_mrk_misc3, Marked misc events
+event:0X0F60 counters:0 um:zero minimum:10000 name:PM_INST_CMPL_GRP246 : (Group 246 pm_mrk_misc3) Number of PowerPC Instructions that completed.
+event:0X0F61 counters:1 um:zero minimum:1000 name:PM_MRK_BRU_FIN_GRP246 : (Group 246 pm_mrk_misc3) The branch unit finished a marked instruction. Instructions that finish may not necessary complete.
+event:0X0F62 counters:2 um:zero minimum:1000 name:PM_MRK_LSU_PARTIAL_CDF_GRP246 : (Group 246 pm_mrk_misc3) A partial cacheline was returned from the L3 for a marked load
+event:0X0F63 counters:3 um:zero minimum:1000 name:PM_MRK_LSU_FIN_GRP246 : (Group 246 pm_mrk_misc3) One of the Load/Store Units finished a marked instruction. Instructions that finish may not necessary complete
+event:0X0F64 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP246 : (Group 246 pm_mrk_misc3) Number of run instructions completed.
+event:0X0F65 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP246 : (Group 246 pm_mrk_misc3) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 247 pm_mrk_misc4, Marked misc events
+event:0X0F70 counters:0 um:zero minimum:1000 name:PM_MRK_FIN_STALL_CYC_GRP247 : (Group 247 pm_mrk_misc4) Marked instruction Finish Stall cycles (marked finish after NTC)
+event:0X0F71 counters:1 um:zero minimum:10000 name:PM_INST_CMPL_GRP247 : (Group 247 pm_mrk_misc4) Number of PowerPC Instructions that completed.
+event:0X0F72 counters:2 um:zero minimum:1000 name:PM_MRK_VSU_FIN_GRP247 : (Group 247 pm_mrk_misc4) vsu (fpu) marked instr finish
+event:0X0F73 counters:3 um:zero minimum:1000 name:PM_MRK_GRP_IC_MISS_GRP247 : (Group 247 pm_mrk_misc4) A group containing a marked (sampled) instruction experienced an instruction cache miss.
+event:0X0F74 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP247 : (Group 247 pm_mrk_misc4) Number of run instructions completed.
+event:0X0F75 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP247 : (Group 247 pm_mrk_misc4) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 248 pm_mrk_misc5, Marked misc events
+event:0X0F80 counters:0 um:zero minimum:1000 name:PM_MRK_FIN_STALL_CYC_COUNT_GRP248 : (Group 248 pm_mrk_misc5) Marked instruction Finish Stall cycles (marked finish after NTC) (use edge detect to count #)
+event:0X0F81 counters:1 um:zero minimum:1000 name:PM_MRK_DFU_FIN_GRP248 : (Group 248 pm_mrk_misc5) The Decimal Floating Point Unit finished a marked instruction.
+event:0X0F82 counters:2 um:zero minimum:1000 name:PM_MRK_STALL_CMPLU_CYC_COUNT_GRP248 : (Group 248 pm_mrk_misc5) Marked Group Completion Stall cycles (use edge detect to count #)
+event:0X0F83 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP248 : (Group 248 pm_mrk_misc5) Number of PowerPC Instructions that completed.
+event:0X0F84 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP248 : (Group 248 pm_mrk_misc5) Number of run instructions completed.
+event:0X0F85 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP248 : (Group 248 pm_mrk_misc5) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 249 pm_mrk_misc6, Marked misc events
+event:0X0F90 counters:0 um:zero minimum:1000 name:PM_GRP_MRK_CYC_GRP249 : (Group 249 pm_mrk_misc6) cycles IDU marked instruction before dispatch
+event:0X0F91 counters:1 um:zero minimum:10000 name:PM_RUN_CYC_GRP249 : (Group 249 pm_mrk_misc6) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+event:0X0F92 counters:2 um:zero minimum:10000 name:PM_INST_CMPL_GRP249 : (Group 249 pm_mrk_misc6) Number of PowerPC Instructions that completed.
+event:0X0F93 counters:3 um:zero minimum:1000 name:PM_MRK_GRP_CMPL_GRP249 : (Group 249 pm_mrk_misc6) A group containing a sampled instruction completed. Microcoded instructions that span multiple groups will generate this event once per group.
+event:0X0F94 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP249 : (Group 249 pm_mrk_misc6) Number of run instructions completed.
+event:0X0F95 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP249 : (Group 249 pm_mrk_misc6) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 250 pm_mrk_misc7, Marked misc events
+event:0X0FA0 counters:0 um:zero minimum:1000 name:PM_MRK_LSU_REJECT_LHS_GRP250 : (Group 250 pm_mrk_misc7) The Load Store Unit rejected a marked load instruction that had an address overlap with an older store in the store queue. The store must be committed and de-allocated from the Store Queue before the load can execute successfully
+event:0X0FA1 counters:1 um:zero minimum:10000 name:PM_INST_CMPL_GRP250 : (Group 250 pm_mrk_misc7) Number of PowerPC Instructions that completed.
+event:0X0FA2 counters:2 um:zero minimum:1000 name:PM_MRK_LSU_REJECT_ERAT_MISS_GRP250 : (Group 250 pm_mrk_misc7) LSU marked reject due to ERAT (up to 2 per cycle)
+event:0X0FA3 counters:3 um:zero minimum:1000 name:PM_MRK_LSU_REJECT_GRP250 : (Group 250 pm_mrk_misc7) LSU marked reject (up to 2 per cycle)
+event:0X0FA4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP250 : (Group 250 pm_mrk_misc7) Number of run instructions completed.
+event:0X0FA5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP250 : (Group 250 pm_mrk_misc7) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
+
+#Group 251 pm_mrk_misc8, Marked misc events
+event:0X0FB0 counters:0 um:zero minimum:10000 name:PM_CYC_GRP251 : (Group 251 pm_mrk_misc8) Processor Cycles
+event:0X0FB1 counters:1 um:zero minimum:10000 name:PM_CYC_GRP251 : (Group 251 pm_mrk_misc8) Processor Cycles
+event:0X0FB2 counters:2 um:zero minimum:10000 name:PM_INST_CMPL_GRP251 : (Group 251 pm_mrk_misc8) Number of PowerPC Instructions that completed.
+event:0X0FB3 counters:3 um:zero minimum:1000 name:PM_MRK_LSU_FIN_GRP251 : (Group 251 pm_mrk_misc8) One of the Load/Store Units finished a marked instruction. Instructions that finish may not necessary complete
+event:0X0FB4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP251 : (Group 251 pm_mrk_misc8) Number of run instructions completed.
+event:0X0FB5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP251 : (Group 251 pm_mrk_misc8) Processor Cycles gated by the run latch. Operating systems use the run latch to indicate when they are doing useful work. The run latch is typically cleared in the OS idle loop. Gating by the run latch filters out the idle loop.
diff --git a/events/ppc64/power7/unit_masks b/events/ppc64/power7/unit_masks
new file mode 100644
index 0000000..ab55afa
--- /dev/null
+++ b/events/ppc64/power7/unit_masks
@@ -0,0 +1,9 @@
+#
+# Copyright OProfile authors
+# Copyright (c) International Business Machines, 2009.
+# Contributed by Maynard Johnson <maynardj@us.ibm.com>.
+#
+# ppc64 POWER7 possible unit masks
+#
+name:zero type:mandatory default:0x0
+ 0x0 No unit mask
diff --git a/events/rtc/events b/events/rtc/events
new file mode 100644
index 0000000..cce44b0
--- /dev/null
+++ b/events/rtc/events
@@ -0,0 +1,3 @@
+# RTC events
+#
+name:RTC_INTERRUPTS event:0xff counters:0 um:zero minimum:2 : RTC interrupts/sec (rounded up to power of two)
diff --git a/events/rtc/unit_masks b/events/rtc/unit_masks
new file mode 100644
index 0000000..6984b62
--- /dev/null
+++ b/events/rtc/unit_masks
@@ -0,0 +1,4 @@
+# RTC possible unit masks
+#
+name:zero type:mandatory default:0x0
+ 0x0 No unit mask
diff --git a/events/x86-64/family10/events b/events/x86-64/family10/events
new file mode 100644
index 0000000..753464d
--- /dev/null
+++ b/events/x86-64/family10/events
@@ -0,0 +1,241 @@
+# AMD Family 10 processor performance events
+#
+# Copyright OProfile authors
+# Copyright (c) 2006-2008 Advanced Micro Devices
+# Contributed by Ray Bryant <raybry at amd.com>,
+# Jason Yeh <jason.yeh at amd.com>
+# Suravee Suthikulpanit <suravee.suthikulpanit at amd.com>
+#
+# Sources: BIOS and Kernel Developer's Guide for AMD Family 10h Processors,
+# Publication# 31116, Revision 3.28, May 28, 2009
+#
+# Software Optimization Guide for AMD Family 10h Processors,
+# Publication# 40546, Revision 3.04, September 2007
+#
+# Revision: 1.3
+#
+# ChangeLog:
+# 1.3: 22 October 2009.
+# - Update from BKDG Rev 3.28 to Rev 3.34 (no change)
+# - Specify that event 4EDh is for Rev D only
+#
+# 1.2: 03 June 2009.
+# - Update from BKDG Rev 3.20 to Rev 3.28
+# - Add Event 4EDh
+# - Modify unitmasks for 4E0h-4E3h
+#
+# 1.1: 06 April 2009.
+# - Add IBS-derived events
+# - Update from BKDG Rev 3.00 to Rev 3.20
+# - Add Events 165h, 1c0h, 1cfh, 1d3h-1d5h
+#
+# Floating point events
+event:0x00 counters:0,1,2,3 um:fpu_ops minimum:500 name:DISPATCHED_FPU_OPS : Dispatched FPU ops
+event:0x01 counters:0,1,2,3 um:zero minimum:500 name:CYCLES_FPU_EMPTY : The number of cycles in which the PFU is empty
+event:0x02 counters:0,1,2,3 um:zero minimum:500 name:DISPATCHED_FPU_OPS_FAST_FLAG : The number of FPU operations that use the fast flag interface
+event:0x03 counters:0,1,2,3 um:sse_ops minimum:500 name:RETIRED_SSE_OPS : The number of SSE ops or uops retired
+event:0x04 counters:0,1,2,3 um:move_ops minimum:500 name:RETIRED_MOVE_OPS : The number of move uops retired
+event:0x05 counters:0,1,2,3 um:serial_ops minimum:500 name:RETIRED_SERIALIZING_OPS : The number of serializing uops retired.
+event:0x06 counters:0,1,2,3 um:serial_ops_sched minimum:500 name:SERIAL_UOPS_IN_FP_SCHED : Number of cycles a serializing uop is in the FP scheduler
+
+# Load, Store, and TLB events
+event:0x20 counters:0,1,2,3 um:segregload minimum:500 name:SEGMENT_REGISTER_LOADS : Segment register loads
+event:0x21 counters:0,1,2,3 um:zero minimum:500 name:PIPELINE_RESTART_DUE_TO_SELF_MODIFYING_CODE : Micro-architectural re-sync caused by self modifying code
+event:0x22 counters:0,1,2,3 um:zero minimum:500 name:PIPELINE_RESTART_DUE_TO_PROBE_HIT : Micro-architectural re-sync caused by snoop
+event:0x23 counters:0,1,2,3 um:zero minimum:500 name:LS_BUFFER_2_FULL_CYCLES : Cycles LS Buffer 2 Full
+event:0x24 counters:0,1,2,3 um:lock_ops minimum:500 name:LOCKED_OPS : Locked operations
+event:0x26 counters:0,1,2,3 um:zero minimum:500 name:RETIRED_CLFLUSH_INSTRUCTIONS : Retired CLFLUSH instructions
+event:0x27 counters:0,1,2,3 um:zero minimum:500 name:RETIRED_CPUID_INSTRUCTIONS : Retired CPUID instructions
+event:0x2a counters:0,1,2,3 um:store_to_load minimum:500 name:CANCELLED_STORE_TO_LOAD : Counts the number of cancelled store to load forward operations
+event:0x2b counters:0,1,2,3 um:zero minimum:500 name:SMIS_RECEIVED : Counts the number of SMIs received by the processor
+
+# Data Cache event
+event:0x40 counters:0,1,2,3 um:zero minimum:500 name:DATA_CACHE_ACCESSES : Data cache accesses
+event:0x41 counters:0,1,2,3 um:zero minimum:500 name:DATA_CACHE_MISSES : Data cache misses
+# Note: unit mask 0x01 counts same events as event select 0x43
+event:0x42 counters:0,1,2,3 um:moess minimum:500 name:DATA_CACHE_REFILLS_FROM_L2_OR_NORTHBRIDGE : Data cache refills from L2 or Northbridge
+event:0x43 counters:0,1,2,3 um:moesi minimum:500 name:DATA_CACHE_REFILLS_FROM_NORTHBRIDGE : Data cache refills from Northbridge
+event:0x44 counters:0,1,2,3 um:moesi_gh minimum:500 name:DATA_CACHE_LINES_EVICTED : Data cache lines evicted
+event:0x45 counters:0,1,2,3 um:l1_dtlb_miss_l2_hit minimum:500 name:L1_DTLB_MISS_AND_L2_DTLB_HIT : L1 DTLB miss and L2 DTLB hit
+event:0x46 counters:0,1,2,3 um:l1_l2_dtlb_miss minimum:500 name:L1_DTLB_AND_L2_DTLB_MISS : L1 DTLB and L2 DTLB miss
+event:0x47 counters:0,1,2,3 um:zero minimum:500 name:MISALIGNED_ACCESSES : Misaligned Accesses
+event:0x48 counters:0,1,2,3 um:zero minimum:500 name:MICRO_ARCH_LATE_CANCEL_ACCESS : Microarchitectural late cancel of an access
+event:0x49 counters:0,1,2,3 um:zero minimum:500 name:MICRO_ARCH_EARLY_CANCEL_ACCESS : Microarchitectural early cancel of an access
+event:0x4a counters:0,1,2,3 um:ecc minimum:500 name:1_BIT_ECC_ERRORS : Single-bit ECC errors recorded by scrubber
+event:0x4b counters:0,1,2,3 um:prefetch minimum:500 name:PREFETCH_INSTRUCTIONS_DISPATCHED : The number of prefetch instructions dispatched by the decoder
+event:0x4c counters:0,1,2,3 um:locked_instruction_dcache_miss minimum:500 name:LOCKED_INSTRUCTIONS_DCACHE_MISSES : The number of dta cache misses by locked instructions.
+event:0x4d counters:0,1,2,3 um:l1_dtlb_hit minimum:500 name:L1_DTLB_HIT : L1 DTLB hit
+event:0x52 counters:0,1,2,3 um:soft_prefetch minimum:500 name:INEFFECTIVE_SW_PREFETCHES : Number of software prefetches that did not fetch data outside of processor core
+event:0x54 counters:0,1,2,3 um:zero minimum:500 name:GLOBAL_TLB_FLUSHES : The number of global TLB flushes
+
+# L2 Cache and System Interface events
+event:0x65 counters:0,1,2,3 um:memreqtype minimum:500 name:MEMORY_REQUESTS : Memory requests by type
+event:0x67 counters:0,1,2,3 um:dataprefetch minimum:500 name:DATA_PREFETCHES : Data prefetcher
+event:0x6c counters:0,1,2,3 um:systemreadresponse minimum:500 name:NORTHBRIDGE_READ_RESPONSES : Northbridge read responses by coherency state
+event:0x6d counters:0,1,2,3 um:octword_transfer minimum:500 name:OCTWORD_WRITE_TRANSFERS : Octwords written to system
+event:0x76 counters:0,1,2,3 um:zero minimum:50000 name:CPU_CLK_UNHALTED : Cycles outside of halt state
+event:0x7d counters:0,1,2,3 um:l2_internal minimum:500 name:REQUESTS_TO_L2 : Requests to L2 Cache
+event:0x7e counters:0,1,2,3 um:l2_req_miss minimum:500 name:L2_CACHE_MISS : L2 cache misses
+event:0x7f counters:0,1,2,3 um:l2_fill minimum:500 name:L2_CACHE_FILL_WRITEBACK : L2 fill/writeback
+event:0x165 counters:0,1,2,3 um:page_size_mismatches minimum:500 name:PAGE_SIZE_MISMATCHES : Page Size Mismatches
+
+# Instruction Cache events
+event:0x80 counters:0,1,2,3 um:zero minimum:500 name:INSTRUCTION_CACHE_FETCHES : Instruction cache fetches (RevE)
+event:0x81 counters:0,1,2,3 um:zero minimum:500 name:INSTRUCTION_CACHE_MISSES : Instruction cache misses
+event:0x82 counters:0,1,2,3 um:zero minimum:500 name:INSTRUCTION_CACHE_REFILLS_FROM_L2 : Instruction cache refills from L2
+event:0x83 counters:0,1,2,3 um:zero minimum:500 name:INSTRUCTION_CACHE_REFILLS_FROM_SYSTEM : Instruction cache refills from system
+event:0x84 counters:0,1,2,3 um:zero minimum:500 name:L1_ITLB_MISS_AND_L2_ITLB_HIT : L1 ITLB miss and L2 ITLB hit
+event:0x85 counters:0,1,2,3 um:l1_l2_itlb_miss minimum:500 name:L1_ITLB_MISS_AND_L2_ITLB_MISS : L1 ITLB miss and L2 ITLB miss
+event:0x86 counters:0,1,2,3 um:zero minimum:500 name:PIPELINE_RESTART_DUE_TO_INSTRUCTION_STREAM_PROBE : Pipeline restart due to instruction stream probe
+event:0x87 counters:0,1,2,3 um:zero minimum:500 name:INSTRUCTION_FETCH_STALL : Instruction fetch stall
+event:0x88 counters:0,1,2,3 um:zero minimum:500 name:RETURN_STACK_HITS : Return stack hit
+event:0x89 counters:0,1,2,3 um:zero minimum:500 name:RETURN_STACK_OVERFLOWS : Return stack overflow
+event:0x8b counters:0,1,2,3 um:zero minimum:500 name:INSTRUCTION_CACHE_VICTIMS : Number of instruction cache lines evicticed to the L2 cache
+event:0x8c counters:0,1,2,3 um:icache_invalidated minimum:500 name:INSTRUCTION_CACHE_INVALIDATED : Instruction cache lines invalidated
+event:0x99 counters:0,1,2,3 um:zero minimum:500 name:ITLB_RELOADS : The number of ITLB reloads requests
+event:0x9a counters:0,1,2,3 um:zero minimum:500 name:ITLB_RELOADS_ABORTED : The number of ITLB reloads aborted
+
+# Execution Unit events
+event:0xc0 counters:0,1,2,3 um:zero minimum:50000 name:RETIRED_INSTRUCTIONS : Retired instructions (includes exceptions, interrupts, re-syncs)
+event:0xc1 counters:0,1,2,3 um:zero minimum:500 name:RETIRED_UOPS : Retired micro-ops
+event:0xc2 counters:0,1,2,3 um:zero minimum:500 name:RETIRED_BRANCH_INSTRUCTIONS : Retired branches (conditional, unconditional, exceptions, interrupts)
+event:0xc3 counters:0,1,2,3 um:zero minimum:500 name:RETIRED_MISPREDICTED_BRANCH_INSTRUCTIONS : Retired mispredicted branch instructions
+event:0xc4 counters:0,1,2,3 um:zero minimum:500 name:RETIRED_TAKEN_BRANCH_INSTRUCTIONS : Retired taken branch instructions
+event:0xc5 counters:0,1,2,3 um:zero minimum:500 name:RETIRED_TAKEN_BRANCH_INSTRUCTIONS_MISPREDICTED : Retired taken branches mispredicted
+event:0xc6 counters:0,1,2,3 um:zero minimum:500 name:RETIRED_FAR_CONTROL_TRANSFERS : Retired far control transfers
+event:0xc7 counters:0,1,2,3 um:zero minimum:500 name:RETIRED_BRANCH_RESYNCS : Retired branches resyncs (only non-control transfer branches)
+event:0xc8 counters:0,1,2,3 um:zero minimum:500 name:RETIRED_NEAR_RETURNS : Retired near returns
+event:0xc9 counters:0,1,2,3 um:zero minimum:500 name:RETIRED_NEAR_RETURNS_MISPREDICTED : Retired near returns mispredicted
+event:0xca counters:0,1,2,3 um:zero minimum:500 name:RETIRED_INDIRECT_BRANCHES_MISPREDICTED : Retired indirect branches mispredicted
+event:0xcb counters:0,1,2,3 um:fpu_instr minimum:500 name:RETIRED_MMX_FP_INSTRUCTIONS : Retired MMX/FP instructions
+event:0xcc counters:0,1,2,3 um:fpu_fastpath minimum:500 name:RETIRED_FASTPATH_DOUBLE_OP_INSTRUCTIONS : Retired FastPath double-op instructions
+event:0xcd counters:0,1,2,3 um:zero minimum:500 name:INTERRUPTS_MASKED_CYCLES : Cycles with interrupts masked (IF=0)
+event:0xce counters:0,1,2,3 um:zero minimum:500 name:INTERRUPTS_MASKED_CYCLES_WITH_INTERRUPT_PENDING : Cycles with interrupts masked while interrupt pending
+event:0xcf counters:0,1,2,3 um:zero minimum:500 name:INTERRUPTS_TAKEN : Number of taken hardware interrupts
+event:0xd0 counters:0,1,2,3 um:zero minimum:500 name:DECODER_EMPTY : Nothing to dispatch (decoder empty)
+event:0xd1 counters:0,1,2,3 um:zero minimum:500 name:DISPATCH_STALLS : Dispatch stalls
+event:0xd2 counters:0,1,2,3 um:zero minimum:500 name:DISPATCH_STALL_FOR_BRANCH_ABORT : Dispatch stall from branch abort to retire
+event:0xd3 counters:0,1,2,3 um:zero minimum:500 name:DISPATCH_STALL_FOR_SERIALIZATION : Dispatch stall for serialization
+event:0xd4 counters:0,1,2,3 um:zero minimum:500 name:DISPATCH_STALL_FOR_SEGMENT_LOAD : Dispatch stall for segment load
+event:0xd5 counters:0,1,2,3 um:zero minimum:500 name:DISPATCH_STALL_FOR_REORDER_BUFFER_FULL : Dispatch stall for reorder buffer full
+event:0xd6 counters:0,1,2,3 um:zero minimum:500 name:DISPATCH_STALL_FOR_RESERVATION_STATION_FULL : Dispatch stall when reservation stations are full
+event:0xd7 counters:0,1,2,3 um:zero minimum:500 name:DISPATCH_STALL_FOR_FPU_FULL : Dispatch stall when FPU is full
+event:0xd8 counters:0,1,2,3 um:zero minimum:500 name:DISPATCH_STALL_FOR_LS_FULL : Dispatch stall when LS is full
+event:0xd9 counters:0,1,2,3 um:zero minimum:500 name:DISPATCH_STALL_WAITING_FOR_ALL_QUIET : Dispatch stall when waiting for all to be quiet
+event:0xda counters:0,1,2,3 um:zero minimum:500 name:DISPATCH_STALL_FOR_FAR_TRANSFER_OR_RESYNC : Dispatch Stall for Far Transfer or Resync to Retire
+event:0xdb counters:0,1,2,3 um:fpu_exceptions minimum:500 name:FPU_EXCEPTIONS : FPU exceptions
+event:0xdc counters:0,1,2,3 um:zero minimum:500 name:DR0_BREAKPOINTS : The number of matches on the address in breakpoint register DR0
+event:0xdd counters:0,1,2,3 um:zero minimum:500 name:DR1_BREAKPOINTS : The number of matches on the address in breakpoint register DR1
+event:0xde counters:0,1,2,3 um:zero minimum:500 name:DR2_BREAKPOINTS : The number of matches on the address in breakpoint register DR2
+event:0xdf counters:0,1,2,3 um:zero minimum:500 name:DR3_BREAKPOINTS : The number of matches on the address in breakpoint register DR3
+event:0x1c0 counters:0,1,2,3 um:retired_x87_fp minimum:500 name:RETIRED_X87_FLOATING_POINT_OPERATIONS : Retired x87 Floating Point Operations (RevC and later)
+event:0x1cf counters:0,1,2,3 um:zero minimum:50000 name:IBS_OPS_TAGGED : IBS Ops Tagged (RevC and later)
+event:0x1d3 counters:0,1,2,3 um:zero minimum:500 name:LFENCE_INSTRUCTIONS_RETIRED : LFENCE Instructions Retired (RevC and later)
+event:0x1d4 counters:0,1,2,3 um:zero minimum:500 name:SFENCE_INSTRUCTIONS_RETIRED : SFENCE Instructions Retired (RevC and later)
+event:0x1d5 counters:0,1,2,3 um:zero minimum:500 name:MFENCE_INSTRUCTIONS_RETIRED : MFENCE Instructions Retired (RevC and later)
+
+# Memory Controler events
+event:0xe0 counters:0,1,2,3 um:page_access minimum:500 name:DRAM_ACCESSES : DRAM accesses
+event:0xe1 counters:0,1,2,3 um:mem_page_overflow minimum:500 name:MEMORY_CONTROLLER_PAGE_TABLE_OVERFLOWS : Memory controller page table overflows
+event:0xe2 counters:0,1,2,3 um:slot_missed minimum:500 name:MEMORY_CONTROLLER_SLOT_MISSED : Memory controller DRAM command slots missed
+event:0xe3 counters:0,1,2,3 um:turnaround minimum:500 name:MEMORY_CONTROLLER_TURNAROUNDS : Memory controller turnarounds
+event:0xe4 counters:0,1,2,3 um:saturation minimum:500 name:MEMORY_CONTROLLER_BYPASS_COUNTER_SATURATION : Memory controller bypass saturation
+event:0xe8 counters:0,1,2,3 um:thermal_status minimum:500 name:THERMAL_STATUS : Thermal status
+event:0xe9 counters:0,1,2,3 um:cpiorequests minimum:500 name:CPU_IO_REQUESTS_TO_MEMORY_IO : CPU/IO Requests to Memory/IO
+event:0xea counters:0,1,2,3 um:cacheblock minimum:500 name:CACHE_BLOCK_COMMANDS : Cache block commands
+event:0xeb counters:0,1,2,3 um:sizecmds minimum:500 name:SIZED_COMMANDS : Sized commands
+event:0xec counters:0,1,2,3 um:probe minimum:500 name:PROBE_RESPONSES_AND_UPSTREAM_REQUESTS : Probe responses and upstream requests
+event:0xee counters:0,1,2,3 um:gart minimum:500 name:GART_EVENTS : GART events
+event:0x1f0 counters:0,1,2,3 um:mem_control_request minimum:500 name:MEMORY_CONTROLLER_REQUESTS : Sized read/write activity.
+
+# Crossbar events
+event:0x1e0 counters:0,1,2,3 um:cpu_dram_req minimum:500 name:CPU_DRAM_REQUEST_TO_NODE : CPU to DRAM requests to target node
+event:0x1e1 counters:0,1,2,3 um:io_dram_req minimum:500 name:IO_DRAM_REQUEST_TO_NODE : IO to DRAM requests to target node
+event:0x1e2 counters:0,1,2,3 um:cpu_read_lat_0_3 minimum:500 name:CPU_READ_COMMAND_LATENCY_NODE_0_3 : Latency between the local node and remote node
+event:0x1e3 counters:0,1,2,3 um:cpu_read_lat_0_3 minimum:500 name:CPU_READ_COMMAND_REQUEST_NODE_0_3 : Number of requests that a latency measurement is made for Event 0x1E2
+event:0x1e4 counters:0,1,2,3 um:cpu_read_lat_4_7 minimum:500 name:CPU_READ_COMMAND_LATENCY_NODE_4_7 : Latency between the local node and remote node
+event:0x1e5 counters:0,1,2,3 um:cpu_read_lat_4_7 minimum:500 name:CPU_READ_COMMAND_REQUEST_NODE_4_7 : Number of requests that a latency measurement is made for Event 0x1E2
+event:0x1e6 counters:0,1,2,3 um:cpu_comm_lat minimum:500 name:CPU_COMMAND_LATENCY_TARGET : Determine latency between the local node and a remote node.
+event:0x1e7 counters:0,1,2,3 um:cpu_comm_lat minimum:500 name:CPU_REQUEST_TARGET : Number of requests that a latency measurement is made for Event 0x1E6
+
+# Link events
+event:0xf6 counters:0,1,2,3 um:httransmit minimum:500 name:HYPERTRANSPORT_LINK0_TRANSMIT_BANDWIDTH : HyperTransport(tm) link 0 transmit bandwidth
+event:0xf7 counters:0,1,2,3 um:httransmit minimum:500 name:HYPERTRANSPORT_LINK1_TRANSMIT_BANDWIDTH : HyperTransport(tm) link 1 transmit bandwidth
+event:0xf8 counters:0,1,2,3 um:httransmit minimum:500 name:HYPERTRANSPORT_LINK2_TRANSMIT_BANDWIDTH : HyperTransport(tm) link 2 transmit bandwidth
+event:0x1f9 counters:0,1,2,3 um:httransmit minimum:500 name:HYPERTRANSPORT_LINK3_TRANSMIT_BANDWIDTH : HyperTransport(tm) link 3 transmit bandwidth
+
+# L3 Cache events
+event:0x4e0 counters:0,1,2,3 um:l3_cache minimum:500 name:READ_REQUEST_L3_CACHE : Number of read requests from each core to L3 cache
+event:0x4e1 counters:0,1,2,3 um:l3_cache minimum:500 name:L3_CACHE_MISSES : Number of L3 cache misses from each core
+event:0x4e2 counters:0,1,2,3 um:l3_fill minimum:500 name:L3_FILLS_CAUSED_BY_L2_EVICTIONS : Number of L3 fills caused by L2 evictions per core
+event:0x4e3 counters:0,1,2,3 um:l3_evict minimum:500 name:L3_EVICTIONS : Number of L3 cache line evictions by cache state
+event:0x4ed counters:0,1,2,3 um:non_cancelled_l3_read_requests minimum:500 name:NON_CANCELLED_L3_READ_REQUESTS : Non-cancelled L3 Read Requests (Rev D)
+
+###############################
+# IBS FETCH EVENTS
+###############################
+event:0xf000 ext:ibs_fetch um:zero minimum:50000 name:IBS_FETCH_ALL : All IBS fetch samples
+event:0xf001 ext:ibs_fetch um:zero minimum:50000 name:IBS_FETCH_KILLED : IBS fetch killed
+event:0xf002 ext:ibs_fetch um:zero minimum:50000 name:IBS_FETCH_ATTEMPTED : IBS fetch attempted
+event:0xf003 ext:ibs_fetch um:zero minimum:50000 name:IBS_FETCH_COMPLETED : IBS fetch completed
+event:0xf004 ext:ibs_fetch um:zero minimum:50000 name:IBS_FETCH_ABORTED : IBS fetch aborted
+event:0xf005 ext:ibs_fetch um:zero minimum:50000 name:IBS_FETCH_ITLB_HITS : IBS ITLB hit
+event:0xf006 ext:ibs_fetch um:zero minimum:50000 name:IBS_FETCH_L1_ITLB_MISSES_L2_ITLB_HITS : IBS L1 ITLB misses (and L2 ITLB hits)
+event:0xf007 ext:ibs_fetch um:zero minimum:50000 name:IBS_FETCH_L1_ITLB_MISSES_L2_ITLB_MISSES : IBS L1 L2 ITLB miss
+event:0xf008 ext:ibs_fetch um:zero minimum:50000 name:IBS_FETCH_ICACHE_MISSES : IBS Instruction cache misses
+event:0xf009 ext:ibs_fetch um:zero minimum:50000 name:IBS_FETCH_ICACHE_HITS : IBS Instruction cache hit
+event:0xf00A ext:ibs_fetch um:zero minimum:50000 name:IBS_FETCH_4K_PAGE : IBS 4K page translation
+event:0xf00B ext:ibs_fetch um:zero minimum:50000 name:IBS_FETCH_2M_PAGE : IBS 2M page translation
+#
+event:0xf00E ext:ibs_fetch um:zero minimum:50000 name:IBS_FETCH_LATENCY : IBS fetch latency
+
+###############################
+# IBS OP EVENTS
+###############################
+event:0xf100 ext:ibs_op um:ibs_op minimum:50000 name:IBS_OP_ALL : All IBS op samples
+event:0xf101 ext:ibs_op um:ibs_op minimum:50000 name:IBS_OP_TAG_TO_RETIRE : IBS tag-to-retire cycles
+event:0xf102 ext:ibs_op um:ibs_op minimum:50000 name:IBS_OP_COMP_TO_RET : IBS completion-to-retire cycles
+event:0xf103 ext:ibs_op um:ibs_op minimum:50000 name:IBS_OP_BRANCH_RETIRED : IBS branch op
+event:0xf104 ext:ibs_op um:ibs_op minimum:50000 name:IBS_OP_MISPREDICTED_BRANCH : IBS mispredicted branch op
+event:0xf105 ext:ibs_op um:ibs_op minimum:50000 name:IBS_OP_TAKEN_BRANCH : IBS taken branch op
+event:0xf106 ext:ibs_op um:ibs_op minimum:50000 name:IBS_OP_MISPREDICTED_BRANCH_TAKEN : IBS mispredicted taken branch op
+event:0xf107 ext:ibs_op um:ibs_op minimum:50000 name:IBS_OP_RETURNS : IBS return op
+event:0xf108 ext:ibs_op um:ibs_op minimum:50000 name:IBS_OP_MISPREDICTED_RETURNS : IBS mispredicted return op
+event:0xf109 ext:ibs_op um:ibs_op minimum:50000 name:IBS_OP_RESYNC : IBS resync op
+event:0xf200 ext:ibs_op um:ibs_op minimum:50000 name:IBS_OP_ALL_LOAD_STORE : IBS all load store ops
+event:0xf201 ext:ibs_op um:ibs_op minimum:50000 name:IBS_OP_LOAD : IBS load ops
+event:0xf202 ext:ibs_op um:ibs_op minimum:50000 name:IBS_OP_STORE : IBS store ops
+event:0xf203 ext:ibs_op um:ibs_op minimum:50000 name:IBS_OP_L1_DTLB_HITS : IBS L1 DTLB hit
+event:0xf204 ext:ibs_op um:ibs_op minimum:50000 name:IBS_OP_L1_DTLB_MISS_L2_DTLB_HIT : IBS L1 DTLB misses L2 hits
+event:0xf205 ext:ibs_op um:ibs_op minimum:50000 name:IBS_OP_L1_L2_DTLB_MISS : IBS L1 and L2 DTLB misses
+event:0xf206 ext:ibs_op um:ibs_op minimum:50000 name:IBS_OP_DATA_CACHE_MISS : IBS data cache misses
+event:0xf207 ext:ibs_op um:ibs_op minimum:50000 name:IBS_OP_DATA_HITS : IBS data cache hits
+event:0xf208 ext:ibs_op um:ibs_op minimum:50000 name:IBS_OP_MISALIGNED_DATA_ACC : IBS misaligned data access
+event:0xf209 ext:ibs_op um:ibs_op minimum:50000 name:IBS_OP_BANK_CONF_LOAD : IBS bank conflict on load op
+event:0xf20A ext:ibs_op um:ibs_op minimum:50000 name:IBS_OP_BANK_CONF_STORE : IBS bank conflict on store op
+event:0xf20B ext:ibs_op um:ibs_op minimum:50000 name:IBS_OP_FORWARD : IBS store-to-load forwarded
+event:0xf20C ext:ibs_op um:ibs_op minimum:50000 name:IBS_OP_CANCELLED : IBS store-to-load cancelled
+event:0xf20D ext:ibs_op um:ibs_op minimum:50000 name:IBS_OP_DCUC_MEM_ACC : IBS UC memory access
+event:0xf20E ext:ibs_op um:ibs_op minimum:50000 name:IBS_OP_DCWC_MEM_ACC : IBS WC memory access
+event:0xf20F ext:ibs_op um:ibs_op minimum:50000 name:IBS_OP_LOCKED : IBS locked operation
+event:0xf210 ext:ibs_op um:ibs_op minimum:50000 name:IBS_OP_MAB_HIT : IBS MAB hit
+event:0xf211 ext:ibs_op um:ibs_op minimum:50000 name:IBS_OP_L1_DTLB_4K : IBS L1 DTLB 4K page
+event:0xf212 ext:ibs_op um:ibs_op minimum:50000 name:IBS_OP_L1_DTLB_2M : IBS L1 DTLB 2M page
+event:0xf213 ext:ibs_op um:ibs_op minimum:50000 name:IBS_OP_L1_DTLB_1G : IBS L1 DTLB 1G page
+event:0xf215 ext:ibs_op um:ibs_op minimum:50000 name:IBS_OP_L2_DTLB_4K : IBS L2 DTLB 4K page
+event:0xf216 ext:ibs_op um:ibs_op minimum:50000 name:IBS_OP_L2_DTLB_2M : IBS L2 DTLB 2M page
+event:0xf217 ext:ibs_op um:ibs_op minimum:50000 name:IBS_OP_L2_DTLB_1G : IBS L2 DTLB 1G page
+event:0xf219 ext:ibs_op um:ibs_op minimum:50000 name:IBS_OP_DC_LOAD_LAT : IBS data cache miss load latency
+event:0xf240 ext:ibs_op um:ibs_op minimum:50000 name:IBS_OP_NB_LOCAL_ONLY : IBS northbridge local
+event:0xf241 ext:ibs_op um:ibs_op minimum:50000 name:IBS_OP_NB_REMOTE_ONLY : IBS northbridge remote
+event:0xf242 ext:ibs_op um:ibs_op minimum:50000 name:IBS_OP_NB_LOCAL_L3 : IBS northbridge local L3
+event:0xf243 ext:ibs_op um:ibs_op minimum:50000 name:IBS_OP_NB_LOCAL_CACHE : IBS northbridge local core L1 or L2 cache
+event:0xf244 ext:ibs_op um:ibs_op minimum:50000 name:IBS_OP_NB_REMOTE_CACHE : IBS northbridge local core L1, L2, L3 cache
+event:0xf245 ext:ibs_op um:ibs_op minimum:50000 name:IBS_OP_NB_LOCAL_DRAM : IBS northbridge local DRAM
+event:0xf246 ext:ibs_op um:ibs_op minimum:50000 name:IBS_OP_NB_REMOTE_DRAM : IBS northbridge remote DRAM
+event:0xf247 ext:ibs_op um:ibs_op minimum:50000 name:IBS_OP_NB_LOCAL_OTHER : IBS northbridge local APIC MMIO Config PCI
+event:0xf248 ext:ibs_op um:ibs_op minimum:50000 name:IBS_OP_NB_REMOTE_OTHER : IBS northbridge remote APIC MMIO Config PCI
+event:0xf249 ext:ibs_op um:ibs_op minimum:50000 name:IBS_OP_NB_CACHE_MODIFIED : IBS northbridge cache modified state
+event:0xf24A ext:ibs_op um:ibs_op minimum:50000 name:IBS_OP_NB_CACHE_OWNED : IBS northbridge cache owned state
+event:0xf24B ext:ibs_op um:ibs_op minimum:50000 name:IBS_OP_NB_LOCAL_CACHE_LAT : IBS northbridge local cache latency
+event:0xf24C ext:ibs_op um:ibs_op minimum:50000 name:IBS_OP_NB_REMOTE_CACHE_LAT : IBS northbridge remote cache latency
diff --git a/events/x86-64/family10/unit_masks b/events/x86-64/family10/unit_masks
new file mode 100644
index 0000000..1eeef18
--- /dev/null
+++ b/events/x86-64/family10/unit_masks
@@ -0,0 +1,374 @@
+#
+# AMD Family 10 processor unit masks
+#
+# Copyright OProfile authors
+# Copyright (c) 2006-2008 Advanced Micro Devices
+# Contributed by Ray Bryant <raybry at amd.com>,
+# Jason Yeh <jason.yeh at amd.com>
+# Suravee Suthikulpanit <suravee.suthikulpanit at amd.com>
+#
+# Sources: BIOS and Kernel Developer's Guide for AMD Family 10h Processors,
+# Publication# 31116, Revision 3.34, September 2009
+#
+# Software Optimization Guide for AMD Family 10h Processors,
+# Publication# 40546, Revision 3.04, September 2007
+#
+# Revision: 1.3
+#
+# ChangeLog:
+# 1.3: 22 October 2009.
+# - Update from BKDG Rev 3.28 to Rev 3.34 (no change)
+# - Modify unitmasks l3_evict
+#
+# 1.2: 03 June 2009.
+# - Update from BKDG Rev 3.20 to Rev 3.28
+# - Add Event 4EDh
+# - Modify unitmasks for 4E0h-4E3h
+#
+# 1.1: 06 April 2009.
+# - Add IBS-derived events
+# - Update from BKDG Rev 3.00 to Rev 3.20
+# - Add Events 165h, 1c0h, 1cfh, 1d3h-1d5h
+#
+name:zero type:mandatory default:0x0
+ 0x0 No unit mask
+name:moesi type:bitmask default:0x1f
+ 0x01 (I)nvalid cache state
+ 0x02 (S)hared cache state
+ 0x04 (E)xclusive cache state
+ 0x08 (O)wner cache state
+ 0x10 (M)odified cache state
+ 0x1f All cache states
+name:moess type:bitmask default:0x1e
+ 0x01 Refill from northbridge
+ 0x02 Shared-state line from L2
+ 0x04 Exclusive-state line from L2
+ 0x08 Owner-state line from L2
+ 0x10 Modified-state line from L2
+ 0x1e All cache states except refill from northbridge
+name:fpu_ops type:bitmask default:0x3f
+ 0x01 Add pipe ops excluding load ops and SSE move ops
+ 0x02 Multiply pipe ops excluding load ops and SSE move ops
+ 0x04 Store pipe ops excluding load ops and SSE move ops
+ 0x08 Add pipe load ops and SSE move ops
+ 0x10 Multiply pipe load ops and SSE move ops
+ 0x20 Store pipe load ops and SSE move ops
+ 0x3f All ops
+name:segregload type:bitmask default:0x7f
+ 0x01 ES register
+ 0x02 CS register
+ 0x04 SS register
+ 0x08 DS register
+ 0x10 FS register
+ 0x20 GS register
+ 0x40 HS register
+name:fpu_instr type:bitmask default:0x07
+ 0x01 x87 instructions
+ 0x02 MMX & 3DNow instructions
+ 0x04 SSE instructions (SSE, SSE2, SSE3, and SSE4A)
+name:fpu_fastpath type:bitmask default:0x07
+ 0x01 With low op in position 0
+ 0x02 With low op in position 1
+ 0x04 With low op in position 2
+name:fpu_exceptions type:bitmask default:0x0f
+ 0x01 x87 reclass microfaults
+ 0x02 SSE retype microfaults
+ 0x04 SSE reclass microfaults
+ 0x08 SSE and x87 microtraps
+name:page_access type:bitmask default:0x3f
+ 0x01 DCT0 Page hit
+ 0x02 DCT0 Page miss
+ 0x04 DCT0 Page conflict
+ 0x08 DCT1 Page hit
+ 0x10 DCT1 Page miss
+ 0x20 DCT1 Page Conflict
+name:mem_page_overflow type:bitmask default:0x03
+ 0x01 DCT0 Page Table Overflow
+ 0x02 DCT1 Page Table Overflow
+name:turnaround type:bitmask default:0x3f
+ 0x01 DCT0 DIMM (chip select) turnaround
+ 0x02 DCT0 Read to write turnaround
+ 0x04 DCT0 Write to read turnaround
+ 0x08 DCT1 DIMM (chip select) turnaround
+ 0x10 DCT1 Read to write turnaround
+ 0x20 DCT1 Write to read turnaround
+name:saturation type:bitmask default:0x0f
+ 0x01 Memory controller high priority bypass
+ 0x02 Memory controller medium priority bypass
+ 0x04 DCT0 DCQ bypass
+ 0x08 DCT1 DCQ bypass
+name:slot_missed type:bitmask default:0x03
+ 0x01 DCT0 Command slots missed
+ 0x02 DCT2 Command slots missed
+name:sizecmds type:bitmask default:0x3f
+ 0x01 Non-posted write byte (1-32 bytes)
+ 0x02 Non-posted write DWORD (1-16 DWORDs)
+ 0x04 Posted write byte (1-32 bytes)
+ 0x08 Posted write DWORD (1-16 DWORDs)
+ 0x10 Read byte (4 bytes)
+ 0x20 Read DWORD (1-16 DWORDs)
+name:probe type:bitmask default:0xff
+ 0x01 Probe miss
+ 0x02 Probe hit clean
+ 0x04 Probe hit dirty without memory cancel
+ 0x08 Probe hit dirty with memory cancel
+ 0x10 Upstream display refresh/ISOC reads
+ 0x20 Upstream non-display refresh reads
+ 0x40 Upstream ISOC writes
+ 0x80 Upstream non-ISOC writes
+name:l2_internal type:bitmask default:0x3f
+ 0x01 IC fill
+ 0x02 DC fill
+ 0x04 TLB fill (page table walks)
+ 0x08 Tag snoop request
+ 0x10 Canceled request
+ 0x20 Hardware prefetch from data cache
+name:l2_req_miss type:bitmask default:0x0f
+ 0x01 IC fill
+ 0x02 DC fill (includes possible replays)
+ 0x04 TLB page table walk
+ 0x08 Hardware prefetch from data cache
+name:l2_fill type:bitmask default:0x03
+ 0x01 L2 fills (victims from L1 caches, TLB page table walks and data prefetches)
+ 0x02 L2 writebacks to system
+name:gart type:bitmask default:0xff
+ 0x01 GART aperture hit on access from CPU
+ 0x02 GART aperture hit on access from I/O
+ 0x04 GART miss
+ 0x08 GART/DEV request hit table walk in progress
+ 0x10 DEV hit
+ 0x20 DEV miss
+ 0x40 DEV error
+ 0x80 GART/DEV multiple table walk in progress
+name:cpiorequests type:bitmask default:0xa2
+ 0xa1 Requests Local I/O to Local I/O
+ 0xa2 Requests Local I/O to Local Memory
+ 0xa3 Requests Local I/O to Local (I/O or Mem)
+ 0xa4 Requests Local CPU to Local I/O
+ 0xa5 Requests Local (CPU or I/O) to Local I/O
+ 0xa8 Requests Local CPU to Local Memory
+ 0xaa Requests Local (CPU or I/O) to Local Memory
+ 0xac Requests Local CPU to Local (I/O or Mem)
+ 0xaf Requests Local (CPU or I/O) to Local (I/O or Mem)
+ 0x91 Requests Local I/O to Remote I/O
+ 0x92 Requests Local I/O to Remote Memory
+ 0x93 Requests Local I/O to Remote (I/O or Mem)
+ 0x94 Requests Local CPU to Remote I/O
+ 0x95 Requests Local (CPU or I/O) to Remote I/O
+ 0x98 Requests Local CPU to Remote Memory
+ 0x9a Requests Local (CPU or I/O) to Remote Memory
+ 0x9c Requests Local CPU to Remote (I/O or Mem)
+ 0x9f Requests Local (CPU or I/O) to Remote (I/O or Mem)
+ 0xb1 Requests Local I/O to Any I/O
+ 0xb2 Requests Local I/O to Any Memory
+ 0xb3 Requests Local I/O to Any (I/O or Mem)
+ 0xb4 Requests Local CPU to Any I/O
+ 0xb5 Requests Local (CPU or I/O) to Any I/O
+ 0xb8 Requests Local CPU to Any Memory
+ 0xba Requests Local (CPU or I/O) to Any Memory
+ 0xbc Requests Local CPU to Any (I/O or Mem)
+ 0xbf Requests Local (CPU or I/O) to Any (I/O or Mem)
+ 0x61 Requests Remote I/O to Local I/O
+ 0x64 Requests Remote CPU to Local I/O
+ 0x65 Requests Remote (CPU or I/O) to Local I/O
+name:cacheblock type:bitmask default:0x3d
+ 0x01 Victim Block (Writeback)
+ 0x04 Read Block (Dcache load miss refill)
+ 0x08 Read Block Shared (Icache refill)
+ 0x10 Read Block Modified (Dcache store miss refill)
+ 0x20 Change-to-Dirty (first store to clean block already in cache)
+name:dataprefetch type:bitmask default:0x03
+ 0x01 Cancelled prefetches
+ 0x02 Prefetch attempts
+name:memreqtype type:bitmask default:0x83
+ 0x01 Requests to non-cacheable (UC) memory
+ 0x02 Requests to write-combining (WC) memory or WC buffer flushes to WB memory
+ 0x80 Streaming store (SS) requests
+name:systemreadresponse type:bitmask default:0x1f
+ 0x01 Exclusive
+ 0x02 Modified
+ 0x04 Shared
+ 0x08 Owned
+ 0x10 Data Error
+name:l1_dtlb_miss_l2_hit type:bitmask default:0x07
+ 0x01 L2 4K TLB hit
+ 0x02 L2 2M TLB hit
+ 0x04 L2 1G TLB hit (RevC)
+name:l1_l2_dtlb_miss type:bitmask default:0x07
+ 0x01 4K TLB reload
+ 0x02 2M TLB reload
+ 0x04 1G TLB reload
+name:ecc type:bitmask default:0x0f
+ 0x01 Scrubber error
+ 0x02 Piggyback scrubber errors
+ 0x04 Load pipe error
+ 0x08 Store write pip error
+name:prefetch type:bitmask default:0x07
+ 0x01 Load (Prefetch, PrefetchT0/T1/T2)
+ 0x02 Store (PrefetchW)
+ 0x04 NTA (PrefetchNTA)
+name:locked_instruction_dcache_miss type:bitmask default:0x02
+ 0x02 Data cache misses by locked instructions
+name:octword_transfer type:bitmask default:0x01
+ 0x01 Octword write transfer
+name:thermal_status type:bitmask default:0x7c
+ 0x04 Number of times the HTC trip point is crossed
+ 0x08 Number of clocks when STC trip point active
+ 0x10 Number of times the STC trip point is crossed
+ 0x20 Number of clocks HTC P-state is inactive
+ 0x40 Number of clocks HTC P-state is active
+name:mem_control_request type:bitmask default:0x78
+ 0x01 Write requests
+ 0x02 Read Requests including Prefetch
+ 0x04 Prefetch Request
+ 0x08 32 Bytes Sized Writes
+ 0x10 64 Bytes Sized Writes
+ 0x20 32 Bytes Sized Reads
+ 0x40 64 Byte Sized Reads
+ 0x80 Read requests sent to the DCT while write requests are pending in the DCQ
+name:httransmit type:bitmask default:0xbf
+ 0x01 Command DWORD sent
+ 0x02 Data DWORD sent
+ 0x04 Buffer release DWORD sent
+ 0x08 Nop DW sent (idle)
+ 0x10 Address DWORD sent
+ 0x20 Per packet CRC sent
+ 0x80 SubLink Mask
+name:lock_ops type:bitmask default:0x0f
+ 0x01 Number of locked instructions executed
+ 0x02 Cycles in speculative phase
+ 0x04 Cycles in non-speculative phase (including cache miss penalty)
+ 0x08 Cache miss penalty in cycles
+name:sse_ops type:bitmask default:0x7f
+ 0x01 Single Precision add/subtract ops
+ 0x02 Single precision multiply ops
+ 0x04 Single precision divide/square root ops
+ 0x08 Double precision add/subtract ops
+ 0x10 Double precision multiply ops
+ 0x20 Double precision divide/square root ops
+ 0x40 OP type: 0=uops 1=FLOPS
+name:move_ops type:bitmask default:0x0f
+ 0x01 Merging low quadword move uops
+ 0x02 Merging high quadword move uops
+ 0x04 All other merging move uops
+ 0x08 All other move uops
+name:serial_ops type:bitmask default:0x0f
+ 0x01 SSE bottom-executing uops retired
+ 0x02 SSE bottom-serializing uops retired
+ 0x04 x87 bottom-executing uops retired
+ 0x08 x87 bottom-serializing uops retired
+name:serial_ops_sched type:bitmask default:0x03
+ 0x01 Number of cycles a bottom-execute uops in FP scheduler
+ 0x02 Number of cycles a bottom-serializing uops in FP scheduler
+name:store_to_load type:bitmask default:0x07
+ 0x01 Address mismatches (starting byte not the same)
+ 0x02 Store is smaller than load
+ 0x04 Misaligned
+name:moesi_gh type:bitmask default:0x1f
+ 0x01 (I)nvalid cache state
+ 0x02 (S)hared cache state
+ 0x04 (E)xclusive cache state
+ 0x08 (O)wner cache state
+ 0x10 (M)odified cache state
+ 0x20 Cache line evicted brought into the cache by PrefetchNTA
+ 0x40 Cache line evicted not brought into the cache by PrefetchNTA
+name:l1_dtlb_hit type:bitmask default:0x07
+ 0x01 L1 4K TLB hit
+ 0x02 L1 2M TLB hit
+ 0x04 L1 1G TLB hit
+name:soft_prefetch type:bitmask default:0x09
+ 0x01 Software prefetch hit in L1
+ 0x08 Software prefetch hit in L2
+name:l1_l2_itlb_miss type:bitmask default:0x03
+ 0x01 Instruction fetches to a 4K page
+ 0x02 Instruction fetches to a 2M page
+name:cpu_dram_req type:bitmask default:0xff
+ 0x01 From local node to node 0
+ 0x02 From local node to node 1
+ 0x04 From local node to node 2
+ 0x08 From local node to node 3
+ 0x10 From local node to node 4
+ 0x20 From local node to node 5
+ 0x40 From local node to node 6
+ 0x80 From local node to node 7
+name:io_dram_req type:bitmask default:0xff
+ 0x01 From local node to node 0
+ 0x02 From local node to node 1
+ 0x04 From local node to node 2
+ 0x08 From local node to node 3
+ 0x10 From local node to node 4
+ 0x20 From local node to node 5
+ 0x40 From local node to node 6
+ 0x80 From local node to node 7
+name:cpu_read_lat_0_3 type:bitmask default:0xff
+ 0x01 Read block
+ 0x02 Read block shared
+ 0x04 Read block modified
+ 0x08 Change-to-Dirty
+ 0x10 From local node to node 0
+ 0x20 From local node to node 1
+ 0x40 From local node to node 2
+ 0x80 From local node to node 3
+name:cpu_read_lat_4_7 type:bitmask default:0xff
+ 0x01 Read block
+ 0x02 Read block shared
+ 0x04 Read block modified
+ 0x08 Change-to-Dirty
+ 0x10 From local node to node 4
+ 0x20 From local node to node 5
+ 0x40 From local node to node 6
+ 0x80 From local node to node 7
+name:cpu_comm_lat type:bitmask default:0xf7
+ 0x01 Read sized
+ 0x02 Write sized
+ 0x04 Victim block
+ 0x08 Node group select: 0=Nodes 0-3, 1=Nodes 4-7
+ 0x10 From local node to node 0/4
+ 0x20 From local node to node 1/5
+ 0x40 From local node to node 2/6
+ 0x80 From local node to node 3/7
+name:l3_cache type:bitmask default:0xf7
+ 0x01 Read block Exclusive (Data cache read)
+ 0x02 Read block Shared (Instruciton cache read)
+ 0x04 Read block Modify
+ 0x10 Reserved (Must be selected)
+ 0x20 Reserved (Must be selected)
+ 0x40 Reserved (Must be selected)
+ 0x80 Reserved (Must be selected)
+name:l3_fill type:bitmask default:0xff
+ 0x01 Shared
+ 0x02 Exclusive
+ 0x04 Owned
+ 0x08 Modified
+ 0x10 Reserved (Must be selected)
+ 0x20 Reserved (Must be selected)
+ 0x40 Reserved (Must be selected)
+ 0x80 Reserved (Must be selected)
+name:l3_evict type:bitmask default:0x0f
+ 0x01 Shared
+ 0x02 Exclusive
+ 0x04 Owned
+ 0x08 Modified
+name:icache_invalidated type:bitmask default:0x03
+ 0x01 Invalidating probe that did not hit any in-flight instructions
+ 0x02 Invalidating probe that hit one or more in-flight instructions
+name:page_size_mismatches type:bitmask default:0x07
+ 0x01 Guest page size is larger than the host page size
+ 0x02 MTRR mismatch
+ 0x04 Host page size is larger than the guest page size
+name:retired_x87_fp type:bitmask default:0x07
+ 0x01 Add/subtract ops
+ 0x02 Multiply ops
+ 0x04 Divide ops
+name:ibs_op type:bitmask default:0x01
+ 0x00 Using IBS OP cycle count mode
+ 0x01 Using IBS OP dispatch count mode
+ 0x02 Enable IBS OP Memory Access Log
+name:non_cancelled_l3_read_requests type:bitmask default:0xf7
+ 0x01 RbBlk
+ 0x02 RbBlkS
+ 0x04 RbBlkM
+ 0x10 Reserved (Must be selected)
+ 0x20 Reserved (Must be selected)
+ 0x40 Reserved (Must be selected)
+ 0x80 Reserved (Must be selected)
diff --git a/events/x86-64/family11h/events b/events/x86-64/family11h/events
new file mode 100644
index 0000000..98d1dad
--- /dev/null
+++ b/events/x86-64/family11h/events
@@ -0,0 +1,132 @@
+#
+# AMD Athlon(tm)64 and AMD Opteron(tm) processor performance events
+#
+# Copyright OProfile authors
+# Copyright (c) 2006-2008 Advanced Micro Devices
+# Contributed by Ray Bryant <raybry at amd.com>
+# Jason Yeh <jason.yeh at amd.com>
+# Suravee Suthikulpanit <suravee.suthikulpanit at amd.com>
+# Paul Drongowski <paul.drongowski at amd.com>
+#
+# Source : BIOS and Kernel Developer's Guide for AMD Family 11h Processors,
+# Publication# 41256, Revision 3.00, July 07, 2008
+#
+# Updated on 11 November 2008:
+# Description : Prepare for Oprofile patch submission
+# Signed off : Suravee Suthikulpanit <suravee.suthikulpanit@amd.com>
+#
+# Updated on 20 February 2008:
+# Description : Added events for AMD Family 11h processors and proofread
+# WRT the latest BKDG
+#
+
+# Floating point events
+event:0x00 counters:0,1,2,3 um:fpu_ops minimum:500 name:DISPATCHED_FPU_OPS : Dispatched FPU ops
+event:0x01 counters:0,1,2,3 um:zero minimum:500 name:CYCLES_NO_FPU_OPS_RETIRED : Cycles in which the FPU is empty
+event:0x02 counters:0,1,2,3 um:zero minimum:500 name:DISPATCHED_FPU_OPS_FAST_FLAG : Dispatched FPU ops that use the fast flag interface
+
+# Load, Store, and TLB events
+event:0x20 counters:0,1,2,3 um:segregload minimum:500 name:SEGMENT_REGISTER_LOADS : Segment register loads
+event:0x21 counters:0,1,2,3 um:zero minimum:500 name:PIPELINE_RESTART_DUE_TO_SELF_MODIFYING_CODE : Micro-architectural re-sync caused by self modifying code
+event:0x22 counters:0,1,2,3 um:zero minimum:500 name:PIPELINE_RESTART_DUE_TO_PROBE_HIT : Micro-architectural re-sync caused by snoop
+event:0x23 counters:0,1,2,3 um:zero minimum:500 name:LS_BUFFER_2_FULL_CYCLES : Cycles LS Buffer 2 full
+event:0x24 counters:0,1,2,3 um:locked_ops minimum:500 name:LOCKED_OPS : Locked operations
+
+# Execution Unit Events
+
+# Data Cache event
+event:0x40 counters:0,1,2,3 um:zero minimum:500 name:DATA_CACHE_ACCESSES : Data cache accesses
+event:0x41 counters:0,1,2,3 um:zero minimum:500 name:DATA_CACHE_MISSES : Data cache misses
+# Event 0x42 with unit mask 0x01 counts same events as event select 0x43
+event:0x42 counters:0,1,2,3 um:moess minimum:500 name:DATA_CACHE_REFILLS_FROM_L2_OR_SYSTEM : Data cache refills from L2 or system
+event:0x43 counters:0,1,2,3 um:moesi minimum:500 name:DATA_CACHE_REFILLS_FROM_SYSTEM : Data cache refills from system
+event:0x44 counters:0,1,2,3 um:moesi minimum:500 name:DATA_CACHE_LINES_EVICTED : Data cache lines evicted
+event:0x45 counters:0,1,2,3 um:zero minimum:500 name:L1_DTLB_MISS_AND_L2_DTLB_HIT : L1 DTLB misses and L2 DTLB hits
+event:0x46 counters:0,1,2,3 um:zero minimum:500 name:L1_DTLB_AND_L2_DTLB_MISS : L1 and L2 DTLB misses
+event:0x47 counters:0,1,2,3 um:zero minimum:500 name:MISALIGNED_ACCESSES : Misaligned Accesses
+event:0x48 counters:0,1,2,3 um:zero minimum:500 name:MICROARCHITECTURAL_LATE_CANCEL_OF_AN_ACCESS : Micro-architectural late cancel of an access
+event:0x49 counters:0,1,2,3 um:zero minimum:500 name:MICROARCHITECTURAL_EARLY_CANCEL_OF_AN_ACCESS : Micro-architectural early cancel of an access
+event:0x4a counters:0,1,2,3 um:ecc minimum:500 name:SCRUBBER_SINGLE_BIT_ECC_ERRORS : One bit ECC error recorded by scrubber
+event:0x4b counters:0,1,2,3 um:prefetch minimum:500 name:PREFETCH_INSTRUCTIONS_DISPATCHED : Prefetch instructions dispatched
+event:0x4c counters:0,1,2,3 um:dcachemisslocked minimum:500 name:DCACHE_MISS_LOCKED_INSTRUCTIONS : DCACHE misses by locked instructions
+
+# L2 Cache and System Interface events
+event:0x65 counters:0,1,2,3 um:memreqtype minimum:500 name:MEMORY_REQUESTS : Memory requests by type
+event:0x67 counters:0,1,2,3 um:dataprefetch minimum:500 name:DATA_PREFETCHES : Data prefetcher
+event:0x6c counters:0,1,2,3 um:systemreadresponse minimum:500 name:SYSTEM_READ_RESPONSES : System read responses by coherency state
+event:0x6d counters:0,1,2,3 um:writtentosystem minimum:500 name:QUADWORD_WRITE_TRANSFERS : Quadwords written to system
+
+event:0x7d counters:0,1,2,3 um:l2_internal minimum:500 name:REQUESTS_TO_L2 : Requests to L2 cache
+event:0x7e counters:0,1,2,3 um:l2_req_miss minimum:500 name:L2_CACHE_MISS : L2 cache misses
+event:0x7f counters:0,1,2,3 um:l2_fill minimum:500 name:L2_CACHE_FILL_WRITEBACK : L2 fill/writeback
+
+# Instruction Cache events
+event:0x80 counters:0,1,2,3 um:zero minimum:500 name:INSTRUCTION_CACHE_FETCHES : Instruction cache fetches
+event:0x81 counters:0,1,2,3 um:zero minimum:500 name:INSTRUCTION_CACHE_MISSES : Instruction cache misses
+event:0x82 counters:0,1,2,3 um:zero minimum:500 name:INSTRUCTION_CACHE_REFILLS_FROM_L2 : Instruction cache refills from L2
+event:0x83 counters:0,1,2,3 um:zero minimum:500 name:INSTRUCTION_CACHE_REFILLS_FROM_SYSTEM : Instruction cache refills from system
+event:0x84 counters:0,1,2,3 um:zero minimum:500 name:L1_ITLB_MISS_AND_L2_ITLB_HIT : L1 ITLB miss and L2 ITLB hit
+event:0x85 counters:0,1,2,3 um:zero minimum:500 name:L1_ITLB_MISS_AND_L2_ITLB_MISS : L1 ITLB miss and L2 ITLB miss
+event:0x86 counters:0,1,2,3 um:zero minimum:500 name:PIPELINE_RESTART_DUE_TO_INSTRUCTION_STREAM_PROBE : Pipeline restart due to instruction stream probe
+event:0x87 counters:0,1,2,3 um:zero minimum:500 name:INSTRUCTION_FETCH_STALL : Instruction fetch stall
+event:0x88 counters:0,1,2,3 um:zero minimum:500 name:RETURN_STACK_HITS : Return stack hits
+event:0x89 counters:0,1,2,3 um:zero minimum:500 name:RETURN_STACK_OVERFLOWS : Return stack overflows
+
+
+event:0x26 counters:0,1,2,3 um:zero minimum:500 name:RETIRED_CFLUSH : Retired CLFLUSH instructions
+event:0x27 counters:0,1,2,3 um:zero minimum:500 name:RETIRED_CPUID : Retired CPUID instructions
+event:0x76 counters:0,1,2,3 um:zero minimum:3000 name:CPU_CLK_UNHALTED : Cycles outside of halt state
+
+# Execution Unit events
+event:0xc0 counters:0,1,2,3 um:zero minimum:3000 name:RETIRED_INSTRUCTIONS : Retired instructions (includes exceptions, interrupts, re-syncs)
+event:0xc1 counters:0,1,2,3 um:zero minimum:500 name:RETIRED_UOPS : Retired micro-ops
+event:0xc2 counters:0,1,2,3 um:zero minimum:500 name:RETIRED_BRANCH_INSTRUCTIONS : Retired branches (conditional, unconditional, exceptions, interrupts)
+event:0xc3 counters:0,1,2,3 um:zero minimum:500 name:RETIRED_MISPREDICTED_BRANCH_INSTRUCTIONS : Retired mispredicted branch instructions
+event:0xc4 counters:0,1,2,3 um:zero minimum:500 name:RETIRED_TAKEN_BRANCH_INSTRUCTIONS : Retired taken branch instructions
+event:0xc5 counters:0,1,2,3 um:zero minimum:500 name:RETIRED_TAKEN_BRANCH_INSTRUCTIONS_MISPREDICTED : Retired taken branches mispredicted
+event:0xc6 counters:0,1,2,3 um:zero minimum:500 name:RETIRED_FAR_CONTROL_TRANSFERS : Retired far control transfers
+event:0xc7 counters:0,1,2,3 um:zero minimum:500 name:RETIRED_BRANCH_RESYNCS : Retired branches resyncs (only non-control transfer branches)
+event:0xc8 counters:0,1,2,3 um:zero minimum:500 name:RETIRED_NEAR_RETURNS : Retired near returns
+event:0xc9 counters:0,1,2,3 um:zero minimum:500 name:RETIRED_NEAR_RETURNS_MISPREDICTED : Retired near returns mispredicted
+event:0xca counters:0,1,2,3 um:zero minimum:500 name:RETIRED_INDIRECT_BRANCHES_MISPREDICTED : Retired indirect branches mispredicted
+event:0xcb counters:0,1,2,3 um:fpu_instr minimum:500 name:RETIRED_MMX_FP_INSTRUCTIONS : Retired MMX/FP instructions
+event:0xcc counters:0,1,2,3 um:fpu_fastpath minimum:500 name:RETIRED_FASTPATH_DOUBLE_OP_INSTRUCTIONS : Retired FastPath double-op instructions
+event:0xcd counters:0,1,2,3 um:zero minimum:500 name:INTERRUPTS_MASKED_CYCLES : Cycles with interrupts masked (IF=0)
+event:0xce counters:0,1,2,3 um:zero minimum:500 name:INTERRUPTS_MASKED_CYCLES_WITH_INTERRUPT_PENDING : Cycles with interrupts masked while interrupt pending
+event:0xcf counters:0,1,2,3 um:zero minimum:10 name:INTERRUPTS_TAKEN : Number of taken hardware interrupts
+event:0xd0 counters:0,1,2,3 um:zero minimum:500 name:DECODER_EMPTY : Nothing to dispatch (decoder empty)
+event:0xd1 counters:0,1,2,3 um:zero minimum:500 name:DISPATCH_STALLS : Dispatch stalls
+event:0xd2 counters:0,1,2,3 um:zero minimum:500 name:DISPATCH_STALL_FOR_BRANCH_ABORT : Dispatch stall from branch abort to retire
+event:0xd3 counters:0,1,2,3 um:zero minimum:500 name:DISPATCH_STALL_FOR_SERIALIZATION : Dispatch stall for serialization
+event:0xd4 counters:0,1,2,3 um:zero minimum:500 name:DISPATCH_STALL_FOR_SEGMENT_LOAD : Dispatch stall for segment load
+event:0xd5 counters:0,1,2,3 um:zero minimum:500 name:DISPATCH_STALL_FOR_REORDER_BUFFER_FULL : Dispatch stall for reorder buffer full
+event:0xd6 counters:0,1,2,3 um:zero minimum:500 name:DISPATCH_STALL_FOR_RESERVATION_STATION_FULL : Dispatch stall when reservation stations are full
+event:0xd7 counters:0,1,2,3 um:zero minimum:500 name:DISPATCH_STALL_FOR_FPU_FULL : Dispatch stall when FPU is full
+event:0xd8 counters:0,1,2,3 um:zero minimum:500 name:DISPATCH_STALL_FOR_LS_FULL : Dispatch stall when LS is full
+event:0xd9 counters:0,1,2,3 um:zero minimum:500 name:DISPATCH_STALL_WAITING_FOR_ALL_QUIET : Dispatch stall when waiting for all to be quiet
+event:0xda counters:0,1,2,3 um:zero minimum:500 name:DISPATCH_STALL_FOR_FAR_TRANSFER_OR_RESYNC : Dispatch stall for far transfer or resync to retire
+event:0xdb counters:0,1,2,3 um:fpu_exceptions minimum:1 name:FPU_EXCEPTIONS : FPU exceptions
+event:0xdc counters:0,1,2,3 um:zero minimum:1 name:DR0_BREAKPOINTS : Number of breakpoints for DR0
+event:0xdd counters:0,1,2,3 um:zero minimum:1 name:DR1_BREAKPOINTS : Number of breakpoints for DR1
+event:0xde counters:0,1,2,3 um:zero minimum:1 name:DR2_BREAKPOINTS : Number of breakpoints for DR2
+event:0xdf counters:0,1,2,3 um:zero minimum:1 name:DR3_BREAKPOINTS : Number of breakpoints for DR3
+
+# Memory Controller events
+event:0xe0 counters:0,1,2,3 um:dramaccess minimum:500 name:DRAM_ACCESSES : DRAM accesses
+event:0xe1 counters:0,1,2,3 um:dramcontroller minimum:500 name:DRAM_CONTROLLER_PAGE_TABLE_EVENTS : DRAM Controller Page Table Events
+event:0xe3 counters:0,1,2,3 um:turnaround minimum:500 name:MEMORY_CONTROLLER_TURNAROUNDS : Memory controller turnarounds
+event:0xe4 counters:0,1,2,3 um:rbdqueue minimum:500 name:MEMORY_CONTROLLER_RBD_QUEUE_EVENTS : Memory controller RBD queue events
+event:0xe8 counters:0,1,2,3 um:thermalstatus minimum:500 name:THERMAL_STATUS : Thermal status
+event:0xe9 counters:0,1,2,3 um:cpiorequests minimum:500 name:CPU_IO_REQUESTS_TO_MEMORY_IO : CPU/IO requests to memory/IO
+event:0xea counters:0,1,2,3 um:cacheblock minimum:500 name:CACHE_BLOCK_COMMANDS : Cache block commands
+event:0xeb counters:0,1,2,3 um:sizecmds minimum:500 name:SIZED_COMMANDS : Sized commands
+event:0xec counters:0,1,2,3 um:probe minimum:500 name:PROBE_RESPONSES_AND_UPSTREAM_REQUESTS : Probe responses and upstream requests
+event:0xee counters:0,1,2,3 um:devevents minimum:500 name:DEV_EVENTS : DEV events
+
+
+event:0x1f0 counters:0,1,2,3 um:memory_controller_requests minimum:500 name:MEMORY_CONTROLLER_REQUESTS : Memory controller requests
+event:0x1e9 counters:0,1,2,3 um:sideband_signals_and_special_cycles minimum:500 name:SIDEBAND_SIGNALS_AND_SPECIAL_CYCLES : Sideband Signals and Special Cycles
+event:0x1ea counters:0,1,2,3 um:interrupt_events minimum:500 name:INTERRUPT_EVENTS : Interrupt Events
+
+# Link events
+event:0xf6 counters:0,1,2,3 um:httransmit minimum:500 name:HYPERTRANSPORT_LINK_0_TRANSMIT_BANDWIDTH : HyperTransport(tm) link 0 transmit bandwidth
diff --git a/events/x86-64/family11h/unit_masks b/events/x86-64/family11h/unit_masks
new file mode 100644
index 0000000..91e5d4f
--- /dev/null
+++ b/events/x86-64/family11h/unit_masks
@@ -0,0 +1,220 @@
+#
+# AMD Athlon(tm)64 and AMD Opteron(tm) processor unit masks
+#
+# Copyright OProfile authors
+# Copyright (c) Advanced Micro Devices, 2006-2008
+# Contributed by Ray Bryant <raybry@amd.com>, and others.
+# Jason Yeh <jason.yeh at amd.com>
+# Suravee Suthikulpanit <suravee.suthikulpanit at amd.com>
+# Paul Drongowski <paul.drongowski at amd.com>
+#
+# Source : BIOS and Kernel Developer's Guide for AMD Family 11h Processors,
+# Publication# 41256, Revision 3.00, July 07, 2008
+#
+# Updated on 11 November 2008:
+# Description : Prepare for Oprofile patch submission
+# Signed off : Suravee Suthikulpanit <suravee.suthikulpanit@amd.com>
+#
+# Updated on 20 February 2008:
+# Description : Added events for AMD Family 11h processors and proofread
+# WRT the latest BKDG
+#
+name:zero type:mandatory default:0x0
+ 0x0 No unit mask
+name:moesi type:bitmask default:0x1f
+ 0x01 (I)nvalid cache state
+ 0x02 (S)hared cache state
+ 0x04 (E)xclusive cache state
+ 0x08 (O)wned cache state
+ 0x10 (M)odified cache state
+ 0x1f All cache states
+name:moess type:bitmask default:0x1e
+ 0x01 refill from system
+ 0x02 (S)hared cache state from L2
+ 0x04 (E)xclusive cache state from L2
+ 0x08 (O)wned cache state from L2
+ 0x10 (M)odified cache state from L2
+ 0x1e All cache states except Invalid
+name:fpu_ops type:bitmask default:0x3f
+ 0x01 Add pipe ops
+ 0x02 Multiply pipe
+ 0x04 Store pipe ops
+ 0x08 Add pipe load ops
+ 0x10 Multiply pipe load ops
+ 0x20 Store pipe load ops
+name:segregload type:bitmask default:0x7f
+ 0x01 ES register
+ 0x02 CS register
+ 0x04 SS register
+ 0x08 DS register
+ 0x10 FS register
+ 0x20 GS register
+ 0x40 HS register
+name:ecc type:bitmask default:0x03
+ 0x01 Scrubber error
+ 0x02 Piggyback scrubber errors
+name:prefetch type:bitmask default:0x07
+ 0x01 Load
+ 0x02 Store
+ 0x04 NTA
+name:fpu_instr type:bitmask default:0x0f
+ 0x01 x87 instructions
+ 0x02 MMX & 3DNow instructions
+ 0x04 Packed SSE & SSE2 instructions
+ 0x08 Packed scalar SSE & SSE2 instructions
+name:fpu_fastpath type:bitmask default:0x07
+ 0x01 With low op in position 0
+ 0x02 With low op in position 1
+ 0x04 With low op in position 2
+name:fpu_exceptions type:bitmask default:0x0f
+ 0x01 x87 reclass microfaults
+ 0x02 SSE retype microfaults
+ 0x04 SSE reclass microfaults
+ 0x08 SSE and x87 microtraps
+name:dramaccess type:bitmask default:0xff
+ 0x01 DCT0 Page hit
+ 0x02 DCT0 Page miss
+ 0x04 DCT0 Page conflict
+ 0x08 DCT1 Page hit
+ 0x10 DCT1 Page miss
+ 0x20 DCT1 Page conflict
+ 0x40 Write request
+ 0x80 Read request
+name:dramcontroller type:bitmask default:0x0f
+ 0x01 DCT Page Table Overflow
+ 0x02 Number of stale table entry hits (hit on a page closed too soon)
+ 0x04 Page table idle cycle limit incremented
+ 0x08 Page table idle cycle limit decremented
+name:turnaround type:bitmask default:0x3f
+ 0x01 DCT0 Read to write turnaround
+ 0x02 DCT0 Write to read turnaround
+ 0x04 DCT0 DIMM (chip select) turnaround
+ 0x08 DCT1 Read to write turnaround
+ 0x10 DCT1 Write to read turnaround
+ 0x20 DCT1 DIMM (chip select) turnaround
+name:rbdqueue type:bitmask default:0x04
+ 0x04 F2x[1,0]94[DcqBypassMax] counter reached
+name:sizecmds type:bitmask default:0x3f
+ 0x01 Non-posted write byte (1-32 bytes)
+ 0x02 Non-posted write DWORD (1-16 DWORDs)
+ 0x04 Posted write byte (1-32 bytes)
+ 0x08 Posted write DWORD (1-16 DWORDs)
+ 0x10 Read byte (4 bytes)
+ 0x20 Read DWORD (1-16 DWORDs)
+name:probe type:bitmask default:0x0f
+ 0x01 Probe miss
+ 0x02 Probe hit clean
+ 0x04 Probe hit dirty without memory cancel
+ 0x08 Probe hit dirty with memory cancel
+ 0x10 Upstream display refresh/ISOC reads
+ 0x20 Upstream non-display refresh reads
+ 0x40 Upstream ISOC writes
+ 0x80 Upstream non-ISOC writes
+name:l2_internal type:bitmask default:0x1f
+ 0x01 IC fill
+ 0x02 DC fill
+ 0x04 TLB fill (page table walk)
+ 0x08 Tag snoop request
+ 0x10 Cancelled request
+name:l2_req_miss type:bitmask default:0x07
+ 0x01 IC fill
+ 0x02 DC fill
+ 0x04 TLB page table walk
+name:l2_fill type:bitmask default:0x03
+ 0x01 L2 fills (victims from L1 caches, TLB page table walks and data prefetches)
+ 0x02 L2 writebacks to system
+name:devevents type:bitmask default:0x70
+ 0x10 DEV hit
+ 0x20 DEV miss
+ 0x40 DEV error
+name:cpiorequests type:bitmask default:0xa2
+ 0xa1 Requests Local I/O to Local I/O
+ 0xa2 Requests Local I/O to Local Memory
+ 0xa3 Requests Local I/O to Local (I/O or Mem)
+ 0xa4 Requests Local CPU to Local I/O
+ 0xa5 Requests Local (CPU or I/O) to Local I/O
+ 0xa8 Requests Local CPU to Local Memory
+ 0xaa Requests Local (CPU or I/O) to Local Memory
+ 0xac Requests Local CPU to Local (I/O or Mem)
+ 0xaf Requests Local (CPU or I/O) to Local (I/O or Mem)
+ 0x91 Requests Local I/O to Remote I/O
+ 0x92 Requests Local I/O to Remote Memory
+ 0x93 Requests Local I/O to Remote (I/O or Mem)
+ 0x94 Requests Local CPU to Remote I/O
+ 0x95 Requests Local (CPU or I/O) to Remote I/O
+ 0x98 Requests Local CPU to Remote Memory
+ 0x9a Requests Local (CPU or I/O) to Remote Memory
+ 0x9c Requests Local CPU to Remote (I/O or Mem)
+ 0x9f Requests Local (CPU or I/O) to Remote (I/O or Mem)
+ 0xb1 Requests Local I/O to Any I/O
+ 0xb2 Requests Local I/O to Any Memory
+ 0xb3 Requests Local I/O to Any (I/O or Mem)
+ 0xb4 Requests Local CPU to Any I/O
+ 0xb5 Requests Local (CPU or I/O) to Any I/O
+ 0xb8 Requests Local CPU to Any Memory
+ 0xba Requests Local (CPU or I/O) to Any Memory
+ 0xbc Requests Local CPU to Any (I/O or Mem)
+ 0xbf Requests Local (CPU or I/O) to Any (I/O or Mem)
+ 0x61 Requests Remote I/O to Local I/O
+ 0x64 Requests Remote CPU to Local I/O
+ 0x65 Requests Remote (CPU or I/O) to Local I/O
+name:cacheblock type:bitmask default:0x3d
+ 0x01 Victim Block (Writeback)
+ 0x04 Read Block (Dcache load miss refill)
+ 0x08 Read Block Shared (Icache refill)
+ 0x10 Read Block Modified (Dcache store miss refill)
+ 0x20 Change to Dirty (first store to clean block already in cache)
+name:dataprefetch type:bitmask default:0x03
+ 0x01 Cancelled prefetches
+ 0x02 Prefetch attempts
+name:memreqtype type:bitmask default:0x83
+ 0x01 Requests to non-cacheable (UC) memory
+ 0x02 Requests to write-combining (WC) memory or WC buffer flushes to WB memory
+ 0x80 Streaming store (SS) requests
+name:systemreadresponse type:bitmask default:0x7
+ 0x01 Exclusive
+ 0x02 Modified
+ 0x04 Shared
+ 0x08 Data Error
+name:writtentosystem type:bitmask default:0x1
+ 0x01 Quadword write transfer
+# BKDG 3.28 does not include unit_mask of 0x01 for "accesses by Locked instructions"
+name:dcachemisslocked type:bitmask default:0x02
+ 0x02 Data cache misses by locked instructions
+name:locked_ops type:bitmask default:0x04
+ 0x01 The number of locked instructions executed
+ 0x02 The number of cycles spent in speculative phase
+ 0x04 The number of cycles spent in non-speculative phase (including cache miss penalty)
+name:thermalstatus type:bitmask default:0x80
+ 0x01 Number of clocks MEMHOT_L is asserted
+ 0x04 Number of times the HTC transitions from inactive to active
+ 0x20 Number of clocks HTC P-state is inactive
+ 0x40 Number of clocks HTC P-state is active
+ 0x80 PROCHOT_L asserted by an external source and P-state change occurred
+name:memory_controller_requests type:bitmask default:0x78
+ 0x08 32 Bytes Sized Writes
+ 0x10 64 Bytes Sized Writes
+ 0x20 32 Bytes Sized Reads
+ 0x40 64 Bytes Sized Reads
+name:sideband_signals_and_special_cycles type:bitmask default:0x1f
+ 0x01 HALT
+ 0x02 STOPGRANT
+ 0x04 SHUTDOWN
+ 0x08 WBINVD
+ 0x10 INVD
+name:interrupt_events type:bitmask default:0xff
+ 0x01 Fixed
+ 0x02 LPA
+ 0x04 SMI
+ 0x08 NMI
+ 0x10 INIT
+ 0x20 STARTUP
+ 0x40 INT
+ 0x80 EOI
+name:httransmit type:bitmask default:0x3f
+ 0x01 Command DWORD sent
+ 0x02 Address DWORD sent
+ 0x04 Data DWORD sent
+ 0x08 Buffer release DWORD sent
+ 0x10 Nop DW sent (idle)
+ 0x20 Per packet CRC sent
diff --git a/events/x86-64/family12h/events b/events/x86-64/family12h/events
new file mode 100644
index 0000000..e576fc1
--- /dev/null
+++ b/events/x86-64/family12h/events
@@ -0,0 +1,23 @@
+# AMD Generic performance events
+#
+# Copyright OProfile authors
+# Copyright (c) 2006-2010 Advanced Micro Devices
+# Contributed by Ray Bryant <raybry at amd.com>,
+# Jason Yeh <jason.yeh at amd.com>
+# Suravee Suthikulpanit <suravee.suthikulpanit at amd.com>
+#
+# Revision: 1.0
+#
+# ChangeLog:
+# 1.0: 30 August 2010.
+# - Initial revision
+#
+event:0x40 counters:0,1,2,3 um:zero minimum:500 name:DATA_CACHE_ACCESSES : Data cache accesses
+event:0x41 counters:0,1,2,3 um:zero minimum:500 name:DATA_CACHE_MISSES : Data cache misses
+event:0x42 counters:0,1,2,3 um:moess minimum:500 name:DATA_CACHE_REFILLS_FROM_L2_OR_NORTHBRIDGE : Data cache refills from L2 or Northbridge
+event:0x43 counters:0,1,2,3 um:moesi minimum:500 name:DATA_CACHE_REFILLS_FROM_NORTHBRIDGE : Data cache refills from Northbridge
+event:0x76 counters:0,1,2,3 um:zero minimum:50000 name:CPU_CLK_UNHALTED : Cycles outside of halt state
+event:0xc0 counters:0,1,2,3 um:zero minimum:50000 name:RETIRED_INSTRUCTIONS : Retired instructions (includes exceptions, interrupts, re-syncs)
+event:0xc1 counters:0,1,2,3 um:zero minimum:500 name:RETIRED_UOPS : Retired micro-ops
+event:0xc2 counters:0,1,2,3 um:zero minimum:500 name:RETIRED_BRANCH_INSTRUCTIONS : Retired branches (conditional, unconditional, exceptions, interrupts)
+event:0xc3 counters:0,1,2,3 um:zero minimum:500 name:RETIRED_MISPREDICTED_BRANCH_INSTRUCTIONS : Retired mispredicted branch instructions
diff --git a/events/x86-64/family12h/unit_masks b/events/x86-64/family12h/unit_masks
new file mode 100644
index 0000000..c9d76a8
--- /dev/null
+++ b/events/x86-64/family12h/unit_masks
@@ -0,0 +1,30 @@
+# AMD Generic unit masks
+#
+# Copyright OProfile authors
+# Copyright (c) 2006-2010 Advanced Micro Devices
+# Contributed by Ray Bryant <raybry at amd.com>,
+# Jason Yeh <jason.yeh at amd.com>
+# Suravee Suthikulpanit <suravee.suthikulpanit at amd.com>
+#
+# Revision: 1.0
+#
+# ChangeLog:
+# 1.0: 30 August 2010.
+# - Initial revision
+#
+name:zero type:mandatory default:0x0
+ 0x0 No unit mask
+name:moesi type:bitmask default:0x1f
+ 0x01 (I)nvalid cache state
+ 0x02 (S)hared cache state
+ 0x04 (E)xclusive cache state
+ 0x08 (O)wner cache state
+ 0x10 (M)odified cache state
+ 0x1f All cache states
+name:moess type:bitmask default:0x1e
+ 0x01 Refill from northbridge
+ 0x02 Shared-state line from L2
+ 0x04 Exclusive-state line from L2
+ 0x08 Owner-state line from L2
+ 0x10 Modified-state line from L2
+ 0x1e All cache states except refill from northbridge
diff --git a/events/x86-64/family14h/events b/events/x86-64/family14h/events
new file mode 100644
index 0000000..e576fc1
--- /dev/null
+++ b/events/x86-64/family14h/events
@@ -0,0 +1,23 @@
+# AMD Generic performance events
+#
+# Copyright OProfile authors
+# Copyright (c) 2006-2010 Advanced Micro Devices
+# Contributed by Ray Bryant <raybry at amd.com>,
+# Jason Yeh <jason.yeh at amd.com>
+# Suravee Suthikulpanit <suravee.suthikulpanit at amd.com>
+#
+# Revision: 1.0
+#
+# ChangeLog:
+# 1.0: 30 August 2010.
+# - Initial revision
+#
+event:0x40 counters:0,1,2,3 um:zero minimum:500 name:DATA_CACHE_ACCESSES : Data cache accesses
+event:0x41 counters:0,1,2,3 um:zero minimum:500 name:DATA_CACHE_MISSES : Data cache misses
+event:0x42 counters:0,1,2,3 um:moess minimum:500 name:DATA_CACHE_REFILLS_FROM_L2_OR_NORTHBRIDGE : Data cache refills from L2 or Northbridge
+event:0x43 counters:0,1,2,3 um:moesi minimum:500 name:DATA_CACHE_REFILLS_FROM_NORTHBRIDGE : Data cache refills from Northbridge
+event:0x76 counters:0,1,2,3 um:zero minimum:50000 name:CPU_CLK_UNHALTED : Cycles outside of halt state
+event:0xc0 counters:0,1,2,3 um:zero minimum:50000 name:RETIRED_INSTRUCTIONS : Retired instructions (includes exceptions, interrupts, re-syncs)
+event:0xc1 counters:0,1,2,3 um:zero minimum:500 name:RETIRED_UOPS : Retired micro-ops
+event:0xc2 counters:0,1,2,3 um:zero minimum:500 name:RETIRED_BRANCH_INSTRUCTIONS : Retired branches (conditional, unconditional, exceptions, interrupts)
+event:0xc3 counters:0,1,2,3 um:zero minimum:500 name:RETIRED_MISPREDICTED_BRANCH_INSTRUCTIONS : Retired mispredicted branch instructions
diff --git a/events/x86-64/family14h/unit_masks b/events/x86-64/family14h/unit_masks
new file mode 100644
index 0000000..c9d76a8
--- /dev/null
+++ b/events/x86-64/family14h/unit_masks
@@ -0,0 +1,30 @@
+# AMD Generic unit masks
+#
+# Copyright OProfile authors
+# Copyright (c) 2006-2010 Advanced Micro Devices
+# Contributed by Ray Bryant <raybry at amd.com>,
+# Jason Yeh <jason.yeh at amd.com>
+# Suravee Suthikulpanit <suravee.suthikulpanit at amd.com>
+#
+# Revision: 1.0
+#
+# ChangeLog:
+# 1.0: 30 August 2010.
+# - Initial revision
+#
+name:zero type:mandatory default:0x0
+ 0x0 No unit mask
+name:moesi type:bitmask default:0x1f
+ 0x01 (I)nvalid cache state
+ 0x02 (S)hared cache state
+ 0x04 (E)xclusive cache state
+ 0x08 (O)wner cache state
+ 0x10 (M)odified cache state
+ 0x1f All cache states
+name:moess type:bitmask default:0x1e
+ 0x01 Refill from northbridge
+ 0x02 Shared-state line from L2
+ 0x04 Exclusive-state line from L2
+ 0x08 Owner-state line from L2
+ 0x10 Modified-state line from L2
+ 0x1e All cache states except refill from northbridge
diff --git a/events/x86-64/family15h/events b/events/x86-64/family15h/events
new file mode 100644
index 0000000..499938d
--- /dev/null
+++ b/events/x86-64/family15h/events
@@ -0,0 +1,16 @@
+# AMD Generic performance events
+#
+# Copyright OProfile authors
+# Copyright (c) 2006-2010 Advanced Micro Devices
+# Contributed by Ray Bryant <raybry at amd.com>,
+# Jason Yeh <jason.yeh at amd.com>
+# Suravee Suthikulpanit <suravee.suthikulpanit at amd.com>
+#
+# Revision: 1.0
+#
+# ChangeLog:
+# 1.0: 30 August 2010.
+# - Initial revision
+#
+event:0x76 counters:0,1,2 um:zero minimum:50000 name:CPU_CLK_UNHALTED : Cycles outside of halt state
+event:0xc0 counters:0,1,2,3,4,5 um:zero minimum:50000 name:RETIRED_INSTRUCTIONS : Retired instructions (includes exceptions, interrupts, re-syncs)
diff --git a/events/x86-64/family15h/unit_masks b/events/x86-64/family15h/unit_masks
new file mode 100644
index 0000000..6a9c06e
--- /dev/null
+++ b/events/x86-64/family15h/unit_masks
@@ -0,0 +1,16 @@
+# AMD Generic unit masks
+#
+# Copyright OProfile authors
+# Copyright (c) 2006-2010 Advanced Micro Devices
+# Contributed by Ray Bryant <raybry at amd.com>,
+# Jason Yeh <jason.yeh at amd.com>
+# Suravee Suthikulpanit <suravee.suthikulpanit at amd.com>
+#
+# Revision: 1.0
+#
+# ChangeLog:
+# 1.0: 30 August 2010.
+# - Initial revision
+#
+name:zero type:mandatory default:0x0
+ 0x0 No unit mask
diff --git a/events/x86-64/hammer/events b/events/x86-64/hammer/events
new file mode 100644
index 0000000..a86482b
--- /dev/null
+++ b/events/x86-64/hammer/events
@@ -0,0 +1,125 @@
+#
+# AMD Athlon(tm)64 and AMD Opteron(tm) processor unit masks
+#
+# Copyright OProfile authors
+# Copyright (c) 2006-2008 Advanced Micro Devices
+# Contributed by Ray Bryant <raybry at amd.com>
+# Jason Yeh <jason.yeh at amd.com>
+# Suravee Suthikulpanit <suravee.suthikulpanit at amd.com>
+# Paul Drongowski <paul.drongowski at amd.com>
+#
+# Source: BIOS and Kernel Developer's Guide for AMD NPT Family 0Fh Processors,
+# Publication# 32559, Revision 3.08, July 2007
+#
+# This file was last updated on 10 January 2008:
+#
+# Sorted by event select value for easier maintenance and to be
+# consistent with events for other AMD processor families.
+#
+# Updated for the latest version of the BKDG.
+#
+# Floating point events
+event:0x00 counters:0,1,2,3 um:fpu_ops minimum:500 name:DISPATCHED_FPU_OPS : Dispatched FPU ops
+event:0x01 counters:0,1,2,3 um:zero minimum:500 name:CYCLES_NO_FPU_OPS_RETIRED : Cycles with no FPU ops retired
+event:0x02 counters:0,1,2,3 um:zero minimum:500 name:DISPATCHED_FPU_OPS_FAST_FLAG : Dispatched FPU ops that use the fast flag interface
+
+# Load, Store, and TLB events
+event:0x20 counters:0,1,2,3 um:segregload minimum:500 name:SEGMENT_REGISTER_LOADS : Segment register loads
+event:0x21 counters:0,1,2,3 um:zero minimum:500 name:PIPELINE_RESTART_DUE_TO_SELF_MODIFYING_CODE : Micro-architectural re-sync caused by self modifying code
+event:0x22 counters:0,1,2,3 um:zero minimum:500 name:PIPELINE_RESTART_DUE_TO_PROBE_HIT : Micro-architectural re-sync caused by snoop
+event:0x23 counters:0,1,2,3 um:zero minimum:500 name:LS_BUFFER_2_FULL_CYCLES : Cycles LS Buffer 2 full
+event:0x24 counters:0,1,2,3 um:locked_ops minimum:500 name:LOCKED_OPS : Locked operations
+
+# Execution Unit Events
+event:0x26 counters:0,1,2,3 um:zero minimum:500 name:RETIRED_CLFLUSH_INSTRUCTIONS : Retired CLFLUSH instructions
+event:0x27 counters:0,1,2,3 um:zero minimum:500 name:RETIRED_CPUID_INSTRUCTIONS : Retired CPUID instructions
+
+# Data Cache event
+event:0x40 counters:0,1,2,3 um:zero minimum:500 name:DATA_CACHE_ACCESSES : Data cache accesses
+event:0x41 counters:0,1,2,3 um:zero minimum:500 name:DATA_CACHE_MISSES : Data cache misses
+# Event 0x42 with unit mask 0x01 counts same events as event select 0x43
+event:0x42 counters:0,1,2,3 um:moess minimum:500 name:DATA_CACHE_REFILLS_FROM_L2_OR_SYSTEM : Data cache refills from L2 or system
+event:0x43 counters:0,1,2,3 um:moesi minimum:500 name:DATA_CACHE_REFILLS_FROM_SYSTEM : Data cache refills from system
+event:0x44 counters:0,1,2,3 um:moesi minimum:500 name:DATA_CACHE_LINES_EVICTED : Data cache lines evicted
+event:0x45 counters:0,1,2,3 um:zero minimum:500 name:L1_DTLB_MISS_AND_L2_DTLB_HIT : L1 DTLB misses and L2 DTLB hits
+event:0x46 counters:0,1,2,3 um:zero minimum:500 name:L1_DTLB_AND_L2_DTLB_MISS : L1 and L2 DTLB misses
+event:0x47 counters:0,1,2,3 um:zero minimum:500 name:MISALIGNED_ACCESSES : Misaligned Accesses
+event:0x48 counters:0,1,2,3 um:zero minimum:500 name:MICROARCHITECTURAL_LATE_CANCEL_OF_AN_ACCESS : Micro-architectural late cancel of an access
+event:0x49 counters:0,1,2,3 um:zero minimum:500 name:MICROARCHITECTURAL_EARLY_CANCEL_OF_AN_ACCESS : Micro-architectural early cancel of an access
+event:0x4a counters:0,1,2,3 um:ecc minimum:500 name:SCRUBBER_SINGLE_BIT_ECC_ERRORS : One bit ECC error recorded by scrubber
+event:0x4b counters:0,1,2,3 um:prefetch minimum:500 name:PREFETCH_INSTRUCTIONS_DISPATCHED : Prefetch instructions dispatched
+event:0x4c counters:0,1,2,3 um:dcachemisslocked minimum:500 name:DCACHE_MISS_LOCKED_INSTRUCTIONS : DCACHE misses by locked instructions
+
+# L2 Cache and System Interface events
+event:0x65 counters:0,1,2,3 um:memreqtype minimum:500 name:MEMORY_REQUESTS : Memory requests by type
+event:0x67 counters:0,1,2,3 um:dataprefetch minimum:500 name:DATA_PREFETCHES : Data prefetcher
+event:0x6c counters:0,1,2,3 um:systemreadresponse minimum:500 name:SYSTEM_READ_RESPONSES : System read responses by coherency state
+event:0x6d counters:0,1,2,3 um:writtentosystem minimum:500 name:QUADWORD_WRITE_TRANSFERS : Quadwords written to system
+event:0x76 counters:0,1,2,3 um:zero minimum:3000 name:CPU_CLK_UNHALTED : Cycles outside of halt state
+event:0x7d counters:0,1,2,3 um:l2_internal minimum:500 name:REQUESTS_TO_L2 : Requests to L2 cache
+event:0x7e counters:0,1,2,3 um:l2_req_miss minimum:500 name:L2_CACHE_MISS : L2 cache misses
+event:0x7f counters:0,1,2,3 um:l2_fill minimum:500 name:L2_CACHE_FILL_WRITEBACK : L2 fill/writeback
+
+# Instruction Cache events
+event:0x80 counters:0,1,2,3 um:zero minimum:500 name:INSTRUCTION_CACHE_FETCHES : Instruction cache fetches
+event:0x81 counters:0,1,2,3 um:zero minimum:500 name:INSTRUCTION_CACHE_MISSES : Instruction cache misses
+event:0x82 counters:0,1,2,3 um:zero minimum:500 name:INSTRUCTION_CACHE_REFILLS_FROM_L2 : Instruction cache refills from L2
+event:0x83 counters:0,1,2,3 um:zero minimum:500 name:INSTRUCTION_CACHE_REFILLS_FROM_SYSTEM : Instruction cache refills from system
+event:0x84 counters:0,1,2,3 um:zero minimum:500 name:L1_ITLB_MISS_AND_L2_ITLB_HIT : L1 ITLB miss and L2 ITLB hit
+event:0x85 counters:0,1,2,3 um:zero minimum:500 name:L1_ITLB_MISS_AND_L2_ITLB_MISS : L1 ITLB miss and L2 ITLB miss
+event:0x86 counters:0,1,2,3 um:zero minimum:500 name:PIPELINE_RESTART_DUE_TO_INSTRUCTION_STREAM_PROBE : Pipeline restart due to instruction stream probe
+event:0x87 counters:0,1,2,3 um:zero minimum:500 name:INSTRUCTION_FETCH_STALL : Instruction fetch stall
+event:0x88 counters:0,1,2,3 um:zero minimum:500 name:RETURN_STACK_HITS : Return stack hits
+event:0x89 counters:0,1,2,3 um:zero minimum:500 name:RETURN_STACK_OVERFLOWS : Return stack overflows
+
+# Execution Unit events
+event:0xc0 counters:0,1,2,3 um:zero minimum:3000 name:RETIRED_INSTRUCTIONS : Retired instructions (includes exceptions, interrupts, re-syncs)
+event:0xc1 counters:0,1,2,3 um:zero minimum:500 name:RETIRED_UOPS : Retired micro-ops
+event:0xc2 counters:0,1,2,3 um:zero minimum:500 name:RETIRED_BRANCH_INSTRUCTIONS : Retired branches (conditional, unconditional, exceptions, interrupts)
+event:0xc3 counters:0,1,2,3 um:zero minimum:500 name:RETIRED_MISPREDICTED_BRANCH_INSTRUCTIONS : Retired mispredicted branch instructions
+event:0xc4 counters:0,1,2,3 um:zero minimum:500 name:RETIRED_TAKEN_BRANCH_INSTRUCTIONS : Retired taken branch instructions
+event:0xc5 counters:0,1,2,3 um:zero minimum:500 name:RETIRED_TAKEN_BRANCH_INSTRUCTIONS_MISPREDICTED : Retired taken branches mispredicted
+event:0xc6 counters:0,1,2,3 um:zero minimum:500 name:RETIRED_FAR_CONTROL_TRANSFERS : Retired far control transfers
+event:0xc7 counters:0,1,2,3 um:zero minimum:500 name:RETIRED_BRANCH_RESYNCS : Retired branches resyncs (only non-control transfer branches)
+event:0xc8 counters:0,1,2,3 um:zero minimum:500 name:RETIRED_NEAR_RETURNS : Retired near returns
+event:0xc9 counters:0,1,2,3 um:zero minimum:500 name:RETIRED_NEAR_RETURNS_MISPREDICTED : Retired near returns mispredicted
+event:0xca counters:0,1,2,3 um:zero minimum:500 name:RETIRED_INDIRECT_BRANCHES_MISPREDICTED : Retired indirect branches mispredicted
+event:0xcb counters:0,1,2,3 um:fpu_instr minimum:500 name:RETIRED_MMX_FP_INSTRUCTIONS : Retired MMX/FP instructions
+event:0xcc counters:0,1,2,3 um:fpu_fastpath minimum:500 name:RETIRED_FASTPATH_DOUBLE_OP_INSTRUCTIONS : Retired FastPath double-op instructions
+event:0xcd counters:0,1,2,3 um:zero minimum:500 name:INTERRUPTS_MASKED_CYCLES : Cycles with interrupts masked (IF=0)
+event:0xce counters:0,1,2,3 um:zero minimum:500 name:INTERRUPTS_MASKED_CYCLES_WITH_INTERRUPT_PENDING : Cycles with interrupts masked while interrupt pending
+event:0xcf counters:0,1,2,3 um:zero minimum:10 name:INTERRUPTS_TAKEN : Number of taken hardware interrupts
+event:0xd0 counters:0,1,2,3 um:zero minimum:500 name:DECODER_EMPTY : Nothing to dispatch (decoder empty)
+event:0xd1 counters:0,1,2,3 um:zero minimum:500 name:DISPATCH_STALLS : Dispatch stalls
+event:0xd2 counters:0,1,2,3 um:zero minimum:500 name:DISPATCH_STALL_FOR_BRANCH_ABORT : Dispatch stall from branch abort to retire
+event:0xd3 counters:0,1,2,3 um:zero minimum:500 name:DISPATCH_STALL_FOR_SERIALIZATION : Dispatch stall for serialization
+event:0xd4 counters:0,1,2,3 um:zero minimum:500 name:DISPATCH_STALL_FOR_SEGMENT_LOAD : Dispatch stall for segment load
+event:0xd5 counters:0,1,2,3 um:zero minimum:500 name:DISPATCH_STALL_FOR_REORDER_BUFFER_FULL : Dispatch stall for reorder buffer full
+event:0xd6 counters:0,1,2,3 um:zero minimum:500 name:DISPATCH_STALL_FOR_RESERVATION_STATION_FULL : Dispatch stall when reservation stations are full
+event:0xd7 counters:0,1,2,3 um:zero minimum:500 name:DISPATCH_STALL_FOR_FPU_FULL : Dispatch stall when FPU is full
+event:0xd8 counters:0,1,2,3 um:zero minimum:500 name:DISPATCH_STALL_FOR_LS_FULL : Dispatch stall when LS is full
+event:0xd9 counters:0,1,2,3 um:zero minimum:500 name:DISPATCH_STALL_WAITING_FOR_ALL_QUIET : Dispatch stall when waiting for all to be quiet
+event:0xda counters:0,1,2,3 um:zero minimum:500 name:DISPATCH_STALL_FOR_FAR_TRANSFER_OR_RESYNC : Dispatch stall for far transfer or resync to retire
+event:0xdb counters:0,1,2,3 um:fpu_exceptions minimum:1 name:FPU_EXCEPTIONS : FPU exceptions
+event:0xdc counters:0,1,2,3 um:zero minimum:1 name:DR0_BREAKPOINTS : Number of breakpoints for DR0
+event:0xdd counters:0,1,2,3 um:zero minimum:1 name:DR1_BREAKPOINTS : Number of breakpoints for DR1
+event:0xde counters:0,1,2,3 um:zero minimum:1 name:DR2_BREAKPOINTS : Number of breakpoints for DR2
+event:0xdf counters:0,1,2,3 um:zero minimum:1 name:DR3_BREAKPOINTS : Number of breakpoints for DR3
+
+# Memory Controler events
+event:0xe0 counters:0,1,2,3 um:page_access minimum:500 name:DRAM_ACCESSES : DRAM accesses
+event:0xe1 counters:0,1,2,3 um:zero minimum:500 name:MEMORY_CONTROLLER_PAGE_TABLE_OVERFLOWS : Memory controller page table overflows
+event:0xe3 counters:0,1,2,3 um:turnaround minimum:500 name:MEMORY_CONTROLLER_TURNAROUNDS : Memory controller turnarounds
+event:0xe4 counters:0,1,2,3 um:saturation minimum:500 name:MEMORY_CONTROLLER_BYPASS_COUNTER_SATURATION : Memory controller bypass saturation
+event:0xe5 counters:0,1,2,3 um:sizedblocks minimum:500 name:SIZED_BLOCKS : Sized blocks
+event:0xe8 counters:0,1,2,3 um:thermalecc minimum:500 name:THERMAL_STATUS_AND_DRAM_ECC_ERRORS : Thermal status and ECC errors
+event:0xe9 counters:0,1,2,3 um:cpiorequests minimum:500 name:CPU_IO_REQUESTS_TO_MEMORY_IO : CPU/IO requests to memory/IO (RevE)
+event:0xea counters:0,1,2,3 um:cacheblock minimum:500 name:CACHE_BLOCK_COMMANDS : Cache block commands (RevE)
+event:0xeb counters:0,1,2,3 um:sizecmds minimum:500 name:SIZED_COMMANDS : Sized commands
+event:0xec counters:0,1,2,3 um:probe minimum:500 name:PROBE_RESPONSES_AND_UPSTREAM_REQUESTS : Probe responses and upstream requests
+event:0xee counters:0,1,2,3 um:gart minimum:500 name:GART_EVENTS : GART events
+
+# Link events
+event:0xf6 counters:0,1,2,3 um:ht minimum:500 name:HYPERTRANSPORT_LINK0_BANDWIDTH : HyperTransport(tm) link 0 transmit bandwidth
+event:0xf7 counters:0,1,2,3 um:ht minimum:500 name:HYPERTRANSPORT_LINK1_BANDWIDTH : HyperTransport(tm) link 1 transmit bandwidth
+event:0xf8 counters:0,1,2,3 um:ht minimum:500 name:HYPERTRANSPORT_LINK2_BANDWIDTH : HyperTransport(tm) link 2 transmit bandwidth
diff --git a/events/x86-64/hammer/unit_masks b/events/x86-64/hammer/unit_masks
new file mode 100644
index 0000000..0e8ea66
--- /dev/null
+++ b/events/x86-64/hammer/unit_masks
@@ -0,0 +1,186 @@
+#
+# AMD Athlon(tm)64 and AMD Opteron(tm) processor unit masks
+#
+# Copyright OProfile authors
+# Copyright (c) Advanced Micro Devices, 2006-2008
+# Contributed by Ray Bryant <raybry@amd.com>, and others.
+#
+# Source: BIOS and Kernel Developer's Guide for AMD NPT Family 0Fh Processors,
+# Publication# 32559, Revision 3.08, July 2007
+#
+# This file was last updated on 10 January 2008:
+#
+# Unit mask (writtentosystem) was added for the
+# QUADWORD_WRITE_TRANSFERS event.
+#
+name:zero type:mandatory default:0x0
+ 0x0 No unit mask
+name:moesi type:bitmask default:0x1f
+ 0x01 (I)nvalid cache state
+ 0x02 (S)hared cache state
+ 0x04 (E)xclusive cache state
+ 0x08 (O)wned cache state
+ 0x10 (M)odified cache state
+ 0x1f All cache states
+name:moess type:bitmask default:0x1e
+ 0x01 refill from system
+ 0x02 (S)hared cache state from L2
+ 0x04 (E)xclusive cache state from L2
+ 0x08 (O)wned cache state from L2
+ 0x10 (M)odified cache state from L2
+ 0x1e All cache states except Invalid
+name:fpu_ops type:bitmask default:0x3f
+ 0x01 Add pipe ops
+ 0x02 Multiply pipe
+ 0x04 Store pipe ops
+ 0x08 Add pipe load ops
+ 0x10 Multiply pipe load ops
+ 0x20 Store pipe load ops
+name:segregload type:bitmask default:0x7f
+ 0x01 ES register
+ 0x02 CS register
+ 0x04 SS register
+ 0x08 DS register
+ 0x10 FS register
+ 0x20 GS register
+ 0x40 HS register
+name:ecc type:bitmask default:0x03
+ 0x01 Scrubber error
+ 0x02 Piggyback scrubber errors
+name:prefetch type:bitmask default:0x07
+ 0x01 Load
+ 0x02 Store
+ 0x04 NTA
+name:fpu_instr type:bitmask default:0x0f
+ 0x01 x87 instructions
+ 0x02 Combined MMX & 3DNow instructions
+ 0x04 Combined packed SSE & SSE2 instructions
+ 0x08 Combined packed scalar SSE & SSE2 instructions
+name:fpu_fastpath type:bitmask default:0x07
+ 0x01 With low op in position 0
+ 0x02 With low op in position 1
+ 0x04 With low op in position 2
+name:fpu_exceptions type:bitmask default:0x0f
+ 0x01 x87 reclass microfaults
+ 0x02 SSE retype microfaults
+ 0x04 SSE reclass microfaults
+ 0x08 SSE and x87 microtraps
+name:page_access type:bitmask default:0x07
+ 0x01 Page hit
+ 0x02 Page miss
+ 0x04 Page conflict
+name:turnaround type:bitmask default:0x07
+ 0x01 DIMM (chip select) turnaround
+ 0x02 Read to write turnaround
+ 0x04 Write to read turnaround
+name:saturation type:bitmask default:0x0f
+ 0x01 Memory controller high priority bypass
+ 0x02 Memory controller low priority bypass
+ 0x04 DRAM controller interface bypass
+ 0x08 DRAM controller queue bypass
+name:sizecmds type:bitmask default:0x7f
+ 0x01 Non-posted write byte
+ 0x02 Non-posted write dword
+ 0x04 Posted write byte
+ 0x08 Posted write dword
+ 0x10 Read byte (4 bytes)
+ 0x20 Read dword (1-16 dwords)
+ 0x40 Read-modify-write
+name:probe type:bitmask default:0x0f
+ 0x01 Probe miss
+ 0x02 Probe hit clean
+ 0x04 Probe hit dirty without memory cancel
+ 0x08 Probe hit dirty with memory cancel
+ 0x10 Upstream display refresh reads
+ 0x20 Upstream non-display refresh reads
+ 0x40 Upstream writes (RevD and later)
+name:ht type:bitmask default:0x7
+ 0x01 Command sent
+ 0x02 Data sent
+ 0x04 Buffer release sent
+ 0x08 NOP sent
+name:l2_internal type:bitmask default:0x1f
+ 0x01 IC fill
+ 0x02 DC fill
+ 0x04 TLB fill (page table walk)
+ 0x08 Tag snoop request
+ 0x10 Cancelled request
+name:l2_req_miss type:bitmask default:0x07
+ 0x01 IC fill
+ 0x02 DC fill
+ 0x04 TLB page table walk
+name:l2_fill type:bitmask default:0x03
+ 0x01 L2 fills (victims from L1 caches, TLB page table walks and data prefetches)
+ 0x02 L2 writebacks to system
+name:gart type:bitmask default:0x07
+ 0x01 GART aperture hit on access from CPU
+ 0x02 GART aperture hit on access from I/O
+ 0x04 GART miss
+name:sizedblocks type:bitmask default:0x3c
+ 0x04 32-byte Sized Writes (RevD and later)
+ 0x08 64-byte Sized Writes (RevD and later)
+ 0x10 32-byte Sized Reads (RevD and later)
+ 0x20 64-byte Sized Reads (RevD and later)
+name:cpiorequests type:bitmask default:0xa2
+ 0xa1 Requests Local I/O to Local I/O
+ 0xa2 Requests Local I/O to Local Memory
+ 0xa3 Requests Local I/O to Local (I/O or Mem)
+ 0xa4 Requests Local CPU to Local I/O
+ 0xa5 Requests Local (CPU or I/O) to Local I/O
+ 0xa8 Requests Local CPU to Local Memory
+ 0xaa Requests Local (CPU or I/O) to Local Memory
+ 0xac Requests Local CPU to Local (I/O or Mem)
+ 0xaf Requests Local (CPU or I/O) to Local (I/O or Mem)
+ 0x91 Requests Local I/O to Remote I/O
+ 0x92 Requests Local I/O to Remote Memory
+ 0x93 Requests Local I/O to Remote (I/O or Mem)
+ 0x94 Requests Local CPU to Remote I/O
+ 0x95 Requests Local (CPU or I/O) to Remote I/O
+ 0x98 Requests Local CPU to Remote Memory
+ 0x9a Requests Local (CPU or I/O) to Remote Memory
+ 0x9c Requests Local CPU to Remote (I/O or Mem)
+ 0x9f Requests Local (CPU or I/O) to Remote (I/O or Mem)
+ 0xb1 Requests Local I/O to Any I/O
+ 0xb2 Requests Local I/O to Any Memory
+ 0xb3 Requests Local I/O to Any (I/O or Mem)
+ 0xb4 Requests Local CPU to Any I/O
+ 0xb5 Requests Local (CPU or I/O) to Any I/O
+ 0xb8 Requests Local CPU to Any Memory
+ 0xba Requests Local (CPU or I/O) to Any Memory
+ 0xbc Requests Local CPU to Any (I/O or Mem)
+ 0xbf Requests Local (CPU or I/O) to Any (I/O or Mem)
+ 0x61 Requests Remote I/O to Local I/O
+ 0x64 Requests Remote CPU to Local I/O
+ 0x65 Requests Remote (CPU or I/O) to Local I/O
+name:cacheblock type:bitmask default:0x3d
+ 0x01 Victim Block (Writeback)
+ 0x04 Read Block (Dcache load miss refill)
+ 0x08 Read Block Shared (Icache refill)
+ 0x10 Read Block Modified (Dcache store miss refill)
+ 0x20 Change to Dirty (first store to clean block already in cache)
+name:dataprefetch type:bitmask default:0x03
+ 0x01 Cancelled prefetches
+ 0x02 Prefetch attempts
+name:memreqtype type:bitmask default:0x83
+ 0x01 Requests to non-cacheable (UC) memory
+ 0x02 Requests to write-combining (WC) memory or WC buffer flushes to WB memory
+ 0x80 Streaming store (SS) requests
+name:systemreadresponse type:bitmask default:0x7
+ 0x01 Exclusive
+ 0x02 Modified
+ 0x04 Shared
+name:writtentosystem type:bitmask default:0x1
+ 0x01 Quadword write transfer
+# BKDG 3.28 does not include unit_mask of 0x01 for "accesses by Locked instructions"
+name:dcachemisslocked type:bitmask default:0x02
+ 0x02 Data cache misses by locked instructions
+name:locked_ops type:bitmask default:0x04
+ 0x01 The number of locked instructions executed
+ 0x02 The number of cycles spent in speculative phase
+ 0x04 The number of cycles spent in non-speculative phase (including cache miss penalty)
+name:thermalecc type:bitmask default:0x80
+ 0x01 Number of clocks CPU is active when HTC is active (RevF)
+ 0x02 Number of clocks CPU clock is inactive when HTC is active (RevF)
+ 0x04 Number of clocks when die temperature is higher than the software high temperature threshold (RevF)
+ 0x08 Number of clocks when high temperature threshold was exceeded (RevF)
+ 0x80 Number of correctable and uncorrectable DRAM ECC errors (RevE)
diff --git a/gui/Makefile.in b/gui/Makefile.in
deleted file mode 100644
index 251b9f1..0000000
--- a/gui/Makefile.in
+++ /dev/null
@@ -1,669 +0,0 @@
-# Makefile.in generated by automake 1.9.6 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005 Free Software Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ..
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-@have_qt_TRUE@bin_PROGRAMS = oprof_start$(EXEEXT)
-subdir = gui
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/binutils.m4 \
- $(top_srcdir)/m4/builtinexpect.m4 \
- $(top_srcdir)/m4/cellspubfdsupport.m4 \
- $(top_srcdir)/m4/compileroption.m4 \
- $(top_srcdir)/m4/configmodule.m4 \
- $(top_srcdir)/m4/copyifchange.m4 $(top_srcdir)/m4/docbook.m4 \
- $(top_srcdir)/m4/extradirs.m4 $(top_srcdir)/m4/findkernel.m4 \
- $(top_srcdir)/m4/kerneloption.m4 \
- $(top_srcdir)/m4/kernelversion.m4 \
- $(top_srcdir)/m4/mallocattribute.m4 \
- $(top_srcdir)/m4/poptconst.m4 \
- $(top_srcdir)/m4/precompiledheader.m4 $(top_srcdir)/m4/qt.m4 \
- $(top_srcdir)/m4/resultyn.m4 $(top_srcdir)/m4/sstream.m4 \
- $(top_srcdir)/m4/typedef.m4 $(top_srcdir)/configure.in
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-am__installdirs = "$(DESTDIR)$(bindir)"
-binPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
-PROGRAMS = $(bin_PROGRAMS)
-am__oprof_start_SOURCES_DIST = oprof_start.cpp oprof_start_config.cpp \
- oprof_start_util.cpp oprof_start_main.cpp oprof_start.h \
- oprof_start_config.h oprof_start_util.h
-am__objects_1 = oprof_start.$(OBJEXT) oprof_start_config.$(OBJEXT) \
- oprof_start_util.$(OBJEXT) oprof_start_main.$(OBJEXT)
-@have_qt_TRUE@am_oprof_start_OBJECTS = $(am__objects_1)
-@have_qt_TRUE@nodist_oprof_start_OBJECTS = oprof_start.moc.$(OBJEXT)
-oprof_start_OBJECTS = $(am_oprof_start_OBJECTS) \
- $(nodist_oprof_start_OBJECTS)
-@have_qt_TRUE@oprof_start_DEPENDENCIES = ../libutil++/libutil++.a \
-@have_qt_TRUE@ ../libop/libop.a ../libutil/libutil.a \
-@have_qt_TRUE@ ui/liboprof_start.a
-DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
-depcomp = $(SHELL) $(top_srcdir)/depcomp
-am__depfiles_maybe = depfiles
-CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
-LTCXXCOMPILE = $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) \
- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
- $(AM_CXXFLAGS) $(CXXFLAGS)
-CXXLD = $(CXX)
-CXXLINK = $(LIBTOOL) --tag=CXX --mode=link $(CXXLD) $(AM_CXXFLAGS) \
- $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \
- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
- $(AM_CFLAGS) $(CFLAGS)
-CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(AM_LDFLAGS) $(LDFLAGS) -o $@
-SOURCES = $(oprof_start_SOURCES) $(nodist_oprof_start_SOURCES)
-DIST_SOURCES = $(am__oprof_start_SOURCES_DIST)
-RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
- html-recursive info-recursive install-data-recursive \
- install-exec-recursive install-info-recursive \
- install-recursive installcheck-recursive installdirs-recursive \
- pdf-recursive ps-recursive uninstall-info-recursive \
- uninstall-recursive
-ETAGS = etags
-CTAGS = ctags
-DIST_SUBDIRS = $(SUBDIRS)
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
-AMTAR = @AMTAR@
-AR = @AR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-BFD_LIBS = @BFD_LIBS@
-BUILD_JVMPI_AGENT_FALSE = @BUILD_JVMPI_AGENT_FALSE@
-BUILD_JVMPI_AGENT_TRUE = @BUILD_JVMPI_AGENT_TRUE@
-BUILD_JVMTI_AGENT_FALSE = @BUILD_JVMTI_AGENT_FALSE@
-BUILD_JVMTI_AGENT_TRUE = @BUILD_JVMTI_AGENT_TRUE@
-CAT_ENTRY_END = @CAT_ENTRY_END@
-CAT_ENTRY_START = @CAT_ENTRY_START@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DATE = @DATE@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DOCBOOK_ROOT = @DOCBOOK_ROOT@
-ECHO = @ECHO@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-EXTRA_CFLAGS_MODULE = @EXTRA_CFLAGS_MODULE@
-F77 = @F77@
-FFLAGS = @FFLAGS@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-JAVA_HOMEDIR = @JAVA_HOMEDIR@
-KINC = @KINC@
-KSRC = @KSRC@
-KVERS = @KVERS@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LIBERTY_LIBS = @LIBERTY_LIBS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-MAKEINFO = @MAKEINFO@
-MOC = @MOC@
-MODINSTALLDIR = @MODINSTALLDIR@
-OBJEXT = @OBJEXT@
-OPROFILE_DIR = @OPROFILE_DIR@
-OPROFILE_MODULE_ARCH = @OPROFILE_MODULE_ARCH@
-OP_CFLAGS = @OP_CFLAGS@
-OP_CXXFLAGS = @OP_CXXFLAGS@
-OP_DOCDIR = @OP_DOCDIR@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-POPT_LIBS = @POPT_LIBS@
-PTRDIFF_T_TYPE = @PTRDIFF_T_TYPE@
-QT_INCLUDES = @QT_INCLUDES@
-QT_LDFLAGS = @QT_LDFLAGS@
-QT_LIB = @QT_LIB@
-QT_VERSION = @QT_VERSION@
-RANLIB = @RANLIB@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-SIZE_T_TYPE = @SIZE_T_TYPE@
-STRIP = @STRIP@
-UIC = @UIC@
-VERSION = @VERSION@
-XML_CATALOG = @XML_CATALOG@
-XSLTPROC = @XSLTPROC@
-XSLTPROC_FLAGS = @XSLTPROC_FLAGS@
-X_CFLAGS = @X_CFLAGS@
-X_EXTRA_LIBS = @X_EXTRA_LIBS@
-X_LIBS = @X_LIBS@
-X_PRE_LIBS = @X_PRE_LIBS@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
-am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-datadir = @datadir@
-exec_prefix = @exec_prefix@
-have_qt_FALSE = @have_qt_FALSE@
-have_qt_TRUE = @have_qt_TRUE@
-have_xsltproc_FALSE = @have_xsltproc_FALSE@
-have_xsltproc_TRUE = @have_xsltproc_TRUE@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-kernel_support_FALSE = @kernel_support_FALSE@
-kernel_support_TRUE = @kernel_support_TRUE@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-topdir = @topdir@
-SUBDIRS = ui
-dist_sources = \
- oprof_start.cpp \
- oprof_start_config.cpp \
- oprof_start_util.cpp \
- oprof_start_main.cpp \
- oprof_start.h \
- oprof_start_config.h \
- oprof_start_util.h
-
-EXTRA_DIST = $(dist_sources)
-@have_qt_TRUE@AM_CPPFLAGS = \
-@have_qt_TRUE@ @QT_INCLUDES@ \
-@have_qt_TRUE@ -I ${top_srcdir}/libop \
-@have_qt_TRUE@ -I ${top_srcdir}/libutil++ \
-@have_qt_TRUE@ -I ${top_srcdir}/libutil
-
-@have_qt_TRUE@AM_CXXFLAGS = @OP_CXXFLAGS@
-@have_qt_TRUE@oprof_start_SOURCES = $(dist_sources)
-@have_qt_TRUE@nodist_oprof_start_SOURCES = oprof_start.moc.cpp
-@have_qt_TRUE@oprof_start_LDADD = \
-@have_qt_TRUE@ ../libutil++/libutil++.a \
-@have_qt_TRUE@ ../libop/libop.a \
-@have_qt_TRUE@ ../libutil/libutil.a \
-@have_qt_TRUE@ ui/liboprof_start.a \
-@have_qt_TRUE@ @QT_LDFLAGS@ \
-@have_qt_TRUE@ @QT_LIB@ \
-@have_qt_TRUE@ @X_LIBS@
-
-all: all-recursive
-
-.SUFFIXES:
-.SUFFIXES: .cpp .lo .o .obj
-$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign gui/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --foreign gui/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- @case '$?' in \
- *config.status*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
- *) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-install-binPROGRAMS: $(bin_PROGRAMS)
- @$(NORMAL_INSTALL)
- test -z "$(bindir)" || $(mkdir_p) "$(DESTDIR)$(bindir)"
- @list='$(bin_PROGRAMS)'; for p in $$list; do \
- p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
- if test -f $$p \
- || test -f $$p1 \
- ; then \
- f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \
- echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \
- $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \
- else :; fi; \
- done
-
-uninstall-binPROGRAMS:
- @$(NORMAL_UNINSTALL)
- @list='$(bin_PROGRAMS)'; for p in $$list; do \
- f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
- echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \
- rm -f "$(DESTDIR)$(bindir)/$$f"; \
- done
-
-clean-binPROGRAMS:
- @list='$(bin_PROGRAMS)'; for p in $$list; do \
- f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
- echo " rm -f $$p $$f"; \
- rm -f $$p $$f ; \
- done
-oprof_start$(EXEEXT): $(oprof_start_OBJECTS) $(oprof_start_DEPENDENCIES)
- @rm -f oprof_start$(EXEEXT)
- $(CXXLINK) $(oprof_start_LDFLAGS) $(oprof_start_OBJECTS) $(oprof_start_LDADD) $(LIBS)
-
-mostlyclean-compile:
- -rm -f *.$(OBJEXT)
-
-distclean-compile:
- -rm -f *.tab.c
-
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/oprof_start.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/oprof_start.moc.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/oprof_start_config.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/oprof_start_main.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/oprof_start_util.Po@am__quote@
-
-.cpp.o:
-@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
-@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $<
-
-.cpp.obj:
-@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
-@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
-
-.cpp.lo:
-@am__fastdepCXX_TRUE@ if $(LTCXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
-@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $<
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-
-# This directory's subdirectories are mostly independent; you can cd
-# into them and run `make' without going through this Makefile.
-# To change the values of `make' variables: instead of editing Makefiles,
-# (1) if the variable is set in `config.status', edit `config.status'
-# (which will cause the Makefiles to be regenerated when you run `make');
-# (2) otherwise, pass the desired values on the `make' command line.
-$(RECURSIVE_TARGETS):
- @failcom='exit 1'; \
- for f in x $$MAKEFLAGS; do \
- case $$f in \
- *=* | --[!k]*);; \
- *k*) failcom='fail=yes';; \
- esac; \
- done; \
- dot_seen=no; \
- target=`echo $@ | sed s/-recursive//`; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- dot_seen=yes; \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || eval $$failcom; \
- done; \
- if test "$$dot_seen" = "no"; then \
- $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
- fi; test -z "$$fail"
-
-mostlyclean-recursive clean-recursive distclean-recursive \
-maintainer-clean-recursive:
- @failcom='exit 1'; \
- for f in x $$MAKEFLAGS; do \
- case $$f in \
- *=* | --[!k]*);; \
- *k*) failcom='fail=yes';; \
- esac; \
- done; \
- dot_seen=no; \
- case "$@" in \
- distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
- *) list='$(SUBDIRS)' ;; \
- esac; \
- rev=''; for subdir in $$list; do \
- if test "$$subdir" = "."; then :; else \
- rev="$$subdir $$rev"; \
- fi; \
- done; \
- rev="$$rev ."; \
- target=`echo $@ | sed s/-recursive//`; \
- for subdir in $$rev; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || eval $$failcom; \
- done && test -z "$$fail"
-tags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
- done
-ctags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
- done
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
- include_option=--etags-include; \
- empty_fix=.; \
- else \
- include_option=--include; \
- empty_fix=; \
- fi; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
- test ! -f $$subdir/TAGS || \
- tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
- fi; \
- done; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
- test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
- fi
-ctags: CTAGS
-CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkdir_p) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
- if test -d $$d/$$file; then \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
- fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
- else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
- || exit 1; \
- fi; \
- done
- list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
- test -d "$(distdir)/$$subdir" \
- || $(mkdir_p) "$(distdir)/$$subdir" \
- || exit 1; \
- distdir=`$(am__cd) $(distdir) && pwd`; \
- top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
- (cd $$subdir && \
- $(MAKE) $(AM_MAKEFLAGS) \
- top_distdir="$$top_distdir" \
- distdir="$$distdir/$$subdir" \
- distdir) \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: check-recursive
-all-am: Makefile $(PROGRAMS)
-installdirs: installdirs-recursive
-installdirs-am:
- for dir in "$(DESTDIR)$(bindir)"; do \
- test -z "$$dir" || $(mkdir_p) "$$dir"; \
- done
-install: install-recursive
-install-exec: install-exec-recursive
-install-data: install-data-recursive
-uninstall: uninstall-recursive
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-recursive
-install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-@have_qt_FALSE@clean-local:
-clean: clean-recursive
-
-clean-am: clean-binPROGRAMS clean-generic clean-libtool clean-local \
- mostlyclean-am
-
-distclean: distclean-recursive
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
- distclean-libtool distclean-tags
-
-dvi: dvi-recursive
-
-dvi-am:
-
-html: html-recursive
-
-info: info-recursive
-
-info-am:
-
-install-data-am:
-
-install-exec-am: install-binPROGRAMS
-
-install-info: install-info-recursive
-
-install-man:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-recursive
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-recursive
-
-mostlyclean-am: mostlyclean-compile mostlyclean-generic \
- mostlyclean-libtool
-
-pdf: pdf-recursive
-
-pdf-am:
-
-ps: ps-recursive
-
-ps-am:
-
-uninstall-am: uninstall-binPROGRAMS uninstall-info-am
-
-uninstall-info: uninstall-info-recursive
-
-.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am \
- clean clean-binPROGRAMS clean-generic clean-libtool \
- clean-local clean-recursive ctags ctags-recursive distclean \
- distclean-compile distclean-generic distclean-libtool \
- distclean-recursive distclean-tags distdir dvi dvi-am html \
- html-am info info-am install install-am install-binPROGRAMS \
- install-data install-data-am install-exec install-exec-am \
- install-info install-info-am install-man install-strip \
- installcheck installcheck-am installdirs installdirs-am \
- maintainer-clean maintainer-clean-generic \
- maintainer-clean-recursive mostlyclean mostlyclean-compile \
- mostlyclean-generic mostlyclean-libtool mostlyclean-recursive \
- pdf pdf-am ps ps-am tags tags-recursive uninstall uninstall-am \
- uninstall-binPROGRAMS uninstall-info-am
-
-
-@have_qt_TRUE@oprof_start.moc.cpp: ${top_srcdir}/gui/oprof_start.h
-@have_qt_TRUE@ $(MOC) -o $@ ${top_srcdir}/gui/oprof_start.h
-
-@have_qt_TRUE@clean-local:
-@have_qt_TRUE@ rm -f oprof_start.moc.cpp
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/gui/ui/Makefile.in b/gui/ui/Makefile.in
deleted file mode 100644
index 020db85..0000000
--- a/gui/ui/Makefile.in
+++ /dev/null
@@ -1,493 +0,0 @@
-# Makefile.in generated by automake 1.9.6 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005 Free Software Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ../..
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-subdir = gui/ui
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/binutils.m4 \
- $(top_srcdir)/m4/builtinexpect.m4 \
- $(top_srcdir)/m4/cellspubfdsupport.m4 \
- $(top_srcdir)/m4/compileroption.m4 \
- $(top_srcdir)/m4/configmodule.m4 \
- $(top_srcdir)/m4/copyifchange.m4 $(top_srcdir)/m4/docbook.m4 \
- $(top_srcdir)/m4/extradirs.m4 $(top_srcdir)/m4/findkernel.m4 \
- $(top_srcdir)/m4/kerneloption.m4 \
- $(top_srcdir)/m4/kernelversion.m4 \
- $(top_srcdir)/m4/mallocattribute.m4 \
- $(top_srcdir)/m4/poptconst.m4 \
- $(top_srcdir)/m4/precompiledheader.m4 $(top_srcdir)/m4/qt.m4 \
- $(top_srcdir)/m4/resultyn.m4 $(top_srcdir)/m4/sstream.m4 \
- $(top_srcdir)/m4/typedef.m4 $(top_srcdir)/configure.in
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-LIBRARIES = $(noinst_LIBRARIES)
-ARFLAGS = cru
-liboprof_start_a_AR = $(AR) $(ARFLAGS)
-liboprof_start_a_LIBADD =
-@have_qt_TRUE@nodist_liboprof_start_a_OBJECTS = \
-@have_qt_TRUE@ oprof_start.base.$(OBJEXT) \
-@have_qt_TRUE@ oprof_start.base.moc.$(OBJEXT)
-liboprof_start_a_OBJECTS = $(nodist_liboprof_start_a_OBJECTS)
-DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
-depcomp = $(SHELL) $(top_srcdir)/depcomp
-am__depfiles_maybe = depfiles
-CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
-LTCXXCOMPILE = $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) \
- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
- $(AM_CXXFLAGS) $(CXXFLAGS)
-CXXLD = $(CXX)
-CXXLINK = $(LIBTOOL) --tag=CXX --mode=link $(CXXLD) $(AM_CXXFLAGS) \
- $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
-SOURCES = $(nodist_liboprof_start_a_SOURCES)
-DIST_SOURCES =
-ETAGS = etags
-CTAGS = ctags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
-AMTAR = @AMTAR@
-AR = @AR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-BFD_LIBS = @BFD_LIBS@
-BUILD_JVMPI_AGENT_FALSE = @BUILD_JVMPI_AGENT_FALSE@
-BUILD_JVMPI_AGENT_TRUE = @BUILD_JVMPI_AGENT_TRUE@
-BUILD_JVMTI_AGENT_FALSE = @BUILD_JVMTI_AGENT_FALSE@
-BUILD_JVMTI_AGENT_TRUE = @BUILD_JVMTI_AGENT_TRUE@
-CAT_ENTRY_END = @CAT_ENTRY_END@
-CAT_ENTRY_START = @CAT_ENTRY_START@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DATE = @DATE@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DOCBOOK_ROOT = @DOCBOOK_ROOT@
-ECHO = @ECHO@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-EXTRA_CFLAGS_MODULE = @EXTRA_CFLAGS_MODULE@
-F77 = @F77@
-FFLAGS = @FFLAGS@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-JAVA_HOMEDIR = @JAVA_HOMEDIR@
-KINC = @KINC@
-KSRC = @KSRC@
-KVERS = @KVERS@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LIBERTY_LIBS = @LIBERTY_LIBS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-MAKEINFO = @MAKEINFO@
-MOC = @MOC@
-MODINSTALLDIR = @MODINSTALLDIR@
-OBJEXT = @OBJEXT@
-OPROFILE_DIR = @OPROFILE_DIR@
-OPROFILE_MODULE_ARCH = @OPROFILE_MODULE_ARCH@
-OP_CFLAGS = @OP_CFLAGS@
-OP_CXXFLAGS = @OP_CXXFLAGS@
-OP_DOCDIR = @OP_DOCDIR@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-POPT_LIBS = @POPT_LIBS@
-PTRDIFF_T_TYPE = @PTRDIFF_T_TYPE@
-QT_INCLUDES = @QT_INCLUDES@
-QT_LDFLAGS = @QT_LDFLAGS@
-QT_LIB = @QT_LIB@
-QT_VERSION = @QT_VERSION@
-RANLIB = @RANLIB@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-SIZE_T_TYPE = @SIZE_T_TYPE@
-STRIP = @STRIP@
-UIC = @UIC@
-VERSION = @VERSION@
-XML_CATALOG = @XML_CATALOG@
-XSLTPROC = @XSLTPROC@
-XSLTPROC_FLAGS = @XSLTPROC_FLAGS@
-X_CFLAGS = @X_CFLAGS@
-X_EXTRA_LIBS = @X_EXTRA_LIBS@
-X_LIBS = @X_LIBS@
-X_PRE_LIBS = @X_PRE_LIBS@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
-am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-datadir = @datadir@
-exec_prefix = @exec_prefix@
-have_qt_FALSE = @have_qt_FALSE@
-have_qt_TRUE = @have_qt_TRUE@
-have_xsltproc_FALSE = @have_xsltproc_FALSE@
-have_xsltproc_TRUE = @have_xsltproc_TRUE@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-kernel_support_FALSE = @kernel_support_FALSE@
-kernel_support_TRUE = @kernel_support_TRUE@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-topdir = @topdir@
-EXTRA_DIST = oprof_start.base.ui
-@have_qt_TRUE@AM_CPPFLAGS = @QT_INCLUDES@
-@have_qt_TRUE@AM_CXXFLAGS = @OP_CXXFLAGS@
-@have_qt_TRUE@noinst_LIBRARIES = liboprof_start.a
-@have_qt_TRUE@nodist_liboprof_start_a_SOURCES = oprof_start.base.cpp oprof_start.base.moc.cpp
-all: all-am
-
-.SUFFIXES:
-.SUFFIXES: .cpp .lo .o .obj
-$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign gui/ui/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --foreign gui/ui/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- @case '$?' in \
- *config.status*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
- *) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-clean-noinstLIBRARIES:
- -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
-liboprof_start.a: $(liboprof_start_a_OBJECTS) $(liboprof_start_a_DEPENDENCIES)
- -rm -f liboprof_start.a
- $(liboprof_start_a_AR) liboprof_start.a $(liboprof_start_a_OBJECTS) $(liboprof_start_a_LIBADD)
- $(RANLIB) liboprof_start.a
-
-mostlyclean-compile:
- -rm -f *.$(OBJEXT)
-
-distclean-compile:
- -rm -f *.tab.c
-
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/oprof_start.base.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/oprof_start.base.moc.Po@am__quote@
-
-.cpp.o:
-@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
-@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $<
-
-.cpp.obj:
-@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
-@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
-
-.cpp.lo:
-@am__fastdepCXX_TRUE@ if $(LTCXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
-@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $<
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
- test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
- fi
-ctags: CTAGS
-CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkdir_p) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
- if test -d $$d/$$file; then \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
- fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
- else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: check-am
-all-am: Makefile $(LIBRARIES)
-installdirs:
-install: install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-@have_qt_FALSE@clean-local:
-clean: clean-am
-
-clean-am: clean-generic clean-libtool clean-local \
- clean-noinstLIBRARIES mostlyclean-am
-
-distclean: distclean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
- distclean-libtool distclean-tags
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-info: info-am
-
-info-am:
-
-install-data-am:
-
-install-exec-am:
-
-install-info: install-info-am
-
-install-man:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-compile mostlyclean-generic \
- mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am: uninstall-info-am
-
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
- clean-libtool clean-local clean-noinstLIBRARIES ctags \
- distclean distclean-compile distclean-generic \
- distclean-libtool distclean-tags distdir dvi dvi-am html \
- html-am info info-am install install-am install-data \
- install-data-am install-exec install-exec-am install-info \
- install-info-am install-man install-strip installcheck \
- installcheck-am installdirs maintainer-clean \
- maintainer-clean-generic mostlyclean mostlyclean-compile \
- mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
- tags uninstall uninstall-am uninstall-info-am
-
-
-@have_qt_TRUE@oprof_start.base.h: oprof_start.base.ui
-@have_qt_TRUE@ $(UIC) -o $@ $<
-
-@have_qt_TRUE@oprof_start.base.cpp: oprof_start.base.h oprof_start.base.ui
-@have_qt_TRUE@ $(UIC) -o $@ -impl $^
-
-@have_qt_TRUE@oprof_start.base.moc.cpp: oprof_start.base.h
-@have_qt_TRUE@ $(MOC) -o $@ $<
-
-@have_qt_TRUE@clean-local:
-@have_qt_TRUE@ rm -f oprof_start.base.h oprof_start.base.cpp oprof_start.base.moc.cpp
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/install-sh b/install-sh
deleted file mode 100755
index 4d4a951..0000000
--- a/install-sh
+++ /dev/null
@@ -1,323 +0,0 @@
-#!/bin/sh
-# install - install a program, script, or datafile
-
-scriptversion=2005-05-14.22
-
-# This originates from X11R5 (mit/util/scripts/install.sh), which was
-# later released in X11R6 (xc/config/util/install.sh) with the
-# following copyright and license.
-#
-# Copyright (C) 1994 X Consortium
-#
-# Permission is hereby granted, free of charge, to any person obtaining a copy
-# of this software and associated documentation files (the "Software"), to
-# deal in the Software without restriction, including without limitation the
-# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
-# sell copies of the Software, and to permit persons to whom the Software is
-# furnished to do so, subject to the following conditions:
-#
-# The above copyright notice and this permission notice shall be included in
-# all copies or substantial portions of the Software.
-#
-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC-
-# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-#
-# Except as contained in this notice, the name of the X Consortium shall not
-# be used in advertising or otherwise to promote the sale, use or other deal-
-# ings in this Software without prior written authorization from the X Consor-
-# tium.
-#
-#
-# FSF changes to this file are in the public domain.
-#
-# Calling this script install-sh is preferred over install.sh, to prevent
-# `make' implicit rules from creating a file called install from it
-# when there is no Makefile.
-#
-# This script is compatible with the BSD install script, but was written
-# from scratch. It can only install one file at a time, a restriction
-# shared with many OS's install programs.
-
-# set DOITPROG to echo to test this script
-
-# Don't use :- since 4.3BSD and earlier shells don't like it.
-doit="${DOITPROG-}"
-
-# put in absolute paths if you don't have them in your path; or use env. vars.
-
-mvprog="${MVPROG-mv}"
-cpprog="${CPPROG-cp}"
-chmodprog="${CHMODPROG-chmod}"
-chownprog="${CHOWNPROG-chown}"
-chgrpprog="${CHGRPPROG-chgrp}"
-stripprog="${STRIPPROG-strip}"
-rmprog="${RMPROG-rm}"
-mkdirprog="${MKDIRPROG-mkdir}"
-
-chmodcmd="$chmodprog 0755"
-chowncmd=
-chgrpcmd=
-stripcmd=
-rmcmd="$rmprog -f"
-mvcmd="$mvprog"
-src=
-dst=
-dir_arg=
-dstarg=
-no_target_directory=
-
-usage="Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
- or: $0 [OPTION]... SRCFILES... DIRECTORY
- or: $0 [OPTION]... -t DIRECTORY SRCFILES...
- or: $0 [OPTION]... -d DIRECTORIES...
-
-In the 1st form, copy SRCFILE to DSTFILE.
-In the 2nd and 3rd, copy all SRCFILES to DIRECTORY.
-In the 4th, create DIRECTORIES.
-
-Options:
--c (ignored)
--d create directories instead of installing files.
--g GROUP $chgrpprog installed files to GROUP.
--m MODE $chmodprog installed files to MODE.
--o USER $chownprog installed files to USER.
--s $stripprog installed files.
--t DIRECTORY install into DIRECTORY.
--T report an error if DSTFILE is a directory.
---help display this help and exit.
---version display version info and exit.
-
-Environment variables override the default commands:
- CHGRPPROG CHMODPROG CHOWNPROG CPPROG MKDIRPROG MVPROG RMPROG STRIPPROG
-"
-
-while test -n "$1"; do
- case $1 in
- -c) shift
- continue;;
-
- -d) dir_arg=true
- shift
- continue;;
-
- -g) chgrpcmd="$chgrpprog $2"
- shift
- shift
- continue;;
-
- --help) echo "$usage"; exit $?;;
-
- -m) chmodcmd="$chmodprog $2"
- shift
- shift
- continue;;
-
- -o) chowncmd="$chownprog $2"
- shift
- shift
- continue;;
-
- -s) stripcmd=$stripprog
- shift
- continue;;
-
- -t) dstarg=$2
- shift
- shift
- continue;;
-
- -T) no_target_directory=true
- shift
- continue;;
-
- --version) echo "$0 $scriptversion"; exit $?;;
-
- *) # When -d is used, all remaining arguments are directories to create.
- # When -t is used, the destination is already specified.
- test -n "$dir_arg$dstarg" && break
- # Otherwise, the last argument is the destination. Remove it from $@.
- for arg
- do
- if test -n "$dstarg"; then
- # $@ is not empty: it contains at least $arg.
- set fnord "$@" "$dstarg"
- shift # fnord
- fi
- shift # arg
- dstarg=$arg
- done
- break;;
- esac
-done
-
-if test -z "$1"; then
- if test -z "$dir_arg"; then
- echo "$0: no input file specified." >&2
- exit 1
- fi
- # It's OK to call `install-sh -d' without argument.
- # This can happen when creating conditional directories.
- exit 0
-fi
-
-for src
-do
- # Protect names starting with `-'.
- case $src in
- -*) src=./$src ;;
- esac
-
- if test -n "$dir_arg"; then
- dst=$src
- src=
-
- if test -d "$dst"; then
- mkdircmd=:
- chmodcmd=
- else
- mkdircmd=$mkdirprog
- fi
- else
- # Waiting for this to be detected by the "$cpprog $src $dsttmp" command
- # might cause directories to be created, which would be especially bad
- # if $src (and thus $dsttmp) contains '*'.
- if test ! -f "$src" && test ! -d "$src"; then
- echo "$0: $src does not exist." >&2
- exit 1
- fi
-
- if test -z "$dstarg"; then
- echo "$0: no destination specified." >&2
- exit 1
- fi
-
- dst=$dstarg
- # Protect names starting with `-'.
- case $dst in
- -*) dst=./$dst ;;
- esac
-
- # If destination is a directory, append the input filename; won't work
- # if double slashes aren't ignored.
- if test -d "$dst"; then
- if test -n "$no_target_directory"; then
- echo "$0: $dstarg: Is a directory" >&2
- exit 1
- fi
- dst=$dst/`basename "$src"`
- fi
- fi
-
- # This sed command emulates the dirname command.
- dstdir=`echo "$dst" | sed -e 's,/*$,,;s,[^/]*$,,;s,/*$,,;s,^$,.,'`
-
- # Make sure that the destination directory exists.
-
- # Skip lots of stat calls in the usual case.
- if test ! -d "$dstdir"; then
- defaultIFS='
- '
- IFS="${IFS-$defaultIFS}"
-
- oIFS=$IFS
- # Some sh's can't handle IFS=/ for some reason.
- IFS='%'
- set x `echo "$dstdir" | sed -e 's@/@%@g' -e 's@^%@/@'`
- shift
- IFS=$oIFS
-
- pathcomp=
-
- while test $# -ne 0 ; do
- pathcomp=$pathcomp$1
- shift
- if test ! -d "$pathcomp"; then
- $mkdirprog "$pathcomp"
- # mkdir can fail with a `File exist' error in case several
- # install-sh are creating the directory concurrently. This
- # is OK.
- test -d "$pathcomp" || exit
- fi
- pathcomp=$pathcomp/
- done
- fi
-
- if test -n "$dir_arg"; then
- $doit $mkdircmd "$dst" \
- && { test -z "$chowncmd" || $doit $chowncmd "$dst"; } \
- && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } \
- && { test -z "$stripcmd" || $doit $stripcmd "$dst"; } \
- && { test -z "$chmodcmd" || $doit $chmodcmd "$dst"; }
-
- else
- dstfile=`basename "$dst"`
-
- # Make a couple of temp file names in the proper directory.
- dsttmp=$dstdir/_inst.$$_
- rmtmp=$dstdir/_rm.$$_
-
- # Trap to clean up those temp files at exit.
- trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0
- trap '(exit $?); exit' 1 2 13 15
-
- # Copy the file name to the temp name.
- $doit $cpprog "$src" "$dsttmp" &&
-
- # and set any options; do chmod last to preserve setuid bits.
- #
- # If any of these fail, we abort the whole thing. If we want to
- # ignore errors from any of these, just make sure not to ignore
- # errors from the above "$doit $cpprog $src $dsttmp" command.
- #
- { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } \
- && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } \
- && { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } \
- && { test -z "$chmodcmd" || $doit $chmodcmd "$dsttmp"; } &&
-
- # Now rename the file to the real destination.
- { $doit $mvcmd -f "$dsttmp" "$dstdir/$dstfile" 2>/dev/null \
- || {
- # The rename failed, perhaps because mv can't rename something else
- # to itself, or perhaps because mv is so ancient that it does not
- # support -f.
-
- # Now remove or move aside any old file at destination location.
- # We try this two ways since rm can't unlink itself on some
- # systems and the destination file might be busy for other
- # reasons. In this case, the final cleanup might fail but the new
- # file should still install successfully.
- {
- if test -f "$dstdir/$dstfile"; then
- $doit $rmcmd -f "$dstdir/$dstfile" 2>/dev/null \
- || $doit $mvcmd -f "$dstdir/$dstfile" "$rmtmp" 2>/dev/null \
- || {
- echo "$0: cannot unlink or rename $dstdir/$dstfile" >&2
- (exit 1); exit 1
- }
- else
- :
- fi
- } &&
-
- # Now rename the file to the real destination.
- $doit $mvcmd "$dsttmp" "$dstdir/$dstfile"
- }
- }
- fi || { (exit 1); exit 1; }
-done
-
-# The final little trick to "correctly" pass the exit status to the exit trap.
-{
- (exit 0); exit 0
-}
-
-# Local variables:
-# eval: (add-hook 'write-file-hooks 'time-stamp)
-# time-stamp-start: "scriptversion="
-# time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-end: "$"
-# End:
diff --git a/libabi/Makefile.in b/libabi/Makefile.in
deleted file mode 100644
index bcd3eba..0000000
--- a/libabi/Makefile.in
+++ /dev/null
@@ -1,677 +0,0 @@
-# Makefile.in generated by automake 1.9.6 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005 Free Software Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ..
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-bin_PROGRAMS = opimport$(EXEEXT)
-subdir = libabi
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/binutils.m4 \
- $(top_srcdir)/m4/builtinexpect.m4 \
- $(top_srcdir)/m4/cellspubfdsupport.m4 \
- $(top_srcdir)/m4/compileroption.m4 \
- $(top_srcdir)/m4/configmodule.m4 \
- $(top_srcdir)/m4/copyifchange.m4 $(top_srcdir)/m4/docbook.m4 \
- $(top_srcdir)/m4/extradirs.m4 $(top_srcdir)/m4/findkernel.m4 \
- $(top_srcdir)/m4/kerneloption.m4 \
- $(top_srcdir)/m4/kernelversion.m4 \
- $(top_srcdir)/m4/mallocattribute.m4 \
- $(top_srcdir)/m4/poptconst.m4 \
- $(top_srcdir)/m4/precompiledheader.m4 $(top_srcdir)/m4/qt.m4 \
- $(top_srcdir)/m4/resultyn.m4 $(top_srcdir)/m4/sstream.m4 \
- $(top_srcdir)/m4/typedef.m4 $(top_srcdir)/configure.in
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-LIBRARIES = $(noinst_LIBRARIES)
-ARFLAGS = cru
-libabi_a_AR = $(AR) $(ARFLAGS)
-libabi_a_LIBADD =
-am_libabi_a_OBJECTS = abi.$(OBJEXT) op_abi.$(OBJEXT)
-libabi_a_OBJECTS = $(am_libabi_a_OBJECTS)
-am__installdirs = "$(DESTDIR)$(bindir)"
-binPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
-PROGRAMS = $(bin_PROGRAMS)
-am_opimport_OBJECTS = opimport.$(OBJEXT)
-opimport_OBJECTS = $(am_opimport_OBJECTS)
-opimport_DEPENDENCIES = libabi.a ../libdb/libodb.a \
- ../libopt++/libopt++.a ../libutil++/libutil++.a \
- ../libutil/libutil.a
-DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
-depcomp = $(SHELL) $(top_srcdir)/depcomp
-am__depfiles_maybe = depfiles
-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \
- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
- $(AM_CFLAGS) $(CFLAGS)
-CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(AM_LDFLAGS) $(LDFLAGS) -o $@
-CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
-LTCXXCOMPILE = $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) \
- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
- $(AM_CXXFLAGS) $(CXXFLAGS)
-CXXLD = $(CXX)
-CXXLINK = $(LIBTOOL) --tag=CXX --mode=link $(CXXLD) $(AM_CXXFLAGS) \
- $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
-SOURCES = $(libabi_a_SOURCES) $(opimport_SOURCES)
-DIST_SOURCES = $(libabi_a_SOURCES) $(opimport_SOURCES)
-RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
- html-recursive info-recursive install-data-recursive \
- install-exec-recursive install-info-recursive \
- install-recursive installcheck-recursive installdirs-recursive \
- pdf-recursive ps-recursive uninstall-info-recursive \
- uninstall-recursive
-ETAGS = etags
-CTAGS = ctags
-DIST_SUBDIRS = $(SUBDIRS)
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
-AMTAR = @AMTAR@
-AR = @AR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-BFD_LIBS = @BFD_LIBS@
-BUILD_JVMPI_AGENT_FALSE = @BUILD_JVMPI_AGENT_FALSE@
-BUILD_JVMPI_AGENT_TRUE = @BUILD_JVMPI_AGENT_TRUE@
-BUILD_JVMTI_AGENT_FALSE = @BUILD_JVMTI_AGENT_FALSE@
-BUILD_JVMTI_AGENT_TRUE = @BUILD_JVMTI_AGENT_TRUE@
-CAT_ENTRY_END = @CAT_ENTRY_END@
-CAT_ENTRY_START = @CAT_ENTRY_START@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DATE = @DATE@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DOCBOOK_ROOT = @DOCBOOK_ROOT@
-ECHO = @ECHO@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-EXTRA_CFLAGS_MODULE = @EXTRA_CFLAGS_MODULE@
-F77 = @F77@
-FFLAGS = @FFLAGS@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-JAVA_HOMEDIR = @JAVA_HOMEDIR@
-KINC = @KINC@
-KSRC = @KSRC@
-KVERS = @KVERS@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LIBERTY_LIBS = @LIBERTY_LIBS@
-LIBOBJS = @LIBOBJS@
-LIBS = @POPT_LIBS@ @LIBERTY_LIBS@
-LIBTOOL = @LIBTOOL@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-MAKEINFO = @MAKEINFO@
-MOC = @MOC@
-MODINSTALLDIR = @MODINSTALLDIR@
-OBJEXT = @OBJEXT@
-OPROFILE_DIR = @OPROFILE_DIR@
-OPROFILE_MODULE_ARCH = @OPROFILE_MODULE_ARCH@
-OP_CFLAGS = @OP_CFLAGS@
-OP_CXXFLAGS = @OP_CXXFLAGS@
-OP_DOCDIR = @OP_DOCDIR@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-POPT_LIBS = @POPT_LIBS@
-PTRDIFF_T_TYPE = @PTRDIFF_T_TYPE@
-QT_INCLUDES = @QT_INCLUDES@
-QT_LDFLAGS = @QT_LDFLAGS@
-QT_LIB = @QT_LIB@
-QT_VERSION = @QT_VERSION@
-RANLIB = @RANLIB@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-SIZE_T_TYPE = @SIZE_T_TYPE@
-STRIP = @STRIP@
-UIC = @UIC@
-VERSION = @VERSION@
-XML_CATALOG = @XML_CATALOG@
-XSLTPROC = @XSLTPROC@
-XSLTPROC_FLAGS = @XSLTPROC_FLAGS@
-X_CFLAGS = @X_CFLAGS@
-X_EXTRA_LIBS = @X_EXTRA_LIBS@
-X_LIBS = @X_LIBS@
-X_PRE_LIBS = @X_PRE_LIBS@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
-am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-datadir = @datadir@
-exec_prefix = @exec_prefix@
-have_qt_FALSE = @have_qt_FALSE@
-have_qt_TRUE = @have_qt_TRUE@
-have_xsltproc_FALSE = @have_xsltproc_FALSE@
-have_xsltproc_TRUE = @have_xsltproc_TRUE@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-kernel_support_FALSE = @kernel_support_FALSE@
-kernel_support_TRUE = @kernel_support_TRUE@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-topdir = @topdir@
-SUBDIRS = . tests
-AM_CPPFLAGS = \
- -I ${top_srcdir}/libop \
- -I ${top_srcdir}/libutil \
- -I ${top_srcdir}/libdb \
- -I ${top_srcdir}/libopt++
-
-AM_CXXFLAGS = @OP_CXXFLAGS@
-noinst_LIBRARIES = libabi.a
-libabi_a_SOURCES = abi.cpp abi.h op_abi.c op_abi.h
-opimport_SOURCES = opimport.cpp
-opimport_LDADD = \
- libabi.a \
- ../libdb/libodb.a \
- ../libopt++/libopt++.a \
- ../libutil++/libutil++.a \
- ../libutil/libutil.a
-
-all: all-recursive
-
-.SUFFIXES:
-.SUFFIXES: .c .cpp .lo .o .obj
-$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign libabi/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --foreign libabi/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- @case '$?' in \
- *config.status*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
- *) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-clean-noinstLIBRARIES:
- -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
-libabi.a: $(libabi_a_OBJECTS) $(libabi_a_DEPENDENCIES)
- -rm -f libabi.a
- $(libabi_a_AR) libabi.a $(libabi_a_OBJECTS) $(libabi_a_LIBADD)
- $(RANLIB) libabi.a
-install-binPROGRAMS: $(bin_PROGRAMS)
- @$(NORMAL_INSTALL)
- test -z "$(bindir)" || $(mkdir_p) "$(DESTDIR)$(bindir)"
- @list='$(bin_PROGRAMS)'; for p in $$list; do \
- p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
- if test -f $$p \
- || test -f $$p1 \
- ; then \
- f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \
- echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \
- $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \
- else :; fi; \
- done
-
-uninstall-binPROGRAMS:
- @$(NORMAL_UNINSTALL)
- @list='$(bin_PROGRAMS)'; for p in $$list; do \
- f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
- echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \
- rm -f "$(DESTDIR)$(bindir)/$$f"; \
- done
-
-clean-binPROGRAMS:
- @list='$(bin_PROGRAMS)'; for p in $$list; do \
- f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
- echo " rm -f $$p $$f"; \
- rm -f $$p $$f ; \
- done
-opimport$(EXEEXT): $(opimport_OBJECTS) $(opimport_DEPENDENCIES)
- @rm -f opimport$(EXEEXT)
- $(CXXLINK) $(opimport_LDFLAGS) $(opimport_OBJECTS) $(opimport_LDADD) $(LIBS)
-
-mostlyclean-compile:
- -rm -f *.$(OBJEXT)
-
-distclean-compile:
- -rm -f *.tab.c
-
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/abi.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/op_abi.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/opimport.Po@am__quote@
-
-.c.o:
-@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(COMPILE) -c $<
-
-.c.obj:
-@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
-
-.c.lo:
-@am__fastdepCC_TRUE@ if $(LTCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
-
-.cpp.o:
-@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
-@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $<
-
-.cpp.obj:
-@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
-@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
-
-.cpp.lo:
-@am__fastdepCXX_TRUE@ if $(LTCXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
-@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $<
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-
-# This directory's subdirectories are mostly independent; you can cd
-# into them and run `make' without going through this Makefile.
-# To change the values of `make' variables: instead of editing Makefiles,
-# (1) if the variable is set in `config.status', edit `config.status'
-# (which will cause the Makefiles to be regenerated when you run `make');
-# (2) otherwise, pass the desired values on the `make' command line.
-$(RECURSIVE_TARGETS):
- @failcom='exit 1'; \
- for f in x $$MAKEFLAGS; do \
- case $$f in \
- *=* | --[!k]*);; \
- *k*) failcom='fail=yes';; \
- esac; \
- done; \
- dot_seen=no; \
- target=`echo $@ | sed s/-recursive//`; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- dot_seen=yes; \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || eval $$failcom; \
- done; \
- if test "$$dot_seen" = "no"; then \
- $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
- fi; test -z "$$fail"
-
-mostlyclean-recursive clean-recursive distclean-recursive \
-maintainer-clean-recursive:
- @failcom='exit 1'; \
- for f in x $$MAKEFLAGS; do \
- case $$f in \
- *=* | --[!k]*);; \
- *k*) failcom='fail=yes';; \
- esac; \
- done; \
- dot_seen=no; \
- case "$@" in \
- distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
- *) list='$(SUBDIRS)' ;; \
- esac; \
- rev=''; for subdir in $$list; do \
- if test "$$subdir" = "."; then :; else \
- rev="$$subdir $$rev"; \
- fi; \
- done; \
- rev="$$rev ."; \
- target=`echo $@ | sed s/-recursive//`; \
- for subdir in $$rev; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || eval $$failcom; \
- done && test -z "$$fail"
-tags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
- done
-ctags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
- done
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
- include_option=--etags-include; \
- empty_fix=.; \
- else \
- include_option=--include; \
- empty_fix=; \
- fi; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
- test ! -f $$subdir/TAGS || \
- tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
- fi; \
- done; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
- test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
- fi
-ctags: CTAGS
-CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkdir_p) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
- if test -d $$d/$$file; then \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
- fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
- else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
- || exit 1; \
- fi; \
- done
- list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
- test -d "$(distdir)/$$subdir" \
- || $(mkdir_p) "$(distdir)/$$subdir" \
- || exit 1; \
- distdir=`$(am__cd) $(distdir) && pwd`; \
- top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
- (cd $$subdir && \
- $(MAKE) $(AM_MAKEFLAGS) \
- top_distdir="$$top_distdir" \
- distdir="$$distdir/$$subdir" \
- distdir) \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: check-recursive
-all-am: Makefile $(LIBRARIES) $(PROGRAMS)
-installdirs: installdirs-recursive
-installdirs-am:
- for dir in "$(DESTDIR)$(bindir)"; do \
- test -z "$$dir" || $(mkdir_p) "$$dir"; \
- done
-install: install-recursive
-install-exec: install-exec-recursive
-install-data: install-data-recursive
-uninstall: uninstall-recursive
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-recursive
-install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-recursive
-
-clean-am: clean-binPROGRAMS clean-generic clean-libtool \
- clean-noinstLIBRARIES mostlyclean-am
-
-distclean: distclean-recursive
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
- distclean-libtool distclean-tags
-
-dvi: dvi-recursive
-
-dvi-am:
-
-html: html-recursive
-
-info: info-recursive
-
-info-am:
-
-install-data-am:
-
-install-exec-am: install-binPROGRAMS
-
-install-info: install-info-recursive
-
-install-man:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-recursive
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-recursive
-
-mostlyclean-am: mostlyclean-compile mostlyclean-generic \
- mostlyclean-libtool
-
-pdf: pdf-recursive
-
-pdf-am:
-
-ps: ps-recursive
-
-ps-am:
-
-uninstall-am: uninstall-binPROGRAMS uninstall-info-am
-
-uninstall-info: uninstall-info-recursive
-
-.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am \
- clean clean-binPROGRAMS clean-generic clean-libtool \
- clean-noinstLIBRARIES clean-recursive ctags ctags-recursive \
- distclean distclean-compile distclean-generic \
- distclean-libtool distclean-recursive distclean-tags distdir \
- dvi dvi-am html html-am info info-am install install-am \
- install-binPROGRAMS install-data install-data-am install-exec \
- install-exec-am install-info install-info-am install-man \
- install-strip installcheck installcheck-am installdirs \
- installdirs-am maintainer-clean maintainer-clean-generic \
- maintainer-clean-recursive mostlyclean mostlyclean-compile \
- mostlyclean-generic mostlyclean-libtool mostlyclean-recursive \
- pdf pdf-am ps ps-am tags tags-recursive uninstall uninstall-am \
- uninstall-binPROGRAMS uninstall-info-am
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/libabi/opimport.cpp b/libabi/opimport.cpp
index 77d869e..b772c88 100644
--- a/libabi/opimport.cpp
+++ b/libabi/opimport.cpp
@@ -78,7 +78,8 @@ void extractor::extract(T & targ, void const * src_,
unsigned char const * src = static_cast<unsigned char const *>(src_)
+ theabi.need(off);
size_t nbytes = theabi.need(sz);
-
+
+ targ = 0;
if (nbytes == 0)
return;
@@ -91,7 +92,6 @@ void extractor::extract(T & targ, void const * src_,
<< " bytes @ " << off << " = " << (src - begin)
<< " : ";
- targ = 0;
if (little_endian)
while(nbytes--)
targ = (targ << 8) | src[nbytes];
@@ -114,8 +114,6 @@ void import_from_abi(abi const & abi, void const * srcv,
extractor ext(abi, src, len);
memcpy(head->magic, src + abi.need("offsetof_header_magic"), 4);
- if (verbose)
- cerr << hex << "magic = " << (int) head->magic[0] << ":" << (int) head->magic[1] << ":" << (int) head->magic[2] << ":" << (int) head->magic[3] << endl;
// begin extracting opd header
ext.extract(head->version, src, "sizeof_u32", "offsetof_header_version");
diff --git a/libabi/tests/Makefile.in b/libabi/tests/Makefile.in
deleted file mode 100644
index 3203cb3..0000000
--- a/libabi/tests/Makefile.in
+++ /dev/null
@@ -1,492 +0,0 @@
-# Makefile.in generated by automake 1.9.6 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005 Free Software Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ../..
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-check_PROGRAMS = abi_test$(EXEEXT)
-subdir = libabi/tests
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/binutils.m4 \
- $(top_srcdir)/m4/builtinexpect.m4 \
- $(top_srcdir)/m4/cellspubfdsupport.m4 \
- $(top_srcdir)/m4/compileroption.m4 \
- $(top_srcdir)/m4/configmodule.m4 \
- $(top_srcdir)/m4/copyifchange.m4 $(top_srcdir)/m4/docbook.m4 \
- $(top_srcdir)/m4/extradirs.m4 $(top_srcdir)/m4/findkernel.m4 \
- $(top_srcdir)/m4/kerneloption.m4 \
- $(top_srcdir)/m4/kernelversion.m4 \
- $(top_srcdir)/m4/mallocattribute.m4 \
- $(top_srcdir)/m4/poptconst.m4 \
- $(top_srcdir)/m4/precompiledheader.m4 $(top_srcdir)/m4/qt.m4 \
- $(top_srcdir)/m4/resultyn.m4 $(top_srcdir)/m4/sstream.m4 \
- $(top_srcdir)/m4/typedef.m4 $(top_srcdir)/configure.in
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-am_abi_test_OBJECTS = abi_test.$(OBJEXT)
-abi_test_OBJECTS = $(am_abi_test_OBJECTS)
-abi_test_DEPENDENCIES = ../libabi.a ../../libop/libop.a \
- ../../libdb/libodb.a ../../libopt++/libopt++.a \
- ../../libutil++/libutil++.a ../../libutil/libutil.a
-DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
-depcomp = $(SHELL) $(top_srcdir)/depcomp
-am__depfiles_maybe = depfiles
-CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
-LTCXXCOMPILE = $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) \
- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
- $(AM_CXXFLAGS) $(CXXFLAGS)
-CXXLD = $(CXX)
-CXXLINK = $(LIBTOOL) --tag=CXX --mode=link $(CXXLD) $(AM_CXXFLAGS) \
- $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
-SOURCES = $(abi_test_SOURCES)
-DIST_SOURCES = $(abi_test_SOURCES)
-ETAGS = etags
-CTAGS = ctags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
-AMTAR = @AMTAR@
-AR = @AR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-BFD_LIBS = @BFD_LIBS@
-BUILD_JVMPI_AGENT_FALSE = @BUILD_JVMPI_AGENT_FALSE@
-BUILD_JVMPI_AGENT_TRUE = @BUILD_JVMPI_AGENT_TRUE@
-BUILD_JVMTI_AGENT_FALSE = @BUILD_JVMTI_AGENT_FALSE@
-BUILD_JVMTI_AGENT_TRUE = @BUILD_JVMTI_AGENT_TRUE@
-CAT_ENTRY_END = @CAT_ENTRY_END@
-CAT_ENTRY_START = @CAT_ENTRY_START@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DATE = @DATE@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DOCBOOK_ROOT = @DOCBOOK_ROOT@
-ECHO = @ECHO@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-EXTRA_CFLAGS_MODULE = @EXTRA_CFLAGS_MODULE@
-F77 = @F77@
-FFLAGS = @FFLAGS@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-JAVA_HOMEDIR = @JAVA_HOMEDIR@
-KINC = @KINC@
-KSRC = @KSRC@
-KVERS = @KVERS@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LIBERTY_LIBS = @LIBERTY_LIBS@
-LIBOBJS = @LIBOBJS@
-LIBS = @POPT_LIBS@ @LIBERTY_LIBS@
-LIBTOOL = @LIBTOOL@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-MAKEINFO = @MAKEINFO@
-MOC = @MOC@
-MODINSTALLDIR = @MODINSTALLDIR@
-OBJEXT = @OBJEXT@
-OPROFILE_DIR = @OPROFILE_DIR@
-OPROFILE_MODULE_ARCH = @OPROFILE_MODULE_ARCH@
-OP_CFLAGS = @OP_CFLAGS@
-OP_CXXFLAGS = @OP_CXXFLAGS@
-OP_DOCDIR = @OP_DOCDIR@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-POPT_LIBS = @POPT_LIBS@
-PTRDIFF_T_TYPE = @PTRDIFF_T_TYPE@
-QT_INCLUDES = @QT_INCLUDES@
-QT_LDFLAGS = @QT_LDFLAGS@
-QT_LIB = @QT_LIB@
-QT_VERSION = @QT_VERSION@
-RANLIB = @RANLIB@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-SIZE_T_TYPE = @SIZE_T_TYPE@
-STRIP = @STRIP@
-UIC = @UIC@
-VERSION = @VERSION@
-XML_CATALOG = @XML_CATALOG@
-XSLTPROC = @XSLTPROC@
-XSLTPROC_FLAGS = @XSLTPROC_FLAGS@
-X_CFLAGS = @X_CFLAGS@
-X_EXTRA_LIBS = @X_EXTRA_LIBS@
-X_LIBS = @X_LIBS@
-X_PRE_LIBS = @X_PRE_LIBS@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
-am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-datadir = @datadir@
-exec_prefix = @exec_prefix@
-have_qt_FALSE = @have_qt_FALSE@
-have_qt_TRUE = @have_qt_TRUE@
-have_xsltproc_FALSE = @have_xsltproc_FALSE@
-have_xsltproc_TRUE = @have_xsltproc_TRUE@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-kernel_support_FALSE = @kernel_support_FALSE@
-kernel_support_TRUE = @kernel_support_TRUE@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-topdir = @topdir@
-AM_CPPFLAGS = \
- -I ${top_srcdir}/libabi \
- -I ${top_srcdir}/libop \
- -I ${top_srcdir}/libdb \
- -I ${top_srcdir}/libopt++ \
- -I ${top_srcdir}/libutil
-
-AM_CXXFLAGS = @OP_CXXFLAGS@
-abi_test_SOURCES = abi_test.cpp
-abi_test_LDADD = \
- ../libabi.a \
- ../../libop/libop.a \
- ../../libdb/libodb.a \
- ../../libopt++/libopt++.a \
- ../../libutil++/libutil++.a \
- ../../libutil/libutil.a
-
-all: all-am
-
-.SUFFIXES:
-.SUFFIXES: .cpp .lo .o .obj
-$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign libabi/tests/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --foreign libabi/tests/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- @case '$?' in \
- *config.status*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
- *) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-clean-checkPROGRAMS:
- @list='$(check_PROGRAMS)'; for p in $$list; do \
- f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
- echo " rm -f $$p $$f"; \
- rm -f $$p $$f ; \
- done
-abi_test$(EXEEXT): $(abi_test_OBJECTS) $(abi_test_DEPENDENCIES)
- @rm -f abi_test$(EXEEXT)
- $(CXXLINK) $(abi_test_LDFLAGS) $(abi_test_OBJECTS) $(abi_test_LDADD) $(LIBS)
-
-mostlyclean-compile:
- -rm -f *.$(OBJEXT)
-
-distclean-compile:
- -rm -f *.tab.c
-
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/abi_test.Po@am__quote@
-
-.cpp.o:
-@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
-@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $<
-
-.cpp.obj:
-@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
-@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
-
-.cpp.lo:
-@am__fastdepCXX_TRUE@ if $(LTCXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
-@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $<
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
- test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
- fi
-ctags: CTAGS
-CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkdir_p) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
- if test -d $$d/$$file; then \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
- fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
- else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
- || exit 1; \
- fi; \
- done
-check-am: all-am
- $(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS)
-check: check-am
-all-am: Makefile
-installdirs:
-install: install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-am
-
-clean-am: clean-checkPROGRAMS clean-generic clean-libtool \
- mostlyclean-am
-
-distclean: distclean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
- distclean-libtool distclean-tags
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-info: info-am
-
-info-am:
-
-install-data-am:
-
-install-exec-am:
-
-install-info: install-info-am
-
-install-man:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-compile mostlyclean-generic \
- mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am: uninstall-info-am
-
-.PHONY: CTAGS GTAGS all all-am check check-am clean \
- clean-checkPROGRAMS clean-generic clean-libtool ctags \
- distclean distclean-compile distclean-generic \
- distclean-libtool distclean-tags distdir dvi dvi-am html \
- html-am info info-am install install-am install-data \
- install-data-am install-exec install-exec-am install-info \
- install-info-am install-man install-strip installcheck \
- installcheck-am installdirs maintainer-clean \
- maintainer-clean-generic mostlyclean mostlyclean-compile \
- mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
- tags uninstall uninstall-am uninstall-info-am
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/libdb/Makefile.in b/libdb/Makefile.in
deleted file mode 100644
index 5726228..0000000
--- a/libdb/Makefile.in
+++ /dev/null
@@ -1,603 +0,0 @@
-# Makefile.in generated by automake 1.9.6 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005 Free Software Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ..
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-subdir = libdb
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/binutils.m4 \
- $(top_srcdir)/m4/builtinexpect.m4 \
- $(top_srcdir)/m4/cellspubfdsupport.m4 \
- $(top_srcdir)/m4/compileroption.m4 \
- $(top_srcdir)/m4/configmodule.m4 \
- $(top_srcdir)/m4/copyifchange.m4 $(top_srcdir)/m4/docbook.m4 \
- $(top_srcdir)/m4/extradirs.m4 $(top_srcdir)/m4/findkernel.m4 \
- $(top_srcdir)/m4/kerneloption.m4 \
- $(top_srcdir)/m4/kernelversion.m4 \
- $(top_srcdir)/m4/mallocattribute.m4 \
- $(top_srcdir)/m4/poptconst.m4 \
- $(top_srcdir)/m4/precompiledheader.m4 $(top_srcdir)/m4/qt.m4 \
- $(top_srcdir)/m4/resultyn.m4 $(top_srcdir)/m4/sstream.m4 \
- $(top_srcdir)/m4/typedef.m4 $(top_srcdir)/configure.in
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-LIBRARIES = $(noinst_LIBRARIES)
-ARFLAGS = cru
-libodb_a_AR = $(AR) $(ARFLAGS)
-libodb_a_LIBADD =
-am_libodb_a_OBJECTS = db_manage.$(OBJEXT) db_insert.$(OBJEXT) \
- db_travel.$(OBJEXT) db_debug.$(OBJEXT) db_stat.$(OBJEXT)
-libodb_a_OBJECTS = $(am_libodb_a_OBJECTS)
-DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
-depcomp = $(SHELL) $(top_srcdir)/depcomp
-am__depfiles_maybe = depfiles
-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \
- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
- $(AM_CFLAGS) $(CFLAGS)
-CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(AM_LDFLAGS) $(LDFLAGS) -o $@
-SOURCES = $(libodb_a_SOURCES)
-DIST_SOURCES = $(libodb_a_SOURCES)
-RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
- html-recursive info-recursive install-data-recursive \
- install-exec-recursive install-info-recursive \
- install-recursive installcheck-recursive installdirs-recursive \
- pdf-recursive ps-recursive uninstall-info-recursive \
- uninstall-recursive
-ETAGS = etags
-CTAGS = ctags
-DIST_SUBDIRS = $(SUBDIRS)
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
-AMTAR = @AMTAR@
-AR = @AR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-BFD_LIBS = @BFD_LIBS@
-BUILD_JVMPI_AGENT_FALSE = @BUILD_JVMPI_AGENT_FALSE@
-BUILD_JVMPI_AGENT_TRUE = @BUILD_JVMPI_AGENT_TRUE@
-BUILD_JVMTI_AGENT_FALSE = @BUILD_JVMTI_AGENT_FALSE@
-BUILD_JVMTI_AGENT_TRUE = @BUILD_JVMTI_AGENT_TRUE@
-CAT_ENTRY_END = @CAT_ENTRY_END@
-CAT_ENTRY_START = @CAT_ENTRY_START@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DATE = @DATE@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DOCBOOK_ROOT = @DOCBOOK_ROOT@
-ECHO = @ECHO@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-EXTRA_CFLAGS_MODULE = @EXTRA_CFLAGS_MODULE@
-F77 = @F77@
-FFLAGS = @FFLAGS@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-JAVA_HOMEDIR = @JAVA_HOMEDIR@
-KINC = @KINC@
-KSRC = @KSRC@
-KVERS = @KVERS@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LIBERTY_LIBS = @LIBERTY_LIBS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-MAKEINFO = @MAKEINFO@
-MOC = @MOC@
-MODINSTALLDIR = @MODINSTALLDIR@
-OBJEXT = @OBJEXT@
-OPROFILE_DIR = @OPROFILE_DIR@
-OPROFILE_MODULE_ARCH = @OPROFILE_MODULE_ARCH@
-OP_CFLAGS = @OP_CFLAGS@
-OP_CXXFLAGS = @OP_CXXFLAGS@
-OP_DOCDIR = @OP_DOCDIR@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-POPT_LIBS = @POPT_LIBS@
-PTRDIFF_T_TYPE = @PTRDIFF_T_TYPE@
-QT_INCLUDES = @QT_INCLUDES@
-QT_LDFLAGS = @QT_LDFLAGS@
-QT_LIB = @QT_LIB@
-QT_VERSION = @QT_VERSION@
-RANLIB = @RANLIB@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-SIZE_T_TYPE = @SIZE_T_TYPE@
-STRIP = @STRIP@
-UIC = @UIC@
-VERSION = @VERSION@
-XML_CATALOG = @XML_CATALOG@
-XSLTPROC = @XSLTPROC@
-XSLTPROC_FLAGS = @XSLTPROC_FLAGS@
-X_CFLAGS = @X_CFLAGS@
-X_EXTRA_LIBS = @X_EXTRA_LIBS@
-X_LIBS = @X_LIBS@
-X_PRE_LIBS = @X_PRE_LIBS@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
-am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-datadir = @datadir@
-exec_prefix = @exec_prefix@
-have_qt_FALSE = @have_qt_FALSE@
-have_qt_TRUE = @have_qt_TRUE@
-have_xsltproc_FALSE = @have_xsltproc_FALSE@
-have_xsltproc_TRUE = @have_xsltproc_TRUE@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-kernel_support_FALSE = @kernel_support_FALSE@
-kernel_support_TRUE = @kernel_support_TRUE@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-topdir = @topdir@
-SUBDIRS = . tests
-AM_CPPFLAGS = \
- -I ${top_srcdir}/libop \
- -I ${top_srcdir}/libutil
-
-AM_CFLAGS = @OP_CFLAGS@
-noinst_LIBRARIES = libodb.a
-libodb_a_SOURCES = \
- db_manage.c \
- db_insert.c \
- db_travel.c \
- db_debug.c \
- db_stat.c \
- odb.h
-
-all: all-recursive
-
-.SUFFIXES:
-.SUFFIXES: .c .lo .o .obj
-$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign libdb/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --foreign libdb/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- @case '$?' in \
- *config.status*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
- *) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-clean-noinstLIBRARIES:
- -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
-libodb.a: $(libodb_a_OBJECTS) $(libodb_a_DEPENDENCIES)
- -rm -f libodb.a
- $(libodb_a_AR) libodb.a $(libodb_a_OBJECTS) $(libodb_a_LIBADD)
- $(RANLIB) libodb.a
-
-mostlyclean-compile:
- -rm -f *.$(OBJEXT)
-
-distclean-compile:
- -rm -f *.tab.c
-
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/db_debug.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/db_insert.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/db_manage.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/db_stat.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/db_travel.Po@am__quote@
-
-.c.o:
-@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(COMPILE) -c $<
-
-.c.obj:
-@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
-
-.c.lo:
-@am__fastdepCC_TRUE@ if $(LTCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-
-# This directory's subdirectories are mostly independent; you can cd
-# into them and run `make' without going through this Makefile.
-# To change the values of `make' variables: instead of editing Makefiles,
-# (1) if the variable is set in `config.status', edit `config.status'
-# (which will cause the Makefiles to be regenerated when you run `make');
-# (2) otherwise, pass the desired values on the `make' command line.
-$(RECURSIVE_TARGETS):
- @failcom='exit 1'; \
- for f in x $$MAKEFLAGS; do \
- case $$f in \
- *=* | --[!k]*);; \
- *k*) failcom='fail=yes';; \
- esac; \
- done; \
- dot_seen=no; \
- target=`echo $@ | sed s/-recursive//`; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- dot_seen=yes; \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || eval $$failcom; \
- done; \
- if test "$$dot_seen" = "no"; then \
- $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
- fi; test -z "$$fail"
-
-mostlyclean-recursive clean-recursive distclean-recursive \
-maintainer-clean-recursive:
- @failcom='exit 1'; \
- for f in x $$MAKEFLAGS; do \
- case $$f in \
- *=* | --[!k]*);; \
- *k*) failcom='fail=yes';; \
- esac; \
- done; \
- dot_seen=no; \
- case "$@" in \
- distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
- *) list='$(SUBDIRS)' ;; \
- esac; \
- rev=''; for subdir in $$list; do \
- if test "$$subdir" = "."; then :; else \
- rev="$$subdir $$rev"; \
- fi; \
- done; \
- rev="$$rev ."; \
- target=`echo $@ | sed s/-recursive//`; \
- for subdir in $$rev; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || eval $$failcom; \
- done && test -z "$$fail"
-tags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
- done
-ctags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
- done
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
- include_option=--etags-include; \
- empty_fix=.; \
- else \
- include_option=--include; \
- empty_fix=; \
- fi; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
- test ! -f $$subdir/TAGS || \
- tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
- fi; \
- done; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
- test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
- fi
-ctags: CTAGS
-CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkdir_p) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
- if test -d $$d/$$file; then \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
- fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
- else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
- || exit 1; \
- fi; \
- done
- list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
- test -d "$(distdir)/$$subdir" \
- || $(mkdir_p) "$(distdir)/$$subdir" \
- || exit 1; \
- distdir=`$(am__cd) $(distdir) && pwd`; \
- top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
- (cd $$subdir && \
- $(MAKE) $(AM_MAKEFLAGS) \
- top_distdir="$$top_distdir" \
- distdir="$$distdir/$$subdir" \
- distdir) \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: check-recursive
-all-am: Makefile $(LIBRARIES)
-installdirs: installdirs-recursive
-installdirs-am:
-install: install-recursive
-install-exec: install-exec-recursive
-install-data: install-data-recursive
-uninstall: uninstall-recursive
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-recursive
-install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-recursive
-
-clean-am: clean-generic clean-libtool clean-noinstLIBRARIES \
- mostlyclean-am
-
-distclean: distclean-recursive
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
- distclean-libtool distclean-tags
-
-dvi: dvi-recursive
-
-dvi-am:
-
-html: html-recursive
-
-info: info-recursive
-
-info-am:
-
-install-data-am:
-
-install-exec-am:
-
-install-info: install-info-recursive
-
-install-man:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-recursive
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-recursive
-
-mostlyclean-am: mostlyclean-compile mostlyclean-generic \
- mostlyclean-libtool
-
-pdf: pdf-recursive
-
-pdf-am:
-
-ps: ps-recursive
-
-ps-am:
-
-uninstall-am: uninstall-info-am
-
-uninstall-info: uninstall-info-recursive
-
-.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am \
- clean clean-generic clean-libtool clean-noinstLIBRARIES \
- clean-recursive ctags ctags-recursive distclean \
- distclean-compile distclean-generic distclean-libtool \
- distclean-recursive distclean-tags distdir dvi dvi-am html \
- html-am info info-am install install-am install-data \
- install-data-am install-exec install-exec-am install-info \
- install-info-am install-man install-strip installcheck \
- installcheck-am installdirs installdirs-am maintainer-clean \
- maintainer-clean-generic maintainer-clean-recursive \
- mostlyclean mostlyclean-compile mostlyclean-generic \
- mostlyclean-libtool mostlyclean-recursive pdf pdf-am ps ps-am \
- tags tags-recursive uninstall uninstall-am uninstall-info-am
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/libdb/tests/Makefile.in b/libdb/tests/Makefile.in
deleted file mode 100644
index 31e4f5e..0000000
--- a/libdb/tests/Makefile.in
+++ /dev/null
@@ -1,556 +0,0 @@
-# Makefile.in generated by automake 1.9.6 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005 Free Software Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ../..
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-check_PROGRAMS = db_test$(EXEEXT)
-subdir = libdb/tests
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/binutils.m4 \
- $(top_srcdir)/m4/builtinexpect.m4 \
- $(top_srcdir)/m4/cellspubfdsupport.m4 \
- $(top_srcdir)/m4/compileroption.m4 \
- $(top_srcdir)/m4/configmodule.m4 \
- $(top_srcdir)/m4/copyifchange.m4 $(top_srcdir)/m4/docbook.m4 \
- $(top_srcdir)/m4/extradirs.m4 $(top_srcdir)/m4/findkernel.m4 \
- $(top_srcdir)/m4/kerneloption.m4 \
- $(top_srcdir)/m4/kernelversion.m4 \
- $(top_srcdir)/m4/mallocattribute.m4 \
- $(top_srcdir)/m4/poptconst.m4 \
- $(top_srcdir)/m4/precompiledheader.m4 $(top_srcdir)/m4/qt.m4 \
- $(top_srcdir)/m4/resultyn.m4 $(top_srcdir)/m4/sstream.m4 \
- $(top_srcdir)/m4/typedef.m4 $(top_srcdir)/configure.in
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-am_db_test_OBJECTS = db_test.$(OBJEXT)
-db_test_OBJECTS = $(am_db_test_OBJECTS)
-db_test_DEPENDENCIES = ../libodb.a ../../libutil/libutil.a
-DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
-depcomp = $(SHELL) $(top_srcdir)/depcomp
-am__depfiles_maybe = depfiles
-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \
- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
- $(AM_CFLAGS) $(CFLAGS)
-CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(AM_LDFLAGS) $(LDFLAGS) -o $@
-SOURCES = $(db_test_SOURCES)
-DIST_SOURCES = $(db_test_SOURCES)
-ETAGS = etags
-CTAGS = ctags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
-AMTAR = @AMTAR@
-AR = @AR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-BFD_LIBS = @BFD_LIBS@
-BUILD_JVMPI_AGENT_FALSE = @BUILD_JVMPI_AGENT_FALSE@
-BUILD_JVMPI_AGENT_TRUE = @BUILD_JVMPI_AGENT_TRUE@
-BUILD_JVMTI_AGENT_FALSE = @BUILD_JVMTI_AGENT_FALSE@
-BUILD_JVMTI_AGENT_TRUE = @BUILD_JVMTI_AGENT_TRUE@
-CAT_ENTRY_END = @CAT_ENTRY_END@
-CAT_ENTRY_START = @CAT_ENTRY_START@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DATE = @DATE@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DOCBOOK_ROOT = @DOCBOOK_ROOT@
-ECHO = @ECHO@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-EXTRA_CFLAGS_MODULE = @EXTRA_CFLAGS_MODULE@
-F77 = @F77@
-FFLAGS = @FFLAGS@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-JAVA_HOMEDIR = @JAVA_HOMEDIR@
-KINC = @KINC@
-KSRC = @KSRC@
-KVERS = @KVERS@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LIBERTY_LIBS = @LIBERTY_LIBS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBERTY_LIBS@
-LIBTOOL = @LIBTOOL@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-MAKEINFO = @MAKEINFO@
-MOC = @MOC@
-MODINSTALLDIR = @MODINSTALLDIR@
-OBJEXT = @OBJEXT@
-OPROFILE_DIR = @OPROFILE_DIR@
-OPROFILE_MODULE_ARCH = @OPROFILE_MODULE_ARCH@
-OP_CFLAGS = @OP_CFLAGS@
-OP_CXXFLAGS = @OP_CXXFLAGS@
-OP_DOCDIR = @OP_DOCDIR@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-POPT_LIBS = @POPT_LIBS@
-PTRDIFF_T_TYPE = @PTRDIFF_T_TYPE@
-QT_INCLUDES = @QT_INCLUDES@
-QT_LDFLAGS = @QT_LDFLAGS@
-QT_LIB = @QT_LIB@
-QT_VERSION = @QT_VERSION@
-RANLIB = @RANLIB@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-SIZE_T_TYPE = @SIZE_T_TYPE@
-STRIP = @STRIP@
-UIC = @UIC@
-VERSION = @VERSION@
-XML_CATALOG = @XML_CATALOG@
-XSLTPROC = @XSLTPROC@
-XSLTPROC_FLAGS = @XSLTPROC_FLAGS@
-X_CFLAGS = @X_CFLAGS@
-X_EXTRA_LIBS = @X_EXTRA_LIBS@
-X_LIBS = @X_LIBS@
-X_PRE_LIBS = @X_PRE_LIBS@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
-am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-datadir = @datadir@
-exec_prefix = @exec_prefix@
-have_qt_FALSE = @have_qt_FALSE@
-have_qt_TRUE = @have_qt_TRUE@
-have_xsltproc_FALSE = @have_xsltproc_FALSE@
-have_xsltproc_TRUE = @have_xsltproc_TRUE@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-kernel_support_FALSE = @kernel_support_FALSE@
-kernel_support_TRUE = @kernel_support_TRUE@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-topdir = @topdir@
-AM_CPPFLAGS = \
- -I ${top_srcdir}/libop \
- -I ${top_srcdir}/libutil \
- -I ${top_srcdir}/libdb
-
-AM_CFLAGS = @OP_CFLAGS@
-db_test_SOURCES = db_test.c
-db_test_LDADD = ../libodb.a ../../libutil/libutil.a
-TESTS = ${check_PROGRAMS}
-all: all-am
-
-.SUFFIXES:
-.SUFFIXES: .c .lo .o .obj
-$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign libdb/tests/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --foreign libdb/tests/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- @case '$?' in \
- *config.status*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
- *) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-clean-checkPROGRAMS:
- @list='$(check_PROGRAMS)'; for p in $$list; do \
- f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
- echo " rm -f $$p $$f"; \
- rm -f $$p $$f ; \
- done
-db_test$(EXEEXT): $(db_test_OBJECTS) $(db_test_DEPENDENCIES)
- @rm -f db_test$(EXEEXT)
- $(LINK) $(db_test_LDFLAGS) $(db_test_OBJECTS) $(db_test_LDADD) $(LIBS)
-
-mostlyclean-compile:
- -rm -f *.$(OBJEXT)
-
-distclean-compile:
- -rm -f *.tab.c
-
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/db_test.Po@am__quote@
-
-.c.o:
-@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(COMPILE) -c $<
-
-.c.obj:
-@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
-
-.c.lo:
-@am__fastdepCC_TRUE@ if $(LTCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
- test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
- fi
-ctags: CTAGS
-CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-check-TESTS: $(TESTS)
- @failed=0; all=0; xfail=0; xpass=0; skip=0; \
- srcdir=$(srcdir); export srcdir; \
- list='$(TESTS)'; \
- if test -n "$$list"; then \
- for tst in $$list; do \
- if test -f ./$$tst; then dir=./; \
- elif test -f $$tst; then dir=; \
- else dir="$(srcdir)/"; fi; \
- if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \
- all=`expr $$all + 1`; \
- case " $(XFAIL_TESTS) " in \
- *" $$tst "*) \
- xpass=`expr $$xpass + 1`; \
- failed=`expr $$failed + 1`; \
- echo "XPASS: $$tst"; \
- ;; \
- *) \
- echo "PASS: $$tst"; \
- ;; \
- esac; \
- elif test $$? -ne 77; then \
- all=`expr $$all + 1`; \
- case " $(XFAIL_TESTS) " in \
- *" $$tst "*) \
- xfail=`expr $$xfail + 1`; \
- echo "XFAIL: $$tst"; \
- ;; \
- *) \
- failed=`expr $$failed + 1`; \
- echo "FAIL: $$tst"; \
- ;; \
- esac; \
- else \
- skip=`expr $$skip + 1`; \
- echo "SKIP: $$tst"; \
- fi; \
- done; \
- if test "$$failed" -eq 0; then \
- if test "$$xfail" -eq 0; then \
- banner="All $$all tests passed"; \
- else \
- banner="All $$all tests behaved as expected ($$xfail expected failures)"; \
- fi; \
- else \
- if test "$$xpass" -eq 0; then \
- banner="$$failed of $$all tests failed"; \
- else \
- banner="$$failed of $$all tests did not behave as expected ($$xpass unexpected passes)"; \
- fi; \
- fi; \
- dashes="$$banner"; \
- skipped=""; \
- if test "$$skip" -ne 0; then \
- skipped="($$skip tests were not run)"; \
- test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \
- dashes="$$skipped"; \
- fi; \
- report=""; \
- if test "$$failed" -ne 0 && test -n "$(PACKAGE_BUGREPORT)"; then \
- report="Please report to $(PACKAGE_BUGREPORT)"; \
- test `echo "$$report" | wc -c` -le `echo "$$banner" | wc -c` || \
- dashes="$$report"; \
- fi; \
- dashes=`echo "$$dashes" | sed s/./=/g`; \
- echo "$$dashes"; \
- echo "$$banner"; \
- test -z "$$skipped" || echo "$$skipped"; \
- test -z "$$report" || echo "$$report"; \
- echo "$$dashes"; \
- test "$$failed" -eq 0; \
- else :; fi
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkdir_p) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
- if test -d $$d/$$file; then \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
- fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
- else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
- || exit 1; \
- fi; \
- done
-check-am: all-am
- $(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS)
- $(MAKE) $(AM_MAKEFLAGS) check-TESTS
-check: check-am
-all-am: Makefile
-installdirs:
-install: install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-am
-
-clean-am: clean-checkPROGRAMS clean-generic clean-libtool \
- mostlyclean-am
-
-distclean: distclean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
- distclean-libtool distclean-tags
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-info: info-am
-
-info-am:
-
-install-data-am:
-
-install-exec-am:
-
-install-info: install-info-am
-
-install-man:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-compile mostlyclean-generic \
- mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am: uninstall-info-am
-
-.PHONY: CTAGS GTAGS all all-am check check-TESTS check-am clean \
- clean-checkPROGRAMS clean-generic clean-libtool ctags \
- distclean distclean-compile distclean-generic \
- distclean-libtool distclean-tags distdir dvi dvi-am html \
- html-am info info-am install install-am install-data \
- install-data-am install-exec install-exec-am install-info \
- install-info-am install-man install-strip installcheck \
- installcheck-am installdirs maintainer-clean \
- maintainer-clean-generic mostlyclean mostlyclean-compile \
- mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
- tags uninstall uninstall-am uninstall-info-am
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/libop/Makefile.in b/libop/Makefile.in
deleted file mode 100644
index a91b612..0000000
--- a/libop/Makefile.in
+++ /dev/null
@@ -1,623 +0,0 @@
-# Makefile.in generated by automake 1.9.6 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005 Free Software Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ..
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-subdir = libop
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/binutils.m4 \
- $(top_srcdir)/m4/builtinexpect.m4 \
- $(top_srcdir)/m4/cellspubfdsupport.m4 \
- $(top_srcdir)/m4/compileroption.m4 \
- $(top_srcdir)/m4/configmodule.m4 \
- $(top_srcdir)/m4/copyifchange.m4 $(top_srcdir)/m4/docbook.m4 \
- $(top_srcdir)/m4/extradirs.m4 $(top_srcdir)/m4/findkernel.m4 \
- $(top_srcdir)/m4/kerneloption.m4 \
- $(top_srcdir)/m4/kernelversion.m4 \
- $(top_srcdir)/m4/mallocattribute.m4 \
- $(top_srcdir)/m4/poptconst.m4 \
- $(top_srcdir)/m4/precompiledheader.m4 $(top_srcdir)/m4/qt.m4 \
- $(top_srcdir)/m4/resultyn.m4 $(top_srcdir)/m4/sstream.m4 \
- $(top_srcdir)/m4/typedef.m4 $(top_srcdir)/configure.in
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-LIBRARIES = $(noinst_LIBRARIES)
-ARFLAGS = cru
-libop_a_AR = $(AR) $(ARFLAGS)
-libop_a_LIBADD =
-am_libop_a_OBJECTS = op_events.$(OBJEXT) op_parse_event.$(OBJEXT) \
- op_cpu_type.$(OBJEXT) op_mangle.$(OBJEXT) \
- op_get_interface.$(OBJEXT) op_alloc_counter.$(OBJEXT) \
- op_config.$(OBJEXT) op_xml_events.$(OBJEXT) \
- op_xml_out.$(OBJEXT)
-libop_a_OBJECTS = $(am_libop_a_OBJECTS)
-DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
-depcomp = $(SHELL) $(top_srcdir)/depcomp
-am__depfiles_maybe = depfiles
-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \
- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
- $(AM_CFLAGS) $(CFLAGS)
-CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(AM_LDFLAGS) $(LDFLAGS) -o $@
-SOURCES = $(libop_a_SOURCES)
-DIST_SOURCES = $(libop_a_SOURCES)
-RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
- html-recursive info-recursive install-data-recursive \
- install-exec-recursive install-info-recursive \
- install-recursive installcheck-recursive installdirs-recursive \
- pdf-recursive ps-recursive uninstall-info-recursive \
- uninstall-recursive
-ETAGS = etags
-CTAGS = ctags
-DIST_SUBDIRS = $(SUBDIRS)
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
-AMTAR = @AMTAR@
-AR = @AR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-BFD_LIBS = @BFD_LIBS@
-BUILD_JVMPI_AGENT_FALSE = @BUILD_JVMPI_AGENT_FALSE@
-BUILD_JVMPI_AGENT_TRUE = @BUILD_JVMPI_AGENT_TRUE@
-BUILD_JVMTI_AGENT_FALSE = @BUILD_JVMTI_AGENT_FALSE@
-BUILD_JVMTI_AGENT_TRUE = @BUILD_JVMTI_AGENT_TRUE@
-CAT_ENTRY_END = @CAT_ENTRY_END@
-CAT_ENTRY_START = @CAT_ENTRY_START@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DATE = @DATE@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DOCBOOK_ROOT = @DOCBOOK_ROOT@
-ECHO = @ECHO@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-EXTRA_CFLAGS_MODULE = @EXTRA_CFLAGS_MODULE@
-F77 = @F77@
-FFLAGS = @FFLAGS@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-JAVA_HOMEDIR = @JAVA_HOMEDIR@
-KINC = @KINC@
-KSRC = @KSRC@
-KVERS = @KVERS@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LIBERTY_LIBS = @LIBERTY_LIBS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-MAKEINFO = @MAKEINFO@
-MOC = @MOC@
-MODINSTALLDIR = @MODINSTALLDIR@
-OBJEXT = @OBJEXT@
-OPROFILE_DIR = @OPROFILE_DIR@
-OPROFILE_MODULE_ARCH = @OPROFILE_MODULE_ARCH@
-OP_CFLAGS = @OP_CFLAGS@
-OP_CXXFLAGS = @OP_CXXFLAGS@
-OP_DOCDIR = @OP_DOCDIR@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-POPT_LIBS = @POPT_LIBS@
-PTRDIFF_T_TYPE = @PTRDIFF_T_TYPE@
-QT_INCLUDES = @QT_INCLUDES@
-QT_LDFLAGS = @QT_LDFLAGS@
-QT_LIB = @QT_LIB@
-QT_VERSION = @QT_VERSION@
-RANLIB = @RANLIB@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-SIZE_T_TYPE = @SIZE_T_TYPE@
-STRIP = @STRIP@
-UIC = @UIC@
-VERSION = @VERSION@
-XML_CATALOG = @XML_CATALOG@
-XSLTPROC = @XSLTPROC@
-XSLTPROC_FLAGS = @XSLTPROC_FLAGS@
-X_CFLAGS = @X_CFLAGS@
-X_EXTRA_LIBS = @X_EXTRA_LIBS@
-X_LIBS = @X_LIBS@
-X_PRE_LIBS = @X_PRE_LIBS@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
-am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-datadir = @datadir@
-exec_prefix = @exec_prefix@
-have_qt_FALSE = @have_qt_FALSE@
-have_qt_TRUE = @have_qt_TRUE@
-have_xsltproc_FALSE = @have_xsltproc_FALSE@
-have_xsltproc_TRUE = @have_xsltproc_TRUE@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-kernel_support_FALSE = @kernel_support_FALSE@
-kernel_support_TRUE = @kernel_support_TRUE@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-topdir = @topdir@
-SUBDIRS = . tests
-AM_CPPFLAGS = -I${top_srcdir}/libutil
-AM_CFLAGS = @OP_CFLAGS@
-noinst_LIBRARIES = libop.a
-libop_a_SOURCES = \
- op_events.c \
- op_events.h \
- op_parse_event.c \
- op_parse_event.h \
- op_cpu_type.c \
- op_cpu_type.h \
- op_mangle.c \
- op_mangle.h \
- op_get_interface.c \
- op_interface.h \
- op_alloc_counter.c \
- op_alloc_counter.h \
- op_hw_config.h \
- op_config.c \
- op_config.h \
- op_config_24.h \
- op_sample_file.h \
- op_xml_events.c \
- op_xml_events.h \
- op_xml_out.c \
- op_xml_out.h \
- op_hw_specific.h
-
-all: all-recursive
-
-.SUFFIXES:
-.SUFFIXES: .c .lo .o .obj
-$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign libop/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --foreign libop/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- @case '$?' in \
- *config.status*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
- *) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-clean-noinstLIBRARIES:
- -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
-libop.a: $(libop_a_OBJECTS) $(libop_a_DEPENDENCIES)
- -rm -f libop.a
- $(libop_a_AR) libop.a $(libop_a_OBJECTS) $(libop_a_LIBADD)
- $(RANLIB) libop.a
-
-mostlyclean-compile:
- -rm -f *.$(OBJEXT)
-
-distclean-compile:
- -rm -f *.tab.c
-
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/op_alloc_counter.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/op_config.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/op_cpu_type.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/op_events.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/op_get_interface.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/op_mangle.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/op_parse_event.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/op_xml_events.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/op_xml_out.Po@am__quote@
-
-.c.o:
-@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(COMPILE) -c $<
-
-.c.obj:
-@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
-
-.c.lo:
-@am__fastdepCC_TRUE@ if $(LTCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-
-# This directory's subdirectories are mostly independent; you can cd
-# into them and run `make' without going through this Makefile.
-# To change the values of `make' variables: instead of editing Makefiles,
-# (1) if the variable is set in `config.status', edit `config.status'
-# (which will cause the Makefiles to be regenerated when you run `make');
-# (2) otherwise, pass the desired values on the `make' command line.
-$(RECURSIVE_TARGETS):
- @failcom='exit 1'; \
- for f in x $$MAKEFLAGS; do \
- case $$f in \
- *=* | --[!k]*);; \
- *k*) failcom='fail=yes';; \
- esac; \
- done; \
- dot_seen=no; \
- target=`echo $@ | sed s/-recursive//`; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- dot_seen=yes; \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || eval $$failcom; \
- done; \
- if test "$$dot_seen" = "no"; then \
- $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
- fi; test -z "$$fail"
-
-mostlyclean-recursive clean-recursive distclean-recursive \
-maintainer-clean-recursive:
- @failcom='exit 1'; \
- for f in x $$MAKEFLAGS; do \
- case $$f in \
- *=* | --[!k]*);; \
- *k*) failcom='fail=yes';; \
- esac; \
- done; \
- dot_seen=no; \
- case "$@" in \
- distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
- *) list='$(SUBDIRS)' ;; \
- esac; \
- rev=''; for subdir in $$list; do \
- if test "$$subdir" = "."; then :; else \
- rev="$$subdir $$rev"; \
- fi; \
- done; \
- rev="$$rev ."; \
- target=`echo $@ | sed s/-recursive//`; \
- for subdir in $$rev; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || eval $$failcom; \
- done && test -z "$$fail"
-tags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
- done
-ctags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
- done
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
- include_option=--etags-include; \
- empty_fix=.; \
- else \
- include_option=--include; \
- empty_fix=; \
- fi; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
- test ! -f $$subdir/TAGS || \
- tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
- fi; \
- done; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
- test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
- fi
-ctags: CTAGS
-CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkdir_p) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
- if test -d $$d/$$file; then \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
- fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
- else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
- || exit 1; \
- fi; \
- done
- list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
- test -d "$(distdir)/$$subdir" \
- || $(mkdir_p) "$(distdir)/$$subdir" \
- || exit 1; \
- distdir=`$(am__cd) $(distdir) && pwd`; \
- top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
- (cd $$subdir && \
- $(MAKE) $(AM_MAKEFLAGS) \
- top_distdir="$$top_distdir" \
- distdir="$$distdir/$$subdir" \
- distdir) \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: check-recursive
-all-am: Makefile $(LIBRARIES)
-installdirs: installdirs-recursive
-installdirs-am:
-install: install-recursive
-install-exec: install-exec-recursive
-install-data: install-data-recursive
-uninstall: uninstall-recursive
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-recursive
-install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-recursive
-
-clean-am: clean-generic clean-libtool clean-noinstLIBRARIES \
- mostlyclean-am
-
-distclean: distclean-recursive
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
- distclean-libtool distclean-tags
-
-dvi: dvi-recursive
-
-dvi-am:
-
-html: html-recursive
-
-info: info-recursive
-
-info-am:
-
-install-data-am:
-
-install-exec-am:
-
-install-info: install-info-recursive
-
-install-man:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-recursive
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-recursive
-
-mostlyclean-am: mostlyclean-compile mostlyclean-generic \
- mostlyclean-libtool
-
-pdf: pdf-recursive
-
-pdf-am:
-
-ps: ps-recursive
-
-ps-am:
-
-uninstall-am: uninstall-info-am
-
-uninstall-info: uninstall-info-recursive
-
-.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am \
- clean clean-generic clean-libtool clean-noinstLIBRARIES \
- clean-recursive ctags ctags-recursive distclean \
- distclean-compile distclean-generic distclean-libtool \
- distclean-recursive distclean-tags distdir dvi dvi-am html \
- html-am info info-am install install-am install-data \
- install-data-am install-exec install-exec-am install-info \
- install-info-am install-man install-strip installcheck \
- installcheck-am installdirs installdirs-am maintainer-clean \
- maintainer-clean-generic maintainer-clean-recursive \
- mostlyclean mostlyclean-compile mostlyclean-generic \
- mostlyclean-libtool mostlyclean-recursive pdf pdf-am ps ps-am \
- tags tags-recursive uninstall uninstall-am uninstall-info-am
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/libop/op_cpu_type.c b/libop/op_cpu_type.c
index 4633fd1..ea3a530 100644
--- a/libop/op_cpu_type.c
+++ b/libop/op_cpu_type.c
@@ -87,10 +87,41 @@ static struct cpu_descr const cpu_descrs[MAX_CPU_TYPE] = {
{ "ARM Cortex-A9", "arm/armv7-ca9", CPU_ARM_V7_CA9, 7 },
{ "MIPS 74K", "mips/74K", CPU_MIPS_74K, 4},
{ "MIPS 1004K", "mips/1004K", CPU_MIPS_1004K, 2},
+ { "AMD64 family12h", "x86-64/family12h", CPU_FAMILY12H, 4 },
+ { "AMD64 family14h", "x86-64/family14h", CPU_FAMILY14H, 4 },
+ { "AMD64 family15h", "x86-64/family15h", CPU_FAMILY15H, 6 },
+ { "Intel Westmere microarchitecture", "i386/westmere", CPU_WESTMERE, 4 },
};
static size_t const nr_cpu_descrs = sizeof(cpu_descrs) / sizeof(struct cpu_descr);
+int op_cpu_variations(op_cpu cpu_type)
+{
+ switch (cpu_type) {
+ case CPU_ARCH_PERFMON:
+ return 1;
+ default:
+ return 0;
+ }
+}
+
+
+op_cpu op_cpu_base_type(op_cpu cpu_type)
+{
+ /* All the processors that support CPU_ARCH_PERFMON */
+ switch (cpu_type) {
+ case CPU_CORE_2:
+ case CPU_CORE_I7:
+ case CPU_ATOM:
+ case CPU_NEHALEM:
+ case CPU_WESTMERE:
+ return CPU_ARCH_PERFMON;
+ default:
+ /* assume processor in a class by itself */
+ return cpu_type;
+ }
+}
+
op_cpu op_get_cpu_type(void)
{
int cpu_type = CPU_NO_GOOD;
@@ -115,6 +146,9 @@ op_cpu op_get_cpu_type(void)
cpu_type = op_get_cpu_number(str);
+ if (op_cpu_variations(cpu_type))
+ cpu_type = op_cpu_specific_type(cpu_type);
+
fclose(fp);
return cpu_type;
diff --git a/libop/op_cpu_type.h b/libop/op_cpu_type.h
index 990e213..381b3c7 100644
--- a/libop/op_cpu_type.h
+++ b/libop/op_cpu_type.h
@@ -84,10 +84,28 @@ typedef enum {
CPU_ARM_V7_CA9, /**< ARM Cortex-A9 */
CPU_MIPS_74K, /**< MIPS 74K */
CPU_MIPS_1004K, /**< MIPS 1004K */
+ CPU_FAMILY12H, /**< AMD family 12h */
+ CPU_FAMILY14H, /**< AMD family 14h */
+ CPU_FAMILY15H, /**< AMD family 15h */
+ CPU_WESTMERE, /* Intel Westmere microarchitecture */
MAX_CPU_TYPE
} op_cpu;
/**
+ * the CPU lowest common denominator
+ *
+ * returns 1 if there are variations for the base cpu type;
+ */
+int op_cpu_variations(op_cpu cpu_type);
+
+/**
+ * get the CPU lowest common denominator
+ *
+ * returns cpu_type if cpu_type does not have a lowest common denominator.
+ */
+op_cpu op_cpu_base_type(op_cpu cpu_type);
+
+/**
* get the CPU type from the kernel
*
* returns CPU_NO_GOOD if the CPU could not be identified.
diff --git a/libop/op_events.c b/libop/op_events.c
index c3fcf57..4546dda 100644
--- a/libop/op_events.c
+++ b/libop/op_events.c
@@ -971,7 +971,11 @@ void op_default_event(op_cpu cpu_type, struct op_default_event_descr * descr)
case CPU_ATOM:
case CPU_CORE_I7:
case CPU_NEHALEM:
+ case CPU_WESTMERE:
case CPU_MIPS_LOONGSON2:
+ case CPU_FAMILY12H:
+ case CPU_FAMILY14H:
+ case CPU_FAMILY15H:
descr->name = "CPU_CLK_UNHALTED";
break;
diff --git a/libop/op_hw_specific.h b/libop/op_hw_specific.h
index 57d8149..36c06b3 100644
--- a/libop/op_hw_specific.h
+++ b/libop/op_hw_specific.h
@@ -56,39 +56,50 @@ static inline unsigned arch_cpuid_1(int code)
return val;
}
+static inline unsigned int cpuid_signature()
+{
+ return arch_cpuid_1(1);
+}
+
+static inline unsigned int cpu_model(unsigned int eax)
+{
+ unsigned model = (eax & 0xf0) >> 4;
+ unsigned ext_model = (eax & 0xf0000) >> 12;
+ return ext_model + model;
+}
+
+static inline unsigned int cpu_family(unsigned int eax)
+{
+ unsigned family = (eax & 0xf00) >> 8;
+ unsigned ext_family = (eax & 0xff00000) >> 20;
+ return ext_family + family;
+}
+
+static inline unsigned int cpu_stepping(unsigned int eax)
+{
+ return (eax & 0xf);
+}
+
/* Work around Nehalem spec update AAJ79: CPUID incorrectly indicates
unhalted reference cycle architectural event is supported. We assume
steppings after C0 report correct data in CPUID. */
static inline void workaround_nehalem_aaj79(unsigned *ebx)
{
- union {
- unsigned eax;
- struct {
- unsigned stepping : 4;
- unsigned model : 4;
- unsigned family : 4;
- unsigned type : 2;
- unsigned res : 2;
- unsigned ext_model : 4;
- unsigned ext_family : 8;
- unsigned res2 : 4;
- };
- } v;
- unsigned model;
+ unsigned eax;
if (!cpuid_vendor("GenuineIntel"))
return;
- arch_cpuid_1(1);
- model = (v.ext_model << 4) + v.model;
- if (v.family != 6 || model != 26 || v.stepping > 4)
+ eax = cpuid_signature();
+ if (cpu_family(eax) != 6 || cpu_model(eax) != 26
+ || cpu_stepping(eax) > 4)
return;
*ebx |= (1 << 2); /* disable unsupported event */
}
static inline unsigned arch_get_filter(op_cpu cpu_type)
{
- if (cpu_type == CPU_ARCH_PERFMON) {
+ if (op_cpu_base_type(cpu_type) == CPU_ARCH_PERFMON) {
unsigned ebx, eax;
#ifdef __PIC__
__asm__ __volatile__ (
@@ -111,7 +122,7 @@ static inline unsigned arch_get_filter(op_cpu cpu_type)
static inline int arch_num_counters(op_cpu cpu_type)
{
- if (cpu_type == CPU_ARCH_PERFMON) {
+ if (op_cpu_base_type(cpu_type) == CPU_ARCH_PERFMON) {
unsigned v = arch_cpuid_1(0xa);
return (v >> 8) & 0xff;
}
@@ -124,6 +135,30 @@ static inline unsigned arch_get_counter_mask(void)
return num_to_mask((v >> 8) & 0xff);
}
+static inline op_cpu op_cpu_specific_type(op_cpu cpu_type)
+{
+ if (cpu_type == CPU_ARCH_PERFMON) {
+ /* Already know is Intel family 6, so just check the model. */
+ int model = cpu_model(cpuid_signature());
+ switch(model) {
+ case 0x0f:
+ case 0x16:
+ case 0x17:
+ case 0x1d:
+ return CPU_CORE_2;
+ case 0x1a:
+ case 0x1e:
+ case 0x2e:
+ return CPU_CORE_I7;
+ case 0x1c:
+ return CPU_ATOM;
+ case 0x25:
+ return CPU_WESTMERE;
+ }
+ }
+ return cpu_type;
+}
+
#else
static inline unsigned arch_get_filter(op_cpu cpu_type)
@@ -147,4 +182,8 @@ static inline unsigned arch_get_counter_mask(void)
return 0;
}
+static inline op_cpu op_cpu_specific_type(op_cpu cpu_type)
+{
+ return cpu_type;
+}
#endif
diff --git a/libop/op_xml_events.c b/libop/op_xml_events.c
index 67fc0a5..1fcb01e 100644
--- a/libop/op_xml_events.c
+++ b/libop/op_xml_events.c
@@ -21,14 +21,15 @@ static char buffer[MAX_BUFFER];
void open_xml_events(char const * title, char const * doc, op_cpu the_cpu_type)
{
- char const * schema_version = "1.0";
+ char const * schema_version = "1.1";
buffer[0] = '\0';
cpu_type = the_cpu_type;
- open_xml_element(HELP_EVENTS, 0, buffer, MAX_BUFFER);
+ open_xml_element(HELP_EVENTS, 1, buffer, MAX_BUFFER);
+ init_xml_str_attr(SCHEMA_VERSION, schema_version, buffer, MAX_BUFFER);
+ close_xml_element(NONE, 1, buffer, MAX_BUFFER);
open_xml_element(HELP_HEADER, 1, buffer, MAX_BUFFER);
init_xml_str_attr(HELP_TITLE, title, buffer, MAX_BUFFER);
- init_xml_str_attr(SCHEMA_VERSION, schema_version, buffer, MAX_BUFFER);
init_xml_str_attr(HELP_DOC, doc, buffer, MAX_BUFFER);
close_xml_element(NONE, 0, buffer, MAX_BUFFER);
printf("%s", buffer);
@@ -76,10 +77,23 @@ void xml_help_for_event(struct op_event const * event)
buffer, MAX_BUFFER);
if (has_nested) {
+ char um_type[10];
close_xml_element(NONE, 1, buffer, MAX_BUFFER);
open_xml_element(HELP_UNIT_MASKS, 1, buffer, MAX_BUFFER);
init_xml_int_attr(HELP_DEFAULT_MASK, event->unit->default_mask,
buffer, MAX_BUFFER);
+ switch (event->unit->unit_type_mask){
+ case utm_bitmask:
+ strncpy(um_type, "bitmask", sizeof(um_type));
+ break;
+ case utm_exclusive:
+ strncpy(um_type, "exclusive", sizeof(um_type));
+ break;
+ case utm_mandatory:
+ strncpy(um_type, "mandatory", sizeof(um_type));
+ break;
+ }
+ init_xml_str_attr(HELP_UNIT_MASKS_CATEGORY, um_type, buffer, MAX_BUFFER);
close_xml_element(NONE, 1, buffer, MAX_BUFFER);
for (i = 0; i < event->unit->num; i++) {
open_xml_element(HELP_UNIT_MASK, 1, buffer, MAX_BUFFER);
diff --git a/libop/op_xml_out.c b/libop/op_xml_out.c
index b12919e..f6d9042 100644
--- a/libop/op_xml_out.c
+++ b/libop/op_xml_out.c
@@ -80,6 +80,7 @@ char const * xml_tag_map[] = {
"ext",
"unit_masks",
"default",
+ "category",
"unit_mask",
"mask",
"desc"
diff --git a/libop/op_xml_out.h b/libop/op_xml_out.h
index b0188b2..4fb06df 100644
--- a/libop/op_xml_out.h
+++ b/libop/op_xml_out.h
@@ -54,6 +54,7 @@ typedef enum {
HELP_EXT,
HELP_UNIT_MASKS,
HELP_DEFAULT_MASK,
+ HELP_UNIT_MASKS_CATEGORY,
HELP_UNIT_MASK,
HELP_UNIT_MASK_VALUE,
HELP_UNIT_MASK_DESC
diff --git a/libop/tests/Makefile.in b/libop/tests/Makefile.in
deleted file mode 100644
index 3755df4..0000000
--- a/libop/tests/Makefile.in
+++ /dev/null
@@ -1,601 +0,0 @@
-# Makefile.in generated by automake 1.9.6 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005 Free Software Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ../..
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-check_PROGRAMS = cpu_type_tests$(EXEEXT) parse_event_tests$(EXEEXT) \
- load_events_files_tests$(EXEEXT) alloc_counter_tests$(EXEEXT) \
- mangle_tests$(EXEEXT)
-subdir = libop/tests
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/binutils.m4 \
- $(top_srcdir)/m4/builtinexpect.m4 \
- $(top_srcdir)/m4/cellspubfdsupport.m4 \
- $(top_srcdir)/m4/compileroption.m4 \
- $(top_srcdir)/m4/configmodule.m4 \
- $(top_srcdir)/m4/copyifchange.m4 $(top_srcdir)/m4/docbook.m4 \
- $(top_srcdir)/m4/extradirs.m4 $(top_srcdir)/m4/findkernel.m4 \
- $(top_srcdir)/m4/kerneloption.m4 \
- $(top_srcdir)/m4/kernelversion.m4 \
- $(top_srcdir)/m4/mallocattribute.m4 \
- $(top_srcdir)/m4/poptconst.m4 \
- $(top_srcdir)/m4/precompiledheader.m4 $(top_srcdir)/m4/qt.m4 \
- $(top_srcdir)/m4/resultyn.m4 $(top_srcdir)/m4/sstream.m4 \
- $(top_srcdir)/m4/typedef.m4 $(top_srcdir)/configure.in
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-am_alloc_counter_tests_OBJECTS = alloc_counter_tests.$(OBJEXT)
-alloc_counter_tests_OBJECTS = $(am_alloc_counter_tests_OBJECTS)
-am__DEPENDENCIES_1 = ../libop.a ../../libutil/libutil.a
-alloc_counter_tests_DEPENDENCIES = $(am__DEPENDENCIES_1)
-am_cpu_type_tests_OBJECTS = cpu_type_tests.$(OBJEXT)
-cpu_type_tests_OBJECTS = $(am_cpu_type_tests_OBJECTS)
-cpu_type_tests_DEPENDENCIES = $(am__DEPENDENCIES_1)
-am_load_events_files_tests_OBJECTS = \
- load_events_files_tests.$(OBJEXT)
-load_events_files_tests_OBJECTS = \
- $(am_load_events_files_tests_OBJECTS)
-load_events_files_tests_DEPENDENCIES = $(am__DEPENDENCIES_1)
-am_mangle_tests_OBJECTS = mangle_tests.$(OBJEXT)
-mangle_tests_OBJECTS = $(am_mangle_tests_OBJECTS)
-mangle_tests_DEPENDENCIES = $(am__DEPENDENCIES_1)
-am_parse_event_tests_OBJECTS = parse_event_tests.$(OBJEXT)
-parse_event_tests_OBJECTS = $(am_parse_event_tests_OBJECTS)
-parse_event_tests_DEPENDENCIES = $(am__DEPENDENCIES_1)
-DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
-depcomp = $(SHELL) $(top_srcdir)/depcomp
-am__depfiles_maybe = depfiles
-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \
- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
- $(AM_CFLAGS) $(CFLAGS)
-CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(AM_LDFLAGS) $(LDFLAGS) -o $@
-SOURCES = $(alloc_counter_tests_SOURCES) $(cpu_type_tests_SOURCES) \
- $(load_events_files_tests_SOURCES) $(mangle_tests_SOURCES) \
- $(parse_event_tests_SOURCES)
-DIST_SOURCES = $(alloc_counter_tests_SOURCES) \
- $(cpu_type_tests_SOURCES) $(load_events_files_tests_SOURCES) \
- $(mangle_tests_SOURCES) $(parse_event_tests_SOURCES)
-ETAGS = etags
-CTAGS = ctags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
-AMTAR = @AMTAR@
-AR = @AR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-BFD_LIBS = @BFD_LIBS@
-BUILD_JVMPI_AGENT_FALSE = @BUILD_JVMPI_AGENT_FALSE@
-BUILD_JVMPI_AGENT_TRUE = @BUILD_JVMPI_AGENT_TRUE@
-BUILD_JVMTI_AGENT_FALSE = @BUILD_JVMTI_AGENT_FALSE@
-BUILD_JVMTI_AGENT_TRUE = @BUILD_JVMTI_AGENT_TRUE@
-CAT_ENTRY_END = @CAT_ENTRY_END@
-CAT_ENTRY_START = @CAT_ENTRY_START@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DATE = @DATE@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DOCBOOK_ROOT = @DOCBOOK_ROOT@
-ECHO = @ECHO@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-EXTRA_CFLAGS_MODULE = @EXTRA_CFLAGS_MODULE@
-F77 = @F77@
-FFLAGS = @FFLAGS@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-JAVA_HOMEDIR = @JAVA_HOMEDIR@
-KINC = @KINC@
-KSRC = @KSRC@
-KVERS = @KVERS@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LIBERTY_LIBS = @LIBERTY_LIBS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBERTY_LIBS@
-LIBTOOL = @LIBTOOL@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-MAKEINFO = @MAKEINFO@
-MOC = @MOC@
-MODINSTALLDIR = @MODINSTALLDIR@
-OBJEXT = @OBJEXT@
-OPROFILE_DIR = @OPROFILE_DIR@
-OPROFILE_MODULE_ARCH = @OPROFILE_MODULE_ARCH@
-OP_CFLAGS = @OP_CFLAGS@
-OP_CXXFLAGS = @OP_CXXFLAGS@
-OP_DOCDIR = @OP_DOCDIR@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-POPT_LIBS = @POPT_LIBS@
-PTRDIFF_T_TYPE = @PTRDIFF_T_TYPE@
-QT_INCLUDES = @QT_INCLUDES@
-QT_LDFLAGS = @QT_LDFLAGS@
-QT_LIB = @QT_LIB@
-QT_VERSION = @QT_VERSION@
-RANLIB = @RANLIB@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-SIZE_T_TYPE = @SIZE_T_TYPE@
-STRIP = @STRIP@
-UIC = @UIC@
-VERSION = @VERSION@
-XML_CATALOG = @XML_CATALOG@
-XSLTPROC = @XSLTPROC@
-XSLTPROC_FLAGS = @XSLTPROC_FLAGS@
-X_CFLAGS = @X_CFLAGS@
-X_EXTRA_LIBS = @X_EXTRA_LIBS@
-X_LIBS = @X_LIBS@
-X_PRE_LIBS = @X_PRE_LIBS@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
-am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-datadir = @datadir@
-exec_prefix = @exec_prefix@
-have_qt_FALSE = @have_qt_FALSE@
-have_qt_TRUE = @have_qt_TRUE@
-have_xsltproc_FALSE = @have_xsltproc_FALSE@
-have_xsltproc_TRUE = @have_xsltproc_TRUE@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-kernel_support_FALSE = @kernel_support_FALSE@
-kernel_support_TRUE = @kernel_support_TRUE@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-topdir = @topdir@
-AM_CPPFLAGS = \
- -I ${top_srcdir}/libutil \
- -I ${top_srcdir}/libop
-
-AM_CFLAGS = @OP_CFLAGS@ -DOPROFILE_SRCDIR=\"@top_srcdir@\"
-COMMON_LIBS = ../libop.a ../../libutil/libutil.a
-cpu_type_tests_SOURCES = cpu_type_tests.c
-cpu_type_tests_LDADD = ${COMMON_LIBS}
-parse_event_tests_SOURCES = parse_event_tests.c
-parse_event_tests_LDADD = ${COMMON_LIBS}
-alloc_counter_tests_SOURCES = alloc_counter_tests.c
-alloc_counter_tests_LDADD = ${COMMON_LIBS}
-load_events_files_tests_SOURCES = load_events_files_tests.c
-load_events_files_tests_LDADD = ${COMMON_LIBS}
-mangle_tests_SOURCES = mangle_tests.c
-mangle_tests_LDADD = ${COMMON_LIBS}
-TESTS = ${check_PROGRAMS}
-all: all-am
-
-.SUFFIXES:
-.SUFFIXES: .c .lo .o .obj
-$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign libop/tests/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --foreign libop/tests/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- @case '$?' in \
- *config.status*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
- *) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-clean-checkPROGRAMS:
- @list='$(check_PROGRAMS)'; for p in $$list; do \
- f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
- echo " rm -f $$p $$f"; \
- rm -f $$p $$f ; \
- done
-alloc_counter_tests$(EXEEXT): $(alloc_counter_tests_OBJECTS) $(alloc_counter_tests_DEPENDENCIES)
- @rm -f alloc_counter_tests$(EXEEXT)
- $(LINK) $(alloc_counter_tests_LDFLAGS) $(alloc_counter_tests_OBJECTS) $(alloc_counter_tests_LDADD) $(LIBS)
-cpu_type_tests$(EXEEXT): $(cpu_type_tests_OBJECTS) $(cpu_type_tests_DEPENDENCIES)
- @rm -f cpu_type_tests$(EXEEXT)
- $(LINK) $(cpu_type_tests_LDFLAGS) $(cpu_type_tests_OBJECTS) $(cpu_type_tests_LDADD) $(LIBS)
-load_events_files_tests$(EXEEXT): $(load_events_files_tests_OBJECTS) $(load_events_files_tests_DEPENDENCIES)
- @rm -f load_events_files_tests$(EXEEXT)
- $(LINK) $(load_events_files_tests_LDFLAGS) $(load_events_files_tests_OBJECTS) $(load_events_files_tests_LDADD) $(LIBS)
-mangle_tests$(EXEEXT): $(mangle_tests_OBJECTS) $(mangle_tests_DEPENDENCIES)
- @rm -f mangle_tests$(EXEEXT)
- $(LINK) $(mangle_tests_LDFLAGS) $(mangle_tests_OBJECTS) $(mangle_tests_LDADD) $(LIBS)
-parse_event_tests$(EXEEXT): $(parse_event_tests_OBJECTS) $(parse_event_tests_DEPENDENCIES)
- @rm -f parse_event_tests$(EXEEXT)
- $(LINK) $(parse_event_tests_LDFLAGS) $(parse_event_tests_OBJECTS) $(parse_event_tests_LDADD) $(LIBS)
-
-mostlyclean-compile:
- -rm -f *.$(OBJEXT)
-
-distclean-compile:
- -rm -f *.tab.c
-
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/alloc_counter_tests.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cpu_type_tests.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/load_events_files_tests.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mangle_tests.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/parse_event_tests.Po@am__quote@
-
-.c.o:
-@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(COMPILE) -c $<
-
-.c.obj:
-@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
-
-.c.lo:
-@am__fastdepCC_TRUE@ if $(LTCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
- test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
- fi
-ctags: CTAGS
-CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-check-TESTS: $(TESTS)
- @failed=0; all=0; xfail=0; xpass=0; skip=0; \
- srcdir=$(srcdir); export srcdir; \
- list='$(TESTS)'; \
- if test -n "$$list"; then \
- for tst in $$list; do \
- if test -f ./$$tst; then dir=./; \
- elif test -f $$tst; then dir=; \
- else dir="$(srcdir)/"; fi; \
- if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \
- all=`expr $$all + 1`; \
- case " $(XFAIL_TESTS) " in \
- *" $$tst "*) \
- xpass=`expr $$xpass + 1`; \
- failed=`expr $$failed + 1`; \
- echo "XPASS: $$tst"; \
- ;; \
- *) \
- echo "PASS: $$tst"; \
- ;; \
- esac; \
- elif test $$? -ne 77; then \
- all=`expr $$all + 1`; \
- case " $(XFAIL_TESTS) " in \
- *" $$tst "*) \
- xfail=`expr $$xfail + 1`; \
- echo "XFAIL: $$tst"; \
- ;; \
- *) \
- failed=`expr $$failed + 1`; \
- echo "FAIL: $$tst"; \
- ;; \
- esac; \
- else \
- skip=`expr $$skip + 1`; \
- echo "SKIP: $$tst"; \
- fi; \
- done; \
- if test "$$failed" -eq 0; then \
- if test "$$xfail" -eq 0; then \
- banner="All $$all tests passed"; \
- else \
- banner="All $$all tests behaved as expected ($$xfail expected failures)"; \
- fi; \
- else \
- if test "$$xpass" -eq 0; then \
- banner="$$failed of $$all tests failed"; \
- else \
- banner="$$failed of $$all tests did not behave as expected ($$xpass unexpected passes)"; \
- fi; \
- fi; \
- dashes="$$banner"; \
- skipped=""; \
- if test "$$skip" -ne 0; then \
- skipped="($$skip tests were not run)"; \
- test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \
- dashes="$$skipped"; \
- fi; \
- report=""; \
- if test "$$failed" -ne 0 && test -n "$(PACKAGE_BUGREPORT)"; then \
- report="Please report to $(PACKAGE_BUGREPORT)"; \
- test `echo "$$report" | wc -c` -le `echo "$$banner" | wc -c` || \
- dashes="$$report"; \
- fi; \
- dashes=`echo "$$dashes" | sed s/./=/g`; \
- echo "$$dashes"; \
- echo "$$banner"; \
- test -z "$$skipped" || echo "$$skipped"; \
- test -z "$$report" || echo "$$report"; \
- echo "$$dashes"; \
- test "$$failed" -eq 0; \
- else :; fi
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkdir_p) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
- if test -d $$d/$$file; then \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
- fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
- else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
- || exit 1; \
- fi; \
- done
-check-am: all-am
- $(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS)
- $(MAKE) $(AM_MAKEFLAGS) check-TESTS
-check: check-am
-all-am: Makefile
-installdirs:
-install: install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-am
-
-clean-am: clean-checkPROGRAMS clean-generic clean-libtool \
- mostlyclean-am
-
-distclean: distclean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
- distclean-libtool distclean-tags
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-info: info-am
-
-info-am:
-
-install-data-am:
-
-install-exec-am:
-
-install-info: install-info-am
-
-install-man:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-compile mostlyclean-generic \
- mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am: uninstall-info-am
-
-.PHONY: CTAGS GTAGS all all-am check check-TESTS check-am clean \
- clean-checkPROGRAMS clean-generic clean-libtool ctags \
- distclean distclean-compile distclean-generic \
- distclean-libtool distclean-tags distdir dvi dvi-am html \
- html-am info info-am install install-am install-data \
- install-data-am install-exec install-exec-am install-info \
- install-info-am install-man install-strip installcheck \
- installcheck-am installdirs maintainer-clean \
- maintainer-clean-generic mostlyclean mostlyclean-compile \
- mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
- tags uninstall uninstall-am uninstall-info-am
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/libop/tests/alloc_counter_tests.c b/libop/tests/alloc_counter_tests.c
index e2cdd04..5aeb605 100644
--- a/libop/tests/alloc_counter_tests.c
+++ b/libop/tests/alloc_counter_tests.c
@@ -108,10 +108,8 @@ static char const * const events_p4_2[] = {
static char const * const events_mips_34k[] = {
/* fail_to_alloc_counter: w/o 2006-8-03 Jeremiah Lott patch, see
* ChangeLog */
- "INSTRUCTIONS:500:0:1:1",
- "JR_31_INSN_EXECED:500:0:1:1",
- "BRANCH_INSNS_LAUNCHED:500:0:1:1",
- "L2_MISSES:500:0:1:1",
+ "DTLB_MISSES:500:0:1:1",
+ "JR_31_INSNS:500:0:1:1",
NULL
};
@@ -125,7 +123,7 @@ static struct allocated_counter const tests[] = {
{ CPU_PPRO, events_ppro_5, { 1, 0 }, no_failure },
{ CPU_P4, events_p4_1, { 3, 7, 0, 4, 2, 6, 1, 5 }, no_failure },
{ CPU_P4, events_p4_2, { -1 }, fail_to_alloc_counter },
- { CPU_MIPS_34K, events_mips_34k, { 1, 0, 2, 3 }, no_failure },
+ { CPU_MIPS_34K, events_mips_34k, { 1, 0 }, no_failure },
{ CPU_NO_GOOD, 0, { 0 }, 0 }
};
diff --git a/libopagent/Makefile.in b/libopagent/Makefile.in
deleted file mode 100644
index de96d3b..0000000
--- a/libopagent/Makefile.in
+++ /dev/null
@@ -1,556 +0,0 @@
-# Makefile.in generated by automake 1.9.6 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005 Free Software Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ..
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-subdir = libopagent
-DIST_COMMON = $(include_HEADERS) $(srcdir)/Makefile.am \
- $(srcdir)/Makefile.in
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/binutils.m4 \
- $(top_srcdir)/m4/builtinexpect.m4 \
- $(top_srcdir)/m4/cellspubfdsupport.m4 \
- $(top_srcdir)/m4/compileroption.m4 \
- $(top_srcdir)/m4/configmodule.m4 \
- $(top_srcdir)/m4/copyifchange.m4 $(top_srcdir)/m4/docbook.m4 \
- $(top_srcdir)/m4/extradirs.m4 $(top_srcdir)/m4/findkernel.m4 \
- $(top_srcdir)/m4/kerneloption.m4 \
- $(top_srcdir)/m4/kernelversion.m4 \
- $(top_srcdir)/m4/mallocattribute.m4 \
- $(top_srcdir)/m4/poptconst.m4 \
- $(top_srcdir)/m4/precompiledheader.m4 $(top_srcdir)/m4/qt.m4 \
- $(top_srcdir)/m4/resultyn.m4 $(top_srcdir)/m4/sstream.m4 \
- $(top_srcdir)/m4/typedef.m4 $(top_srcdir)/configure.in
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
-am__vpath_adj = case $$p in \
- $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
- *) f=$$p;; \
- esac;
-am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
-am__installdirs = "$(DESTDIR)$(pkglibdir)" "$(DESTDIR)$(includedir)"
-pkglibLTLIBRARIES_INSTALL = $(INSTALL)
-LTLIBRARIES = $(pkglib_LTLIBRARIES)
-am__DEPENDENCIES_1 =
-libopagent_la_DEPENDENCIES = $(am__DEPENDENCIES_1)
-am_libopagent_la_OBJECTS = libopagent_la-opagent.lo
-libopagent_la_OBJECTS = $(am_libopagent_la_OBJECTS)
-DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
-depcomp = $(SHELL) $(top_srcdir)/depcomp
-am__depfiles_maybe = depfiles
-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \
- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
- $(AM_CFLAGS) $(CFLAGS)
-CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(AM_LDFLAGS) $(LDFLAGS) -o $@
-SOURCES = $(libopagent_la_SOURCES)
-DIST_SOURCES = $(libopagent_la_SOURCES)
-includeHEADERS_INSTALL = $(INSTALL_HEADER)
-HEADERS = $(include_HEADERS)
-ETAGS = etags
-CTAGS = ctags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
-AMTAR = @AMTAR@
-AR = @AR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-BFD_LIBS = @BFD_LIBS@
-BUILD_JVMPI_AGENT_FALSE = @BUILD_JVMPI_AGENT_FALSE@
-BUILD_JVMPI_AGENT_TRUE = @BUILD_JVMPI_AGENT_TRUE@
-BUILD_JVMTI_AGENT_FALSE = @BUILD_JVMTI_AGENT_FALSE@
-BUILD_JVMTI_AGENT_TRUE = @BUILD_JVMTI_AGENT_TRUE@
-CAT_ENTRY_END = @CAT_ENTRY_END@
-CAT_ENTRY_START = @CAT_ENTRY_START@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DATE = @DATE@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DOCBOOK_ROOT = @DOCBOOK_ROOT@
-ECHO = @ECHO@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-EXTRA_CFLAGS_MODULE = @EXTRA_CFLAGS_MODULE@
-F77 = @F77@
-FFLAGS = @FFLAGS@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-JAVA_HOMEDIR = @JAVA_HOMEDIR@
-KINC = @KINC@
-KSRC = @KSRC@
-KVERS = @KVERS@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LIBERTY_LIBS = @LIBERTY_LIBS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-MAKEINFO = @MAKEINFO@
-MOC = @MOC@
-MODINSTALLDIR = @MODINSTALLDIR@
-OBJEXT = @OBJEXT@
-OPROFILE_DIR = @OPROFILE_DIR@
-OPROFILE_MODULE_ARCH = @OPROFILE_MODULE_ARCH@
-OP_CFLAGS = @OP_CFLAGS@
-OP_CXXFLAGS = @OP_CXXFLAGS@
-OP_DOCDIR = @OP_DOCDIR@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-POPT_LIBS = @POPT_LIBS@
-PTRDIFF_T_TYPE = @PTRDIFF_T_TYPE@
-QT_INCLUDES = @QT_INCLUDES@
-QT_LDFLAGS = @QT_LDFLAGS@
-QT_LIB = @QT_LIB@
-QT_VERSION = @QT_VERSION@
-RANLIB = @RANLIB@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-SIZE_T_TYPE = @SIZE_T_TYPE@
-STRIP = @STRIP@
-UIC = @UIC@
-VERSION = @VERSION@
-XML_CATALOG = @XML_CATALOG@
-XSLTPROC = @XSLTPROC@
-XSLTPROC_FLAGS = @XSLTPROC_FLAGS@
-X_CFLAGS = @X_CFLAGS@
-X_EXTRA_LIBS = @X_EXTRA_LIBS@
-X_LIBS = @X_LIBS@
-X_PRE_LIBS = @X_PRE_LIBS@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
-am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-datadir = @datadir@
-exec_prefix = @exec_prefix@
-have_qt_FALSE = @have_qt_FALSE@
-have_qt_TRUE = @have_qt_TRUE@
-have_xsltproc_FALSE = @have_xsltproc_FALSE@
-have_xsltproc_TRUE = @have_xsltproc_TRUE@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-kernel_support_FALSE = @kernel_support_FALSE@
-kernel_support_TRUE = @kernel_support_TRUE@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-topdir = @topdir@
-pkglib_LTLIBRARIES = libopagent.la
-
-# install opagent.h to include directory
-include_HEADERS = opagent.h
-libopagent_la_SOURCES = opagent.c \
- jitdump.h \
- opagent.h
-
-EXTRA_DIST = opagent_symbols.ver
-libopagent_la_CFLAGS = -fPIC -I ${top_srcdir}/libop -I ${top_srcdir}/libutil
-libopagent_la_LIBADD = $(BFD_LIBS)
-
-# Do not increment the major version for this library except to
-# intentionally break backward ABI compatability. Use the
-# symbol versioning technique (via the version script) to add new or
-# change existing functions; then just increment the minor version.
-# See http://www.gnu.org/software/binutils/manual/ld-2.9.1/html_node/ld_25.html
-# for details about the --version-script option.
-libopagent_la_LDFLAGS = -version-info 1:0:0 \
- -Wl,--version-script=${top_srcdir}/libopagent/opagent_symbols.ver
-
-all: all-am
-
-.SUFFIXES:
-.SUFFIXES: .c .lo .o .obj
-$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign libopagent/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --foreign libopagent/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- @case '$?' in \
- *config.status*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
- *) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-install-pkglibLTLIBRARIES: $(pkglib_LTLIBRARIES)
- @$(NORMAL_INSTALL)
- test -z "$(pkglibdir)" || $(mkdir_p) "$(DESTDIR)$(pkglibdir)"
- @list='$(pkglib_LTLIBRARIES)'; for p in $$list; do \
- if test -f $$p; then \
- f=$(am__strip_dir) \
- echo " $(LIBTOOL) --mode=install $(pkglibLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(pkglibdir)/$$f'"; \
- $(LIBTOOL) --mode=install $(pkglibLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(pkglibdir)/$$f"; \
- else :; fi; \
- done
-
-uninstall-pkglibLTLIBRARIES:
- @$(NORMAL_UNINSTALL)
- @set -x; list='$(pkglib_LTLIBRARIES)'; for p in $$list; do \
- p=$(am__strip_dir) \
- echo " $(LIBTOOL) --mode=uninstall rm -f '$(DESTDIR)$(pkglibdir)/$$p'"; \
- $(LIBTOOL) --mode=uninstall rm -f "$(DESTDIR)$(pkglibdir)/$$p"; \
- done
-
-clean-pkglibLTLIBRARIES:
- -test -z "$(pkglib_LTLIBRARIES)" || rm -f $(pkglib_LTLIBRARIES)
- @list='$(pkglib_LTLIBRARIES)'; for p in $$list; do \
- dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
- test "$$dir" != "$$p" || dir=.; \
- echo "rm -f \"$${dir}/so_locations\""; \
- rm -f "$${dir}/so_locations"; \
- done
-libopagent.la: $(libopagent_la_OBJECTS) $(libopagent_la_DEPENDENCIES)
- $(LINK) -rpath $(pkglibdir) $(libopagent_la_LDFLAGS) $(libopagent_la_OBJECTS) $(libopagent_la_LIBADD) $(LIBS)
-
-mostlyclean-compile:
- -rm -f *.$(OBJEXT)
-
-distclean-compile:
- -rm -f *.tab.c
-
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libopagent_la-opagent.Plo@am__quote@
-
-.c.o:
-@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(COMPILE) -c $<
-
-.c.obj:
-@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
-
-.c.lo:
-@am__fastdepCC_TRUE@ if $(LTCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
-
-libopagent_la-opagent.lo: opagent.c
-@am__fastdepCC_TRUE@ if $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libopagent_la_CFLAGS) $(CFLAGS) -MT libopagent_la-opagent.lo -MD -MP -MF "$(DEPDIR)/libopagent_la-opagent.Tpo" -c -o libopagent_la-opagent.lo `test -f 'opagent.c' || echo '$(srcdir)/'`opagent.c; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libopagent_la-opagent.Tpo" "$(DEPDIR)/libopagent_la-opagent.Plo"; else rm -f "$(DEPDIR)/libopagent_la-opagent.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='opagent.c' object='libopagent_la-opagent.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libopagent_la_CFLAGS) $(CFLAGS) -c -o libopagent_la-opagent.lo `test -f 'opagent.c' || echo '$(srcdir)/'`opagent.c
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-install-includeHEADERS: $(include_HEADERS)
- @$(NORMAL_INSTALL)
- test -z "$(includedir)" || $(mkdir_p) "$(DESTDIR)$(includedir)"
- @list='$(include_HEADERS)'; for p in $$list; do \
- if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(includeHEADERS_INSTALL) '$$d$$p' '$(DESTDIR)$(includedir)/$$f'"; \
- $(includeHEADERS_INSTALL) "$$d$$p" "$(DESTDIR)$(includedir)/$$f"; \
- done
-
-uninstall-includeHEADERS:
- @$(NORMAL_UNINSTALL)
- @list='$(include_HEADERS)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(includedir)/$$f'"; \
- rm -f "$(DESTDIR)$(includedir)/$$f"; \
- done
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
- test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
- fi
-ctags: CTAGS
-CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkdir_p) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
- if test -d $$d/$$file; then \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
- fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
- else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: check-am
-all-am: Makefile $(LTLIBRARIES) $(HEADERS)
-installdirs:
- for dir in "$(DESTDIR)$(pkglibdir)" "$(DESTDIR)$(includedir)"; do \
- test -z "$$dir" || $(mkdir_p) "$$dir"; \
- done
-install: install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-am
-
-clean-am: clean-generic clean-libtool clean-pkglibLTLIBRARIES \
- mostlyclean-am
-
-distclean: distclean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
- distclean-libtool distclean-tags
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-info: info-am
-
-info-am:
-
-install-data-am: install-includeHEADERS
-
-install-exec-am: install-pkglibLTLIBRARIES
-
-install-info: install-info-am
-
-install-man:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-compile mostlyclean-generic \
- mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am: uninstall-includeHEADERS uninstall-info-am \
- uninstall-pkglibLTLIBRARIES
-
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
- clean-libtool clean-pkglibLTLIBRARIES ctags distclean \
- distclean-compile distclean-generic distclean-libtool \
- distclean-tags distdir dvi dvi-am html html-am info info-am \
- install install-am install-data install-data-am install-exec \
- install-exec-am install-includeHEADERS install-info \
- install-info-am install-man install-pkglibLTLIBRARIES \
- install-strip installcheck installcheck-am installdirs \
- maintainer-clean maintainer-clean-generic mostlyclean \
- mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
- pdf pdf-am ps ps-am tags uninstall uninstall-am \
- uninstall-includeHEADERS uninstall-info-am \
- uninstall-pkglibLTLIBRARIES
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/libopagent/bfddefines.c b/libopagent/bfddefines.c
new file mode 100644
index 0000000..0cd269b
--- /dev/null
+++ b/libopagent/bfddefines.c
@@ -0,0 +1,40 @@
+/**
+ * @file bfddefines.c
+ * Write out defines for BFD arch and mach of the given binary
+ *
+ * @remark Copyright 2007 OProfile authors
+ * @remark Read the file COPYING
+ *
+ * @author Jens Wilke
+ *
+ * Copyright IBM Corporation 2007
+ *
+ */
+
+#include <stdio.h>
+#include <bfd.h>
+
+int main(int argc, char ** args)
+{
+ bfd * bfd;
+ bfd_boolean r;
+
+ bfd_init();
+ bfd = bfd_openr(args[1], NULL);
+ if (bfd == NULL) {
+ bfd_perror("bfd_open");
+ return 1;
+ }
+ r = bfd_check_format(bfd, bfd_object);
+ if (!r) {
+ bfd_perror("bfd_get_arch");
+ return 1;
+ }
+ printf("/* automatically generated by bfddefines, do not edit*/\n");
+ printf("#define BFD_TARGET_NAME \"%s\"\n", bfd->xvec->name);
+ printf("#define BFD_ARCH %i\n", bfd_get_arch(bfd));
+ printf("#define BFD_MACH %lu\n", bfd_get_mach(bfd));
+ printf("#define BFD_PRINTABLE_NAME \"%s\"\n", bfd_printable_name(bfd));
+
+ return 0;
+}
diff --git a/libopt++/Makefile.in b/libopt++/Makefile.in
deleted file mode 100644
index 5cbdcfc..0000000
--- a/libopt++/Makefile.in
+++ /dev/null
@@ -1,484 +0,0 @@
-# Makefile.in generated by automake 1.9.6 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005 Free Software Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ..
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-subdir = libopt++
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/binutils.m4 \
- $(top_srcdir)/m4/builtinexpect.m4 \
- $(top_srcdir)/m4/cellspubfdsupport.m4 \
- $(top_srcdir)/m4/compileroption.m4 \
- $(top_srcdir)/m4/configmodule.m4 \
- $(top_srcdir)/m4/copyifchange.m4 $(top_srcdir)/m4/docbook.m4 \
- $(top_srcdir)/m4/extradirs.m4 $(top_srcdir)/m4/findkernel.m4 \
- $(top_srcdir)/m4/kerneloption.m4 \
- $(top_srcdir)/m4/kernelversion.m4 \
- $(top_srcdir)/m4/mallocattribute.m4 \
- $(top_srcdir)/m4/poptconst.m4 \
- $(top_srcdir)/m4/precompiledheader.m4 $(top_srcdir)/m4/qt.m4 \
- $(top_srcdir)/m4/resultyn.m4 $(top_srcdir)/m4/sstream.m4 \
- $(top_srcdir)/m4/typedef.m4 $(top_srcdir)/configure.in
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-LIBRARIES = $(noinst_LIBRARIES)
-ARFLAGS = cru
-libopt___a_AR = $(AR) $(ARFLAGS)
-libopt___a_LIBADD =
-am_libopt___a_OBJECTS = popt_options.$(OBJEXT)
-libopt___a_OBJECTS = $(am_libopt___a_OBJECTS)
-DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
-depcomp = $(SHELL) $(top_srcdir)/depcomp
-am__depfiles_maybe = depfiles
-CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
-LTCXXCOMPILE = $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) \
- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
- $(AM_CXXFLAGS) $(CXXFLAGS)
-CXXLD = $(CXX)
-CXXLINK = $(LIBTOOL) --tag=CXX --mode=link $(CXXLD) $(AM_CXXFLAGS) \
- $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \
- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
- $(AM_CFLAGS) $(CFLAGS)
-CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(AM_LDFLAGS) $(LDFLAGS) -o $@
-SOURCES = $(libopt___a_SOURCES)
-DIST_SOURCES = $(libopt___a_SOURCES)
-ETAGS = etags
-CTAGS = ctags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
-AMTAR = @AMTAR@
-AR = @AR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-BFD_LIBS = @BFD_LIBS@
-BUILD_JVMPI_AGENT_FALSE = @BUILD_JVMPI_AGENT_FALSE@
-BUILD_JVMPI_AGENT_TRUE = @BUILD_JVMPI_AGENT_TRUE@
-BUILD_JVMTI_AGENT_FALSE = @BUILD_JVMTI_AGENT_FALSE@
-BUILD_JVMTI_AGENT_TRUE = @BUILD_JVMTI_AGENT_TRUE@
-CAT_ENTRY_END = @CAT_ENTRY_END@
-CAT_ENTRY_START = @CAT_ENTRY_START@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DATE = @DATE@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DOCBOOK_ROOT = @DOCBOOK_ROOT@
-ECHO = @ECHO@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-EXTRA_CFLAGS_MODULE = @EXTRA_CFLAGS_MODULE@
-F77 = @F77@
-FFLAGS = @FFLAGS@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-JAVA_HOMEDIR = @JAVA_HOMEDIR@
-KINC = @KINC@
-KSRC = @KSRC@
-KVERS = @KVERS@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LIBERTY_LIBS = @LIBERTY_LIBS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-MAKEINFO = @MAKEINFO@
-MOC = @MOC@
-MODINSTALLDIR = @MODINSTALLDIR@
-OBJEXT = @OBJEXT@
-OPROFILE_DIR = @OPROFILE_DIR@
-OPROFILE_MODULE_ARCH = @OPROFILE_MODULE_ARCH@
-OP_CFLAGS = @OP_CFLAGS@
-OP_CXXFLAGS = @OP_CXXFLAGS@
-OP_DOCDIR = @OP_DOCDIR@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-POPT_LIBS = @POPT_LIBS@
-PTRDIFF_T_TYPE = @PTRDIFF_T_TYPE@
-QT_INCLUDES = @QT_INCLUDES@
-QT_LDFLAGS = @QT_LDFLAGS@
-QT_LIB = @QT_LIB@
-QT_VERSION = @QT_VERSION@
-RANLIB = @RANLIB@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-SIZE_T_TYPE = @SIZE_T_TYPE@
-STRIP = @STRIP@
-UIC = @UIC@
-VERSION = @VERSION@
-XML_CATALOG = @XML_CATALOG@
-XSLTPROC = @XSLTPROC@
-XSLTPROC_FLAGS = @XSLTPROC_FLAGS@
-X_CFLAGS = @X_CFLAGS@
-X_EXTRA_LIBS = @X_EXTRA_LIBS@
-X_LIBS = @X_LIBS@
-X_PRE_LIBS = @X_PRE_LIBS@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
-am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-datadir = @datadir@
-exec_prefix = @exec_prefix@
-have_qt_FALSE = @have_qt_FALSE@
-have_qt_TRUE = @have_qt_TRUE@
-have_xsltproc_FALSE = @have_xsltproc_FALSE@
-have_xsltproc_TRUE = @have_xsltproc_TRUE@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-kernel_support_FALSE = @kernel_support_FALSE@
-kernel_support_TRUE = @kernel_support_TRUE@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-topdir = @topdir@
-AM_CPPFLAGS = -I ${top_srcdir}/libutil++ -I ${top_srcdir}/libutil
-AM_CXXFLAGS = @OP_CXXFLAGS@
-noinst_LIBRARIES = libopt++.a
-libopt___a_SOURCES = popt_options.cpp popt_options.h
-all: all-am
-
-.SUFFIXES:
-.SUFFIXES: .cpp .lo .o .obj
-$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign libopt++/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --foreign libopt++/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- @case '$?' in \
- *config.status*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
- *) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-clean-noinstLIBRARIES:
- -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
-libopt++.a: $(libopt___a_OBJECTS) $(libopt___a_DEPENDENCIES)
- -rm -f libopt++.a
- $(libopt___a_AR) libopt++.a $(libopt___a_OBJECTS) $(libopt___a_LIBADD)
- $(RANLIB) libopt++.a
-
-mostlyclean-compile:
- -rm -f *.$(OBJEXT)
-
-distclean-compile:
- -rm -f *.tab.c
-
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/popt_options.Po@am__quote@
-
-.cpp.o:
-@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
-@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $<
-
-.cpp.obj:
-@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
-@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
-
-.cpp.lo:
-@am__fastdepCXX_TRUE@ if $(LTCXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
-@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $<
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
- test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
- fi
-ctags: CTAGS
-CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkdir_p) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
- if test -d $$d/$$file; then \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
- fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
- else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: check-am
-all-am: Makefile $(LIBRARIES)
-installdirs:
-install: install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-am
-
-clean-am: clean-generic clean-libtool clean-noinstLIBRARIES \
- mostlyclean-am
-
-distclean: distclean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
- distclean-libtool distclean-tags
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-info: info-am
-
-info-am:
-
-install-data-am:
-
-install-exec-am:
-
-install-info: install-info-am
-
-install-man:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-compile mostlyclean-generic \
- mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am: uninstall-info-am
-
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
- clean-libtool clean-noinstLIBRARIES ctags distclean \
- distclean-compile distclean-generic distclean-libtool \
- distclean-tags distdir dvi dvi-am html html-am info info-am \
- install install-am install-data install-data-am install-exec \
- install-exec-am install-info install-info-am install-man \
- install-strip installcheck installcheck-am installdirs \
- maintainer-clean maintainer-clean-generic mostlyclean \
- mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
- pdf pdf-am ps ps-am tags uninstall uninstall-am \
- uninstall-info-am
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/libpp/Makefile.in b/libpp/Makefile.in
deleted file mode 100644
index a079813..0000000
--- a/libpp/Makefile.in
+++ /dev/null
@@ -1,565 +0,0 @@
-# Makefile.in generated by automake 1.9.6 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005 Free Software Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ..
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-subdir = libpp
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/binutils.m4 \
- $(top_srcdir)/m4/builtinexpect.m4 \
- $(top_srcdir)/m4/cellspubfdsupport.m4 \
- $(top_srcdir)/m4/compileroption.m4 \
- $(top_srcdir)/m4/configmodule.m4 \
- $(top_srcdir)/m4/copyifchange.m4 $(top_srcdir)/m4/docbook.m4 \
- $(top_srcdir)/m4/extradirs.m4 $(top_srcdir)/m4/findkernel.m4 \
- $(top_srcdir)/m4/kerneloption.m4 \
- $(top_srcdir)/m4/kernelversion.m4 \
- $(top_srcdir)/m4/mallocattribute.m4 \
- $(top_srcdir)/m4/poptconst.m4 \
- $(top_srcdir)/m4/precompiledheader.m4 $(top_srcdir)/m4/qt.m4 \
- $(top_srcdir)/m4/resultyn.m4 $(top_srcdir)/m4/sstream.m4 \
- $(top_srcdir)/m4/typedef.m4 $(top_srcdir)/configure.in
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-LIBRARIES = $(noinst_LIBRARIES)
-ARFLAGS = cru
-libpp_a_AR = $(AR) $(ARFLAGS)
-libpp_a_LIBADD =
-am_libpp_a_OBJECTS = arrange_profiles.$(OBJEXT) \
- callgraph_container.$(OBJEXT) diff_container.$(OBJEXT) \
- filename_spec.$(OBJEXT) format_output.$(OBJEXT) \
- image_errors.$(OBJEXT) locate_images.$(OBJEXT) \
- name_storage.$(OBJEXT) op_header.$(OBJEXT) symbol.$(OBJEXT) \
- parse_filename.$(OBJEXT) populate.$(OBJEXT) profile.$(OBJEXT) \
- profile_container.$(OBJEXT) profile_spec.$(OBJEXT) \
- sample_container.$(OBJEXT) symbol_container.$(OBJEXT) \
- symbol_functors.$(OBJEXT) symbol_sort.$(OBJEXT) \
- xml_utils.$(OBJEXT) populate_for_spu.$(OBJEXT)
-libpp_a_OBJECTS = $(am_libpp_a_OBJECTS)
-DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
-depcomp = $(SHELL) $(top_srcdir)/depcomp
-am__depfiles_maybe = depfiles
-CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
-LTCXXCOMPILE = $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) \
- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
- $(AM_CXXFLAGS) $(CXXFLAGS)
-CXXLD = $(CXX)
-CXXLINK = $(LIBTOOL) --tag=CXX --mode=link $(CXXLD) $(AM_CXXFLAGS) \
- $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \
- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
- $(AM_CFLAGS) $(CFLAGS)
-CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(AM_LDFLAGS) $(LDFLAGS) -o $@
-SOURCES = $(libpp_a_SOURCES)
-DIST_SOURCES = $(libpp_a_SOURCES)
-ETAGS = etags
-CTAGS = ctags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
-AMTAR = @AMTAR@
-AR = @AR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-BFD_LIBS = @BFD_LIBS@
-BUILD_JVMPI_AGENT_FALSE = @BUILD_JVMPI_AGENT_FALSE@
-BUILD_JVMPI_AGENT_TRUE = @BUILD_JVMPI_AGENT_TRUE@
-BUILD_JVMTI_AGENT_FALSE = @BUILD_JVMTI_AGENT_FALSE@
-BUILD_JVMTI_AGENT_TRUE = @BUILD_JVMTI_AGENT_TRUE@
-CAT_ENTRY_END = @CAT_ENTRY_END@
-CAT_ENTRY_START = @CAT_ENTRY_START@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DATE = @DATE@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DOCBOOK_ROOT = @DOCBOOK_ROOT@
-ECHO = @ECHO@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-EXTRA_CFLAGS_MODULE = @EXTRA_CFLAGS_MODULE@
-F77 = @F77@
-FFLAGS = @FFLAGS@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-JAVA_HOMEDIR = @JAVA_HOMEDIR@
-KINC = @KINC@
-KSRC = @KSRC@
-KVERS = @KVERS@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LIBERTY_LIBS = @LIBERTY_LIBS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-MAKEINFO = @MAKEINFO@
-MOC = @MOC@
-MODINSTALLDIR = @MODINSTALLDIR@
-OBJEXT = @OBJEXT@
-OPROFILE_DIR = @OPROFILE_DIR@
-OPROFILE_MODULE_ARCH = @OPROFILE_MODULE_ARCH@
-OP_CFLAGS = @OP_CFLAGS@
-OP_CXXFLAGS = @OP_CXXFLAGS@
-OP_DOCDIR = @OP_DOCDIR@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-POPT_LIBS = @POPT_LIBS@
-PTRDIFF_T_TYPE = @PTRDIFF_T_TYPE@
-QT_INCLUDES = @QT_INCLUDES@
-QT_LDFLAGS = @QT_LDFLAGS@
-QT_LIB = @QT_LIB@
-QT_VERSION = @QT_VERSION@
-RANLIB = @RANLIB@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-SIZE_T_TYPE = @SIZE_T_TYPE@
-STRIP = @STRIP@
-UIC = @UIC@
-VERSION = @VERSION@
-XML_CATALOG = @XML_CATALOG@
-XSLTPROC = @XSLTPROC@
-XSLTPROC_FLAGS = @XSLTPROC_FLAGS@
-X_CFLAGS = @X_CFLAGS@
-X_EXTRA_LIBS = @X_EXTRA_LIBS@
-X_LIBS = @X_LIBS@
-X_PRE_LIBS = @X_PRE_LIBS@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
-am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-datadir = @datadir@
-exec_prefix = @exec_prefix@
-have_qt_FALSE = @have_qt_FALSE@
-have_qt_TRUE = @have_qt_TRUE@
-have_xsltproc_FALSE = @have_xsltproc_FALSE@
-have_xsltproc_TRUE = @have_xsltproc_TRUE@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-kernel_support_FALSE = @kernel_support_FALSE@
-kernel_support_TRUE = @kernel_support_TRUE@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-topdir = @topdir@
-AM_CPPFLAGS = \
- -I ${top_srcdir}/libop \
- -I ${top_srcdir}/libutil \
- -I ${top_srcdir}/libdb \
- -I ${top_srcdir}/libopt++ \
- -I ${top_srcdir}/libutil++ \
- -I ${top_srcdir}/libop++ \
- -I ${top_srcdir}/libregex
-
-AM_CXXFLAGS = @OP_CXXFLAGS@
-noinst_LIBRARIES = libpp.a
-libpp_a_SOURCES = \
- arrange_profiles.cpp \
- arrange_profiles.h \
- callgraph_container.h \
- callgraph_container.cpp \
- diff_container.cpp \
- diff_container.h \
- filename_spec.cpp \
- filename_spec.h \
- format_flags.h \
- format_output.cpp \
- format_output.h \
- image_errors.h \
- image_errors.cpp \
- locate_images.cpp \
- locate_images.h \
- name_storage.cpp \
- name_storage.h \
- op_header.cpp \
- op_header.h \
- symbol.cpp \
- symbol.h \
- parse_filename.cpp \
- parse_filename.h \
- populate.h \
- populate.cpp \
- profile.cpp \
- profile.h \
- profile_container.cpp \
- profile_container.h \
- profile_spec.cpp \
- profile_spec.h \
- sample_container.cpp \
- sample_container.h \
- symbol_container.cpp \
- symbol_container.h \
- symbol_functors.cpp \
- symbol_functors.h \
- symbol_sort.cpp \
- symbol_sort.h \
- xml_utils.h \
- xml_utils.cpp \
- populate_for_spu.cpp \
- populate_for_spu.h
-
-all: all-am
-
-.SUFFIXES:
-.SUFFIXES: .cpp .lo .o .obj
-$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign libpp/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --foreign libpp/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- @case '$?' in \
- *config.status*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
- *) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-clean-noinstLIBRARIES:
- -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
-libpp.a: $(libpp_a_OBJECTS) $(libpp_a_DEPENDENCIES)
- -rm -f libpp.a
- $(libpp_a_AR) libpp.a $(libpp_a_OBJECTS) $(libpp_a_LIBADD)
- $(RANLIB) libpp.a
-
-mostlyclean-compile:
- -rm -f *.$(OBJEXT)
-
-distclean-compile:
- -rm -f *.tab.c
-
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/arrange_profiles.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/callgraph_container.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/diff_container.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/filename_spec.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/format_output.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/image_errors.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/locate_images.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/name_storage.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/op_header.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/parse_filename.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/populate.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/populate_for_spu.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/profile.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/profile_container.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/profile_spec.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sample_container.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/symbol.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/symbol_container.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/symbol_functors.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/symbol_sort.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xml_utils.Po@am__quote@
-
-.cpp.o:
-@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
-@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $<
-
-.cpp.obj:
-@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
-@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
-
-.cpp.lo:
-@am__fastdepCXX_TRUE@ if $(LTCXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
-@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $<
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
- test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
- fi
-ctags: CTAGS
-CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkdir_p) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
- if test -d $$d/$$file; then \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
- fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
- else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: check-am
-all-am: Makefile $(LIBRARIES)
-installdirs:
-install: install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-am
-
-clean-am: clean-generic clean-libtool clean-noinstLIBRARIES \
- mostlyclean-am
-
-distclean: distclean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
- distclean-libtool distclean-tags
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-info: info-am
-
-info-am:
-
-install-data-am:
-
-install-exec-am:
-
-install-info: install-info-am
-
-install-man:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-compile mostlyclean-generic \
- mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am: uninstall-info-am
-
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
- clean-libtool clean-noinstLIBRARIES ctags distclean \
- distclean-compile distclean-generic distclean-libtool \
- distclean-tags distdir dvi dvi-am html html-am info info-am \
- install install-am install-data install-data-am install-exec \
- install-exec-am install-info install-info-am install-man \
- install-strip installcheck installcheck-am installdirs \
- maintainer-clean maintainer-clean-generic mostlyclean \
- mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
- pdf pdf-am ps ps-am tags uninstall uninstall-am \
- uninstall-info-am
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/libpp/parse_filename.cpp b/libpp/parse_filename.cpp
index 65422cb..3346d56 100644
--- a/libpp/parse_filename.cpp
+++ b/libpp/parse_filename.cpp
@@ -82,6 +82,13 @@ string const parse_anon(string const & str, string const & str2)
string name = str2;
// Get rid of "{anon:
name.erase(0, 6);
+ // Catch the case where we end up with an empty string. This should
+ // never happen, except where things have gone awfully bad with profile
+ // data collection, resulting in one or more bogus sample files.
+ if(0 == name.size())
+ throw invalid_argument("parse_anon() invalid name: " + str2 + "\n"
+ + "This error indicates your sample data is suspect. It is "
+ + "recommended you do a --reset and collect new profile data.");
// Get rid of the trailing '}'
name.erase(name.size() - 1, 1);
vector<string> parts = separate_token(str, '.');
diff --git a/libpp/profile_spec.cpp b/libpp/profile_spec.cpp
index f75327e..0a77a74 100644
--- a/libpp/profile_spec.cpp
+++ b/libpp/profile_spec.cpp
@@ -481,10 +481,7 @@ void warn_if_kern_buffs_overflow(string const & session_samples_dir)
closedir(dir);
done:
- if (ret == -1) {
- cerr << "Overflow stats not available" << endl;
- }
- else if (ret > 0) {
+ if (ret > 0) {
cerr << "WARNING! The OProfile kernel driver reports sample "
<< "buffer overflows." << endl;
cerr << "Such overflows can result in incorrect sample attribution"
diff --git a/libregex/Makefile.in b/libregex/Makefile.in
deleted file mode 100644
index 1c0038c..0000000
--- a/libregex/Makefile.in
+++ /dev/null
@@ -1,641 +0,0 @@
-# Makefile.in generated by automake 1.9.6 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005 Free Software Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ..
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-subdir = libregex
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
- $(srcdir)/stl.pat.in
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/binutils.m4 \
- $(top_srcdir)/m4/builtinexpect.m4 \
- $(top_srcdir)/m4/cellspubfdsupport.m4 \
- $(top_srcdir)/m4/compileroption.m4 \
- $(top_srcdir)/m4/configmodule.m4 \
- $(top_srcdir)/m4/copyifchange.m4 $(top_srcdir)/m4/docbook.m4 \
- $(top_srcdir)/m4/extradirs.m4 $(top_srcdir)/m4/findkernel.m4 \
- $(top_srcdir)/m4/kerneloption.m4 \
- $(top_srcdir)/m4/kernelversion.m4 \
- $(top_srcdir)/m4/mallocattribute.m4 \
- $(top_srcdir)/m4/poptconst.m4 \
- $(top_srcdir)/m4/precompiledheader.m4 $(top_srcdir)/m4/qt.m4 \
- $(top_srcdir)/m4/resultyn.m4 $(top_srcdir)/m4/sstream.m4 \
- $(top_srcdir)/m4/typedef.m4 $(top_srcdir)/configure.in
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES = stl.pat
-LIBRARIES = $(noinst_LIBRARIES)
-ARFLAGS = cru
-libop_regex_a_AR = $(AR) $(ARFLAGS)
-libop_regex_a_LIBADD =
-am_libop_regex_a_OBJECTS = op_regex.$(OBJEXT) \
- demangle_symbol.$(OBJEXT) demangle_java_symbol.$(OBJEXT)
-libop_regex_a_OBJECTS = $(am_libop_regex_a_OBJECTS)
-DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
-depcomp = $(SHELL) $(top_srcdir)/depcomp
-am__depfiles_maybe = depfiles
-CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
-LTCXXCOMPILE = $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) \
- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
- $(AM_CXXFLAGS) $(CXXFLAGS)
-CXXLD = $(CXX)
-CXXLINK = $(LIBTOOL) --tag=CXX --mode=link $(CXXLD) $(AM_CXXFLAGS) \
- $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \
- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
- $(AM_CFLAGS) $(CFLAGS)
-CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(AM_LDFLAGS) $(LDFLAGS) -o $@
-SOURCES = $(libop_regex_a_SOURCES)
-DIST_SOURCES = $(libop_regex_a_SOURCES)
-RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
- html-recursive info-recursive install-data-recursive \
- install-exec-recursive install-info-recursive \
- install-recursive installcheck-recursive installdirs-recursive \
- pdf-recursive ps-recursive uninstall-info-recursive \
- uninstall-recursive
-am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
-am__vpath_adj = case $$p in \
- $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
- *) f=$$p;; \
- esac;
-am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
-am__installdirs = "$(DESTDIR)$(datadir)"
-nodist_dataDATA_INSTALL = $(INSTALL_DATA)
-DATA = $(nodist_data_DATA)
-ETAGS = etags
-CTAGS = ctags
-DIST_SUBDIRS = $(SUBDIRS)
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
-AMTAR = @AMTAR@
-AR = @AR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-BFD_LIBS = @BFD_LIBS@
-BUILD_JVMPI_AGENT_FALSE = @BUILD_JVMPI_AGENT_FALSE@
-BUILD_JVMPI_AGENT_TRUE = @BUILD_JVMPI_AGENT_TRUE@
-BUILD_JVMTI_AGENT_FALSE = @BUILD_JVMTI_AGENT_FALSE@
-BUILD_JVMTI_AGENT_TRUE = @BUILD_JVMTI_AGENT_TRUE@
-CAT_ENTRY_END = @CAT_ENTRY_END@
-CAT_ENTRY_START = @CAT_ENTRY_START@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DATE = @DATE@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DOCBOOK_ROOT = @DOCBOOK_ROOT@
-ECHO = @ECHO@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-EXTRA_CFLAGS_MODULE = @EXTRA_CFLAGS_MODULE@
-F77 = @F77@
-FFLAGS = @FFLAGS@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-JAVA_HOMEDIR = @JAVA_HOMEDIR@
-KINC = @KINC@
-KSRC = @KSRC@
-KVERS = @KVERS@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LIBERTY_LIBS = @LIBERTY_LIBS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-MAKEINFO = @MAKEINFO@
-MOC = @MOC@
-MODINSTALLDIR = @MODINSTALLDIR@
-OBJEXT = @OBJEXT@
-OPROFILE_DIR = @OPROFILE_DIR@
-OPROFILE_MODULE_ARCH = @OPROFILE_MODULE_ARCH@
-OP_CFLAGS = @OP_CFLAGS@
-OP_CXXFLAGS = @OP_CXXFLAGS@
-OP_DOCDIR = @OP_DOCDIR@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-POPT_LIBS = @POPT_LIBS@
-PTRDIFF_T_TYPE = @PTRDIFF_T_TYPE@
-QT_INCLUDES = @QT_INCLUDES@
-QT_LDFLAGS = @QT_LDFLAGS@
-QT_LIB = @QT_LIB@
-QT_VERSION = @QT_VERSION@
-RANLIB = @RANLIB@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-SIZE_T_TYPE = @SIZE_T_TYPE@
-STRIP = @STRIP@
-UIC = @UIC@
-VERSION = @VERSION@
-XML_CATALOG = @XML_CATALOG@
-XSLTPROC = @XSLTPROC@
-XSLTPROC_FLAGS = @XSLTPROC_FLAGS@
-X_CFLAGS = @X_CFLAGS@
-X_EXTRA_LIBS = @X_EXTRA_LIBS@
-X_LIBS = @X_LIBS@
-X_PRE_LIBS = @X_PRE_LIBS@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
-am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-datadir = $(prefix)/share/oprofile
-exec_prefix = @exec_prefix@
-have_qt_FALSE = @have_qt_FALSE@
-have_qt_TRUE = @have_qt_TRUE@
-have_xsltproc_FALSE = @have_xsltproc_FALSE@
-have_xsltproc_TRUE = @have_xsltproc_TRUE@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-kernel_support_FALSE = @kernel_support_FALSE@
-kernel_support_TRUE = @kernel_support_TRUE@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-topdir = @topdir@
-SUBDIRS = . tests
-AM_CPPFLAGS = -I ${top_srcdir}/libutil++
-AM_CXXFLAGS = @OP_CXXFLAGS@
-noinst_LIBRARIES = libop_regex.a
-libop_regex_a_SOURCES = \
- op_regex.cpp \
- op_regex.h \
- demangle_symbol.h \
- demangle_symbol.cpp \
- demangle_java_symbol.h \
- demangle_java_symbol.cpp
-
-nodist_data_DATA = stl.pat
-all: all-recursive
-
-.SUFFIXES:
-.SUFFIXES: .cpp .lo .o .obj
-$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign libregex/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --foreign libregex/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- @case '$?' in \
- *config.status*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
- *) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-stl.pat: $(top_builddir)/config.status $(srcdir)/stl.pat.in
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
-
-clean-noinstLIBRARIES:
- -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
-libop_regex.a: $(libop_regex_a_OBJECTS) $(libop_regex_a_DEPENDENCIES)
- -rm -f libop_regex.a
- $(libop_regex_a_AR) libop_regex.a $(libop_regex_a_OBJECTS) $(libop_regex_a_LIBADD)
- $(RANLIB) libop_regex.a
-
-mostlyclean-compile:
- -rm -f *.$(OBJEXT)
-
-distclean-compile:
- -rm -f *.tab.c
-
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/demangle_java_symbol.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/demangle_symbol.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/op_regex.Po@am__quote@
-
-.cpp.o:
-@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
-@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $<
-
-.cpp.obj:
-@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
-@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
-
-.cpp.lo:
-@am__fastdepCXX_TRUE@ if $(LTCXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
-@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $<
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-install-nodist_dataDATA: $(nodist_data_DATA)
- @$(NORMAL_INSTALL)
- test -z "$(datadir)" || $(mkdir_p) "$(DESTDIR)$(datadir)"
- @list='$(nodist_data_DATA)'; for p in $$list; do \
- if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(nodist_dataDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(datadir)/$$f'"; \
- $(nodist_dataDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(datadir)/$$f"; \
- done
-
-uninstall-nodist_dataDATA:
- @$(NORMAL_UNINSTALL)
- @list='$(nodist_data_DATA)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(datadir)/$$f'"; \
- rm -f "$(DESTDIR)$(datadir)/$$f"; \
- done
-
-# This directory's subdirectories are mostly independent; you can cd
-# into them and run `make' without going through this Makefile.
-# To change the values of `make' variables: instead of editing Makefiles,
-# (1) if the variable is set in `config.status', edit `config.status'
-# (which will cause the Makefiles to be regenerated when you run `make');
-# (2) otherwise, pass the desired values on the `make' command line.
-$(RECURSIVE_TARGETS):
- @failcom='exit 1'; \
- for f in x $$MAKEFLAGS; do \
- case $$f in \
- *=* | --[!k]*);; \
- *k*) failcom='fail=yes';; \
- esac; \
- done; \
- dot_seen=no; \
- target=`echo $@ | sed s/-recursive//`; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- dot_seen=yes; \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || eval $$failcom; \
- done; \
- if test "$$dot_seen" = "no"; then \
- $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
- fi; test -z "$$fail"
-
-mostlyclean-recursive clean-recursive distclean-recursive \
-maintainer-clean-recursive:
- @failcom='exit 1'; \
- for f in x $$MAKEFLAGS; do \
- case $$f in \
- *=* | --[!k]*);; \
- *k*) failcom='fail=yes';; \
- esac; \
- done; \
- dot_seen=no; \
- case "$@" in \
- distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
- *) list='$(SUBDIRS)' ;; \
- esac; \
- rev=''; for subdir in $$list; do \
- if test "$$subdir" = "."; then :; else \
- rev="$$subdir $$rev"; \
- fi; \
- done; \
- rev="$$rev ."; \
- target=`echo $@ | sed s/-recursive//`; \
- for subdir in $$rev; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || eval $$failcom; \
- done && test -z "$$fail"
-tags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
- done
-ctags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
- done
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
- include_option=--etags-include; \
- empty_fix=.; \
- else \
- include_option=--include; \
- empty_fix=; \
- fi; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
- test ! -f $$subdir/TAGS || \
- tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
- fi; \
- done; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
- test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
- fi
-ctags: CTAGS
-CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkdir_p) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
- if test -d $$d/$$file; then \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
- fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
- else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
- || exit 1; \
- fi; \
- done
- list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
- test -d "$(distdir)/$$subdir" \
- || $(mkdir_p) "$(distdir)/$$subdir" \
- || exit 1; \
- distdir=`$(am__cd) $(distdir) && pwd`; \
- top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
- (cd $$subdir && \
- $(MAKE) $(AM_MAKEFLAGS) \
- top_distdir="$$top_distdir" \
- distdir="$$distdir/$$subdir" \
- distdir) \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: check-recursive
-all-am: Makefile $(LIBRARIES) $(DATA)
-installdirs: installdirs-recursive
-installdirs-am:
- for dir in "$(DESTDIR)$(datadir)"; do \
- test -z "$$dir" || $(mkdir_p) "$$dir"; \
- done
-install: install-recursive
-install-exec: install-exec-recursive
-install-data: install-data-recursive
-uninstall: uninstall-recursive
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-recursive
-install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-recursive
-
-clean-am: clean-generic clean-libtool clean-noinstLIBRARIES \
- mostlyclean-am
-
-distclean: distclean-recursive
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
- distclean-libtool distclean-tags
-
-dvi: dvi-recursive
-
-dvi-am:
-
-html: html-recursive
-
-info: info-recursive
-
-info-am:
-
-install-data-am: install-nodist_dataDATA
-
-install-exec-am:
-
-install-info: install-info-recursive
-
-install-man:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-recursive
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-recursive
-
-mostlyclean-am: mostlyclean-compile mostlyclean-generic \
- mostlyclean-libtool
-
-pdf: pdf-recursive
-
-pdf-am:
-
-ps: ps-recursive
-
-ps-am:
-
-uninstall-am: uninstall-info-am uninstall-nodist_dataDATA
-
-uninstall-info: uninstall-info-recursive
-
-.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am \
- clean clean-generic clean-libtool clean-noinstLIBRARIES \
- clean-recursive ctags ctags-recursive distclean \
- distclean-compile distclean-generic distclean-libtool \
- distclean-recursive distclean-tags distdir dvi dvi-am html \
- html-am info info-am install install-am install-data \
- install-data-am install-exec install-exec-am install-info \
- install-info-am install-man install-nodist_dataDATA \
- install-strip installcheck installcheck-am installdirs \
- installdirs-am maintainer-clean maintainer-clean-generic \
- maintainer-clean-recursive mostlyclean mostlyclean-compile \
- mostlyclean-generic mostlyclean-libtool mostlyclean-recursive \
- pdf pdf-am ps ps-am tags tags-recursive uninstall uninstall-am \
- uninstall-info-am uninstall-nodist_dataDATA
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/libregex/stl.pat.in b/libregex/stl.pat.in
index 64aeaf9..109235a 100644
--- a/libregex/stl.pat.in
+++ b/libregex/stl.pat.in
@@ -28,6 +28,8 @@ $typename = "${typename}(<${typename}(, ${typename})*>)*"
# pointer is ugly but we can't add any grouping to not overrun 9 max group
# in left pattern rules side..
$typename = "(${typename}[ ]*\**|unsigned short[ ]**\**|unsigned int[ ]*\**|unsigned long[ ]*\**|unsigned char[ ]*\**|signed char[ ]*\**|long long[ ]*\**|unsigned long long[ ]*\**|long double[ ]*\**)"
+$ptrdiff_t_type = "(int|long)"
+
# FIXME: really discussable but simplify output and the next pattern.
"\<std::" = ""
@@ -44,7 +46,7 @@ $typename = "(${typename}[ ]*\**|unsigned short[ ]**\**|unsigned int[ ]*\**|unsi
"\<(multi)?map<${typename}, ${typename}, less<\2>>" = "\1map<\2, \8>"
"\<bitset<(${integer}), unsigned long>" = "bitset<\1>"
-"\<([io]stream_iterator)<char, @PTRDIFF_T_TYPE@>" = "\1<char>"
+"\<([io]stream_iterator)<char, ${ptrdiff_t_type}>" = "\1<char>"
# common to all supported gcc version.
"\<deque<${typename}, allocator<\1>, 0>" = "deque<\1>"
@@ -109,11 +111,11 @@ $typename = "(${typename}[ ]*\**|unsigned short[ ]**\**|unsigned int[ ]*\**|unsi
# form for 2.95/3.2
# "\<(multi)?map<${typename}, ${typename}, less<\2>>" = "\1map<\2, \8>"
-"\<bitset<\(@SIZE_T_TYPE@\)(${integer})>" = "bitset<\1>"
+"\<bitset<\(unsigned( long)?\)(${integer})>" = "bitset<\2>"
# iterator
-"\<iterator<(input|output|forward|bidirectional|random)_iterator_tag, ${typename}, (@PTRDIFF_T_TYPE@), \8\*, \8&>" = "iterator<\1_iterator_tag, \2>"
-"\<([io]stream_iterator)<${typename}, char, char_traits<char>, @PTRDIFF_T_TYPE@>" = "\1<\2>"
+"\<iterator<(input|output|forward|bidirectional|random)_iterator_tag, ${typename}, (${ptrdiff_t_type}), \8\*, \8&>" = "iterator<\1_iterator_tag, \2>"
+"\<([io]stream_iterator)<${typename}, char, char_traits<char>, ${ptrdiff_t_type}>" = "\1<\2>"
# __gnu_cxx::__normal_iterator are used in two context: basic_string<> and
# vector<T> we decay them to string::iterator, vector<T>::iterator
diff --git a/libregex/tests/Makefile.in b/libregex/tests/Makefile.in
deleted file mode 100644
index 7a0f251..0000000
--- a/libregex/tests/Makefile.in
+++ /dev/null
@@ -1,574 +0,0 @@
-# Makefile.in generated by automake 1.9.6 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005 Free Software Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ../..
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-check_PROGRAMS = regex_test$(EXEEXT) java_test$(EXEEXT)
-subdir = libregex/tests
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
- $(srcdir)/mangled-name.in
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/binutils.m4 \
- $(top_srcdir)/m4/builtinexpect.m4 \
- $(top_srcdir)/m4/cellspubfdsupport.m4 \
- $(top_srcdir)/m4/compileroption.m4 \
- $(top_srcdir)/m4/configmodule.m4 \
- $(top_srcdir)/m4/copyifchange.m4 $(top_srcdir)/m4/docbook.m4 \
- $(top_srcdir)/m4/extradirs.m4 $(top_srcdir)/m4/findkernel.m4 \
- $(top_srcdir)/m4/kerneloption.m4 \
- $(top_srcdir)/m4/kernelversion.m4 \
- $(top_srcdir)/m4/mallocattribute.m4 \
- $(top_srcdir)/m4/poptconst.m4 \
- $(top_srcdir)/m4/precompiledheader.m4 $(top_srcdir)/m4/qt.m4 \
- $(top_srcdir)/m4/resultyn.m4 $(top_srcdir)/m4/sstream.m4 \
- $(top_srcdir)/m4/typedef.m4 $(top_srcdir)/configure.in
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES = mangled-name
-am_java_test_OBJECTS = java_test.$(OBJEXT)
-java_test_OBJECTS = $(am_java_test_OBJECTS)
-java_test_DEPENDENCIES = ../libop_regex.a ../../libutil++/libutil++.a
-am_regex_test_OBJECTS = regex_test.$(OBJEXT)
-regex_test_OBJECTS = $(am_regex_test_OBJECTS)
-regex_test_DEPENDENCIES = ../libop_regex.a ../../libutil++/libutil++.a
-DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
-depcomp = $(SHELL) $(top_srcdir)/depcomp
-am__depfiles_maybe = depfiles
-CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
-LTCXXCOMPILE = $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) \
- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
- $(AM_CXXFLAGS) $(CXXFLAGS)
-CXXLD = $(CXX)
-CXXLINK = $(LIBTOOL) --tag=CXX --mode=link $(CXXLD) $(AM_CXXFLAGS) \
- $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
-SOURCES = $(java_test_SOURCES) $(regex_test_SOURCES)
-DIST_SOURCES = $(java_test_SOURCES) $(regex_test_SOURCES)
-ETAGS = etags
-CTAGS = ctags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
-AMTAR = @AMTAR@
-AR = @AR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-BFD_LIBS = @BFD_LIBS@
-BUILD_JVMPI_AGENT_FALSE = @BUILD_JVMPI_AGENT_FALSE@
-BUILD_JVMPI_AGENT_TRUE = @BUILD_JVMPI_AGENT_TRUE@
-BUILD_JVMTI_AGENT_FALSE = @BUILD_JVMTI_AGENT_FALSE@
-BUILD_JVMTI_AGENT_TRUE = @BUILD_JVMTI_AGENT_TRUE@
-CAT_ENTRY_END = @CAT_ENTRY_END@
-CAT_ENTRY_START = @CAT_ENTRY_START@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DATE = @DATE@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DOCBOOK_ROOT = @DOCBOOK_ROOT@
-ECHO = @ECHO@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-EXTRA_CFLAGS_MODULE = @EXTRA_CFLAGS_MODULE@
-F77 = @F77@
-FFLAGS = @FFLAGS@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-JAVA_HOMEDIR = @JAVA_HOMEDIR@
-KINC = @KINC@
-KSRC = @KSRC@
-KVERS = @KVERS@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LIBERTY_LIBS = @LIBERTY_LIBS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-MAKEINFO = @MAKEINFO@
-MOC = @MOC@
-MODINSTALLDIR = @MODINSTALLDIR@
-OBJEXT = @OBJEXT@
-OPROFILE_DIR = @OPROFILE_DIR@
-OPROFILE_MODULE_ARCH = @OPROFILE_MODULE_ARCH@
-OP_CFLAGS = @OP_CFLAGS@
-OP_CXXFLAGS = @OP_CXXFLAGS@
-OP_DOCDIR = @OP_DOCDIR@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-POPT_LIBS = @POPT_LIBS@
-PTRDIFF_T_TYPE = @PTRDIFF_T_TYPE@
-QT_INCLUDES = @QT_INCLUDES@
-QT_LDFLAGS = @QT_LDFLAGS@
-QT_LIB = @QT_LIB@
-QT_VERSION = @QT_VERSION@
-RANLIB = @RANLIB@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-SIZE_T_TYPE = @SIZE_T_TYPE@
-STRIP = @STRIP@
-UIC = @UIC@
-VERSION = @VERSION@
-XML_CATALOG = @XML_CATALOG@
-XSLTPROC = @XSLTPROC@
-XSLTPROC_FLAGS = @XSLTPROC_FLAGS@
-X_CFLAGS = @X_CFLAGS@
-X_EXTRA_LIBS = @X_EXTRA_LIBS@
-X_LIBS = @X_LIBS@
-X_PRE_LIBS = @X_PRE_LIBS@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
-am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-datadir = @datadir@
-exec_prefix = @exec_prefix@
-have_qt_FALSE = @have_qt_FALSE@
-have_qt_TRUE = @have_qt_TRUE@
-have_xsltproc_FALSE = @have_xsltproc_FALSE@
-have_xsltproc_TRUE = @have_xsltproc_TRUE@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-kernel_support_FALSE = @kernel_support_FALSE@
-kernel_support_TRUE = @kernel_support_TRUE@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-topdir = @topdir@
-AM_CPPFLAGS = \
- -I ${top_srcdir}/libutil++ \
- -I ${top_srcdir}/libregex
-
-AM_CXXFLAGS = @OP_CXXFLAGS@
-regex_test_SOURCES = regex_test.cpp
-regex_test_LDADD = \
- ../libop_regex.a \
- ../../libutil++/libutil++.a
-
-java_test_SOURCES = java_test.cpp
-java_test_LDADD = \
- ../libop_regex.a \
- ../../libutil++/libutil++.a
-
-EXTRA_DIST = mangled-name.in
-TESTS = ${check_PROGRAMS}
-all: all-am
-
-.SUFFIXES:
-.SUFFIXES: .cpp .lo .o .obj
-$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign libregex/tests/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --foreign libregex/tests/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- @case '$?' in \
- *config.status*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
- *) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-mangled-name: $(top_builddir)/config.status $(srcdir)/mangled-name.in
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
-
-clean-checkPROGRAMS:
- @list='$(check_PROGRAMS)'; for p in $$list; do \
- f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
- echo " rm -f $$p $$f"; \
- rm -f $$p $$f ; \
- done
-java_test$(EXEEXT): $(java_test_OBJECTS) $(java_test_DEPENDENCIES)
- @rm -f java_test$(EXEEXT)
- $(CXXLINK) $(java_test_LDFLAGS) $(java_test_OBJECTS) $(java_test_LDADD) $(LIBS)
-regex_test$(EXEEXT): $(regex_test_OBJECTS) $(regex_test_DEPENDENCIES)
- @rm -f regex_test$(EXEEXT)
- $(CXXLINK) $(regex_test_LDFLAGS) $(regex_test_OBJECTS) $(regex_test_LDADD) $(LIBS)
-
-mostlyclean-compile:
- -rm -f *.$(OBJEXT)
-
-distclean-compile:
- -rm -f *.tab.c
-
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/java_test.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/regex_test.Po@am__quote@
-
-.cpp.o:
-@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
-@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $<
-
-.cpp.obj:
-@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
-@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
-
-.cpp.lo:
-@am__fastdepCXX_TRUE@ if $(LTCXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
-@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $<
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
- test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
- fi
-ctags: CTAGS
-CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-check-TESTS: $(TESTS)
- @failed=0; all=0; xfail=0; xpass=0; skip=0; \
- srcdir=$(srcdir); export srcdir; \
- list='$(TESTS)'; \
- if test -n "$$list"; then \
- for tst in $$list; do \
- if test -f ./$$tst; then dir=./; \
- elif test -f $$tst; then dir=; \
- else dir="$(srcdir)/"; fi; \
- if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \
- all=`expr $$all + 1`; \
- case " $(XFAIL_TESTS) " in \
- *" $$tst "*) \
- xpass=`expr $$xpass + 1`; \
- failed=`expr $$failed + 1`; \
- echo "XPASS: $$tst"; \
- ;; \
- *) \
- echo "PASS: $$tst"; \
- ;; \
- esac; \
- elif test $$? -ne 77; then \
- all=`expr $$all + 1`; \
- case " $(XFAIL_TESTS) " in \
- *" $$tst "*) \
- xfail=`expr $$xfail + 1`; \
- echo "XFAIL: $$tst"; \
- ;; \
- *) \
- failed=`expr $$failed + 1`; \
- echo "FAIL: $$tst"; \
- ;; \
- esac; \
- else \
- skip=`expr $$skip + 1`; \
- echo "SKIP: $$tst"; \
- fi; \
- done; \
- if test "$$failed" -eq 0; then \
- if test "$$xfail" -eq 0; then \
- banner="All $$all tests passed"; \
- else \
- banner="All $$all tests behaved as expected ($$xfail expected failures)"; \
- fi; \
- else \
- if test "$$xpass" -eq 0; then \
- banner="$$failed of $$all tests failed"; \
- else \
- banner="$$failed of $$all tests did not behave as expected ($$xpass unexpected passes)"; \
- fi; \
- fi; \
- dashes="$$banner"; \
- skipped=""; \
- if test "$$skip" -ne 0; then \
- skipped="($$skip tests were not run)"; \
- test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \
- dashes="$$skipped"; \
- fi; \
- report=""; \
- if test "$$failed" -ne 0 && test -n "$(PACKAGE_BUGREPORT)"; then \
- report="Please report to $(PACKAGE_BUGREPORT)"; \
- test `echo "$$report" | wc -c` -le `echo "$$banner" | wc -c` || \
- dashes="$$report"; \
- fi; \
- dashes=`echo "$$dashes" | sed s/./=/g`; \
- echo "$$dashes"; \
- echo "$$banner"; \
- test -z "$$skipped" || echo "$$skipped"; \
- test -z "$$report" || echo "$$report"; \
- echo "$$dashes"; \
- test "$$failed" -eq 0; \
- else :; fi
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkdir_p) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
- if test -d $$d/$$file; then \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
- fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
- else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
- || exit 1; \
- fi; \
- done
-check-am: all-am
- $(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS)
- $(MAKE) $(AM_MAKEFLAGS) check-TESTS
-check: check-am
-all-am: Makefile
-installdirs:
-install: install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-am
-
-clean-am: clean-checkPROGRAMS clean-generic clean-libtool \
- mostlyclean-am
-
-distclean: distclean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
- distclean-libtool distclean-tags
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-info: info-am
-
-info-am:
-
-install-data-am:
-
-install-exec-am:
-
-install-info: install-info-am
-
-install-man:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-compile mostlyclean-generic \
- mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am: uninstall-info-am
-
-.PHONY: CTAGS GTAGS all all-am check check-TESTS check-am clean \
- clean-checkPROGRAMS clean-generic clean-libtool ctags \
- distclean distclean-compile distclean-generic \
- distclean-libtool distclean-tags distdir dvi dvi-am html \
- html-am info info-am install install-am install-data \
- install-data-am install-exec install-exec-am install-info \
- install-info-am install-man install-strip installcheck \
- installcheck-am installdirs maintainer-clean \
- maintainer-clean-generic mostlyclean mostlyclean-compile \
- mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
- tags uninstall uninstall-am uninstall-info-am
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/libutil++/Makefile.in b/libutil++/Makefile.in
deleted file mode 100644
index d38e1c9..0000000
--- a/libutil++/Makefile.in
+++ /dev/null
@@ -1,653 +0,0 @@
-# Makefile.in generated by automake 1.9.6 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005 Free Software Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ..
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-subdir = libutil++
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/binutils.m4 \
- $(top_srcdir)/m4/builtinexpect.m4 \
- $(top_srcdir)/m4/cellspubfdsupport.m4 \
- $(top_srcdir)/m4/compileroption.m4 \
- $(top_srcdir)/m4/configmodule.m4 \
- $(top_srcdir)/m4/copyifchange.m4 $(top_srcdir)/m4/docbook.m4 \
- $(top_srcdir)/m4/extradirs.m4 $(top_srcdir)/m4/findkernel.m4 \
- $(top_srcdir)/m4/kerneloption.m4 \
- $(top_srcdir)/m4/kernelversion.m4 \
- $(top_srcdir)/m4/mallocattribute.m4 \
- $(top_srcdir)/m4/poptconst.m4 \
- $(top_srcdir)/m4/precompiledheader.m4 $(top_srcdir)/m4/qt.m4 \
- $(top_srcdir)/m4/resultyn.m4 $(top_srcdir)/m4/sstream.m4 \
- $(top_srcdir)/m4/typedef.m4 $(top_srcdir)/configure.in
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-LIBRARIES = $(noinst_LIBRARIES)
-ARFLAGS = cru
-libutil___a_AR = $(AR) $(ARFLAGS)
-libutil___a_LIBADD =
-am_libutil___a_OBJECTS = op_bfd.$(OBJEXT) bfd_support.$(OBJEXT) \
- string_filter.$(OBJEXT) glob_filter.$(OBJEXT) \
- path_filter.$(OBJEXT) file_manip.$(OBJEXT) \
- stream_util.$(OBJEXT) string_manip.$(OBJEXT) cverb.$(OBJEXT) \
- op_exception.$(OBJEXT) child_reader.$(OBJEXT) \
- xml_output.$(OBJEXT) bfd_spu_support.$(OBJEXT) \
- op_spu_bfd.$(OBJEXT)
-libutil___a_OBJECTS = $(am_libutil___a_OBJECTS)
-DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
-depcomp = $(SHELL) $(top_srcdir)/depcomp
-am__depfiles_maybe = depfiles
-CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
-LTCXXCOMPILE = $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) \
- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
- $(AM_CXXFLAGS) $(CXXFLAGS)
-CXXLD = $(CXX)
-CXXLINK = $(LIBTOOL) --tag=CXX --mode=link $(CXXLD) $(AM_CXXFLAGS) \
- $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \
- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
- $(AM_CFLAGS) $(CFLAGS)
-CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(AM_LDFLAGS) $(LDFLAGS) -o $@
-SOURCES = $(libutil___a_SOURCES)
-DIST_SOURCES = $(libutil___a_SOURCES)
-RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
- html-recursive info-recursive install-data-recursive \
- install-exec-recursive install-info-recursive \
- install-recursive installcheck-recursive installdirs-recursive \
- pdf-recursive ps-recursive uninstall-info-recursive \
- uninstall-recursive
-ETAGS = etags
-CTAGS = ctags
-DIST_SUBDIRS = $(SUBDIRS)
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
-AMTAR = @AMTAR@
-AR = @AR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-BFD_LIBS = @BFD_LIBS@
-BUILD_JVMPI_AGENT_FALSE = @BUILD_JVMPI_AGENT_FALSE@
-BUILD_JVMPI_AGENT_TRUE = @BUILD_JVMPI_AGENT_TRUE@
-BUILD_JVMTI_AGENT_FALSE = @BUILD_JVMTI_AGENT_FALSE@
-BUILD_JVMTI_AGENT_TRUE = @BUILD_JVMTI_AGENT_TRUE@
-CAT_ENTRY_END = @CAT_ENTRY_END@
-CAT_ENTRY_START = @CAT_ENTRY_START@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DATE = @DATE@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DOCBOOK_ROOT = @DOCBOOK_ROOT@
-ECHO = @ECHO@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-EXTRA_CFLAGS_MODULE = @EXTRA_CFLAGS_MODULE@
-F77 = @F77@
-FFLAGS = @FFLAGS@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-JAVA_HOMEDIR = @JAVA_HOMEDIR@
-KINC = @KINC@
-KSRC = @KSRC@
-KVERS = @KVERS@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LIBERTY_LIBS = @LIBERTY_LIBS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-MAKEINFO = @MAKEINFO@
-MOC = @MOC@
-MODINSTALLDIR = @MODINSTALLDIR@
-OBJEXT = @OBJEXT@
-OPROFILE_DIR = @OPROFILE_DIR@
-OPROFILE_MODULE_ARCH = @OPROFILE_MODULE_ARCH@
-OP_CFLAGS = @OP_CFLAGS@
-OP_CXXFLAGS = @OP_CXXFLAGS@
-OP_DOCDIR = @OP_DOCDIR@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-POPT_LIBS = @POPT_LIBS@
-PTRDIFF_T_TYPE = @PTRDIFF_T_TYPE@
-QT_INCLUDES = @QT_INCLUDES@
-QT_LDFLAGS = @QT_LDFLAGS@
-QT_LIB = @QT_LIB@
-QT_VERSION = @QT_VERSION@
-RANLIB = @RANLIB@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-SIZE_T_TYPE = @SIZE_T_TYPE@
-STRIP = @STRIP@
-UIC = @UIC@
-VERSION = @VERSION@
-XML_CATALOG = @XML_CATALOG@
-XSLTPROC = @XSLTPROC@
-XSLTPROC_FLAGS = @XSLTPROC_FLAGS@
-X_CFLAGS = @X_CFLAGS@
-X_EXTRA_LIBS = @X_EXTRA_LIBS@
-X_LIBS = @X_LIBS@
-X_PRE_LIBS = @X_PRE_LIBS@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
-am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-datadir = @datadir@
-exec_prefix = @exec_prefix@
-have_qt_FALSE = @have_qt_FALSE@
-have_qt_TRUE = @have_qt_TRUE@
-have_xsltproc_FALSE = @have_xsltproc_FALSE@
-have_xsltproc_TRUE = @have_xsltproc_TRUE@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-kernel_support_FALSE = @kernel_support_FALSE@
-kernel_support_TRUE = @kernel_support_TRUE@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-topdir = @topdir@
-SUBDIRS = . tests
-AM_CPPFLAGS = \
- -I ${top_srcdir}/libutil \
- -I ${top_srcdir}/libop \
- -I ${top_srcdir}/libpp
-
-AM_CXXFLAGS = @OP_CXXFLAGS@
-noinst_LIBRARIES = libutil++.a
-libutil___a_SOURCES = \
- op_bfd.cpp \
- op_bfd.h \
- bfd_support.cpp \
- bfd_support.h \
- string_filter.cpp \
- string_filter.h \
- glob_filter.cpp \
- glob_filter.h \
- growable_vector.h \
- path_filter.cpp \
- path_filter.h \
- file_manip.cpp \
- file_manip.h \
- sparse_array.h \
- stream_util.cpp \
- stream_util.h \
- string_manip.cpp \
- string_manip.h \
- cverb.cpp \
- cverb.h \
- generic_spec.h \
- op_exception.cpp \
- op_exception.h \
- child_reader.cpp \
- child_reader.h \
- unique_storage.h \
- utility.h \
- cached_value.h \
- comma_list.h \
- xml_output.h \
- xml_output.cpp \
- bfd_spu_support.cpp \
- op_spu_bfd.cpp
-
-all: all-recursive
-
-.SUFFIXES:
-.SUFFIXES: .cpp .lo .o .obj
-$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign libutil++/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --foreign libutil++/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- @case '$?' in \
- *config.status*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
- *) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-clean-noinstLIBRARIES:
- -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
-libutil++.a: $(libutil___a_OBJECTS) $(libutil___a_DEPENDENCIES)
- -rm -f libutil++.a
- $(libutil___a_AR) libutil++.a $(libutil___a_OBJECTS) $(libutil___a_LIBADD)
- $(RANLIB) libutil++.a
-
-mostlyclean-compile:
- -rm -f *.$(OBJEXT)
-
-distclean-compile:
- -rm -f *.tab.c
-
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bfd_spu_support.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bfd_support.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/child_reader.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cverb.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/file_manip.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/glob_filter.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/op_bfd.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/op_exception.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/op_spu_bfd.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/path_filter.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stream_util.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/string_filter.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/string_manip.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xml_output.Po@am__quote@
-
-.cpp.o:
-@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
-@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $<
-
-.cpp.obj:
-@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
-@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
-
-.cpp.lo:
-@am__fastdepCXX_TRUE@ if $(LTCXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
-@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $<
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-
-# This directory's subdirectories are mostly independent; you can cd
-# into them and run `make' without going through this Makefile.
-# To change the values of `make' variables: instead of editing Makefiles,
-# (1) if the variable is set in `config.status', edit `config.status'
-# (which will cause the Makefiles to be regenerated when you run `make');
-# (2) otherwise, pass the desired values on the `make' command line.
-$(RECURSIVE_TARGETS):
- @failcom='exit 1'; \
- for f in x $$MAKEFLAGS; do \
- case $$f in \
- *=* | --[!k]*);; \
- *k*) failcom='fail=yes';; \
- esac; \
- done; \
- dot_seen=no; \
- target=`echo $@ | sed s/-recursive//`; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- dot_seen=yes; \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || eval $$failcom; \
- done; \
- if test "$$dot_seen" = "no"; then \
- $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
- fi; test -z "$$fail"
-
-mostlyclean-recursive clean-recursive distclean-recursive \
-maintainer-clean-recursive:
- @failcom='exit 1'; \
- for f in x $$MAKEFLAGS; do \
- case $$f in \
- *=* | --[!k]*);; \
- *k*) failcom='fail=yes';; \
- esac; \
- done; \
- dot_seen=no; \
- case "$@" in \
- distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
- *) list='$(SUBDIRS)' ;; \
- esac; \
- rev=''; for subdir in $$list; do \
- if test "$$subdir" = "."; then :; else \
- rev="$$subdir $$rev"; \
- fi; \
- done; \
- rev="$$rev ."; \
- target=`echo $@ | sed s/-recursive//`; \
- for subdir in $$rev; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || eval $$failcom; \
- done && test -z "$$fail"
-tags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
- done
-ctags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
- done
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
- include_option=--etags-include; \
- empty_fix=.; \
- else \
- include_option=--include; \
- empty_fix=; \
- fi; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
- test ! -f $$subdir/TAGS || \
- tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
- fi; \
- done; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
- test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
- fi
-ctags: CTAGS
-CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkdir_p) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
- if test -d $$d/$$file; then \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
- fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
- else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
- || exit 1; \
- fi; \
- done
- list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
- test -d "$(distdir)/$$subdir" \
- || $(mkdir_p) "$(distdir)/$$subdir" \
- || exit 1; \
- distdir=`$(am__cd) $(distdir) && pwd`; \
- top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
- (cd $$subdir && \
- $(MAKE) $(AM_MAKEFLAGS) \
- top_distdir="$$top_distdir" \
- distdir="$$distdir/$$subdir" \
- distdir) \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: check-recursive
-all-am: Makefile $(LIBRARIES)
-installdirs: installdirs-recursive
-installdirs-am:
-install: install-recursive
-install-exec: install-exec-recursive
-install-data: install-data-recursive
-uninstall: uninstall-recursive
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-recursive
-install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-recursive
-
-clean-am: clean-generic clean-libtool clean-noinstLIBRARIES \
- mostlyclean-am
-
-distclean: distclean-recursive
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
- distclean-libtool distclean-tags
-
-dvi: dvi-recursive
-
-dvi-am:
-
-html: html-recursive
-
-info: info-recursive
-
-info-am:
-
-install-data-am:
-
-install-exec-am:
-
-install-info: install-info-recursive
-
-install-man:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-recursive
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-recursive
-
-mostlyclean-am: mostlyclean-compile mostlyclean-generic \
- mostlyclean-libtool
-
-pdf: pdf-recursive
-
-pdf-am:
-
-ps: ps-recursive
-
-ps-am:
-
-uninstall-am: uninstall-info-am
-
-uninstall-info: uninstall-info-recursive
-
-.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am \
- clean clean-generic clean-libtool clean-noinstLIBRARIES \
- clean-recursive ctags ctags-recursive distclean \
- distclean-compile distclean-generic distclean-libtool \
- distclean-recursive distclean-tags distdir dvi dvi-am html \
- html-am info info-am install install-am install-data \
- install-data-am install-exec install-exec-am install-info \
- install-info-am install-man install-strip installcheck \
- installcheck-am installdirs installdirs-am maintainer-clean \
- maintainer-clean-generic maintainer-clean-recursive \
- mostlyclean mostlyclean-compile mostlyclean-generic \
- mostlyclean-libtool mostlyclean-recursive pdf pdf-am ps ps-am \
- tags tags-recursive uninstall uninstall-am uninstall-info-am
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/libutil++/bfd_support.cpp b/libutil++/bfd_support.cpp
index 4a83172..69d6938 100644
--- a/libutil++/bfd_support.cpp
+++ b/libutil++/bfd_support.cpp
@@ -20,7 +20,7 @@
#include <cstdlib>
#include <cstring>
-
+#include <cassert>
#include <iostream>
#include <fstream>
#include <sstream>
@@ -432,13 +432,28 @@ void bfd_info::close()
bfd_close(abfd);
}
+/**
+ * This function is only called when processing symbols retrieved from a
+ * debuginfo file that is separate from the actual runtime binary image.
+ * Separate debuginfo files may be needed in two different cases:
+ * 1) the real image is completely stripped, where there is no symbol
+ information at all
+ * 2) the real image has debuginfo stripped, and the user is requesting "-g"
+ * (src file/line num info)
+ * After all symbols are gathered up, there will be some filtering/removal of
+ * unnecessary symbols. In particular, the bfd_info::interesting_symbol()
+ * function filters out symbols whose section's flag value does not include
+ * SEC_LOAD. This filtering is required, so it must be retained. However,
+ * we run into a problem with symbols from debuginfo files, since the
+ * section flag does NOT include SEC_LOAD. To solve this problem, the
+ * translate_debuginfo_syms function maps the debuginfo symbol's sections to
+ * that of their corresponding real image.
+*/
void bfd_info::translate_debuginfo_syms(asymbol ** dbg_syms, long nr_dbg_syms)
{
- bfd_section ** image_sect;
unsigned int img_sect_cnt = 0;
bfd * image_bfd = image_bfd_info->abfd;
-
- image_sect = (bfd_section **) malloc(image_bfd->section_count * (sizeof(bfd_section *)));
+ multimap<string, bfd_section *> image_sections;
for (bfd_section * sect = image_bfd->sections;
sect && img_sect_cnt < image_bfd->section_count;
@@ -446,20 +461,43 @@ void bfd_info::translate_debuginfo_syms(asymbol ** dbg_syms, long nr_dbg_syms)
// A comment section marks the end of the needed sections
if (strstr(sect->name, ".comment") == sect->name)
break;
- image_sect[sect->index] = sect;
+ image_sections.insert(pair<string, bfd_section *>(sect->name, sect));
img_sect_cnt++;
}
asymbol * sym = dbg_syms[0];
+ string prev_sect_name = "";
+ bfd_section * matched_section = NULL;
for (int i = 0; i < nr_dbg_syms; sym = dbg_syms[++i]) {
+ bool section_switch;
+
+ if (strcmp(prev_sect_name.c_str(), sym->section->name)) {
+ section_switch = true;
+ prev_sect_name = sym->section->name;
+ } else {
+ section_switch = false;
+ }
if (sym->section->owner && sym->section->owner == abfd) {
- if ((unsigned int)sym->section->index < img_sect_cnt) {
- sym->section = image_sect[sym->section->index];
+ if (section_switch ) {
+ matched_section = NULL;
+ multimap<string, bfd_section *>::iterator it;
+ pair<multimap<string, bfd_section *>::iterator,
+ multimap<string, bfd_section *>::iterator> range;
+
+ range = image_sections.equal_range(sym->section->name);
+ for (it = range.first; it != range.second; it++) {
+ if ((*it).second->vma == sym->section->vma) {
+ matched_section = (*it).second;
+ break;
+ }
+ }
+ }
+ if (matched_section) {
+ sym->section = matched_section;
sym->the_bfd = image_bfd;
}
}
}
- free(image_sect);
}
#if SYNTHESIZE_SYMBOLS
diff --git a/libutil++/tests/Makefile.in b/libutil++/tests/Makefile.in
deleted file mode 100644
index b7bf8da..0000000
--- a/libutil++/tests/Makefile.in
+++ /dev/null
@@ -1,632 +0,0 @@
-# Makefile.in generated by automake 1.9.6 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005 Free Software Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ../..
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-check_PROGRAMS = string_manip_tests$(EXEEXT) \
- string_filter_tests$(EXEEXT) comma_list_tests$(EXEEXT) \
- file_manip_tests$(EXEEXT) glob_filter_tests$(EXEEXT) \
- path_filter_tests$(EXEEXT) cached_value_tests$(EXEEXT) \
- utility_tests$(EXEEXT)
-subdir = libutil++/tests
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/binutils.m4 \
- $(top_srcdir)/m4/builtinexpect.m4 \
- $(top_srcdir)/m4/cellspubfdsupport.m4 \
- $(top_srcdir)/m4/compileroption.m4 \
- $(top_srcdir)/m4/configmodule.m4 \
- $(top_srcdir)/m4/copyifchange.m4 $(top_srcdir)/m4/docbook.m4 \
- $(top_srcdir)/m4/extradirs.m4 $(top_srcdir)/m4/findkernel.m4 \
- $(top_srcdir)/m4/kerneloption.m4 \
- $(top_srcdir)/m4/kernelversion.m4 \
- $(top_srcdir)/m4/mallocattribute.m4 \
- $(top_srcdir)/m4/poptconst.m4 \
- $(top_srcdir)/m4/precompiledheader.m4 $(top_srcdir)/m4/qt.m4 \
- $(top_srcdir)/m4/resultyn.m4 $(top_srcdir)/m4/sstream.m4 \
- $(top_srcdir)/m4/typedef.m4 $(top_srcdir)/configure.in
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-am_cached_value_tests_OBJECTS = cached_value_tests.$(OBJEXT)
-cached_value_tests_OBJECTS = $(am_cached_value_tests_OBJECTS)
-am__DEPENDENCIES_1 = ../libutil++.a ../../libutil/libutil.a
-cached_value_tests_DEPENDENCIES = $(am__DEPENDENCIES_1)
-am_comma_list_tests_OBJECTS = comma_list_tests.$(OBJEXT)
-comma_list_tests_OBJECTS = $(am_comma_list_tests_OBJECTS)
-comma_list_tests_DEPENDENCIES = $(am__DEPENDENCIES_1)
-am_file_manip_tests_OBJECTS = file_manip_tests.$(OBJEXT)
-file_manip_tests_OBJECTS = $(am_file_manip_tests_OBJECTS)
-file_manip_tests_DEPENDENCIES = $(am__DEPENDENCIES_1)
-am_glob_filter_tests_OBJECTS = glob_filter_tests.$(OBJEXT)
-glob_filter_tests_OBJECTS = $(am_glob_filter_tests_OBJECTS)
-glob_filter_tests_DEPENDENCIES = $(am__DEPENDENCIES_1)
-am_path_filter_tests_OBJECTS = path_filter_tests.$(OBJEXT)
-path_filter_tests_OBJECTS = $(am_path_filter_tests_OBJECTS)
-path_filter_tests_DEPENDENCIES = $(am__DEPENDENCIES_1)
-am_string_filter_tests_OBJECTS = string_filter_tests.$(OBJEXT)
-string_filter_tests_OBJECTS = $(am_string_filter_tests_OBJECTS)
-string_filter_tests_DEPENDENCIES = $(am__DEPENDENCIES_1)
-am_string_manip_tests_OBJECTS = string_manip_tests.$(OBJEXT)
-string_manip_tests_OBJECTS = $(am_string_manip_tests_OBJECTS)
-string_manip_tests_DEPENDENCIES = $(am__DEPENDENCIES_1)
-am_utility_tests_OBJECTS = utility_tests.$(OBJEXT)
-utility_tests_OBJECTS = $(am_utility_tests_OBJECTS)
-utility_tests_DEPENDENCIES = $(am__DEPENDENCIES_1)
-DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
-depcomp = $(SHELL) $(top_srcdir)/depcomp
-am__depfiles_maybe = depfiles
-CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
-LTCXXCOMPILE = $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) \
- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
- $(AM_CXXFLAGS) $(CXXFLAGS)
-CXXLD = $(CXX)
-CXXLINK = $(LIBTOOL) --tag=CXX --mode=link $(CXXLD) $(AM_CXXFLAGS) \
- $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
-SOURCES = $(cached_value_tests_SOURCES) $(comma_list_tests_SOURCES) \
- $(file_manip_tests_SOURCES) $(glob_filter_tests_SOURCES) \
- $(path_filter_tests_SOURCES) $(string_filter_tests_SOURCES) \
- $(string_manip_tests_SOURCES) $(utility_tests_SOURCES)
-DIST_SOURCES = $(cached_value_tests_SOURCES) \
- $(comma_list_tests_SOURCES) $(file_manip_tests_SOURCES) \
- $(glob_filter_tests_SOURCES) $(path_filter_tests_SOURCES) \
- $(string_filter_tests_SOURCES) $(string_manip_tests_SOURCES) \
- $(utility_tests_SOURCES)
-ETAGS = etags
-CTAGS = ctags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
-AMTAR = @AMTAR@
-AR = @AR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-BFD_LIBS = @BFD_LIBS@
-BUILD_JVMPI_AGENT_FALSE = @BUILD_JVMPI_AGENT_FALSE@
-BUILD_JVMPI_AGENT_TRUE = @BUILD_JVMPI_AGENT_TRUE@
-BUILD_JVMTI_AGENT_FALSE = @BUILD_JVMTI_AGENT_FALSE@
-BUILD_JVMTI_AGENT_TRUE = @BUILD_JVMTI_AGENT_TRUE@
-CAT_ENTRY_END = @CAT_ENTRY_END@
-CAT_ENTRY_START = @CAT_ENTRY_START@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DATE = @DATE@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DOCBOOK_ROOT = @DOCBOOK_ROOT@
-ECHO = @ECHO@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-EXTRA_CFLAGS_MODULE = @EXTRA_CFLAGS_MODULE@
-F77 = @F77@
-FFLAGS = @FFLAGS@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-JAVA_HOMEDIR = @JAVA_HOMEDIR@
-KINC = @KINC@
-KSRC = @KSRC@
-KVERS = @KVERS@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LIBERTY_LIBS = @LIBERTY_LIBS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBERTY_LIBS@
-LIBTOOL = @LIBTOOL@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-MAKEINFO = @MAKEINFO@
-MOC = @MOC@
-MODINSTALLDIR = @MODINSTALLDIR@
-OBJEXT = @OBJEXT@
-OPROFILE_DIR = @OPROFILE_DIR@
-OPROFILE_MODULE_ARCH = @OPROFILE_MODULE_ARCH@
-OP_CFLAGS = @OP_CFLAGS@
-OP_CXXFLAGS = @OP_CXXFLAGS@
-OP_DOCDIR = @OP_DOCDIR@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-POPT_LIBS = @POPT_LIBS@
-PTRDIFF_T_TYPE = @PTRDIFF_T_TYPE@
-QT_INCLUDES = @QT_INCLUDES@
-QT_LDFLAGS = @QT_LDFLAGS@
-QT_LIB = @QT_LIB@
-QT_VERSION = @QT_VERSION@
-RANLIB = @RANLIB@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-SIZE_T_TYPE = @SIZE_T_TYPE@
-STRIP = @STRIP@
-UIC = @UIC@
-VERSION = @VERSION@
-XML_CATALOG = @XML_CATALOG@
-XSLTPROC = @XSLTPROC@
-XSLTPROC_FLAGS = @XSLTPROC_FLAGS@
-X_CFLAGS = @X_CFLAGS@
-X_EXTRA_LIBS = @X_EXTRA_LIBS@
-X_LIBS = @X_LIBS@
-X_PRE_LIBS = @X_PRE_LIBS@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
-am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-datadir = @datadir@
-exec_prefix = @exec_prefix@
-have_qt_FALSE = @have_qt_FALSE@
-have_qt_TRUE = @have_qt_TRUE@
-have_xsltproc_FALSE = @have_xsltproc_FALSE@
-have_xsltproc_TRUE = @have_xsltproc_TRUE@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-kernel_support_FALSE = @kernel_support_FALSE@
-kernel_support_TRUE = @kernel_support_TRUE@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-topdir = @topdir@
-REALPATH = readlink -f
-SRCDIR := $(shell $(REALPATH) $(topdir)/libutil++/tests/ )
-AM_CPPFLAGS = \
- -I ${top_srcdir}/libutil++ -D SRCDIR="\"$(SRCDIR)/\""
-
-COMMON_LIBS = ../libutil++.a ../../libutil/libutil.a
-AM_CXXFLAGS = @OP_CXXFLAGS@
-string_manip_tests_SOURCES = string_manip_tests.cpp
-string_manip_tests_LDADD = ${COMMON_LIBS}
-string_filter_tests_SOURCES = string_filter_tests.cpp
-string_filter_tests_LDADD = ${COMMON_LIBS}
-glob_filter_tests_SOURCES = glob_filter_tests.cpp
-glob_filter_tests_LDADD = ${COMMON_LIBS}
-path_filter_tests_SOURCES = path_filter_tests.cpp
-path_filter_tests_LDADD = ${COMMON_LIBS}
-comma_list_tests_SOURCES = comma_list_tests.cpp
-comma_list_tests_LDADD = ${COMMON_LIBS}
-file_manip_tests_SOURCES = file_manip_tests.cpp
-file_manip_tests_LDADD = ${COMMON_LIBS}
-cached_value_tests_SOURCES = cached_value_tests.cpp
-cached_value_tests_LDADD = ${COMMON_LIBS}
-utility_tests_SOURCES = utility_tests.cpp
-utility_tests_LDADD = ${COMMON_LIBS}
-TESTS = ${check_PROGRAMS}
-all: all-am
-
-.SUFFIXES:
-.SUFFIXES: .cpp .lo .o .obj
-$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign libutil++/tests/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --foreign libutil++/tests/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- @case '$?' in \
- *config.status*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
- *) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-clean-checkPROGRAMS:
- @list='$(check_PROGRAMS)'; for p in $$list; do \
- f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
- echo " rm -f $$p $$f"; \
- rm -f $$p $$f ; \
- done
-cached_value_tests$(EXEEXT): $(cached_value_tests_OBJECTS) $(cached_value_tests_DEPENDENCIES)
- @rm -f cached_value_tests$(EXEEXT)
- $(CXXLINK) $(cached_value_tests_LDFLAGS) $(cached_value_tests_OBJECTS) $(cached_value_tests_LDADD) $(LIBS)
-comma_list_tests$(EXEEXT): $(comma_list_tests_OBJECTS) $(comma_list_tests_DEPENDENCIES)
- @rm -f comma_list_tests$(EXEEXT)
- $(CXXLINK) $(comma_list_tests_LDFLAGS) $(comma_list_tests_OBJECTS) $(comma_list_tests_LDADD) $(LIBS)
-file_manip_tests$(EXEEXT): $(file_manip_tests_OBJECTS) $(file_manip_tests_DEPENDENCIES)
- @rm -f file_manip_tests$(EXEEXT)
- $(CXXLINK) $(file_manip_tests_LDFLAGS) $(file_manip_tests_OBJECTS) $(file_manip_tests_LDADD) $(LIBS)
-glob_filter_tests$(EXEEXT): $(glob_filter_tests_OBJECTS) $(glob_filter_tests_DEPENDENCIES)
- @rm -f glob_filter_tests$(EXEEXT)
- $(CXXLINK) $(glob_filter_tests_LDFLAGS) $(glob_filter_tests_OBJECTS) $(glob_filter_tests_LDADD) $(LIBS)
-path_filter_tests$(EXEEXT): $(path_filter_tests_OBJECTS) $(path_filter_tests_DEPENDENCIES)
- @rm -f path_filter_tests$(EXEEXT)
- $(CXXLINK) $(path_filter_tests_LDFLAGS) $(path_filter_tests_OBJECTS) $(path_filter_tests_LDADD) $(LIBS)
-string_filter_tests$(EXEEXT): $(string_filter_tests_OBJECTS) $(string_filter_tests_DEPENDENCIES)
- @rm -f string_filter_tests$(EXEEXT)
- $(CXXLINK) $(string_filter_tests_LDFLAGS) $(string_filter_tests_OBJECTS) $(string_filter_tests_LDADD) $(LIBS)
-string_manip_tests$(EXEEXT): $(string_manip_tests_OBJECTS) $(string_manip_tests_DEPENDENCIES)
- @rm -f string_manip_tests$(EXEEXT)
- $(CXXLINK) $(string_manip_tests_LDFLAGS) $(string_manip_tests_OBJECTS) $(string_manip_tests_LDADD) $(LIBS)
-utility_tests$(EXEEXT): $(utility_tests_OBJECTS) $(utility_tests_DEPENDENCIES)
- @rm -f utility_tests$(EXEEXT)
- $(CXXLINK) $(utility_tests_LDFLAGS) $(utility_tests_OBJECTS) $(utility_tests_LDADD) $(LIBS)
-
-mostlyclean-compile:
- -rm -f *.$(OBJEXT)
-
-distclean-compile:
- -rm -f *.tab.c
-
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cached_value_tests.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/comma_list_tests.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/file_manip_tests.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/glob_filter_tests.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/path_filter_tests.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/string_filter_tests.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/string_manip_tests.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/utility_tests.Po@am__quote@
-
-.cpp.o:
-@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
-@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $<
-
-.cpp.obj:
-@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
-@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
-
-.cpp.lo:
-@am__fastdepCXX_TRUE@ if $(LTCXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
-@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $<
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
- test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
- fi
-ctags: CTAGS
-CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-check-TESTS: $(TESTS)
- @failed=0; all=0; xfail=0; xpass=0; skip=0; \
- srcdir=$(srcdir); export srcdir; \
- list='$(TESTS)'; \
- if test -n "$$list"; then \
- for tst in $$list; do \
- if test -f ./$$tst; then dir=./; \
- elif test -f $$tst; then dir=; \
- else dir="$(srcdir)/"; fi; \
- if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \
- all=`expr $$all + 1`; \
- case " $(XFAIL_TESTS) " in \
- *" $$tst "*) \
- xpass=`expr $$xpass + 1`; \
- failed=`expr $$failed + 1`; \
- echo "XPASS: $$tst"; \
- ;; \
- *) \
- echo "PASS: $$tst"; \
- ;; \
- esac; \
- elif test $$? -ne 77; then \
- all=`expr $$all + 1`; \
- case " $(XFAIL_TESTS) " in \
- *" $$tst "*) \
- xfail=`expr $$xfail + 1`; \
- echo "XFAIL: $$tst"; \
- ;; \
- *) \
- failed=`expr $$failed + 1`; \
- echo "FAIL: $$tst"; \
- ;; \
- esac; \
- else \
- skip=`expr $$skip + 1`; \
- echo "SKIP: $$tst"; \
- fi; \
- done; \
- if test "$$failed" -eq 0; then \
- if test "$$xfail" -eq 0; then \
- banner="All $$all tests passed"; \
- else \
- banner="All $$all tests behaved as expected ($$xfail expected failures)"; \
- fi; \
- else \
- if test "$$xpass" -eq 0; then \
- banner="$$failed of $$all tests failed"; \
- else \
- banner="$$failed of $$all tests did not behave as expected ($$xpass unexpected passes)"; \
- fi; \
- fi; \
- dashes="$$banner"; \
- skipped=""; \
- if test "$$skip" -ne 0; then \
- skipped="($$skip tests were not run)"; \
- test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \
- dashes="$$skipped"; \
- fi; \
- report=""; \
- if test "$$failed" -ne 0 && test -n "$(PACKAGE_BUGREPORT)"; then \
- report="Please report to $(PACKAGE_BUGREPORT)"; \
- test `echo "$$report" | wc -c` -le `echo "$$banner" | wc -c` || \
- dashes="$$report"; \
- fi; \
- dashes=`echo "$$dashes" | sed s/./=/g`; \
- echo "$$dashes"; \
- echo "$$banner"; \
- test -z "$$skipped" || echo "$$skipped"; \
- test -z "$$report" || echo "$$report"; \
- echo "$$dashes"; \
- test "$$failed" -eq 0; \
- else :; fi
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkdir_p) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
- if test -d $$d/$$file; then \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
- fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
- else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
- || exit 1; \
- fi; \
- done
-check-am: all-am
- $(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS)
- $(MAKE) $(AM_MAKEFLAGS) check-TESTS
-check: check-am
-all-am: Makefile
-installdirs:
-install: install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-am
-
-clean-am: clean-checkPROGRAMS clean-generic clean-libtool \
- mostlyclean-am
-
-distclean: distclean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
- distclean-libtool distclean-tags
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-info: info-am
-
-info-am:
-
-install-data-am:
-
-install-exec-am:
-
-install-info: install-info-am
-
-install-man:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-compile mostlyclean-generic \
- mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am: uninstall-info-am
-
-.PHONY: CTAGS GTAGS all all-am check check-TESTS check-am clean \
- clean-checkPROGRAMS clean-generic clean-libtool ctags \
- distclean distclean-compile distclean-generic \
- distclean-libtool distclean-tags distdir dvi dvi-am html \
- html-am info info-am install install-am install-data \
- install-data-am install-exec install-exec-am install-info \
- install-info-am install-man install-strip installcheck \
- installcheck-am installdirs maintainer-clean \
- maintainer-clean-generic mostlyclean mostlyclean-compile \
- mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
- tags uninstall uninstall-am uninstall-info-am
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/libutil/Makefile.in b/libutil/Makefile.in
deleted file mode 100644
index 3f70971..0000000
--- a/libutil/Makefile.in
+++ /dev/null
@@ -1,627 +0,0 @@
-# Makefile.in generated by automake 1.9.6 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005 Free Software Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ..
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-subdir = libutil
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/binutils.m4 \
- $(top_srcdir)/m4/builtinexpect.m4 \
- $(top_srcdir)/m4/cellspubfdsupport.m4 \
- $(top_srcdir)/m4/compileroption.m4 \
- $(top_srcdir)/m4/configmodule.m4 \
- $(top_srcdir)/m4/copyifchange.m4 $(top_srcdir)/m4/docbook.m4 \
- $(top_srcdir)/m4/extradirs.m4 $(top_srcdir)/m4/findkernel.m4 \
- $(top_srcdir)/m4/kerneloption.m4 \
- $(top_srcdir)/m4/kernelversion.m4 \
- $(top_srcdir)/m4/mallocattribute.m4 \
- $(top_srcdir)/m4/poptconst.m4 \
- $(top_srcdir)/m4/precompiledheader.m4 $(top_srcdir)/m4/qt.m4 \
- $(top_srcdir)/m4/resultyn.m4 $(top_srcdir)/m4/sstream.m4 \
- $(top_srcdir)/m4/typedef.m4 $(top_srcdir)/configure.in
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-LIBRARIES = $(noinst_LIBRARIES)
-ARFLAGS = cru
-libutil_a_AR = $(AR) $(ARFLAGS)
-libutil_a_LIBADD =
-am_libutil_a_OBJECTS = op_deviceio.$(OBJEXT) op_lockfile.$(OBJEXT) \
- op_file.$(OBJEXT) op_fileio.$(OBJEXT) op_get_time.$(OBJEXT) \
- op_libiberty.$(OBJEXT) op_popt.$(OBJEXT) op_string.$(OBJEXT) \
- op_cpufreq.$(OBJEXT) op_version.$(OBJEXT) \
- op_growable_buffer.$(OBJEXT)
-libutil_a_OBJECTS = $(am_libutil_a_OBJECTS)
-DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
-depcomp = $(SHELL) $(top_srcdir)/depcomp
-am__depfiles_maybe = depfiles
-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \
- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
- $(AM_CFLAGS) $(CFLAGS)
-CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(AM_LDFLAGS) $(LDFLAGS) -o $@
-SOURCES = $(libutil_a_SOURCES)
-DIST_SOURCES = $(libutil_a_SOURCES)
-RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
- html-recursive info-recursive install-data-recursive \
- install-exec-recursive install-info-recursive \
- install-recursive installcheck-recursive installdirs-recursive \
- pdf-recursive ps-recursive uninstall-info-recursive \
- uninstall-recursive
-ETAGS = etags
-CTAGS = ctags
-DIST_SUBDIRS = $(SUBDIRS)
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
-AMTAR = @AMTAR@
-AR = @AR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-BFD_LIBS = @BFD_LIBS@
-BUILD_JVMPI_AGENT_FALSE = @BUILD_JVMPI_AGENT_FALSE@
-BUILD_JVMPI_AGENT_TRUE = @BUILD_JVMPI_AGENT_TRUE@
-BUILD_JVMTI_AGENT_FALSE = @BUILD_JVMTI_AGENT_FALSE@
-BUILD_JVMTI_AGENT_TRUE = @BUILD_JVMTI_AGENT_TRUE@
-CAT_ENTRY_END = @CAT_ENTRY_END@
-CAT_ENTRY_START = @CAT_ENTRY_START@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DATE = @DATE@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DOCBOOK_ROOT = @DOCBOOK_ROOT@
-ECHO = @ECHO@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-EXTRA_CFLAGS_MODULE = @EXTRA_CFLAGS_MODULE@
-F77 = @F77@
-FFLAGS = @FFLAGS@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-JAVA_HOMEDIR = @JAVA_HOMEDIR@
-KINC = @KINC@
-KSRC = @KSRC@
-KVERS = @KVERS@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LIBERTY_LIBS = @LIBERTY_LIBS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-MAKEINFO = @MAKEINFO@
-MOC = @MOC@
-MODINSTALLDIR = @MODINSTALLDIR@
-OBJEXT = @OBJEXT@
-OPROFILE_DIR = @OPROFILE_DIR@
-OPROFILE_MODULE_ARCH = @OPROFILE_MODULE_ARCH@
-OP_CFLAGS = @OP_CFLAGS@
-OP_CXXFLAGS = @OP_CXXFLAGS@
-OP_DOCDIR = @OP_DOCDIR@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-POPT_LIBS = @POPT_LIBS@
-PTRDIFF_T_TYPE = @PTRDIFF_T_TYPE@
-QT_INCLUDES = @QT_INCLUDES@
-QT_LDFLAGS = @QT_LDFLAGS@
-QT_LIB = @QT_LIB@
-QT_VERSION = @QT_VERSION@
-RANLIB = @RANLIB@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-SIZE_T_TYPE = @SIZE_T_TYPE@
-STRIP = @STRIP@
-UIC = @UIC@
-VERSION = @VERSION@
-XML_CATALOG = @XML_CATALOG@
-XSLTPROC = @XSLTPROC@
-XSLTPROC_FLAGS = @XSLTPROC_FLAGS@
-X_CFLAGS = @X_CFLAGS@
-X_EXTRA_LIBS = @X_EXTRA_LIBS@
-X_LIBS = @X_LIBS@
-X_PRE_LIBS = @X_PRE_LIBS@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
-am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-datadir = @datadir@
-exec_prefix = @exec_prefix@
-have_qt_FALSE = @have_qt_FALSE@
-have_qt_TRUE = @have_qt_TRUE@
-have_xsltproc_FALSE = @have_xsltproc_FALSE@
-have_xsltproc_TRUE = @have_xsltproc_TRUE@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-kernel_support_FALSE = @kernel_support_FALSE@
-kernel_support_TRUE = @kernel_support_TRUE@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-topdir = @topdir@
-SUBDIRS = . tests
-AM_CPPFLAGS = -I ${top_srcdir}/libop
-AM_CFLAGS = @OP_CFLAGS@
-noinst_LIBRARIES = libutil.a
-libutil_a_SOURCES = \
- op_deviceio.c \
- op_lockfile.c \
- op_file.c \
- op_fileio.c \
- op_get_time.c \
- op_libiberty.c \
- op_popt.c \
- op_string.c \
- op_cpufreq.c \
- op_deviceio.h \
- op_fileio.h \
- op_libiberty.h \
- op_lockfile.h \
- op_types.h \
- op_file.h \
- op_get_time.h \
- op_list.h \
- op_popt.h \
- op_string.h \
- op_cpufreq.h \
- op_version.c \
- op_version.h \
- op_growable_buffer.c \
- op_growable_buffer.h
-
-all: all-recursive
-
-.SUFFIXES:
-.SUFFIXES: .c .lo .o .obj
-$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign libutil/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --foreign libutil/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- @case '$?' in \
- *config.status*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
- *) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-clean-noinstLIBRARIES:
- -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
-libutil.a: $(libutil_a_OBJECTS) $(libutil_a_DEPENDENCIES)
- -rm -f libutil.a
- $(libutil_a_AR) libutil.a $(libutil_a_OBJECTS) $(libutil_a_LIBADD)
- $(RANLIB) libutil.a
-
-mostlyclean-compile:
- -rm -f *.$(OBJEXT)
-
-distclean-compile:
- -rm -f *.tab.c
-
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/op_cpufreq.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/op_deviceio.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/op_file.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/op_fileio.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/op_get_time.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/op_growable_buffer.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/op_libiberty.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/op_lockfile.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/op_popt.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/op_string.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/op_version.Po@am__quote@
-
-.c.o:
-@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(COMPILE) -c $<
-
-.c.obj:
-@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
-
-.c.lo:
-@am__fastdepCC_TRUE@ if $(LTCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-
-# This directory's subdirectories are mostly independent; you can cd
-# into them and run `make' without going through this Makefile.
-# To change the values of `make' variables: instead of editing Makefiles,
-# (1) if the variable is set in `config.status', edit `config.status'
-# (which will cause the Makefiles to be regenerated when you run `make');
-# (2) otherwise, pass the desired values on the `make' command line.
-$(RECURSIVE_TARGETS):
- @failcom='exit 1'; \
- for f in x $$MAKEFLAGS; do \
- case $$f in \
- *=* | --[!k]*);; \
- *k*) failcom='fail=yes';; \
- esac; \
- done; \
- dot_seen=no; \
- target=`echo $@ | sed s/-recursive//`; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- dot_seen=yes; \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || eval $$failcom; \
- done; \
- if test "$$dot_seen" = "no"; then \
- $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
- fi; test -z "$$fail"
-
-mostlyclean-recursive clean-recursive distclean-recursive \
-maintainer-clean-recursive:
- @failcom='exit 1'; \
- for f in x $$MAKEFLAGS; do \
- case $$f in \
- *=* | --[!k]*);; \
- *k*) failcom='fail=yes';; \
- esac; \
- done; \
- dot_seen=no; \
- case "$@" in \
- distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
- *) list='$(SUBDIRS)' ;; \
- esac; \
- rev=''; for subdir in $$list; do \
- if test "$$subdir" = "."; then :; else \
- rev="$$subdir $$rev"; \
- fi; \
- done; \
- rev="$$rev ."; \
- target=`echo $@ | sed s/-recursive//`; \
- for subdir in $$rev; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || eval $$failcom; \
- done && test -z "$$fail"
-tags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
- done
-ctags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
- done
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
- include_option=--etags-include; \
- empty_fix=.; \
- else \
- include_option=--include; \
- empty_fix=; \
- fi; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
- test ! -f $$subdir/TAGS || \
- tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
- fi; \
- done; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
- test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
- fi
-ctags: CTAGS
-CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkdir_p) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
- if test -d $$d/$$file; then \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
- fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
- else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
- || exit 1; \
- fi; \
- done
- list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
- test -d "$(distdir)/$$subdir" \
- || $(mkdir_p) "$(distdir)/$$subdir" \
- || exit 1; \
- distdir=`$(am__cd) $(distdir) && pwd`; \
- top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
- (cd $$subdir && \
- $(MAKE) $(AM_MAKEFLAGS) \
- top_distdir="$$top_distdir" \
- distdir="$$distdir/$$subdir" \
- distdir) \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: check-recursive
-all-am: Makefile $(LIBRARIES)
-installdirs: installdirs-recursive
-installdirs-am:
-install: install-recursive
-install-exec: install-exec-recursive
-install-data: install-data-recursive
-uninstall: uninstall-recursive
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-recursive
-install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-recursive
-
-clean-am: clean-generic clean-libtool clean-noinstLIBRARIES \
- mostlyclean-am
-
-distclean: distclean-recursive
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
- distclean-libtool distclean-tags
-
-dvi: dvi-recursive
-
-dvi-am:
-
-html: html-recursive
-
-info: info-recursive
-
-info-am:
-
-install-data-am:
-
-install-exec-am:
-
-install-info: install-info-recursive
-
-install-man:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-recursive
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-recursive
-
-mostlyclean-am: mostlyclean-compile mostlyclean-generic \
- mostlyclean-libtool
-
-pdf: pdf-recursive
-
-pdf-am:
-
-ps: ps-recursive
-
-ps-am:
-
-uninstall-am: uninstall-info-am
-
-uninstall-info: uninstall-info-recursive
-
-.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am \
- clean clean-generic clean-libtool clean-noinstLIBRARIES \
- clean-recursive ctags ctags-recursive distclean \
- distclean-compile distclean-generic distclean-libtool \
- distclean-recursive distclean-tags distdir dvi dvi-am html \
- html-am info info-am install install-am install-data \
- install-data-am install-exec install-exec-am install-info \
- install-info-am install-man install-strip installcheck \
- installcheck-am installdirs installdirs-am maintainer-clean \
- maintainer-clean-generic maintainer-clean-recursive \
- mostlyclean mostlyclean-compile mostlyclean-generic \
- mostlyclean-libtool mostlyclean-recursive pdf pdf-am ps ps-am \
- tags tags-recursive uninstall uninstall-am uninstall-info-am
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/libutil/op_cpufreq.c b/libutil/op_cpufreq.c
index 78a6333..c95cb58 100644
--- a/libutil/op_cpufreq.c
+++ b/libutil/op_cpufreq.c
@@ -51,6 +51,11 @@ double op_cpu_frequency(void)
fval = uval / 1E6;
break;
}
+ /* mips including loongson2 */
+ if (sscanf(line, "BogoMIPS : %lu", &uval) == 1) {
+ fval = uval * 3 / 2;
+ break;
+ }
/* s390 doesn't provide cpu freq, checked up to 2.6-test4 */
free(line);
diff --git a/libutil/tests/Makefile.in b/libutil/tests/Makefile.in
deleted file mode 100644
index c334a88..0000000
--- a/libutil/tests/Makefile.in
+++ /dev/null
@@ -1,563 +0,0 @@
-# Makefile.in generated by automake 1.9.6 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005 Free Software Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ../..
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-check_PROGRAMS = file_tests$(EXEEXT) string_tests$(EXEEXT)
-subdir = libutil/tests
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/binutils.m4 \
- $(top_srcdir)/m4/builtinexpect.m4 \
- $(top_srcdir)/m4/cellspubfdsupport.m4 \
- $(top_srcdir)/m4/compileroption.m4 \
- $(top_srcdir)/m4/configmodule.m4 \
- $(top_srcdir)/m4/copyifchange.m4 $(top_srcdir)/m4/docbook.m4 \
- $(top_srcdir)/m4/extradirs.m4 $(top_srcdir)/m4/findkernel.m4 \
- $(top_srcdir)/m4/kerneloption.m4 \
- $(top_srcdir)/m4/kernelversion.m4 \
- $(top_srcdir)/m4/mallocattribute.m4 \
- $(top_srcdir)/m4/poptconst.m4 \
- $(top_srcdir)/m4/precompiledheader.m4 $(top_srcdir)/m4/qt.m4 \
- $(top_srcdir)/m4/resultyn.m4 $(top_srcdir)/m4/sstream.m4 \
- $(top_srcdir)/m4/typedef.m4 $(top_srcdir)/configure.in
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-am_file_tests_OBJECTS = file_tests.$(OBJEXT)
-file_tests_OBJECTS = $(am_file_tests_OBJECTS)
-file_tests_DEPENDENCIES = ../libutil.a
-am_string_tests_OBJECTS = string_tests.$(OBJEXT)
-string_tests_OBJECTS = $(am_string_tests_OBJECTS)
-string_tests_DEPENDENCIES = ../libutil.a
-DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
-depcomp = $(SHELL) $(top_srcdir)/depcomp
-am__depfiles_maybe = depfiles
-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \
- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
- $(AM_CFLAGS) $(CFLAGS)
-CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(AM_LDFLAGS) $(LDFLAGS) -o $@
-SOURCES = $(file_tests_SOURCES) $(string_tests_SOURCES)
-DIST_SOURCES = $(file_tests_SOURCES) $(string_tests_SOURCES)
-ETAGS = etags
-CTAGS = ctags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
-AMTAR = @AMTAR@
-AR = @AR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-BFD_LIBS = @BFD_LIBS@
-BUILD_JVMPI_AGENT_FALSE = @BUILD_JVMPI_AGENT_FALSE@
-BUILD_JVMPI_AGENT_TRUE = @BUILD_JVMPI_AGENT_TRUE@
-BUILD_JVMTI_AGENT_FALSE = @BUILD_JVMTI_AGENT_FALSE@
-BUILD_JVMTI_AGENT_TRUE = @BUILD_JVMTI_AGENT_TRUE@
-CAT_ENTRY_END = @CAT_ENTRY_END@
-CAT_ENTRY_START = @CAT_ENTRY_START@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DATE = @DATE@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DOCBOOK_ROOT = @DOCBOOK_ROOT@
-ECHO = @ECHO@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-EXTRA_CFLAGS_MODULE = @EXTRA_CFLAGS_MODULE@
-F77 = @F77@
-FFLAGS = @FFLAGS@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-JAVA_HOMEDIR = @JAVA_HOMEDIR@
-KINC = @KINC@
-KSRC = @KSRC@
-KVERS = @KVERS@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LIBERTY_LIBS = @LIBERTY_LIBS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBERTY_LIBS@
-LIBTOOL = @LIBTOOL@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-MAKEINFO = @MAKEINFO@
-MOC = @MOC@
-MODINSTALLDIR = @MODINSTALLDIR@
-OBJEXT = @OBJEXT@
-OPROFILE_DIR = @OPROFILE_DIR@
-OPROFILE_MODULE_ARCH = @OPROFILE_MODULE_ARCH@
-OP_CFLAGS = @OP_CFLAGS@
-OP_CXXFLAGS = @OP_CXXFLAGS@
-OP_DOCDIR = @OP_DOCDIR@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-POPT_LIBS = @POPT_LIBS@
-PTRDIFF_T_TYPE = @PTRDIFF_T_TYPE@
-QT_INCLUDES = @QT_INCLUDES@
-QT_LDFLAGS = @QT_LDFLAGS@
-QT_LIB = @QT_LIB@
-QT_VERSION = @QT_VERSION@
-RANLIB = @RANLIB@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-SIZE_T_TYPE = @SIZE_T_TYPE@
-STRIP = @STRIP@
-UIC = @UIC@
-VERSION = @VERSION@
-XML_CATALOG = @XML_CATALOG@
-XSLTPROC = @XSLTPROC@
-XSLTPROC_FLAGS = @XSLTPROC_FLAGS@
-X_CFLAGS = @X_CFLAGS@
-X_EXTRA_LIBS = @X_EXTRA_LIBS@
-X_LIBS = @X_LIBS@
-X_PRE_LIBS = @X_PRE_LIBS@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
-am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-datadir = @datadir@
-exec_prefix = @exec_prefix@
-have_qt_FALSE = @have_qt_FALSE@
-have_qt_TRUE = @have_qt_TRUE@
-have_xsltproc_FALSE = @have_xsltproc_FALSE@
-have_xsltproc_TRUE = @have_xsltproc_TRUE@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-kernel_support_FALSE = @kernel_support_FALSE@
-kernel_support_TRUE = @kernel_support_TRUE@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-topdir = @topdir@
-AM_CPPFLAGS = \
- -I ${top_srcdir}/libutil
-
-AM_CFLAGS = @OP_CFLAGS@
-file_tests_SOURCES = file_tests.c
-file_tests_LDADD = ../libutil.a
-string_tests_SOURCES = string_tests.c
-string_tests_LDADD = ../libutil.a
-TESTS = ${check_PROGRAMS}
-all: all-am
-
-.SUFFIXES:
-.SUFFIXES: .c .lo .o .obj
-$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign libutil/tests/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --foreign libutil/tests/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- @case '$?' in \
- *config.status*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
- *) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-clean-checkPROGRAMS:
- @list='$(check_PROGRAMS)'; for p in $$list; do \
- f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
- echo " rm -f $$p $$f"; \
- rm -f $$p $$f ; \
- done
-file_tests$(EXEEXT): $(file_tests_OBJECTS) $(file_tests_DEPENDENCIES)
- @rm -f file_tests$(EXEEXT)
- $(LINK) $(file_tests_LDFLAGS) $(file_tests_OBJECTS) $(file_tests_LDADD) $(LIBS)
-string_tests$(EXEEXT): $(string_tests_OBJECTS) $(string_tests_DEPENDENCIES)
- @rm -f string_tests$(EXEEXT)
- $(LINK) $(string_tests_LDFLAGS) $(string_tests_OBJECTS) $(string_tests_LDADD) $(LIBS)
-
-mostlyclean-compile:
- -rm -f *.$(OBJEXT)
-
-distclean-compile:
- -rm -f *.tab.c
-
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/file_tests.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/string_tests.Po@am__quote@
-
-.c.o:
-@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(COMPILE) -c $<
-
-.c.obj:
-@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
-
-.c.lo:
-@am__fastdepCC_TRUE@ if $(LTCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
- test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
- fi
-ctags: CTAGS
-CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-check-TESTS: $(TESTS)
- @failed=0; all=0; xfail=0; xpass=0; skip=0; \
- srcdir=$(srcdir); export srcdir; \
- list='$(TESTS)'; \
- if test -n "$$list"; then \
- for tst in $$list; do \
- if test -f ./$$tst; then dir=./; \
- elif test -f $$tst; then dir=; \
- else dir="$(srcdir)/"; fi; \
- if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \
- all=`expr $$all + 1`; \
- case " $(XFAIL_TESTS) " in \
- *" $$tst "*) \
- xpass=`expr $$xpass + 1`; \
- failed=`expr $$failed + 1`; \
- echo "XPASS: $$tst"; \
- ;; \
- *) \
- echo "PASS: $$tst"; \
- ;; \
- esac; \
- elif test $$? -ne 77; then \
- all=`expr $$all + 1`; \
- case " $(XFAIL_TESTS) " in \
- *" $$tst "*) \
- xfail=`expr $$xfail + 1`; \
- echo "XFAIL: $$tst"; \
- ;; \
- *) \
- failed=`expr $$failed + 1`; \
- echo "FAIL: $$tst"; \
- ;; \
- esac; \
- else \
- skip=`expr $$skip + 1`; \
- echo "SKIP: $$tst"; \
- fi; \
- done; \
- if test "$$failed" -eq 0; then \
- if test "$$xfail" -eq 0; then \
- banner="All $$all tests passed"; \
- else \
- banner="All $$all tests behaved as expected ($$xfail expected failures)"; \
- fi; \
- else \
- if test "$$xpass" -eq 0; then \
- banner="$$failed of $$all tests failed"; \
- else \
- banner="$$failed of $$all tests did not behave as expected ($$xpass unexpected passes)"; \
- fi; \
- fi; \
- dashes="$$banner"; \
- skipped=""; \
- if test "$$skip" -ne 0; then \
- skipped="($$skip tests were not run)"; \
- test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \
- dashes="$$skipped"; \
- fi; \
- report=""; \
- if test "$$failed" -ne 0 && test -n "$(PACKAGE_BUGREPORT)"; then \
- report="Please report to $(PACKAGE_BUGREPORT)"; \
- test `echo "$$report" | wc -c` -le `echo "$$banner" | wc -c` || \
- dashes="$$report"; \
- fi; \
- dashes=`echo "$$dashes" | sed s/./=/g`; \
- echo "$$dashes"; \
- echo "$$banner"; \
- test -z "$$skipped" || echo "$$skipped"; \
- test -z "$$report" || echo "$$report"; \
- echo "$$dashes"; \
- test "$$failed" -eq 0; \
- else :; fi
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkdir_p) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
- if test -d $$d/$$file; then \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
- fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
- else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
- || exit 1; \
- fi; \
- done
-check-am: all-am
- $(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS)
- $(MAKE) $(AM_MAKEFLAGS) check-TESTS
-check: check-am
-all-am: Makefile
-installdirs:
-install: install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-am
-
-clean-am: clean-checkPROGRAMS clean-generic clean-libtool \
- mostlyclean-am
-
-distclean: distclean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
- distclean-libtool distclean-tags
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-info: info-am
-
-info-am:
-
-install-data-am:
-
-install-exec-am:
-
-install-info: install-info-am
-
-install-man:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-compile mostlyclean-generic \
- mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am: uninstall-info-am
-
-.PHONY: CTAGS GTAGS all all-am check check-TESTS check-am clean \
- clean-checkPROGRAMS clean-generic clean-libtool ctags \
- distclean distclean-compile distclean-generic \
- distclean-libtool distclean-tags distdir dvi dvi-am html \
- html-am info info-am install install-am install-data \
- install-data-am install-exec install-exec-am install-info \
- install-info-am install-man install-strip installcheck \
- installcheck-am installdirs maintainer-clean \
- maintainer-clean-generic mostlyclean mostlyclean-compile \
- mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
- tags uninstall uninstall-am uninstall-info-am
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/ltmain.sh b/ltmain.sh
deleted file mode 100644
index 27d498a..0000000
--- a/ltmain.sh
+++ /dev/null
@@ -1,6956 +0,0 @@
-# ltmain.sh - Provide generalized library-building support services.
-# NOTE: Changing this file will not affect anything until you rerun configure.
-#
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006,
-# 2007, 2008 Free Software Foundation, Inc.
-# Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-#
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-basename="s,^.*/,,g"
-
-# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh
-# is ksh but when the shell is invoked as "sh" and the current value of
-# the _XPG environment variable is not equal to 1 (one), the special
-# positional parameter $0, within a function call, is the name of the
-# function.
-progpath="$0"
-
-# The name of this program:
-progname=`echo "$progpath" | $SED $basename`
-modename="$progname"
-
-# Global variables:
-EXIT_SUCCESS=0
-EXIT_FAILURE=1
-
-PROGRAM=ltmain.sh
-PACKAGE=libtool
-VERSION=1.5.26
-TIMESTAMP=" (1.1220.2.492 2008/01/30 06:40:56)"
-
-# Be Bourne compatible (taken from Autoconf:_AS_BOURNE_COMPATIBLE).
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
- emulate sh
- NULLCMD=:
- # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
- # is contrary to our usage. Disable this feature.
- alias -g '${1+"$@"}'='"$@"'
- setopt NO_GLOB_SUBST
-else
- case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac
-fi
-BIN_SH=xpg4; export BIN_SH # for Tru64
-DUALCASE=1; export DUALCASE # for MKS sh
-
-# Check that we have a working $echo.
-if test "X$1" = X--no-reexec; then
- # Discard the --no-reexec flag, and continue.
- shift
-elif test "X$1" = X--fallback-echo; then
- # Avoid inline document here, it may be left over
- :
-elif test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then
- # Yippee, $echo works!
- :
-else
- # Restart under the correct shell, and then maybe $echo will work.
- exec $SHELL "$progpath" --no-reexec ${1+"$@"}
-fi
-
-if test "X$1" = X--fallback-echo; then
- # used as fallback echo
- shift
- cat <<EOF
-$*
-EOF
- exit $EXIT_SUCCESS
-fi
-
-default_mode=
-help="Try \`$progname --help' for more information."
-magic="%%%MAGIC variable%%%"
-mkdir="mkdir"
-mv="mv -f"
-rm="rm -f"
-
-# Sed substitution that helps us do robust quoting. It backslashifies
-# metacharacters that are still active within double-quoted strings.
-Xsed="${SED}"' -e 1s/^X//'
-sed_quote_subst='s/\([\\`\\"$\\\\]\)/\\\1/g'
-# test EBCDIC or ASCII
-case `echo X|tr X '\101'` in
- A) # ASCII based system
- # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
- SP2NL='tr \040 \012'
- NL2SP='tr \015\012 \040\040'
- ;;
- *) # EBCDIC based system
- SP2NL='tr \100 \n'
- NL2SP='tr \r\n \100\100'
- ;;
-esac
-
-# NLS nuisances.
-# Only set LANG and LC_ALL to C if already set.
-# These must not be set unconditionally because not all systems understand
-# e.g. LANG=C (notably SCO).
-# We save the old values to restore during execute mode.
-lt_env=
-for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
-do
- eval "if test \"\${$lt_var+set}\" = set; then
- save_$lt_var=\$$lt_var
- lt_env=\"$lt_var=\$$lt_var \$lt_env\"
- $lt_var=C
- export $lt_var
- fi"
-done
-
-if test -n "$lt_env"; then
- lt_env="env $lt_env"
-fi
-
-# Make sure IFS has a sensible default
-lt_nl='
-'
-IFS=" $lt_nl"
-
-if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then
- $echo "$modename: not configured to build any kind of library" 1>&2
- $echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2
- exit $EXIT_FAILURE
-fi
-
-# Global variables.
-mode=$default_mode
-nonopt=
-prev=
-prevopt=
-run=
-show="$echo"
-show_help=
-execute_dlfiles=
-duplicate_deps=no
-preserve_args=
-lo2o="s/\\.lo\$/.${objext}/"
-o2lo="s/\\.${objext}\$/.lo/"
-extracted_archives=
-extracted_serial=0
-
-#####################################
-# Shell function definitions:
-# This seems to be the best place for them
-
-# func_mktempdir [string]
-# Make a temporary directory that won't clash with other running
-# libtool processes, and avoids race conditions if possible. If
-# given, STRING is the basename for that directory.
-func_mktempdir ()
-{
- my_template="${TMPDIR-/tmp}/${1-$progname}"
-
- if test "$run" = ":"; then
- # Return a directory name, but don't create it in dry-run mode
- my_tmpdir="${my_template}-$$"
- else
-
- # If mktemp works, use that first and foremost
- my_tmpdir=`mktemp -d "${my_template}-XXXXXXXX" 2>/dev/null`
-
- if test ! -d "$my_tmpdir"; then
- # Failing that, at least try and use $RANDOM to avoid a race
- my_tmpdir="${my_template}-${RANDOM-0}$$"
-
- save_mktempdir_umask=`umask`
- umask 0077
- $mkdir "$my_tmpdir"
- umask $save_mktempdir_umask
- fi
-
- # If we're not in dry-run mode, bomb out on failure
- test -d "$my_tmpdir" || {
- $echo "cannot create temporary directory \`$my_tmpdir'" 1>&2
- exit $EXIT_FAILURE
- }
- fi
-
- $echo "X$my_tmpdir" | $Xsed
-}
-
-
-# func_win32_libid arg
-# return the library type of file 'arg'
-#
-# Need a lot of goo to handle *both* DLLs and import libs
-# Has to be a shell function in order to 'eat' the argument
-# that is supplied when $file_magic_command is called.
-func_win32_libid ()
-{
- win32_libid_type="unknown"
- win32_fileres=`file -L $1 2>/dev/null`
- case $win32_fileres in
- *ar\ archive\ import\ library*) # definitely import
- win32_libid_type="x86 archive import"
- ;;
- *ar\ archive*) # could be an import, or static
- if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null | \
- $EGREP -e 'file format pe-i386(.*architecture: i386)?' >/dev/null ; then
- win32_nmres=`eval $NM -f posix -A $1 | \
- $SED -n -e '1,100{
- / I /{
- s,.*,import,
- p
- q
- }
- }'`
- case $win32_nmres in
- import*) win32_libid_type="x86 archive import";;
- *) win32_libid_type="x86 archive static";;
- esac
- fi
- ;;
- *DLL*)
- win32_libid_type="x86 DLL"
- ;;
- *executable*) # but shell scripts are "executable" too...
- case $win32_fileres in
- *MS\ Windows\ PE\ Intel*)
- win32_libid_type="x86 DLL"
- ;;
- esac
- ;;
- esac
- $echo $win32_libid_type
-}
-
-
-# func_infer_tag arg
-# Infer tagged configuration to use if any are available and
-# if one wasn't chosen via the "--tag" command line option.
-# Only attempt this if the compiler in the base compile
-# command doesn't match the default compiler.
-# arg is usually of the form 'gcc ...'
-func_infer_tag ()
-{
- if test -n "$available_tags" && test -z "$tagname"; then
- CC_quoted=
- for arg in $CC; do
- case $arg in
- *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
- arg="\"$arg\""
- ;;
- esac
- CC_quoted="$CC_quoted $arg"
- done
- case $@ in
- # Blanks in the command may have been stripped by the calling shell,
- # but not from the CC environment variable when configure was run.
- " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*) ;;
- # Blanks at the start of $base_compile will cause this to fail
- # if we don't check for them as well.
- *)
- for z in $available_tags; do
- if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then
- # Evaluate the configuration.
- eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`"
- CC_quoted=
- for arg in $CC; do
- # Double-quote args containing other shell metacharacters.
- case $arg in
- *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
- arg="\"$arg\""
- ;;
- esac
- CC_quoted="$CC_quoted $arg"
- done
- case "$@ " in
- " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*)
- # The compiler in the base compile command matches
- # the one in the tagged configuration.
- # Assume this is the tagged configuration we want.
- tagname=$z
- break
- ;;
- esac
- fi
- done
- # If $tagname still isn't set, then no tagged configuration
- # was found and let the user know that the "--tag" command
- # line option must be used.
- if test -z "$tagname"; then
- $echo "$modename: unable to infer tagged configuration"
- $echo "$modename: specify a tag with \`--tag'" 1>&2
- exit $EXIT_FAILURE
-# else
-# $echo "$modename: using $tagname tagged configuration"
- fi
- ;;
- esac
- fi
-}
-
-
-# func_extract_an_archive dir oldlib
-func_extract_an_archive ()
-{
- f_ex_an_ar_dir="$1"; shift
- f_ex_an_ar_oldlib="$1"
-
- $show "(cd $f_ex_an_ar_dir && $AR x $f_ex_an_ar_oldlib)"
- $run eval "(cd \$f_ex_an_ar_dir && $AR x \$f_ex_an_ar_oldlib)" || exit $?
- if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then
- :
- else
- $echo "$modename: ERROR: object name conflicts: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib" 1>&2
- exit $EXIT_FAILURE
- fi
-}
-
-# func_extract_archives gentop oldlib ...
-func_extract_archives ()
-{
- my_gentop="$1"; shift
- my_oldlibs=${1+"$@"}
- my_oldobjs=""
- my_xlib=""
- my_xabs=""
- my_xdir=""
- my_status=""
-
- $show "${rm}r $my_gentop"
- $run ${rm}r "$my_gentop"
- $show "$mkdir $my_gentop"
- $run $mkdir "$my_gentop"
- my_status=$?
- if test "$my_status" -ne 0 && test ! -d "$my_gentop"; then
- exit $my_status
- fi
-
- for my_xlib in $my_oldlibs; do
- # Extract the objects.
- case $my_xlib in
- [\\/]* | [A-Za-z]:[\\/]*) my_xabs="$my_xlib" ;;
- *) my_xabs=`pwd`"/$my_xlib" ;;
- esac
- my_xlib=`$echo "X$my_xlib" | $Xsed -e 's%^.*/%%'`
- my_xlib_u=$my_xlib
- while :; do
- case " $extracted_archives " in
- *" $my_xlib_u "*)
- extracted_serial=`expr $extracted_serial + 1`
- my_xlib_u=lt$extracted_serial-$my_xlib ;;
- *) break ;;
- esac
- done
- extracted_archives="$extracted_archives $my_xlib_u"
- my_xdir="$my_gentop/$my_xlib_u"
-
- $show "${rm}r $my_xdir"
- $run ${rm}r "$my_xdir"
- $show "$mkdir $my_xdir"
- $run $mkdir "$my_xdir"
- exit_status=$?
- if test "$exit_status" -ne 0 && test ! -d "$my_xdir"; then
- exit $exit_status
- fi
- case $host in
- *-darwin*)
- $show "Extracting $my_xabs"
- # Do not bother doing anything if just a dry run
- if test -z "$run"; then
- darwin_orig_dir=`pwd`
- cd $my_xdir || exit $?
- darwin_archive=$my_xabs
- darwin_curdir=`pwd`
- darwin_base_archive=`$echo "X$darwin_archive" | $Xsed -e 's%^.*/%%'`
- darwin_arches=`lipo -info "$darwin_archive" 2>/dev/null | $EGREP Architectures 2>/dev/null`
- if test -n "$darwin_arches"; then
- darwin_arches=`echo "$darwin_arches" | $SED -e 's/.*are://'`
- darwin_arch=
- $show "$darwin_base_archive has multiple architectures $darwin_arches"
- for darwin_arch in $darwin_arches ; do
- mkdir -p "unfat-$$/${darwin_base_archive}-${darwin_arch}"
- lipo -thin $darwin_arch -output "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" "${darwin_archive}"
- cd "unfat-$$/${darwin_base_archive}-${darwin_arch}"
- func_extract_an_archive "`pwd`" "${darwin_base_archive}"
- cd "$darwin_curdir"
- $rm "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}"
- done # $darwin_arches
- ## Okay now we have a bunch of thin objects, gotta fatten them up :)
- darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print| xargs basename | sort -u | $NL2SP`
- darwin_file=
- darwin_files=
- for darwin_file in $darwin_filelist; do
- darwin_files=`find unfat-$$ -name $darwin_file -print | $NL2SP`
- lipo -create -output "$darwin_file" $darwin_files
- done # $darwin_filelist
- ${rm}r unfat-$$
- cd "$darwin_orig_dir"
- else
- cd "$darwin_orig_dir"
- func_extract_an_archive "$my_xdir" "$my_xabs"
- fi # $darwin_arches
- fi # $run
- ;;
- *)
- func_extract_an_archive "$my_xdir" "$my_xabs"
- ;;
- esac
- my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | $NL2SP`
- done
- func_extract_archives_result="$my_oldobjs"
-}
-# End of Shell function definitions
-#####################################
-
-# Darwin sucks
-eval std_shrext=\"$shrext_cmds\"
-
-disable_libs=no
-
-# Parse our command line options once, thoroughly.
-while test "$#" -gt 0
-do
- arg="$1"
- shift
-
- case $arg in
- -*=*) optarg=`$echo "X$arg" | $Xsed -e 's/[-_a-zA-Z0-9]*=//'` ;;
- *) optarg= ;;
- esac
-
- # If the previous option needs an argument, assign it.
- if test -n "$prev"; then
- case $prev in
- execute_dlfiles)
- execute_dlfiles="$execute_dlfiles $arg"
- ;;
- tag)
- tagname="$arg"
- preserve_args="${preserve_args}=$arg"
-
- # Check whether tagname contains only valid characters
- case $tagname in
- *[!-_A-Za-z0-9,/]*)
- $echo "$progname: invalid tag name: $tagname" 1>&2
- exit $EXIT_FAILURE
- ;;
- esac
-
- case $tagname in
- CC)
- # Don't test for the "default" C tag, as we know, it's there, but
- # not specially marked.
- ;;
- *)
- if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "$progpath" > /dev/null; then
- taglist="$taglist $tagname"
- # Evaluate the configuration.
- eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$tagname'$/,/^# ### END LIBTOOL TAG CONFIG: '$tagname'$/p' < $progpath`"
- else
- $echo "$progname: ignoring unknown tag $tagname" 1>&2
- fi
- ;;
- esac
- ;;
- *)
- eval "$prev=\$arg"
- ;;
- esac
-
- prev=
- prevopt=
- continue
- fi
-
- # Have we seen a non-optional argument yet?
- case $arg in
- --help)
- show_help=yes
- ;;
-
- --version)
- echo "\
-$PROGRAM (GNU $PACKAGE) $VERSION$TIMESTAMP
-
-Copyright (C) 2008 Free Software Foundation, Inc.
-This is free software; see the source for copying conditions. There is NO
-warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
- exit $?
- ;;
-
- --config)
- ${SED} -e '1,/^# ### BEGIN LIBTOOL CONFIG/d' -e '/^# ### END LIBTOOL CONFIG/,$d' $progpath
- # Now print the configurations for the tags.
- for tagname in $taglist; do
- ${SED} -n -e "/^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$/,/^# ### END LIBTOOL TAG CONFIG: $tagname$/p" < "$progpath"
- done
- exit $?
- ;;
-
- --debug)
- $echo "$progname: enabling shell trace mode"
- set -x
- preserve_args="$preserve_args $arg"
- ;;
-
- --dry-run | -n)
- run=:
- ;;
-
- --features)
- $echo "host: $host"
- if test "$build_libtool_libs" = yes; then
- $echo "enable shared libraries"
- else
- $echo "disable shared libraries"
- fi
- if test "$build_old_libs" = yes; then
- $echo "enable static libraries"
- else
- $echo "disable static libraries"
- fi
- exit $?
- ;;
-
- --finish) mode="finish" ;;
-
- --mode) prevopt="--mode" prev=mode ;;
- --mode=*) mode="$optarg" ;;
-
- --preserve-dup-deps) duplicate_deps="yes" ;;
-
- --quiet | --silent)
- show=:
- preserve_args="$preserve_args $arg"
- ;;
-
- --tag)
- prevopt="--tag"
- prev=tag
- preserve_args="$preserve_args --tag"
- ;;
- --tag=*)
- set tag "$optarg" ${1+"$@"}
- shift
- prev=tag
- preserve_args="$preserve_args --tag"
- ;;
-
- -dlopen)
- prevopt="-dlopen"
- prev=execute_dlfiles
- ;;
-
- -*)
- $echo "$modename: unrecognized option \`$arg'" 1>&2
- $echo "$help" 1>&2
- exit $EXIT_FAILURE
- ;;
-
- *)
- nonopt="$arg"
- break
- ;;
- esac
-done
-
-if test -n "$prevopt"; then
- $echo "$modename: option \`$prevopt' requires an argument" 1>&2
- $echo "$help" 1>&2
- exit $EXIT_FAILURE
-fi
-
-case $disable_libs in
-no)
- ;;
-shared)
- build_libtool_libs=no
- build_old_libs=yes
- ;;
-static)
- build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac`
- ;;
-esac
-
-# If this variable is set in any of the actions, the command in it
-# will be execed at the end. This prevents here-documents from being
-# left over by shells.
-exec_cmd=
-
-if test -z "$show_help"; then
-
- # Infer the operation mode.
- if test -z "$mode"; then
- $echo "*** Warning: inferring the mode of operation is deprecated." 1>&2
- $echo "*** Future versions of Libtool will require --mode=MODE be specified." 1>&2
- case $nonopt in
- *cc | cc* | *++ | gcc* | *-gcc* | g++* | xlc*)
- mode=link
- for arg
- do
- case $arg in
- -c)
- mode=compile
- break
- ;;
- esac
- done
- ;;
- *db | *dbx | *strace | *truss)
- mode=execute
- ;;
- *install*|cp|mv)
- mode=install
- ;;
- *rm)
- mode=uninstall
- ;;
- *)
- # If we have no mode, but dlfiles were specified, then do execute mode.
- test -n "$execute_dlfiles" && mode=execute
-
- # Just use the default operation mode.
- if test -z "$mode"; then
- if test -n "$nonopt"; then
- $echo "$modename: warning: cannot infer operation mode from \`$nonopt'" 1>&2
- else
- $echo "$modename: warning: cannot infer operation mode without MODE-ARGS" 1>&2
- fi
- fi
- ;;
- esac
- fi
-
- # Only execute mode is allowed to have -dlopen flags.
- if test -n "$execute_dlfiles" && test "$mode" != execute; then
- $echo "$modename: unrecognized option \`-dlopen'" 1>&2
- $echo "$help" 1>&2
- exit $EXIT_FAILURE
- fi
-
- # Change the help message to a mode-specific one.
- generic_help="$help"
- help="Try \`$modename --help --mode=$mode' for more information."
-
- # These modes are in order of execution frequency so that they run quickly.
- case $mode in
- # libtool compile mode
- compile)
- modename="$modename: compile"
- # Get the compilation command and the source file.
- base_compile=
- srcfile="$nonopt" # always keep a non-empty value in "srcfile"
- suppress_opt=yes
- suppress_output=
- arg_mode=normal
- libobj=
- later=
-
- for arg
- do
- case $arg_mode in
- arg )
- # do not "continue". Instead, add this to base_compile
- lastarg="$arg"
- arg_mode=normal
- ;;
-
- target )
- libobj="$arg"
- arg_mode=normal
- continue
- ;;
-
- normal )
- # Accept any command-line options.
- case $arg in
- -o)
- if test -n "$libobj" ; then
- $echo "$modename: you cannot specify \`-o' more than once" 1>&2
- exit $EXIT_FAILURE
- fi
- arg_mode=target
- continue
- ;;
-
- -static | -prefer-pic | -prefer-non-pic)
- later="$later $arg"
- continue
- ;;
-
- -no-suppress)
- suppress_opt=no
- continue
- ;;
-
- -Xcompiler)
- arg_mode=arg # the next one goes into the "base_compile" arg list
- continue # The current "srcfile" will either be retained or
- ;; # replaced later. I would guess that would be a bug.
-
- -Wc,*)
- args=`$echo "X$arg" | $Xsed -e "s/^-Wc,//"`
- lastarg=
- save_ifs="$IFS"; IFS=','
- for arg in $args; do
- IFS="$save_ifs"
-
- # Double-quote args containing other shell metacharacters.
- # Many Bourne shells cannot handle close brackets correctly
- # in scan sets, so we specify it separately.
- case $arg in
- *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
- arg="\"$arg\""
- ;;
- esac
- lastarg="$lastarg $arg"
- done
- IFS="$save_ifs"
- lastarg=`$echo "X$lastarg" | $Xsed -e "s/^ //"`
-
- # Add the arguments to base_compile.
- base_compile="$base_compile $lastarg"
- continue
- ;;
-
- * )
- # Accept the current argument as the source file.
- # The previous "srcfile" becomes the current argument.
- #
- lastarg="$srcfile"
- srcfile="$arg"
- ;;
- esac # case $arg
- ;;
- esac # case $arg_mode
-
- # Aesthetically quote the previous argument.
- lastarg=`$echo "X$lastarg" | $Xsed -e "$sed_quote_subst"`
-
- case $lastarg in
- # Double-quote args containing other shell metacharacters.
- # Many Bourne shells cannot handle close brackets correctly
- # in scan sets, and some SunOS ksh mistreat backslash-escaping
- # in scan sets (worked around with variable expansion),
- # and furthermore cannot handle '|' '&' '(' ')' in scan sets
- # at all, so we specify them separately.
- *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
- lastarg="\"$lastarg\""
- ;;
- esac
-
- base_compile="$base_compile $lastarg"
- done # for arg
-
- case $arg_mode in
- arg)
- $echo "$modename: you must specify an argument for -Xcompile"
- exit $EXIT_FAILURE
- ;;
- target)
- $echo "$modename: you must specify a target with \`-o'" 1>&2
- exit $EXIT_FAILURE
- ;;
- *)
- # Get the name of the library object.
- [ -z "$libobj" ] && libobj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%'`
- ;;
- esac
-
- # Recognize several different file suffixes.
- # If the user specifies -o file.o, it is replaced with file.lo
- xform='[cCFSifmso]'
- case $libobj in
- *.ada) xform=ada ;;
- *.adb) xform=adb ;;
- *.ads) xform=ads ;;
- *.asm) xform=asm ;;
- *.c++) xform=c++ ;;
- *.cc) xform=cc ;;
- *.ii) xform=ii ;;
- *.class) xform=class ;;
- *.cpp) xform=cpp ;;
- *.cxx) xform=cxx ;;
- *.[fF][09]?) xform=[fF][09]. ;;
- *.for) xform=for ;;
- *.java) xform=java ;;
- *.obj) xform=obj ;;
- *.sx) xform=sx ;;
- esac
-
- libobj=`$echo "X$libobj" | $Xsed -e "s/\.$xform$/.lo/"`
-
- case $libobj in
- *.lo) obj=`$echo "X$libobj" | $Xsed -e "$lo2o"` ;;
- *)
- $echo "$modename: cannot determine name of library object from \`$libobj'" 1>&2
- exit $EXIT_FAILURE
- ;;
- esac
-
- func_infer_tag $base_compile
-
- for arg in $later; do
- case $arg in
- -static)
- build_old_libs=yes
- continue
- ;;
-
- -prefer-pic)
- pic_mode=yes
- continue
- ;;
-
- -prefer-non-pic)
- pic_mode=no
- continue
- ;;
- esac
- done
-
- qlibobj=`$echo "X$libobj" | $Xsed -e "$sed_quote_subst"`
- case $qlibobj in
- *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
- qlibobj="\"$qlibobj\"" ;;
- esac
- test "X$libobj" != "X$qlibobj" \
- && $echo "X$libobj" | grep '[]~#^*{};<>?"'"'"' &()|`$[]' \
- && $echo "$modename: libobj name \`$libobj' may not contain shell special characters."
- objname=`$echo "X$obj" | $Xsed -e 's%^.*/%%'`
- xdir=`$echo "X$obj" | $Xsed -e 's%/[^/]*$%%'`
- if test "X$xdir" = "X$obj"; then
- xdir=
- else
- xdir=$xdir/
- fi
- lobj=${xdir}$objdir/$objname
-
- if test -z "$base_compile"; then
- $echo "$modename: you must specify a compilation command" 1>&2
- $echo "$help" 1>&2
- exit $EXIT_FAILURE
- fi
-
- # Delete any leftover library objects.
- if test "$build_old_libs" = yes; then
- removelist="$obj $lobj $libobj ${libobj}T"
- else
- removelist="$lobj $libobj ${libobj}T"
- fi
-
- $run $rm $removelist
- trap "$run $rm $removelist; exit $EXIT_FAILURE" 1 2 15
-
- # On Cygwin there's no "real" PIC flag so we must build both object types
- case $host_os in
- cygwin* | mingw* | pw32* | os2*)
- pic_mode=default
- ;;
- esac
- if test "$pic_mode" = no && test "$deplibs_check_method" != pass_all; then
- # non-PIC code in shared libraries is not supported
- pic_mode=default
- fi
-
- # Calculate the filename of the output object if compiler does
- # not support -o with -c
- if test "$compiler_c_o" = no; then
- output_obj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%' -e 's%\.[^.]*$%%'`.${objext}
- lockfile="$output_obj.lock"
- removelist="$removelist $output_obj $lockfile"
- trap "$run $rm $removelist; exit $EXIT_FAILURE" 1 2 15
- else
- output_obj=
- need_locks=no
- lockfile=
- fi
-
- # Lock this critical section if it is needed
- # We use this script file to make the link, it avoids creating a new file
- if test "$need_locks" = yes; then
- until $run ln "$progpath" "$lockfile" 2>/dev/null; do
- $show "Waiting for $lockfile to be removed"
- sleep 2
- done
- elif test "$need_locks" = warn; then
- if test -f "$lockfile"; then
- $echo "\
-*** ERROR, $lockfile exists and contains:
-`cat $lockfile 2>/dev/null`
-
-This indicates that another process is trying to use the same
-temporary object file, and libtool could not work around it because
-your compiler does not support \`-c' and \`-o' together. If you
-repeat this compilation, it may succeed, by chance, but you had better
-avoid parallel builds (make -j) in this platform, or get a better
-compiler."
-
- $run $rm $removelist
- exit $EXIT_FAILURE
- fi
- $echo "$srcfile" > "$lockfile"
- fi
-
- if test -n "$fix_srcfile_path"; then
- eval srcfile=\"$fix_srcfile_path\"
- fi
- qsrcfile=`$echo "X$srcfile" | $Xsed -e "$sed_quote_subst"`
- case $qsrcfile in
- *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
- qsrcfile="\"$qsrcfile\"" ;;
- esac
-
- $run $rm "$libobj" "${libobj}T"
-
- # Create a libtool object file (analogous to a ".la" file),
- # but don't create it if we're doing a dry run.
- test -z "$run" && cat > ${libobj}T <<EOF
-# $libobj - a libtool object file
-# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP
-#
-# Please DO NOT delete this file!
-# It is necessary for linking the library.
-
-# Name of the PIC object.
-EOF
-
- # Only build a PIC object if we are building libtool libraries.
- if test "$build_libtool_libs" = yes; then
- # Without this assignment, base_compile gets emptied.
- fbsd_hideous_sh_bug=$base_compile
-
- if test "$pic_mode" != no; then
- command="$base_compile $qsrcfile $pic_flag"
- else
- # Don't build PIC code
- command="$base_compile $qsrcfile"
- fi
-
- if test ! -d "${xdir}$objdir"; then
- $show "$mkdir ${xdir}$objdir"
- $run $mkdir ${xdir}$objdir
- exit_status=$?
- if test "$exit_status" -ne 0 && test ! -d "${xdir}$objdir"; then
- exit $exit_status
- fi
- fi
-
- if test -z "$output_obj"; then
- # Place PIC objects in $objdir
- command="$command -o $lobj"
- fi
-
- $run $rm "$lobj" "$output_obj"
-
- $show "$command"
- if $run eval $lt_env "$command"; then :
- else
- test -n "$output_obj" && $run $rm $removelist
- exit $EXIT_FAILURE
- fi
-
- if test "$need_locks" = warn &&
- test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
- $echo "\
-*** ERROR, $lockfile contains:
-`cat $lockfile 2>/dev/null`
-
-but it should contain:
-$srcfile
-
-This indicates that another process is trying to use the same
-temporary object file, and libtool could not work around it because
-your compiler does not support \`-c' and \`-o' together. If you
-repeat this compilation, it may succeed, by chance, but you had better
-avoid parallel builds (make -j) in this platform, or get a better
-compiler."
-
- $run $rm $removelist
- exit $EXIT_FAILURE
- fi
-
- # Just move the object if needed, then go on to compile the next one
- if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then
- $show "$mv $output_obj $lobj"
- if $run $mv $output_obj $lobj; then :
- else
- error=$?
- $run $rm $removelist
- exit $error
- fi
- fi
-
- # Append the name of the PIC object to the libtool object file.
- test -z "$run" && cat >> ${libobj}T <<EOF
-pic_object='$objdir/$objname'
-
-EOF
-
- # Allow error messages only from the first compilation.
- if test "$suppress_opt" = yes; then
- suppress_output=' >/dev/null 2>&1'
- fi
- else
- # No PIC object so indicate it doesn't exist in the libtool
- # object file.
- test -z "$run" && cat >> ${libobj}T <<EOF
-pic_object=none
-
-EOF
- fi
-
- # Only build a position-dependent object if we build old libraries.
- if test "$build_old_libs" = yes; then
- if test "$pic_mode" != yes; then
- # Don't build PIC code
- command="$base_compile $qsrcfile"
- else
- command="$base_compile $qsrcfile $pic_flag"
- fi
- if test "$compiler_c_o" = yes; then
- command="$command -o $obj"
- fi
-
- # Suppress compiler output if we already did a PIC compilation.
- command="$command$suppress_output"
- $run $rm "$obj" "$output_obj"
- $show "$command"
- if $run eval $lt_env "$command"; then :
- else
- $run $rm $removelist
- exit $EXIT_FAILURE
- fi
-
- if test "$need_locks" = warn &&
- test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
- $echo "\
-*** ERROR, $lockfile contains:
-`cat $lockfile 2>/dev/null`
-
-but it should contain:
-$srcfile
-
-This indicates that another process is trying to use the same
-temporary object file, and libtool could not work around it because
-your compiler does not support \`-c' and \`-o' together. If you
-repeat this compilation, it may succeed, by chance, but you had better
-avoid parallel builds (make -j) in this platform, or get a better
-compiler."
-
- $run $rm $removelist
- exit $EXIT_FAILURE
- fi
-
- # Just move the object if needed
- if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then
- $show "$mv $output_obj $obj"
- if $run $mv $output_obj $obj; then :
- else
- error=$?
- $run $rm $removelist
- exit $error
- fi
- fi
-
- # Append the name of the non-PIC object the libtool object file.
- # Only append if the libtool object file exists.
- test -z "$run" && cat >> ${libobj}T <<EOF
-# Name of the non-PIC object.
-non_pic_object='$objname'
-
-EOF
- else
- # Append the name of the non-PIC object the libtool object file.
- # Only append if the libtool object file exists.
- test -z "$run" && cat >> ${libobj}T <<EOF
-# Name of the non-PIC object.
-non_pic_object=none
-
-EOF
- fi
-
- $run $mv "${libobj}T" "${libobj}"
-
- # Unlock the critical section if it was locked
- if test "$need_locks" != no; then
- $run $rm "$lockfile"
- fi
-
- exit $EXIT_SUCCESS
- ;;
-
- # libtool link mode
- link | relink)
- modename="$modename: link"
- case $host in
- *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
- # It is impossible to link a dll without this setting, and
- # we shouldn't force the makefile maintainer to figure out
- # which system we are compiling for in order to pass an extra
- # flag for every libtool invocation.
- # allow_undefined=no
-
- # FIXME: Unfortunately, there are problems with the above when trying
- # to make a dll which has undefined symbols, in which case not
- # even a static library is built. For now, we need to specify
- # -no-undefined on the libtool link line when we can be certain
- # that all symbols are satisfied, otherwise we get a static library.
- allow_undefined=yes
- ;;
- *)
- allow_undefined=yes
- ;;
- esac
- libtool_args="$nonopt"
- base_compile="$nonopt $@"
- compile_command="$nonopt"
- finalize_command="$nonopt"
-
- compile_rpath=
- finalize_rpath=
- compile_shlibpath=
- finalize_shlibpath=
- convenience=
- old_convenience=
- deplibs=
- old_deplibs=
- compiler_flags=
- linker_flags=
- dllsearchpath=
- lib_search_path=`pwd`
- inst_prefix_dir=
-
- avoid_version=no
- dlfiles=
- dlprefiles=
- dlself=no
- export_dynamic=no
- export_symbols=
- export_symbols_regex=
- generated=
- libobjs=
- ltlibs=
- module=no
- no_install=no
- objs=
- non_pic_objects=
- notinst_path= # paths that contain not-installed libtool libraries
- precious_files_regex=
- prefer_static_libs=no
- preload=no
- prev=
- prevarg=
- release=
- rpath=
- xrpath=
- perm_rpath=
- temp_rpath=
- thread_safe=no
- vinfo=
- vinfo_number=no
- single_module="${wl}-single_module"
-
- func_infer_tag $base_compile
-
- # We need to know -static, to get the right output filenames.
- for arg
- do
- case $arg in
- -all-static | -static | -static-libtool-libs)
- case $arg in
- -all-static)
- if test "$build_libtool_libs" = yes && test -z "$link_static_flag"; then
- $echo "$modename: warning: complete static linking is impossible in this configuration" 1>&2
- fi
- if test -n "$link_static_flag"; then
- dlopen_self=$dlopen_self_static
- fi
- prefer_static_libs=yes
- ;;
- -static)
- if test -z "$pic_flag" && test -n "$link_static_flag"; then
- dlopen_self=$dlopen_self_static
- fi
- prefer_static_libs=built
- ;;
- -static-libtool-libs)
- if test -z "$pic_flag" && test -n "$link_static_flag"; then
- dlopen_self=$dlopen_self_static
- fi
- prefer_static_libs=yes
- ;;
- esac
- build_libtool_libs=no
- build_old_libs=yes
- break
- ;;
- esac
- done
-
- # See if our shared archives depend on static archives.
- test -n "$old_archive_from_new_cmds" && build_old_libs=yes
-
- # Go through the arguments, transforming them on the way.
- while test "$#" -gt 0; do
- arg="$1"
- shift
- case $arg in
- *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
- qarg=\"`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`\" ### testsuite: skip nested quoting test
- ;;
- *) qarg=$arg ;;
- esac
- libtool_args="$libtool_args $qarg"
-
- # If the previous option needs an argument, assign it.
- if test -n "$prev"; then
- case $prev in
- output)
- compile_command="$compile_command @OUTPUT@"
- finalize_command="$finalize_command @OUTPUT@"
- ;;
- esac
-
- case $prev in
- dlfiles|dlprefiles)
- if test "$preload" = no; then
- # Add the symbol object into the linking commands.
- compile_command="$compile_command @SYMFILE@"
- finalize_command="$finalize_command @SYMFILE@"
- preload=yes
- fi
- case $arg in
- *.la | *.lo) ;; # We handle these cases below.
- force)
- if test "$dlself" = no; then
- dlself=needless
- export_dynamic=yes
- fi
- prev=
- continue
- ;;
- self)
- if test "$prev" = dlprefiles; then
- dlself=yes
- elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then
- dlself=yes
- else
- dlself=needless
- export_dynamic=yes
- fi
- prev=
- continue
- ;;
- *)
- if test "$prev" = dlfiles; then
- dlfiles="$dlfiles $arg"
- else
- dlprefiles="$dlprefiles $arg"
- fi
- prev=
- continue
- ;;
- esac
- ;;
- expsyms)
- export_symbols="$arg"
- if test ! -f "$arg"; then
- $echo "$modename: symbol file \`$arg' does not exist"
- exit $EXIT_FAILURE
- fi
- prev=
- continue
- ;;
- expsyms_regex)
- export_symbols_regex="$arg"
- prev=
- continue
- ;;
- inst_prefix)
- inst_prefix_dir="$arg"
- prev=
- continue
- ;;
- precious_regex)
- precious_files_regex="$arg"
- prev=
- continue
- ;;
- release)
- release="-$arg"
- prev=
- continue
- ;;
- objectlist)
- if test -f "$arg"; then
- save_arg=$arg
- moreargs=
- for fil in `cat $save_arg`
- do
-# moreargs="$moreargs $fil"
- arg=$fil
- # A libtool-controlled object.
-
- # Check to see that this really is a libtool object.
- if (${SED} -e '2q' $arg | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
- pic_object=
- non_pic_object=
-
- # Read the .lo file
- # If there is no directory component, then add one.
- case $arg in
- */* | *\\*) . $arg ;;
- *) . ./$arg ;;
- esac
-
- if test -z "$pic_object" || \
- test -z "$non_pic_object" ||
- test "$pic_object" = none && \
- test "$non_pic_object" = none; then
- $echo "$modename: cannot find name of object for \`$arg'" 1>&2
- exit $EXIT_FAILURE
- fi
-
- # Extract subdirectory from the argument.
- xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'`
- if test "X$xdir" = "X$arg"; then
- xdir=
- else
- xdir="$xdir/"
- fi
-
- if test "$pic_object" != none; then
- # Prepend the subdirectory the object is found in.
- pic_object="$xdir$pic_object"
-
- if test "$prev" = dlfiles; then
- if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then
- dlfiles="$dlfiles $pic_object"
- prev=
- continue
- else
- # If libtool objects are unsupported, then we need to preload.
- prev=dlprefiles
- fi
- fi
-
- # CHECK ME: I think I busted this. -Ossama
- if test "$prev" = dlprefiles; then
- # Preload the old-style object.
- dlprefiles="$dlprefiles $pic_object"
- prev=
- fi
-
- # A PIC object.
- libobjs="$libobjs $pic_object"
- arg="$pic_object"
- fi
-
- # Non-PIC object.
- if test "$non_pic_object" != none; then
- # Prepend the subdirectory the object is found in.
- non_pic_object="$xdir$non_pic_object"
-
- # A standard non-PIC object
- non_pic_objects="$non_pic_objects $non_pic_object"
- if test -z "$pic_object" || test "$pic_object" = none ; then
- arg="$non_pic_object"
- fi
- else
- # If the PIC object exists, use it instead.
- # $xdir was prepended to $pic_object above.
- non_pic_object="$pic_object"
- non_pic_objects="$non_pic_objects $non_pic_object"
- fi
- else
- # Only an error if not doing a dry-run.
- if test -z "$run"; then
- $echo "$modename: \`$arg' is not a valid libtool object" 1>&2
- exit $EXIT_FAILURE
- else
- # Dry-run case.
-
- # Extract subdirectory from the argument.
- xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'`
- if test "X$xdir" = "X$arg"; then
- xdir=
- else
- xdir="$xdir/"
- fi
-
- pic_object=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"`
- non_pic_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"`
- libobjs="$libobjs $pic_object"
- non_pic_objects="$non_pic_objects $non_pic_object"
- fi
- fi
- done
- else
- $echo "$modename: link input file \`$save_arg' does not exist"
- exit $EXIT_FAILURE
- fi
- arg=$save_arg
- prev=
- continue
- ;;
- rpath | xrpath)
- # We need an absolute path.
- case $arg in
- [\\/]* | [A-Za-z]:[\\/]*) ;;
- *)
- $echo "$modename: only absolute run-paths are allowed" 1>&2
- exit $EXIT_FAILURE
- ;;
- esac
- if test "$prev" = rpath; then
- case "$rpath " in
- *" $arg "*) ;;
- *) rpath="$rpath $arg" ;;
- esac
- else
- case "$xrpath " in
- *" $arg "*) ;;
- *) xrpath="$xrpath $arg" ;;
- esac
- fi
- prev=
- continue
- ;;
- xcompiler)
- compiler_flags="$compiler_flags $qarg"
- prev=
- compile_command="$compile_command $qarg"
- finalize_command="$finalize_command $qarg"
- continue
- ;;
- xlinker)
- linker_flags="$linker_flags $qarg"
- compiler_flags="$compiler_flags $wl$qarg"
- prev=
- compile_command="$compile_command $wl$qarg"
- finalize_command="$finalize_command $wl$qarg"
- continue
- ;;
- xcclinker)
- linker_flags="$linker_flags $qarg"
- compiler_flags="$compiler_flags $qarg"
- prev=
- compile_command="$compile_command $qarg"
- finalize_command="$finalize_command $qarg"
- continue
- ;;
- shrext)
- shrext_cmds="$arg"
- prev=
- continue
- ;;
- darwin_framework|darwin_framework_skip)
- test "$prev" = "darwin_framework" && compiler_flags="$compiler_flags $arg"
- compile_command="$compile_command $arg"
- finalize_command="$finalize_command $arg"
- prev=
- continue
- ;;
- *)
- eval "$prev=\"\$arg\""
- prev=
- continue
- ;;
- esac
- fi # test -n "$prev"
-
- prevarg="$arg"
-
- case $arg in
- -all-static)
- if test -n "$link_static_flag"; then
- compile_command="$compile_command $link_static_flag"
- finalize_command="$finalize_command $link_static_flag"
- fi
- continue
- ;;
-
- -allow-undefined)
- # FIXME: remove this flag sometime in the future.
- $echo "$modename: \`-allow-undefined' is deprecated because it is the default" 1>&2
- continue
- ;;
-
- -avoid-version)
- avoid_version=yes
- continue
- ;;
-
- -dlopen)
- prev=dlfiles
- continue
- ;;
-
- -dlpreopen)
- prev=dlprefiles
- continue
- ;;
-
- -export-dynamic)
- export_dynamic=yes
- continue
- ;;
-
- -export-symbols | -export-symbols-regex)
- if test -n "$export_symbols" || test -n "$export_symbols_regex"; then
- $echo "$modename: more than one -exported-symbols argument is not allowed"
- exit $EXIT_FAILURE
- fi
- if test "X$arg" = "X-export-symbols"; then
- prev=expsyms
- else
- prev=expsyms_regex
- fi
- continue
- ;;
-
- -framework|-arch|-isysroot)
- case " $CC " in
- *" ${arg} ${1} "* | *" ${arg} ${1} "*)
- prev=darwin_framework_skip ;;
- *) compiler_flags="$compiler_flags $arg"
- prev=darwin_framework ;;
- esac
- compile_command="$compile_command $arg"
- finalize_command="$finalize_command $arg"
- continue
- ;;
-
- -inst-prefix-dir)
- prev=inst_prefix
- continue
- ;;
-
- # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:*
- # so, if we see these flags be careful not to treat them like -L
- -L[A-Z][A-Z]*:*)
- case $with_gcc/$host in
- no/*-*-irix* | /*-*-irix*)
- compile_command="$compile_command $arg"
- finalize_command="$finalize_command $arg"
- ;;
- esac
- continue
- ;;
-
- -L*)
- dir=`$echo "X$arg" | $Xsed -e 's/^-L//'`
- # We need an absolute path.
- case $dir in
- [\\/]* | [A-Za-z]:[\\/]*) ;;
- *)
- absdir=`cd "$dir" && pwd`
- if test -z "$absdir"; then
- $echo "$modename: cannot determine absolute directory name of \`$dir'" 1>&2
- absdir="$dir"
- notinst_path="$notinst_path $dir"
- fi
- dir="$absdir"
- ;;
- esac
- case "$deplibs " in
- *" -L$dir "*) ;;
- *)
- deplibs="$deplibs -L$dir"
- lib_search_path="$lib_search_path $dir"
- ;;
- esac
- case $host in
- *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
- testbindir=`$echo "X$dir" | $Xsed -e 's*/lib$*/bin*'`
- case :$dllsearchpath: in
- *":$dir:"*) ;;
- *) dllsearchpath="$dllsearchpath:$dir";;
- esac
- case :$dllsearchpath: in
- *":$testbindir:"*) ;;
- *) dllsearchpath="$dllsearchpath:$testbindir";;
- esac
- ;;
- esac
- continue
- ;;
-
- -l*)
- if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then
- case $host in
- *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos*)
- # These systems don't actually have a C or math library (as such)
- continue
- ;;
- *-*-os2*)
- # These systems don't actually have a C library (as such)
- test "X$arg" = "X-lc" && continue
- ;;
- *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
- # Do not include libc due to us having libc/libc_r.
- test "X$arg" = "X-lc" && continue
- ;;
- *-*-rhapsody* | *-*-darwin1.[012])
- # Rhapsody C and math libraries are in the System framework
- deplibs="$deplibs -framework System"
- continue
- ;;
- *-*-sco3.2v5* | *-*-sco5v6*)
- # Causes problems with __ctype
- test "X$arg" = "X-lc" && continue
- ;;
- *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*)
- # Compiler inserts libc in the correct place for threads to work
- test "X$arg" = "X-lc" && continue
- ;;
- esac
- elif test "X$arg" = "X-lc_r"; then
- case $host in
- *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
- # Do not include libc_r directly, use -pthread flag.
- continue
- ;;
- esac
- fi
- deplibs="$deplibs $arg"
- continue
- ;;
-
- # Tru64 UNIX uses -model [arg] to determine the layout of C++
- # classes, name mangling, and exception handling.
- -model)
- compile_command="$compile_command $arg"
- compiler_flags="$compiler_flags $arg"
- finalize_command="$finalize_command $arg"
- prev=xcompiler
- continue
- ;;
-
- -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads)
- compiler_flags="$compiler_flags $arg"
- compile_command="$compile_command $arg"
- finalize_command="$finalize_command $arg"
- continue
- ;;
-
- -multi_module)
- single_module="${wl}-multi_module"
- continue
- ;;
-
- -module)
- module=yes
- continue
- ;;
-
- # -64, -mips[0-9] enable 64-bit mode on the SGI compiler
- # -r[0-9][0-9]* specifies the processor on the SGI compiler
- # -xarch=*, -xtarget=* enable 64-bit mode on the Sun compiler
- # +DA*, +DD* enable 64-bit mode on the HP compiler
- # -q* pass through compiler args for the IBM compiler
- # -m* pass through architecture-specific compiler args for GCC
- # -m*, -t[45]*, -txscale* pass through architecture-specific
- # compiler args for GCC
- # -p, -pg, --coverage, -fprofile-* pass through profiling flag for GCC
- # -F/path gives path to uninstalled frameworks, gcc on darwin
- # @file GCC response files
- -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
- -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*)
-
- # Unknown arguments in both finalize_command and compile_command need
- # to be aesthetically quoted because they are evaled later.
- arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
- case $arg in
- *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
- arg="\"$arg\""
- ;;
- esac
- compile_command="$compile_command $arg"
- finalize_command="$finalize_command $arg"
- compiler_flags="$compiler_flags $arg"
- continue
- ;;
-
- -shrext)
- prev=shrext
- continue
- ;;
-
- -no-fast-install)
- fast_install=no
- continue
- ;;
-
- -no-install)
- case $host in
- *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-darwin*)
- # The PATH hackery in wrapper scripts is required on Windows
- # and Darwin in order for the loader to find any dlls it needs.
- $echo "$modename: warning: \`-no-install' is ignored for $host" 1>&2
- $echo "$modename: warning: assuming \`-no-fast-install' instead" 1>&2
- fast_install=no
- ;;
- *) no_install=yes ;;
- esac
- continue
- ;;
-
- -no-undefined)
- allow_undefined=no
- continue
- ;;
-
- -objectlist)
- prev=objectlist
- continue
- ;;
-
- -o) prev=output ;;
-
- -precious-files-regex)
- prev=precious_regex
- continue
- ;;
-
- -release)
- prev=release
- continue
- ;;
-
- -rpath)
- prev=rpath
- continue
- ;;
-
- -R)
- prev=xrpath
- continue
- ;;
-
- -R*)
- dir=`$echo "X$arg" | $Xsed -e 's/^-R//'`
- # We need an absolute path.
- case $dir in
- [\\/]* | [A-Za-z]:[\\/]*) ;;
- *)
- $echo "$modename: only absolute run-paths are allowed" 1>&2
- exit $EXIT_FAILURE
- ;;
- esac
- case "$xrpath " in
- *" $dir "*) ;;
- *) xrpath="$xrpath $dir" ;;
- esac
- continue
- ;;
-
- -static | -static-libtool-libs)
- # The effects of -static are defined in a previous loop.
- # We used to do the same as -all-static on platforms that
- # didn't have a PIC flag, but the assumption that the effects
- # would be equivalent was wrong. It would break on at least
- # Digital Unix and AIX.
- continue
- ;;
-
- -thread-safe)
- thread_safe=yes
- continue
- ;;
-
- -version-info)
- prev=vinfo
- continue
- ;;
- -version-number)
- prev=vinfo
- vinfo_number=yes
- continue
- ;;
-
- -Wc,*)
- args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wc,//'`
- arg=
- save_ifs="$IFS"; IFS=','
- for flag in $args; do
- IFS="$save_ifs"
- case $flag in
- *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
- flag="\"$flag\""
- ;;
- esac
- arg="$arg $wl$flag"
- compiler_flags="$compiler_flags $flag"
- done
- IFS="$save_ifs"
- arg=`$echo "X$arg" | $Xsed -e "s/^ //"`
- ;;
-
- -Wl,*)
- args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wl,//'`
- arg=
- save_ifs="$IFS"; IFS=','
- for flag in $args; do
- IFS="$save_ifs"
- case $flag in
- *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
- flag="\"$flag\""
- ;;
- esac
- arg="$arg $wl$flag"
- compiler_flags="$compiler_flags $wl$flag"
- linker_flags="$linker_flags $flag"
- done
- IFS="$save_ifs"
- arg=`$echo "X$arg" | $Xsed -e "s/^ //"`
- ;;
-
- -Xcompiler)
- prev=xcompiler
- continue
- ;;
-
- -Xlinker)
- prev=xlinker
- continue
- ;;
-
- -XCClinker)
- prev=xcclinker
- continue
- ;;
-
- # Some other compiler flag.
- -* | +*)
- # Unknown arguments in both finalize_command and compile_command need
- # to be aesthetically quoted because they are evaled later.
- arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
- case $arg in
- *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
- arg="\"$arg\""
- ;;
- esac
- ;;
-
- *.$objext)
- # A standard object.
- objs="$objs $arg"
- ;;
-
- *.lo)
- # A libtool-controlled object.
-
- # Check to see that this really is a libtool object.
- if (${SED} -e '2q' $arg | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
- pic_object=
- non_pic_object=
-
- # Read the .lo file
- # If there is no directory component, then add one.
- case $arg in
- */* | *\\*) . $arg ;;
- *) . ./$arg ;;
- esac
-
- if test -z "$pic_object" || \
- test -z "$non_pic_object" ||
- test "$pic_object" = none && \
- test "$non_pic_object" = none; then
- $echo "$modename: cannot find name of object for \`$arg'" 1>&2
- exit $EXIT_FAILURE
- fi
-
- # Extract subdirectory from the argument.
- xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'`
- if test "X$xdir" = "X$arg"; then
- xdir=
- else
- xdir="$xdir/"
- fi
-
- if test "$pic_object" != none; then
- # Prepend the subdirectory the object is found in.
- pic_object="$xdir$pic_object"
-
- if test "$prev" = dlfiles; then
- if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then
- dlfiles="$dlfiles $pic_object"
- prev=
- continue
- else
- # If libtool objects are unsupported, then we need to preload.
- prev=dlprefiles
- fi
- fi
-
- # CHECK ME: I think I busted this. -Ossama
- if test "$prev" = dlprefiles; then
- # Preload the old-style object.
- dlprefiles="$dlprefiles $pic_object"
- prev=
- fi
-
- # A PIC object.
- libobjs="$libobjs $pic_object"
- arg="$pic_object"
- fi
-
- # Non-PIC object.
- if test "$non_pic_object" != none; then
- # Prepend the subdirectory the object is found in.
- non_pic_object="$xdir$non_pic_object"
-
- # A standard non-PIC object
- non_pic_objects="$non_pic_objects $non_pic_object"
- if test -z "$pic_object" || test "$pic_object" = none ; then
- arg="$non_pic_object"
- fi
- else
- # If the PIC object exists, use it instead.
- # $xdir was prepended to $pic_object above.
- non_pic_object="$pic_object"
- non_pic_objects="$non_pic_objects $non_pic_object"
- fi
- else
- # Only an error if not doing a dry-run.
- if test -z "$run"; then
- $echo "$modename: \`$arg' is not a valid libtool object" 1>&2
- exit $EXIT_FAILURE
- else
- # Dry-run case.
-
- # Extract subdirectory from the argument.
- xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'`
- if test "X$xdir" = "X$arg"; then
- xdir=
- else
- xdir="$xdir/"
- fi
-
- pic_object=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"`
- non_pic_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"`
- libobjs="$libobjs $pic_object"
- non_pic_objects="$non_pic_objects $non_pic_object"
- fi
- fi
- ;;
-
- *.$libext)
- # An archive.
- deplibs="$deplibs $arg"
- old_deplibs="$old_deplibs $arg"
- continue
- ;;
-
- *.la)
- # A libtool-controlled library.
-
- if test "$prev" = dlfiles; then
- # This library was specified with -dlopen.
- dlfiles="$dlfiles $arg"
- prev=
- elif test "$prev" = dlprefiles; then
- # The library was specified with -dlpreopen.
- dlprefiles="$dlprefiles $arg"
- prev=
- else
- deplibs="$deplibs $arg"
- fi
- continue
- ;;
-
- # Some other compiler argument.
- *)
- # Unknown arguments in both finalize_command and compile_command need
- # to be aesthetically quoted because they are evaled later.
- arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
- case $arg in
- *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
- arg="\"$arg\""
- ;;
- esac
- ;;
- esac # arg
-
- # Now actually substitute the argument into the commands.
- if test -n "$arg"; then
- compile_command="$compile_command $arg"
- finalize_command="$finalize_command $arg"
- fi
- done # argument parsing loop
-
- if test -n "$prev"; then
- $echo "$modename: the \`$prevarg' option requires an argument" 1>&2
- $echo "$help" 1>&2
- exit $EXIT_FAILURE
- fi
-
- if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then
- eval arg=\"$export_dynamic_flag_spec\"
- compile_command="$compile_command $arg"
- finalize_command="$finalize_command $arg"
- fi
-
- oldlibs=
- # calculate the name of the file, without its directory
- outputname=`$echo "X$output" | $Xsed -e 's%^.*/%%'`
- libobjs_save="$libobjs"
-
- if test -n "$shlibpath_var"; then
- # get the directories listed in $shlibpath_var
- eval shlib_search_path=\`\$echo \"X\${$shlibpath_var}\" \| \$Xsed -e \'s/:/ /g\'\`
- else
- shlib_search_path=
- fi
- eval sys_lib_search_path=\"$sys_lib_search_path_spec\"
- eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\"
-
- output_objdir=`$echo "X$output" | $Xsed -e 's%/[^/]*$%%'`
- if test "X$output_objdir" = "X$output"; then
- output_objdir="$objdir"
- else
- output_objdir="$output_objdir/$objdir"
- fi
- # Create the object directory.
- if test ! -d "$output_objdir"; then
- $show "$mkdir $output_objdir"
- $run $mkdir $output_objdir
- exit_status=$?
- if test "$exit_status" -ne 0 && test ! -d "$output_objdir"; then
- exit $exit_status
- fi
- fi
-
- # Determine the type of output
- case $output in
- "")
- $echo "$modename: you must specify an output file" 1>&2
- $echo "$help" 1>&2
- exit $EXIT_FAILURE
- ;;
- *.$libext) linkmode=oldlib ;;
- *.lo | *.$objext) linkmode=obj ;;
- *.la) linkmode=lib ;;
- *) linkmode=prog ;; # Anything else should be a program.
- esac
-
- case $host in
- *cygwin* | *mingw* | *pw32*)
- # don't eliminate duplications in $postdeps and $predeps
- duplicate_compiler_generated_deps=yes
- ;;
- *)
- duplicate_compiler_generated_deps=$duplicate_deps
- ;;
- esac
- specialdeplibs=
-
- libs=
- # Find all interdependent deplibs by searching for libraries
- # that are linked more than once (e.g. -la -lb -la)
- for deplib in $deplibs; do
- if test "X$duplicate_deps" = "Xyes" ; then
- case "$libs " in
- *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
- esac
- fi
- libs="$libs $deplib"
- done
-
- if test "$linkmode" = lib; then
- libs="$predeps $libs $compiler_lib_search_path $postdeps"
-
- # Compute libraries that are listed more than once in $predeps
- # $postdeps and mark them as special (i.e., whose duplicates are
- # not to be eliminated).
- pre_post_deps=
- if test "X$duplicate_compiler_generated_deps" = "Xyes" ; then
- for pre_post_dep in $predeps $postdeps; do
- case "$pre_post_deps " in
- *" $pre_post_dep "*) specialdeplibs="$specialdeplibs $pre_post_deps" ;;
- esac
- pre_post_deps="$pre_post_deps $pre_post_dep"
- done
- fi
- pre_post_deps=
- fi
-
- deplibs=
- newdependency_libs=
- newlib_search_path=
- need_relink=no # whether we're linking any uninstalled libtool libraries
- notinst_deplibs= # not-installed libtool libraries
- case $linkmode in
- lib)
- passes="conv link"
- for file in $dlfiles $dlprefiles; do
- case $file in
- *.la) ;;
- *)
- $echo "$modename: libraries can \`-dlopen' only libtool libraries: $file" 1>&2
- exit $EXIT_FAILURE
- ;;
- esac
- done
- ;;
- prog)
- compile_deplibs=
- finalize_deplibs=
- alldeplibs=no
- newdlfiles=
- newdlprefiles=
- passes="conv scan dlopen dlpreopen link"
- ;;
- *) passes="conv"
- ;;
- esac
- for pass in $passes; do
- if test "$linkmode,$pass" = "lib,link" ||
- test "$linkmode,$pass" = "prog,scan"; then
- libs="$deplibs"
- deplibs=
- fi
- if test "$linkmode" = prog; then
- case $pass in
- dlopen) libs="$dlfiles" ;;
- dlpreopen) libs="$dlprefiles" ;;
- link) libs="$deplibs %DEPLIBS% $dependency_libs" ;;
- esac
- fi
- if test "$pass" = dlopen; then
- # Collect dlpreopened libraries
- save_deplibs="$deplibs"
- deplibs=
- fi
- for deplib in $libs; do
- lib=
- found=no
- case $deplib in
- -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads)
- if test "$linkmode,$pass" = "prog,link"; then
- compile_deplibs="$deplib $compile_deplibs"
- finalize_deplibs="$deplib $finalize_deplibs"
- else
- compiler_flags="$compiler_flags $deplib"
- fi
- continue
- ;;
- -l*)
- if test "$linkmode" != lib && test "$linkmode" != prog; then
- $echo "$modename: warning: \`-l' is ignored for archives/objects" 1>&2
- continue
- fi
- name=`$echo "X$deplib" | $Xsed -e 's/^-l//'`
- if test "$linkmode" = lib; then
- searchdirs="$newlib_search_path $lib_search_path $compiler_lib_search_dirs $sys_lib_search_path $shlib_search_path"
- else
- searchdirs="$newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path"
- fi
- for searchdir in $searchdirs; do
- for search_ext in .la $std_shrext .so .a; do
- # Search the libtool library
- lib="$searchdir/lib${name}${search_ext}"
- if test -f "$lib"; then
- if test "$search_ext" = ".la"; then
- found=yes
- else
- found=no
- fi
- break 2
- fi
- done
- done
- if test "$found" != yes; then
- # deplib doesn't seem to be a libtool library
- if test "$linkmode,$pass" = "prog,link"; then
- compile_deplibs="$deplib $compile_deplibs"
- finalize_deplibs="$deplib $finalize_deplibs"
- else
- deplibs="$deplib $deplibs"
- test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs"
- fi
- continue
- else # deplib is a libtool library
- # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib,
- # We need to do some special things here, and not later.
- if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
- case " $predeps $postdeps " in
- *" $deplib "*)
- if (${SED} -e '2q' $lib |
- grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
- library_names=
- old_library=
- case $lib in
- */* | *\\*) . $lib ;;
- *) . ./$lib ;;
- esac
- for l in $old_library $library_names; do
- ll="$l"
- done
- if test "X$ll" = "X$old_library" ; then # only static version available
- found=no
- ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'`
- test "X$ladir" = "X$lib" && ladir="."
- lib=$ladir/$old_library
- if test "$linkmode,$pass" = "prog,link"; then
- compile_deplibs="$deplib $compile_deplibs"
- finalize_deplibs="$deplib $finalize_deplibs"
- else
- deplibs="$deplib $deplibs"
- test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs"
- fi
- continue
- fi
- fi
- ;;
- *) ;;
- esac
- fi
- fi
- ;; # -l
- -L*)
- case $linkmode in
- lib)
- deplibs="$deplib $deplibs"
- test "$pass" = conv && continue
- newdependency_libs="$deplib $newdependency_libs"
- newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`
- ;;
- prog)
- if test "$pass" = conv; then
- deplibs="$deplib $deplibs"
- continue
- fi
- if test "$pass" = scan; then
- deplibs="$deplib $deplibs"
- else
- compile_deplibs="$deplib $compile_deplibs"
- finalize_deplibs="$deplib $finalize_deplibs"
- fi
- newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`
- ;;
- *)
- $echo "$modename: warning: \`-L' is ignored for archives/objects" 1>&2
- ;;
- esac # linkmode
- continue
- ;; # -L
- -R*)
- if test "$pass" = link; then
- dir=`$echo "X$deplib" | $Xsed -e 's/^-R//'`
- # Make sure the xrpath contains only unique directories.
- case "$xrpath " in
- *" $dir "*) ;;
- *) xrpath="$xrpath $dir" ;;
- esac
- fi
- deplibs="$deplib $deplibs"
- continue
- ;;
- *.la) lib="$deplib" ;;
- *.$libext)
- if test "$pass" = conv; then
- deplibs="$deplib $deplibs"
- continue
- fi
- case $linkmode in
- lib)
- valid_a_lib=no
- case $deplibs_check_method in
- match_pattern*)
- set dummy $deplibs_check_method
- match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"`
- if eval $echo \"$deplib\" 2>/dev/null \
- | $SED 10q \
- | $EGREP "$match_pattern_regex" > /dev/null; then
- valid_a_lib=yes
- fi
- ;;
- pass_all)
- valid_a_lib=yes
- ;;
- esac
- if test "$valid_a_lib" != yes; then
- $echo
- $echo "*** Warning: Trying to link with static lib archive $deplib."
- $echo "*** I have the capability to make that library automatically link in when"
- $echo "*** you link to this library. But I can only do this if you have a"
- $echo "*** shared version of the library, which you do not appear to have"
- $echo "*** because the file extensions .$libext of this argument makes me believe"
- $echo "*** that it is just a static archive that I should not used here."
- else
- $echo
- $echo "*** Warning: Linking the shared library $output against the"
- $echo "*** static library $deplib is not portable!"
- deplibs="$deplib $deplibs"
- fi
- continue
- ;;
- prog)
- if test "$pass" != link; then
- deplibs="$deplib $deplibs"
- else
- compile_deplibs="$deplib $compile_deplibs"
- finalize_deplibs="$deplib $finalize_deplibs"
- fi
- continue
- ;;
- esac # linkmode
- ;; # *.$libext
- *.lo | *.$objext)
- if test "$pass" = conv; then
- deplibs="$deplib $deplibs"
- elif test "$linkmode" = prog; then
- if test "$pass" = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then
- # If there is no dlopen support or we're linking statically,
- # we need to preload.
- newdlprefiles="$newdlprefiles $deplib"
- compile_deplibs="$deplib $compile_deplibs"
- finalize_deplibs="$deplib $finalize_deplibs"
- else
- newdlfiles="$newdlfiles $deplib"
- fi
- fi
- continue
- ;;
- %DEPLIBS%)
- alldeplibs=yes
- continue
- ;;
- esac # case $deplib
- if test "$found" = yes || test -f "$lib"; then :
- else
- $echo "$modename: cannot find the library \`$lib' or unhandled argument \`$deplib'" 1>&2
- exit $EXIT_FAILURE
- fi
-
- # Check to see that this really is a libtool archive.
- if (${SED} -e '2q' $lib | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then :
- else
- $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
- exit $EXIT_FAILURE
- fi
-
- ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'`
- test "X$ladir" = "X$lib" && ladir="."
-
- dlname=
- dlopen=
- dlpreopen=
- libdir=
- library_names=
- old_library=
- # If the library was installed with an old release of libtool,
- # it will not redefine variables installed, or shouldnotlink
- installed=yes
- shouldnotlink=no
- avoidtemprpath=
-
-
- # Read the .la file
- case $lib in
- */* | *\\*) . $lib ;;
- *) . ./$lib ;;
- esac
-
- if test "$linkmode,$pass" = "lib,link" ||
- test "$linkmode,$pass" = "prog,scan" ||
- { test "$linkmode" != prog && test "$linkmode" != lib; }; then
- test -n "$dlopen" && dlfiles="$dlfiles $dlopen"
- test -n "$dlpreopen" && dlprefiles="$dlprefiles $dlpreopen"
- fi
-
- if test "$pass" = conv; then
- # Only check for convenience libraries
- deplibs="$lib $deplibs"
- if test -z "$libdir"; then
- if test -z "$old_library"; then
- $echo "$modename: cannot find name of link library for \`$lib'" 1>&2
- exit $EXIT_FAILURE
- fi
- # It is a libtool convenience library, so add in its objects.
- convenience="$convenience $ladir/$objdir/$old_library"
- old_convenience="$old_convenience $ladir/$objdir/$old_library"
- tmp_libs=
- for deplib in $dependency_libs; do
- deplibs="$deplib $deplibs"
- if test "X$duplicate_deps" = "Xyes" ; then
- case "$tmp_libs " in
- *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
- esac
- fi
- tmp_libs="$tmp_libs $deplib"
- done
- elif test "$linkmode" != prog && test "$linkmode" != lib; then
- $echo "$modename: \`$lib' is not a convenience library" 1>&2
- exit $EXIT_FAILURE
- fi
- continue
- fi # $pass = conv
-
-
- # Get the name of the library we link against.
- linklib=
- for l in $old_library $library_names; do
- linklib="$l"
- done
- if test -z "$linklib"; then
- $echo "$modename: cannot find name of link library for \`$lib'" 1>&2
- exit $EXIT_FAILURE
- fi
-
- # This library was specified with -dlopen.
- if test "$pass" = dlopen; then
- if test -z "$libdir"; then
- $echo "$modename: cannot -dlopen a convenience library: \`$lib'" 1>&2
- exit $EXIT_FAILURE
- fi
- if test -z "$dlname" ||
- test "$dlopen_support" != yes ||
- test "$build_libtool_libs" = no; then
- # If there is no dlname, no dlopen support or we're linking
- # statically, we need to preload. We also need to preload any
- # dependent libraries so libltdl's deplib preloader doesn't
- # bomb out in the load deplibs phase.
- dlprefiles="$dlprefiles $lib $dependency_libs"
- else
- newdlfiles="$newdlfiles $lib"
- fi
- continue
- fi # $pass = dlopen
-
- # We need an absolute path.
- case $ladir in
- [\\/]* | [A-Za-z]:[\\/]*) abs_ladir="$ladir" ;;
- *)
- abs_ladir=`cd "$ladir" && pwd`
- if test -z "$abs_ladir"; then
- $echo "$modename: warning: cannot determine absolute directory name of \`$ladir'" 1>&2
- $echo "$modename: passing it literally to the linker, although it might fail" 1>&2
- abs_ladir="$ladir"
- fi
- ;;
- esac
- laname=`$echo "X$lib" | $Xsed -e 's%^.*/%%'`
-
- # Find the relevant object directory and library name.
- if test "X$installed" = Xyes; then
- if test ! -f "$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then
- $echo "$modename: warning: library \`$lib' was moved." 1>&2
- dir="$ladir"
- absdir="$abs_ladir"
- libdir="$abs_ladir"
- else
- dir="$libdir"
- absdir="$libdir"
- fi
- test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes
- else
- if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then
- dir="$ladir"
- absdir="$abs_ladir"
- # Remove this search path later
- notinst_path="$notinst_path $abs_ladir"
- else
- dir="$ladir/$objdir"
- absdir="$abs_ladir/$objdir"
- # Remove this search path later
- notinst_path="$notinst_path $abs_ladir"
- fi
- fi # $installed = yes
- name=`$echo "X$laname" | $Xsed -e 's/\.la$//' -e 's/^lib//'`
-
- # This library was specified with -dlpreopen.
- if test "$pass" = dlpreopen; then
- if test -z "$libdir"; then
- $echo "$modename: cannot -dlpreopen a convenience library: \`$lib'" 1>&2
- exit $EXIT_FAILURE
- fi
- # Prefer using a static library (so that no silly _DYNAMIC symbols
- # are required to link).
- if test -n "$old_library"; then
- newdlprefiles="$newdlprefiles $dir/$old_library"
- # Otherwise, use the dlname, so that lt_dlopen finds it.
- elif test -n "$dlname"; then
- newdlprefiles="$newdlprefiles $dir/$dlname"
- else
- newdlprefiles="$newdlprefiles $dir/$linklib"
- fi
- fi # $pass = dlpreopen
-
- if test -z "$libdir"; then
- # Link the convenience library
- if test "$linkmode" = lib; then
- deplibs="$dir/$old_library $deplibs"
- elif test "$linkmode,$pass" = "prog,link"; then
- compile_deplibs="$dir/$old_library $compile_deplibs"
- finalize_deplibs="$dir/$old_library $finalize_deplibs"
- else
- deplibs="$lib $deplibs" # used for prog,scan pass
- fi
- continue
- fi
-
-
- if test "$linkmode" = prog && test "$pass" != link; then
- newlib_search_path="$newlib_search_path $ladir"
- deplibs="$lib $deplibs"
-
- linkalldeplibs=no
- if test "$link_all_deplibs" != no || test -z "$library_names" ||
- test "$build_libtool_libs" = no; then
- linkalldeplibs=yes
- fi
-
- tmp_libs=
- for deplib in $dependency_libs; do
- case $deplib in
- -L*) newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`;; ### testsuite: skip nested quoting test
- esac
- # Need to link against all dependency_libs?
- if test "$linkalldeplibs" = yes; then
- deplibs="$deplib $deplibs"
- else
- # Need to hardcode shared library paths
- # or/and link against static libraries
- newdependency_libs="$deplib $newdependency_libs"
- fi
- if test "X$duplicate_deps" = "Xyes" ; then
- case "$tmp_libs " in
- *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
- esac
- fi
- tmp_libs="$tmp_libs $deplib"
- done # for deplib
- continue
- fi # $linkmode = prog...
-
- if test "$linkmode,$pass" = "prog,link"; then
- if test -n "$library_names" &&
- { { test "$prefer_static_libs" = no ||
- test "$prefer_static_libs,$installed" = "built,yes"; } ||
- test -z "$old_library"; }; then
- # We need to hardcode the library path
- if test -n "$shlibpath_var" && test -z "$avoidtemprpath" ; then
- # Make sure the rpath contains only unique directories.
- case "$temp_rpath " in
- *" $dir "*) ;;
- *" $absdir "*) ;;
- *) temp_rpath="$temp_rpath $absdir" ;;
- esac
- fi
-
- # Hardcode the library path.
- # Skip directories that are in the system default run-time
- # search path.
- case " $sys_lib_dlsearch_path " in
- *" $absdir "*) ;;
- *)
- case "$compile_rpath " in
- *" $absdir "*) ;;
- *) compile_rpath="$compile_rpath $absdir"
- esac
- ;;
- esac
- case " $sys_lib_dlsearch_path " in
- *" $libdir "*) ;;
- *)
- case "$finalize_rpath " in
- *" $libdir "*) ;;
- *) finalize_rpath="$finalize_rpath $libdir"
- esac
- ;;
- esac
- fi # $linkmode,$pass = prog,link...
-
- if test "$alldeplibs" = yes &&
- { test "$deplibs_check_method" = pass_all ||
- { test "$build_libtool_libs" = yes &&
- test -n "$library_names"; }; }; then
- # We only need to search for static libraries
- continue
- fi
- fi
-
- link_static=no # Whether the deplib will be linked statically
- use_static_libs=$prefer_static_libs
- if test "$use_static_libs" = built && test "$installed" = yes ; then
- use_static_libs=no
- fi
- if test -n "$library_names" &&
- { test "$use_static_libs" = no || test -z "$old_library"; }; then
- if test "$installed" = no; then
- notinst_deplibs="$notinst_deplibs $lib"
- need_relink=yes
- fi
- # This is a shared library
-
- # Warn about portability, can't link against -module's on
- # some systems (darwin)
- if test "$shouldnotlink" = yes && test "$pass" = link ; then
- $echo
- if test "$linkmode" = prog; then
- $echo "*** Warning: Linking the executable $output against the loadable module"
- else
- $echo "*** Warning: Linking the shared library $output against the loadable module"
- fi
- $echo "*** $linklib is not portable!"
- fi
- if test "$linkmode" = lib &&
- test "$hardcode_into_libs" = yes; then
- # Hardcode the library path.
- # Skip directories that are in the system default run-time
- # search path.
- case " $sys_lib_dlsearch_path " in
- *" $absdir "*) ;;
- *)
- case "$compile_rpath " in
- *" $absdir "*) ;;
- *) compile_rpath="$compile_rpath $absdir"
- esac
- ;;
- esac
- case " $sys_lib_dlsearch_path " in
- *" $libdir "*) ;;
- *)
- case "$finalize_rpath " in
- *" $libdir "*) ;;
- *) finalize_rpath="$finalize_rpath $libdir"
- esac
- ;;
- esac
- fi
-
- if test -n "$old_archive_from_expsyms_cmds"; then
- # figure out the soname
- set dummy $library_names
- realname="$2"
- shift; shift
- libname=`eval \\$echo \"$libname_spec\"`
- # use dlname if we got it. it's perfectly good, no?
- if test -n "$dlname"; then
- soname="$dlname"
- elif test -n "$soname_spec"; then
- # bleh windows
- case $host in
- *cygwin* | mingw*)
- major=`expr $current - $age`
- versuffix="-$major"
- ;;
- esac
- eval soname=\"$soname_spec\"
- else
- soname="$realname"
- fi
-
- # Make a new name for the extract_expsyms_cmds to use
- soroot="$soname"
- soname=`$echo $soroot | ${SED} -e 's/^.*\///'`
- newlib="libimp-`$echo $soname | ${SED} 's/^lib//;s/\.dll$//'`.a"
-
- # If the library has no export list, then create one now
- if test -f "$output_objdir/$soname-def"; then :
- else
- $show "extracting exported symbol list from \`$soname'"
- save_ifs="$IFS"; IFS='~'
- cmds=$extract_expsyms_cmds
- for cmd in $cmds; do
- IFS="$save_ifs"
- eval cmd=\"$cmd\"
- $show "$cmd"
- $run eval "$cmd" || exit $?
- done
- IFS="$save_ifs"
- fi
-
- # Create $newlib
- if test -f "$output_objdir/$newlib"; then :; else
- $show "generating import library for \`$soname'"
- save_ifs="$IFS"; IFS='~'
- cmds=$old_archive_from_expsyms_cmds
- for cmd in $cmds; do
- IFS="$save_ifs"
- eval cmd=\"$cmd\"
- $show "$cmd"
- $run eval "$cmd" || exit $?
- done
- IFS="$save_ifs"
- fi
- # make sure the library variables are pointing to the new library
- dir=$output_objdir
- linklib=$newlib
- fi # test -n "$old_archive_from_expsyms_cmds"
-
- if test "$linkmode" = prog || test "$mode" != relink; then
- add_shlibpath=
- add_dir=
- add=
- lib_linked=yes
- case $hardcode_action in
- immediate | unsupported)
- if test "$hardcode_direct" = no; then
- add="$dir/$linklib"
- case $host in
- *-*-sco3.2v5.0.[024]*) add_dir="-L$dir" ;;
- *-*-sysv4*uw2*) add_dir="-L$dir" ;;
- *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \
- *-*-unixware7*) add_dir="-L$dir" ;;
- *-*-darwin* )
- # if the lib is a module then we can not link against
- # it, someone is ignoring the new warnings I added
- if /usr/bin/file -L $add 2> /dev/null |
- $EGREP ": [^:]* bundle" >/dev/null ; then
- $echo "** Warning, lib $linklib is a module, not a shared library"
- if test -z "$old_library" ; then
- $echo
- $echo "** And there doesn't seem to be a static archive available"
- $echo "** The link will probably fail, sorry"
- else
- add="$dir/$old_library"
- fi
- fi
- esac
- elif test "$hardcode_minus_L" = no; then
- case $host in
- *-*-sunos*) add_shlibpath="$dir" ;;
- esac
- add_dir="-L$dir"
- add="-l$name"
- elif test "$hardcode_shlibpath_var" = no; then
- add_shlibpath="$dir"
- add="-l$name"
- else
- lib_linked=no
- fi
- ;;
- relink)
- if test "$hardcode_direct" = yes; then
- add="$dir/$linklib"
- elif test "$hardcode_minus_L" = yes; then
- add_dir="-L$dir"
- # Try looking first in the location we're being installed to.
- if test -n "$inst_prefix_dir"; then
- case $libdir in
- [\\/]*)
- add_dir="$add_dir -L$inst_prefix_dir$libdir"
- ;;
- esac
- fi
- add="-l$name"
- elif test "$hardcode_shlibpath_var" = yes; then
- add_shlibpath="$dir"
- add="-l$name"
- else
- lib_linked=no
- fi
- ;;
- *) lib_linked=no ;;
- esac
-
- if test "$lib_linked" != yes; then
- $echo "$modename: configuration error: unsupported hardcode properties"
- exit $EXIT_FAILURE
- fi
-
- if test -n "$add_shlibpath"; then
- case :$compile_shlibpath: in
- *":$add_shlibpath:"*) ;;
- *) compile_shlibpath="$compile_shlibpath$add_shlibpath:" ;;
- esac
- fi
- if test "$linkmode" = prog; then
- test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs"
- test -n "$add" && compile_deplibs="$add $compile_deplibs"
- else
- test -n "$add_dir" && deplibs="$add_dir $deplibs"
- test -n "$add" && deplibs="$add $deplibs"
- if test "$hardcode_direct" != yes && \
- test "$hardcode_minus_L" != yes && \
- test "$hardcode_shlibpath_var" = yes; then
- case :$finalize_shlibpath: in
- *":$libdir:"*) ;;
- *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;;
- esac
- fi
- fi
- fi
-
- if test "$linkmode" = prog || test "$mode" = relink; then
- add_shlibpath=
- add_dir=
- add=
- # Finalize command for both is simple: just hardcode it.
- if test "$hardcode_direct" = yes; then
- add="$libdir/$linklib"
- elif test "$hardcode_minus_L" = yes; then
- add_dir="-L$libdir"
- add="-l$name"
- elif test "$hardcode_shlibpath_var" = yes; then
- case :$finalize_shlibpath: in
- *":$libdir:"*) ;;
- *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;;
- esac
- add="-l$name"
- elif test "$hardcode_automatic" = yes; then
- if test -n "$inst_prefix_dir" &&
- test -f "$inst_prefix_dir$libdir/$linklib" ; then
- add="$inst_prefix_dir$libdir/$linklib"
- else
- add="$libdir/$linklib"
- fi
- else
- # We cannot seem to hardcode it, guess we'll fake it.
- add_dir="-L$libdir"
- # Try looking first in the location we're being installed to.
- if test -n "$inst_prefix_dir"; then
- case $libdir in
- [\\/]*)
- add_dir="$add_dir -L$inst_prefix_dir$libdir"
- ;;
- esac
- fi
- add="-l$name"
- fi
-
- if test "$linkmode" = prog; then
- test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs"
- test -n "$add" && finalize_deplibs="$add $finalize_deplibs"
- else
- test -n "$add_dir" && deplibs="$add_dir $deplibs"
- test -n "$add" && deplibs="$add $deplibs"
- fi
- fi
- elif test "$linkmode" = prog; then
- # Here we assume that one of hardcode_direct or hardcode_minus_L
- # is not unsupported. This is valid on all known static and
- # shared platforms.
- if test "$hardcode_direct" != unsupported; then
- test -n "$old_library" && linklib="$old_library"
- compile_deplibs="$dir/$linklib $compile_deplibs"
- finalize_deplibs="$dir/$linklib $finalize_deplibs"
- else
- compile_deplibs="-l$name -L$dir $compile_deplibs"
- finalize_deplibs="-l$name -L$dir $finalize_deplibs"
- fi
- elif test "$build_libtool_libs" = yes; then
- # Not a shared library
- if test "$deplibs_check_method" != pass_all; then
- # We're trying link a shared library against a static one
- # but the system doesn't support it.
-
- # Just print a warning and add the library to dependency_libs so
- # that the program can be linked against the static library.
- $echo
- $echo "*** Warning: This system can not link to static lib archive $lib."
- $echo "*** I have the capability to make that library automatically link in when"
- $echo "*** you link to this library. But I can only do this if you have a"
- $echo "*** shared version of the library, which you do not appear to have."
- if test "$module" = yes; then
- $echo "*** But as you try to build a module library, libtool will still create "
- $echo "*** a static module, that should work as long as the dlopening application"
- $echo "*** is linked with the -dlopen flag to resolve symbols at runtime."
- if test -z "$global_symbol_pipe"; then
- $echo
- $echo "*** However, this would only work if libtool was able to extract symbol"
- $echo "*** lists from a program, using \`nm' or equivalent, but libtool could"
- $echo "*** not find such a program. So, this module is probably useless."
- $echo "*** \`nm' from GNU binutils and a full rebuild may help."
- fi
- if test "$build_old_libs" = no; then
- build_libtool_libs=module
- build_old_libs=yes
- else
- build_libtool_libs=no
- fi
- fi
- else
- deplibs="$dir/$old_library $deplibs"
- link_static=yes
- fi
- fi # link shared/static library?
-
- if test "$linkmode" = lib; then
- if test -n "$dependency_libs" &&
- { test "$hardcode_into_libs" != yes ||
- test "$build_old_libs" = yes ||
- test "$link_static" = yes; }; then
- # Extract -R from dependency_libs
- temp_deplibs=
- for libdir in $dependency_libs; do
- case $libdir in
- -R*) temp_xrpath=`$echo "X$libdir" | $Xsed -e 's/^-R//'`
- case " $xrpath " in
- *" $temp_xrpath "*) ;;
- *) xrpath="$xrpath $temp_xrpath";;
- esac;;
- *) temp_deplibs="$temp_deplibs $libdir";;
- esac
- done
- dependency_libs="$temp_deplibs"
- fi
-
- newlib_search_path="$newlib_search_path $absdir"
- # Link against this library
- test "$link_static" = no && newdependency_libs="$abs_ladir/$laname $newdependency_libs"
- # ... and its dependency_libs
- tmp_libs=
- for deplib in $dependency_libs; do
- newdependency_libs="$deplib $newdependency_libs"
- if test "X$duplicate_deps" = "Xyes" ; then
- case "$tmp_libs " in
- *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
- esac
- fi
- tmp_libs="$tmp_libs $deplib"
- done
-
- if test "$link_all_deplibs" != no; then
- # Add the search paths of all dependency libraries
- for deplib in $dependency_libs; do
- case $deplib in
- -L*) path="$deplib" ;;
- *.la)
- dir=`$echo "X$deplib" | $Xsed -e 's%/[^/]*$%%'`
- test "X$dir" = "X$deplib" && dir="."
- # We need an absolute path.
- case $dir in
- [\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;;
- *)
- absdir=`cd "$dir" && pwd`
- if test -z "$absdir"; then
- $echo "$modename: warning: cannot determine absolute directory name of \`$dir'" 1>&2
- absdir="$dir"
- fi
- ;;
- esac
- if grep "^installed=no" $deplib > /dev/null; then
- path="$absdir/$objdir"
- else
- eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
- if test -z "$libdir"; then
- $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2
- exit $EXIT_FAILURE
- fi
- if test "$absdir" != "$libdir"; then
- $echo "$modename: warning: \`$deplib' seems to be moved" 1>&2
- fi
- path="$absdir"
- fi
- depdepl=
- case $host in
- *-*-darwin*)
- # we do not want to link against static libs,
- # but need to link against shared
- eval deplibrary_names=`${SED} -n -e 's/^library_names=\(.*\)$/\1/p' $deplib`
- eval deplibdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
- if test -n "$deplibrary_names" ; then
- for tmp in $deplibrary_names ; do
- depdepl=$tmp
- done
- if test -f "$deplibdir/$depdepl" ; then
- depdepl="$deplibdir/$depdepl"
- elif test -f "$path/$depdepl" ; then
- depdepl="$path/$depdepl"
- else
- # Can't find it, oh well...
- depdepl=
- fi
- # do not add paths which are already there
- case " $newlib_search_path " in
- *" $path "*) ;;
- *) newlib_search_path="$newlib_search_path $path";;
- esac
- fi
- path=""
- ;;
- *)
- path="-L$path"
- ;;
- esac
- ;;
- -l*)
- case $host in
- *-*-darwin*)
- # Again, we only want to link against shared libraries
- eval tmp_libs=`$echo "X$deplib" | $Xsed -e "s,^\-l,,"`
- for tmp in $newlib_search_path ; do
- if test -f "$tmp/lib$tmp_libs.dylib" ; then
- eval depdepl="$tmp/lib$tmp_libs.dylib"
- break
- fi
- done
- path=""
- ;;
- *) continue ;;
- esac
- ;;
- *) continue ;;
- esac
- case " $deplibs " in
- *" $path "*) ;;
- *) deplibs="$path $deplibs" ;;
- esac
- case " $deplibs " in
- *" $depdepl "*) ;;
- *) deplibs="$depdepl $deplibs" ;;
- esac
- done
- fi # link_all_deplibs != no
- fi # linkmode = lib
- done # for deplib in $libs
- dependency_libs="$newdependency_libs"
- if test "$pass" = dlpreopen; then
- # Link the dlpreopened libraries before other libraries
- for deplib in $save_deplibs; do
- deplibs="$deplib $deplibs"
- done
- fi
- if test "$pass" != dlopen; then
- if test "$pass" != conv; then
- # Make sure lib_search_path contains only unique directories.
- lib_search_path=
- for dir in $newlib_search_path; do
- case "$lib_search_path " in
- *" $dir "*) ;;
- *) lib_search_path="$lib_search_path $dir" ;;
- esac
- done
- newlib_search_path=
- fi
-
- if test "$linkmode,$pass" != "prog,link"; then
- vars="deplibs"
- else
- vars="compile_deplibs finalize_deplibs"
- fi
- for var in $vars dependency_libs; do
- # Add libraries to $var in reverse order
- eval tmp_libs=\"\$$var\"
- new_libs=
- for deplib in $tmp_libs; do
- # FIXME: Pedantically, this is the right thing to do, so
- # that some nasty dependency loop isn't accidentally
- # broken:
- #new_libs="$deplib $new_libs"
- # Pragmatically, this seems to cause very few problems in
- # practice:
- case $deplib in
- -L*) new_libs="$deplib $new_libs" ;;
- -R*) ;;
- *)
- # And here is the reason: when a library appears more
- # than once as an explicit dependence of a library, or
- # is implicitly linked in more than once by the
- # compiler, it is considered special, and multiple
- # occurrences thereof are not removed. Compare this
- # with having the same library being listed as a
- # dependency of multiple other libraries: in this case,
- # we know (pedantically, we assume) the library does not
- # need to be listed more than once, so we keep only the
- # last copy. This is not always right, but it is rare
- # enough that we require users that really mean to play
- # such unportable linking tricks to link the library
- # using -Wl,-lname, so that libtool does not consider it
- # for duplicate removal.
- case " $specialdeplibs " in
- *" $deplib "*) new_libs="$deplib $new_libs" ;;
- *)
- case " $new_libs " in
- *" $deplib "*) ;;
- *) new_libs="$deplib $new_libs" ;;
- esac
- ;;
- esac
- ;;
- esac
- done
- tmp_libs=
- for deplib in $new_libs; do
- case $deplib in
- -L*)
- case " $tmp_libs " in
- *" $deplib "*) ;;
- *) tmp_libs="$tmp_libs $deplib" ;;
- esac
- ;;
- *) tmp_libs="$tmp_libs $deplib" ;;
- esac
- done
- eval $var=\"$tmp_libs\"
- done # for var
- fi
- # Last step: remove runtime libs from dependency_libs
- # (they stay in deplibs)
- tmp_libs=
- for i in $dependency_libs ; do
- case " $predeps $postdeps $compiler_lib_search_path " in
- *" $i "*)
- i=""
- ;;
- esac
- if test -n "$i" ; then
- tmp_libs="$tmp_libs $i"
- fi
- done
- dependency_libs=$tmp_libs
- done # for pass
- if test "$linkmode" = prog; then
- dlfiles="$newdlfiles"
- dlprefiles="$newdlprefiles"
- fi
-
- case $linkmode in
- oldlib)
- case " $deplibs" in
- *\ -l* | *\ -L*)
- $echo "$modename: warning: \`-l' and \`-L' are ignored for archives" 1>&2 ;;
- esac
-
- if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
- $echo "$modename: warning: \`-dlopen' is ignored for archives" 1>&2
- fi
-
- if test -n "$rpath"; then
- $echo "$modename: warning: \`-rpath' is ignored for archives" 1>&2
- fi
-
- if test -n "$xrpath"; then
- $echo "$modename: warning: \`-R' is ignored for archives" 1>&2
- fi
-
- if test -n "$vinfo"; then
- $echo "$modename: warning: \`-version-info/-version-number' is ignored for archives" 1>&2
- fi
-
- if test -n "$release"; then
- $echo "$modename: warning: \`-release' is ignored for archives" 1>&2
- fi
-
- if test -n "$export_symbols" || test -n "$export_symbols_regex"; then
- $echo "$modename: warning: \`-export-symbols' is ignored for archives" 1>&2
- fi
-
- # Now set the variables for building old libraries.
- build_libtool_libs=no
- oldlibs="$output"
- objs="$objs$old_deplibs"
- ;;
-
- lib)
- # Make sure we only generate libraries of the form `libNAME.la'.
- case $outputname in
- lib*)
- name=`$echo "X$outputname" | $Xsed -e 's/\.la$//' -e 's/^lib//'`
- eval shared_ext=\"$shrext_cmds\"
- eval libname=\"$libname_spec\"
- ;;
- *)
- if test "$module" = no; then
- $echo "$modename: libtool library \`$output' must begin with \`lib'" 1>&2
- $echo "$help" 1>&2
- exit $EXIT_FAILURE
- fi
- if test "$need_lib_prefix" != no; then
- # Add the "lib" prefix for modules if required
- name=`$echo "X$outputname" | $Xsed -e 's/\.la$//'`
- eval shared_ext=\"$shrext_cmds\"
- eval libname=\"$libname_spec\"
- else
- libname=`$echo "X$outputname" | $Xsed -e 's/\.la$//'`
- fi
- ;;
- esac
-
- if test -n "$objs"; then
- if test "$deplibs_check_method" != pass_all; then
- $echo "$modename: cannot build libtool library \`$output' from non-libtool objects on this host:$objs" 2>&1
- exit $EXIT_FAILURE
- else
- $echo
- $echo "*** Warning: Linking the shared library $output against the non-libtool"
- $echo "*** objects $objs is not portable!"
- libobjs="$libobjs $objs"
- fi
- fi
-
- if test "$dlself" != no; then
- $echo "$modename: warning: \`-dlopen self' is ignored for libtool libraries" 1>&2
- fi
-
- set dummy $rpath
- if test "$#" -gt 2; then
- $echo "$modename: warning: ignoring multiple \`-rpath's for a libtool library" 1>&2
- fi
- install_libdir="$2"
-
- oldlibs=
- if test -z "$rpath"; then
- if test "$build_libtool_libs" = yes; then
- # Building a libtool convenience library.
- # Some compilers have problems with a `.al' extension so
- # convenience libraries should have the same extension an
- # archive normally would.
- oldlibs="$output_objdir/$libname.$libext $oldlibs"
- build_libtool_libs=convenience
- build_old_libs=yes
- fi
-
- if test -n "$vinfo"; then
- $echo "$modename: warning: \`-version-info/-version-number' is ignored for convenience libraries" 1>&2
- fi
-
- if test -n "$release"; then
- $echo "$modename: warning: \`-release' is ignored for convenience libraries" 1>&2
- fi
- else
-
- # Parse the version information argument.
- save_ifs="$IFS"; IFS=':'
- set dummy $vinfo 0 0 0
- IFS="$save_ifs"
-
- if test -n "$8"; then
- $echo "$modename: too many parameters to \`-version-info'" 1>&2
- $echo "$help" 1>&2
- exit $EXIT_FAILURE
- fi
-
- # convert absolute version numbers to libtool ages
- # this retains compatibility with .la files and attempts
- # to make the code below a bit more comprehensible
-
- case $vinfo_number in
- yes)
- number_major="$2"
- number_minor="$3"
- number_revision="$4"
- #
- # There are really only two kinds -- those that
- # use the current revision as the major version
- # and those that subtract age and use age as
- # a minor version. But, then there is irix
- # which has an extra 1 added just for fun
- #
- case $version_type in
- darwin|linux|osf|windows|none)
- current=`expr $number_major + $number_minor`
- age="$number_minor"
- revision="$number_revision"
- ;;
- freebsd-aout|freebsd-elf|sunos)
- current="$number_major"
- revision="$number_minor"
- age="0"
- ;;
- irix|nonstopux)
- current=`expr $number_major + $number_minor`
- age="$number_minor"
- revision="$number_minor"
- lt_irix_increment=no
- ;;
- esac
- ;;
- no)
- current="$2"
- revision="$3"
- age="$4"
- ;;
- esac
-
- # Check that each of the things are valid numbers.
- case $current in
- 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
- *)
- $echo "$modename: CURRENT \`$current' must be a nonnegative integer" 1>&2
- $echo "$modename: \`$vinfo' is not valid version information" 1>&2
- exit $EXIT_FAILURE
- ;;
- esac
-
- case $revision in
- 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
- *)
- $echo "$modename: REVISION \`$revision' must be a nonnegative integer" 1>&2
- $echo "$modename: \`$vinfo' is not valid version information" 1>&2
- exit $EXIT_FAILURE
- ;;
- esac
-
- case $age in
- 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
- *)
- $echo "$modename: AGE \`$age' must be a nonnegative integer" 1>&2
- $echo "$modename: \`$vinfo' is not valid version information" 1>&2
- exit $EXIT_FAILURE
- ;;
- esac
-
- if test "$age" -gt "$current"; then
- $echo "$modename: AGE \`$age' is greater than the current interface number \`$current'" 1>&2
- $echo "$modename: \`$vinfo' is not valid version information" 1>&2
- exit $EXIT_FAILURE
- fi
-
- # Calculate the version variables.
- major=
- versuffix=
- verstring=
- case $version_type in
- none) ;;
-
- darwin)
- # Like Linux, but with the current version available in
- # verstring for coding it into the library header
- major=.`expr $current - $age`
- versuffix="$major.$age.$revision"
- # Darwin ld doesn't like 0 for these options...
- minor_current=`expr $current + 1`
- xlcverstring="${wl}-compatibility_version ${wl}$minor_current ${wl}-current_version ${wl}$minor_current.$revision"
- verstring="-compatibility_version $minor_current -current_version $minor_current.$revision"
- ;;
-
- freebsd-aout)
- major=".$current"
- versuffix=".$current.$revision";
- ;;
-
- freebsd-elf)
- major=".$current"
- versuffix=".$current";
- ;;
-
- irix | nonstopux)
- if test "X$lt_irix_increment" = "Xno"; then
- major=`expr $current - $age`
- else
- major=`expr $current - $age + 1`
- fi
- case $version_type in
- nonstopux) verstring_prefix=nonstopux ;;
- *) verstring_prefix=sgi ;;
- esac
- verstring="$verstring_prefix$major.$revision"
-
- # Add in all the interfaces that we are compatible with.
- loop=$revision
- while test "$loop" -ne 0; do
- iface=`expr $revision - $loop`
- loop=`expr $loop - 1`
- verstring="$verstring_prefix$major.$iface:$verstring"
- done
-
- # Before this point, $major must not contain `.'.
- major=.$major
- versuffix="$major.$revision"
- ;;
-
- linux)
- major=.`expr $current - $age`
- versuffix="$major.$age.$revision"
- ;;
-
- osf)
- major=.`expr $current - $age`
- versuffix=".$current.$age.$revision"
- verstring="$current.$age.$revision"
-
- # Add in all the interfaces that we are compatible with.
- loop=$age
- while test "$loop" -ne 0; do
- iface=`expr $current - $loop`
- loop=`expr $loop - 1`
- verstring="$verstring:${iface}.0"
- done
-
- # Make executables depend on our current version.
- verstring="$verstring:${current}.0"
- ;;
-
- sunos)
- major=".$current"
- versuffix=".$current.$revision"
- ;;
-
- windows)
- # Use '-' rather than '.', since we only want one
- # extension on DOS 8.3 filesystems.
- major=`expr $current - $age`
- versuffix="-$major"
- ;;
-
- *)
- $echo "$modename: unknown library version type \`$version_type'" 1>&2
- $echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2
- exit $EXIT_FAILURE
- ;;
- esac
-
- # Clear the version info if we defaulted, and they specified a release.
- if test -z "$vinfo" && test -n "$release"; then
- major=
- case $version_type in
- darwin)
- # we can't check for "0.0" in archive_cmds due to quoting
- # problems, so we reset it completely
- verstring=
- ;;
- *)
- verstring="0.0"
- ;;
- esac
- if test "$need_version" = no; then
- versuffix=
- else
- versuffix=".0.0"
- fi
- fi
-
- # Remove version info from name if versioning should be avoided
- if test "$avoid_version" = yes && test "$need_version" = no; then
- major=
- versuffix=
- verstring=""
- fi
-
- # Check to see if the archive will have undefined symbols.
- if test "$allow_undefined" = yes; then
- if test "$allow_undefined_flag" = unsupported; then
- $echo "$modename: warning: undefined symbols not allowed in $host shared libraries" 1>&2
- build_libtool_libs=no
- build_old_libs=yes
- fi
- else
- # Don't allow undefined symbols.
- allow_undefined_flag="$no_undefined_flag"
- fi
- fi
-
- if test "$mode" != relink; then
- # Remove our outputs, but don't remove object files since they
- # may have been created when compiling PIC objects.
- removelist=
- tempremovelist=`$echo "$output_objdir/*"`
- for p in $tempremovelist; do
- case $p in
- *.$objext)
- ;;
- $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/${libname}${release}.*)
- if test "X$precious_files_regex" != "X"; then
- if echo $p | $EGREP -e "$precious_files_regex" >/dev/null 2>&1
- then
- continue
- fi
- fi
- removelist="$removelist $p"
- ;;
- *) ;;
- esac
- done
- if test -n "$removelist"; then
- $show "${rm}r $removelist"
- $run ${rm}r $removelist
- fi
- fi
-
- # Now set the variables for building old libraries.
- if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then
- oldlibs="$oldlibs $output_objdir/$libname.$libext"
-
- # Transform .lo files to .o files.
- oldobjs="$objs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e "$lo2o" | $NL2SP`
- fi
-
- # Eliminate all temporary directories.
- #for path in $notinst_path; do
- # lib_search_path=`$echo "$lib_search_path " | ${SED} -e "s% $path % %g"`
- # deplibs=`$echo "$deplibs " | ${SED} -e "s% -L$path % %g"`
- # dependency_libs=`$echo "$dependency_libs " | ${SED} -e "s% -L$path % %g"`
- #done
-
- if test -n "$xrpath"; then
- # If the user specified any rpath flags, then add them.
- temp_xrpath=
- for libdir in $xrpath; do
- temp_xrpath="$temp_xrpath -R$libdir"
- case "$finalize_rpath " in
- *" $libdir "*) ;;
- *) finalize_rpath="$finalize_rpath $libdir" ;;
- esac
- done
- if test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes; then
- dependency_libs="$temp_xrpath $dependency_libs"
- fi
- fi
-
- # Make sure dlfiles contains only unique files that won't be dlpreopened
- old_dlfiles="$dlfiles"
- dlfiles=
- for lib in $old_dlfiles; do
- case " $dlprefiles $dlfiles " in
- *" $lib "*) ;;
- *) dlfiles="$dlfiles $lib" ;;
- esac
- done
-
- # Make sure dlprefiles contains only unique files
- old_dlprefiles="$dlprefiles"
- dlprefiles=
- for lib in $old_dlprefiles; do
- case "$dlprefiles " in
- *" $lib "*) ;;
- *) dlprefiles="$dlprefiles $lib" ;;
- esac
- done
-
- if test "$build_libtool_libs" = yes; then
- if test -n "$rpath"; then
- case $host in
- *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos*)
- # these systems don't actually have a c library (as such)!
- ;;
- *-*-rhapsody* | *-*-darwin1.[012])
- # Rhapsody C library is in the System framework
- deplibs="$deplibs -framework System"
- ;;
- *-*-netbsd*)
- # Don't link with libc until the a.out ld.so is fixed.
- ;;
- *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
- # Do not include libc due to us having libc/libc_r.
- ;;
- *-*-sco3.2v5* | *-*-sco5v6*)
- # Causes problems with __ctype
- ;;
- *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*)
- # Compiler inserts libc in the correct place for threads to work
- ;;
- *)
- # Add libc to deplibs on all other systems if necessary.
- if test "$build_libtool_need_lc" = "yes"; then
- deplibs="$deplibs -lc"
- fi
- ;;
- esac
- fi
-
- # Transform deplibs into only deplibs that can be linked in shared.
- name_save=$name
- libname_save=$libname
- release_save=$release
- versuffix_save=$versuffix
- major_save=$major
- # I'm not sure if I'm treating the release correctly. I think
- # release should show up in the -l (ie -lgmp5) so we don't want to
- # add it in twice. Is that correct?
- release=""
- versuffix=""
- major=""
- newdeplibs=
- droppeddeps=no
- case $deplibs_check_method in
- pass_all)
- # Don't check for shared/static. Everything works.
- # This might be a little naive. We might want to check
- # whether the library exists or not. But this is on
- # osf3 & osf4 and I'm not really sure... Just
- # implementing what was already the behavior.
- newdeplibs=$deplibs
- ;;
- test_compile)
- # This code stresses the "libraries are programs" paradigm to its
- # limits. Maybe even breaks it. We compile a program, linking it
- # against the deplibs as a proxy for the library. Then we can check
- # whether they linked in statically or dynamically with ldd.
- $rm conftest.c
- cat > conftest.c <<EOF
- int main() { return 0; }
-EOF
- $rm conftest
- if $LTCC $LTCFLAGS -o conftest conftest.c $deplibs; then
- ldd_output=`ldd conftest`
- for i in $deplibs; do
- name=`expr $i : '-l\(.*\)'`
- # If $name is empty we are operating on a -L argument.
- if test "$name" != "" && test "$name" != "0"; then
- if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
- case " $predeps $postdeps " in
- *" $i "*)
- newdeplibs="$newdeplibs $i"
- i=""
- ;;
- esac
- fi
- if test -n "$i" ; then
- libname=`eval \\$echo \"$libname_spec\"`
- deplib_matches=`eval \\$echo \"$library_names_spec\"`
- set dummy $deplib_matches
- deplib_match=$2
- if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
- newdeplibs="$newdeplibs $i"
- else
- droppeddeps=yes
- $echo
- $echo "*** Warning: dynamic linker does not accept needed library $i."
- $echo "*** I have the capability to make that library automatically link in when"
- $echo "*** you link to this library. But I can only do this if you have a"
- $echo "*** shared version of the library, which I believe you do not have"
- $echo "*** because a test_compile did reveal that the linker did not use it for"
- $echo "*** its dynamic dependency list that programs get resolved with at runtime."
- fi
- fi
- else
- newdeplibs="$newdeplibs $i"
- fi
- done
- else
- # Error occurred in the first compile. Let's try to salvage
- # the situation: Compile a separate program for each library.
- for i in $deplibs; do
- name=`expr $i : '-l\(.*\)'`
- # If $name is empty we are operating on a -L argument.
- if test "$name" != "" && test "$name" != "0"; then
- $rm conftest
- if $LTCC $LTCFLAGS -o conftest conftest.c $i; then
- ldd_output=`ldd conftest`
- if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
- case " $predeps $postdeps " in
- *" $i "*)
- newdeplibs="$newdeplibs $i"
- i=""
- ;;
- esac
- fi
- if test -n "$i" ; then
- libname=`eval \\$echo \"$libname_spec\"`
- deplib_matches=`eval \\$echo \"$library_names_spec\"`
- set dummy $deplib_matches
- deplib_match=$2
- if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
- newdeplibs="$newdeplibs $i"
- else
- droppeddeps=yes
- $echo
- $echo "*** Warning: dynamic linker does not accept needed library $i."
- $echo "*** I have the capability to make that library automatically link in when"
- $echo "*** you link to this library. But I can only do this if you have a"
- $echo "*** shared version of the library, which you do not appear to have"
- $echo "*** because a test_compile did reveal that the linker did not use this one"
- $echo "*** as a dynamic dependency that programs can get resolved with at runtime."
- fi
- fi
- else
- droppeddeps=yes
- $echo
- $echo "*** Warning! Library $i is needed by this library but I was not able to"
- $echo "*** make it link in! You will probably need to install it or some"
- $echo "*** library that it depends on before this library will be fully"
- $echo "*** functional. Installing it before continuing would be even better."
- fi
- else
- newdeplibs="$newdeplibs $i"
- fi
- done
- fi
- ;;
- file_magic*)
- set dummy $deplibs_check_method
- file_magic_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"`
- for a_deplib in $deplibs; do
- name=`expr $a_deplib : '-l\(.*\)'`
- # If $name is empty we are operating on a -L argument.
- if test "$name" != "" && test "$name" != "0"; then
- if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
- case " $predeps $postdeps " in
- *" $a_deplib "*)
- newdeplibs="$newdeplibs $a_deplib"
- a_deplib=""
- ;;
- esac
- fi
- if test -n "$a_deplib" ; then
- libname=`eval \\$echo \"$libname_spec\"`
- for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
- potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
- for potent_lib in $potential_libs; do
- # Follow soft links.
- if ls -lLd "$potent_lib" 2>/dev/null \
- | grep " -> " >/dev/null; then
- continue
- fi
- # The statement above tries to avoid entering an
- # endless loop below, in case of cyclic links.
- # We might still enter an endless loop, since a link
- # loop can be closed while we follow links,
- # but so what?
- potlib="$potent_lib"
- while test -h "$potlib" 2>/dev/null; do
- potliblink=`ls -ld $potlib | ${SED} 's/.* -> //'`
- case $potliblink in
- [\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";;
- *) potlib=`$echo "X$potlib" | $Xsed -e 's,[^/]*$,,'`"$potliblink";;
- esac
- done
- if eval $file_magic_cmd \"\$potlib\" 2>/dev/null \
- | ${SED} 10q \
- | $EGREP "$file_magic_regex" > /dev/null; then
- newdeplibs="$newdeplibs $a_deplib"
- a_deplib=""
- break 2
- fi
- done
- done
- fi
- if test -n "$a_deplib" ; then
- droppeddeps=yes
- $echo
- $echo "*** Warning: linker path does not have real file for library $a_deplib."
- $echo "*** I have the capability to make that library automatically link in when"
- $echo "*** you link to this library. But I can only do this if you have a"
- $echo "*** shared version of the library, which you do not appear to have"
- $echo "*** because I did check the linker path looking for a file starting"
- if test -z "$potlib" ; then
- $echo "*** with $libname but no candidates were found. (...for file magic test)"
- else
- $echo "*** with $libname and none of the candidates passed a file format test"
- $echo "*** using a file magic. Last file checked: $potlib"
- fi
- fi
- else
- # Add a -L argument.
- newdeplibs="$newdeplibs $a_deplib"
- fi
- done # Gone through all deplibs.
- ;;
- match_pattern*)
- set dummy $deplibs_check_method
- match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"`
- for a_deplib in $deplibs; do
- name=`expr $a_deplib : '-l\(.*\)'`
- # If $name is empty we are operating on a -L argument.
- if test -n "$name" && test "$name" != "0"; then
- if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
- case " $predeps $postdeps " in
- *" $a_deplib "*)
- newdeplibs="$newdeplibs $a_deplib"
- a_deplib=""
- ;;
- esac
- fi
- if test -n "$a_deplib" ; then
- libname=`eval \\$echo \"$libname_spec\"`
- for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
- potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
- for potent_lib in $potential_libs; do
- potlib="$potent_lib" # see symlink-check above in file_magic test
- if eval $echo \"$potent_lib\" 2>/dev/null \
- | ${SED} 10q \
- | $EGREP "$match_pattern_regex" > /dev/null; then
- newdeplibs="$newdeplibs $a_deplib"
- a_deplib=""
- break 2
- fi
- done
- done
- fi
- if test -n "$a_deplib" ; then
- droppeddeps=yes
- $echo
- $echo "*** Warning: linker path does not have real file for library $a_deplib."
- $echo "*** I have the capability to make that library automatically link in when"
- $echo "*** you link to this library. But I can only do this if you have a"
- $echo "*** shared version of the library, which you do not appear to have"
- $echo "*** because I did check the linker path looking for a file starting"
- if test -z "$potlib" ; then
- $echo "*** with $libname but no candidates were found. (...for regex pattern test)"
- else
- $echo "*** with $libname and none of the candidates passed a file format test"
- $echo "*** using a regex pattern. Last file checked: $potlib"
- fi
- fi
- else
- # Add a -L argument.
- newdeplibs="$newdeplibs $a_deplib"
- fi
- done # Gone through all deplibs.
- ;;
- none | unknown | *)
- newdeplibs=""
- tmp_deplibs=`$echo "X $deplibs" | $Xsed -e 's/ -lc$//' \
- -e 's/ -[LR][^ ]*//g'`
- if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
- for i in $predeps $postdeps ; do
- # can't use Xsed below, because $i might contain '/'
- tmp_deplibs=`$echo "X $tmp_deplibs" | ${SED} -e "1s,^X,," -e "s,$i,,"`
- done
- fi
- if $echo "X $tmp_deplibs" | $Xsed -e 's/[ ]//g' \
- | grep . >/dev/null; then
- $echo
- if test "X$deplibs_check_method" = "Xnone"; then
- $echo "*** Warning: inter-library dependencies are not supported in this platform."
- else
- $echo "*** Warning: inter-library dependencies are not known to be supported."
- fi
- $echo "*** All declared inter-library dependencies are being dropped."
- droppeddeps=yes
- fi
- ;;
- esac
- versuffix=$versuffix_save
- major=$major_save
- release=$release_save
- libname=$libname_save
- name=$name_save
-
- case $host in
- *-*-rhapsody* | *-*-darwin1.[012])
- # On Rhapsody replace the C library is the System framework
- newdeplibs=`$echo "X $newdeplibs" | $Xsed -e 's/ -lc / -framework System /'`
- ;;
- esac
-
- if test "$droppeddeps" = yes; then
- if test "$module" = yes; then
- $echo
- $echo "*** Warning: libtool could not satisfy all declared inter-library"
- $echo "*** dependencies of module $libname. Therefore, libtool will create"
- $echo "*** a static module, that should work as long as the dlopening"
- $echo "*** application is linked with the -dlopen flag."
- if test -z "$global_symbol_pipe"; then
- $echo
- $echo "*** However, this would only work if libtool was able to extract symbol"
- $echo "*** lists from a program, using \`nm' or equivalent, but libtool could"
- $echo "*** not find such a program. So, this module is probably useless."
- $echo "*** \`nm' from GNU binutils and a full rebuild may help."
- fi
- if test "$build_old_libs" = no; then
- oldlibs="$output_objdir/$libname.$libext"
- build_libtool_libs=module
- build_old_libs=yes
- else
- build_libtool_libs=no
- fi
- else
- $echo "*** The inter-library dependencies that have been dropped here will be"
- $echo "*** automatically added whenever a program is linked with this library"
- $echo "*** or is declared to -dlopen it."
-
- if test "$allow_undefined" = no; then
- $echo
- $echo "*** Since this library must not contain undefined symbols,"
- $echo "*** because either the platform does not support them or"
- $echo "*** it was explicitly requested with -no-undefined,"
- $echo "*** libtool will only create a static version of it."
- if test "$build_old_libs" = no; then
- oldlibs="$output_objdir/$libname.$libext"
- build_libtool_libs=module
- build_old_libs=yes
- else
- build_libtool_libs=no
- fi
- fi
- fi
- fi
- # Done checking deplibs!
- deplibs=$newdeplibs
- fi
-
-
- # move library search paths that coincide with paths to not yet
- # installed libraries to the beginning of the library search list
- new_libs=
- for path in $notinst_path; do
- case " $new_libs " in
- *" -L$path/$objdir "*) ;;
- *)
- case " $deplibs " in
- *" -L$path/$objdir "*)
- new_libs="$new_libs -L$path/$objdir" ;;
- esac
- ;;
- esac
- done
- for deplib in $deplibs; do
- case $deplib in
- -L*)
- case " $new_libs " in
- *" $deplib "*) ;;
- *) new_libs="$new_libs $deplib" ;;
- esac
- ;;
- *) new_libs="$new_libs $deplib" ;;
- esac
- done
- deplibs="$new_libs"
-
-
- # All the library-specific variables (install_libdir is set above).
- library_names=
- old_library=
- dlname=
-
- # Test again, we may have decided not to build it any more
- if test "$build_libtool_libs" = yes; then
- if test "$hardcode_into_libs" = yes; then
- # Hardcode the library paths
- hardcode_libdirs=
- dep_rpath=
- rpath="$finalize_rpath"
- test "$mode" != relink && rpath="$compile_rpath$rpath"
- for libdir in $rpath; do
- if test -n "$hardcode_libdir_flag_spec"; then
- if test -n "$hardcode_libdir_separator"; then
- if test -z "$hardcode_libdirs"; then
- hardcode_libdirs="$libdir"
- else
- # Just accumulate the unique libdirs.
- case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
- *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
- ;;
- *)
- hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
- ;;
- esac
- fi
- else
- eval flag=\"$hardcode_libdir_flag_spec\"
- dep_rpath="$dep_rpath $flag"
- fi
- elif test -n "$runpath_var"; then
- case "$perm_rpath " in
- *" $libdir "*) ;;
- *) perm_rpath="$perm_rpath $libdir" ;;
- esac
- fi
- done
- # Substitute the hardcoded libdirs into the rpath.
- if test -n "$hardcode_libdir_separator" &&
- test -n "$hardcode_libdirs"; then
- libdir="$hardcode_libdirs"
- if test -n "$hardcode_libdir_flag_spec_ld"; then
- case $archive_cmds in
- *\$LD*) eval dep_rpath=\"$hardcode_libdir_flag_spec_ld\" ;;
- *) eval dep_rpath=\"$hardcode_libdir_flag_spec\" ;;
- esac
- else
- eval dep_rpath=\"$hardcode_libdir_flag_spec\"
- fi
- fi
- if test -n "$runpath_var" && test -n "$perm_rpath"; then
- # We should set the runpath_var.
- rpath=
- for dir in $perm_rpath; do
- rpath="$rpath$dir:"
- done
- eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var"
- fi
- test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs"
- fi
-
- shlibpath="$finalize_shlibpath"
- test "$mode" != relink && shlibpath="$compile_shlibpath$shlibpath"
- if test -n "$shlibpath"; then
- eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var"
- fi
-
- # Get the real and link names of the library.
- eval shared_ext=\"$shrext_cmds\"
- eval library_names=\"$library_names_spec\"
- set dummy $library_names
- realname="$2"
- shift; shift
-
- if test -n "$soname_spec"; then
- eval soname=\"$soname_spec\"
- else
- soname="$realname"
- fi
- if test -z "$dlname"; then
- dlname=$soname
- fi
-
- lib="$output_objdir/$realname"
- linknames=
- for link
- do
- linknames="$linknames $link"
- done
-
- # Use standard objects if they are pic
- test -z "$pic_flag" && libobjs=`$echo "X$libobjs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
-
- # Prepare the list of exported symbols
- if test -z "$export_symbols"; then
- if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then
- $show "generating symbol list for \`$libname.la'"
- export_symbols="$output_objdir/$libname.exp"
- $run $rm $export_symbols
- cmds=$export_symbols_cmds
- save_ifs="$IFS"; IFS='~'
- for cmd in $cmds; do
- IFS="$save_ifs"
- eval cmd=\"$cmd\"
- if len=`expr "X$cmd" : ".*"` &&
- test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then
- $show "$cmd"
- $run eval "$cmd" || exit $?
- skipped_export=false
- else
- # The command line is too long to execute in one step.
- $show "using reloadable object file for export list..."
- skipped_export=:
- # Break out early, otherwise skipped_export may be
- # set to false by a later but shorter cmd.
- break
- fi
- done
- IFS="$save_ifs"
- if test -n "$export_symbols_regex"; then
- $show "$EGREP -e \"$export_symbols_regex\" \"$export_symbols\" > \"${export_symbols}T\""
- $run eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
- $show "$mv \"${export_symbols}T\" \"$export_symbols\""
- $run eval '$mv "${export_symbols}T" "$export_symbols"'
- fi
- fi
- fi
-
- if test -n "$export_symbols" && test -n "$include_expsyms"; then
- $run eval '$echo "X$include_expsyms" | $SP2NL >> "$export_symbols"'
- fi
-
- tmp_deplibs=
- for test_deplib in $deplibs; do
- case " $convenience " in
- *" $test_deplib "*) ;;
- *)
- tmp_deplibs="$tmp_deplibs $test_deplib"
- ;;
- esac
- done
- deplibs="$tmp_deplibs"
-
- if test -n "$convenience"; then
- if test -n "$whole_archive_flag_spec"; then
- save_libobjs=$libobjs
- eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
- else
- gentop="$output_objdir/${outputname}x"
- generated="$generated $gentop"
-
- func_extract_archives $gentop $convenience
- libobjs="$libobjs $func_extract_archives_result"
- fi
- fi
-
- if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then
- eval flag=\"$thread_safe_flag_spec\"
- linker_flags="$linker_flags $flag"
- fi
-
- # Make a backup of the uninstalled library when relinking
- if test "$mode" = relink; then
- $run eval '(cd $output_objdir && $rm ${realname}U && $mv $realname ${realname}U)' || exit $?
- fi
-
- # Do each of the archive commands.
- if test "$module" = yes && test -n "$module_cmds" ; then
- if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then
- eval test_cmds=\"$module_expsym_cmds\"
- cmds=$module_expsym_cmds
- else
- eval test_cmds=\"$module_cmds\"
- cmds=$module_cmds
- fi
- else
- if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
- eval test_cmds=\"$archive_expsym_cmds\"
- cmds=$archive_expsym_cmds
- else
- eval test_cmds=\"$archive_cmds\"
- cmds=$archive_cmds
- fi
- fi
-
- if test "X$skipped_export" != "X:" &&
- len=`expr "X$test_cmds" : ".*" 2>/dev/null` &&
- test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then
- :
- else
- # The command line is too long to link in one step, link piecewise.
- $echo "creating reloadable object files..."
-
- # Save the value of $output and $libobjs because we want to
- # use them later. If we have whole_archive_flag_spec, we
- # want to use save_libobjs as it was before
- # whole_archive_flag_spec was expanded, because we can't
- # assume the linker understands whole_archive_flag_spec.
- # This may have to be revisited, in case too many
- # convenience libraries get linked in and end up exceeding
- # the spec.
- if test -z "$convenience" || test -z "$whole_archive_flag_spec"; then
- save_libobjs=$libobjs
- fi
- save_output=$output
- output_la=`$echo "X$output" | $Xsed -e "$basename"`
-
- # Clear the reloadable object creation command queue and
- # initialize k to one.
- test_cmds=
- concat_cmds=
- objlist=
- delfiles=
- last_robj=
- k=1
- output=$output_objdir/$output_la-${k}.$objext
- # Loop over the list of objects to be linked.
- for obj in $save_libobjs
- do
- eval test_cmds=\"$reload_cmds $objlist $last_robj\"
- if test "X$objlist" = X ||
- { len=`expr "X$test_cmds" : ".*" 2>/dev/null` &&
- test "$len" -le "$max_cmd_len"; }; then
- objlist="$objlist $obj"
- else
- # The command $test_cmds is almost too long, add a
- # command to the queue.
- if test "$k" -eq 1 ; then
- # The first file doesn't have a previous command to add.
- eval concat_cmds=\"$reload_cmds $objlist $last_robj\"
- else
- # All subsequent reloadable object files will link in
- # the last one created.
- eval concat_cmds=\"\$concat_cmds~$reload_cmds $objlist $last_robj\"
- fi
- last_robj=$output_objdir/$output_la-${k}.$objext
- k=`expr $k + 1`
- output=$output_objdir/$output_la-${k}.$objext
- objlist=$obj
- len=1
- fi
- done
- # Handle the remaining objects by creating one last
- # reloadable object file. All subsequent reloadable object
- # files will link in the last one created.
- test -z "$concat_cmds" || concat_cmds=$concat_cmds~
- eval concat_cmds=\"\${concat_cmds}$reload_cmds $objlist $last_robj\"
-
- if ${skipped_export-false}; then
- $show "generating symbol list for \`$libname.la'"
- export_symbols="$output_objdir/$libname.exp"
- $run $rm $export_symbols
- libobjs=$output
- # Append the command to create the export file.
- eval concat_cmds=\"\$concat_cmds~$export_symbols_cmds\"
- fi
-
- # Set up a command to remove the reloadable object files
- # after they are used.
- i=0
- while test "$i" -lt "$k"
- do
- i=`expr $i + 1`
- delfiles="$delfiles $output_objdir/$output_la-${i}.$objext"
- done
-
- $echo "creating a temporary reloadable object file: $output"
-
- # Loop through the commands generated above and execute them.
- save_ifs="$IFS"; IFS='~'
- for cmd in $concat_cmds; do
- IFS="$save_ifs"
- $show "$cmd"
- $run eval "$cmd" || exit $?
- done
- IFS="$save_ifs"
-
- libobjs=$output
- # Restore the value of output.
- output=$save_output
-
- if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then
- eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
- fi
- # Expand the library linking commands again to reset the
- # value of $libobjs for piecewise linking.
-
- # Do each of the archive commands.
- if test "$module" = yes && test -n "$module_cmds" ; then
- if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then
- cmds=$module_expsym_cmds
- else
- cmds=$module_cmds
- fi
- else
- if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
- cmds=$archive_expsym_cmds
- else
- cmds=$archive_cmds
- fi
- fi
-
- # Append the command to remove the reloadable object files
- # to the just-reset $cmds.
- eval cmds=\"\$cmds~\$rm $delfiles\"
- fi
- save_ifs="$IFS"; IFS='~'
- for cmd in $cmds; do
- IFS="$save_ifs"
- eval cmd=\"$cmd\"
- $show "$cmd"
- $run eval "$cmd" || {
- lt_exit=$?
-
- # Restore the uninstalled library and exit
- if test "$mode" = relink; then
- $run eval '(cd $output_objdir && $rm ${realname}T && $mv ${realname}U $realname)'
- fi
-
- exit $lt_exit
- }
- done
- IFS="$save_ifs"
-
- # Restore the uninstalled library and exit
- if test "$mode" = relink; then
- $run eval '(cd $output_objdir && $rm ${realname}T && $mv $realname ${realname}T && $mv "$realname"U $realname)' || exit $?
-
- if test -n "$convenience"; then
- if test -z "$whole_archive_flag_spec"; then
- $show "${rm}r $gentop"
- $run ${rm}r "$gentop"
- fi
- fi
-
- exit $EXIT_SUCCESS
- fi
-
- # Create links to the real library.
- for linkname in $linknames; do
- if test "$realname" != "$linkname"; then
- $show "(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)"
- $run eval '(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)' || exit $?
- fi
- done
-
- # If -module or -export-dynamic was specified, set the dlname.
- if test "$module" = yes || test "$export_dynamic" = yes; then
- # On all known operating systems, these are identical.
- dlname="$soname"
- fi
- fi
- ;;
-
- obj)
- case " $deplibs" in
- *\ -l* | *\ -L*)
- $echo "$modename: warning: \`-l' and \`-L' are ignored for objects" 1>&2 ;;
- esac
-
- if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
- $echo "$modename: warning: \`-dlopen' is ignored for objects" 1>&2
- fi
-
- if test -n "$rpath"; then
- $echo "$modename: warning: \`-rpath' is ignored for objects" 1>&2
- fi
-
- if test -n "$xrpath"; then
- $echo "$modename: warning: \`-R' is ignored for objects" 1>&2
- fi
-
- if test -n "$vinfo"; then
- $echo "$modename: warning: \`-version-info' is ignored for objects" 1>&2
- fi
-
- if test -n "$release"; then
- $echo "$modename: warning: \`-release' is ignored for objects" 1>&2
- fi
-
- case $output in
- *.lo)
- if test -n "$objs$old_deplibs"; then
- $echo "$modename: cannot build library object \`$output' from non-libtool objects" 1>&2
- exit $EXIT_FAILURE
- fi
- libobj="$output"
- obj=`$echo "X$output" | $Xsed -e "$lo2o"`
- ;;
- *)
- libobj=
- obj="$output"
- ;;
- esac
-
- # Delete the old objects.
- $run $rm $obj $libobj
-
- # Objects from convenience libraries. This assumes
- # single-version convenience libraries. Whenever we create
- # different ones for PIC/non-PIC, this we'll have to duplicate
- # the extraction.
- reload_conv_objs=
- gentop=
- # reload_cmds runs $LD directly, so let us get rid of
- # -Wl from whole_archive_flag_spec and hope we can get by with
- # turning comma into space..
- wl=
-
- if test -n "$convenience"; then
- if test -n "$whole_archive_flag_spec"; then
- eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\"
- reload_conv_objs=$reload_objs\ `$echo "X$tmp_whole_archive_flags" | $Xsed -e 's|,| |g'`
- else
- gentop="$output_objdir/${obj}x"
- generated="$generated $gentop"
-
- func_extract_archives $gentop $convenience
- reload_conv_objs="$reload_objs $func_extract_archives_result"
- fi
- fi
-
- # Create the old-style object.
- reload_objs="$objs$old_deplibs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}$'/d' -e '/\.lib$/d' -e "$lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test
-
- output="$obj"
- cmds=$reload_cmds
- save_ifs="$IFS"; IFS='~'
- for cmd in $cmds; do
- IFS="$save_ifs"
- eval cmd=\"$cmd\"
- $show "$cmd"
- $run eval "$cmd" || exit $?
- done
- IFS="$save_ifs"
-
- # Exit if we aren't doing a library object file.
- if test -z "$libobj"; then
- if test -n "$gentop"; then
- $show "${rm}r $gentop"
- $run ${rm}r $gentop
- fi
-
- exit $EXIT_SUCCESS
- fi
-
- if test "$build_libtool_libs" != yes; then
- if test -n "$gentop"; then
- $show "${rm}r $gentop"
- $run ${rm}r $gentop
- fi
-
- # Create an invalid libtool object if no PIC, so that we don't
- # accidentally link it into a program.
- # $show "echo timestamp > $libobj"
- # $run eval "echo timestamp > $libobj" || exit $?
- exit $EXIT_SUCCESS
- fi
-
- if test -n "$pic_flag" || test "$pic_mode" != default; then
- # Only do commands if we really have different PIC objects.
- reload_objs="$libobjs $reload_conv_objs"
- output="$libobj"
- cmds=$reload_cmds
- save_ifs="$IFS"; IFS='~'
- for cmd in $cmds; do
- IFS="$save_ifs"
- eval cmd=\"$cmd\"
- $show "$cmd"
- $run eval "$cmd" || exit $?
- done
- IFS="$save_ifs"
- fi
-
- if test -n "$gentop"; then
- $show "${rm}r $gentop"
- $run ${rm}r $gentop
- fi
-
- exit $EXIT_SUCCESS
- ;;
-
- prog)
- case $host in
- *cygwin*) output=`$echo $output | ${SED} -e 's,.exe$,,;s,$,.exe,'` ;;
- esac
- if test -n "$vinfo"; then
- $echo "$modename: warning: \`-version-info' is ignored for programs" 1>&2
- fi
-
- if test -n "$release"; then
- $echo "$modename: warning: \`-release' is ignored for programs" 1>&2
- fi
-
- if test "$preload" = yes; then
- if test "$dlopen_support" = unknown && test "$dlopen_self" = unknown &&
- test "$dlopen_self_static" = unknown; then
- $echo "$modename: warning: \`AC_LIBTOOL_DLOPEN' not used. Assuming no dlopen support."
- fi
- fi
-
- case $host in
- *-*-rhapsody* | *-*-darwin1.[012])
- # On Rhapsody replace the C library is the System framework
- compile_deplibs=`$echo "X $compile_deplibs" | $Xsed -e 's/ -lc / -framework System /'`
- finalize_deplibs=`$echo "X $finalize_deplibs" | $Xsed -e 's/ -lc / -framework System /'`
- ;;
- esac
-
- case $host in
- *darwin*)
- # Don't allow lazy linking, it breaks C++ global constructors
- if test "$tagname" = CXX ; then
- compile_command="$compile_command ${wl}-bind_at_load"
- finalize_command="$finalize_command ${wl}-bind_at_load"
- fi
- ;;
- esac
-
-
- # move library search paths that coincide with paths to not yet
- # installed libraries to the beginning of the library search list
- new_libs=
- for path in $notinst_path; do
- case " $new_libs " in
- *" -L$path/$objdir "*) ;;
- *)
- case " $compile_deplibs " in
- *" -L$path/$objdir "*)
- new_libs="$new_libs -L$path/$objdir" ;;
- esac
- ;;
- esac
- done
- for deplib in $compile_deplibs; do
- case $deplib in
- -L*)
- case " $new_libs " in
- *" $deplib "*) ;;
- *) new_libs="$new_libs $deplib" ;;
- esac
- ;;
- *) new_libs="$new_libs $deplib" ;;
- esac
- done
- compile_deplibs="$new_libs"
-
-
- compile_command="$compile_command $compile_deplibs"
- finalize_command="$finalize_command $finalize_deplibs"
-
- if test -n "$rpath$xrpath"; then
- # If the user specified any rpath flags, then add them.
- for libdir in $rpath $xrpath; do
- # This is the magic to use -rpath.
- case "$finalize_rpath " in
- *" $libdir "*) ;;
- *) finalize_rpath="$finalize_rpath $libdir" ;;
- esac
- done
- fi
-
- # Now hardcode the library paths
- rpath=
- hardcode_libdirs=
- for libdir in $compile_rpath $finalize_rpath; do
- if test -n "$hardcode_libdir_flag_spec"; then
- if test -n "$hardcode_libdir_separator"; then
- if test -z "$hardcode_libdirs"; then
- hardcode_libdirs="$libdir"
- else
- # Just accumulate the unique libdirs.
- case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
- *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
- ;;
- *)
- hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
- ;;
- esac
- fi
- else
- eval flag=\"$hardcode_libdir_flag_spec\"
- rpath="$rpath $flag"
- fi
- elif test -n "$runpath_var"; then
- case "$perm_rpath " in
- *" $libdir "*) ;;
- *) perm_rpath="$perm_rpath $libdir" ;;
- esac
- fi
- case $host in
- *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
- testbindir=`$echo "X$libdir" | $Xsed -e 's*/lib$*/bin*'`
- case :$dllsearchpath: in
- *":$libdir:"*) ;;
- *) dllsearchpath="$dllsearchpath:$libdir";;
- esac
- case :$dllsearchpath: in
- *":$testbindir:"*) ;;
- *) dllsearchpath="$dllsearchpath:$testbindir";;
- esac
- ;;
- esac
- done
- # Substitute the hardcoded libdirs into the rpath.
- if test -n "$hardcode_libdir_separator" &&
- test -n "$hardcode_libdirs"; then
- libdir="$hardcode_libdirs"
- eval rpath=\" $hardcode_libdir_flag_spec\"
- fi
- compile_rpath="$rpath"
-
- rpath=
- hardcode_libdirs=
- for libdir in $finalize_rpath; do
- if test -n "$hardcode_libdir_flag_spec"; then
- if test -n "$hardcode_libdir_separator"; then
- if test -z "$hardcode_libdirs"; then
- hardcode_libdirs="$libdir"
- else
- # Just accumulate the unique libdirs.
- case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
- *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
- ;;
- *)
- hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
- ;;
- esac
- fi
- else
- eval flag=\"$hardcode_libdir_flag_spec\"
- rpath="$rpath $flag"
- fi
- elif test -n "$runpath_var"; then
- case "$finalize_perm_rpath " in
- *" $libdir "*) ;;
- *) finalize_perm_rpath="$finalize_perm_rpath $libdir" ;;
- esac
- fi
- done
- # Substitute the hardcoded libdirs into the rpath.
- if test -n "$hardcode_libdir_separator" &&
- test -n "$hardcode_libdirs"; then
- libdir="$hardcode_libdirs"
- eval rpath=\" $hardcode_libdir_flag_spec\"
- fi
- finalize_rpath="$rpath"
-
- if test -n "$libobjs" && test "$build_old_libs" = yes; then
- # Transform all the library objects into standard objects.
- compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
- finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
- fi
-
- dlsyms=
- if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
- if test -n "$NM" && test -n "$global_symbol_pipe"; then
- dlsyms="${outputname}S.c"
- else
- $echo "$modename: not configured to extract global symbols from dlpreopened files" 1>&2
- fi
- fi
-
- if test -n "$dlsyms"; then
- case $dlsyms in
- "") ;;
- *.c)
- # Discover the nlist of each of the dlfiles.
- nlist="$output_objdir/${outputname}.nm"
-
- $show "$rm $nlist ${nlist}S ${nlist}T"
- $run $rm "$nlist" "${nlist}S" "${nlist}T"
-
- # Parse the name list into a source file.
- $show "creating $output_objdir/$dlsyms"
-
- test -z "$run" && $echo > "$output_objdir/$dlsyms" "\
-/* $dlsyms - symbol resolution table for \`$outputname' dlsym emulation. */
-/* Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP */
-
-#ifdef __cplusplus
-extern \"C\" {
-#endif
-
-/* Prevent the only kind of declaration conflicts we can make. */
-#define lt_preloaded_symbols some_other_symbol
-
-/* External symbol declarations for the compiler. */\
-"
-
- if test "$dlself" = yes; then
- $show "generating symbol list for \`$output'"
-
- test -z "$run" && $echo ': @PROGRAM@ ' > "$nlist"
-
- # Add our own program objects to the symbol list.
- progfiles=`$echo "X$objs$old_deplibs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
- for arg in $progfiles; do
- $show "extracting global C symbols from \`$arg'"
- $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'"
- done
-
- if test -n "$exclude_expsyms"; then
- $run eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T'
- $run eval '$mv "$nlist"T "$nlist"'
- fi
-
- if test -n "$export_symbols_regex"; then
- $run eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T'
- $run eval '$mv "$nlist"T "$nlist"'
- fi
-
- # Prepare the list of exported symbols
- if test -z "$export_symbols"; then
- export_symbols="$output_objdir/$outputname.exp"
- $run $rm $export_symbols
- $run eval "${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"'
- case $host in
- *cygwin* | *mingw* )
- $run eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
- $run eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"'
- ;;
- esac
- else
- $run eval "${SED} -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"'
- $run eval 'grep -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T'
- $run eval 'mv "$nlist"T "$nlist"'
- case $host in
- *cygwin* | *mingw* )
- $run eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
- $run eval 'cat "$nlist" >> "$output_objdir/$outputname.def"'
- ;;
- esac
- fi
- fi
-
- for arg in $dlprefiles; do
- $show "extracting global C symbols from \`$arg'"
- name=`$echo "$arg" | ${SED} -e 's%^.*/%%'`
- $run eval '$echo ": $name " >> "$nlist"'
- $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'"
- done
-
- if test -z "$run"; then
- # Make sure we have at least an empty file.
- test -f "$nlist" || : > "$nlist"
-
- if test -n "$exclude_expsyms"; then
- $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T
- $mv "$nlist"T "$nlist"
- fi
-
- # Try sorting and uniquifying the output.
- if grep -v "^: " < "$nlist" |
- if sort -k 3 </dev/null >/dev/null 2>&1; then
- sort -k 3
- else
- sort +2
- fi |
- uniq > "$nlist"S; then
- :
- else
- grep -v "^: " < "$nlist" > "$nlist"S
- fi
-
- if test -f "$nlist"S; then
- eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$dlsyms"'
- else
- $echo '/* NONE */' >> "$output_objdir/$dlsyms"
- fi
-
- $echo >> "$output_objdir/$dlsyms" "\
-
-#undef lt_preloaded_symbols
-
-#if defined (__STDC__) && __STDC__
-# define lt_ptr void *
-#else
-# define lt_ptr char *
-# define const
-#endif
-
-/* The mapping between symbol names and symbols. */
-"
-
- case $host in
- *cygwin* | *mingw* )
- $echo >> "$output_objdir/$dlsyms" "\
-/* DATA imports from DLLs on WIN32 can't be const, because
- runtime relocations are performed -- see ld's documentation
- on pseudo-relocs */
-struct {
-"
- ;;
- * )
- $echo >> "$output_objdir/$dlsyms" "\
-const struct {
-"
- ;;
- esac
-
-
- $echo >> "$output_objdir/$dlsyms" "\
- const char *name;
- lt_ptr address;
-}
-lt_preloaded_symbols[] =
-{\
-"
-
- eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$dlsyms"
-
- $echo >> "$output_objdir/$dlsyms" "\
- {0, (lt_ptr) 0}
-};
-
-/* This works around a problem in FreeBSD linker */
-#ifdef FREEBSD_WORKAROUND
-static const void *lt_preloaded_setup() {
- return lt_preloaded_symbols;
-}
-#endif
-
-#ifdef __cplusplus
-}
-#endif\
-"
- fi
-
- pic_flag_for_symtable=
- case $host in
- # compiling the symbol table file with pic_flag works around
- # a FreeBSD bug that causes programs to crash when -lm is
- # linked before any other PIC object. But we must not use
- # pic_flag when linking with -static. The problem exists in
- # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1.
- *-*-freebsd2*|*-*-freebsd3.0*|*-*-freebsdelf3.0*)
- case "$compile_command " in
- *" -static "*) ;;
- *) pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND";;
- esac;;
- *-*-hpux*)
- case "$compile_command " in
- *" -static "*) ;;
- *) pic_flag_for_symtable=" $pic_flag";;
- esac
- esac
-
- # Now compile the dynamic symbol file.
- $show "(cd $output_objdir && $LTCC $LTCFLAGS -c$no_builtin_flag$pic_flag_for_symtable \"$dlsyms\")"
- $run eval '(cd $output_objdir && $LTCC $LTCFLAGS -c$no_builtin_flag$pic_flag_for_symtable "$dlsyms")' || exit $?
-
- # Clean up the generated files.
- $show "$rm $output_objdir/$dlsyms $nlist ${nlist}S ${nlist}T"
- $run $rm "$output_objdir/$dlsyms" "$nlist" "${nlist}S" "${nlist}T"
-
- # Transform the symbol file into the correct name.
- case $host in
- *cygwin* | *mingw* )
- if test -f "$output_objdir/${outputname}.def" ; then
- compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%" | $NL2SP`
- finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%" | $NL2SP`
- else
- compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP`
- finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP`
- fi
- ;;
- * )
- compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP`
- finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP`
- ;;
- esac
- ;;
- *)
- $echo "$modename: unknown suffix for \`$dlsyms'" 1>&2
- exit $EXIT_FAILURE
- ;;
- esac
- else
- # We keep going just in case the user didn't refer to
- # lt_preloaded_symbols. The linker will fail if global_symbol_pipe
- # really was required.
-
- # Nullify the symbol file.
- compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s% @SYMFILE@%%" | $NL2SP`
- finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s% @SYMFILE@%%" | $NL2SP`
- fi
-
- if test "$need_relink" = no || test "$build_libtool_libs" != yes; then
- # Replace the output file specification.
- compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e 's%@OUTPUT@%'"$output"'%g' | $NL2SP`
- link_command="$compile_command$compile_rpath"
-
- # We have no uninstalled library dependencies, so finalize right now.
- $show "$link_command"
- $run eval "$link_command"
- exit_status=$?
-
- # Delete the generated files.
- if test -n "$dlsyms"; then
- $show "$rm $output_objdir/${outputname}S.${objext}"
- $run $rm "$output_objdir/${outputname}S.${objext}"
- fi
-
- exit $exit_status
- fi
-
- if test -n "$shlibpath_var"; then
- # We should set the shlibpath_var
- rpath=
- for dir in $temp_rpath; do
- case $dir in
- [\\/]* | [A-Za-z]:[\\/]*)
- # Absolute path.
- rpath="$rpath$dir:"
- ;;
- *)
- # Relative path: add a thisdir entry.
- rpath="$rpath\$thisdir/$dir:"
- ;;
- esac
- done
- temp_rpath="$rpath"
- fi
-
- if test -n "$compile_shlibpath$finalize_shlibpath"; then
- compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command"
- fi
- if test -n "$finalize_shlibpath"; then
- finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command"
- fi
-
- compile_var=
- finalize_var=
- if test -n "$runpath_var"; then
- if test -n "$perm_rpath"; then
- # We should set the runpath_var.
- rpath=
- for dir in $perm_rpath; do
- rpath="$rpath$dir:"
- done
- compile_var="$runpath_var=\"$rpath\$$runpath_var\" "
- fi
- if test -n "$finalize_perm_rpath"; then
- # We should set the runpath_var.
- rpath=
- for dir in $finalize_perm_rpath; do
- rpath="$rpath$dir:"
- done
- finalize_var="$runpath_var=\"$rpath\$$runpath_var\" "
- fi
- fi
-
- if test "$no_install" = yes; then
- # We don't need to create a wrapper script.
- link_command="$compile_var$compile_command$compile_rpath"
- # Replace the output file specification.
- link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'`
- # Delete the old output file.
- $run $rm $output
- # Link the executable and exit
- $show "$link_command"
- $run eval "$link_command" || exit $?
- exit $EXIT_SUCCESS
- fi
-
- if test "$hardcode_action" = relink; then
- # Fast installation is not supported
- link_command="$compile_var$compile_command$compile_rpath"
- relink_command="$finalize_var$finalize_command$finalize_rpath"
-
- $echo "$modename: warning: this platform does not like uninstalled shared libraries" 1>&2
- $echo "$modename: \`$output' will be relinked during installation" 1>&2
- else
- if test "$fast_install" != no; then
- link_command="$finalize_var$compile_command$finalize_rpath"
- if test "$fast_install" = yes; then
- relink_command=`$echo "X$compile_var$compile_command$compile_rpath" | $SP2NL | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g' | $NL2SP`
- else
- # fast_install is set to needless
- relink_command=
- fi
- else
- link_command="$compile_var$compile_command$compile_rpath"
- relink_command="$finalize_var$finalize_command$finalize_rpath"
- fi
- fi
-
- # Replace the output file specification.
- link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'`
-
- # Delete the old output files.
- $run $rm $output $output_objdir/$outputname $output_objdir/lt-$outputname
-
- $show "$link_command"
- $run eval "$link_command" || exit $?
-
- # Now create the wrapper script.
- $show "creating $output"
-
- # Quote the relink command for shipping.
- if test -n "$relink_command"; then
- # Preserve any variables that may affect compiler behavior
- for var in $variables_saved_for_relink; do
- if eval test -z \"\${$var+set}\"; then
- relink_command="{ test -z \"\${$var+set}\" || unset $var || { $var=; export $var; }; }; $relink_command"
- elif eval var_value=\$$var; test -z "$var_value"; then
- relink_command="$var=; export $var; $relink_command"
- else
- var_value=`$echo "X$var_value" | $Xsed -e "$sed_quote_subst"`
- relink_command="$var=\"$var_value\"; export $var; $relink_command"
- fi
- done
- relink_command="(cd `pwd`; $relink_command)"
- relink_command=`$echo "X$relink_command" | $SP2NL | $Xsed -e "$sed_quote_subst" | $NL2SP`
- fi
-
- # Quote $echo for shipping.
- if test "X$echo" = "X$SHELL $progpath --fallback-echo"; then
- case $progpath in
- [\\/]* | [A-Za-z]:[\\/]*) qecho="$SHELL $progpath --fallback-echo";;
- *) qecho="$SHELL `pwd`/$progpath --fallback-echo";;
- esac
- qecho=`$echo "X$qecho" | $Xsed -e "$sed_quote_subst"`
- else
- qecho=`$echo "X$echo" | $Xsed -e "$sed_quote_subst"`
- fi
-
- # Only actually do things if our run command is non-null.
- if test -z "$run"; then
- # win32 will think the script is a binary if it has
- # a .exe suffix, so we strip it off here.
- case $output in
- *.exe) output=`$echo $output|${SED} 's,.exe$,,'` ;;
- esac
- # test for cygwin because mv fails w/o .exe extensions
- case $host in
- *cygwin*)
- exeext=.exe
- outputname=`$echo $outputname|${SED} 's,.exe$,,'` ;;
- *) exeext= ;;
- esac
- case $host in
- *cygwin* | *mingw* )
- output_name=`basename $output`
- output_path=`dirname $output`
- cwrappersource="$output_path/$objdir/lt-$output_name.c"
- cwrapper="$output_path/$output_name.exe"
- $rm $cwrappersource $cwrapper
- trap "$rm $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15
-
- cat > $cwrappersource <<EOF
-
-/* $cwrappersource - temporary wrapper executable for $objdir/$outputname
- Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP
-
- The $output program cannot be directly executed until all the libtool
- libraries that it depends on are installed.
-
- This wrapper executable should never be moved out of the build directory.
- If it is, it will not operate correctly.
-
- Currently, it simply execs the wrapper *script* "/bin/sh $output",
- but could eventually absorb all of the scripts functionality and
- exec $objdir/$outputname directly.
-*/
-EOF
- cat >> $cwrappersource<<"EOF"
-#include <stdio.h>
-#include <stdlib.h>
-#include <unistd.h>
-#include <malloc.h>
-#include <stdarg.h>
-#include <assert.h>
-#include <string.h>
-#include <ctype.h>
-#include <sys/stat.h>
-
-#if defined(PATH_MAX)
-# define LT_PATHMAX PATH_MAX
-#elif defined(MAXPATHLEN)
-# define LT_PATHMAX MAXPATHLEN
-#else
-# define LT_PATHMAX 1024
-#endif
-
-#ifndef DIR_SEPARATOR
-# define DIR_SEPARATOR '/'
-# define PATH_SEPARATOR ':'
-#endif
-
-#if defined (_WIN32) || defined (__MSDOS__) || defined (__DJGPP__) || \
- defined (__OS2__)
-# define HAVE_DOS_BASED_FILE_SYSTEM
-# ifndef DIR_SEPARATOR_2
-# define DIR_SEPARATOR_2 '\\'
-# endif
-# ifndef PATH_SEPARATOR_2
-# define PATH_SEPARATOR_2 ';'
-# endif
-#endif
-
-#ifndef DIR_SEPARATOR_2
-# define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR)
-#else /* DIR_SEPARATOR_2 */
-# define IS_DIR_SEPARATOR(ch) \
- (((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2))
-#endif /* DIR_SEPARATOR_2 */
-
-#ifndef PATH_SEPARATOR_2
-# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR)
-#else /* PATH_SEPARATOR_2 */
-# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2)
-#endif /* PATH_SEPARATOR_2 */
-
-#define XMALLOC(type, num) ((type *) xmalloc ((num) * sizeof(type)))
-#define XFREE(stale) do { \
- if (stale) { free ((void *) stale); stale = 0; } \
-} while (0)
-
-/* -DDEBUG is fairly common in CFLAGS. */
-#undef DEBUG
-#if defined DEBUGWRAPPER
-# define DEBUG(format, ...) fprintf(stderr, format, __VA_ARGS__)
-#else
-# define DEBUG(format, ...)
-#endif
-
-const char *program_name = NULL;
-
-void * xmalloc (size_t num);
-char * xstrdup (const char *string);
-const char * base_name (const char *name);
-char * find_executable(const char *wrapper);
-int check_executable(const char *path);
-char * strendzap(char *str, const char *pat);
-void lt_fatal (const char *message, ...);
-
-int
-main (int argc, char *argv[])
-{
- char **newargz;
- int i;
-
- program_name = (char *) xstrdup (base_name (argv[0]));
- DEBUG("(main) argv[0] : %s\n",argv[0]);
- DEBUG("(main) program_name : %s\n",program_name);
- newargz = XMALLOC(char *, argc+2);
-EOF
-
- cat >> $cwrappersource <<EOF
- newargz[0] = (char *) xstrdup("$SHELL");
-EOF
-
- cat >> $cwrappersource <<"EOF"
- newargz[1] = find_executable(argv[0]);
- if (newargz[1] == NULL)
- lt_fatal("Couldn't find %s", argv[0]);
- DEBUG("(main) found exe at : %s\n",newargz[1]);
- /* we know the script has the same name, without the .exe */
- /* so make sure newargz[1] doesn't end in .exe */
- strendzap(newargz[1],".exe");
- for (i = 1; i < argc; i++)
- newargz[i+1] = xstrdup(argv[i]);
- newargz[argc+1] = NULL;
-
- for (i=0; i<argc+1; i++)
- {
- DEBUG("(main) newargz[%d] : %s\n",i,newargz[i]);
- ;
- }
-
-EOF
-
- case $host_os in
- mingw*)
- cat >> $cwrappersource <<EOF
- execv("$SHELL",(char const **)newargz);
-EOF
- ;;
- *)
- cat >> $cwrappersource <<EOF
- execv("$SHELL",newargz);
-EOF
- ;;
- esac
-
- cat >> $cwrappersource <<"EOF"
- return 127;
-}
-
-void *
-xmalloc (size_t num)
-{
- void * p = (void *) malloc (num);
- if (!p)
- lt_fatal ("Memory exhausted");
-
- return p;
-}
-
-char *
-xstrdup (const char *string)
-{
- return string ? strcpy ((char *) xmalloc (strlen (string) + 1), string) : NULL
-;
-}
-
-const char *
-base_name (const char *name)
-{
- const char *base;
-
-#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
- /* Skip over the disk name in MSDOS pathnames. */
- if (isalpha ((unsigned char)name[0]) && name[1] == ':')
- name += 2;
-#endif
-
- for (base = name; *name; name++)
- if (IS_DIR_SEPARATOR (*name))
- base = name + 1;
- return base;
-}
-
-int
-check_executable(const char * path)
-{
- struct stat st;
-
- DEBUG("(check_executable) : %s\n", path ? (*path ? path : "EMPTY!") : "NULL!");
- if ((!path) || (!*path))
- return 0;
-
- if ((stat (path, &st) >= 0) &&
- (
- /* MinGW & native WIN32 do not support S_IXOTH or S_IXGRP */
-#if defined (S_IXOTH)
- ((st.st_mode & S_IXOTH) == S_IXOTH) ||
-#endif
-#if defined (S_IXGRP)
- ((st.st_mode & S_IXGRP) == S_IXGRP) ||
-#endif
- ((st.st_mode & S_IXUSR) == S_IXUSR))
- )
- return 1;
- else
- return 0;
-}
-
-/* Searches for the full path of the wrapper. Returns
- newly allocated full path name if found, NULL otherwise */
-char *
-find_executable (const char* wrapper)
-{
- int has_slash = 0;
- const char* p;
- const char* p_next;
- /* static buffer for getcwd */
- char tmp[LT_PATHMAX + 1];
- int tmp_len;
- char* concat_name;
-
- DEBUG("(find_executable) : %s\n", wrapper ? (*wrapper ? wrapper : "EMPTY!") : "NULL!");
-
- if ((wrapper == NULL) || (*wrapper == '\0'))
- return NULL;
-
- /* Absolute path? */
-#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
- if (isalpha ((unsigned char)wrapper[0]) && wrapper[1] == ':')
- {
- concat_name = xstrdup (wrapper);
- if (check_executable(concat_name))
- return concat_name;
- XFREE(concat_name);
- }
- else
- {
-#endif
- if (IS_DIR_SEPARATOR (wrapper[0]))
- {
- concat_name = xstrdup (wrapper);
- if (check_executable(concat_name))
- return concat_name;
- XFREE(concat_name);
- }
-#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
- }
-#endif
-
- for (p = wrapper; *p; p++)
- if (*p == '/')
- {
- has_slash = 1;
- break;
- }
- if (!has_slash)
- {
- /* no slashes; search PATH */
- const char* path = getenv ("PATH");
- if (path != NULL)
- {
- for (p = path; *p; p = p_next)
- {
- const char* q;
- size_t p_len;
- for (q = p; *q; q++)
- if (IS_PATH_SEPARATOR(*q))
- break;
- p_len = q - p;
- p_next = (*q == '\0' ? q : q + 1);
- if (p_len == 0)
- {
- /* empty path: current directory */
- if (getcwd (tmp, LT_PATHMAX) == NULL)
- lt_fatal ("getcwd failed");
- tmp_len = strlen(tmp);
- concat_name = XMALLOC(char, tmp_len + 1 + strlen(wrapper) + 1);
- memcpy (concat_name, tmp, tmp_len);
- concat_name[tmp_len] = '/';
- strcpy (concat_name + tmp_len + 1, wrapper);
- }
- else
- {
- concat_name = XMALLOC(char, p_len + 1 + strlen(wrapper) + 1);
- memcpy (concat_name, p, p_len);
- concat_name[p_len] = '/';
- strcpy (concat_name + p_len + 1, wrapper);
- }
- if (check_executable(concat_name))
- return concat_name;
- XFREE(concat_name);
- }
- }
- /* not found in PATH; assume curdir */
- }
- /* Relative path | not found in path: prepend cwd */
- if (getcwd (tmp, LT_PATHMAX) == NULL)
- lt_fatal ("getcwd failed");
- tmp_len = strlen(tmp);
- concat_name = XMALLOC(char, tmp_len + 1 + strlen(wrapper) + 1);
- memcpy (concat_name, tmp, tmp_len);
- concat_name[tmp_len] = '/';
- strcpy (concat_name + tmp_len + 1, wrapper);
-
- if (check_executable(concat_name))
- return concat_name;
- XFREE(concat_name);
- return NULL;
-}
-
-char *
-strendzap(char *str, const char *pat)
-{
- size_t len, patlen;
-
- assert(str != NULL);
- assert(pat != NULL);
-
- len = strlen(str);
- patlen = strlen(pat);
-
- if (patlen <= len)
- {
- str += len - patlen;
- if (strcmp(str, pat) == 0)
- *str = '\0';
- }
- return str;
-}
-
-static void
-lt_error_core (int exit_status, const char * mode,
- const char * message, va_list ap)
-{
- fprintf (stderr, "%s: %s: ", program_name, mode);
- vfprintf (stderr, message, ap);
- fprintf (stderr, ".\n");
-
- if (exit_status >= 0)
- exit (exit_status);
-}
-
-void
-lt_fatal (const char *message, ...)
-{
- va_list ap;
- va_start (ap, message);
- lt_error_core (EXIT_FAILURE, "FATAL", message, ap);
- va_end (ap);
-}
-EOF
- # we should really use a build-platform specific compiler
- # here, but OTOH, the wrappers (shell script and this C one)
- # are only useful if you want to execute the "real" binary.
- # Since the "real" binary is built for $host, then this
- # wrapper might as well be built for $host, too.
- $run $LTCC $LTCFLAGS -s -o $cwrapper $cwrappersource
- ;;
- esac
- $rm $output
- trap "$rm $output; exit $EXIT_FAILURE" 1 2 15
-
- $echo > $output "\
-#! $SHELL
-
-# $output - temporary wrapper script for $objdir/$outputname
-# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP
-#
-# The $output program cannot be directly executed until all the libtool
-# libraries that it depends on are installed.
-#
-# This wrapper script should never be moved out of the build directory.
-# If it is, it will not operate correctly.
-
-# Sed substitution that helps us do robust quoting. It backslashifies
-# metacharacters that are still active within double-quoted strings.
-Xsed='${SED} -e 1s/^X//'
-sed_quote_subst='$sed_quote_subst'
-
-# Be Bourne compatible (taken from Autoconf:_AS_BOURNE_COMPATIBLE).
-if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then
- emulate sh
- NULLCMD=:
- # Zsh 3.x and 4.x performs word splitting on \${1+\"\$@\"}, which
- # is contrary to our usage. Disable this feature.
- alias -g '\${1+\"\$@\"}'='\"\$@\"'
- setopt NO_GLOB_SUBST
-else
- case \`(set -o) 2>/dev/null\` in *posix*) set -o posix;; esac
-fi
-BIN_SH=xpg4; export BIN_SH # for Tru64
-DUALCASE=1; export DUALCASE # for MKS sh
-
-# The HP-UX ksh and POSIX shell print the target directory to stdout
-# if CDPATH is set.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-relink_command=\"$relink_command\"
-
-# This environment variable determines our operation mode.
-if test \"\$libtool_install_magic\" = \"$magic\"; then
- # install mode needs the following variable:
- notinst_deplibs='$notinst_deplibs'
-else
- # When we are sourced in execute mode, \$file and \$echo are already set.
- if test \"\$libtool_execute_magic\" != \"$magic\"; then
- echo=\"$qecho\"
- file=\"\$0\"
- # Make sure echo works.
- if test \"X\$1\" = X--no-reexec; then
- # Discard the --no-reexec flag, and continue.
- shift
- elif test \"X\`(\$echo '\t') 2>/dev/null\`\" = 'X\t'; then
- # Yippee, \$echo works!
- :
- else
- # Restart under the correct shell, and then maybe \$echo will work.
- exec $SHELL \"\$0\" --no-reexec \${1+\"\$@\"}
- fi
- fi\
-"
- $echo >> $output "\
-
- # Find the directory that this script lives in.
- thisdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*$%%'\`
- test \"x\$thisdir\" = \"x\$file\" && thisdir=.
-
- # Follow symbolic links until we get to the real thisdir.
- file=\`ls -ld \"\$file\" | ${SED} -n 's/.*-> //p'\`
- while test -n \"\$file\"; do
- destdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*\$%%'\`
-
- # If there was a directory component, then change thisdir.
- if test \"x\$destdir\" != \"x\$file\"; then
- case \"\$destdir\" in
- [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;;
- *) thisdir=\"\$thisdir/\$destdir\" ;;
- esac
- fi
-
- file=\`\$echo \"X\$file\" | \$Xsed -e 's%^.*/%%'\`
- file=\`ls -ld \"\$thisdir/\$file\" | ${SED} -n 's/.*-> //p'\`
- done
-
- # Try to get the absolute directory name.
- absdir=\`cd \"\$thisdir\" && pwd\`
- test -n \"\$absdir\" && thisdir=\"\$absdir\"
-"
-
- if test "$fast_install" = yes; then
- $echo >> $output "\
- program=lt-'$outputname'$exeext
- progdir=\"\$thisdir/$objdir\"
-
- if test ! -f \"\$progdir/\$program\" || \\
- { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | ${SED} 1q\`; \\
- test \"X\$file\" != \"X\$progdir/\$program\"; }; then
-
- file=\"\$\$-\$program\"
-
- if test ! -d \"\$progdir\"; then
- $mkdir \"\$progdir\"
- else
- $rm \"\$progdir/\$file\"
- fi"
-
- $echo >> $output "\
-
- # relink executable if necessary
- if test -n \"\$relink_command\"; then
- if relink_command_output=\`eval \$relink_command 2>&1\`; then :
- else
- $echo \"\$relink_command_output\" >&2
- $rm \"\$progdir/\$file\"
- exit $EXIT_FAILURE
- fi
- fi
-
- $mv \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null ||
- { $rm \"\$progdir/\$program\";
- $mv \"\$progdir/\$file\" \"\$progdir/\$program\"; }
- $rm \"\$progdir/\$file\"
- fi"
- else
- $echo >> $output "\
- program='$outputname'
- progdir=\"\$thisdir/$objdir\"
-"
- fi
-
- $echo >> $output "\
-
- if test -f \"\$progdir/\$program\"; then"
-
- # Export our shlibpath_var if we have one.
- if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
- $echo >> $output "\
- # Add our own library path to $shlibpath_var
- $shlibpath_var=\"$temp_rpath\$$shlibpath_var\"
-
- # Some systems cannot cope with colon-terminated $shlibpath_var
- # The second colon is a workaround for a bug in BeOS R4 sed
- $shlibpath_var=\`\$echo \"X\$$shlibpath_var\" | \$Xsed -e 's/::*\$//'\`
-
- export $shlibpath_var
-"
- fi
-
- # fixup the dll searchpath if we need to.
- if test -n "$dllsearchpath"; then
- $echo >> $output "\
- # Add the dll search path components to the executable PATH
- PATH=$dllsearchpath:\$PATH
-"
- fi
-
- $echo >> $output "\
- if test \"\$libtool_execute_magic\" != \"$magic\"; then
- # Run the actual program with our arguments.
-"
- case $host in
- # Backslashes separate directories on plain windows
- *-*-mingw | *-*-os2*)
- $echo >> $output "\
- exec \"\$progdir\\\\\$program\" \${1+\"\$@\"}
-"
- ;;
-
- *)
- $echo >> $output "\
- exec \"\$progdir/\$program\" \${1+\"\$@\"}
-"
- ;;
- esac
- $echo >> $output "\
- \$echo \"\$0: cannot exec \$program \$*\"
- exit $EXIT_FAILURE
- fi
- else
- # The program doesn't exist.
- \$echo \"\$0: error: \\\`\$progdir/\$program' does not exist\" 1>&2
- \$echo \"This script is just a wrapper for \$program.\" 1>&2
- $echo \"See the $PACKAGE documentation for more information.\" 1>&2
- exit $EXIT_FAILURE
- fi
-fi\
-"
- chmod +x $output
- fi
- exit $EXIT_SUCCESS
- ;;
- esac
-
- # See if we need to build an old-fashioned archive.
- for oldlib in $oldlibs; do
-
- if test "$build_libtool_libs" = convenience; then
- oldobjs="$libobjs_save"
- addlibs="$convenience"
- build_libtool_libs=no
- else
- if test "$build_libtool_libs" = module; then
- oldobjs="$libobjs_save"
- build_libtool_libs=no
- else
- oldobjs="$old_deplibs $non_pic_objects"
- fi
- addlibs="$old_convenience"
- fi
-
- if test -n "$addlibs"; then
- gentop="$output_objdir/${outputname}x"
- generated="$generated $gentop"
-
- func_extract_archives $gentop $addlibs
- oldobjs="$oldobjs $func_extract_archives_result"
- fi
-
- # Do each command in the archive commands.
- if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then
- cmds=$old_archive_from_new_cmds
- else
- # POSIX demands no paths to be encoded in archives. We have
- # to avoid creating archives with duplicate basenames if we
- # might have to extract them afterwards, e.g., when creating a
- # static archive out of a convenience library, or when linking
- # the entirety of a libtool archive into another (currently
- # not supported by libtool).
- if (for obj in $oldobjs
- do
- $echo "X$obj" | $Xsed -e 's%^.*/%%'
- done | sort | sort -uc >/dev/null 2>&1); then
- :
- else
- $echo "copying selected object files to avoid basename conflicts..."
-
- if test -z "$gentop"; then
- gentop="$output_objdir/${outputname}x"
- generated="$generated $gentop"
-
- $show "${rm}r $gentop"
- $run ${rm}r "$gentop"
- $show "$mkdir $gentop"
- $run $mkdir "$gentop"
- exit_status=$?
- if test "$exit_status" -ne 0 && test ! -d "$gentop"; then
- exit $exit_status
- fi
- fi
-
- save_oldobjs=$oldobjs
- oldobjs=
- counter=1
- for obj in $save_oldobjs
- do
- objbase=`$echo "X$obj" | $Xsed -e 's%^.*/%%'`
- case " $oldobjs " in
- " ") oldobjs=$obj ;;
- *[\ /]"$objbase "*)
- while :; do
- # Make sure we don't pick an alternate name that also
- # overlaps.
- newobj=lt$counter-$objbase
- counter=`expr $counter + 1`
- case " $oldobjs " in
- *[\ /]"$newobj "*) ;;
- *) if test ! -f "$gentop/$newobj"; then break; fi ;;
- esac
- done
- $show "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj"
- $run ln "$obj" "$gentop/$newobj" ||
- $run cp "$obj" "$gentop/$newobj"
- oldobjs="$oldobjs $gentop/$newobj"
- ;;
- *) oldobjs="$oldobjs $obj" ;;
- esac
- done
- fi
-
- eval cmds=\"$old_archive_cmds\"
-
- if len=`expr "X$cmds" : ".*"` &&
- test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then
- cmds=$old_archive_cmds
- else
- # the command line is too long to link in one step, link in parts
- $echo "using piecewise archive linking..."
- save_RANLIB=$RANLIB
- RANLIB=:
- objlist=
- concat_cmds=
- save_oldobjs=$oldobjs
-
- # Is there a better way of finding the last object in the list?
- for obj in $save_oldobjs
- do
- last_oldobj=$obj
- done
- for obj in $save_oldobjs
- do
- oldobjs="$objlist $obj"
- objlist="$objlist $obj"
- eval test_cmds=\"$old_archive_cmds\"
- if len=`expr "X$test_cmds" : ".*" 2>/dev/null` &&
- test "$len" -le "$max_cmd_len"; then
- :
- else
- # the above command should be used before it gets too long
- oldobjs=$objlist
- if test "$obj" = "$last_oldobj" ; then
- RANLIB=$save_RANLIB
- fi
- test -z "$concat_cmds" || concat_cmds=$concat_cmds~
- eval concat_cmds=\"\${concat_cmds}$old_archive_cmds\"
- objlist=
- fi
- done
- RANLIB=$save_RANLIB
- oldobjs=$objlist
- if test "X$oldobjs" = "X" ; then
- eval cmds=\"\$concat_cmds\"
- else
- eval cmds=\"\$concat_cmds~\$old_archive_cmds\"
- fi
- fi
- fi
- save_ifs="$IFS"; IFS='~'
- for cmd in $cmds; do
- eval cmd=\"$cmd\"
- IFS="$save_ifs"
- $show "$cmd"
- $run eval "$cmd" || exit $?
- done
- IFS="$save_ifs"
- done
-
- if test -n "$generated"; then
- $show "${rm}r$generated"
- $run ${rm}r$generated
- fi
-
- # Now create the libtool archive.
- case $output in
- *.la)
- old_library=
- test "$build_old_libs" = yes && old_library="$libname.$libext"
- $show "creating $output"
-
- # Preserve any variables that may affect compiler behavior
- for var in $variables_saved_for_relink; do
- if eval test -z \"\${$var+set}\"; then
- relink_command="{ test -z \"\${$var+set}\" || unset $var || { $var=; export $var; }; }; $relink_command"
- elif eval var_value=\$$var; test -z "$var_value"; then
- relink_command="$var=; export $var; $relink_command"
- else
- var_value=`$echo "X$var_value" | $Xsed -e "$sed_quote_subst"`
- relink_command="$var=\"$var_value\"; export $var; $relink_command"
- fi
- done
- # Quote the link command for shipping.
- relink_command="(cd `pwd`; $SHELL $progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)"
- relink_command=`$echo "X$relink_command" | $SP2NL | $Xsed -e "$sed_quote_subst" | $NL2SP`
- if test "$hardcode_automatic" = yes ; then
- relink_command=
- fi
-
-
- # Only create the output if not a dry run.
- if test -z "$run"; then
- for installed in no yes; do
- if test "$installed" = yes; then
- if test -z "$install_libdir"; then
- break
- fi
- output="$output_objdir/$outputname"i
- # Replace all uninstalled libtool libraries with the installed ones
- newdependency_libs=
- for deplib in $dependency_libs; do
- case $deplib in
- *.la)
- name=`$echo "X$deplib" | $Xsed -e 's%^.*/%%'`
- eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
- if test -z "$libdir"; then
- $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2
- exit $EXIT_FAILURE
- fi
- newdependency_libs="$newdependency_libs $libdir/$name"
- ;;
- *) newdependency_libs="$newdependency_libs $deplib" ;;
- esac
- done
- dependency_libs="$newdependency_libs"
- newdlfiles=
- for lib in $dlfiles; do
- name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'`
- eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
- if test -z "$libdir"; then
- $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
- exit $EXIT_FAILURE
- fi
- newdlfiles="$newdlfiles $libdir/$name"
- done
- dlfiles="$newdlfiles"
- newdlprefiles=
- for lib in $dlprefiles; do
- name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'`
- eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
- if test -z "$libdir"; then
- $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
- exit $EXIT_FAILURE
- fi
- newdlprefiles="$newdlprefiles $libdir/$name"
- done
- dlprefiles="$newdlprefiles"
- else
- newdlfiles=
- for lib in $dlfiles; do
- case $lib in
- [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;;
- *) abs=`pwd`"/$lib" ;;
- esac
- newdlfiles="$newdlfiles $abs"
- done
- dlfiles="$newdlfiles"
- newdlprefiles=
- for lib in $dlprefiles; do
- case $lib in
- [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;;
- *) abs=`pwd`"/$lib" ;;
- esac
- newdlprefiles="$newdlprefiles $abs"
- done
- dlprefiles="$newdlprefiles"
- fi
- $rm $output
- # place dlname in correct position for cygwin
- tdlname=$dlname
- case $host,$output,$installed,$module,$dlname in
- *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll) tdlname=../bin/$dlname ;;
- esac
- $echo > $output "\
-# $outputname - a libtool library file
-# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP
-#
-# Please DO NOT delete this file!
-# It is necessary for linking the library.
-
-# The name that we can dlopen(3).
-dlname='$tdlname'
-
-# Names of this library.
-library_names='$library_names'
-
-# The name of the static archive.
-old_library='$old_library'
-
-# Libraries that this one depends upon.
-dependency_libs='$dependency_libs'
-
-# Version information for $libname.
-current=$current
-age=$age
-revision=$revision
-
-# Is this an already installed library?
-installed=$installed
-
-# Should we warn about portability when linking against -modules?
-shouldnotlink=$module
-
-# Files to dlopen/dlpreopen
-dlopen='$dlfiles'
-dlpreopen='$dlprefiles'
-
-# Directory that this library needs to be installed in:
-libdir='$install_libdir'"
- if test "$installed" = no && test "$need_relink" = yes; then
- $echo >> $output "\
-relink_command=\"$relink_command\""
- fi
- done
- fi
-
- # Do a symbolic link so that the libtool archive can be found in
- # LD_LIBRARY_PATH before the program is installed.
- $show "(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)"
- $run eval '(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)' || exit $?
- ;;
- esac
- exit $EXIT_SUCCESS
- ;;
-
- # libtool install mode
- install)
- modename="$modename: install"
-
- # There may be an optional sh(1) argument at the beginning of
- # install_prog (especially on Windows NT).
- if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh ||
- # Allow the use of GNU shtool's install command.
- $echo "X$nonopt" | grep shtool > /dev/null; then
- # Aesthetically quote it.
- arg=`$echo "X$nonopt" | $Xsed -e "$sed_quote_subst"`
- case $arg in
- *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
- arg="\"$arg\""
- ;;
- esac
- install_prog="$arg "
- arg="$1"
- shift
- else
- install_prog=
- arg=$nonopt
- fi
-
- # The real first argument should be the name of the installation program.
- # Aesthetically quote it.
- arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
- case $arg in
- *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
- arg="\"$arg\""
- ;;
- esac
- install_prog="$install_prog$arg"
-
- # We need to accept at least all the BSD install flags.
- dest=
- files=
- opts=
- prev=
- install_type=
- isdir=no
- stripme=
- for arg
- do
- if test -n "$dest"; then
- files="$files $dest"
- dest=$arg
- continue
- fi
-
- case $arg in
- -d) isdir=yes ;;
- -f)
- case " $install_prog " in
- *[\\\ /]cp\ *) ;;
- *) prev=$arg ;;
- esac
- ;;
- -g | -m | -o) prev=$arg ;;
- -s)
- stripme=" -s"
- continue
- ;;
- -*)
- ;;
- *)
- # If the previous option needed an argument, then skip it.
- if test -n "$prev"; then
- prev=
- else
- dest=$arg
- continue
- fi
- ;;
- esac
-
- # Aesthetically quote the argument.
- arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
- case $arg in
- *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
- arg="\"$arg\""
- ;;
- esac
- install_prog="$install_prog $arg"
- done
-
- if test -z "$install_prog"; then
- $echo "$modename: you must specify an install program" 1>&2
- $echo "$help" 1>&2
- exit $EXIT_FAILURE
- fi
-
- if test -n "$prev"; then
- $echo "$modename: the \`$prev' option requires an argument" 1>&2
- $echo "$help" 1>&2
- exit $EXIT_FAILURE
- fi
-
- if test -z "$files"; then
- if test -z "$dest"; then
- $echo "$modename: no file or destination specified" 1>&2
- else
- $echo "$modename: you must specify a destination" 1>&2
- fi
- $echo "$help" 1>&2
- exit $EXIT_FAILURE
- fi
-
- # Strip any trailing slash from the destination.
- dest=`$echo "X$dest" | $Xsed -e 's%/$%%'`
-
- # Check to see that the destination is a directory.
- test -d "$dest" && isdir=yes
- if test "$isdir" = yes; then
- destdir="$dest"
- destname=
- else
- destdir=`$echo "X$dest" | $Xsed -e 's%/[^/]*$%%'`
- test "X$destdir" = "X$dest" && destdir=.
- destname=`$echo "X$dest" | $Xsed -e 's%^.*/%%'`
-
- # Not a directory, so check to see that there is only one file specified.
- set dummy $files
- if test "$#" -gt 2; then
- $echo "$modename: \`$dest' is not a directory" 1>&2
- $echo "$help" 1>&2
- exit $EXIT_FAILURE
- fi
- fi
- case $destdir in
- [\\/]* | [A-Za-z]:[\\/]*) ;;
- *)
- for file in $files; do
- case $file in
- *.lo) ;;
- *)
- $echo "$modename: \`$destdir' must be an absolute directory name" 1>&2
- $echo "$help" 1>&2
- exit $EXIT_FAILURE
- ;;
- esac
- done
- ;;
- esac
-
- # This variable tells wrapper scripts just to set variables rather
- # than running their programs.
- libtool_install_magic="$magic"
-
- staticlibs=
- future_libdirs=
- current_libdirs=
- for file in $files; do
-
- # Do each installation.
- case $file in
- *.$libext)
- # Do the static libraries later.
- staticlibs="$staticlibs $file"
- ;;
-
- *.la)
- # Check to see that this really is a libtool archive.
- if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then :
- else
- $echo "$modename: \`$file' is not a valid libtool archive" 1>&2
- $echo "$help" 1>&2
- exit $EXIT_FAILURE
- fi
-
- library_names=
- old_library=
- relink_command=
- # If there is no directory component, then add one.
- case $file in
- */* | *\\*) . $file ;;
- *) . ./$file ;;
- esac
-
- # Add the libdir to current_libdirs if it is the destination.
- if test "X$destdir" = "X$libdir"; then
- case "$current_libdirs " in
- *" $libdir "*) ;;
- *) current_libdirs="$current_libdirs $libdir" ;;
- esac
- else
- # Note the libdir as a future libdir.
- case "$future_libdirs " in
- *" $libdir "*) ;;
- *) future_libdirs="$future_libdirs $libdir" ;;
- esac
- fi
-
- dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`/
- test "X$dir" = "X$file/" && dir=
- dir="$dir$objdir"
-
- if test -n "$relink_command"; then
- # Determine the prefix the user has applied to our future dir.
- inst_prefix_dir=`$echo "$destdir" | $SED "s%$libdir\$%%"`
-
- # Don't allow the user to place us outside of our expected
- # location b/c this prevents finding dependent libraries that
- # are installed to the same prefix.
- # At present, this check doesn't affect windows .dll's that
- # are installed into $libdir/../bin (currently, that works fine)
- # but it's something to keep an eye on.
- if test "$inst_prefix_dir" = "$destdir"; then
- $echo "$modename: error: cannot install \`$file' to a directory not ending in $libdir" 1>&2
- exit $EXIT_FAILURE
- fi
-
- if test -n "$inst_prefix_dir"; then
- # Stick the inst_prefix_dir data into the link command.
- relink_command=`$echo "$relink_command" | $SP2NL | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%" | $NL2SP`
- else
- relink_command=`$echo "$relink_command" | $SP2NL | $SED "s%@inst_prefix_dir@%%" | $NL2SP`
- fi
-
- $echo "$modename: warning: relinking \`$file'" 1>&2
- $show "$relink_command"
- if $run eval "$relink_command"; then :
- else
- $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2
- exit $EXIT_FAILURE
- fi
- fi
-
- # See the names of the shared library.
- set dummy $library_names
- if test -n "$2"; then
- realname="$2"
- shift
- shift
-
- srcname="$realname"
- test -n "$relink_command" && srcname="$realname"T
-
- # Install the shared library and build the symlinks.
- $show "$install_prog $dir/$srcname $destdir/$realname"
- $run eval "$install_prog $dir/$srcname $destdir/$realname" || exit $?
- if test -n "$stripme" && test -n "$striplib"; then
- $show "$striplib $destdir/$realname"
- $run eval "$striplib $destdir/$realname" || exit $?
- fi
-
- if test "$#" -gt 0; then
- # Delete the old symlinks, and create new ones.
- # Try `ln -sf' first, because the `ln' binary might depend on
- # the symlink we replace! Solaris /bin/ln does not understand -f,
- # so we also need to try rm && ln -s.
- for linkname
- do
- if test "$linkname" != "$realname"; then
- $show "(cd $destdir && { $LN_S -f $realname $linkname || { $rm $linkname && $LN_S $realname $linkname; }; })"
- $run eval "(cd $destdir && { $LN_S -f $realname $linkname || { $rm $linkname && $LN_S $realname $linkname; }; })"
- fi
- done
- fi
-
- # Do each command in the postinstall commands.
- lib="$destdir/$realname"
- cmds=$postinstall_cmds
- save_ifs="$IFS"; IFS='~'
- for cmd in $cmds; do
- IFS="$save_ifs"
- eval cmd=\"$cmd\"
- $show "$cmd"
- $run eval "$cmd" || {
- lt_exit=$?
-
- # Restore the uninstalled library and exit
- if test "$mode" = relink; then
- $run eval '(cd $output_objdir && $rm ${realname}T && $mv ${realname}U $realname)'
- fi
-
- exit $lt_exit
- }
- done
- IFS="$save_ifs"
- fi
-
- # Install the pseudo-library for information purposes.
- name=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
- instname="$dir/$name"i
- $show "$install_prog $instname $destdir/$name"
- $run eval "$install_prog $instname $destdir/$name" || exit $?
-
- # Maybe install the static library, too.
- test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library"
- ;;
-
- *.lo)
- # Install (i.e. copy) a libtool object.
-
- # Figure out destination file name, if it wasn't already specified.
- if test -n "$destname"; then
- destfile="$destdir/$destname"
- else
- destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
- destfile="$destdir/$destfile"
- fi
-
- # Deduce the name of the destination old-style object file.
- case $destfile in
- *.lo)
- staticdest=`$echo "X$destfile" | $Xsed -e "$lo2o"`
- ;;
- *.$objext)
- staticdest="$destfile"
- destfile=
- ;;
- *)
- $echo "$modename: cannot copy a libtool object to \`$destfile'" 1>&2
- $echo "$help" 1>&2
- exit $EXIT_FAILURE
- ;;
- esac
-
- # Install the libtool object if requested.
- if test -n "$destfile"; then
- $show "$install_prog $file $destfile"
- $run eval "$install_prog $file $destfile" || exit $?
- fi
-
- # Install the old object if enabled.
- if test "$build_old_libs" = yes; then
- # Deduce the name of the old-style object file.
- staticobj=`$echo "X$file" | $Xsed -e "$lo2o"`
-
- $show "$install_prog $staticobj $staticdest"
- $run eval "$install_prog \$staticobj \$staticdest" || exit $?
- fi
- exit $EXIT_SUCCESS
- ;;
-
- *)
- # Figure out destination file name, if it wasn't already specified.
- if test -n "$destname"; then
- destfile="$destdir/$destname"
- else
- destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
- destfile="$destdir/$destfile"
- fi
-
- # If the file is missing, and there is a .exe on the end, strip it
- # because it is most likely a libtool script we actually want to
- # install
- stripped_ext=""
- case $file in
- *.exe)
- if test ! -f "$file"; then
- file=`$echo $file|${SED} 's,.exe$,,'`
- stripped_ext=".exe"
- fi
- ;;
- esac
-
- # Do a test to see if this is really a libtool program.
- case $host in
- *cygwin*|*mingw*)
- wrapper=`$echo $file | ${SED} -e 's,.exe$,,'`
- ;;
- *)
- wrapper=$file
- ;;
- esac
- if (${SED} -e '4q' $wrapper | grep "^# Generated by .*$PACKAGE")>/dev/null 2>&1; then
- notinst_deplibs=
- relink_command=
-
- # Note that it is not necessary on cygwin/mingw to append a dot to
- # foo even if both foo and FILE.exe exist: automatic-append-.exe
- # behavior happens only for exec(3), not for open(2)! Also, sourcing
- # `FILE.' does not work on cygwin managed mounts.
- #
- # If there is no directory component, then add one.
- case $wrapper in
- */* | *\\*) . ${wrapper} ;;
- *) . ./${wrapper} ;;
- esac
-
- # Check the variables that should have been set.
- if test -z "$notinst_deplibs"; then
- $echo "$modename: invalid libtool wrapper script \`$wrapper'" 1>&2
- exit $EXIT_FAILURE
- fi
-
- finalize=yes
- for lib in $notinst_deplibs; do
- # Check to see that each library is installed.
- libdir=
- if test -f "$lib"; then
- # If there is no directory component, then add one.
- case $lib in
- */* | *\\*) . $lib ;;
- *) . ./$lib ;;
- esac
- fi
- libfile="$libdir/"`$echo "X$lib" | $Xsed -e 's%^.*/%%g'` ### testsuite: skip nested quoting test
- if test -n "$libdir" && test ! -f "$libfile"; then
- $echo "$modename: warning: \`$lib' has not been installed in \`$libdir'" 1>&2
- finalize=no
- fi
- done
-
- relink_command=
- # Note that it is not necessary on cygwin/mingw to append a dot to
- # foo even if both foo and FILE.exe exist: automatic-append-.exe
- # behavior happens only for exec(3), not for open(2)! Also, sourcing
- # `FILE.' does not work on cygwin managed mounts.
- #
- # If there is no directory component, then add one.
- case $wrapper in
- */* | *\\*) . ${wrapper} ;;
- *) . ./${wrapper} ;;
- esac
-
- outputname=
- if test "$fast_install" = no && test -n "$relink_command"; then
- if test "$finalize" = yes && test -z "$run"; then
- tmpdir=`func_mktempdir`
- file=`$echo "X$file$stripped_ext" | $Xsed -e 's%^.*/%%'`
- outputname="$tmpdir/$file"
- # Replace the output file specification.
- relink_command=`$echo "X$relink_command" | $SP2NL | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g' | $NL2SP`
-
- $show "$relink_command"
- if $run eval "$relink_command"; then :
- else
- $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2
- ${rm}r "$tmpdir"
- continue
- fi
- file="$outputname"
- else
- $echo "$modename: warning: cannot relink \`$file'" 1>&2
- fi
- else
- # Install the binary that we compiled earlier.
- file=`$echo "X$file$stripped_ext" | $Xsed -e "s%\([^/]*\)$%$objdir/\1%"`
- fi
- fi
-
- # remove .exe since cygwin /usr/bin/install will append another
- # one anyway
- case $install_prog,$host in
- */usr/bin/install*,*cygwin*)
- case $file:$destfile in
- *.exe:*.exe)
- # this is ok
- ;;
- *.exe:*)
- destfile=$destfile.exe
- ;;
- *:*.exe)
- destfile=`$echo $destfile | ${SED} -e 's,.exe$,,'`
- ;;
- esac
- ;;
- esac
- $show "$install_prog$stripme $file $destfile"
- $run eval "$install_prog\$stripme \$file \$destfile" || exit $?
- test -n "$outputname" && ${rm}r "$tmpdir"
- ;;
- esac
- done
-
- for file in $staticlibs; do
- name=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
-
- # Set up the ranlib parameters.
- oldlib="$destdir/$name"
-
- $show "$install_prog $file $oldlib"
- $run eval "$install_prog \$file \$oldlib" || exit $?
-
- if test -n "$stripme" && test -n "$old_striplib"; then
- $show "$old_striplib $oldlib"
- $run eval "$old_striplib $oldlib" || exit $?
- fi
-
- # Do each command in the postinstall commands.
- cmds=$old_postinstall_cmds
- save_ifs="$IFS"; IFS='~'
- for cmd in $cmds; do
- IFS="$save_ifs"
- eval cmd=\"$cmd\"
- $show "$cmd"
- $run eval "$cmd" || exit $?
- done
- IFS="$save_ifs"
- done
-
- if test -n "$future_libdirs"; then
- $echo "$modename: warning: remember to run \`$progname --finish$future_libdirs'" 1>&2
- fi
-
- if test -n "$current_libdirs"; then
- # Maybe just do a dry run.
- test -n "$run" && current_libdirs=" -n$current_libdirs"
- exec_cmd='$SHELL $progpath $preserve_args --finish$current_libdirs'
- else
- exit $EXIT_SUCCESS
- fi
- ;;
-
- # libtool finish mode
- finish)
- modename="$modename: finish"
- libdirs="$nonopt"
- admincmds=
-
- if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
- for dir
- do
- libdirs="$libdirs $dir"
- done
-
- for libdir in $libdirs; do
- if test -n "$finish_cmds"; then
- # Do each command in the finish commands.
- cmds=$finish_cmds
- save_ifs="$IFS"; IFS='~'
- for cmd in $cmds; do
- IFS="$save_ifs"
- eval cmd=\"$cmd\"
- $show "$cmd"
- $run eval "$cmd" || admincmds="$admincmds
- $cmd"
- done
- IFS="$save_ifs"
- fi
- if test -n "$finish_eval"; then
- # Do the single finish_eval.
- eval cmds=\"$finish_eval\"
- $run eval "$cmds" || admincmds="$admincmds
- $cmds"
- fi
- done
- fi
-
- # Exit here if they wanted silent mode.
- test "$show" = : && exit $EXIT_SUCCESS
-
- $echo "X----------------------------------------------------------------------" | $Xsed
- $echo "Libraries have been installed in:"
- for libdir in $libdirs; do
- $echo " $libdir"
- done
- $echo
- $echo "If you ever happen to want to link against installed libraries"
- $echo "in a given directory, LIBDIR, you must either use libtool, and"
- $echo "specify the full pathname of the library, or use the \`-LLIBDIR'"
- $echo "flag during linking and do at least one of the following:"
- if test -n "$shlibpath_var"; then
- $echo " - add LIBDIR to the \`$shlibpath_var' environment variable"
- $echo " during execution"
- fi
- if test -n "$runpath_var"; then
- $echo " - add LIBDIR to the \`$runpath_var' environment variable"
- $echo " during linking"
- fi
- if test -n "$hardcode_libdir_flag_spec"; then
- libdir=LIBDIR
- eval flag=\"$hardcode_libdir_flag_spec\"
-
- $echo " - use the \`$flag' linker flag"
- fi
- if test -n "$admincmds"; then
- $echo " - have your system administrator run these commands:$admincmds"
- fi
- if test -f /etc/ld.so.conf; then
- $echo " - have your system administrator add LIBDIR to \`/etc/ld.so.conf'"
- fi
- $echo
- $echo "See any operating system documentation about shared libraries for"
- $echo "more information, such as the ld(1) and ld.so(8) manual pages."
- $echo "X----------------------------------------------------------------------" | $Xsed
- exit $EXIT_SUCCESS
- ;;
-
- # libtool execute mode
- execute)
- modename="$modename: execute"
-
- # The first argument is the command name.
- cmd="$nonopt"
- if test -z "$cmd"; then
- $echo "$modename: you must specify a COMMAND" 1>&2
- $echo "$help"
- exit $EXIT_FAILURE
- fi
-
- # Handle -dlopen flags immediately.
- for file in $execute_dlfiles; do
- if test ! -f "$file"; then
- $echo "$modename: \`$file' is not a file" 1>&2
- $echo "$help" 1>&2
- exit $EXIT_FAILURE
- fi
-
- dir=
- case $file in
- *.la)
- # Check to see that this really is a libtool archive.
- if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then :
- else
- $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
- $echo "$help" 1>&2
- exit $EXIT_FAILURE
- fi
-
- # Read the libtool library.
- dlname=
- library_names=
-
- # If there is no directory component, then add one.
- case $file in
- */* | *\\*) . $file ;;
- *) . ./$file ;;
- esac
-
- # Skip this library if it cannot be dlopened.
- if test -z "$dlname"; then
- # Warn if it was a shared library.
- test -n "$library_names" && $echo "$modename: warning: \`$file' was not linked with \`-export-dynamic'"
- continue
- fi
-
- dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`
- test "X$dir" = "X$file" && dir=.
-
- if test -f "$dir/$objdir/$dlname"; then
- dir="$dir/$objdir"
- else
- if test ! -f "$dir/$dlname"; then
- $echo "$modename: cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'" 1>&2
- exit $EXIT_FAILURE
- fi
- fi
- ;;
-
- *.lo)
- # Just add the directory containing the .lo file.
- dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`
- test "X$dir" = "X$file" && dir=.
- ;;
-
- *)
- $echo "$modename: warning \`-dlopen' is ignored for non-libtool libraries and objects" 1>&2
- continue
- ;;
- esac
-
- # Get the absolute pathname.
- absdir=`cd "$dir" && pwd`
- test -n "$absdir" && dir="$absdir"
-
- # Now add the directory to shlibpath_var.
- if eval "test -z \"\$$shlibpath_var\""; then
- eval "$shlibpath_var=\"\$dir\""
- else
- eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\""
- fi
- done
-
- # This variable tells wrapper scripts just to set shlibpath_var
- # rather than running their programs.
- libtool_execute_magic="$magic"
-
- # Check if any of the arguments is a wrapper script.
- args=
- for file
- do
- case $file in
- -*) ;;
- *)
- # Do a test to see if this is really a libtool program.
- if (${SED} -e '4q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
- # If there is no directory component, then add one.
- case $file in
- */* | *\\*) . $file ;;
- *) . ./$file ;;
- esac
-
- # Transform arg to wrapped name.
- file="$progdir/$program"
- fi
- ;;
- esac
- # Quote arguments (to preserve shell metacharacters).
- file=`$echo "X$file" | $Xsed -e "$sed_quote_subst"`
- args="$args \"$file\""
- done
-
- if test -z "$run"; then
- if test -n "$shlibpath_var"; then
- # Export the shlibpath_var.
- eval "export $shlibpath_var"
- fi
-
- # Restore saved environment variables
- for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
- do
- eval "if test \"\${save_$lt_var+set}\" = set; then
- $lt_var=\$save_$lt_var; export $lt_var
- fi"
- done
-
- # Now prepare to actually exec the command.
- exec_cmd="\$cmd$args"
- else
- # Display what would be done.
- if test -n "$shlibpath_var"; then
- eval "\$echo \"\$shlibpath_var=\$$shlibpath_var\""
- $echo "export $shlibpath_var"
- fi
- $echo "$cmd$args"
- exit $EXIT_SUCCESS
- fi
- ;;
-
- # libtool clean and uninstall mode
- clean | uninstall)
- modename="$modename: $mode"
- rm="$nonopt"
- files=
- rmforce=
- exit_status=0
-
- # This variable tells wrapper scripts just to set variables rather
- # than running their programs.
- libtool_install_magic="$magic"
-
- for arg
- do
- case $arg in
- -f) rm="$rm $arg"; rmforce=yes ;;
- -*) rm="$rm $arg" ;;
- *) files="$files $arg" ;;
- esac
- done
-
- if test -z "$rm"; then
- $echo "$modename: you must specify an RM program" 1>&2
- $echo "$help" 1>&2
- exit $EXIT_FAILURE
- fi
-
- rmdirs=
-
- origobjdir="$objdir"
- for file in $files; do
- dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`
- if test "X$dir" = "X$file"; then
- dir=.
- objdir="$origobjdir"
- else
- objdir="$dir/$origobjdir"
- fi
- name=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
- test "$mode" = uninstall && objdir="$dir"
-
- # Remember objdir for removal later, being careful to avoid duplicates
- if test "$mode" = clean; then
- case " $rmdirs " in
- *" $objdir "*) ;;
- *) rmdirs="$rmdirs $objdir" ;;
- esac
- fi
-
- # Don't error if the file doesn't exist and rm -f was used.
- if (test -L "$file") >/dev/null 2>&1 \
- || (test -h "$file") >/dev/null 2>&1 \
- || test -f "$file"; then
- :
- elif test -d "$file"; then
- exit_status=1
- continue
- elif test "$rmforce" = yes; then
- continue
- fi
-
- rmfiles="$file"
-
- case $name in
- *.la)
- # Possibly a libtool archive, so verify it.
- if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
- . $dir/$name
-
- # Delete the libtool libraries and symlinks.
- for n in $library_names; do
- rmfiles="$rmfiles $objdir/$n"
- done
- test -n "$old_library" && rmfiles="$rmfiles $objdir/$old_library"
-
- case "$mode" in
- clean)
- case " $library_names " in
- # " " in the beginning catches empty $dlname
- *" $dlname "*) ;;
- *) rmfiles="$rmfiles $objdir/$dlname" ;;
- esac
- test -n "$libdir" && rmfiles="$rmfiles $objdir/$name $objdir/${name}i"
- ;;
- uninstall)
- if test -n "$library_names"; then
- # Do each command in the postuninstall commands.
- cmds=$postuninstall_cmds
- save_ifs="$IFS"; IFS='~'
- for cmd in $cmds; do
- IFS="$save_ifs"
- eval cmd=\"$cmd\"
- $show "$cmd"
- $run eval "$cmd"
- if test "$?" -ne 0 && test "$rmforce" != yes; then
- exit_status=1
- fi
- done
- IFS="$save_ifs"
- fi
-
- if test -n "$old_library"; then
- # Do each command in the old_postuninstall commands.
- cmds=$old_postuninstall_cmds
- save_ifs="$IFS"; IFS='~'
- for cmd in $cmds; do
- IFS="$save_ifs"
- eval cmd=\"$cmd\"
- $show "$cmd"
- $run eval "$cmd"
- if test "$?" -ne 0 && test "$rmforce" != yes; then
- exit_status=1
- fi
- done
- IFS="$save_ifs"
- fi
- # FIXME: should reinstall the best remaining shared library.
- ;;
- esac
- fi
- ;;
-
- *.lo)
- # Possibly a libtool object, so verify it.
- if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
-
- # Read the .lo file
- . $dir/$name
-
- # Add PIC object to the list of files to remove.
- if test -n "$pic_object" \
- && test "$pic_object" != none; then
- rmfiles="$rmfiles $dir/$pic_object"
- fi
-
- # Add non-PIC object to the list of files to remove.
- if test -n "$non_pic_object" \
- && test "$non_pic_object" != none; then
- rmfiles="$rmfiles $dir/$non_pic_object"
- fi
- fi
- ;;
-
- *)
- if test "$mode" = clean ; then
- noexename=$name
- case $file in
- *.exe)
- file=`$echo $file|${SED} 's,.exe$,,'`
- noexename=`$echo $name|${SED} 's,.exe$,,'`
- # $file with .exe has already been added to rmfiles,
- # add $file without .exe
- rmfiles="$rmfiles $file"
- ;;
- esac
- # Do a test to see if this is a libtool program.
- if (${SED} -e '4q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
- relink_command=
- . $dir/$noexename
-
- # note $name still contains .exe if it was in $file originally
- # as does the version of $file that was added into $rmfiles
- rmfiles="$rmfiles $objdir/$name $objdir/${name}S.${objext}"
- if test "$fast_install" = yes && test -n "$relink_command"; then
- rmfiles="$rmfiles $objdir/lt-$name"
- fi
- if test "X$noexename" != "X$name" ; then
- rmfiles="$rmfiles $objdir/lt-${noexename}.c"
- fi
- fi
- fi
- ;;
- esac
- $show "$rm $rmfiles"
- $run $rm $rmfiles || exit_status=1
- done
- objdir="$origobjdir"
-
- # Try to remove the ${objdir}s in the directories where we deleted files
- for dir in $rmdirs; do
- if test -d "$dir"; then
- $show "rmdir $dir"
- $run rmdir $dir >/dev/null 2>&1
- fi
- done
-
- exit $exit_status
- ;;
-
- "")
- $echo "$modename: you must specify a MODE" 1>&2
- $echo "$generic_help" 1>&2
- exit $EXIT_FAILURE
- ;;
- esac
-
- if test -z "$exec_cmd"; then
- $echo "$modename: invalid operation mode \`$mode'" 1>&2
- $echo "$generic_help" 1>&2
- exit $EXIT_FAILURE
- fi
-fi # test -z "$show_help"
-
-if test -n "$exec_cmd"; then
- eval exec $exec_cmd
- exit $EXIT_FAILURE
-fi
-
-# We need to display help for each of the modes.
-case $mode in
-"") $echo \
-"Usage: $modename [OPTION]... [MODE-ARG]...
-
-Provide generalized library-building support services.
-
- --config show all configuration variables
- --debug enable verbose shell tracing
--n, --dry-run display commands without modifying any files
- --features display basic configuration information and exit
- --finish same as \`--mode=finish'
- --help display this help message and exit
- --mode=MODE use operation mode MODE [default=inferred from MODE-ARGS]
- --quiet same as \`--silent'
- --silent don't print informational messages
- --tag=TAG use configuration variables from tag TAG
- --version print version information
-
-MODE must be one of the following:
-
- clean remove files from the build directory
- compile compile a source file into a libtool object
- execute automatically set library path, then run a program
- finish complete the installation of libtool libraries
- install install libraries or executables
- link create a library or an executable
- uninstall remove libraries from an installed directory
-
-MODE-ARGS vary depending on the MODE. Try \`$modename --help --mode=MODE' for
-a more detailed description of MODE.
-
-Report bugs to <bug-libtool@gnu.org>."
- exit $EXIT_SUCCESS
- ;;
-
-clean)
- $echo \
-"Usage: $modename [OPTION]... --mode=clean RM [RM-OPTION]... FILE...
-
-Remove files from the build directory.
-
-RM is the name of the program to use to delete files associated with each FILE
-(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed
-to RM.
-
-If FILE is a libtool library, object or program, all the files associated
-with it are deleted. Otherwise, only FILE itself is deleted using RM."
- ;;
-
-compile)
- $echo \
-"Usage: $modename [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE
-
-Compile a source file into a libtool library object.
-
-This mode accepts the following additional options:
-
- -o OUTPUT-FILE set the output file name to OUTPUT-FILE
- -prefer-pic try to building PIC objects only
- -prefer-non-pic try to building non-PIC objects only
- -static always build a \`.o' file suitable for static linking
-
-COMPILE-COMMAND is a command to be used in creating a \`standard' object file
-from the given SOURCEFILE.
-
-The output file name is determined by removing the directory component from
-SOURCEFILE, then substituting the C source code suffix \`.c' with the
-library object suffix, \`.lo'."
- ;;
-
-execute)
- $echo \
-"Usage: $modename [OPTION]... --mode=execute COMMAND [ARGS]...
-
-Automatically set library path, then run a program.
-
-This mode accepts the following additional options:
-
- -dlopen FILE add the directory containing FILE to the library path
-
-This mode sets the library path environment variable according to \`-dlopen'
-flags.
-
-If any of the ARGS are libtool executable wrappers, then they are translated
-into their corresponding uninstalled binary, and any of their required library
-directories are added to the library path.
-
-Then, COMMAND is executed, with ARGS as arguments."
- ;;
-
-finish)
- $echo \
-"Usage: $modename [OPTION]... --mode=finish [LIBDIR]...
-
-Complete the installation of libtool libraries.
-
-Each LIBDIR is a directory that contains libtool libraries.
-
-The commands that this mode executes may require superuser privileges. Use
-the \`--dry-run' option if you just want to see what would be executed."
- ;;
-
-install)
- $echo \
-"Usage: $modename [OPTION]... --mode=install INSTALL-COMMAND...
-
-Install executables or libraries.
-
-INSTALL-COMMAND is the installation command. The first component should be
-either the \`install' or \`cp' program.
-
-The rest of the components are interpreted as arguments to that command (only
-BSD-compatible install options are recognized)."
- ;;
-
-link)
- $echo \
-"Usage: $modename [OPTION]... --mode=link LINK-COMMAND...
-
-Link object files or libraries together to form another library, or to
-create an executable program.
-
-LINK-COMMAND is a command using the C compiler that you would use to create
-a program from several object files.
-
-The following components of LINK-COMMAND are treated specially:
-
- -all-static do not do any dynamic linking at all
- -avoid-version do not add a version suffix if possible
- -dlopen FILE \`-dlpreopen' FILE if it cannot be dlopened at runtime
- -dlpreopen FILE link in FILE and add its symbols to lt_preloaded_symbols
- -export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3)
- -export-symbols SYMFILE
- try to export only the symbols listed in SYMFILE
- -export-symbols-regex REGEX
- try to export only the symbols matching REGEX
- -LLIBDIR search LIBDIR for required installed libraries
- -lNAME OUTPUT-FILE requires the installed library libNAME
- -module build a library that can dlopened
- -no-fast-install disable the fast-install mode
- -no-install link a not-installable executable
- -no-undefined declare that a library does not refer to external symbols
- -o OUTPUT-FILE create OUTPUT-FILE from the specified objects
- -objectlist FILE Use a list of object files found in FILE to specify objects
- -precious-files-regex REGEX
- don't remove output files matching REGEX
- -release RELEASE specify package release information
- -rpath LIBDIR the created library will eventually be installed in LIBDIR
- -R[ ]LIBDIR add LIBDIR to the runtime path of programs and libraries
- -static do not do any dynamic linking of uninstalled libtool libraries
- -static-libtool-libs
- do not do any dynamic linking of libtool libraries
- -version-info CURRENT[:REVISION[:AGE]]
- specify library version info [each variable defaults to 0]
-
-All other options (arguments beginning with \`-') are ignored.
-
-Every other argument is treated as a filename. Files ending in \`.la' are
-treated as uninstalled libtool libraries, other files are standard or library
-object files.
-
-If the OUTPUT-FILE ends in \`.la', then a libtool library is created,
-only library objects (\`.lo' files) may be specified, and \`-rpath' is
-required, except when creating a convenience library.
-
-If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created
-using \`ar' and \`ranlib', or on Windows using \`lib'.
-
-If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file
-is created, otherwise an executable program is created."
- ;;
-
-uninstall)
- $echo \
-"Usage: $modename [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE...
-
-Remove libraries from an installation directory.
-
-RM is the name of the program to use to delete files associated with each FILE
-(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed
-to RM.
-
-If FILE is a libtool library, all the files associated with it are deleted.
-Otherwise, only FILE itself is deleted using RM."
- ;;
-
-*)
- $echo "$modename: invalid operation mode \`$mode'" 1>&2
- $echo "$help" 1>&2
- exit $EXIT_FAILURE
- ;;
-esac
-
-$echo
-$echo "Try \`$modename --help' for more information about other modes."
-
-exit $?
-
-# The TAGs below are defined such that we never get into a situation
-# in which we disable both kinds of libraries. Given conflicting
-# choices, we go for a static library, that is the most portable,
-# since we can't tell whether shared libraries were disabled because
-# the user asked for that or because the platform doesn't support
-# them. This is particularly important on AIX, because we don't
-# support having both static and shared libraries enabled at the same
-# time on that platform, so we default to a shared-only configuration.
-# If a disable-shared tag is given, we'll fallback to a static-only
-# configuration. But we'll never go from static-only to shared-only.
-
-# ### BEGIN LIBTOOL TAG CONFIG: disable-shared
-disable_libs=shared
-# ### END LIBTOOL TAG CONFIG: disable-shared
-
-# ### BEGIN LIBTOOL TAG CONFIG: disable-static
-disable_libs=static
-# ### END LIBTOOL TAG CONFIG: disable-static
-
-# Local Variables:
-# mode:shell-script
-# sh-indentation:2
-# End:
diff --git a/m4/Makefile.in b/m4/Makefile.in
deleted file mode 100644
index 0c8d0b8..0000000
--- a/m4/Makefile.in
+++ /dev/null
@@ -1,387 +0,0 @@
-# Makefile.in generated by automake 1.9.6 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005 Free Software Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-# You will need to run autogen.sh after adding something here manually
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ..
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-subdir = m4
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/binutils.m4 \
- $(top_srcdir)/m4/builtinexpect.m4 \
- $(top_srcdir)/m4/cellspubfdsupport.m4 \
- $(top_srcdir)/m4/compileroption.m4 \
- $(top_srcdir)/m4/configmodule.m4 \
- $(top_srcdir)/m4/copyifchange.m4 $(top_srcdir)/m4/docbook.m4 \
- $(top_srcdir)/m4/extradirs.m4 $(top_srcdir)/m4/findkernel.m4 \
- $(top_srcdir)/m4/kerneloption.m4 \
- $(top_srcdir)/m4/kernelversion.m4 \
- $(top_srcdir)/m4/mallocattribute.m4 \
- $(top_srcdir)/m4/poptconst.m4 \
- $(top_srcdir)/m4/precompiledheader.m4 $(top_srcdir)/m4/qt.m4 \
- $(top_srcdir)/m4/resultyn.m4 $(top_srcdir)/m4/sstream.m4 \
- $(top_srcdir)/m4/typedef.m4 $(top_srcdir)/configure.in
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-SOURCES =
-DIST_SOURCES =
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
-AMTAR = @AMTAR@
-AR = @AR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-BFD_LIBS = @BFD_LIBS@
-BUILD_JVMPI_AGENT_FALSE = @BUILD_JVMPI_AGENT_FALSE@
-BUILD_JVMPI_AGENT_TRUE = @BUILD_JVMPI_AGENT_TRUE@
-BUILD_JVMTI_AGENT_FALSE = @BUILD_JVMTI_AGENT_FALSE@
-BUILD_JVMTI_AGENT_TRUE = @BUILD_JVMTI_AGENT_TRUE@
-CAT_ENTRY_END = @CAT_ENTRY_END@
-CAT_ENTRY_START = @CAT_ENTRY_START@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DATE = @DATE@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DOCBOOK_ROOT = @DOCBOOK_ROOT@
-ECHO = @ECHO@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-EXTRA_CFLAGS_MODULE = @EXTRA_CFLAGS_MODULE@
-F77 = @F77@
-FFLAGS = @FFLAGS@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-JAVA_HOMEDIR = @JAVA_HOMEDIR@
-KINC = @KINC@
-KSRC = @KSRC@
-KVERS = @KVERS@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LIBERTY_LIBS = @LIBERTY_LIBS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-MAKEINFO = @MAKEINFO@
-MOC = @MOC@
-MODINSTALLDIR = @MODINSTALLDIR@
-OBJEXT = @OBJEXT@
-OPROFILE_DIR = @OPROFILE_DIR@
-OPROFILE_MODULE_ARCH = @OPROFILE_MODULE_ARCH@
-OP_CFLAGS = @OP_CFLAGS@
-OP_CXXFLAGS = @OP_CXXFLAGS@
-OP_DOCDIR = @OP_DOCDIR@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-POPT_LIBS = @POPT_LIBS@
-PTRDIFF_T_TYPE = @PTRDIFF_T_TYPE@
-QT_INCLUDES = @QT_INCLUDES@
-QT_LDFLAGS = @QT_LDFLAGS@
-QT_LIB = @QT_LIB@
-QT_VERSION = @QT_VERSION@
-RANLIB = @RANLIB@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-SIZE_T_TYPE = @SIZE_T_TYPE@
-STRIP = @STRIP@
-UIC = @UIC@
-VERSION = @VERSION@
-XML_CATALOG = @XML_CATALOG@
-XSLTPROC = @XSLTPROC@
-XSLTPROC_FLAGS = @XSLTPROC_FLAGS@
-X_CFLAGS = @X_CFLAGS@
-X_EXTRA_LIBS = @X_EXTRA_LIBS@
-X_LIBS = @X_LIBS@
-X_PRE_LIBS = @X_PRE_LIBS@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
-am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-datadir = @datadir@
-exec_prefix = @exec_prefix@
-have_qt_FALSE = @have_qt_FALSE@
-have_qt_TRUE = @have_qt_TRUE@
-have_xsltproc_FALSE = @have_xsltproc_FALSE@
-have_xsltproc_TRUE = @have_xsltproc_TRUE@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-kernel_support_FALSE = @kernel_support_FALSE@
-kernel_support_TRUE = @kernel_support_TRUE@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-topdir = @topdir@
-EXTRA_DIST = \
- binutils.m4 \
- builtinexpect.m4 \
- compileroption.m4 \
- configmodule.m4 \
- copyifchange.m4 \
- docbook.m4 \
- extradirs.m4 \
- findkernel.m4 \
- kerneloption.m4 \
- kernelversion.m4 \
- mallocattribute.m4 \
- poptconst.m4 \
- precompiledheader.m4 \
- qt.m4 \
- resultyn.m4 \
- sstream.m4 \
- typedef.m4
-
-all: all-am
-
-.SUFFIXES:
-$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign m4/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --foreign m4/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- @case '$?' in \
- *config.status*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
- *) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-tags: TAGS
-TAGS:
-
-ctags: CTAGS
-CTAGS:
-
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkdir_p) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
- if test -d $$d/$$file; then \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
- fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
- else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: check-am
-all-am: Makefile
-installdirs:
-install: install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-am
-
-clean-am: clean-generic clean-libtool mostlyclean-am
-
-distclean: distclean-am
- -rm -f Makefile
-distclean-am: clean-am distclean-generic distclean-libtool
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-info: info-am
-
-info-am:
-
-install-data-am:
-
-install-exec-am:
-
-install-info: install-info-am
-
-install-man:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-generic mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am: uninstall-info-am
-
-.PHONY: all all-am check check-am clean clean-generic clean-libtool \
- distclean distclean-generic distclean-libtool distdir dvi \
- dvi-am html html-am info info-am install install-am \
- install-data install-data-am install-exec install-exec-am \
- install-info install-info-am install-man install-strip \
- installcheck installcheck-am installdirs maintainer-clean \
- maintainer-clean-generic mostlyclean mostlyclean-generic \
- mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \
- uninstall-info-am
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/m4/qt.m4 b/m4/qt.m4
index b0e30ef..48fd6e2 100644
--- a/m4/qt.m4
+++ b/m4/qt.m4
@@ -101,7 +101,7 @@ AC_DEFUN([QT_TRY_LINK],
dnl check we can do a compile
AC_DEFUN([QT_CHECK_COMPILE],
[
- AC_MSG_CHECKING([for Qt library name])
+ AC_MSG_CHECKING([$1 for Qt library name])
AC_CACHE_VAL(qt_cv_libname,
[
@@ -206,8 +206,16 @@ AC_DEFUN([QT_DO_IT_ALL],
UIC=$ac_uic
AC_SUBST(UIC)
- QT_CHECK_COMPILE
-
+ QT_CHECK_COMPILE(in lib)
+ if test -z "$qt_cv_libname"; then
+ if test -n "$qt_cv_dir"; then
+ dnl Try again using lib64 vs lib
+ qt_cv_libraries=$qt_cv_dir/lib64
+ QT_LDFLAGS="-L$qt_cv_libraries"
+ QT_CHECK_COMPILE(in lib64)
+ fi
+ fi
+
QT_LIB=$qt_cv_libname;
AC_SUBST(QT_LIB)
diff --git a/missing b/missing
deleted file mode 100755
index 894e786..0000000
--- a/missing
+++ /dev/null
@@ -1,360 +0,0 @@
-#! /bin/sh
-# Common stub for a few missing GNU programs while installing.
-
-scriptversion=2005-06-08.21
-
-# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005
-# Free Software Foundation, Inc.
-# Originally by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-# 02110-1301, USA.
-
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-if test $# -eq 0; then
- echo 1>&2 "Try \`$0 --help' for more information"
- exit 1
-fi
-
-run=:
-
-# In the cases where this matters, `missing' is being run in the
-# srcdir already.
-if test -f configure.ac; then
- configure_ac=configure.ac
-else
- configure_ac=configure.in
-fi
-
-msg="missing on your system"
-
-case "$1" in
---run)
- # Try to run requested program, and just exit if it succeeds.
- run=
- shift
- "$@" && exit 0
- # Exit code 63 means version mismatch. This often happens
- # when the user try to use an ancient version of a tool on
- # a file that requires a minimum version. In this case we
- # we should proceed has if the program had been absent, or
- # if --run hadn't been passed.
- if test $? = 63; then
- run=:
- msg="probably too old"
- fi
- ;;
-
- -h|--h|--he|--hel|--help)
- echo "\
-$0 [OPTION]... PROGRAM [ARGUMENT]...
-
-Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an
-error status if there is no known handling for PROGRAM.
-
-Options:
- -h, --help display this help and exit
- -v, --version output version information and exit
- --run try to run the given command, and emulate it if it fails
-
-Supported PROGRAM values:
- aclocal touch file \`aclocal.m4'
- autoconf touch file \`configure'
- autoheader touch file \`config.h.in'
- automake touch all \`Makefile.in' files
- bison create \`y.tab.[ch]', if possible, from existing .[ch]
- flex create \`lex.yy.c', if possible, from existing .c
- help2man touch the output file
- lex create \`lex.yy.c', if possible, from existing .c
- makeinfo touch the output file
- tar try tar, gnutar, gtar, then tar without non-portable flags
- yacc create \`y.tab.[ch]', if possible, from existing .[ch]
-
-Send bug reports to <bug-automake@gnu.org>."
- exit $?
- ;;
-
- -v|--v|--ve|--ver|--vers|--versi|--versio|--version)
- echo "missing $scriptversion (GNU Automake)"
- exit $?
- ;;
-
- -*)
- echo 1>&2 "$0: Unknown \`$1' option"
- echo 1>&2 "Try \`$0 --help' for more information"
- exit 1
- ;;
-
-esac
-
-# Now exit if we have it, but it failed. Also exit now if we
-# don't have it and --version was passed (most likely to detect
-# the program).
-case "$1" in
- lex|yacc)
- # Not GNU programs, they don't have --version.
- ;;
-
- tar)
- if test -n "$run"; then
- echo 1>&2 "ERROR: \`tar' requires --run"
- exit 1
- elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
- exit 1
- fi
- ;;
-
- *)
- if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
- # We have it, but it failed.
- exit 1
- elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
- # Could not run --version or --help. This is probably someone
- # running `$TOOL --version' or `$TOOL --help' to check whether
- # $TOOL exists and not knowing $TOOL uses missing.
- exit 1
- fi
- ;;
-esac
-
-# If it does not exist, or fails to run (possibly an outdated version),
-# try to emulate it.
-case "$1" in
- aclocal*)
- echo 1>&2 "\
-WARNING: \`$1' is $msg. You should only need it if
- you modified \`acinclude.m4' or \`${configure_ac}'. You might want
- to install the \`Automake' and \`Perl' packages. Grab them from
- any GNU archive site."
- touch aclocal.m4
- ;;
-
- autoconf)
- echo 1>&2 "\
-WARNING: \`$1' is $msg. You should only need it if
- you modified \`${configure_ac}'. You might want to install the
- \`Autoconf' and \`GNU m4' packages. Grab them from any GNU
- archive site."
- touch configure
- ;;
-
- autoheader)
- echo 1>&2 "\
-WARNING: \`$1' is $msg. You should only need it if
- you modified \`acconfig.h' or \`${configure_ac}'. You might want
- to install the \`Autoconf' and \`GNU m4' packages. Grab them
- from any GNU archive site."
- files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}`
- test -z "$files" && files="config.h"
- touch_files=
- for f in $files; do
- case "$f" in
- *:*) touch_files="$touch_files "`echo "$f" |
- sed -e 's/^[^:]*://' -e 's/:.*//'`;;
- *) touch_files="$touch_files $f.in";;
- esac
- done
- touch $touch_files
- ;;
-
- automake*)
- echo 1>&2 "\
-WARNING: \`$1' is $msg. You should only need it if
- you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'.
- You might want to install the \`Automake' and \`Perl' packages.
- Grab them from any GNU archive site."
- find . -type f -name Makefile.am -print |
- sed 's/\.am$/.in/' |
- while read f; do touch "$f"; done
- ;;
-
- autom4te)
- echo 1>&2 "\
-WARNING: \`$1' is needed, but is $msg.
- You might have modified some files without having the
- proper tools for further handling them.
- You can get \`$1' as part of \`Autoconf' from any GNU
- archive site."
-
- file=`echo "$*" | sed -n 's/.*--output[ =]*\([^ ]*\).*/\1/p'`
- test -z "$file" && file=`echo "$*" | sed -n 's/.*-o[ ]*\([^ ]*\).*/\1/p'`
- if test -f "$file"; then
- touch $file
- else
- test -z "$file" || exec >$file
- echo "#! /bin/sh"
- echo "# Created by GNU Automake missing as a replacement of"
- echo "# $ $@"
- echo "exit 0"
- chmod +x $file
- exit 1
- fi
- ;;
-
- bison|yacc)
- echo 1>&2 "\
-WARNING: \`$1' $msg. You should only need it if
- you modified a \`.y' file. You may need the \`Bison' package
- in order for those modifications to take effect. You can get
- \`Bison' from any GNU archive site."
- rm -f y.tab.c y.tab.h
- if [ $# -ne 1 ]; then
- eval LASTARG="\${$#}"
- case "$LASTARG" in
- *.y)
- SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
- if [ -f "$SRCFILE" ]; then
- cp "$SRCFILE" y.tab.c
- fi
- SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
- if [ -f "$SRCFILE" ]; then
- cp "$SRCFILE" y.tab.h
- fi
- ;;
- esac
- fi
- if [ ! -f y.tab.h ]; then
- echo >y.tab.h
- fi
- if [ ! -f y.tab.c ]; then
- echo 'main() { return 0; }' >y.tab.c
- fi
- ;;
-
- lex|flex)
- echo 1>&2 "\
-WARNING: \`$1' is $msg. You should only need it if
- you modified a \`.l' file. You may need the \`Flex' package
- in order for those modifications to take effect. You can get
- \`Flex' from any GNU archive site."
- rm -f lex.yy.c
- if [ $# -ne 1 ]; then
- eval LASTARG="\${$#}"
- case "$LASTARG" in
- *.l)
- SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
- if [ -f "$SRCFILE" ]; then
- cp "$SRCFILE" lex.yy.c
- fi
- ;;
- esac
- fi
- if [ ! -f lex.yy.c ]; then
- echo 'main() { return 0; }' >lex.yy.c
- fi
- ;;
-
- help2man)
- echo 1>&2 "\
-WARNING: \`$1' is $msg. You should only need it if
- you modified a dependency of a manual page. You may need the
- \`Help2man' package in order for those modifications to take
- effect. You can get \`Help2man' from any GNU archive site."
-
- file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
- if test -z "$file"; then
- file=`echo "$*" | sed -n 's/.*--output=\([^ ]*\).*/\1/p'`
- fi
- if [ -f "$file" ]; then
- touch $file
- else
- test -z "$file" || exec >$file
- echo ".ab help2man is required to generate this page"
- exit 1
- fi
- ;;
-
- makeinfo)
- echo 1>&2 "\
-WARNING: \`$1' is $msg. You should only need it if
- you modified a \`.texi' or \`.texinfo' file, or any other file
- indirectly affecting the aspect of the manual. The spurious
- call might also be the consequence of using a buggy \`make' (AIX,
- DU, IRIX). You might want to install the \`Texinfo' package or
- the \`GNU make' package. Grab either from any GNU archive site."
- # The file to touch is that specified with -o ...
- file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
- if test -z "$file"; then
- # ... or it is the one specified with @setfilename ...
- infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
- file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $infile`
- # ... or it is derived from the source name (dir/f.texi becomes f.info)
- test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info
- fi
- # If the file does not exist, the user really needs makeinfo;
- # let's fail without touching anything.
- test -f $file || exit 1
- touch $file
- ;;
-
- tar)
- shift
-
- # We have already tried tar in the generic part.
- # Look for gnutar/gtar before invocation to avoid ugly error
- # messages.
- if (gnutar --version > /dev/null 2>&1); then
- gnutar "$@" && exit 0
- fi
- if (gtar --version > /dev/null 2>&1); then
- gtar "$@" && exit 0
- fi
- firstarg="$1"
- if shift; then
- case "$firstarg" in
- *o*)
- firstarg=`echo "$firstarg" | sed s/o//`
- tar "$firstarg" "$@" && exit 0
- ;;
- esac
- case "$firstarg" in
- *h*)
- firstarg=`echo "$firstarg" | sed s/h//`
- tar "$firstarg" "$@" && exit 0
- ;;
- esac
- fi
-
- echo 1>&2 "\
-WARNING: I can't seem to be able to run \`tar' with the given arguments.
- You may want to install GNU tar or Free paxutils, or check the
- command line arguments."
- exit 1
- ;;
-
- *)
- echo 1>&2 "\
-WARNING: \`$1' is needed, and is $msg.
- You might have modified some files without having the
- proper tools for further handling them. Check the \`README' file,
- it often tells you about the needed prerequisites for installing
- this package. You may also peek at any GNU archive site, in case
- some other package would contain this missing \`$1' program."
- exit 1
- ;;
-esac
-
-exit 0
-
-# Local variables:
-# eval: (add-hook 'write-file-hooks 'time-stamp)
-# time-stamp-start: "scriptversion="
-# time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-end: "$"
-# End:
diff --git a/opjitconv/Makefile.in b/opjitconv/Makefile.in
deleted file mode 100644
index 670aa29..0000000
--- a/opjitconv/Makefile.in
+++ /dev/null
@@ -1,522 +0,0 @@
-# Makefile.in generated by automake 1.9.6 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005 Free Software Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ..
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-bin_PROGRAMS = opjitconv$(EXEEXT)
-subdir = opjitconv
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/binutils.m4 \
- $(top_srcdir)/m4/builtinexpect.m4 \
- $(top_srcdir)/m4/cellspubfdsupport.m4 \
- $(top_srcdir)/m4/compileroption.m4 \
- $(top_srcdir)/m4/configmodule.m4 \
- $(top_srcdir)/m4/copyifchange.m4 $(top_srcdir)/m4/docbook.m4 \
- $(top_srcdir)/m4/extradirs.m4 $(top_srcdir)/m4/findkernel.m4 \
- $(top_srcdir)/m4/kerneloption.m4 \
- $(top_srcdir)/m4/kernelversion.m4 \
- $(top_srcdir)/m4/mallocattribute.m4 \
- $(top_srcdir)/m4/poptconst.m4 \
- $(top_srcdir)/m4/precompiledheader.m4 $(top_srcdir)/m4/qt.m4 \
- $(top_srcdir)/m4/resultyn.m4 $(top_srcdir)/m4/sstream.m4 \
- $(top_srcdir)/m4/typedef.m4 $(top_srcdir)/configure.in
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-am__installdirs = "$(DESTDIR)$(bindir)"
-binPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
-PROGRAMS = $(bin_PROGRAMS)
-am_opjitconv_OBJECTS = opjitconv.$(OBJEXT) conversion.$(OBJEXT) \
- parse_dump.$(OBJEXT) jitsymbol.$(OBJEXT) create_bfd.$(OBJEXT) \
- debug_line.$(OBJEXT)
-opjitconv_OBJECTS = $(am_opjitconv_OBJECTS)
-am__DEPENDENCIES_1 = ../libutil/libutil.a
-opjitconv_DEPENDENCIES = $(am__DEPENDENCIES_1)
-DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
-depcomp = $(SHELL) $(top_srcdir)/depcomp
-am__depfiles_maybe = depfiles
-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \
- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
- $(AM_CFLAGS) $(CFLAGS)
-CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(AM_LDFLAGS) $(LDFLAGS) -o $@
-SOURCES = $(opjitconv_SOURCES)
-DIST_SOURCES = $(opjitconv_SOURCES)
-ETAGS = etags
-CTAGS = ctags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
-AMTAR = @AMTAR@
-AR = @AR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-BFD_LIBS = @BFD_LIBS@
-BUILD_JVMPI_AGENT_FALSE = @BUILD_JVMPI_AGENT_FALSE@
-BUILD_JVMPI_AGENT_TRUE = @BUILD_JVMPI_AGENT_TRUE@
-BUILD_JVMTI_AGENT_FALSE = @BUILD_JVMTI_AGENT_FALSE@
-BUILD_JVMTI_AGENT_TRUE = @BUILD_JVMTI_AGENT_TRUE@
-CAT_ENTRY_END = @CAT_ENTRY_END@
-CAT_ENTRY_START = @CAT_ENTRY_START@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DATE = @DATE@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DOCBOOK_ROOT = @DOCBOOK_ROOT@
-ECHO = @ECHO@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-EXTRA_CFLAGS_MODULE = @EXTRA_CFLAGS_MODULE@
-F77 = @F77@
-FFLAGS = @FFLAGS@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-JAVA_HOMEDIR = @JAVA_HOMEDIR@
-KINC = @KINC@
-KSRC = @KSRC@
-KVERS = @KVERS@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LIBERTY_LIBS = @LIBERTY_LIBS@
-LIBOBJS = @LIBOBJS@
-LIBS = @BFD_LIBS@
-LIBTOOL = @LIBTOOL@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-MAKEINFO = @MAKEINFO@
-MOC = @MOC@
-MODINSTALLDIR = @MODINSTALLDIR@
-OBJEXT = @OBJEXT@
-OPROFILE_DIR = @OPROFILE_DIR@
-OPROFILE_MODULE_ARCH = @OPROFILE_MODULE_ARCH@
-OP_CFLAGS = @OP_CFLAGS@
-OP_CXXFLAGS = @OP_CXXFLAGS@
-OP_DOCDIR = @OP_DOCDIR@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-POPT_LIBS = @POPT_LIBS@
-PTRDIFF_T_TYPE = @PTRDIFF_T_TYPE@
-QT_INCLUDES = @QT_INCLUDES@
-QT_LDFLAGS = @QT_LDFLAGS@
-QT_LIB = @QT_LIB@
-QT_VERSION = @QT_VERSION@
-RANLIB = @RANLIB@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-SIZE_T_TYPE = @SIZE_T_TYPE@
-STRIP = @STRIP@
-UIC = @UIC@
-VERSION = @VERSION@
-XML_CATALOG = @XML_CATALOG@
-XSLTPROC = @XSLTPROC@
-XSLTPROC_FLAGS = @XSLTPROC_FLAGS@
-X_CFLAGS = @X_CFLAGS@
-X_EXTRA_LIBS = @X_EXTRA_LIBS@
-X_LIBS = @X_LIBS@
-X_PRE_LIBS = @X_PRE_LIBS@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
-am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-datadir = @datadir@
-exec_prefix = @exec_prefix@
-have_qt_FALSE = @have_qt_FALSE@
-have_qt_TRUE = @have_qt_TRUE@
-have_xsltproc_FALSE = @have_xsltproc_FALSE@
-have_xsltproc_TRUE = @have_xsltproc_TRUE@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-kernel_support_FALSE = @kernel_support_FALSE@
-kernel_support_TRUE = @kernel_support_TRUE@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-topdir = @topdir@
-AM_CPPFLAGS = -I ${top_srcdir}/libopagent -I ${top_srcdir}/libutil -I ${top_srcdir}/daemon
-AM_CFLAGS = @OP_CFLAGS@
-needed_libs = \
- ../libutil/libutil.a
-
-opjitconv_LDADD = $(needed_libs)
-opjitconv_SOURCES = \
- opjitconv.c \
- opjitconv.h \
- conversion.c \
- parse_dump.c \
- jitsymbol.c \
- create_bfd.c \
- debug_line.c
-
-all: all-am
-
-.SUFFIXES:
-.SUFFIXES: .c .lo .o .obj
-$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign opjitconv/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --foreign opjitconv/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- @case '$?' in \
- *config.status*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
- *) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-install-binPROGRAMS: $(bin_PROGRAMS)
- @$(NORMAL_INSTALL)
- test -z "$(bindir)" || $(mkdir_p) "$(DESTDIR)$(bindir)"
- @list='$(bin_PROGRAMS)'; for p in $$list; do \
- p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
- if test -f $$p \
- || test -f $$p1 \
- ; then \
- f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \
- echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \
- $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \
- else :; fi; \
- done
-
-uninstall-binPROGRAMS:
- @$(NORMAL_UNINSTALL)
- @list='$(bin_PROGRAMS)'; for p in $$list; do \
- f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
- echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \
- rm -f "$(DESTDIR)$(bindir)/$$f"; \
- done
-
-clean-binPROGRAMS:
- @list='$(bin_PROGRAMS)'; for p in $$list; do \
- f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
- echo " rm -f $$p $$f"; \
- rm -f $$p $$f ; \
- done
-opjitconv$(EXEEXT): $(opjitconv_OBJECTS) $(opjitconv_DEPENDENCIES)
- @rm -f opjitconv$(EXEEXT)
- $(LINK) $(opjitconv_LDFLAGS) $(opjitconv_OBJECTS) $(opjitconv_LDADD) $(LIBS)
-
-mostlyclean-compile:
- -rm -f *.$(OBJEXT)
-
-distclean-compile:
- -rm -f *.tab.c
-
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/conversion.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/create_bfd.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/debug_line.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jitsymbol.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/opjitconv.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/parse_dump.Po@am__quote@
-
-.c.o:
-@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(COMPILE) -c $<
-
-.c.obj:
-@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
-
-.c.lo:
-@am__fastdepCC_TRUE@ if $(LTCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
- test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
- fi
-ctags: CTAGS
-CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkdir_p) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
- if test -d $$d/$$file; then \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
- fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
- else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: check-am
-all-am: Makefile $(PROGRAMS)
-installdirs:
- for dir in "$(DESTDIR)$(bindir)"; do \
- test -z "$$dir" || $(mkdir_p) "$$dir"; \
- done
-install: install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-am
-
-clean-am: clean-binPROGRAMS clean-generic clean-libtool mostlyclean-am
-
-distclean: distclean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
- distclean-libtool distclean-tags
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-info: info-am
-
-info-am:
-
-install-data-am:
-
-install-exec-am: install-binPROGRAMS
-
-install-info: install-info-am
-
-install-man:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-compile mostlyclean-generic \
- mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am: uninstall-binPROGRAMS uninstall-info-am
-
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \
- clean-generic clean-libtool ctags distclean distclean-compile \
- distclean-generic distclean-libtool distclean-tags distdir dvi \
- dvi-am html html-am info info-am install install-am \
- install-binPROGRAMS install-data install-data-am install-exec \
- install-exec-am install-info install-info-am install-man \
- install-strip installcheck installcheck-am installdirs \
- maintainer-clean maintainer-clean-generic mostlyclean \
- mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
- pdf pdf-am ps ps-am tags uninstall uninstall-am \
- uninstall-binPROGRAMS uninstall-info-am
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/pp/Makefile.in b/pp/Makefile.in
deleted file mode 100644
index 5a656b8..0000000
--- a/pp/Makefile.in
+++ /dev/null
@@ -1,584 +0,0 @@
-# Makefile.in generated by automake 1.9.6 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005 Free Software Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ..
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-bin_PROGRAMS = opreport$(EXEEXT) opannotate$(EXEEXT) opgprof$(EXEEXT) \
- oparchive$(EXEEXT)
-subdir = pp
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/binutils.m4 \
- $(top_srcdir)/m4/builtinexpect.m4 \
- $(top_srcdir)/m4/cellspubfdsupport.m4 \
- $(top_srcdir)/m4/compileroption.m4 \
- $(top_srcdir)/m4/configmodule.m4 \
- $(top_srcdir)/m4/copyifchange.m4 $(top_srcdir)/m4/docbook.m4 \
- $(top_srcdir)/m4/extradirs.m4 $(top_srcdir)/m4/findkernel.m4 \
- $(top_srcdir)/m4/kerneloption.m4 \
- $(top_srcdir)/m4/kernelversion.m4 \
- $(top_srcdir)/m4/mallocattribute.m4 \
- $(top_srcdir)/m4/poptconst.m4 \
- $(top_srcdir)/m4/precompiledheader.m4 $(top_srcdir)/m4/qt.m4 \
- $(top_srcdir)/m4/resultyn.m4 $(top_srcdir)/m4/sstream.m4 \
- $(top_srcdir)/m4/typedef.m4 $(top_srcdir)/configure.in
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-am__installdirs = "$(DESTDIR)$(bindir)"
-binPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
-PROGRAMS = $(bin_PROGRAMS)
-am__objects_1 = common_option.$(OBJEXT)
-am_opannotate_OBJECTS = opannotate.$(OBJEXT) \
- opannotate_options.$(OBJEXT) $(am__objects_1)
-opannotate_OBJECTS = $(am_opannotate_OBJECTS)
-am__DEPENDENCIES_1 = ../libpp/libpp.a ../libopt++/libopt++.a \
- ../libregex/libop_regex.a ../libutil++/libutil++.a \
- ../libop/libop.a ../libutil/libutil.a ../libdb/libodb.a
-opannotate_DEPENDENCIES = $(am__DEPENDENCIES_1)
-am_oparchive_OBJECTS = oparchive.$(OBJEXT) oparchive_options.$(OBJEXT) \
- $(am__objects_1)
-oparchive_OBJECTS = $(am_oparchive_OBJECTS)
-oparchive_DEPENDENCIES = $(am__DEPENDENCIES_1)
-am_opgprof_OBJECTS = opgprof.$(OBJEXT) opgprof_options.$(OBJEXT) \
- $(am__objects_1)
-opgprof_OBJECTS = $(am_opgprof_OBJECTS)
-opgprof_DEPENDENCIES = $(am__DEPENDENCIES_1)
-am_opreport_OBJECTS = opreport.$(OBJEXT) opreport_options.$(OBJEXT) \
- $(am__objects_1)
-opreport_OBJECTS = $(am_opreport_OBJECTS)
-opreport_DEPENDENCIES = $(am__DEPENDENCIES_1)
-DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
-depcomp = $(SHELL) $(top_srcdir)/depcomp
-am__depfiles_maybe = depfiles
-CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
-LTCXXCOMPILE = $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) \
- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
- $(AM_CXXFLAGS) $(CXXFLAGS)
-CXXLD = $(CXX)
-CXXLINK = $(LIBTOOL) --tag=CXX --mode=link $(CXXLD) $(AM_CXXFLAGS) \
- $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \
- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
- $(AM_CFLAGS) $(CFLAGS)
-CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(AM_LDFLAGS) $(LDFLAGS) -o $@
-SOURCES = $(opannotate_SOURCES) $(oparchive_SOURCES) \
- $(opgprof_SOURCES) $(opreport_SOURCES)
-DIST_SOURCES = $(opannotate_SOURCES) $(oparchive_SOURCES) \
- $(opgprof_SOURCES) $(opreport_SOURCES)
-ETAGS = etags
-CTAGS = ctags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
-AMTAR = @AMTAR@
-AR = @AR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-BFD_LIBS = @BFD_LIBS@
-BUILD_JVMPI_AGENT_FALSE = @BUILD_JVMPI_AGENT_FALSE@
-BUILD_JVMPI_AGENT_TRUE = @BUILD_JVMPI_AGENT_TRUE@
-BUILD_JVMTI_AGENT_FALSE = @BUILD_JVMTI_AGENT_FALSE@
-BUILD_JVMTI_AGENT_TRUE = @BUILD_JVMTI_AGENT_TRUE@
-CAT_ENTRY_END = @CAT_ENTRY_END@
-CAT_ENTRY_START = @CAT_ENTRY_START@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DATE = @DATE@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DOCBOOK_ROOT = @DOCBOOK_ROOT@
-ECHO = @ECHO@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-EXTRA_CFLAGS_MODULE = @EXTRA_CFLAGS_MODULE@
-F77 = @F77@
-FFLAGS = @FFLAGS@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-JAVA_HOMEDIR = @JAVA_HOMEDIR@
-KINC = @KINC@
-KSRC = @KSRC@
-KVERS = @KVERS@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LIBERTY_LIBS = @LIBERTY_LIBS@
-LIBOBJS = @LIBOBJS@
-LIBS = @POPT_LIBS@ @BFD_LIBS@
-LIBTOOL = @LIBTOOL@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-MAKEINFO = @MAKEINFO@
-MOC = @MOC@
-MODINSTALLDIR = @MODINSTALLDIR@
-OBJEXT = @OBJEXT@
-OPROFILE_DIR = @OPROFILE_DIR@
-OPROFILE_MODULE_ARCH = @OPROFILE_MODULE_ARCH@
-OP_CFLAGS = @OP_CFLAGS@
-OP_CXXFLAGS = @OP_CXXFLAGS@
-OP_DOCDIR = @OP_DOCDIR@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-POPT_LIBS = @POPT_LIBS@
-PTRDIFF_T_TYPE = @PTRDIFF_T_TYPE@
-QT_INCLUDES = @QT_INCLUDES@
-QT_LDFLAGS = @QT_LDFLAGS@
-QT_LIB = @QT_LIB@
-QT_VERSION = @QT_VERSION@
-RANLIB = @RANLIB@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-SIZE_T_TYPE = @SIZE_T_TYPE@
-STRIP = @STRIP@
-UIC = @UIC@
-VERSION = @VERSION@
-XML_CATALOG = @XML_CATALOG@
-XSLTPROC = @XSLTPROC@
-XSLTPROC_FLAGS = @XSLTPROC_FLAGS@
-X_CFLAGS = @X_CFLAGS@
-X_EXTRA_LIBS = @X_EXTRA_LIBS@
-X_LIBS = @X_LIBS@
-X_PRE_LIBS = @X_PRE_LIBS@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
-am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-datadir = @datadir@
-exec_prefix = @exec_prefix@
-have_qt_FALSE = @have_qt_FALSE@
-have_qt_TRUE = @have_qt_TRUE@
-have_xsltproc_FALSE = @have_xsltproc_FALSE@
-have_xsltproc_TRUE = @have_xsltproc_TRUE@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-kernel_support_FALSE = @kernel_support_FALSE@
-kernel_support_TRUE = @kernel_support_TRUE@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-topdir = @topdir@
-AM_CPPFLAGS = \
- -I ${top_srcdir}/libop \
- -I ${top_srcdir}/libutil \
- -I ${top_srcdir}/libdb \
- -I ${top_srcdir}/libopt++ \
- -I ${top_srcdir}/libutil++ \
- -I ${top_srcdir}/libregex \
- -I ${top_srcdir}/libpp
-
-AM_CXXFLAGS = @OP_CXXFLAGS@
-pp_common = common_option.cpp common_option.h
-common_libs = \
- ../libpp/libpp.a \
- ../libopt++/libopt++.a \
- ../libregex/libop_regex.a \
- ../libutil++/libutil++.a \
- ../libop/libop.a \
- ../libutil/libutil.a \
- ../libdb/libodb.a
-
-opreport_SOURCES = opreport.cpp \
- opreport_options.h opreport_options.cpp \
- $(pp_common)
-
-opreport_LDADD = $(common_libs)
-opannotate_SOURCES = opannotate.cpp \
- opannotate_options.h opannotate_options.cpp \
- $(pp_common)
-
-opannotate_LDADD = $(common_libs)
-opgprof_SOURCES = opgprof.cpp \
- opgprof_options.h opgprof_options.cpp \
- $(pp_common)
-
-opgprof_LDADD = $(common_libs)
-oparchive_SOURCES = oparchive.cpp \
- oparchive_options.h oparchive_options.cpp \
- $(pp_common)
-
-oparchive_LDADD = $(common_libs)
-all: all-am
-
-.SUFFIXES:
-.SUFFIXES: .cpp .lo .o .obj
-$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign pp/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --foreign pp/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- @case '$?' in \
- *config.status*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
- *) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-install-binPROGRAMS: $(bin_PROGRAMS)
- @$(NORMAL_INSTALL)
- test -z "$(bindir)" || $(mkdir_p) "$(DESTDIR)$(bindir)"
- @list='$(bin_PROGRAMS)'; for p in $$list; do \
- p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
- if test -f $$p \
- || test -f $$p1 \
- ; then \
- f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \
- echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \
- $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \
- else :; fi; \
- done
-
-uninstall-binPROGRAMS:
- @$(NORMAL_UNINSTALL)
- @list='$(bin_PROGRAMS)'; for p in $$list; do \
- f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
- echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \
- rm -f "$(DESTDIR)$(bindir)/$$f"; \
- done
-
-clean-binPROGRAMS:
- @list='$(bin_PROGRAMS)'; for p in $$list; do \
- f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
- echo " rm -f $$p $$f"; \
- rm -f $$p $$f ; \
- done
-opannotate$(EXEEXT): $(opannotate_OBJECTS) $(opannotate_DEPENDENCIES)
- @rm -f opannotate$(EXEEXT)
- $(CXXLINK) $(opannotate_LDFLAGS) $(opannotate_OBJECTS) $(opannotate_LDADD) $(LIBS)
-oparchive$(EXEEXT): $(oparchive_OBJECTS) $(oparchive_DEPENDENCIES)
- @rm -f oparchive$(EXEEXT)
- $(CXXLINK) $(oparchive_LDFLAGS) $(oparchive_OBJECTS) $(oparchive_LDADD) $(LIBS)
-opgprof$(EXEEXT): $(opgprof_OBJECTS) $(opgprof_DEPENDENCIES)
- @rm -f opgprof$(EXEEXT)
- $(CXXLINK) $(opgprof_LDFLAGS) $(opgprof_OBJECTS) $(opgprof_LDADD) $(LIBS)
-opreport$(EXEEXT): $(opreport_OBJECTS) $(opreport_DEPENDENCIES)
- @rm -f opreport$(EXEEXT)
- $(CXXLINK) $(opreport_LDFLAGS) $(opreport_OBJECTS) $(opreport_LDADD) $(LIBS)
-
-mostlyclean-compile:
- -rm -f *.$(OBJEXT)
-
-distclean-compile:
- -rm -f *.tab.c
-
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/common_option.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/opannotate.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/opannotate_options.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/oparchive.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/oparchive_options.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/opgprof.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/opgprof_options.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/opreport.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/opreport_options.Po@am__quote@
-
-.cpp.o:
-@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
-@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $<
-
-.cpp.obj:
-@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
-@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
-
-.cpp.lo:
-@am__fastdepCXX_TRUE@ if $(LTCXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
-@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $<
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
- test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
- fi
-ctags: CTAGS
-CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkdir_p) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
- if test -d $$d/$$file; then \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
- fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
- else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: check-am
-all-am: Makefile $(PROGRAMS)
-installdirs:
- for dir in "$(DESTDIR)$(bindir)"; do \
- test -z "$$dir" || $(mkdir_p) "$$dir"; \
- done
-install: install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-am
-
-clean-am: clean-binPROGRAMS clean-generic clean-libtool mostlyclean-am
-
-distclean: distclean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
- distclean-libtool distclean-tags
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-info: info-am
-
-info-am:
-
-install-data-am:
-
-install-exec-am: install-binPROGRAMS
-
-install-info: install-info-am
-
-install-man:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-compile mostlyclean-generic \
- mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am: uninstall-binPROGRAMS uninstall-info-am
-
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \
- clean-generic clean-libtool ctags distclean distclean-compile \
- distclean-generic distclean-libtool distclean-tags distdir dvi \
- dvi-am html html-am info info-am install install-am \
- install-binPROGRAMS install-data install-data-am install-exec \
- install-exec-am install-info install-info-am install-man \
- install-strip installcheck installcheck-am installdirs \
- maintainer-clean maintainer-clean-generic mostlyclean \
- mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
- pdf pdf-am ps ps-am tags uninstall uninstall-am \
- uninstall-binPROGRAMS uninstall-info-am
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/pp/oparchive.cpp b/pp/oparchive.cpp
index caf285c..448766a 100644
--- a/pp/oparchive.cpp
+++ b/pp/oparchive.cpp
@@ -64,7 +64,6 @@ void copy_stats(string const & session_samples_dir,
stats_path = session_samples_dir + "stats/";
if (!(dir = opendir(stats_path.c_str()))) {
- cerr << "Session overflow stats not available" << endl;
return;
}
diff --git a/utils/Makefile.in b/utils/Makefile.in
deleted file mode 100644
index 726cb36..0000000
--- a/utils/Makefile.in
+++ /dev/null
@@ -1,529 +0,0 @@
-# Makefile.in generated by automake 1.9.6 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005 Free Software Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ..
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-bin_PROGRAMS = ophelp$(EXEEXT)
-subdir = utils
-DIST_COMMON = $(dist_bin_SCRIPTS) $(srcdir)/Makefile.am \
- $(srcdir)/Makefile.in
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/binutils.m4 \
- $(top_srcdir)/m4/builtinexpect.m4 \
- $(top_srcdir)/m4/cellspubfdsupport.m4 \
- $(top_srcdir)/m4/compileroption.m4 \
- $(top_srcdir)/m4/configmodule.m4 \
- $(top_srcdir)/m4/copyifchange.m4 $(top_srcdir)/m4/docbook.m4 \
- $(top_srcdir)/m4/extradirs.m4 $(top_srcdir)/m4/findkernel.m4 \
- $(top_srcdir)/m4/kerneloption.m4 \
- $(top_srcdir)/m4/kernelversion.m4 \
- $(top_srcdir)/m4/mallocattribute.m4 \
- $(top_srcdir)/m4/poptconst.m4 \
- $(top_srcdir)/m4/precompiledheader.m4 $(top_srcdir)/m4/qt.m4 \
- $(top_srcdir)/m4/resultyn.m4 $(top_srcdir)/m4/sstream.m4 \
- $(top_srcdir)/m4/typedef.m4 $(top_srcdir)/configure.in
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(bindir)"
-binPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
-PROGRAMS = $(bin_PROGRAMS)
-am_ophelp_OBJECTS = ophelp.$(OBJEXT)
-ophelp_OBJECTS = $(am_ophelp_OBJECTS)
-ophelp_DEPENDENCIES = ../libop/libop.a ../libutil/libutil.a
-dist_binSCRIPT_INSTALL = $(INSTALL_SCRIPT)
-SCRIPTS = $(dist_bin_SCRIPTS)
-DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
-depcomp = $(SHELL) $(top_srcdir)/depcomp
-am__depfiles_maybe = depfiles
-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \
- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
- $(AM_CFLAGS) $(CFLAGS)
-CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(AM_LDFLAGS) $(LDFLAGS) -o $@
-SOURCES = $(ophelp_SOURCES)
-DIST_SOURCES = $(ophelp_SOURCES)
-ETAGS = etags
-CTAGS = ctags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
-AMTAR = @AMTAR@
-AR = @AR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-BFD_LIBS = @BFD_LIBS@
-BUILD_JVMPI_AGENT_FALSE = @BUILD_JVMPI_AGENT_FALSE@
-BUILD_JVMPI_AGENT_TRUE = @BUILD_JVMPI_AGENT_TRUE@
-BUILD_JVMTI_AGENT_FALSE = @BUILD_JVMTI_AGENT_FALSE@
-BUILD_JVMTI_AGENT_TRUE = @BUILD_JVMTI_AGENT_TRUE@
-CAT_ENTRY_END = @CAT_ENTRY_END@
-CAT_ENTRY_START = @CAT_ENTRY_START@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DATE = @DATE@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DOCBOOK_ROOT = @DOCBOOK_ROOT@
-ECHO = @ECHO@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-EXTRA_CFLAGS_MODULE = @EXTRA_CFLAGS_MODULE@
-F77 = @F77@
-FFLAGS = @FFLAGS@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-JAVA_HOMEDIR = @JAVA_HOMEDIR@
-KINC = @KINC@
-KSRC = @KSRC@
-KVERS = @KVERS@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LIBERTY_LIBS = @LIBERTY_LIBS@
-LIBOBJS = @LIBOBJS@
-LIBS = @POPT_LIBS@ @LIBERTY_LIBS@
-LIBTOOL = @LIBTOOL@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-MAKEINFO = @MAKEINFO@
-MOC = @MOC@
-MODINSTALLDIR = @MODINSTALLDIR@
-OBJEXT = @OBJEXT@
-OPROFILE_DIR = @OPROFILE_DIR@
-OPROFILE_MODULE_ARCH = @OPROFILE_MODULE_ARCH@
-OP_CFLAGS = @OP_CFLAGS@
-OP_CXXFLAGS = @OP_CXXFLAGS@
-OP_DOCDIR = @OP_DOCDIR@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-POPT_LIBS = @POPT_LIBS@
-PTRDIFF_T_TYPE = @PTRDIFF_T_TYPE@
-QT_INCLUDES = @QT_INCLUDES@
-QT_LDFLAGS = @QT_LDFLAGS@
-QT_LIB = @QT_LIB@
-QT_VERSION = @QT_VERSION@
-RANLIB = @RANLIB@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-SIZE_T_TYPE = @SIZE_T_TYPE@
-STRIP = @STRIP@
-UIC = @UIC@
-VERSION = @VERSION@
-XML_CATALOG = @XML_CATALOG@
-XSLTPROC = @XSLTPROC@
-XSLTPROC_FLAGS = @XSLTPROC_FLAGS@
-X_CFLAGS = @X_CFLAGS@
-X_EXTRA_LIBS = @X_EXTRA_LIBS@
-X_LIBS = @X_LIBS@
-X_PRE_LIBS = @X_PRE_LIBS@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
-am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-datadir = @datadir@
-exec_prefix = @exec_prefix@
-have_qt_FALSE = @have_qt_FALSE@
-have_qt_TRUE = @have_qt_TRUE@
-have_xsltproc_FALSE = @have_xsltproc_FALSE@
-have_xsltproc_TRUE = @have_xsltproc_TRUE@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-kernel_support_FALSE = @kernel_support_FALSE@
-kernel_support_TRUE = @kernel_support_TRUE@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-topdir = @topdir@
-AM_CPPFLAGS = -I ${top_srcdir}/libop -I ${top_srcdir}/libutil
-AM_CFLAGS = @OP_CFLAGS@
-dist_bin_SCRIPTS = opcontrol
-ophelp_SOURCES = ophelp.c
-ophelp_LDADD = ../libop/libop.a ../libutil/libutil.a
-all: all-am
-
-.SUFFIXES:
-.SUFFIXES: .c .lo .o .obj
-$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign utils/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --foreign utils/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- @case '$?' in \
- *config.status*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
- *) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-install-binPROGRAMS: $(bin_PROGRAMS)
- @$(NORMAL_INSTALL)
- test -z "$(bindir)" || $(mkdir_p) "$(DESTDIR)$(bindir)"
- @list='$(bin_PROGRAMS)'; for p in $$list; do \
- p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
- if test -f $$p \
- || test -f $$p1 \
- ; then \
- f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \
- echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \
- $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \
- else :; fi; \
- done
-
-uninstall-binPROGRAMS:
- @$(NORMAL_UNINSTALL)
- @list='$(bin_PROGRAMS)'; for p in $$list; do \
- f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
- echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \
- rm -f "$(DESTDIR)$(bindir)/$$f"; \
- done
-
-clean-binPROGRAMS:
- @list='$(bin_PROGRAMS)'; for p in $$list; do \
- f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
- echo " rm -f $$p $$f"; \
- rm -f $$p $$f ; \
- done
-ophelp$(EXEEXT): $(ophelp_OBJECTS) $(ophelp_DEPENDENCIES)
- @rm -f ophelp$(EXEEXT)
- $(LINK) $(ophelp_LDFLAGS) $(ophelp_OBJECTS) $(ophelp_LDADD) $(LIBS)
-install-dist_binSCRIPTS: $(dist_bin_SCRIPTS)
- @$(NORMAL_INSTALL)
- test -z "$(bindir)" || $(mkdir_p) "$(DESTDIR)$(bindir)"
- @list='$(dist_bin_SCRIPTS)'; for p in $$list; do \
- if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- if test -f $$d$$p; then \
- f=`echo "$$p" | sed 's|^.*/||;$(transform)'`; \
- echo " $(dist_binSCRIPT_INSTALL) '$$d$$p' '$(DESTDIR)$(bindir)/$$f'"; \
- $(dist_binSCRIPT_INSTALL) "$$d$$p" "$(DESTDIR)$(bindir)/$$f"; \
- else :; fi; \
- done
-
-uninstall-dist_binSCRIPTS:
- @$(NORMAL_UNINSTALL)
- @list='$(dist_bin_SCRIPTS)'; for p in $$list; do \
- f=`echo "$$p" | sed 's|^.*/||;$(transform)'`; \
- echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \
- rm -f "$(DESTDIR)$(bindir)/$$f"; \
- done
-
-mostlyclean-compile:
- -rm -f *.$(OBJEXT)
-
-distclean-compile:
- -rm -f *.tab.c
-
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ophelp.Po@am__quote@
-
-.c.o:
-@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(COMPILE) -c $<
-
-.c.obj:
-@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
-
-.c.lo:
-@am__fastdepCC_TRUE@ if $(LTCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
- test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
- fi
-ctags: CTAGS
-CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkdir_p) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
- if test -d $$d/$$file; then \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
- fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
- else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: check-am
-all-am: Makefile $(PROGRAMS) $(SCRIPTS)
-installdirs:
- for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(bindir)"; do \
- test -z "$$dir" || $(mkdir_p) "$$dir"; \
- done
-install: install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-am
-
-clean-am: clean-binPROGRAMS clean-generic clean-libtool mostlyclean-am
-
-distclean: distclean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
- distclean-libtool distclean-tags
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-info: info-am
-
-info-am:
-
-install-data-am:
-
-install-exec-am: install-binPROGRAMS install-dist_binSCRIPTS
-
-install-info: install-info-am
-
-install-man:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-compile mostlyclean-generic \
- mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am: uninstall-binPROGRAMS uninstall-dist_binSCRIPTS \
- uninstall-info-am
-
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \
- clean-generic clean-libtool ctags distclean distclean-compile \
- distclean-generic distclean-libtool distclean-tags distdir dvi \
- dvi-am html html-am info info-am install install-am \
- install-binPROGRAMS install-data install-data-am \
- install-dist_binSCRIPTS install-exec install-exec-am \
- install-info install-info-am install-man install-strip \
- installcheck installcheck-am installdirs maintainer-clean \
- maintainer-clean-generic mostlyclean mostlyclean-compile \
- mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
- tags uninstall uninstall-am uninstall-binPROGRAMS \
- uninstall-dist_binSCRIPTS uninstall-info-am
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/utils/opcontrol b/utils/opcontrol
index 8aee35a..8c64af9 100644
--- a/utils/opcontrol
+++ b/utils/opcontrol
@@ -49,6 +49,31 @@ error_if_empty()
fi
}
+# guess_number_base() checks if string is a valid octal(8), hexidecimal(16),
+# or decimal number(10). The value is returned in $?. Returns 0, if string
+# isn't a octal, hexidecimal, or decimal number.
+guess_number_base()
+{
+ if [[ "$1" =~ ^0[0-7]*$ ]] ; then
+ return 8;
+ elif [[ "$1" =~ ^0x[0-9a-fA-F]+$ ]] ; then
+ return 16;
+ elif [[ "$1" =~ ^[1-9][0-9]*$ ]] ; then
+ return 10;
+ else
+ return 0;
+ fi
+}
+
+# check value is a valid number
+error_if_not_number()
+{
+ guess_number_base $2
+ if test "$?" -eq 0 ; then
+ echo "Argument for $1, $2, is not a valid number." >&2
+ exit 1
+ fi
+}
# rm_device arguments $1=file_name
rm_device()
@@ -147,21 +172,31 @@ opcontrol: usage:
cpu: per CPU profiles
all: all of the above
- -c/--callgraph=#depth enable callgraph sample collection with a maximum depth.
- Use 0 to disable callgraph profiling.
+ -c/--callgraph=#depth enable callgraph sample collection with a
+ maximum depth. Use '0' to disable callgraph
+ profiling.
--session-dir=dir place sample database in dir instead of
default location (/var/lib/oprofile)
-i/--image=name[,names] list of binaries to profile (default is "all")
--vmlinux=file vmlinux kernel image
--no-vmlinux no kernel image (vmlinux) available
--kernel-range=start,end kernel range vma address in hexadecimal
- --buffer-size=num kernel buffer size in sample units
- --buffer-watershed kernel buffer watershed in sample units (2.6 only=
- --cpu-buffer-size=num per-cpu buffer size in units (2.6 only)
- --note-table-size kernel notes buffer size in notes units (2.4 only)
+ --buffer-size=num kernel buffer size in sample units.
+ Rules: A non-zero value goes into effect after
+ a '--shutdown/start' sequence. A value of
+ zero sets this parameter back to default value
+ but does not go into effect until after a
+ '--deinit/init' sequence.
+ --buffer-watershed kernel buffer watershed in sample units (2.6
+ kernel). Same rules as defined for
+ buffer-size.
+ --cpu-buffer-size=num per-cpu buffer size in units (2.6 kernel)
+ Same rules as defined for buffer-size.
+ --note-table-size kernel notes buffer size in notes units (2.4
+ kernel)
--xen Xen image (for Xen only)
- --active-domains=<list> List of domains in profiling session (for Xen only)
+ --active-domains=<list> List of domains in profiling session (for Xen)
(list contains domain ids separated by commas)
EOF
}
@@ -744,6 +779,7 @@ do_options()
;;
--buffer-size)
error_if_empty $arg $val
+ error_if_not_number $arg $val
BUF_SIZE=$val
DO_SETUP=yes
;;
@@ -753,6 +789,7 @@ do_options()
exit 1
fi
error_if_empty $arg $val
+ error_if_not_number $arg $val
BUF_WATERSHED=$val
DO_SETUP=yes
;;
@@ -762,6 +799,7 @@ do_options()
exit 1
fi
error_if_empty $arg $val
+ error_if_not_number $arg $val
CPU_BUF_SIZE=$val
DO_SETUP=yes
;;
@@ -792,6 +830,7 @@ do_options()
echo "Call-graph profiling unsupported on this kernel/hardware" >&2
exit 1
fi
+ error_if_not_number $arg $val
CALLGRAPH=$val
DO_SETUP=yes
;;
@@ -1011,7 +1050,6 @@ do_kill_daemon()
sleep 1
# already removed unless we forced the kill
rm -f "$SESSION_DIR/lock"
- cp -r /dev/oprofile/stats "$SAMPLES_DIR/current"
}
@@ -1598,7 +1636,7 @@ do_dump_data()
fi
fi
# trigger oprofiled to execute opjitconv
- echo do_jitconv > $SESSION_DIR/opd_pipe
+ echo do_jitconv >> $SESSION_DIR/opd_pipe
rm -f "$SESSION_DIR/complete_dump"
echo 1 > $MOUNT/dump
# loop until the complete_dump file is created to
@@ -1616,6 +1654,8 @@ do_dump_data()
# HACK !
sleep 2
fi
+ cp -r /dev/oprofile/stats "$SAMPLES_DIR/current"
+
return 0;
}
@@ -1856,13 +1896,20 @@ verify_ibs()
IBS_FETCH_COUNT=$IBS_COUNT
IBS_FETCH_MASK=$IBS_MASK
elif test "$IBS_FETCH_COUNT" != "$IBS_COUNT" ; then
- echo "All IBS Fetch must have the same count."
+ echo "ERROR: All IBS Fetch must have the same count."
exit 1
fi
# Check IBS_MASK consistency
if test "$IBS_FETCH_MASK" != "$IBS_MASK" ; then
- echo "All IBS Fetch must have the same unitmask."
+ echo "ERROR: All IBS Fetch must have the same unitmask."
+ exit 1
+ fi
+
+ # Check IBS_FETCH_COUNT within range
+ if test "$IBS_FETCH_COUNT" -gt 1048575 ; then
+ echo "ERROR: IBS Fetch count is too large."
+ echo " The maximum IBS-fetch count is 1048575."
exit 1
fi
@@ -1881,6 +1928,28 @@ verify_ibs()
echo "All IBS Op must have the same unitmask."
exit 1
fi
+
+ # Check IBS_OP_COUNT within range
+ case "$CPUTYPE" in
+ x86-64/family10)
+ if test "$IBS_OP_COUNT" -gt 1048575 ; then
+ echo "ERROR: IBS Op count is too large."
+ echo " The maximum IBS-fetch count is 1048575."
+ exit 1
+ fi
+ ;;
+
+ x86-64/family12h|\
+ x86-64/family14h|\
+ x86-64/family15h)
+ if test "$IBS_OP_COUNT" -gt 134217727 ; then
+ echo "ERROR: IBS Op count is too large."
+ echo " The maximum IBS-Op count is 134217727."
+ exit 1
+ fi
+ ;;
+ *)
+ esac
fi
return
@@ -1933,10 +2002,32 @@ do_param_setup_ibs()
# NOTE: We default to use dispatched_op if available.
# Some of the older family10 system does not have
# dispatched_ops feature.
- # dispatched op is enabled by bit 1 of the unitmask
+ # Dispatched op is enabled by bit 0 of the unitmask
+ IBS_OP_DISPATCHED_OP=$(( IBS_OP_UNITMASK & 0x1 ))
if test -f $MOUNT/ibs_op/dispatched_ops ; then
- IBS_OP_DISPATCHED_OP=$(( IBS_OP_UNITMASK & 0x1 ))
set_param ibs_op/dispatched_ops $IBS_OP_DISPATCHED_OP
+ else
+ if test $IBS_OP_DISPATCHED_OP -eq 1 ; then
+ echo "ERROR: IBS Op dispatched ops is not supported."
+ exit 1
+ fi
+ fi
+
+ # NOTE: BTA is enabled by bit 2 of the unitmask
+ IBS_OP_BTA=$(( IBS_OP_UNITMASK & 0x4 ))
+ if test -f $MOUNT/ibs_op/branch_target; then
+ if [ "$IBS_OP_BTA" = "4" ] ; then
+ set_param ibs_op/branch_target 1
+ else
+ set_param ibs_op/branch_target 0
+ fi
+
+ # TODO: Check if write successful
+ else
+ if test $IBS_OP_BTA -eq 1 ; then
+ echo "ERROR: IBS Op Branch Target Address is not supported."
+ exit 1
+ fi
fi
else
set_param ibs_op/enable 0
diff --git a/utils/ophelp.c b/utils/ophelp.c
index 5f6c534..a87a640 100644
--- a/utils/ophelp.c
+++ b/utils/ophelp.c
@@ -469,6 +469,18 @@ int main(int argc, char const * argv[])
"See BIOS and Kernel Developer's Guide for AMD Family 11h Processors\n"
"(41256.pdf), Section 3.14\n\n";
break;
+ case CPU_FAMILY12H:
+ event_doc =
+ "See BIOS and Kernel Developer's Guide for AMD Family 12h Processors\n";
+ break;
+ case CPU_FAMILY14H:
+ event_doc =
+ "See BIOS and Kernel Developer's Guide for AMD Family 14h Processors\n";
+ break;
+ case CPU_FAMILY15H:
+ event_doc =
+ "See BIOS and Kernel Developer's Guide for AMD Family 15h Processors\n";
+ break;
case CPU_ATHLON:
event_doc =
"See AMD Athlon Processor x86 Code Optimization Guide\n"
@@ -483,6 +495,8 @@ int main(int argc, char const * argv[])
case CPU_CORE:
case CPU_CORE_2:
case CPU_CORE_I7:
+ case CPU_NEHALEM:
+ case CPU_WESTMERE:
case CPU_ATOM:
event_doc =
"See Intel Architecture Developer's Manual Volume 3B, Appendix A and\n"
@@ -534,10 +548,16 @@ int main(int argc, char const * argv[])
case CPU_ARM_V7:
event_doc =
- "See ARM11 Technical Reference Manual\n"
+ "See Cortex-A8 Technical Reference Manual\n"
"Cortex A8 DDI (ARM DDI 0344B, revision r1p1)\n";
break;
+ case CPU_ARM_V7_CA9:
+ event_doc =
+ "See Cortex-A9 Technical Reference Manual\n"
+ "Cortex A9 DDI (ARM DDI 0388E, revision r2p0)\n";
+ break;
+
case CPU_PPC64_PA6T:
event_doc =
"See PA6T Power Implementation Features Book IV\n"
@@ -584,6 +604,16 @@ int main(int argc, char const * argv[])
"See Programming the MIPS32 34K Core Family "
"available from www.mips.com\n";
break;
+ case CPU_MIPS_74K:
+ event_doc =
+ "See Programming the MIPS32 74K Core Family "
+ "available from www.mips.com\n";
+ break;
+ case CPU_MIPS_1004K:
+ event_doc =
+ "See Programming the MIPS32 1004K Core Family "
+ "available from www.mips.com\n";
+ break;
case CPU_MIPS_5K:
event_doc =
"See Programming the MIPS64 5K Processor Core Family "
@@ -617,6 +647,11 @@ int main(int argc, char const * argv[])
"http://www.necel.com/nesdis/image/U16677EJ3V0UM00.pdf\n";
break;
+ case CPU_MIPS_LOONGSON2:
+ event_doc =
+ "See loongson2 RISC Microprocessor Family Reference Manual\n";
+ break;
+
case CPU_PPC_E500:
case CPU_PPC_E500_2:
event_doc =